WebTM/views/Éú²ú¹ÜÀí/Éú²ú×°Ïäµ¥/QK_PackingBill.html
@@ -38,7 +38,7 @@
                                    </div>
                                </div>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnPack" id="btnPack" style="padding: 0 30px; margin-left: 150px">条码生成</button>
                                <!--<button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnAssembly" id="btnAssembly" style="padding:0 30px">拼装生成</button>-->
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnAssembly" id="btnAssembly" style="padding:0 30px">拼装生成</button>
                            </div>
                        </div>
                    </form>
@@ -112,21 +112,18 @@
                var flag = "ZZ";
                var sSubStr = table.checkStatus('mainTable');
                if (sSubStr.data.length > 0) {
                    SavePack(flag, sSubStr);
                    SavePack(flag,sSubStr);
                }
                else {
                    layer.msg('请最少选择1行数据!');
                    return;
                }
                SavePack(flag, sSubStr);
            });
            //拼箱生成
            form.on('submit(btnAssembly)', function (data) {
                var flag = "PZ";
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length > 1) {
                    var sSubStr = JSON.stringify(table.checkStatus('mainTable').data);
                var sSubStr = table.checkStatus('mainTable');
                if (sSubStr.data.length > 1) {
                    SavePack(flag,sSubStr);
                }
                else {
@@ -142,14 +139,27 @@
                    , field = obj.field; //得到字段
                switch (field) {
                    case "HSPlanQty":  //最小包装数
                        var HPlanQty = parseInt(isNaN(data.HPlanQty) ? 0 : data.HPlanQty);
                        if (HPlanQty<=0) {
                            layer.msg('数量为空,无可处理数量');
                            obj.update({
                                HSPlanQty: 0,
                                HMinQty: 0,                          //最小包装数
                                HTotalQty:0,      //生成包装数=数量/最小包装数
                                HSpsQty: 0,              //剩余数量=数量%最小包装数
                            });
                        }
                        break;
                    case "HMinQty":  //最小包装数
                        value = parseInt(isNaN(value) ? 0 : value);
                        var HSPlanQty = parseInt(isNaN(data.HSPlanQty) ? 0 : data.HSPlanQty);
                        var HPlanQty = parseInt(isNaN(data.HPlanQty) ? 0 : data.HPlanQty);
                        //同步更新表格和缓存对应的值
                        obj.update({
                            HMinQty: value,                          //最小包装数
                            HTotalQty: Math.floor(HPlanQty / value),     //生成包装数=数量/最小包装数
                            HSpsQty: HPlanQty % value               //剩余数量=数量%最小包装数
                            HTotalQty: Math.floor(HSPlanQty / value),     //生成包装数=数量/最小包装数
                            HSpsQty: HPlanQty-(HSPlanQty - HSPlanQty % value)               //剩余数量=数量%最小包装数
                        });
                        break;
                    default:
@@ -165,6 +175,7 @@
                    { type: 'checkbox', fixed: 'left' }
                    , { field: 'HSeOrderBillNo', title: '销售订单号', edit: 'text', width: 100, hide: true }
                    , { field: 'HInterID', title: 'HInterID', edit: 'text', width: 100, hide: true }
                    , { field: 'HEntryID', title: 'HEntryID', edit: 'text', width: 100, hide: true }
                    , { field: 'HBillNo', title: 'HBillNo', edit: 'text', width: 100, hide: true }
                    , { field: 'HMaterID', title: 'HMaterID', edit: 'text', width: 100, hide: true }
                    , { field: 'HMaterNumber', title: 'HMaterNumber', edit: 'text', width: 100, hide: true }
@@ -172,10 +183,12 @@
                    , { field: 'HUnitID', title: 'HUnitID', edit: 'text', width: 100, hide: true }
                    , { field: 'HUnitName', title: '计量单位', edit: 'false', width: 100 }
                    , { field: 'HPlanQty', title: '数量', edit: 'false', width: 100 }
                    , { field: 'HMinQty', title: '最小包装数', edit: 'text', event: 'HMinQty', width: 100 }
                    , { field: 'HTotalQty', title: '生成条数', edit: 'false', width: 100 }
                    , { field: 'HSpsQty', title: '剩余数量', edit: 'false', width: 100 }
                    , { field: 'HPlanQty', title: '数量', edit: 'false', totalRow: true, width: 100 }
                    , { field: 'HSPlanQty', title: '处理数量', edit: 'text', totalRow: true, event: 'HSPlanQty', width: 100 }
                    , { field: 'HMinQty', title: '最小包装数', edit: 'text', totalRow: true, event: 'HMinQty', width: 100 }
                    , { field: 'HTotalQty', title: '生成条数', edit: 'false', totalRow: true, width: 100 }
                    , { field: 'HSpsQty', title: '剩余数量', edit: 'false', totalRow: true, width: 100 }
                    , { field: 'HXH', title: '箱号', edit: 'false', width: 100 }
                    , { field: 'FBillNo', title: '销售订单号', edit: 'false', width: 100 }
                    , { field: 'FLXName', title: '联系人', edit: 'text',  width: 100 }
@@ -201,6 +214,7 @@
                    , elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , page: false
                    , totalRow: true
                    , cellMinWidth: 120
                    , height: 500
                    , cols: [columns]
@@ -208,11 +222,11 @@
                    , done: function (res, curr, count) {
                    }
                };
                option.data = [{ "HMaterID": 0, "HMaterName": "", "HUnitID": 0, "HUnitName": "", "HPlanQty": 0, "HMinQty": 0, "HTotalQty": 0, "HSpsQty": 0, "HCusID": 0, "HCusName": "", "HEmpID": 0, "HEmpName": "", "HDeptID": 0, "HDeptName": "","HPlanEndDate":"" }];
                option.data = [{ "HMaterID": 0, "HMaterName": "", "HUnitID": 0, "HUnitName": "", "HPlanQty": 0, "HSPlanQty": 0, "HMinQty": 0, "HTotalQty": 0, "HSpsQty": 0, "HCusID": 0, "HCusName": "", "HEmpID": 0, "HEmpName": "", "HDeptID": 0, "HDeptName": "","HPlanEndDate":"" }];
                table.render(option);
            }
            //生成
            function SavePack(flag, sSubStr) {
            function SavePack(flag,sSubStr) {
                if (!AllowLoadData(sSubStr))//数据验证
                {
                    return false;
@@ -222,7 +236,7 @@
                        type: "POST",
                        url: GetWEBURL() + "/Sc_ICMOBill/QK_PackingBillSavePack", //方法所在页面和方法名
                        async: true,
                        data: { "msg": JSON.stringify(sSubStr.data) + ";" + sessionStorage["HUserName"] + ";" + flag + ";" + sessionStorage["OrganizationID"]},
                        data: { "msg": JSON.stringify(sSubStr.data) + ";" + sessionStorage["HUserName"] + ";" + sessionStorage["OrganizationID"] + ";" + flag + ";" + $('#HBillNo').val()},
                        dataType: "json",
                        success: function (data) {
                            if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
@@ -236,16 +250,8 @@
                                else {
                                    OpenTmp = "包装方式条码";
                                }
                                window.open("../基础资料/公用基础资料/HBarPlanPrint.html?linterid=" + PrintIds.toString() + "&Type=" + Type.toString() + "&OpenTmp=" + OpenTmp.toString());
                                var url = "";
                                switch (Type) {
                                    case "HGy_BarCodeBill":  //HBarCodePrint
                                        url = "/Sc_BarCode/UpdateBarcodePrintQty"
                                        break;
                                    case "HPOInStockBill":
                                        url = "UpdatePOInStockBillPrintQty"
                                        break;
                                }
                                window.open("../../基础资料/公用基础资料/HBarPlanPrint.html?linterid=" + PrintIds.toString() + "&Type=" + Type.toString() + "&OpenTmp=" + OpenTmp.toString());
                            }
                            else {
                                f_alert(data.Message);
@@ -269,6 +275,10 @@
                            layer.msg("明细记录第" + (i + 1) + "行,最小包装数不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                            return Result = false;
                        }
                        if (sSubStr.data[i].HXH == "") {
                            layer.msg("明细记录第" + (i + 1) + "行,箱号不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                            return Result = false;
                        }
                    }
                }
                else {