yusijie
2023-04-01 f0b41de37866073b68b83e85fca3b13d5fd54d44
WebTM/views/Baseset/SRM_OpenTmpList.html
@@ -23,6 +23,7 @@
                                <button type="button" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="Reload">刷新</button>
                                <button type="button" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="Select">选择</button>
                                <button type="button" class="layui-btn layui-btn-normal" lay-submit="" lay-filter="Exit">退出</button>
                                <button class="layui-btn layui-btn-normal" type="button" lay-submit="" lay-filter="HideColumn" id="HideColumn">隐藏列设置</button>
                            </div>
                        </div>
                    </div>
@@ -52,11 +53,16 @@
                , form = layui.form
                , layer = layui.layer
                , element = layui.element; //Tab的切换功能,切换事件监听等,需要依赖element模块
            table.render({
            var option = [];
            var HModName = "SRM_OpenTmpList";
            option={
                elem: '#mainTable'
                // , url: '/demo/table/user/'
                , data: []
                , cellMinWidth: 80 //全局定义常规单元格的最小宽度,layui 2.2.1 新增
                , height: 'full-10'
                , loading: false
                , cols: [[
                    { type: 'radio' }
                    , { field: 'HItemID', width: 150, title: 'ID', hide: true }
@@ -64,8 +70,9 @@
                    , { field: 'HName', width: 150, title: '模块名称', hide: true }
                    , { field: '模板名称', width: 150, title: '模板名称' }
                ]]
            });
            };
            DisPlay_HideColumn();
            table.on('row(mainTable)', function (obj) {////注:test是table原始容器的属性 lay-filter="对应的值"
                obj.tr.addClass('layui-table-click').siblings().removeClass('layui-table-click');//选中行样式
@@ -104,14 +111,12 @@
                    //data: { "Value": Value },
                    success: function (result) {
                        ajaxReturnData = JSON.parse(JSON.stringify(result)).data;
                        table.reload('mainTable', {
                            data: ajaxReturnData
                            , height: 'full-10'
                            , loading: false
                            , done: function (index, res) {
                            }
                        });
                        //table.reload('mainTable', {
                        //    data: ajaxReturnData
                        //});
                        option.data = ajaxReturnData;
                        table.render(option);
                    },
                    error: function (result) {
                        console.log(result);
@@ -183,9 +188,11 @@
                        }
                    });
            });
            form.on('submit(Reload)', function (data) {//刷新
                RoadList(Type);
            });
            form.on('submit(Save)', function (obj) {//保存
                var Tmp = obj.field;
                if (Tmp.HName == '') {
@@ -220,10 +227,12 @@
                        }
                    });
            });
            form.on('submit(Cancel)', function (data) {//取消
                element.tabChange('tabDemo', '1');
                element.tabDelete('tabDemo', '2'); //删除
            });
            form.on('submit(Select)', function (data) {//选择
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
@@ -262,6 +271,12 @@
                var index = parent.layer.getFrameIndex(window.name);
                parent.layer.close(index);
            });
            //隐藏列设置
            form.on('submit(HideColumn)', function (data) {
                get_HideColumn();
            });
            form.on('submit(Exit)', function (data) {//退出
                var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
                parent.layer.close(index); //再执行关闭
@@ -269,6 +284,119 @@
            //隐藏列设置
            function get_HideColumn() {
                var colName = "";
                var contentUrl = "";
                for (var i = 1; i < option.cols[0].length ; i++) {
                    colName += option.cols[0][i]["title"] + ",";
                }
                var urlStr = window.document.location.pathname;//获取文件路径
                var urlLen = urlStr.split('/');
                for (var i = 0; i < urlLen.length - 4; i++) {
                    contentUrl += "../";
                }
                colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI 进行编码
                contentUrl += '基础资料/隐藏列设置/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName;
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim" //加上边框
                    , title: "隐藏列设置"  //标题
                    , closeBtn: 1  //窗体右上角关闭 的 样式
                    , shift: 2 //弹出动画
                    , area: ["50%", "90%"] //窗体大小
                    , maxmin: true //设置最大最小按钮是否显示
                    , content: [contentUrl, "yes"]
                    , btn: ["确定", "取消"]
                    , btn1: function (index, laero) {
                        //刷新表格数据
                        DisPlay_HideColumn();
                        //更新表格缓存的数据
                        layer.close(index);//关闭弹窗
                    }
                })
            }
            //显示列数据
            function DisPlay_HideColumn() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    type: "GET",
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    async: false,
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            var titleData = [""];//不需要显示的字段 可扩展
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option.cols[0].length - 1; i++) {
                                var dataCols = dataCol[i].split('|');
                                //隐藏列
                                if (dataCols[1] == 1) {
                                    option.cols[0][i + 1]["hide"] = true;
                                }
                                //设置内容字体大小
                                if (data1.data[0].HFontSize != 0) {
                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                                } else {
                                    option.cols[0][i + 1]["style"] = "font-size:100%";
                                }
                                //设置列宽
                                if (dataCols[3] > 0) {
                                    option.cols[0][i + 1]["width"] = dataCols[3];
                                }
                                //显示列
                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                    option.cols[0][i + 1]["hide"] = false;
                                }
                                //字体所在位置(左 居中 右)
                                switch (dataCols[2]) {
                                    case "L":
                                        option.cols[0][i + 1]["align"] = "left";
                                        break;
                                    case "M":
                                        option.cols[0][i + 1]["align"] = "center";
                                        break;
                                    case "R":
                                        option.cols[0][i + 1]["align"] = "right";
                                        break;
                                }
                            }
                            //取消冻结列
                            for (var i = 1; i < option.cols[0].length - 1; i++) {
                                if (option.cols[0][i]["fixed"] != null) {
                                    option.cols[0][i]["fixed"] = null;
                                }
                                else {
                                    break;
                                }
                            }
                            //冻结列
                            if (data1.data[0].HFixCols != 0) {
                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
                                        data1.data[0].HFixCols += 1;
                                    }
                                    option.cols[0][i + 1]["fixed"] = "left";
                                }
                            }
                            table.render(option);
                        } else {
                            table.render(option);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                })
            }
        });
    </script>