销售订单:子表物料选择可以多选,选择物料时根据客户获取税率并重算记录数据
2个文件已修改
83 ■■■■ 已修改文件
WebTM/Properties/PublishProfiles/JFTM.pubxml.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/销售管理/销售订单/Add_Edit_Xs_SeOrderBillList.html 81 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/Properties/PublishProfiles/JFTM.pubxml.user
@@ -4704,7 +4704,7 @@
      <publishTime>11/03/2023 21:45:51</publishTime>
    </File>
    <File Include="views/销售管理/销售订单/Add_Edit_Xs_SeOrderBillList.html">
      <publishTime>11/08/2023 13:15:40</publishTime>
      <publishTime>11/08/2023 13:50:05</publishTime>
    </File>
    <File Include="views/销售管理/销售订单/Xs_SeOrderBillDyColList.html">
      <publishTime>04/11/2023 16:34:43</publishTime>
WebTM/views/ÏúÊÛ¹ÜÀí/ÏúÊÛ¶©µ¥/Add_Edit_Xs_SeOrderBillList.html
@@ -657,14 +657,14 @@
                    case "HTaxRate":                                                       //数量
                        //数据格式校验
                        temp = value + "";
                        if (!ref.test(temp) || temp == 0) {
                        if (!ref.test(temp)) {
                            //恢复数据到编辑前
                            obj.update({
                                HTaxRate: oldText
                            });
                            table.render(option);
                            layer.msg("税率请输入大于0的数字!");
                            layer.msg("税率请输入不小于0的数字!");
                            return;
                        }
@@ -1631,47 +1631,48 @@
                                , shift: 2 //弹出动画
                                , area: ["90%", "90%"] //窗体大小
                                , maxmin: true //设置最大最小按钮是否显示
                                , content: ['../../Baseset/基础资料/Gy_MaterialList.html', 'yes']
                                , content: ['../../基础资料/公用基础资料/Gy_Material.html', 'yes']
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
                                    var iframeWindow = window["layui-layer-iframe" + index];//获取弹框页面
                                    var checkStatus = iframeWindow.layui.table.checkStatus("mainTable");//获取选中的数据
                                    if (checkStatus.data.length != 1) {
                                        return layer.msg("请选择一条数据");
                                    //if (checkStatus.data.length != 1) {
                                    //    return layer.msg("请选择一条数据");
                                    //}
                                    var rowIndex = $(obj.tr).attr("data-index") * 1;
                                    for (var i = 0; i < checkStatus.data.length; i++) {
                                        if (rowIndex + i >= option.data.length) {
                                            var NewRow = {
                                                "HMaterID": "0", "物料代码": "", "物料名称": "", "规格型号": "", "HUnitID": "0", "计量单位": "", "HQty": "0", "HPrice": "0", "HTaxPrice": "0"
                                                , "HMoney": "0", "HDiscountRate": "0", "HRelTaxPrice": "0", "HTaxRate": "0", "HTaxMoney": "0", "HlineTotal": "0", "HlineTotalBB": "0"
                                                , "HDate": Format(new Date(), 'yyyy-MM-dd'), "HOutStockQty": "0", "HInvoiceQty": "0", "HRemark": ""
                                            }
                                            btnAddLine(NewRow);
                                    }
                                        //获取选中的物料信息
                                        var resultData = checkStatus.data[i];
                                    //数值格式校验工具
                                    var ref = /^\d+(\.\d+)?$/;          //非负数正则表达式
                                    var temp = "";
                                    //获取选择物料前后的税率
                                    var value = subHTaxRate;                    //选择物料后根据客户得到的税率
                                    var oldText = obj.data.HTaxRate;            //该记录中原有的税率
                                        var oldText = option.data[rowIndex + i].HTaxRate;           //该记录中原有的税率
                                    //税率数据格式校验
                                        //税率数据格式校验,若根据客户获取的税率不合法,则使用记录中原有的税率,并提示
                                    temp = value + "";
                                    if (!ref.test(temp)) {
                                        //税率恢复到编辑前,设置物料等信息
                                        obj.update({
                                            HTaxRate: oldText
                                            , "HMaterID": checkStatus.data[0].HItemID
                                            , "物料代码": checkStatus.data[0].HNumber
                                            , "物料名称": checkStatus.data[0].HName
                                            , "规格型号": checkStatus.data[0].HModel
                                            , "HUnitID": checkStatus.data[0].HUnitID
                                            , "计量单位": checkStatus.data[0].HUnitName
                                        });
                                        table.render(option);
                                            value = oldText;
                                        layer.msg("获取到的税率不合法,已自动变更为原有税率!");
                                    } else {
                                        }
                                        //数据校验合格,重算记录
                                        var HQty = obj.data.HQty * 1;                   //数量
                                        var HPrice = obj.data.HPrice * 1;               //单价
                                        var HQty = option.data[rowIndex + i].HQty;                  //数量
                                        var HPrice = option.data[rowIndex + i].HPrice;              //单价
                                        var HTaxRate = value * 0.01;                       //税率
                                        /*var HDiscountRate = obj.data.HDiscountRate * 1; //折扣率*/
                                        var HTaxPrice = HPrice * (1 + HTaxRate);        //含税单价=单价*(1+税率)
@@ -1681,25 +1682,25 @@
                                        var HTaxMoney = HMoney * HTaxRate;              //税额=金额*税率
                                        var HlineTotal = HMoney + HTaxMoney;            //价税合计=金额+税额
                                        //同步更新表格和缓存对应的值
                                        obj.update({
                                            HQty: HQty
                                            , HPrice: HPrice
                                            , HTaxRate: HTaxRate * 100
                                            , HTaxPrice: HTaxPrice
                                            , HMoney: HMoney
                                            , HlineTotal: HlineTotal
                                            , "HMaterID": checkStatus.data[0].HItemID
                                            , "物料代码": checkStatus.data[0].HNumber
                                            , "物料名称": checkStatus.data[0].HName
                                            , "规格型号": checkStatus.data[0].HModel
                                            , "HUnitID": checkStatus.data[0].HUnitID
                                            , "计量单位": checkStatus.data[0].HUnitName
                                        option.data[rowIndex + i].HMaterID = resultData.HMaterID;
                                        option.data[rowIndex + i].物料代码 = resultData.物料代码;
                                        option.data[rowIndex + i].物料名称 = resultData.物料名称;
                                        option.data[rowIndex + i].规格型号 = resultData.规格型号;
                                        option.data[rowIndex + i].HUnitID = resultData.HUnitID;
                                        option.data[rowIndex + i].计量单位 = resultData.计量单位名称;
                                        });
                                        table.render(option);
                                        option.data[rowIndex + i].HQty = HQty;
                                        option.data[rowIndex + i].HPrice = HPrice;
                                        option.data[rowIndex + i].HTaxRate = HTaxRate * 100;
                                        option.data[rowIndex + i].HTaxPrice = HTaxPrice;
                                        option.data[rowIndex + i].HMoney = HMoney;
                                        option.data[rowIndex + i].HlineTotal = HlineTotal;
                                    }
                                    table.render(option);
                                    layer.close(index);//关闭弹窗
                                }
                            })