fix: 修正过滤下拉框默认选中最后一行问题, 修正物料属性/事业部下拉框选中其他数据消失问题
6个文件已修改
653 ■■■■ 已修改文件
WebTM/layuiadmin/SetColumn.js 112 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/基础资料/公用基础资料/Gy_MaterialCorrection.html 245 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/基础资料/公用基础资料/Gy_MaterialCorrection2.html 290 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/模治具管理/模治具仓库管理/Sc_Add_MouldProdBackBillList.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/模治具管理/模治具仓库管理/Sc_MouldProdInBillEdit.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/模治具管理/模治具仓库管理/Sc_MouldProdOutBillEdit.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/layuiadmin/SetColumn.js
@@ -201,6 +201,115 @@
}
//#endregion
//#region æ˜¾ç¤ºåˆ—数据 æœ‰å›žè°ƒå‡½æ•°
function DisPlay_HideColumnWithCallback(HModName, user, option, titleData, callback) {
    $.ajax({
        url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
        type: "GET",
        async: false,
        data: { "HModName": HModName, "user": user },
        success: function (data1) {
            if (data1.data.length != 0) {
                var dataCol = [];//数据库查询出的列数据
                /*  var titleData = []; */
                var newCols = [[]];//对应数据库列顺序col
                newCols[0].push(option.cols[0][0]);//放入第一个checkbox
                dataCol = data1.data[0].HGridString.split(',');
                //列设置列数与页面列数是否一致
                if (dataCol.length == option.cols[0].length - 1) {
                    //遍历寻找列设置对应列按顺序插入
                    for (var j = 0; j < option.cols[0].length - 1; j++) {
                        for (var i = 0; i < option.cols[0].length - 1; i++) {
                            var dataCols = dataCol[j].split('|');
                            //选择与datacols相应列进行修改
                            if (option.cols[0][i + 1]["field"] == dataCols[5]) {
                                //隐藏列
                                if (dataCols[1] == 1) {
                                    option.cols[0][i + 1]["hide"] = true;
                                }
                                //设置列宽
                                if (dataCols[3] > 0) {
                                    option.cols[0][i + 1]["width"] = dataCols[3];
                                }
                                //设置内容字体大小
                                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[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                    option.cols[0][i + 1]["hide"] = false;
                                }
                                //统计列
                                if (dataCols[6] == 1) {
                                    option.cols[0][i + 1]["totalRow"] = true;
                                }
                                //字体所在位置(å·¦ å±…中 å³)
                                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;
                                }
                                //设置表格title属性显示别名
                                if (dataCols[4] != null && dataCols[4] != "") {
                                    option.cols[0][i + 1]["title"] = dataCols[4];
                                }
                                break;
                            }
                        }
                    }
                    //遍历循环后判断对应列数是否一致
                    if (dataCol.length == newCols[0].length - 1) {
                        option.cols = newCols;
                        //取消冻结列
                        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";
                            }
                        }
                        //设置列排序
                        for (var i = 1; i < option.cols[0].length; i++) {
                            if (data1.data[0].HSortFlag == "是") {
                                option.cols[0][i]["sort"] = true;
                            }
                            else {
                                option.cols[0][i]["sort"] = false;
                            }
                        }
                    }
                    _newCols = data1.data[0];
                }
            } else {
            }
        }, error: function () {
            layer.alert("接口请求失败!", { icon: 5 });
        }
    })
    if(_newCols !== undefined) {
        callback.call([option]);
    }
}
//#endregion
//#region éšè—åˆ—设置编辑页面
function get_HideColumnEdit(HModName, user, option, table) {
@@ -236,7 +345,7 @@
//#endregion
//#region éšè—åˆ—设置编辑页面
function get_HideColumnEditAfterReload(HModName, user, option, table, callback) {
function get_HideColumnEditWithCallback(HModName, user, option, table, callback) {
    var colName = "";
    for (var i = 1; i < option.cols[0].length - 1; i++) {
        colName += option.cols[0][i]["field"] + ",";
@@ -367,6 +476,7 @@
                    }
                }
                table.render(option);
            } else {
            }
        }, error: function () {
WebTM/views/»ù´¡×ÊÁÏ/¹«Óûù´¡×ÊÁÏ/Gy_MaterialCorrection.html
@@ -26,13 +26,13 @@
        /* é˜²æ­¢ä¸‹æ‹‰æ¡†çš„下拉列表被隐藏---必须设置--- */
        td:has(select) .layui-table-cell {
            overflow: visible !important;
            padding: 0;
            box-sizing: border-box;
        }
        /* ä½¿å¾—下拉框与单元格刚好合适 */
        th .layui-form-select {
        td:has(select) .layui-form-select {
            margin-top: -10px;
            margin-left: -15px;
            margin-right: -15px;
        }
    </style>
</head>
@@ -151,7 +151,7 @@
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeAudit" id="btn-DeAudit"><i class="layui-icon layui-icon-circle"></i>反审核</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Stop" id="btn-Stop"><i class="layui-icon layui-icon-radio"></i>禁用</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeStop" id="btn-DeStop"><i class="layui-icon layui-icon-radio"></i>反禁用</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn" id="HideColumnButton"><i class="layui-icon layui-icon-form"></i>列设置</button> -->
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn" id="HideColumnButton"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideButton" id="HideButton"><i class="layui-icon layui-icon-form"></i>按钮设置</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_SaveScheme" id="set_SaveScheme"><i class="layui-icon layui-icon-template"></i>保存方案</button> -->
                                <!-- <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ReadScheme" id="set_ReadScheme"><i class="layui-icon layui-icon-set"></i>读取方案</button> -->
@@ -216,18 +216,18 @@
                            </div>
                        </script>
                        <script type="text/html" id="materProperty">
                            <select name="HMaterClsID" id="HMaterClsID" lay-verify="HMaterClsID" lay-filter="materPropertySelect" >
                            <select name="HMaterClsID" id="HMaterClsID" lay-verify="HMaterClsID" lay-filter="materPropertySelect">
                                <option value="外购">外购</option>
                                <option value="自制">自制</option>
                                <option value="委外">委外</option>
                            </select>
                        </script>
                        <script type="text/html" id="materFormula">
                                    <select name="HMaterRuleType" id="HMaterRuleType" lay-verify="HMaterRuleType">
                                        <option value="其他">其他</option>
                                        <option value="染料">染料</option>
                                        <option value="助剂">助剂</option>
                                    </select>
                        <script type="text/html" id="Division">
                            <select name="HDivisionID" id="HDivisionID" lay-verify="HDivisionID" lay-filter="divisionIDSelect">
                                <option value="注塑事业部">注塑事业部</option>
                                <option value="软磁事业部">软磁事业部</option>
                                <option value="其他事业部">其他事业部</option>
                            </select>
                        </script>
                    </form>
                </div>
@@ -235,6 +235,7 @@
        </div>
    </div>
    <script>
        var optionData = []
        //#region æŠ˜å æ³¨é‡Š
        //#endregion
        layui.config({
@@ -242,7 +243,6 @@
        }).extend({
            index: 'lib/index', //主入口模块
        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate', 'soulTable', 'laytpl'], function () {
            //#region å…¬ç”¨å˜é‡
            var $ = layui.$
                , admin = layui.admin
@@ -256,9 +256,10 @@
                , laytpl = layui.laytpl
            var sWhere = "";
            var option = [];
            var ins;                        //用于导出excel
            var HModName = "Gy_Material";
            var HBillType = "Gy_Material";
            var HModName = "Gy_Material_Correction";
            var HBillType = "Gy_Material_Correction";
            var Organization = sessionStorage["Organization"];
            var page = 1
            var size = 50
@@ -402,25 +403,25 @@
                });
            })
            table.on('row(tempTable)', function (obj) {
                //选中行改变颜色
                var flag = !obj.tr.find(':checkbox:first').prop('checked');
                obj.tr.find(':checkbox').prop('checked', flag);
                var currentTable = $(obj.tr).closest('table');
                if (flag) {
                    obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');  //设置复选框选中样式
                    $('.layui-table-hover').attr({ "style": "background:#ceedfa;color:black" });//改变当前tr背景颜色和字体颜色
                } else {
                    obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
                    $('.layui-table-hover').attr({ "style": "background:" });//取消当前tr颜色
                }
                //mainTable ä¸ºè¡¨æ ¼ID   æ³¨æ„æ­¤å¤„如果ID不正确将导致你在监听复选框时获取不到你选择的数据,前面的只是添加或删除选中未选中样式以及设置背景色,字体颜色
                layui.each(table.cache.tempTable, function (i, l) {
                    if (obj.tr.index() == l.LAY_TABLE_INDEX) {
                        l.LAY_CHECKED = flag;
                    }
                });
            })
            // table.on('row(tempTable)', function (obj) {
            //     //选中行改变颜色
            //     var flag = !obj.tr.find(':checkbox:first').prop('checked');
            //     obj.tr.find(':checkbox').prop('checked', flag);
            //     var currentTable = $(obj.tr).closest('table');
            //     if (flag) {
            //         obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');  //设置复选框选中样式
            //         $('.layui-table-hover').attr({ "style": "background:#ceedfa;color:black" });//改变当前tr背景颜色和字体颜色
            //     } else {
            //         obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
            //         $('.layui-table-hover').attr({ "style": "background:" });//取消当前tr颜色
            //     }
            //     //mainTable ä¸ºè¡¨æ ¼ID   æ³¨æ„æ­¤å¤„如果ID不正确将导致你在监听复选框时获取不到你选择的数据,前面的只是添加或删除选中未选中样式以及设置背景色,字体颜色
            //     layui.each(table.cache.tempTable, function (i, l) {
            //         if (obj.tr.index() == l.LAY_TABLE_INDEX) {
            //             l.LAY_CHECKED = flag;
            //         }
            //     });
            // })
            // ä¸‹æ‹‰æ¡†äº‹ä»¶
            form.on('select(materPropertySelect)', function (obj) {
@@ -441,7 +442,26 @@
                        })
                    }
                })
            })
            form.on('select(divisionIDSelect)', function (obj) {
                let value = obj.value
                let td = $(obj.elem).closest('td')
                let field = td.data('field') // èŽ·å–åˆ°åˆ—å±žæ€§
                tempData.forEach(item => {
                    item[field] = value
                })
                // é‡æ–°æ¸²æŸ“下拉框
                table.reload('tempTable', {
                    data: tempData,
                    done: function (res, curr, count) {
                        $.each(res.data, function (index, item) {
                            var select = $('tr[data-index="' + index + '"] select[name="HDivisionID"]'); // ç‰©æ–™å±žæ€§å¯¹åº”的下拉框
                            select.val(item['事业部']);
                            form.render('select');
                        })
                    }
                })
            })
            //#region æŸ¥è¯¢æŒ‰é’®
@@ -457,7 +477,6 @@
            $('#filter-group').on('click', function (e) {
                // åŒ¹é…ç¦»äº‹ä»¶è§¦å‘最近的button元素
                var $btn = $(e.target).closest('button')
                debugger
                if ($btn[0] === undefined) {
                    return
                }
@@ -531,7 +550,7 @@
                //查询
                get_FastQuery(1);
                get_DefaultModule();//加载方案
                // get_DefaultModule();//加载方案
            }
            //#endregion
@@ -753,7 +772,11 @@
                            }
                            option.cols = [col];
                            option.data = data1.data;
                            var tempCol = JSON.parse(JSON.stringify(col))
                            //刷新表格数据
                            DisPlay_HideColumn(HModName, sessionStorage["HUserName"], option, titleData);
                            var tempCol = JSON.parse(JSON.stringify(option.cols[0])); // æ·±æ‹·è´ è¯»å–配置后的列设置,
                            tempCol.forEach((element) => {
                                if (element.type === 'checkbox') {
                                    element['hide'] = true
@@ -768,20 +791,24 @@
                                if (element.field === '物料属性') {
                                    element['edit'] = null
                                    element['templet'] = "#materProperty"
                                }
                                if (element.field === '事业部') {
                                    element['edit'] = null
                                    element['templet'] = '#Division'
                                }
                            });
                            tempOption.cols = [tempCol];
                            tempOption.data = tempData;
                            tempOption.done = function (res, curr, count) {
                                $.each(res.data, function (index, item) {
                                    var select = $('tr[data-index="' + index + '"] select[name="HMaterClsID"]'); // ç‰©æ–™å±žæ€§å¯¹åº”的下拉框
                                    select.val(item['物料属性']);
                                    let select1 = $('tr[data-index="' + index + '"] select[name="HMaterClsID"]'); // ç‰©æ–™å±žæ€§å¯¹åº”的下拉框
                                    select1.val(item['物料属性']);
                                    let select2 = $('tr[data-index="' + index + '"] select[name="HDivisionID"]'); // äº‹ä¸šéƒ¨å±žæ€§å¯¹åº”的下拉框
                                    select2.val(item['事业部']);
                                    form.render('select');
                                });
                            }
                            //刷新表格数据
                            DisPlay_HideColumn(HModName, sessionStorage["HUserName"], option, titleData);
                            ins = table.render(option);
                            tempIns = table.render(tempOption)
@@ -901,7 +928,6 @@
            }
            //批量更新
            function batchUpdate(obj, reg) {
                debugger
                let field = obj.field;
                let value = obj.value;
                tempData.forEach(item => {
@@ -1122,7 +1148,7 @@
                    var checked = $(document.getElementsByClassName('layui-form-checked'))
                    // checked.addClass('row-locked')
                    checked.closest('tbody').find('tr').filter(':has(.layui-form-checked)').attr({
                        style: 'background: #dddddd !important; ' +
                            'cursor: not-allowed !important; pointer-events: none !important'
@@ -1132,7 +1158,7 @@
                    form.render("select")
                    dataChecked = true
                }else {
                } else {
                    // æ²¡æœ‰é€‰ä¸­æ•°æ®ï¼Œåˆ™æ¸…空临时表
                    table.reload("tempTable", {
                        data: []
@@ -1170,12 +1196,12 @@
                        return; // è§†ä¸ºé€€å‡º
                    }
                    let data = table.cache['tempTable'];
                    if(dataChecked === false) {
                        layer.alert('请先确认数据再进行提交!', {icon: 5})
                    if (dataChecked === false) {
                        layer.alert('请先确认数据再进行提交!', { icon: 5 })
                        return;
                    }
                    if(data.length < 1) {
                        layer.alert('请至少选中一条数据!', {icon: 5})
                    if (data.length < 1) {
                        layer.alert('请至少选中一条数据!', { icon: 5 })
                        return;
                    }
                    let dataMapped = data.map(item => {
@@ -1248,7 +1274,6 @@
                        return mapped
                    })
                    debugger;
                    let dataStr = JSON.stringify(dataMapped)
                    $.ajax(
@@ -1727,10 +1752,9 @@
            //以上是layui模块
            function set_GridCellCheck(obj) {
                var objCurrent = obj
                $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                    if (e.key == 'F7') {
                        let eventName = objCurrent.event
                        let eventName = obj.event
                        if (eventName === 'onHUnitNameKeyDownHandler') {
                            layer.open({
                                type: 2
@@ -1751,13 +1775,12 @@
                                    if (checkStatus.data.length === 0) {
                                        return layer.msg('请选择数据');
                                    } else if (checkStatus.data.length === 1) {
                                        // objCurrent.update({
                                        //     HUnitName: checkStatus.data[0].计量单位名称,
                                        //     HUnitID: checkStatus.data[0].HItemID,
                                        //     '计量单位名称': checkStatus.data[0].计量单位名称,
                                        //     '计量单位代码': checkStatus.data[0].计量单位代码,
                                        // })
                                        obj.update({
                                            'HUnitName': checkStatus.data[0].计量单位名称,
                                            'HUnitID': checkStatus.data[0].HItemID,
                                            '计量单位名称': checkStatus.data[0].计量单位名称,
                                            '计量单位代码': checkStatus.data[0].计量单位代码
                                        })
                                        tempData.forEach(item => {
                                            item['HUnitName'] = checkStatus.data[0].计量单位名称
                                            item['HUnitID'] = checkStatus.data[0].HItemID
@@ -1772,6 +1795,22 @@
                                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) { }
                                , end: function () {
                                    let curData = optionData
                                    if (optionData.length > 0) {
                                        tempData.forEach(item => {
                                            item['HUnitName'] = optionData[0].计量单位名称
                                            item['HUnitID'] = optionData[0].HItemID
                                            item['计量单位名称'] = optionData[0].计量单位名称
                                            item['计量单位代码'] = optionData[0].计量单位代码
                                        })
                                        table.reload('tempTable', {
                                            data: tempData
                                        })
                                        optionData = []
                                    }
                                }
                            })
                        }
                        else if (eventName === 'onBasicUnitCodeKeyDownHandler') {
@@ -1794,10 +1833,11 @@
                                    if (checkStatus.data.length === 0) {
                                        return layer.msg('请选择数据');
                                    } else if (checkStatus.data.length === 1) {
                                        // objCurrent.update({
                                        //     HBASEUNITID: checkStatus.data[0].HItemID,
                                        //     '基本计量单位代码': checkStatus.data[0].计量单位代码,
                                        // })
                                        obj.update({
                                            'HBASEUNITID': checkStatus.data[0].HItemID,
                                            '基本计量单位代码': checkStatus.data[0].计量单位代码
                                        })
                                        tempData.forEach(item => {
                                            item['HBASEUNITID'] = checkStatus.data[0].HItemID
                                            item['基本计量单位代码'] = checkStatus.data[0].计量单位代码
@@ -1812,6 +1852,20 @@
                                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) { }
                                , end: function () {
                                    let curData = optionData
                                    if (optionData.length > 0) {
                                        tempData.forEach(item => {
                                            item['HBASEUNITID'] = optionData[0].HItemID
                                            item['基本计量单位代码'] = optionData[0].计量单位代码
                                        })
                                        table.reload('tempTable', {
                                            data: tempData
                                        })
                                        optionData = []
                                    }
                                }
                            })
                        }
                        else if (eventName === 'onWareHouseKeyDownHandler') {
@@ -1834,17 +1888,15 @@
                                    if (checkStatus.data.length !== 1) {
                                        return layer.msg('请选择一条数据');
                                    }
                                    objCurrent.update({
                                    obj.update({
                                        '仓库名称': checkStatus.data[0].仓库名称,
                                        HWhID: checkStatus.data[0].HItemID,
                                        '仓库代码': checkStatus.data[0].仓库代码
                                    })
                                    tempData.forEach(item => {
                                        item['仓库名称'] = checkStatus.data[0].仓库名称
                                        item['HWhID'] = checkStatus.data[0].HItemID
                                        item['仓库代码'] = checkStatus.data[0].仓库代码
                                        // item['计量单位代码']= checkStatus.data[0].计量单位代码
                                    })
                                    table.reload('tempTable', {
                                        data: tempData
@@ -1853,6 +1905,21 @@
                                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) { }
                                , end: function () {
                                    let curData = optionData
                                    if (optionData.length > 0) {
                                        tempData.forEach(item => {
                                            item['仓库名称'] = optionData[0].仓库名称
                                            item['HWhID'] = optionData[0].HItemID
                                            item['仓库代码'] = optionData[0].仓库代码
                                        })
                                        table.reload('tempTable', {
                                            data: tempData
                                        })
                                        optionData = []
                                    }
                                }
                            })
                        }
                        else if (eventName === 'onMaterialClassKeyDownHandler') {
@@ -1875,7 +1942,7 @@
                                    if (checkStatus.data.length != 1) {
                                        return layer.msg('请选择一条数据');
                                    }
                                    objCurrent.update({
                                    obj.update({
                                        '物料分类名称': checkStatus.data[0].物料分类名称,
                                        HMaterTypeID: checkStatus.data[0].HItemID,
                                        '物料分类代码': checkStatus.data[0].物料分类代码
@@ -1894,8 +1961,25 @@
                                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) { }
                                , end: function () {
                                    let curData = optionData
                                    if (optionData.length > 0) {
                                        tempData.forEach(item => {
                                            item['物料分类名称'] = optionData[0].物料分类名称
                                            item['HMaterTypeID'] = optionData[0].HItemID
                                            item['物料分类代码'] = optionData[0].物料分类代码
                                        })
                                        table.reload('tempTable', {
                                            data: tempData
                                        })
                                        optionData = []
                                    }
                                }
                            })
                        }
                        obj.event = '';
                        return false
                    }
                })
            }
@@ -1959,7 +2043,7 @@
            if (element.field.search(/物料代码|物料名称/) !== -1) {
                return false
            }
            if (element.field === '组织名称') {
            if (element.field === '组织名称' || element.field === '物料分类名称') {
                return false
            }
            return true
@@ -1967,20 +2051,17 @@
        //#endregion
        //#region æ ¹æ®å…ƒç´ ååˆ¤æ–­äº‹ä»¶å
        function elementEventBindCheck(element) {
            const UnitReg = /计量|Unit/;
            const WHReg = /仓库|WH/;
            const MaterReg = /物料分类|MaterType/;
            if (element.type === 'checkbox') {
                return false
            }
            if (element.field.search(/基本计量单位代码|HBASEUNITID/) !== -1) {
            if (element.field.search(/基本计量单位代码/) !== -1) {
                return 'onBasicUnitCodeKeyDownHandler';
            } else if (element.field.search(UnitReg) !== -1) {
            } else if (element.field.search(/计量单位名称/) !== -1) {
                return 'onHUnitNameKeyDownHandler';
            } else if (element.field.search(WHReg) !== -1) {
            } else if (element.field.search(/仓库名称/) !== -1) {
                return 'onWareHouseKeyDownHandler';
            } else if (element.field.search(MaterReg) !== -1) {
            } else if (element.field.search(/物料分类代码/) !== -1) {
                return 'onMaterialClassKeyDownHandler';
            } else {
                return null
@@ -1991,7 +2072,7 @@
        function divisionJudgment(divisionStr) {
            switch (divisionStr) {
                case '注塑事业部': return 3;
                case '注塑事业部': return 4;
                case '软磁事业部': return 4;
                default: return 0;
            }
        }
@@ -2004,7 +2085,21 @@
            }
        }
        // è®¡é‡å•位回调
        function GetUnitValue(data) {
            optionData = data;
        }
        // ä»“库回调
        function GetHWHValue(data) {
            optionData = data;
        }
        function GetMaterTypeValue(data) {
            optionData = data;
        }
    </script>
</body>
WebTM/views/»ù´¡×ÊÁÏ/¹«Óûù´¡×ÊÁÏ/Gy_MaterialCorrection2.html
@@ -27,14 +27,14 @@
        /* é˜²æ­¢ä¸‹æ‹‰æ¡†çš„下拉列表被隐藏---必须设置--- */
        td:has(select) .layui-table-cell {
            overflow: visible !important;
            padding: 0;
            box-sizing: border-box;
        }
        /* ä½¿å¾—下拉框与单元格刚好合适 */
        th .layui-form-select {
        /* td:has(select) .layui-form-select {
            margin-top: -10px;
            margin-left: -15px;
            margin-right: -15px;
        }
        } */
    </style>
</head>
@@ -104,9 +104,11 @@
                                                    <option value=">=">>=</option>
                                                    <option value=">">></option>
                                                    <option value="<=">
                                                        <=< <option value="<">
                                                            << <option value="<>">
                                                                <>
                                                        <= </option>
                                                    <option value="<">
                                                        < </option>
                                                    <option value="<>">
                                                        <>
                                                    </option>
                                                    <option value="7">包含</option>
                                                    <option value="8">左包含</option>
@@ -223,11 +225,11 @@
                                <option value="0">委外</option>
                            </select>
                        </script>
                        <script type="text/html" id="materFormula">
                            <select name="HMaterRuleType" id="HMaterRuleType" lay-verify="HMaterRuleType">
                                <option value="其他">其他</option>
                                <option value="染料">染料</option>
                                <option value="助剂">助剂</option>
                        <script type="text/html" id="Division">
                            <select name="HDivisionID" id="HDivisionID" lay-verify="HDivisionID" lay-filter="divisionIDSelect">
                                <option value="3">注塑事业部</option>
                                <option value="4">软磁事业部</option>
                                <option value="0">其他事业部</option>
                            </select>
                        </script>
                    </form>
@@ -236,6 +238,7 @@
        </div>
    </div>
    <script>
        var optionData = []
        //#region æŠ˜å æ³¨é‡Š
        //#endregion
        layui.config({
@@ -449,18 +452,30 @@
            // ä¸‹æ‹‰æ¡†äº‹ä»¶
            form.on('select(materPropertySelect)', function (obj) {
                let value = obj.value
                let curretDate = tempOption.data
                let curretDate = table.cache['tempTable']
                curretDate.forEach(item => {
                    if (item.ColmCols === '物料属性') {
                        item['value'] = value
                    }
                })
                // table.reload('tempTable', {
                //     data: tempOption.data,
                // })
                table.reload('tempTable', {
                    data: curretDate
                })
            })
            form.on('select(divisionIDSelect)', function (obj) {
                let value = obj.value
                let curretDate = table.cache['tempTable']
                debugger
                curretDate.forEach(item => {
                    if (item.ColmCols === '事业部') {
                        item['value'] = value
                    }
                })
                table.reload('tempTable', {
                    data: curretDate
                })
            })
            //#region æŸ¥è¯¢æŒ‰é’®
@@ -684,8 +699,16 @@
                                    soulTable.render(this);
                                }
                            }
                            let _dataCol;
                            //刷新表格数据
                            // DisPlay_HideColumn(HModName, sessionStorage["HUserName"], option, titleData)
                            DisPlay_HideColumnWithCallback(HModName, sessionStorage["HUserName"], option, titleData,
                                function () {
                                    let that = this
                                    _dataCol = dataCol
                                    debugger
                                }
                            )
                            ins = table.render(option);
                            //刷新按钮显示
@@ -753,9 +776,19 @@
                            // Display_HideButton(set_HideButton_ID, HBillType, HModName, sessionStorage["HUserName"]);
                            DisPlay_HideColumn(HModName, sessionStorage["HUserName"], option, titleData)
                            //刷新表格数据
                            ins = table.render(option);
                            let _newData = option.cols[0]
                            let hideCols = []
                            _newData.forEach(item => {
                                if (item.hide === true) {
                                    hideCols.push(item.field);
                                }
                            })
                            debugger
                            let list2 = data1.list;
                            let data2 = []
                            let col2 = []
@@ -770,7 +803,7 @@
                            tempOption.done = function (res, curr, count) {
                                let filterReg = new RegExp(/人|时间|ID|标记|Flag|选择|物料代码|物料名称/i) // éšè—æŒ‡å®šå±žæ€§
                                $.each(res.data, function (index, item) {
                                    if (filterReg.test(item.ColmCols) === true) {
                                    if (filterReg.test(item.ColmCols) === true || hideCols.includes(item.ColmCols)) {
                                        var tr = $('tr[data-index="' + index + '"] td[data-field="value"]').closest('tr')
                                        tr.addClass('layui-hide')
                                    }
@@ -785,7 +818,23 @@
                                        $(td).prepend(selectMaterProperty);
                                        let select = $('tr[data-index="' + index + '"] select[name="HMaterClsID"]'); // ç‰©æ–™å±žæ€§å¯¹åº”的下拉框
                                        if (item['value'] === '') {
                                            select.val('0');
                                            select.val(' ');
                                        } else {
                                            select.val(item['value']);
                                        }
                                        form.render('select')
                                    }
                                    if (item.ColmCols === '事业部') {
                                        let selectMaterProperty = $("#Division").clone(true, true).html();
                                        let tr = $('tr[data-index="' + index + '"] div:contains("事业部")').closest('tr');
                                        let td = tr.find('td[data-field="value"]') // éœ€è¦åŒ…含下拉框的容器
                                        td.removeAttr("data-edit")
                                        td.find('.layui-table-cell').addClass('layui-hide')
                                        $(td).prepend(selectMaterProperty);
                                        let select = $('tr[data-index="' + index + '"] select[name="HDivisionID"]'); // ç‰©æ–™å±žæ€§å¯¹åº”的下拉框
                                        if (item['value'] === '') {
                                            select.val(' ');
                                        } else {
                                            select.val(item['value']);
                                        }
@@ -812,7 +861,7 @@
                            if ($("#ColName option").length < 1) {
                                ColFilter();
                            }
                            layer.alert("查询成功", { icon: 1 });
                            // layer.alert("查询成功", { icon: 1 });
                        } else {
                            //option.data = [[]]
                            //table.render(option);
@@ -889,8 +938,6 @@
                    }
                })
                filterUnit = filterUnit.html();
                $('#btnAddFilter').before(filterUnit);
                ColFilter()
@@ -919,14 +966,6 @@
                    $("#ColContent").val(data2["ColContent"]);
                    form.render('select');
                }
            }
            //批量更新
            function batchUpdate(obj, reg) {
                let field = obj.field;
                let value = obj.value;
                tempData.forEach(item => {
                    item[field] = value
                })
            }
            function btnrowDouble(obj) {
@@ -1187,18 +1226,43 @@
                        return; // è§†ä¸ºé€€å‡º
                    }
                    let dataObj = {}
                    let data = tempOption.data.forEach(item => {
                    let data = table.cache['tempTable'].forEach(item => {
                        let mergeObj = {}
                        mergeObj[item['ColmCols']] = item['value']
                        Object.assign(dataObj, mergeObj)
                    });
                    let mainTableCache = table.checkStatus('mainTable')
                    let idStr = '(' + Array.from(mainTableCache.data).map(e => "'" + e.HItemID + "'").join(',') + ')'
                    let mainTableCache = table.checkStatus('mainTable').data
                    debugger
                    if (mainTableCache.length < 1) {
                        layer.alert('至少要有一条选中的数据!', { icon: 5 })
                        return
                    }
                    let metaInfo = mainTableCache.map(item => Object.assign(item, {
                        // HOnceRightRate: item['一次合格率标准值']
                        // , HDivisionID: divisionJudgment(dataObj['事业部'])
                        HNumber: item['物料代码']
                        // , HName: item['物料名称']
                        // , HModel: item['规格型号']
                        // , HMaterClsID: item['物料属性']
                        // , HRemark: item['备注']
                        // , HQtyDec: item['数量精度']
                        // , HPriceDec: item['单价精度']
                        // , HMoneyDec: item['金额精度']
                        // , HTaxRate: item['默认税率']
                        // , HProfitRate: item['默认利润率']
                        // , HTaxCost: item['含税成本价']
                        // , HFootPrice: item['结算价']
                        // , HWeight: item['克重']
                        // , HColorRemark: item['染色要求']
                        // , HWidth: item['幅宽']
                    }));
                    let idStr = '(' + Array.from(mainTableCache).map(e => "'" + e.HItemID + "'").join(',') + ')'
                    let mapped = Object.assign(dataObj,
                        {
                            HOnceRightRate: dataObj['一次合格率标准值']
                            // , HDivisionID: divisionJudgment(dataObj['事业部'])
                            , HDivisionID: dataObj['事业部']
                            , HNumber: dataObj['物料代码']
                            , HName: dataObj['物料名称']
                            , HModel: dataObj['规格型号']
@@ -1214,14 +1278,26 @@
                            , HWeight: dataObj['克重']
                            , HColorRemark: dataObj['染色要求']
                            , HWidth: dataObj['幅宽']
                            // , HWHID: dataObj['HWHID']
                        }
                    )
                    let chineseReg = new RegExp(/^[\u4e00-\u9fa5\u3000-\u303f\uff00-\uffef]+$/)
                    // åŽ»é™¤ä¼ è¾“æ•°æ®çš„ä¸­æ–‡éƒ¨åˆ†ï¼Œæ•°æ®åº“å’ŒåŽç«¯çš„å­—æ®µä¸ä¼šæ˜¯ä¸­æ–‡ï¼Œå‡å°‘ä¼ è¾“æ•°æ®çš„é•¿åº¦
                    $.each(mapped, (key, value) => {
                        if (value === '' || chineseReg.test(key)) {
                            delete mapped[key]
                        }
                    })
                    // XXX: å¯èƒ½åœ¨æ•°æ®é‡å¤§çš„æƒ…况下影响性能 é…Œæƒ…删除
                    $.each(metaInfo[0], (key, value) => {
                        if (value === '' || chineseReg.test(key)) {
                            metaInfo.forEach(item => {
                                delete item[key]
                            })
                        }
                    })
                    if (mapped.HNumber == 0) {
                        throw "请输入物料代码!";
@@ -1272,12 +1348,13 @@
                    debugger;
                    let dataStr = JSON.stringify(mapped)
                    metaInfo = JSON.stringify(metaInfo)
                    $.ajax(
                        {
                            type: "POST",
                            url: GetWEBURL() + "/Gy_Material/SaveGy_MaterialList_Modify", //方法所在页面和方法名
                            async: true,
                            data: { "msg": dataStr + ';' + sessionStorage["HUserName"] + ';' + sessionStorage["OrganizationID"] + ';'  + idStr },
                            data: { "msg": metaInfo + ';' + sessionStorage["HUserName"] + ';' + sessionStorage["OrganizationID"] + ';' + idStr + ';' + dataStr },
                            dataType: "json",
                            success: function (data) {
                                if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
@@ -1517,11 +1594,17 @@
                var filterGroup = $('#filter-group')
                Array.from(filterGroup.find('select')).forEach(d => {
                    var temp = $(d).val()
                    debugger
                    if (colNameReg.test(d.id)) {
                        $(d).empty();
                        $(d).append(Organization);
                    }
                    $(d).val(temp)
                    if (temp === null) {
                        $(d).val('0')
                    } else {
                        $(d).val(temp)
                    }
                })
                form.render('select');
            }
@@ -1750,7 +1833,8 @@
                $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                    if (e.key == 'F7') {
                        let eventName = obj.event
                        let tempTableCacheData = table.cache['tempTable']
                        debugger
                        if (eventName === 'onHUnitNameKeyDownHandler') {
                            layer.open({
                                type: 2
@@ -1771,7 +1855,7 @@
                                    if (checkStatus.data.length === 0) {
                                        return layer.msg('请选择数据');
                                    } else if (checkStatus.data.length === 1) {
                                        tempOption.data.forEach(item => {
                                        tempTableCacheData.forEach(item => {
                                            if (item.ColmCols === 'HUnitName') {
                                                item['value'] = checkStatus.data[0].计量单位名称
                                            }
@@ -1786,13 +1870,34 @@
                                            }
                                        })
                                        table.reload('tempTable', {
                                            data: tempOption.data
                                            data: tempTableCacheData
                                        })
                                    }
                                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) { }
                                , end: function () {
                                    if (optionData.length > 0) {
                                        tempTableCacheData.forEach(item => {
                                            if (item.ColmCols === 'HUnitName') {
                                                item['value'] = optionData[0].计量单位名称
                                            }
                                            if (item.ColmCols === 'HUnitID') {
                                                item['value'] = optionData[0].HItemID
                                            }
                                            if (item.ColmCols === '计量单位名称') {
                                                item['value'] = optionData[0].计量单位名称
                                            }
                                            if (item.ColmCols === '计量单位代码') {
                                                item['value'] = optionData[0].计量单位代码
                                            }
                                        })
                                        table.reload('tempTable', {
                                            data: tempTableCacheData
                                        })
                                    }
                                }
                            })
                        }
                        else if (eventName === 'onBasicUnitCodeKeyDownHandler') {
@@ -1815,8 +1920,7 @@
                                    if (checkStatus.data.length === 0) {
                                        return layer.msg('请选择数据');
                                    } else if (checkStatus.data.length === 1) {
                                        debugger
                                        tempOption.data.forEach(item => {
                                        tempTableCacheData.forEach(item => {
                                            if (item.ColmCols === 'HBASEUNITID') {
                                                item['value'] = checkStatus.data[0].HItemID
                                            }
@@ -1828,16 +1932,33 @@
                                            }
                                        })
                                        table.reload('tempTable', {
                                            data: tempOption.data
                                            data: tempTableCacheData
                                        })
                                    }
                                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) { }
                                , end: function () {
                                    if (optionData.length > 0) {
                                        tempTableCacheData.forEach(item => {
                                            if (item.ColmCols === 'HBASEUNITID') {
                                                item['value'] = optionData[0].HItemID
                                            }
                                            if (item.ColmCols === '基本计量单位代码') {
                                                item['value'] = optionData[0].计量单位代码
                                            }
                                            if (item.ColmCols === '基本计量单位') {
                                                item['value'] = optionData[0].计量单位名称
                                            }
                                        })
                                        table.reload('tempTable', {
                                            data: tempTableCacheData
                                        })
                                    }
                                }
                            })
                        }
                        else if (eventName === 'onWareHouseKeyDownHandler') {
@@ -1861,11 +1982,11 @@
                                        return layer.msg('请选择一条数据');
                                    }
                                    tempOption.data.forEach(item => {
                                    tempTableCacheData.forEach(item => {
                                        if (item.ColmCols === '仓库名称') {
                                            item['value'] = checkStatus.data[0].仓库名称
                                        }
                                        if (item.ColmCols === 'HWhID') {
                                        if (item.ColmCols === 'HWHID') {
                                            item['value'] = checkStatus.data[0].HItemID
                                        }
                                        if (item.ColmCols === '仓库代码') {
@@ -1874,12 +1995,31 @@
                                    })
                                    table.reload('tempTable', {
                                        data: tempOption.data
                                        data: tempTableCacheData
                                    })
                                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) { }
                                , end: function () {
                                    if (optionData.length > 0) {
                                        tempTableCacheData.forEach(item => {
                                            if (item.ColmCols === '仓库名称') {
                                                item['value'] = optionData[0].仓库名称
                                            }
                                            if (item.ColmCols === 'HWHID') {
                                                item['value'] = optionData[0].HItemID
                                            }
                                            if (item.ColmCols === '仓库代码') {
                                                item['value'] = optionData[0].仓库代码
                                            }
                                        })
                                        table.reload('tempTable', {
                                            data: tempTableCacheData
                                        })
                                    }
                                }
                            })
                        }
                        else if (eventName === 'onMaterialClassKeyDownHandler') {
@@ -1902,7 +2042,7 @@
                                    if (checkStatus.data.length != 1) {
                                        return layer.msg('请选择一条数据');
                                    }
                                    tempOption.data.forEach(item => {
                                    tempTableCacheData.forEach(item => {
                                        if (item.ColmCols === '物料分类名称') {
                                            item['value'] = checkStatus.data[0].物料分类名称
                                        }
@@ -1915,13 +2055,30 @@
                                    })
                                    table.reload('tempTable', {
                                        data: tempOption.data
                                        data: tempTableCacheData
                                    })
                                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) { }
                                , end: function () {
                                    if (optionData.length > 0) {
                                        tempTableCacheData.forEach(item => {
                                            if (item.ColmCols === '物料分类名称') {
                                                item['value'] = optionData[0].物料分类名称
                                            }
                                            if (item.ColmCols === 'HMaterTypeID') {
                                                item['value'] = optionData[0].HItemID
                                            }
                                            if (item.ColmCols === '物料分类代码') {
                                                item['value'] = optionData[0].物料分类代码
                                            }
                                        })
                                        table.reload('tempTable', {
                                            data: tempTableCacheData
                                        })
                                    }
                                }
                            })
                        }
                        obj.event = ''
@@ -1999,7 +2156,6 @@
            const WHReg = new RegExp(/仓库|WH/);
            const MaterReg = new RegExp(/物料分类|MaterType/);
            const baseMaterReg = new RegExp(/基本计量单位代码|HBASEUNITID|基本计量单位/)
            debugger;
            if (baseMaterReg.test(colName) === true) {
                return 'onBasicUnitCodeKeyDownHandler';
            } else if (UnitReg.test(colName) === true) {
@@ -2023,12 +2179,28 @@
        function materClsJudgment(materClsStr) {
            switch (materClsStr) {
                case '外购': return '1';
                case '自制': return '2';
                default: return '0';
                case '外购': return 1;
                case '自制': return 2;
                default: return 0;
            }
        }
        // è®¡é‡å•位回调
        function GetUnitValue(data) {
            optionData = data;
        }
        // ä»“库回调
        function GetHWHValue(data) {
            optionData = data;
        }
        // ç‰©æ–™åˆ†ç±»å›žè°ƒ
        function GetMaterTypeValue(data) {
            optionData = data;
        }
    </script>
WebTM/views/Ä£Öξ߹ÜÀí/Ä£Öξֿ߲â¹ÜÀí/Sc_Add_MouldProdBackBillList.html
@@ -418,7 +418,7 @@
                        break;
                    //列设置
                    case 'set_HideColumn':
                        get_HideColumnEditAfterReload(HModName, sessionStorage["HUserName"], option, table
                        get_HideColumnEditWithCallback(HModName, sessionStorage["HUserName"], option, table
                            , function () {
                                let opt = [option];
                                ColumnAddNotEditableStyle(cancelEditStyleList, opt);
WebTM/views/Ä£Öξ߹ÜÀí/Ä£Öξֿ߲â¹ÜÀí/Sc_MouldProdInBillEdit.html
@@ -459,7 +459,7 @@
                        break;
                    //列设置
                    case 'set_HideColumn':
                        get_HideColumnEditAfterReload(HModName, sessionStorage["HUserName"], option, table, function () {
                        get_HideColumnEditWithCallback(HModName, sessionStorage["HUserName"], option, table, function () {
                            let cancelEditStyleList = new RegExp(/HMaterName|HMaterSpec|HUnitName|HQtyMust|HWHName|HSPName/i)
                            let opt = [option]
                            ColumnAddNotEditableStyle(cancelEditStyleList, opt)
WebTM/views/Ä£Öξ߹ÜÀí/Ä£Öξֿ߲â¹ÜÀí/Sc_MouldProdOutBillEdit.html
@@ -449,7 +449,7 @@
                        break;
                    //列设置 å¯èƒ½å­˜åœ¨ä½Žç‰ˆæœ¬çš„æµè§ˆå™¨æ— æ³•使用的问题
                    case 'set_HideColumn':
                        get_HideColumnEditAfterReload(HModName, sessionStorage["HUserName"], option, table,
                        get_HideColumnEditWithCallback(HModName, sessionStorage["HUserName"], option, table,
                            function () {
                                // è¿™é‡ŒèŽ·å–çš„option是 SetColumn.js ä¸­çš„option, ä¸Žæœ¬é¡µé¢ä¸­çš„option无关
                                let opt = [option];