1
cwjbxqmz
2024-01-19 66d642c0a05bccb3444cca49840480a166715f24
WebTM/views/ÁìÁÏ·¢»õ/ÏúÊÛ³ö¿â/Kf_SellOutBill.html
@@ -526,7 +526,7 @@
            //#region ä¿å­˜æŒ‰é’®
            form.on('submit(Saver)', function (data) {
                if (OperationType == 4) {
                if (OperationType == 1 || OperationType == 4) {
                    //#region åˆ¤æ–­æºå•状态
                    for (var i = 0; i < option.data.length; i++) {
                        var HSourceBillData = "";
@@ -547,9 +547,9 @@
                }
                //if (AllowLoadData(data)) {
                set_SaveBill(data);
                //}
                if (AllowLoadData(data)) {
                    set_SaveBill(data);
                }
            });
            //#endregion
            //#endregion
@@ -979,7 +979,7 @@
                $("#HInterID").val("0");
                $("#HBillNo").val("");
                $.ajax({
                    url: GetWEBURL() + "/Web/GetMAXNum",
                    url: GetWEBURL() + "/WEBSController/GetMaxBillNoAndID_Json",
                    type: "GET",
                    data: { "HBillType": '1205' },
                    success: function (d) {
@@ -1222,8 +1222,10 @@
                        //根据表头 å‡ºåº“仓库 å¸¦å‡ºå­è¡¨ å‘货仓库
                        for (var i = 0; i < option.data.length; i++) {
                            option.data[i].HWHID = checkStatus.data[0].HItemID;
                            option.data[i].发货仓库 = checkStatus.data[0].HName;
                            if (option.data[i].HWHID + "" == "0") {
                                option.data[i].HWHID = checkStatus.data[0].HItemID;
                                option.data[i].发货仓库 = checkStatus.data[0].HName;
                            }
                        }
                        table.render(option);
@@ -1301,9 +1303,10 @@
            //#region é€‰æ‹©æºå•
            function get_checkMainSource() {
                var HOrgID = $("#HOrgID").val();
                var url = "";
                if ($("#BillType").val() == "1401") {
                    url = "../../销售管理/销售订单/Xs_SeOrderBillList.html";
                    url = "../../销售管理/销售订单/Xs_SeOrderBillList.html?openType=2&HOrgID=" + HOrgID;
                } else {
                    return layer.msg('当前不支持改源单选择!!');
                }
@@ -1324,8 +1327,7 @@
                        }
                        if ($("#BillType").val() == "1401") {
                            setInitBySeOrderBill(checkStatus.data[0].hmainid);
                            getCustomerBalance($("#HSupID").val());
                            setInitBySeOrderBill(checkStatus);
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
@@ -1820,18 +1822,23 @@
                    return false;
                }
                if ($("#HDeptID").val() == "0") {
                    layer.msg("部门未选择!");
                    return false;
                }
                //if ($("#HDeptID").val() == "0") {
                //    layer.msg("部门未选择!");
                //    return false;
                //}
                //if ($("#HEmpID").val() == "0") {
                //    layer.msg("销售员未选择!");
                //    return false;
                //}
                //if ($("#HMangerID").val() == "0") {
                //    layer.msg("销售主管未选择!");
                //    return false;
                //}
                if ($("#HCusID").val() == "0") {
                    layer.msg("客户未选择!");
                    return false;
                }
                if ($("#HEmpID").val() == "0") {
                    layer.msg("业务员未选择!");
                    return false;
                }
@@ -1840,181 +1847,88 @@
                    return false;
                }
                if ($("#HMangerID").val() == "0") {
                    layer.msg("主管未选择!");
                    return false;
                }
                if ($("#HSSID").val() == "0") {
                    layer.msg("结算方式未选择!");
                    return false;
                }
                if ($("#HPayCusID").val() == "0") {
                    layer.msg("结算方未选择!");
                    return false;
                }
                if ($("#HDate").val() == "") {
                    layer.msg("日期未设置!");
                    return false;
                }
                if ($("#HSSDate").val() == "") {
                    layer.msg("结算日期未设置!");
                    return false;
                }
                temp = $("HExRate").val() + "";
                temp = $("#HExRate").val() + "";
                if (temp == 0) {
                    layer.msg("汇率不能为0!");
                    return false;
                } else if (!ref.test(temp)) {
                    layer.msg("汇率请输入大于0的数字!");
                    return false;
                }
                }
                //#endregion
                //#region å­è¡¨ æ•°æ®æ£€éªŒ
                for (var i = 0; i < option.data.length; i++) {
                    if (option.data[i]["HMaterID"] == "0") {
                        layer.msg("第" + i + "行:物料未选择!");
                        layer.msg("第" + (i+1) + "行:物料未选择!");
                        return false;
                    }
                    if (option.data[i]["HUnitID"] == "0") {
                        layer.msg("第" + i + "行:计量单位未选择!");
                        layer.msg("第" + (i + 1) + "行:计量单位未选择!");
                        return false;
                    }
                    if (option.data[i]["HDate"] == "") {
                        layer.msg("第" + i + "行:交货日期不能为空!");
                        return false;
                    }
                    //数量格式校验
                    //实发数量格式校验
                    temp = option.data[i]["HQty"] + "";
                    if (temp == "0") {
                        layer.msg("第" + i + "行:数量不能为0!");
                        layer.msg("第" + (i + 1) + "行:实发数量不能为0!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("第" + i + "行:数量请输入大于0的数字!");
                        layer.msg("第" + (i + 1) + "行:实发数量请输入大于0的数字!");
                        return false;
                    }
                    //不含税单价格式校验
                    //单价格式校验
                    temp = option.data[i]["HPrice"] + "";
                    if (temp == "0") {
                        layer.msg("第" + i + "行:不含税单价不能为0!");
                        layer.msg("第" + (i + 1) + "行:单价不能为0!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("第" + i + "行:不含税单价请输入大于0的数字!");
                        layer.msg("第" + (i + 1) + "行:单价请输入大于0的数字!");
                        return false;
                    }
                    //含税单价格式校验
                    temp = option.data[i]["HTaxPrice"] + "";
                    if (temp == "0") {
                        layer.msg("第" + i + "行:含税单价不能为0!");
                        layer.msg("第" + (i + 1) + "行:含税单价不能为0!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("第" + i + "行:含税单价请输入大于0的数字!");
                        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 + "行:金额不能为0!");
                        layer.msg("第" + (i + 1) + "行:金额不能为0!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("第" + i + "行:金额请输入大于0的数字!");
                        return false;
                    }
                    //折扣率格式校验
                    temp = option.data[i]["HDiscountRate"] + "";
                    if (temp == "0") {
                        layer.msg("第" + i + "行:折扣率不能为0!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("第" + i + "行:折扣率请输入大于0的数字!");
                        return false;
                    }
                    //实际含税单价格式校验
                    temp = option.data[i]["HRelTaxPrice"] + "";
                    if (temp == "0") {
                        layer.msg("第" + i + "行:实际含税单价不能为0!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("第" + i + "行:实际含税单价请输入大于0的数字!");
                        return false;
                    }
                    //税率格式校验
                    temp = option.data[i]["HTaxRate"] + "";
                    if (temp == "0") {
                        layer.msg("第" + i + "行:税率不能为0!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("第" + i + "行:税率请输入大于0的数字!");
                        return false;
                    }
                    //税额格式校验
                    temp = option.data[i]["HTaxMoney"] + "";
                    if (temp == "0") {
                        layer.msg("第" + i + "行:税额不能为0!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("第" + i + "行:税额请输入大于0的数字!");
                        layer.msg("第" + (i + 1) + "行:金额请输入大于0的数字!");
                        return false;
                    }
                    //价税合计格式校验
                    temp = option.data[i]["HlineTotal"] + "";
                    temp = option.data[i]["HTaxMoney"] + "";
                    if (temp == "0") {
                        layer.msg("第" + i + "行:价税合计不能为0!");
                        layer.msg("第" + (i + 1) + "行:价税合计不能为0!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("第" + i + "行:价税合计请输入大于0的数字!");
                        layer.msg("第" + (i + 1) + "行:价税合计请输入大于0的数字!");
                        return false;
                    }
                    //本位币价税合计格式校验
                    temp = option.data[i]["HlineTotalBB"] + "";
                    if (temp == "0") {
                        layer.msg("第" + i + "行:本位币价税合计不能为0!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("第" + i + "行:本位币价税合计请输入大于0的数字!");
                        return false;
                    }
                    //出库数量格式校验
                    temp = option.data[i]["HOutStockQty"] + "";
                    if (!ref.test(temp)) {
                        layer.msg("第" + i + "行:出库数量请输入大于0的数字!");
                        return false;
                    }
                    //开票数量格式校验
                    temp = option.data[i]["HInvoiceQty"] + "";
                    if (!ref.test(temp)) {
                        layer.msg("第" + i + "行:开票数量请输入大于0的数字!");
                        return false;
                    }
                }
                //#endregion
                //#region å­è¡¨ å…³é”®å­—重复校验
                var num = [];
                for (var i = 0; i < option.data.length; i++) {
                    if ($.inArray(option.data[i]["HMaterID"], num) == -1) {
                        num.push(option.data[i]["HMaterID"]);
                    } else {
                        layer.msg("第" + (i + 1) + "行,物料:" + option.data[i]["HMaterID"] + "重复!");
                    //发货仓库非空验证
                    if (option.data[i]["HWHID"] == "0") {
                        layer.msg("第" + (i + 1) + "行:发货仓库未选择!");
                        return false;
                    }
                }
@@ -2418,116 +2332,123 @@
            //#endregion
            //#region é€‰æ‹©æºå•-销售订单
            function setInitBySeOrderBill(HMainSourceInterID) {
                //查询销售是否存在并初始化页面
                $.ajax({
                    url: GetWEBURL() + "/Xs_SeOrderBill/loadXs_SeOrderBill_Edit",
                    async: false,
                    type: "GET",
                    data: {
                        "HInterID": HMainSourceInterID
                    },
                    success: function (result) {
                        if (result.code == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            var data = result.data[0];
            function setInitBySeOrderBill(checkStatus) {
                var dataArray = [];
                            form.val("component-form-group", { //formTest å³ class="layui-form" æ‰€åœ¨å…ƒç´ å±žæ€§ lay-filter="" å¯¹åº”的值
                                "HDeptID": data.HDeptID
                                , "HDeptName": data.部门
                                , "HEmpID": data.HEmpID
                                , "HEmpName": data.业务员
                                , "HManagerID": data.HManagerID
                                , "HManagerName": data.主管
                                , "HMainSourceInterID": HMainSourceInterID
                                , "HMainSourceEntryID": "0"
                                , "HMainSourceBillNo": data.单据号
                                , "HMainSourceBillType": $("#BillType").val()
                                , "HSupID": data.HCusID
                                , "HSupName": data.客户
                                , "HLinkMan": data.联系人
                                , "HLinkPhone": data.联系电话
                                , "HSellSID": data.HSellSID
                                , "HSellSName": data.销售方式
                                , "HCurID": data.HCurID
                                , "HCurName": data.币别
                                , "HExRate": data.汇率
                            });
                var HCusName = getPushSourceBillInit(checkStatus.data[0].hmainid, checkStatus.data[0].hsubid).客户;
                var HEmpName = getPushSourceBillInit(checkStatus.data[0].hmainid, checkStatus.data[0].hsubid).业务员;
                            //子表  èµ‹å€¼
                            var rowdata = [];
                            for (var i = 0; i < result.data.length; i++) {
                                rowdata.push(
                                    {
                                        "HMaterID": result.data[i].HMaterID
                                        , "物料代码": result.data[i].物料代码
                                        , "物料名称": result.data[i].物料名称
                                        , "规格型号": result.data[i].规格型号
                                        , "HUnitID": result.data[i].HUnitID
                                        , "计量单位": result.data[i].计量单位
                                        , "HQtyMust": dealDoubleToFixed(result.data[i].数量, 1)
                                        , "HQty": dealDoubleToFixed(result.data[i].数量, 1)
                                        , "HPrice": dealDoubleToFixed(result.data[i].单价, 3)
                                        , "HTaxPrice": dealDoubleToFixed(result.data[i].含税单价, 3)
                                        , "HTaxRate": result.data[i].税率
                                        , "HMoney": dealDoubleToFixed(result.data[i].金额, 2)
                                        , "HTaxMoney": dealDoubleToFixed(result.data[i].价税合计, 2)
                                        , "HWHID": $("#HWHID").val()
                                        , "发货仓库": $("#HWHName").val()
                                        , "HRemark": ""
                                        , "HQty_Full": "0"
                                        , "HQty_Empty": "0"
                                        , "HQty_Back": "0"
                                        , "HCostPrice": "0"
                                        , "HCostMoney": "0"
                                        , "HSalePrice": "0"
                                        , "HSeOrderInterID": result.data[i].hmainid
                                        , "HSeOrderEntryID": result.data[i].hsubid
                                        , "HSeOrderBillNo": result.data[i].单据号
                                        , "HSourceInterID": result.data[i].hmainid
                                        , "HSourceEntryID": result.data[i].hsubid
                                        , "HSourceBillNo": result.data[i].单据号
                                        , "HSourceBillType": result.data[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);
                        } else {
                            layer.alert(result.msg, { icon: 5, btn: ['退出'], time: 100000, offset: 't' });
                for (var i = 0; i < checkStatus.data.length; i++) {
                    var temp = getPushSourceBillInit(checkStatus.data[i].hmainid, checkStatus.data[i].hsubid);
                    if (temp != "none") {
                        dataArray.push(temp);
                        if (temp.状态 != "已审核") {
                            layer.msg("下推失败!单据号【" + temp.单据号 + "】单据状态不为已审核状态!");
                            return;
                        }
                    }, error: function () {
                        layer.alert("发生错误!", { icon: 5 });
                        if (temp.客户 != HCusName) {
                            layer.msg("下推失败!已经选中的记录中存在不同客户!");
                            return;
                        }
                        if (temp.业务员 != HEmpName) {
                            layer.msg("下推失败!已经选中的记录中存在不同业务员!");
                            return;
                        }
                    } else {
                        return;
                    }
                }
                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].汇率
                });
                //子表  èµ‹å€¼
                var rowdata = [];
                for (var i = 0; i < dataArray.length; i++) {
                    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(dataArray[i].数量, 1)
                            , "HPrice": dealDoubleToFixed(dataArray[i].单价, 3)
                            , "HTaxPrice": dealDoubleToFixed(dataArray[i].含税单价, 3)
                            , "HTaxRate": dataArray[i].税率
                            , "HMoney": dealDoubleToFixed(dataArray[i].金额, 2)
                            , "HTaxMoney": dealDoubleToFixed(dataArray[i].价税合计, 2)
                            , "HWHID": $("#HWHID").val()
                            , "发货仓库": $("#HWHName").val()
                            , "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);
            }
            //#endregion