1
duhe
2024-03-15 be7d738131c8cf9c8e00c6abfde469f2d82cbfb0
WebTM/views/ÏúÊÛ¹ÜÀí/ÏúÊÛ¶©µ¥/Add_Edit_Xs_SeOrderBillList.html
@@ -89,21 +89,21 @@
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label">销售部门</label>
                                            <div class="layui-input-inline">
                                                <input type="text" name="HDeptName" id="HDeptName" class="layui-input" value="" style="float: left; width: 150px; background-color: #efefef4d;" readonly>
                                                <input type="hidden" name="HDeptID" id="HDeptID" class="layui-input" value="0" style="float:left;width:150px;">
                                                <button type="button" lay-submit="" class="layui-btn" lay-filter="HDeptList" style="width:40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                </button>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label">销售员</label>
                                            <div class="layui-input-inline">
                                                <input type="text" name="HEmpName" id="HEmpName" " class="layui-input" value="" style="float: left; width: 150px; background-color: #efefef4d;" readonly>
                                                <input type="hidden" name="HEmpID" id="HEmpID" class="layui-input" value="0" style="float:left;width:150px;">
                                                <button type="button" lay-submit="" class="layui-btn" lay-filter="HEmpList" style="width:40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                </button>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label">销售部门</label>
                                            <div class="layui-input-inline">
                                                <input type="text" name="HDeptName" id="HDeptName" class="layui-input" value="" style="float: left; width: 150px; background-color: #efefef4d;" readonly>
                                                <input type="hidden" name="HDeptID" id="HDeptID" class="layui-input" value="0" style="float:left;width:150px;">
                                                <button type="button" lay-submit="" class="layui-btn" lay-filter="HDeptList" style="width:40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                </button>
                                            </div>
@@ -142,6 +142,15 @@
                                                <select name="HEarnestRate" id="HEarnestRate" lay-filter="HEarnestRate" style="width: 180px; ">
                                                    <option style="color:blue;" selected="selected" value="50">50%</option>
                                                    <option style="color:blue;" value="100">100%</option>
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label">销售订单类型</label>
                                            <div class="layui-input-inline">
                                                <select name="HBillSubType" id="HBillSubType" lay-filter="HBillSubType" style="width: 180px; ">
                                                    <option style="color:blue;" selected="selected" value="0">普通单据</option>
                                                    <option style="color:blue;" value="1">返修单据</option>
                                                </select>
                                            </div>
                                        </div>
@@ -454,6 +463,14 @@
                set_InitGrid();
                //加载表体和表体数据
                RoadBillMain(linterid);
                //根据销售订单类型设置子表是否取库存选项
                setHisStockGoodsByHBillSubType();
                //根据是否取库存获取定金比例
                setHEarnestRateByHisStockGoods();
                //设置表头所需金额
                set_HBillMoney($("#HEarnestRate").val() * 1);
                //生成并设置主表的内码和单据号
                createBillNo();
@@ -471,6 +488,14 @@
                set_InitGrid();
                //加载表体和表体数据
                RoadBillMain(linterid);
                //根据销售订单类型设置子表是否取库存选项
                setHisStockGoodsByHBillSubType();
                //根据是否取库存获取定金比例
                setHEarnestRateByHisStockGoods();
                //设置表头所需金额
                set_HBillMoney($("#HEarnestRate").val() * 1);
            }
            //#endregion
@@ -725,7 +750,7 @@
                            , HMoney: HMoney
                            , HlineTotal: HlineTotal
                        });
                        table.render(option);
                        //table.render(option);
                        //刷新表格同时根据option中HisStockGoods值设置下拉列表
                        setSelectHisStockGoodsByTableRender();
@@ -736,20 +761,49 @@
                    case "HPrice":                                                       //单价
                        //数据格式校验
                        temp = value + "";
                        if (!ref.test(temp) || temp == 0) {
                            //恢复数据到编辑前
                            obj.update({
                                HPrice: oldText
                            });
                            table.render(option);
                        if ($("#HBillSubType").val() == "0") {
                            if (!ref.test(temp) || temp == 0) {
                                //恢复数据到编辑前
                                obj.update({
                                    HPrice: oldText
                                });
                                table.render(option);
                            //刷新表格同时根据option中HisStockGoods值设置下拉列表
                            setSelectHisStockGoodsByTableRender();
                                //刷新表格同时根据option中HisStockGoods值设置下拉列表
                                setSelectHisStockGoodsByTableRender();
                            layer.msg("单价请输入大于0的数字!");
                            return;
                                layer.msg("单价请输入大于0的数字!");
                                return;
                            }
                        } else if ($("#HBillSubType").val() == "1") {
                            if (!ref.test(temp)) {
                                //恢复数据到编辑前
                                obj.update({
                                    HPrice: oldText
                                });
                                table.render(option);
                                //刷新表格同时根据option中HisStockGoods值设置下拉列表
                                setSelectHisStockGoodsByTableRender();
                                layer.msg("单价请输入不小于0的数字!");
                                return;
                            }
                        } else {
                            if (!ref.test(temp)) {
                                //恢复数据到编辑前
                                obj.update({
                                    HPrice: oldText
                                });
                                table.render(option);
                                //刷新表格同时根据option中HisStockGoods值设置下拉列表
                                setSelectHisStockGoodsByTableRender();
                                layer.msg("单价请输入不小于0的数字!");
                                return;
                            }
                        }
                        //数据校验合格,重算记录
                        var HQty = obj.data.HQty * 1;                   //数量
@@ -780,7 +834,7 @@
                            , HMoney: HMoney
                            , HlineTotal: HlineTotal
                        });
                        table.render(option);
                        //table.render(option);
                        //刷新表格同时根据option中HisStockGoods值设置下拉列表
                        setSelectHisStockGoodsByTableRender();
@@ -835,7 +889,7 @@
                            , HMoney: HMoney
                            , HlineTotal: HlineTotal
                        });
                        table.render(option);
                        //table.render(option);
                        //刷新表格同时根据option中HisStockGoods值设置下拉列表
                        setSelectHisStockGoodsByTableRender();
@@ -846,18 +900,48 @@
                    case "HTaxPrice":                                                       //数量
                        //数据格式校验
                        temp = value + "";
                        if (!ref.test(temp)) {
                            //恢复数据到编辑前
                            obj.update({
                                HTaxPrice: oldText
                            });
                            table.render(option);
                        if ($("#HBillSubType").val() == "0") {
                            if (!ref.test(temp) || temp == "0") {
                                //恢复数据到编辑前
                                obj.update({
                                    HTaxPrice: oldText
                                });
                                table.render(option);
                            //刷新表格同时根据option中HisStockGoods值设置下拉列表
                            setSelectHisStockGoodsByTableRender();
                                //刷新表格同时根据option中HisStockGoods值设置下拉列表
                                setSelectHisStockGoodsByTableRender();
                            layer.msg("含税单据请输入不小于0的数字!");
                            return;
                                layer.msg("含税单价请输入不小于0的数字!");
                                return;
                            }
                        } else if ($("#HBillSubType").val() == "1") {
                            if (!ref.test(temp)) {
                                //恢复数据到编辑前
                                obj.update({
                                    HTaxPrice: oldText
                                });
                                table.render(option);
                                //刷新表格同时根据option中HisStockGoods值设置下拉列表
                                setSelectHisStockGoodsByTableRender();
                                layer.msg("含税单价请输入不小于0的数字!");
                                return;
                            }
                        } else {
                            if (!ref.test(temp)) {
                                //恢复数据到编辑前
                                obj.update({
                                    HTaxPrice: oldText
                                });
                                table.render(option);
                                //刷新表格同时根据option中HisStockGoods值设置下拉列表
                                setSelectHisStockGoodsByTableRender();
                                layer.msg("含税单价请输入不小于0的数字!");
                                return;
                            }
                        }
                        //数据校验合格,重算记录
                        var HQty = obj.data.HQty * 1;                   //数量
@@ -890,7 +974,7 @@
                            , HMoney: HMoney
                            , HlineTotal: HlineTotal
                        });
                        table.render(option);
                        //table.render(option);
                        //刷新表格同时根据option中HisStockGoods值设置下拉列表
                        setSelectHisStockGoodsByTableRender();
@@ -938,6 +1022,19 @@
                if (HEarnestRate != 0) {
                    HEarnestRateTemp = HEarnestRate;
                }
            });
            //#endregion
            //#region é”€å”®è®¢å•类型下拉列表监听
            form.on('select(HBillSubType)', function (data) {
                //根据销售订单类型设置子表是否取库存选项
                setHisStockGoodsByHBillSubType();
                //根据是否取库存获取定金比例
                setHEarnestRateByHisStockGoods();
                //设置表头所需金额
                set_HBillMoney($("#HEarnestRate").val() * 1);
            });
            //#endregion
            //#endregion
@@ -1210,6 +1307,7 @@
                                , "HCurName": data.币别
                                , "HExRate": data.汇率
                                , "HEarnestRate": data.定金比例
                                , "HBillSubType": data.HBillSubType
                                , "HManagerID": data.HManagerID
                                , "HManagerName": data.主管
                                , "HSellSID": data.HSellSID
@@ -1335,15 +1433,23 @@
                        }
                        $("#HEmpName").val(checkStatus.data[0].HName);
                        $("#HEmpID").val(checkStatus.data[0].HItemID);
                        getEmpInfoByHEmpID(checkStatus.data[0].HItemID);
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                    , btn2: function (index, layero) {
                        $("#HEmpName").val("");
                        $("#HEmpID").val("0");
                        getEmpInfoByHEmpID("0");
                    }
                })
            }
            //#endregion
            //#region å®¢æˆ·é€‰æ‹©é¡µé¢
            function get_checkCus() {
                var HEmpID = $("#HEmpID").val();
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
@@ -1626,6 +1732,11 @@
                    return false;
                }
                if ($("#HBillSubType").val() != "0" && $("#HBillSubType").val()!="1") {
                    layer.msg("请选择销售订单类型!");
                    return false;
                }
                //if ($("#HSellSID").val() == "0") {
                //    layer.msg("销售方式未选择!");
                //    return false;
@@ -1675,13 +1786,21 @@
                    //单价格式校验
                    temp = option.data[i]["HPrice"] + "";
                    if (temp == "0") {
                        layer.msg("第" + i + "行:单价不能为0!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("第" + i + "行:单价请输入大于0的数字!");
                        return false;
                    if ($("#HBillSubType").val() == "0") {
                        if (temp == "0") {
                            layer.msg("第" + i + "行:单价不能为0!");
                            return false;
                        } else if (!ref.test(temp)) {
                            layer.msg("第" + i + "行:单价请输入大于0的数字!");
                            return false;
                        }
                    } else if ($("#HBillSubType").val() == "1"){
                        if (!ref.test(temp)) {
                            layer.msg("第" + i + "行:单价请输入不小于0的数字!");
                            return false;
                        }
                    }
                    //税率格式校验
                    temp = option.data[i]["HTaxRate"] + "";
@@ -1692,32 +1811,54 @@
                    //含税单价格式校验
                    temp = option.data[i]["HTaxPrice"] + "";
                    if (temp == "0") {
                        layer.msg("第" + i + "行:含税单价不能为0!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("第" + i + "行:含税单价请输入大于0的数字!");
                        return false;
                    if ($("#HBillSubType").val() == "0") {
                        if (temp == "0") {
                            layer.msg("第" + i + "行:含税单价不能为0!");
                            return false;
                        } else if (!ref.test(temp)) {
                            layer.msg("第" + i + "行:含税单价请输入大于0的数字!");
                            return false;
                        }
                    } else if ($("#HBillSubType").val() == "1"){
                        if (!ref.test(temp)) {
                            layer.msg("第" + i + "行:含税单价请输入不小于0的数字!");
                            return false;
                        }
                    }
                    //金额格式校验
                    temp = option.data[i]["HMoney"] + "";
                    if (temp == "0") {
                        layer.msg("第" + i + "行:金额不能为0!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("第" + i + "行:金额请输入大于0的数字!");
                        return false;
                    if ($("#HBillSubType").val() == "0") {
                        if (temp == "0") {
                            layer.msg("第" + i + "行:金额不能为0!");
                            return false;
                        } else if (!ref.test(temp)) {
                            layer.msg("第" + i + "行:金额请输入大于0的数字!");
                            return false;
                        }
                    } else if ($("#HBillSubType").val() == "1") {
                        if (!ref.test(temp)) {
                            layer.msg("第" + i + "行:金额请输入不小于0的数字!");
                            return false;
                        }
                    }
                    //价税合计格式校验
                    temp = option.data[i]["HlineTotal"] + "";
                    if (temp == "0") {
                        layer.msg("第" + i + "行:价税合计不能为0!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("第" + i + "行:价税合计请输入大于0的数字!");
                        return false;
                    if ($("#HBillSubType").val() == "0") {
                        if (temp == "0") {
                            layer.msg("第" + i + "行:价税合计不能为0!");
                            return false;
                        } else if (!ref.test(temp)) {
                            layer.msg("第" + i + "行:价税合计请输入大于0的数字!");
                            return false;
                        }
                    } else if ($("#HBillSubType").val() == "1") {
                        if (!ref.test(temp)) {
                            layer.msg("第" + i + "行:价税合计请输入不小于0的数字!");
                            return false;
                        }
                    }
                    if (option.data[i]["HDate"] == "") {
@@ -2447,6 +2588,39 @@
            }
            //#endregion
            //#region æ ¹æ®é”€å”®è®¢å•类型设置子表是否取库存选项
            function setHisStockGoodsByHBillSubType() {
                if ($("#HBillSubType").val() == "0") {
                    //设置子表是否取库存字段值
                    for (var i = 1; i <= option.data.length; i++) {
                        option.data[i - 1].HisStockGoods = "false";
                    }
                    //重新渲染子表是否取库存下拉列表并赋值
                    var HisStockGoodsList = '<option value="false">否</option>';
                    HisStockGoodsList += '<option value="true">是</option>';
                    for (var i = 1; i <= option.data.length; i++) {
                        $('#HisStockGoods' + i + '').empty();
                        $('#HisStockGoods' + i + '').append(HisStockGoodsList);
                        $('#HisStockGoods' + i + '').val(option.data[i - 1].HisStockGoods);
                    }
                    form.render('select');
                } else if ($("#HBillSubType").val() == "1") {
                    //设置子表是否取库存字段值
                    for (var i = 1; i <= option.data.length; i++) {
                        option.data[i - 1].HisStockGoods = "true";
                    }
                    //重新渲染子表是否取库存下拉列表并赋值
                    var HisStockGoodsList = '<option value="true">是</option>';
                    for (var i = 1; i <= option.data.length; i++) {
                        $('#HisStockGoods' + i + '').empty();
                        $('#HisStockGoods' + i + '').append(HisStockGoodsList);
                        $('#HisStockGoods' + i + '').val(option.data[i - 1].HisStockGoods);
                    }
                    form.render('select');
                }
            }
            //#endregion
            //#region èŽ·å–æºå•-销售订单单据状态
            function getSourceBillStatus_SeOrderBill() {
                var HSourceBillData = "none";
@@ -2491,6 +2665,8 @@
        {
            $("#HEmpName").val(obj[0].HName);
            $("#HEmpID").val(obj[0].HItemID);
            getEmpInfoByHEmpID(obj[0].HItemID)
        }
        function GetHSupValue(obj)  //返回客户
@@ -2595,6 +2771,7 @@
                type: "GET",
                data: {
                    "HCusID": HCusID
                    , "CurUserName": sessionStorage["HUserName"]
                },
                success: function (result) {
                    if (result.code == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
@@ -2604,7 +2781,38 @@
                        $("#HCreditRating_Now").val(data.HCreditRating_Now == null ? 0 : data.HCreditRating_Now);
                        $("#HAvailableBalance").val(data.HAvailableBalance == null ? 0 : data.HAvailableBalance);
                    } else {
                        layer.alert(result.Message, { icon: 5, btn: ['退出'], time: 100000, offset: 't' });
                        $("#HCusBalance").val("");
                        $("#HCreditRating_Now").val("");
                        $("#HAvailableBalance").val("");
                        //layer.alert(result.Message, { icon: 5});
                    }
                }, error: function () {
                    layer.alert("发生错误!", { icon: 5 });
                    $("#HCusBalance").val("");
                    $("#HCreditRating_Now").val("");
                    $("#HAvailableBalance").val("");
                }
            });
        }
        //#endregion
        //#region æ ¹æ®èŒå‘˜èŽ·å–éƒ¨é—¨
        function getEmpInfoByHEmpID(HEmpID) {
            $.ajax({
                url: GetWEBURL() + "/Xs_SeOrderBill/getEmpInfoByHEmpID",
                async: false,
                type: "GET",
                data: {
                    "HEmpID": HEmpID
                },
                success: function (result) {
                    if (result.code == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                        var data = result.data[0];
                        $("#HDeptID").val(data.HDeptID);
                        $("#HDeptName").val(data.HDeptName);
                    } else {
                        layer.alert(result.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.alert("发生错误!", { icon: 5 });