1
yusijie
2024-11-22 079ba436e736e532d79c57b3fe13c17d361c1fd2
WebTM/views/ÁìÁÏ·¢»õ/ÏúÊÛ³ö¿â/Kf_SellOutBill.html
@@ -48,6 +48,7 @@
                            <button type="button" id="set_SaveBill" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Saver">保存</button>
                            <button type="button" id="set_CheckBill" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="set_CheckBill">审核</button>
                            <button type="button" id="btn-print" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="btn-print">打印</button>
                            <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="set_SelectMainBill">选整单</button>
                            <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Exit">退出</button>
                        </div>
                    </div>
@@ -674,6 +675,12 @@
            });
            //#endregion
            //#region é€‰æ•´å•
            form.on('submit(set_SelectMainBill)', function (data) {
                set_SelectMainBill();
            });
            //#endregion
            //#region æ‰“印按钮
            form.on('submit(btn-print)', function (data) {
                get_PrintReport();
@@ -833,6 +840,7 @@
                    var url;
                    //判断文本框是否有数据    new
                    if (HSourceBillNo == "") {
                        layer.close(ajaxLoad);
                        return;
                    }
                    if ($("#BillType").val() == "1401") {
@@ -1264,6 +1272,7 @@
            table.on('edit(mainTable)', function (obj) {
                //数值格式校验工具
                var ref = /^\d+(\.\d+)?$/;          //非负数正则表达式
                var ref1 = /^-?\d+(\.\d+)?$/;          //判断字符串是否为数字(包含整数、浮点数),正则表达式
                var temp = "";
                var Dec = getDecByMaterID(obj.data.HMaterID) //获取精度
                var HQtyDec = (Dec["HQtyDec"] == null || Dec["HQtyDec"] == 0) ? 4 : Dec["HQtyDec"];  //数量精度
@@ -1280,14 +1289,23 @@
                    case "HQty":                                                       //数量
                        //数据格式校验
                        temp = value + "";
                        if (!ref.test(temp)) {
                        if (!ref1.test(temp)) {
                            //恢复数据到编辑前
                            obj.update({
                                HQty: oldText
                            });
                            table.render(option);
                            layer.msg("数量请输入大于0的数字!");
                            layer.msg("数量请输入不为0的数字!");
                            return;
                        } else if (temp * 1 == 0) {
                            //恢复数据到编辑前
                            obj.update({
                                HQty: oldText
                            });
                            table.render(option);
                            layer.msg("数量请输入不为0的数字!");
                            return;
                        }
@@ -1984,6 +2002,314 @@
                })
            }
            //#endregion
            //#region é€‰æ•´å•
            function set_SelectMainBill() {
                var url;
                if ($("#BillType").val() == "1401") {
                    url = "../../销售管理/销售订单/Xs_SeOrderBillQuery.html?openType=2&HOrgID=" + HOrgID;
                } else if ($("#BillType").val() == "1402") {
                    url = "../../销售管理/发货通知单/Xs_SeOutStockBillQuery.html?openType=2&HOrgID=" + HOrgID;
                } else {
                    return layer.msg('当前不支持改源单选择!!');
                }
                //页面层-自定义
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim" //加上边框
                    , title: '' + '源单' + '列表'  //标题
                    , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                    , shift: 2 //弹出动画
                    , area: ["90%", "90%"] //窗体大小
                    , maxmin: true //设置最大最小按钮是否显示
                    , content: [url, "yes"]
                    , btn: ["确定", "取消"]
                    , btn1: function (index, laero) {
                        //按钮一  çš„回调
                        var iframeWindow = window["layui-layer-iframe" + index];//获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus("mainTable");//获取选中的数据
                        if (checkStatus.data.length == 0) {
                            return layer.msg("请至少选择一条数据!");
                        }
                        var HCusID = $("#HSupID").val();//判断客户
                        if (HCusID == 0 || HCusID == '') {
                            HCusID = checkStatus.data[0]["HCusID"];
                        }
                        //获取设置条件
                        var sMainWhere = " and hmainid in(";
                        for (var i = 0; i < checkStatus.data.length; i++) {
                            if (checkStatus.data[i]["HCusID"] != HCusID) {
                                layer.msg("下推失败!已经选中的记录中存在不同客户!");
                                layer.close(index);//关闭弹窗
                                return;
                            }
                            sMainWhere += checkStatus.data[i]["hmainid"]
                            if (i != checkStatus.data.length - 1) {
                                sMainWhere += ",";
                            } else {
                                sMainWhere += ") ";
                            }
                        }
                        getSeletMainInfo(sMainWhere);
                        layer.close(index);//关闭弹窗
                    }
                });
            }
            //#endregion
            //#region æ•´å•信息获取方法
            function getSeletMainInfo(sMainWhere) {
                var ajaxLoad = layer.load();
                if ($("#BillType").val() == "1401") {
                    $.ajax({
                        url: GetWEBURL() + '/Xs_SeOrderBill/list',
                        async: false,
                        type: "GET",
                        data: { "sWhere": sMainWhere, "user": sessionStorage["HUserName"] },
                        success: function (data1) {
                            if (data1.count == 1) {
                                var dataArray = data1.data;
                                form.val("component-form-group", { //formTest å³ class="layui-form" æ‰€åœ¨å…ƒç´ å±žæ€§ lay-filter="" å¯¹åº”的值
                                    "HDeptID": dataArray[0].HDeptID
                                    , "HDeptName": dataArray[0].部门
                                    , "HEmpID": dataArray[0].HEmpID
                                    , "HEmpName": dataArray[0].业务员
                                    , "HManagerID": dataArray[0].HManagerID
                                    , "HManagerName": dataArray[0].主管
                                    , "HMainSourceInterID": "0"
                                    , "HMainSourceEntryID": "0"
                                    /*, "HMainSourceBillNo": ""*/
                                    , "HMainSourceBillType": $("#BillType").val()
                                    , "HSupID": dataArray[0].HCusID
                                    , "HSupName": dataArray[0].客户
                                    , "HLinkMan": dataArray[0].联系人
                                    , "HLinkPhone": dataArray[0].联系电话
                                    , "HSellSID": dataArray[0].HSellSID
                                    , "HSellSName": dataArray[0].销售方式
                                    , "HCurID": dataArray[0].HCurID
                                    , "HCurName": dataArray[0].币别
                                    , "HExRate": dataArray[0].汇率
                                    , "HProjectID": dataArray[0].HProjectID
                                    , "HProjectNumber": dataArray[0].项目编码
                                    , "HProjectName": dataArray[0].项目名称
                                    , "HLinkMan": dataArray[0].联系人
                                    , "HLinkPhone": dataArray[0].联系人电话
                                });
                                //子表  èµ‹å€¼
                                var rowdata = [];
                                for (var i = 0; i < dataArray.length; i++) {
                                    var HQty = dataArray[i].数量 - dataArray[i].关联数量;                           //数量
                                    var HPrice = dataArray[i].单价;               //单价
                                    var HMoney = HQty * HPrice;                     //金额=数量*单价
                                    var HTaxRate = dataArray[i].税率 * 0.01;           //税率
                                    var HTaxMoney = Number((HMoney * HTaxRate));         //税额=金额*税率
                                    rowdata.push(
                                        {
                                            "HMaterID": dataArray[i].HMaterID
                                            , "物料代码": dataArray[i].物料代码
                                            , "物料名称": dataArray[i].物料名称
                                            , "规格型号": dataArray[i].规格型号
                                            , "HUnitID": dataArray[i].HUnitID
                                            , "计量单位": dataArray[i].计量单位
                                            , "HQtyMust": dealDoubleToFixed(dataArray[i].数量, 1)
                                            , "HQty": dealDoubleToFixed(HQty, 1)
                                            , "HPieceQty": "0"
                                            , "HPrice": dealDoubleToFixed(dataArray[i].单价, 3)
                                            , "HTaxPrice": dealDoubleToFixed(dataArray[i].HTaxPrice, 3)
                                            , "HTaxRate": dataArray[i].税率 == "" ? 0 : dataArray[i].税率
                                            , "HMoney": dealDoubleToFixed(HMoney, 2)
                                            , "HTaxMoney": dealDoubleToFixed(HTaxMoney, 2)
                                            , "HWHID": dataArray[i].HWhID
                                            , "发货仓库": dataArray[i].子仓库
                                            , "HRemark": ""
                                            , "HQty_Full": "0"
                                            , "HQty_Empty": "0"
                                            , "HQty_Back": "0"
                                            , "HCostPrice": "0"
                                            , "HCostMoney": "0"
                                            , "HSalePrice": "0"
                                            , "HSeOrderInterID": dataArray[i].hmainid
                                            , "HSeOrderEntryID": dataArray[i].hsubid
                                            , "HSeOrderBillNo": dataArray[i].单据号
                                            , "HSourceInterID": dataArray[i].hmainid
                                            , "HSourceEntryID": dataArray[i].hsubid
                                            , "HSourceBillNo": dataArray[i].单据号
                                            , "HSourceBillType": dataArray[i].HBillType
                                            , "HRelationQty": "0"
                                            , "HRelationMoney": "0"
                                            , 'HSPID': "0"
                                            , 'HSPName': ""
                                            , 'HSPGroupID': "0"
                                            , "HSPGroupName": ""
                                            , 'HSCWHID': "0"
                                            , 'HSCWHName': ""
                                            , 'HSCSPID': "0"
                                            , 'HSCSPName': ""
                                            , 'HBatchNo': ""
                                            , 'HPOOrderInterID': "0"
                                            , 'HPOOrderEntryID': "0"
                                            , 'HPOOrderBillNo': ""
                                            , 'HPropertyID': "0"
                                            , 'HPropertyName': ""
                                            , 'HSecUnitID': "0"
                                            , 'HSecUnitName': ""
                                            , 'HSecUnitRate': "0"
                                            , 'HEngineNum': ""
                                            , 'HUnderPanNum': ""
                                            , 'HLeaveFactCard': ""
                                        }
                                    );
                                }
                                option.data = rowdata;
                                table.render(option);
                                layer.close(ajaxLoad);
                                //layer.alert("查询成功", { icon: 1 });
                            } else {
                                layer.close(ajaxLoad);
                                layer.alert(data1.code + data1.Message, { icon: 5 });
                                return;
                            }
                        }, error: function () {
                            layer.close(ajaxLoad);
                            layer.alert("接口请求失败!", { icon: 5 });
                            return;
                        }
                    });
                } else if ($("#BillType").val() == "1402") {
                    $.ajax({
                        url: GetWEBURL() + '/Xs_SeOutStockBill/list',
                        type: "GET",
                        data: { "sWhere": sMainWhere, "user": sessionStorage["HUserName"] },
                        success: function (data1) {
                            if (data1.count == 1) {
                                dataArray = data1.data;
                                form.val("component-form-group", { //formTest å³ class="layui-form" æ‰€åœ¨å…ƒç´ å±žæ€§ lay-filter="" å¯¹åº”的值
                                    "HDeptID": dataArray[0].HDeptID
                                    , "HDeptName": dataArray[0].部门
                                    , "HEmpID": dataArray[0].HEmpID
                                    , "HEmpName": dataArray[0].业务员
                                    , "HManagerID": dataArray[0].HManagerID
                                    , "HManagerName": dataArray[0].主管
                                    , "HMainSourceInterID": "0"
                                    , "HMainSourceEntryID": "0"
                                    /* , "HMainSourceBillNo": ""*/
                                    , "HMainSourceBillType": $("#BillType").val()
                                    , "HSupID": dataArray[0].HCusID
                                    , "HSupName": dataArray[0].客户
                                    , "HLinkMan": dataArray[0].联系人
                                    , "HLinkPhone": dataArray[0].联系电话
                                    , "HSellSID": "0"
                                    , "HSellSName": dataArray[0].销售方式
                                    , "HCurID": dataArray[0].HCurID
                                    , "HCurName": dataArray[0].币别
                                    , "HExRate": dataArray[0].汇率
                                    , "HProjectID": dataArray[0].HProjectID
                                    , "HProjectNumber": dataArray[0].项目编码
                                    , "HProjectName": dataArray[0].项目名称
                                    , "HLinkMan": dataArray[0].联系人
                                    , "HLinkPhone": dataArray[0].联系人电话
                                });
                                //子表  èµ‹å€¼
                                var rowdata = [];
                                for (var i = 0; i < dataArray.length; i++) {
                                    var HQty = dataArray[i].数量 - dataArray[i].已关联数量;                           //数量
                                    var HPrice = dataArray[i].单价;               //单价
                                    var HMoney = HQty * HPrice;                     //金额=数量*单价
                                    rowdata.push(
                                        {
                                            "HMaterID": dataArray[i].HMaterID
                                            , "物料代码": dataArray[i].物料代码
                                            , "物料名称": dataArray[i].物料名称
                                            , "规格型号": dataArray[i].规格型号
                                            , "HUnitID": dataArray[i].HUnitID
                                            , "计量单位": dataArray[i].计量单位
                                            , "HQtyMust": dealDoubleToFixed(dataArray[i].数量, 1)
                                            , "HQty": dealDoubleToFixed(HQty, 1)
                                            , "HPieceQty": "0"
                                            , "HPrice": dealDoubleToFixed(dataArray[i].单价, 3)
                                            , "HTaxPrice": "0"
                                            , "HTaxRate": "0"
                                            , "HMoney": dealDoubleToFixed(HMoney, 2)
                                            , "HTaxMoney": "0"
                                            , "HWHID": dataArray[i].HWHID
                                            , "发货仓库": dataArray[i].发货仓库
                                            , "HRemark": ""
                                            , "HQty_Full": "0"
                                            , "HQty_Empty": "0"
                                            , "HQty_Back": "0"
                                            , "HCostPrice": "0"
                                            , "HCostMoney": "0"
                                            , "HSalePrice": "0"
                                            , "HSeOrderInterID": dataArray[i].hmainid
                                            , "HSeOrderEntryID": dataArray[i].hsubid
                                            , "HSeOrderBillNo": dataArray[i].单据号
                                            , "HSourceInterID": dataArray[i].hmainid
                                            , "HSourceEntryID": dataArray[i].hsubid
                                            , "HSourceBillNo": dataArray[i].单据号
                                            , "HSourceBillType": dataArray[i].HBillType
                                            , "HRelationQty": "0"
                                            , "HRelationMoney": "0"
                                            , 'HSPID': "0"
                                            , 'HSPName': ""
                                            , 'HSPGroupID': "0"
                                            , "HSPGroupName": ""
                                            , 'HSCWHID': "0"
                                            , 'HSCWHName': ""
                                            , 'HSCSPID': "0"
                                            , 'HSCSPName': ""
                                            , 'HBatchNo': ""
                                            , 'HPOOrderInterID': "0"
                                            , 'HPOOrderEntryID': "0"
                                            , 'HPOOrderBillNo': ""
                                            , 'HPropertyID': "0"
                                            , 'HPropertyName': ""
                                            , 'HSecUnitID': "0"
                                            , 'HSecUnitName': ""
                                            , 'HSecUnitRate': "0"
                                            , 'HEngineNum': ""
                                            , 'HUnderPanNum': ""
                                            , 'HLeaveFactCard': ""
                                        }
                                    );
                                }
                                option.data = rowdata;
                                table.render(option);
                                layer.close(ajaxLoad);
                            } else {
                                layer.close(ajaxLoad);
                                layer.alert(data1.code + data1.Message, { icon: 5 });
                                return;
                            }
                        }, error: function () {
                            layer.close(ajaxLoad);
                            layer.alert("接口请求失败!", { icon: 5 });
                            return;
                        }
                    });
                } else {
                    return layer.msg('当前不支持该源单选择!!');
                }
            }
            //#endregion
            //#endregion
            //#region å­è¡¨åˆå§‹åŒ–
@@ -2473,6 +2799,7 @@
            function AllowLoadData(data) {
                //数值格式校验工具
                var ref = /^\d+(\.\d+)?$/;          //非负数正则表达式
                var ref1 = /^-?\d+(\.\d+)?$/;          //判断字符串是否为数字(包含整数、浮点数),正则表达式
                var temp = "";
                //#region è¡¨å¤´æ•°æ®æ£€éªŒ
@@ -2540,13 +2867,14 @@
                    //实发数量格式校验
                    temp = option.data[i]["HQty"] + "";
                    if (temp == "0") {
                        layer.msg("第" + (i + 1) + "行:实发数量不能为0!");
                    if (!ref1.test(temp)) {
                        layer.msg("第" + (i + 1) + "行:实发数量请输入不为0的数字!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("第" + (i + 1) + "行:实发数量请输入大于0的数字!");
                    } else if (temp * 1 == 0) {
                        layer.msg("第" + (i + 1) + "行:实发数量请输入不为0的数字!");
                        return false;
                    }
                    //单价格式校验
                    temp = option.data[i]["HPrice"] + "";
@@ -2572,25 +2900,25 @@
                        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;
                    }
                    ////金额格式校验
                    //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;
                    //}
                    //价税合计格式校验
                    temp = option.data[i]["HTaxMoney"] + "";
                    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]["HTaxMoney"] + "";
                    //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") {