wtt
2025-10-31 2c4e339508f78a215518a8a12af34ca0b1564d44
WebTM/views/»ù´¡×ÊÁÏ/Òþ²ØÁÐÉèÖÃ/Gy_GridView_Hide_New.html
@@ -11,16 +11,29 @@
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/soulTable.slim.js"></script>
    <!-- <script src="../../../layuiadmin/zy_DragObserver.js"></script> -->
    <style>
        /* é˜²æ­¢ä¸‹æ‹‰æ¡†çš„下拉列表被隐藏---必须设置--- */
        .layui-table-cell {
        /*.layui-table-cell {
            overflow: visible !important;
        }
        }*/
        /* ä½¿å¾—下拉框与单元格刚好合适 */
        td .layui-form-select {
        /*td .layui-form-select {
            margin-top: -10px;
            margin-left: -15px;
            margin-right: -15px;
        }*/
        /* é˜²æ­¢ä¸‹æ‹‰æ¡†çš„下拉列表被隐藏---必须设置--- */
        td:has(select) .layui-table-cell {
            overflow: visible !important;
            padding: 0;
            box-sizing: border-box;
        }
        /* ä½¿å¾—下拉框与单元格刚好合适 */
        td:has(select) .layui-form-select {
            margin-top: -10px;
        }
    </style>
</head>
@@ -121,17 +134,24 @@
        <input type="checkbox" name="IsHide" lay-filter="IsHide" id="IsHide{{d.LAY_TABLE_INDEX+1}}" lay-skin="primary">
    </div>
</script>
<!--复选框 æ˜¯å¦ç»Ÿè®¡è¡Œ-->
<script type="text/html" id="IsTotalRow">
    <div class="layui-input-block" style="margin-left: 20px;">
        <input type="checkbox" name="IsTotalRow" lay-filter="IsTotalRow" id="IsTotalRow{{d.LAY_TABLE_INDEX+1}}" lay-skin="primary">
    </div>
</script>
<script>
    layui.config({
        base: '../../../layuiadmin/' //静态资源所在路径
    }).extend({
        index: 'lib/index' //主入口模块
    }).use(['index', 'form', 'laydate', 'table', 'element'], function () {
    }).use(['index', 'form', 'laydate', 'table', "soulTable", 'element'], function () {
        //#region å…¬å…±å˜é‡
        var $ = layui.$
            , admin = layui.admin
            , layer = layui.layer
            , table = layui.table
            , soulTable = layui.soulTable
            , form = layui.form
            , element = layui.element;
        //查询条件
@@ -144,7 +164,12 @@
        var params = getUrlVars();
        var HModName = params[params[0]]; //模块名称
        var colName = params[params[1]]; //列名
        var colTitleName = params[params[2]]; //列别名
        if (colTitleName == undefined) {
            colTitleName = "";
        }
        colName = decodeURI(colName);//对URI è¿›è¡Œè§£ç 
        colTitleName = decodeURI(colTitleName);
        //初始化界面
        set_ClearBill();
@@ -176,7 +201,17 @@
                }
            });
        });
        //是否统计
        form.on('checkbox(IsTotalRow)', function (data) {
            //获取下拉框选中的值
            var elem = data.othis.parents('tr');
            var dataindex = elem.attr("data-index");
            $.each(option.data, function (index, value) {
                if (value.LAY_TABLE_INDEX == dataindex) {
                    value.IsTotalRow = data.elem.checked;//把选中下拉框id值赋值给表格缓存
                }
            });
        });
        //保存提交
        form.on('submit(btnSave)', function (data) {//提交
            set_AddNew(data);
@@ -223,6 +258,9 @@
                            if (option.data[j - 1].IsHide == true) {
                                $("#IsHide" + j).attr("checked", true);
                            }
                            if (option.data[j - 1].IsTotalRow == true) {
                                $("#IsTotalRow" + j).attr("checked", true);
                            }
                            $('#Alignment' + j).find("option[value='" + option.data[j - 1].Alignment + "']").attr("selected", true);
                        }
                        form.render('select');
@@ -254,6 +292,9 @@
                        for (var j = 1; j <= option.data.length; j++) {
                            if (option.data[j - 1].IsHide == true) {
                                $("#IsHide" + j).attr("checked", true);
                            }
                            if (option.data[j - 1].IsTotalRow == true) {
                                $("#IsTotalRow" + j).attr("checked", true);
                            }
                            $('#Alignment' + j).find("option[value='" + option.data[j - 1].Alignment + "']").attr("selected", true);
                        }
@@ -296,12 +337,11 @@
                    var colNames = [];//相对单据传过来的列名
                    var cols = [];//要传进表格的数据
                    var dataCol = [];//表格数据
                    if (data1.data.length != 0) {
                        //数据库查询出的列数据
                        dataCol = data1.data[0].HGridString.split(',');
                    }
                    colNames = colName.split(',');
                    if (data1.data.length != 0 && dataCol.length == colNames.length) {
@@ -313,12 +353,14 @@
                        $("#HColumnWidth").val(data1.data[0].HColumnWidth);
                        //默认分页
                        $("#HPageSize").val(data1.data[0].HPageSize);
                        //是否排序
                        $("#HSortFlag").val(data1.data[0].HSortFlag);
                        //表格的数据填充
                        for (var i = 0; i < colNames.length; i++) {
                            var dataCols = dataCol[i].split('|');
                            var ColumnName_Other = dataCols[4] == dataCols[5] ? "" : dataCols[4];
                            cols.push({ "ColumnName": colNames[i], "IsHide": dataCols[1] == 1 ? true : false, "Alignment": dataCols[2], "ColumnWidth": dataCols[3], "ColumnName_Other": ColumnName_Other, "ColumnName_real": dataCols[5] })
                            cols.push({ "ColumnName": colNames[i], "IsHide": dataCols[1] == 1 ? true : false, "Alignment": dataCols[2], "ColumnWidth": dataCols[3], "ColumnName_Other": ColumnName_Other, "IsTotalRow": dataCols[6] == 1 ? true : false })
                        }
                        option.data = cols;
                        table.render(option);
@@ -329,15 +371,21 @@
                            if (dataCols[1] == 1) {
                                $("#IsHide" + (i + 1)).attr("checked", true);
                            }
                            if (dataCols[6] == 1) {
                                $("#IsTotalRow" + (i + 1)).attr("checked", true);
                            }
                            $('#Alignment' + (i + 1)).find("option[value='" + dataCols[2] + "']").attr("selected", true);
                        }
                        form.render('checkbox');
                        form.render('select');
                        // registerDragObserver()
                        layer.close(ajaxLoad);
                    } else {
                        var colTitleNames = colTitleName.split(',');
                        //默认不选中 æ˜¾ç¤ºå­—体居左  è¡¨æ ¼çš„æ•°æ®å¡«å……
                        for (var i = 0; i < colNames.length; i++) {
                            cols.push({ "ColumnName": colNames[i], "IsHide": false, "Alignment": "L", "ColumnWidth": 120 })
                            cols.push({ "ColumnName": colNames[i], "IsHide": false, "Alignment": "L", "ColumnWidth": 120, "ColumnName_Other": colTitleNames[i], "IsTotalRow": false })
                        }
                        option.data = cols;
                        table.render(option);
@@ -345,6 +393,7 @@
                        //默认不选中 æ˜¾ç¤ºå­—体居左 é¡µé¢å¤šé€‰æ¡† ä¸‹æ‹‰æ¡† é‡æ–°æ¸²æŸ“
                        for (var i = 0; i < colNames.length; i++) {
                            $('#IsHide' + (i + 1)).prop("checked", false);
                            $('#IsTotalRow' + (i + 1)).prop("checked", false);
                            $('#Alignment' + (i + 1)).find("option[value='L']").attr("selected", true);
                        }
                        form.render('checkbox');
@@ -368,14 +417,31 @@
                , limit: 500
                , cols: [[
                    { type: 'checkbox', fixed: 'left', style: 'background-color:#efefef4d;' }
                    , { type: 'numbers', title: '序号', width: 100, style: 'background-color:#efefef4d;' }
                    , { type: 'numbers', field:'序号', title: '序号', width: 100, style: 'background-color:#efefef4d;' }
                    , { field: 'ColumnName', title: '列名', width: 100 }
                    , { file: 'IsHide', title: '是否隐藏', width: 100, templet: '#IsHide' }
                    , { field: 'Alignment', title: '对齐方式', width: 100, templet: '#Alignment' }
                    , { field: 'ColumnWidth', title: '列宽', width: 100, edit: 'text' }
                    , { field: 'ColumnName_Other', title: '别名', width: 120, edit: 'text' }
                    , { field: 'ColumnName_real', title: '别名对应列名', width: 120, edit: 'text', hide: "true" }
                    , { field: 'IsTotalRow', title: '是否统计', width: 100, templet: '#IsTotalRow' }
                ]]
                , even: true
                , rowDrag: {/*trigger: 'row',*/
                    done: function (obj) {
                        // å®Œæˆæ—¶ï¼ˆæ¾å¼€æ—¶ï¼‰è§¦å‘
                        // å¦‚果拖动前和拖动后无变化,则不会触发此方法
                        //console.log(obj.row) // å½“前行数据
                        //console.log(obj.cache) // æ”¹åŠ¨åŽå…¨è¡¨æ•°æ®
                        //console.log(obj.oldIndex) // åŽŸæ¥çš„æ•°æ®ç´¢å¼•
                        //console.log(obj.newIndex) // æ”¹åŠ¨åŽæ•°æ®ç´¢å¼•
                        //console.log(table.cache["mainTable"]) // æ”¹åŠ¨åŽæ•°æ®ç´¢å¼•
                    }
                }
                , done: function (res, curr, count) {
                    soulTable.render(this)
                }
            };
        }
@@ -468,10 +534,42 @@
            })
        }
        //// æ³¨å†Œæ‹–拽观察者,监听表格拖拽变化
        // function registerDragObserver() {
        //     // å¦‚果不支持,则什么都不执行
        //     if (typeof window.MutationObserver === 'undefined'
        //         && typeof window.WebKitMutationObserver === 'undefined') {
        //         console.warn('observer not supported')
        //         return
        //     }
        //     let targetEl = $(".layui-table-box")[0];
        //     let config = {
        //         attributes: true,
        //         attributesOldValue: true,
        //         attributeFilter: ['class'],
        //         childList: false,
        //         subtree: false,
        //         characterData: false,
        //         characterDataOldValue: false
        //     };
        //     let observer = new MutationObserver(mutations => {
        //         mutations.forEach(function (mutation) {
        //             if (mutation.attributeName === 'class') {
        //                 // ç›‘听class中内容的变化
        //                 if ($(targetEl).hasClass('noselect')) {
        //                     document.documentElement.style.userSelect = 'none';
        //                     document.documentElement.style.webkitUserSelect = 'none';
        //                 } else {
        //                     document.documentElement.style.userSelect = '';
        //                     document.documentElement.style.webkitUserSelect = '';
        //                 }
        //             }
        //         })
        //     })
        //     observer.observe(targetEl, config);
        // }
        //#endregion
    });
</script>