智云SRM-LAYUI(夏宝服务器版本)
王 垚
2022-07-25 5cabf7aed3e4578fa717760c92f0c22bcfb0dd4a
WebSRM/layuiAdmin.std-v1.2.1/src/views/SRM/SRM_BarCodeBill.html
@@ -207,8 +207,8 @@
        //原生成条码方法(送货单默认)
        var mainUrl = "GetHBarCodeShowBillMain"; //表头数据加载ajax
        var subUrl = "GetHBarCodeShowBillSub";//表体数据加载ajax h_v_SRM_POInStockBillSub_ForWeb2
        var saveBarCode = "GetBarcodeSaveBillBox";//条码生成保存方法ajax
        var openTmpListType = "SRM_POInStockBillList"; //条码打印按钮 弹出界面
        var saveBarCode = "GetBarcodeSaveBillOnlyInnerBox";//条码生成保存方法ajax
        var openTmpListType = "HBarCodePrint"; //条码打印按钮 弹出界面
        //采购订单条码生成规则
        if (type == 'SRM_POOrderBillList') {
            mainUrl = 'GetHBarCodeShowBillMainBycg';
@@ -423,6 +423,7 @@
                                layer.msg(data.Message, { icon: 1 });
                                element.tabDelete('tabDemo', '2'); //删除
                                element.tabDelete('tabDemo', '3'); //删除
                                /*
                                element.tabAdd('tabDemo', {
                                    title: '外箱条码'
                                    , content: '<table class="layui-hide" id="subTable" lay-filter="subTable"></table>' //支持传入(html代码)不持支直接传入html页面
@@ -459,6 +460,7 @@
                                        layer.closeAll("loading");
                                    }
                                });
            */
                                element.tabAdd('tabDemo', {
                                    title: '内箱条码'
                                    , content: '<table class="layui-hide" id="subTable2" lay-filter="subTable2"></table>' //支持传入(html代码)不持支直接传入html页面
@@ -515,6 +517,10 @@
                    , data2 = layui.table.cache["subTable2"];
                var rows = '';
                var rows2 = '';
                if (data1 == undefined || data2 == undefined) {
                    layer.msg("请先生成内外箱条码!")
                    return;
                }
                for (var i = 0; i < data1.length; i++) {
                    rows += data1[i].HItemID.toString() + ',';
                    rows2 += data1[i].HBarCode.toString() + ',';
@@ -527,6 +533,7 @@
                rows2 = rows2.substring(rows2.length - 1, 0);
                if (rows == "") {
                    layer.msg("至少选择一行记录!")
                    return;
                }
                else {
                    layer.open({
@@ -569,18 +576,19 @@
                , where: { sMsg: linterid, sMsg2: lentryid }
                , cols: [[
                    , { field: 'HMaterID', title: '物料ID', width: 100, hide: true }
                    , { field: 'HMaterShortNumber', title: '物料编码', width: 120 }
                    , { field: 'HMaterNumber', title: '物料代码', width: 120 }
                    , { field: 'HMaterNumber', title: '物料编码', width: 120 }
                    , { field: 'HMaterShortNumber', title: '物料代码', width: 120 }
                    , { field: 'HMaterName', title: '物料名称', width: 120 }
                    , { field: 'HMaterModel', title: '规格型号', width: 120 }
                    , { field: 'HUnitName', title: '计量单位', width: 100 }
                    , { field: 'HUnitNumber', title: '计量单位代码', width: 100, hide: true }
                    , { field: 'HUnitID', title: '计量单位ID', width: 100, hide: true }
                    , { field: 'HQty', title: '数量', width: 100 }
                    , { field: 'FMinPackCount', title: '最小包装数', width: 100 }
                    , { field: 'HMinQty', title: '内箱包装数', width: 100, edit: 'text' }
                    , { field: 'HBQty', title: '内箱数', width: 100 }
                    , { field: 'HWXQty', title: '外箱包装数', width: 100, edit: 'text' }
                    , { field: 'HWBQty', title: '外箱数', width: 100}
                    , { field: 'HWXQty', title: '外箱包装数', width: 100,hide: true }
                    , { field: 'HWBQty', title: '外箱数', width: 100,hide: true }
                    , { field: 'HPrice', title: '单价', width: 100, hide: true }
                    , { field: 'HMoney', title: '金额', width: 100, hide: true }
                    , { field: 'HMTONO', title: '计划跟踪单号', width: 100 }
@@ -786,21 +794,11 @@
                    });
                }
            });
            //table.on('tool(mainTable)', function (d) {
            //    switch (d.event) {
            //        case "inputHKFPeriod":
            //            $(d.tr).find(".layui-table-edit").keyup(function () {
            //                var $input = $(this), val = $input.val();
            //                if (!val) val = "1";
            //                $input.val(val.replace(/[^\d]/g, ''));
            //            });
            //            break;
            //    }
            //});
            table.on('edit(mainTable)', function (obj) { //注:edit是固定事件名,test是table原始容器的属性 lay-filter="对应的值"
                var value = obj.value //得到修改后的值
                    , data = obj.data //得到所在行所有键值
                    , field = obj.field; //得到字段
                var HMinQty = 0;
                var HWXQty = 0;
                var HKFPeriod = 0;
@@ -821,41 +819,45 @@
                if (obj.data.HBQty != undefined) {
                    HBQty = parseFloat(obj.data.HBQty);
                }
                //HMinQty 内箱包装数
                //HBQty 内箱数
                //HWXQty 外箱包装数
                //HWBQty 外箱数 HWBQty
                switch (field) {
                    case "HMinQty":
                    case "HQty":
                        obj.update({
                            HMinQty: 0,
                            HBQty: 0,
                            HWXQty: 0,
                            HWBQty: 0,
                        });
                        break;
                    case "HMinQty": //内箱包装数
                        if (HMinQty < 0) {
                            f_alert("内箱包装数不能为负数!");
                        }
                        else if (HWBQty > HBQty) {
                            f_alert("外箱数量不能超出内箱数量")
                        else if (HWXQty > 0 && HMinQty > HWXQty) {
                            f_alert("内箱包装数量不能超出外箱包装数量")
                            obj.update({
                                HBQty: Math.ceil(parseFloat(obj.data.HQty) / parseFloat(obj.value)),
                                HWXQty: 0,
                                HWBQty: 0,
                            });
                            return;
                        }
                        else (HWXQty >= 0)
                        else (HWXQty > 0)//外箱包装数大于0时候
                        {
                            obj.update({
                                //外箱包装总数 =  内箱数量/外箱数量 * 内箱包装数量
                                HBQty: Math.ceil(parseFloat(obj.data.HQty) / parseFloat(obj.value)),
                                HWXQty: Math.ceil(parseFloat(obj.data.HBQty) / parseFloat(obj.data.HWBQty)) * parseFloat(obj.data.HMinQty),
                            });
                            if (parseFloat(obj.data.HWBQty) > 0)
                                obj.update({
                                    HWXQty: Math.ceil(parseFloat(obj.data.HBQty) / parseFloat(obj.data.HWBQty)) * parseFloat(obj.data.HMinQty),
                                });
                        }
                        break;
                    //case "HWBQty": //外箱个数发生变化
                    //    if (HWBQty < 0) {
                    //        f_alert("外箱数量不能为负数")
                    //        return;
                    //    }
                    //    else if (HWBQty > HBQty) {
                    //        f_alert("外箱数量不能超出内箱数量")
                    //        return;
                    //    }
                    //    else {
                    //        obj.update({
                    //            //外箱包装总数 =  内箱数量/外箱数量 * 内箱包装数量
                    //            HWXQty: Math.ceil(parseFloat(obj.data.HBQty) / parseFloat(obj.data.HWBQty)) * parseFloat(obj.data.HMinQty),
                    //            //HWXQty: 12
                    //        });
                    //    }
                    //    break;
                    case "HWXQty":
                        if (HWXQty > 0) {
                            if (HMinQty >= 0) {