zrg
2025-02-25 82ba14eeb57b4e7ccc652afb0e700a89ce4e64f6
WebTM/views/ϵͳ¹ÜÀí/²Ëµ¥×Ô¶¨Òå/Xt_DefineMenuDisplay.html
@@ -18,6 +18,7 @@
    <script src="//unpkg.com/layui@2.8.8/dist/layui.js"></script>
    <script src="../../../layuiadmin/Scripts//jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script>
        layui.use(function () {
            var tree = layui.tree;
@@ -29,7 +30,16 @@
            var option = {};                //树组件的渲染参数,保存树组件渲染的信息
            var saveData = [];              //存储用户设置的自定义数据,传递给后端进行保存
            var menuDefineData = [];        //以父子级结构存放树组件的自定义数据,用来赋给option
            //登录平台(PC端、手机端)
            var HType = "PC";
            //#endregion
            var params = get_UrlVars();
            if (typeof (params[params[0]]) != "undefined") {
                var OperationType = params[params[0]];//操作类型
                var HName = decodeURI(params[params[1]]);//角色名称
            }
            //#region åˆå§‹åŒ–页面
            set_ClearBill();                        //调用初始化界面方法,完成界面的初始化
@@ -50,6 +60,9 @@
            //#region ç•Œé¢åˆå§‹åŒ–方法
            //初始化界面方法
            function set_ClearBill() {
                if (!judgeMorPC()) {
                    HType = "mobile";
                }
                set_InitGrid();
                get_Display();
            }
@@ -78,11 +91,14 @@
                var checkedData = tree.getChecked('demo-id-1'); // èŽ·å–é€‰ä¸­èŠ‚ç‚¹çš„æ•°æ®
                saveData = [];                                  //清空保存自定义数据的列表的数据
                getSelectedData(checkedData);                   //将选中的节点的信息以列表的形式保存在saveData中
                var sMainSub = JSON.stringify(saveData) + ";" + sessionStorage["HUserName"];
                if (OperationType == "3") {
                    var sMainSub = JSON.stringify(saveData) + ";" + HName + ";" + HType;
                } else{
                    var sMainSub = JSON.stringify(saveData) + ";" + sessionStorage["HUserName"] + ";" + HType;
                }
                var index = layer.load();
                $.ajax({
                    url: "http://localhost:8082/API//Web/SaveMenuDefineSet",
                    url: GetWEBURL() + "/Web/SaveMenuDefineSet",
                    type: "POST",
                    data: { "sMainSub": sMainSub },         //将当前用户和其自定义数据传递给后端,保存到数据库
                    success: function (data) {
@@ -117,23 +133,44 @@
            //#region æ˜¾ç¤ºç›®å½•的树组件
            //优化自定义菜单显示的实验
            function get_Display() {
                $.ajax({
                    url: "http://localhost:8082/API//Web/MenuDefineSet",
                    type: "GET",
                    async: false,
                    data: { "HMakeName": sessionStorage["HUserName"]},
                    success: function (res) {
                        var dt = res.data.dt;               //菜单清单的全部信息与被选中情况
                        var trees = res.data.tree;          //树组件的根节点
                        menuDefineData = trees;             //获取树组件的根节点,并通过方法getDefineData()递归添加dt中其它的子节点,并设置各节点的选中情况
                        getDefineData(dt, menuDefineData);  //为根节点添加其它子节点的数据
                        option.data = menuDefineData;       //为树组件的渲染参数添加节点数据
                        tree.render(option);                //渲染树组件
                    },
                    error: function (err) {
                if (OperationType == "3") {
                    $.ajax({
                        url: GetWEBURL() + "/Web/MenuDefineSet",
                        type: "GET",
                        async: false,
                        data: { "HMakeName": HName, "HType": HType },
                        success: function (res) {
                            var dt = res.data.dt;               //菜单清单的全部信息与被选中情况
                            var trees = res.data.tree;          //树组件的根节点
                            menuDefineData = trees;             //获取树组件的根节点,并通过方法getDefineData()递归添加dt中其它的子节点,并设置各节点的选中情况
                            getDefineData(dt, menuDefineData);  //为根节点添加其它子节点的数据
                            option.data = menuDefineData;       //为树组件的渲染参数添加节点数据
                            tree.render(option);                //渲染树组件
                        },
                        error: function (err) {
                    }
                });
                        }
                    });
                } else {
                    $.ajax({
                        url: GetWEBURL() + "/Web/MenuDefineSet",
                        type: "GET",
                        async: false,
                        data: { "HMakeName": sessionStorage["HUserName"], "HType": HType },
                        success: function (res) {
                            var dt = res.data.dt;               //菜单清单的全部信息与被选中情况
                            var trees = res.data.tree;          //树组件的根节点
                            menuDefineData = trees;             //获取树组件的根节点,并通过方法getDefineData()递归添加dt中其它的子节点,并设置各节点的选中情况
                            getDefineData(dt, menuDefineData);  //为根节点添加其它子节点的数据
                            option.data = menuDefineData;       //为树组件的渲染参数添加节点数据
                            tree.render(option);                //渲染树组件
                        },
                        error: function (err) {
                        }
                    });
                }
            }
            //根据后端传递的菜单清单列表和根目录列表,递归
            function getDefineData(dt, tree) {
@@ -150,6 +187,9 @@
                        }
                    }
                    tree[i].children = children;                            //将收集的子节点列表赋给当前节点的children,即添加当前节点的子节点列表
                    if (tree[i].children.length > 0) {
                        tree[i].checked = false;
                    }
                    for (var j = 0; j < tree[i].children.length; j++) {
                        getDefineData(dt, tree[i].children);                
                    }