1
zrg
2024-06-24 d33f1177a2057180d9db3e75894e86bc4fff67c0
WebTM/views/ÑéÊÕÈë¿â/Í⹺Èë¿â/Add_Edit_Kf_POStockInBillList.html
@@ -323,6 +323,8 @@
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-AddLine"><i class="layui-icon layui-icon-form"></i>增加一行</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine"><i class="layui-icon layui-icon-form"></i>复制一行</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Inventory" id="get_Inventory"><i class="layui-icon layui-icon-form"></i>库存查询</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="get_InOutSum" id="get_InOutSum"><i class="layui-icon layui-icon-form"></i>出入库记录查询</button>
                        </div>
                    </script>
                    <script type="text/html" id="xuhao">
@@ -463,6 +465,12 @@
                    "HTaxRate": 0, "HTaxPrice": 0, "HlineTotal": 0
                };
                switch (obj.event) {
                    //库存查询
                    case 'get_Inventory': get_Inventory();
                        break;
                    //出入库记录查询
                    case 'get_InOutSum': get_InOutSum();
                        break;
                    case 'btn-AddLine':
                        table.cache["mainTable"].push(NewRow);
                        option.data = table.cache["mainTable"];
@@ -569,6 +577,55 @@
            //#endregion
            //#region åº“存查询
            function get_Inventory() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var HMaterID = data[0].HMaterID.toString();
                    //弹窗方法
                    layer.open({
                        type: 2//弹窗类型
                        , skin: 'layui-layer-rim' //加上边框
                        , area: ['90%', '90%']//大小
                        , title: '库存查询列表'//标题
                        , shift: 2//弹出动画
                        , content: ['../../仓存管理/条码报表/Kf_ICinventoryQueryReport.html?Type=1&HMaterID=' + HMaterID, 'yes']
                        , btn: ['取消']
                        , btn1: function (index, layero) {
                            layer.close(index);
                        }
                    })
                }
                else {
                    layer.msg('请选择一行数据查询!');
                }
            }
            //#endregion
            //#region å‡ºå…¥åº“记录查询
            function get_InOutSum() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var HMaterID = data[0].HMaterID.toString();
                    layer.open({
                        type: 2//弹窗类型
                        , skin: 'layui-layer-rim' //加上边框
                        , area: ['90%', '90%']//大小
                        , title: '出入库记录列表'//标题
                        , shift: 2//弹出动画
                        , content: ['../../仓存管理/条码报表/Kf_StockInOutSumQueryReport.html?Type=1&HMaterID=' + HMaterID, 'yes']
                        , btn: ['取消']
                        , btn1: function (index, layero) {
                            layer.close(index);
                        }
                    })
                }
                else {
                    layer.msg('请选择一行数据查询!');
                }
            }
            //#endregion
            //#region ç›‘听单元格编辑  å•元格编辑后 å˜æ›´
            table.on('edit(mainTable)', function (obj) {
@@ -880,7 +937,7 @@
                                , "HSupName": data.供应商
                                , "HEmpID": data.HEmpID
                                , "HEmpName": data.业务员
                                , "HWHID": data.HWHID
                                , "HWHID": data.主表仓库ID
                                , "HWHName": data.主表仓库
                                , "HSecManagerID": data.HSecManagerID
                                , "HSecManagerName": data.验收员
@@ -1744,6 +1801,8 @@
                            }
                            })
                        }
                        obj.event = "";
                        return false;
                    }
                })
            }
@@ -1839,10 +1898,9 @@
                            for (var i = 0; i < checkStatus.data.length; i++) {
                                option.data.push({
                                    "HMaterID": checkStatus.data[j].HMaterID, "物料代码": checkStatus.data[j].物料代码, "物料名称": checkStatus.data[j].物料名称, "规格型号": checkStatus.data[j].规格型号,
                                    "HUnitID": checkStatus.data[j].HUnitID, "计量单位": checkStatus.data[j].计量单位,"HWHID": checkStatus.data[j].HWHID, "收料仓库": checkStatus.data[j].收料仓库,
                                    "HSPID": checkStatus.data[j].HSPID, "仓位名称": checkStatus.data[j].仓位名称,
                                    "HQty": checkStatus.data[j].数量-checkStatus.data[j].关联数量, "HPrice": checkStatus.data[j].单价,
                                    "HMoney": checkStatus.data[j].金额,
                                    "HUnitID": checkStatus.data[j].HUnitID, "计量单位": checkStatus.data[j].计量单位, "HWHID": checkStatus.data[j].HWHIDSub, "收料仓库": checkStatus.data[j].仓库名称,
                                    "HSPID": checkStatus.data[j].HSPID, "仓位名称": checkStatus.data[j].仓位名称, "HQtyMust": checkStatus.data[j].数量,
                                    "HQty": checkStatus.data[j].数量-checkStatus.data[j].关联数量, "HPrice": checkStatus.data[j].单价,"HMoney": checkStatus.data[j].金额,
                                    "HSourceBillNo": checkStatus.data[j].单据号, "HSourceBillType": checkStatus.data[j].HBillType, "HSourceInterID": checkStatus.data[j].hmainid, "HSourceEntryID": checkStatus.data[j].hsubid,
                                    "HTaxRate": checkStatus.data[j].税率, "HTaxPrice": checkStatus.data[j].含税单价, "HlineTotal": checkStatus.data[j].价税合计
                                })
@@ -2028,6 +2086,10 @@
            //#region ä¿å­˜æ–¹æ³•校验
            function AllowLoadData(data) {
                var ref = /^\d+(\.\d+)?$/;          //非负数正则表达式
                var temp = "";
                if ($("#HWHID").val() == 0) {
                    layer.msg("请选择仓库!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return;
@@ -2064,6 +2126,76 @@
                    layer.msg("请选择结算方式!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return;
                }
                //#region å­è¡¨ æ•°æ®æ£€éªŒ
                for (var i = 0; i < option.data.length; i++) {
                    if (typeof option.data[i] !== 'object' || option.data[i] === null || Array.isArray(option.data[i])) {
                        continue; // è·³è¿‡éžå¯¹è±¡é¡¹ï¼ˆå¦‚空数组)
                    }
                    if (option.data[i]["HMaterID"] == "0") {
                        layer.msg("第" + (i + 1) + "行:物料未选择!");
                        return false;
                    }
                    if (option.data[i]["HUnitID"] == "0") {
                        layer.msg("第" + (i + 1) + "行:计量单位未选择!");
                        return false;
                    }
                    //实发数量格式校验
                    temp = option.data[i]["HQty"] + "";
                    if (temp == "0") {
                        layer.msg("第" + (i + 1) + "行:数量不能为0!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("第" + (i + 1) + "行:数量请输入大于0的数字!");
                        return false;
                    }
                    //单价格式校验
                    temp = option.data[i]["HPrice"] + "";
                    if (temp == "0") {
                        layer.msg("第" + (i + 1) + "行:单价不能为0!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("第" + (i + 1) + "行:单价请输入大于0的数字!");
                        return false;
                    }
                    //含税单价格式校验
                    temp = option.data[i]["HTaxPrice"] + "";
                    if (temp == "0") {
                        layer.msg("第" + (i + 1) + "行:含税单价不能为0!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("第" + (i + 1) + "行:含税单价请输入大于0的数字!");
                        return false;
                    }
                    //税率格式校验
                    temp = option.data[i]["HTaxRate"] + "";
                    if (!ref.test(temp)) {
                        layer.msg("第" + (i + 1) + "行:税率请输入不小于0的数字!");
                        return false;
                    }
                    //金额格式校验
                    temp = option.data[i]["HMoney"] + "";
                    if (temp == "0") {
                        layer.msg("第" + (i + 1) + "行:金额不能为0!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("第" + (i + 1) + "行:金额请输入大于0的数字!");
                        return false;
                    }
                    //收料仓库非空验证
                    if (option.data[i]["HWHID"] == "0") {
                        layer.msg("第" + (i + 1) + "行:收料仓库未选择!");
                        return false;
                    }
                }
                //#endregion
                return true;
            }