chenhaozhe
2025-05-20 f6c0d0ff61808a1a2fe1ecbfc64d80cb228f1365
批改页面2 问题:后端无法获取HNumber
2个文件已修改
337 ■■■■■ 已修改文件
WebTM/views/基础资料/公用基础资料/Gy_MaterialCorrection.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/基础资料/公用基础资料/Gy_MaterialCorrection2.html 335 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/»ù´¡×ÊÁÏ/¹«Óûù´¡×ÊÁÏ/Gy_MaterialCorrection.html
@@ -1249,7 +1249,7 @@
                                }
                                else {
                                    layer.alert(data.Message);
                                    console.log("bobo" + sMainStr);
                                    console.log("bobo" + dataStr);
                                }
                                layer.closeAll("loading");
                            },
WebTM/views/»ù´¡×ÊÁÏ/¹«Óûù´¡×ÊÁÏ/Gy_MaterialCorrection2.html
@@ -218,17 +218,17 @@
                        </script>
                        <script type="text/html" id="materProperty">
                            <select name="HMaterClsID" id="HMaterClsID" lay-verify="HMaterClsID" lay-filter="materPropertySelect" >
                                <option value="外购">外购</option>
                                <option value="自制">自制</option>
                                <option value="委外">委外</option>
                                <option value="1">外购</option>
                                <option value="2">自制</option>
                                <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>
                                    </select>
                            <select name="HMaterRuleType" id="HMaterRuleType" lay-verify="HMaterRuleType">
                                <option value="其他">其他</option>
                                <option value="染料">染料</option>
                                <option value="助剂">助剂</option>
                            </select>
                        </script>
                    </form>
                </div>
@@ -449,23 +449,18 @@
            // ä¸‹æ‹‰æ¡†äº‹ä»¶
            form.on('select(materPropertySelect)', 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="HMaterClsID"]'); // ç‰©æ–™å±žæ€§å¯¹åº”的下拉框
                            select.val(item['物料属性']);
                            form.render('select');
                        })
                    }
                })
                let curretDate = tempOption.data
                curretDate.forEach(item => {
                    if (item.ColmCols === '物料属性') {
                        item['value'] = value
                    }
                })
                // table.reload('tempTable', {
                //     data: tempOption.data,
                // })
            })
            //#region æŸ¥è¯¢æŒ‰é’®
@@ -771,8 +766,44 @@
                            col2.push({ title: 'value', field: 'value', width: 120, edit: 'text' })
                            tempOption.cols = [col2]
                            tempOption.data = list2
                            debugger
                            tempOption.data = list2.map(item => Object.assign(item, { value: "" }))
                            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) {
                                        var tr = $('tr[data-index="' + index + '"] td[data-field="value"]').closest('tr')
                                        tr.addClass('layui-hide')
                                    }
                                    // ç­›é€‰éœ€è¦å±•示下拉框的部分,并将模板挂载到树下
                                    if (item.ColmCols === '物料属性') {
                                        let selectMaterProperty = $("#materProperty").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="HMaterClsID"]'); // ç‰©æ–™å±žæ€§å¯¹åº”的下拉框
                                        if (item['value'] === '') {
                                            select.val('0');
                                        } else {
                                            select.val(item['value']);
                                        }
                                        form.render('select')
                                    }
                                    let eventReg = new RegExp(/计量单位|仓库名称|物料分类|基本单位代码/) // éœ€è¦ç»‘定F7事件
                                    if (eventReg.test(item.ColmCols) === true) {
                                        let val = item.ColmCols
                                        let eventName = eventBindCheck(val)
                                        if (eventName !== null) {
                                            let td = $('tr[data-index="' + index + '"] td[data-field="value"]')
                                            td.attr('lay-event', eventName)
                                        }
                                    }
                                });
                            }
                            tempIns = table.render(tempOption);
@@ -1109,7 +1140,7 @@
                    var checked = $(document.getElementsByClassName('layui-form-checked'))
                    // checked.addClass('row-locked')
                    var $checkbox = checked.find('input[type="checkbox"]')
                    $checkbox.addClass('layui-checkbox-disbaled layui-disabled').attr('disabled', true);
@@ -1155,43 +1186,57 @@
                        form.render()
                        return; // è§†ä¸ºé€€å‡º
                    }
                    let data = tempOption.data;
                    let dataMapped = data.map(item => {
                    let dataObj = {}
                    let data = tempOption.data.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 mapped = Object.assign(item,
                            {
                                HOnceRightRate: item['一次合格率标准值']
                                , HDivisionID: divisionJudgment(item['事业部'])
                                , HNumber: item['物料代码']
                                , HName: item['物料名称']
                                , HModel: item['规格型号']
                                , HMaterClsID: materClsJudgment(item['物料属性'])
                                , HRemark: item['备注']
                                , HQtyDec: item['数量精度']
                                , HPriceDec: item['单价精度']
                                , HMoneyDec: item['金额精度']
                                , HTaxRate: item['默认税率']
                                , HProfitRate: item['默认利润率']
                                , HTaxCost: item['含税成本价']
                                , HFootPrice: item['结算价']
                                , HWeight: item['克重']
                                , HColorRemark: item['染色要求']
                                , HWidth: item['幅宽']
                            }
                        )
                    let mapped = Object.assign(dataObj,
                        {
                            HOnceRightRate: dataObj['一次合格率标准值']
                            // , HDivisionID: divisionJudgment(dataObj['事业部'])
                            , HNumber: dataObj['物料代码']
                            , HName: dataObj['物料名称']
                            , HModel: dataObj['规格型号']
                            , HMaterClsID: dataObj['物料属性']
                            , HRemark: dataObj['备注']
                            , HQtyDec: dataObj['数量精度']
                            , HPriceDec: dataObj['单价精度']
                            , HMoneyDec: dataObj['金额精度']
                            , HTaxRate: dataObj['默认税率']
                            , HProfitRate: dataObj['默认利润率']
                            , HTaxCost: dataObj['含税成本价']
                            , HFootPrice: dataObj['结算价']
                            , HWeight: dataObj['克重']
                            , HColorRemark: dataObj['染色要求']
                            , HWidth: dataObj['幅宽']
                        }
                    )
                    let chineseReg = new RegExp(/^[\u4e00-\u9fa5\u3000-\u303f\uff00-\uffef]+$/)
                    $.each(mapped, (key, value) => {
                        if (value === '' || chineseReg.test(key)) {
                            delete mapped[key]
                        }
                    })
                        if (mapped.HNumber == 0) {
                            throw "请输入物料代码!";
                        }
                        if (mapped.HName == 0) {
                            throw "请输入物料名称!";
                        }
                        if (mapped.HWhID == 0) {
                            throw "请选择默认仓库!";
                        }
                        if (mapped.HUnitName == 0) {
                            throw "请选择主计量单位!";
                        }
                    if (mapped.HNumber == 0) {
                        throw "请输入物料代码!";
                    }
                    if (mapped.HName == 0) {
                        throw "请输入物料名称!";
                    }
                    if (mapped.HWhID == 0) {
                        throw "请选择默认仓库!";
                    }
                    if (mapped.HUnitName == 0) {
                        throw "请选择主计量单位!";
                    }
                    debugger;
                    if (mapped.HWeight !== undefined) {
                        let HWeight = mapped.HWeight.toString()
                        if (HWeight.substring(HWeight.length - 1, HWeight.length) == ".") {
                            throw "克重的结尾不能是.!"
@@ -1201,6 +1246,8 @@
                                throw "克重请输正确入数字!"
                            }
                        }
                    }
                    if (mapped.HWidth !== undefined) {
                        let HWidth = mapped.HWidth.toString()
                        if (HWidth.substring(HWidth.length - 1, HWidth.length) == ".") {
                            throw "幅宽的结尾不能是.!"
@@ -1210,37 +1257,32 @@
                                throw "幅宽请输正确入数字!"
                            }
                        }
                    }
                    let ref2 = /^[0-9]$/
                    if (mapped.HQtyDec !== undefined && !ref2.test(mapped.HQtyDec)) {
                        throw "数量精度,请输入0-9正确数字"
                    }
                    if (mapped.HQtyDec !== undefined && !ref2.test(mapped.HPriceDec)) {
                        throw "单价精度,请输入0-9正确数字"
                    }
                    if (mapped.HQtyDec !== undefined && !ref2.test(mapped.HMoneyDec)) {
                        throw "金额精度,请输入0-9正确数字"
                    }
                        let ref2 = /^[0-9]$/
                        if (!ref2.test(mapped.HQtyDec)) {
                            throw "数量精度,请输入0-9正确数字"
                        }
                        if (!ref2.test(mapped.HPriceDec)) {
                            throw "单价精度,请输入0-9正确数字"
                        }
                        if (!ref2.test(mapped.HMoneyDec)) {
                            throw "金额精度,请输入0-9正确数字"
                        }
                    debugger;
                        return mapped
                    })
                    let dataStr = JSON.stringify(dataMapped)
                    let dataStr = JSON.stringify(mapped)
                    $.ajax(
                        {
                            type: "POST",
                            url: GetWEBURL() + "/Gy_Material/SaveGy_MaterialList_Batch", //方法所在页面和方法名
                            url: GetWEBURL() + "/Gy_Material/SaveGy_MaterialList_Modify", //方法所在页面和方法名
                            async: true,
                            data: { "msg": dataStr + ';' + sessionStorage["HUserName"] + ';' + sessionStorage["OrganizationID"] },
                            data: { "msg": dataStr + ';' + sessionStorage["HUserName"] + ';' + sessionStorage["OrganizationID"] + ';'  + idStr },
                            dataType: "json",
                            success: function (data) {
                                if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                    layer.msg(data.Message, { icon: 1 });
                                    // get_WriteConfigFile();
                                    tempData = []
                                    table.reload('tempTable', { data: tempData })
                                    get_DisplayPage(sWhere);
                                }
                                else {
@@ -1252,9 +1294,10 @@
                            error: function (err) {
                                layer.alert("错误:" + err, { icon: 5 });
                                console.log("bobo" + sMainStr);
                                console.log("bobo" + dataStr);
                            }
                        });
                } catch (error) {
                    console.error(error)
                    layer.alert("错误" + error, { icon: 5 })
@@ -1704,10 +1747,10 @@
            //以上是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
@@ -1728,21 +1771,22 @@
                                    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].计量单位代码,
                                        // })
                                        tempData.forEach(item => {
                                            item['HUnitName'] = checkStatus.data[0].计量单位名称
                                            item['HUnitID'] = checkStatus.data[0].HItemID
                                            item['计量单位名称'] = checkStatus.data[0].计量单位名称
                                            item['计量单位代码'] = checkStatus.data[0].计量单位代码
                                        tempOption.data.forEach(item => {
                                            if (item.ColmCols === 'HUnitName') {
                                                item['value'] = checkStatus.data[0].计量单位名称
                                            }
                                            if (item.ColmCols === 'HUnitID') {
                                                item['value'] = checkStatus.data[0].HItemID
                                            }
                                            if (item.ColmCols === '计量单位名称') {
                                                item['value'] = checkStatus.data[0].计量单位名称
                                            }
                                            if (item.ColmCols === '计量单位代码') {
                                                item['value'] = checkStatus.data[0].计量单位代码
                                            }
                                        })
                                        table.reload('tempTable', {
                                            data: tempData
                                            data: tempOption.data
                                        })
                                    }
@@ -1771,23 +1815,28 @@
                                    if (checkStatus.data.length === 0) {
                                        return layer.msg('请选择数据');
                                    } else if (checkStatus.data.length === 1) {
                                        // objCurrent.update({
                                        //     HBASEUNITID: checkStatus.data[0].HItemID,
                                        //     '基本计量单位代码': checkStatus.data[0].计量单位代码,
                                        // })
                                        tempData.forEach(item => {
                                            item['HBASEUNITID'] = checkStatus.data[0].HItemID
                                            item['基本计量单位代码'] = checkStatus.data[0].计量单位代码
                                            // item['计量单位名称']= checkStatus.data[0].计量单位名称
                                            // item['计量单位代码']= checkStatus.data[0].计量单位代码
                                        debugger
                                        tempOption.data.forEach(item => {
                                            if (item.ColmCols === 'HBASEUNITID') {
                                                item['value'] = checkStatus.data[0].HItemID
                                            }
                                            if (item.ColmCols === '基本计量单位代码') {
                                                item['value'] = checkStatus.data[0].计量单位代码
                                            }
                                            if (item.ColmCols === '基本计量单位') {
                                                item['value'] = checkStatus.data[0].计量单位名称
                                            }
                                        })
                                        table.reload('tempTable', {
                                            data: tempData
                                            data: tempOption.data
                                        })
                                    }
                                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) { }
                            })
                        }
@@ -1811,20 +1860,21 @@
                                    if (checkStatus.data.length !== 1) {
                                        return layer.msg('请选择一条数据');
                                    }
                                    objCurrent.update({
                                        '仓库名称': checkStatus.data[0].仓库名称,
                                        HWhID: checkStatus.data[0].HItemID,
                                        '仓库代码': checkStatus.data[0].仓库代码
                                    tempOption.data.forEach(item => {
                                        if (item.ColmCols === '仓库名称') {
                                            item['value'] = checkStatus.data[0].仓库名称
                                        }
                                        if (item.ColmCols === 'HWhID') {
                                            item['value'] = checkStatus.data[0].HItemID
                                        }
                                        if (item.ColmCols === '仓库代码') {
                                            item['value'] = 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
                                        data: tempOption.data
                                    })
                                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
@@ -1852,27 +1902,30 @@
                                    if (checkStatus.data.length != 1) {
                                        return layer.msg('请选择一条数据');
                                    }
                                    objCurrent.update({
                                        '物料分类名称': checkStatus.data[0].物料分类名称,
                                        HMaterTypeID: checkStatus.data[0].HItemID,
                                        '物料分类代码': checkStatus.data[0].物料分类代码
                                    tempOption.data.forEach(item => {
                                        if (item.ColmCols === '物料分类名称') {
                                            item['value'] = checkStatus.data[0].物料分类名称
                                        }
                                        if (item.ColmCols === 'HMaterTypeID') {
                                            item['value'] = checkStatus.data[0].HItemID
                                        }
                                        if (item.ColmCols === '物料分类代码') {
                                            item['value'] = checkStatus.data[0].物料分类代码
                                        }
                                    })
                                    tempData.forEach(item => {
                                        item['物料分类名称'] = checkStatus.data[0].物料分类名称
                                        item['HMaterTypeID'] = checkStatus.data[0].HItemID
                                        item['物料分类代码'] = checkStatus.data[0].物料分类代码
                                        // item['计量单位代码']= checkStatus.data[0].计量单位代码
                                    })
                                    table.reload('tempTable', {
                                        data: tempData
                                        data: tempOption.data
                                    })
                                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) { }
                            })
                        }
                        obj.event = ''
                        return false;
                    }
                })
            }
@@ -1941,21 +1994,19 @@
            return true
        }
        function elementEventBindCheck(element) {
            const UnitReg = /计量|Unit/;
            const WHReg = /仓库|WH/;
            const MaterReg = /物料分类|MaterType/;
            if (element.type === 'checkbox') {
                return false
            }
            if (element.field.search(/基本计量单位代码|HBASEUNITID/) !== -1) {
        function eventBindCheck(colName) {
            const UnitReg = new RegExp(/计量|Unit/);
            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 (element.field.search(UnitReg) !== -1) {
            } else if (UnitReg.test(colName) === true) {
                return 'onHUnitNameKeyDownHandler';
            } else if (element.field.search(WHReg) !== -1) {
            } else if (WHReg.test(colName) === true) {
                return 'onWareHouseKeyDownHandler';
            } else if (element.field.search(MaterReg) !== -1) {
            } else if (MaterReg.test(colName) === true) {
                return 'onMaterialClassKeyDownHandler';
            } else {
                return null