yangle
2024-03-15 791453617b93d367db37862068c5f7a674a1d69e
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
@@ -587,7 +612,7 @@
                    "HMaterID": "0",
                    "物料代码": "",
                    "物料名称": "",
                    "HItemID": "0",
                    "HOrderLevID": "0",
                    "订单等级代码": "",
                    "订单等级名称": "",
                    "规格型号": "",
@@ -610,7 +635,13 @@
                    "HRemark": "",
                    "HCusMaterNumber": "",
                    "HCusModel": "",
                    "HCusMaterName": ""
                    "HCusMaterName": "",
                    "HRelationQty": "0",
                    "HRelationQty_SellOutCheck": "0",
                    "HRelationMoney_SellOutCheck": "0",
                    "HRelationQty_ICMO": "0",
                    "HRelationQty_SellBack": "0",
                    "HRelationQty_SellBackCheck": "0"
                };
                switch (obj.event) {
                    //新增一行
@@ -719,7 +750,7 @@
                            , HMoney: HMoney
                            , HlineTotal: HlineTotal
                        });
                        table.render(option);
                        //table.render(option);
                        //刷新表格同时根据option中HisStockGoods值设置下拉列表
                        setSelectHisStockGoodsByTableRender();
@@ -730,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;                   //数量
@@ -774,7 +834,7 @@
                            , HMoney: HMoney
                            , HlineTotal: HlineTotal
                        });
                        table.render(option);
                        //table.render(option);
                        //刷新表格同时根据option中HisStockGoods值设置下拉列表
                        setSelectHisStockGoodsByTableRender();
@@ -829,7 +889,7 @@
                            , HMoney: HMoney
                            , HlineTotal: HlineTotal
                        });
                        table.render(option);
                        //table.render(option);
                        //刷新表格同时根据option中HisStockGoods值设置下拉列表
                        setSelectHisStockGoodsByTableRender();
@@ -840,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;                   //数量
@@ -884,7 +974,7 @@
                            , HMoney: HMoney
                            , HlineTotal: HlineTotal
                        });
                        table.render(option);
                        //table.render(option);
                        //刷新表格同时根据option中HisStockGoods值设置下拉列表
                        setSelectHisStockGoodsByTableRender();
@@ -932,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
@@ -1065,9 +1168,9 @@
                        , { field: 'HTaxPrice', title: '含税单价', width: 100, edit: 'text' }
                        , { field: 'HMoney', title: '金额', width: 100, totalRow: true, style: 'background-color:#efefef4d;' }
                        , { field: 'HlineTotal', title: '价税合计', width: 100, totalRow: true, style: 'background-color:#efefef4d;' }
                        , { field: 'HCusMaterName', title: '客户物料名称', width: 100, edit: 'text' }
                        , { field: 'HCusMaterNumber', title: '客户物料编码', width: 100, edit: 'text' }
                        , { field: 'HCusModel', title: '客户规格型号', width: 100, edit: 'text' }
                        , { field: 'HCusMaterName', title: '客户物料名称', width: 100, edit: 'text' }
                        , { field: 'HDate', title: '交货日期', event: "HDate", width: 120 }
                        , { field: 'HRemark', title: '备注', width: 100, edit: 'text' }
                        , { field: 'HDiscountRate', title: '折扣率', width: 100, edit: 'text', hide: true }
@@ -1076,6 +1179,12 @@
                        , { field: 'HlineTotalBB', title: '本位币价税合计', width: 120, hide: true }
                        , { field: 'HOutStockQty', title: '出库数量', width: 100, edit: 'text', hide: true }
                        , { field: 'HInvoiceQty', title: '开票数量', width: 100, edit: 'text', hide: true }
                        , { field: 'HRelationQty', title: '销售出库数量', width: 100, totalRow: true, style: 'background-color:#efefef4d;'}
                        , { field: 'HRelationQty_SellOutCheck', title: '销售出库审核数量', width: 100, totalRow: true, style: 'background-color:#efefef4d;' }
                        , { field: 'HRelationMoney_SellOutCheck', title: '销售出库审核金额', width: 100, totalRow: true, style: 'background-color:#efefef4d;' }
                        , { field: 'HRelationQty_ICMO', title: '生产数量', width: 100, totalRow: true, style: 'background-color:#efefef4d;'}
                        , { field: 'HRelationQty_SellBack', title: '销售退库数量', width: 100, totalRow: true, style: 'background-color:#efefef4d;'}
                        , { field: 'HRelationQty_SellBackCheck', title: '销售退库审核数量', width: 100, totalRow: true, style: 'background-color:#efefef4d;'}
                        , { fixed: 'right', title: '操作', toolbar: '#barDemo', width: 70 }
                    ]]
                    , done: function (res, curr, count) {
@@ -1122,7 +1231,13 @@
                    "HRemark": "",
                    "HCusMaterNumber": "",
                    "HCusModel": "",
                    "HCusMaterName": ""
                    "HCusMaterName": "",
                    "HRelationQty": "0",
                    "HRelationQty_SellOutCheck": "0",
                    "HRelationMoney_SellOutCheck": "0",
                    "HRelationQty_ICMO": "0",
                    "HRelationQty_SellBack": "0",
                    "HRelationQty_SellBackCheck": "0"
                }];
                option.data = rowdata;
@@ -1192,6 +1307,7 @@
                                , "HCurName": data.币别
                                , "HExRate": data.汇率
                                , "HEarnestRate": data.定金比例
                                , "HBillSubType": data.HBillSubType
                                , "HManagerID": data.HManagerID
                                , "HManagerName": data.主管
                                , "HSellSID": data.HSellSID
@@ -1256,7 +1372,13 @@
                                        "HRemark": result.data[i]["表体备注"],
                                        "HCusMaterNumber": result.data[i]["客户物料编码"],
                                        "HCusModel": result.data[i]["客户规格型号"],
                                        "HCusMaterName": result.data[i]["客户物料名称"]
                                        "HCusMaterName": result.data[i]["客户物料名称"],
                                        "HRelationQty": OperationType == 2 ? "0" : result.data[i]["关联数量"],
                                        "HRelationQty_SellOutCheck": OperationType == 2 ? "0" : result.data[i]["销售出库审核数量"],
                                        "HRelationMoney_SellOutCheck": OperationType == 2 ? "0" : result.data[i]["销售出库审核金额"],
                                        "HRelationQty_ICMO": OperationType == 2 ? "0" : result.data[i]["生产关联数量"],
                                        "HRelationQty_SellBack": OperationType == 2 ? "0" : result.data[i]["销售退库数量"],
                                        "HRelationQty_SellBackCheck": OperationType == 2 ? "0" : result.data[i]["销售退库审核数量"],
                                    }
                                );
                            }
@@ -1311,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' //加上边框
@@ -1602,6 +1732,11 @@
                    return false;
                }
                if ($("#HBillSubType").val() != "0" && $("#HBillSubType").val()!="1") {
                    layer.msg("请选择销售订单类型!");
                    return false;
                }
                //if ($("#HSellSID").val() == "0") {
                //    layer.msg("销售方式未选择!");
                //    return false;
@@ -1651,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"] + "";
@@ -1668,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"] == "") {
@@ -2214,7 +2379,7 @@
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            var titleData = ["HMaterID", "HUnitID", "折扣率", "实际含税单价", "税额", "本位币价税合计", "出库数量", "开票数量", "HOrderLevID","订单等级代码"];//不需要显示的字段 å¯æ‰©å±•
                            var titleData = ["HMaterID", "HUnitID", "折扣率", "实际含税单价", "税额", "本位币价税合计", "出库数量", "开票数量", "HOrderLevID","订单等级代码","销售出库数量","销售出库审核数量","销售出库审核金额","生产数量","销售退库数量","销售退库审核数量"];//不需要显示的字段 å¯æ‰©å±•
                            //titleData = [];
                            dataCol = data1.data[0].HGridString.split(',');
@@ -2423,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";
@@ -2467,6 +2665,8 @@
        {
            $("#HEmpName").val(obj[0].HName);
            $("#HEmpID").val(obj[0].HItemID);
            getEmpInfoByHEmpID(obj[0].HItemID)
        }
        function GetHSupValue(obj)  //返回客户
@@ -2589,6 +2789,31 @@
        }
        //#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 });
                }
            });
        }
        //#endregion
        //#region å¤„理小数显示位数(data:需要处理的数据;num:数据的类型(如1:数量;2:金额;3:单价))
        function dealDoubleToFixed(data, num) {
            //用于设置小数位数