1
duhe
2024-08-15 40cd70d9a9d13001c1b6c2269334e8a363c562c3
WebTM/views/ÁìÁÏ·¢»õ/ÏúÊÛ³ö¿â/Kf_SellOutBill.html
@@ -931,7 +931,10 @@
                //数值格式校验工具
                var ref = /^\d+(\.\d+)?$/;          //非负数正则表达式
                var temp = "";
                var Dec = getDecByMaterID(obj.data.HMaterID) //获取精度
                var HQtyDec = (Dec["HQtyDec"] == null || Dec["HQtyDec"] == 0) ? 4 : Dec["HQtyDec"];  //数量精度
                var HPriceDec = (Dec["HPriceDec"] == null || Dec["HPriceDec"] == 0) ? 4 : Dec["HPriceDec"];  //单价精度
                var HMoneyDec = (Dec["HMoneyDec"] == null || Dec["HMoneyDec"] == 0) ? 2 : Dec["HMoneyDec"];  //金额精度
                // å•元格编辑之前的值
                var oldText = $(this).prev().text();
                var value = obj.value //得到修改后的值
@@ -966,12 +969,11 @@
                        var HMoney = HQty * HPrice;                     //金额=数量*单价
                        var HTaxMoney = HMoney * (1 + HTaxRate);            //价税合计=金额 * (1 + ç¨Žçއ)
                        //设置数据小数位数
                        HQty = dealDoubleToFixed(HQty, 1);
                        HPrice = dealDoubleToFixed(HPrice, 3);
                        HTaxRate = HTaxRate;
                        HTaxPrice = dealDoubleToFixed(HTaxPrice, 3);
                        HMoney = dealDoubleToFixed(HMoney, 2);
                        //数字精度
                        HQty = Number(HQty.toFixed(HQtyDec));
                        HPrice = Number(HPrice.toFixed(HPriceDec));
                        HMoney = Number(HMoney.toFixed(HMoneyDec));
                        HTaxPrice = Number(HPrice.toFixed(HPriceDec));
                        HTaxMoney = dealDoubleToFixed(HTaxMoney, 2);
                        //同步更新表格和缓存对应的值
@@ -1011,12 +1013,11 @@
                        var HMoney = HQty * HPrice;                     //金额=数量*单价
                        var HTaxMoney = HMoney * (1 + HTaxRate);            //价税合计=金额 * (1 + ç¨Žçއ)
                        //设置数据小数位数
                        HQty = dealDoubleToFixed(HQty, 1);
                        HPrice = dealDoubleToFixed(HPrice, 3);
                        HTaxRate = HTaxRate;
                        HTaxPrice = dealDoubleToFixed(HTaxPrice, 3);
                        HMoney = dealDoubleToFixed(HMoney, 2);
                        //数字精度
                        HQty = Number(HQty.toFixed(HQtyDec));
                        HPrice = Number(HPrice.toFixed(HPriceDec));
                        HMoney = Number(HMoney.toFixed(HMoneyDec));
                        HTaxPrice = Number(HPrice.toFixed(HPriceDec));
                        HTaxMoney = dealDoubleToFixed(HTaxMoney, 2);
                        //同步更新表格和缓存对应的值
@@ -1056,12 +1057,11 @@
                        var HMoney = HQty * HPrice;                     //金额=数量*单价
                        var HTaxMoney = HMoney * (1 + HTaxRate);            //价税合计=金额 * (1 + ç¨Žçއ)
                        //设置数据小数位数
                        HQty = dealDoubleToFixed(HQty, 1);
                        HPrice = dealDoubleToFixed(HPrice, 3);
                        HTaxRate = HTaxRate;
                        HTaxPrice = dealDoubleToFixed(HTaxPrice, 3);
                        HMoney = dealDoubleToFixed(HMoney, 2);
                        //数字精度
                        HQty = Number(HQty.toFixed(HQtyDec));
                        HPrice = Number(HPrice.toFixed(HPriceDec));
                        HMoney = Number(HMoney.toFixed(HMoneyDec));
                        HTaxPrice = Number(HPrice.toFixed(HPriceDec));
                        HTaxMoney = dealDoubleToFixed(HTaxMoney, 2);
                        //同步更新表格和缓存对应的值
@@ -1090,23 +1090,19 @@
                        }
                        //数据校验合格,重算记录
                        var HQty = obj.data.HQty * 1;                   //数量
                        var HTaxRate = (obj.data.HTaxRate !== undefined ? value * 0.01 : 0 ) * 0.01;        //税率
                        var HTaxRate = (obj.data.HTaxRate != undefined ? obj.data.HTaxRate * 0.01 : 0 ) ;        //税率
                        var HTaxPrice = value * 1;                          //含税单价=单价*(1+税率)
                        var HPrice = HTaxPrice / (1 + HTaxRate);        //单价=含税单据/(1+税率)
                        /*var HDiscountRate = obj.data.HDiscountRate * 1; //折扣率*/
                        /*var HRelTaxPrice = HTaxPrice * HDiscountRate;   //实际含税单价=含税单价*折扣率*/
                        //折扣额 = å«ç¨Žå•ä»· * (1 - æŠ˜æ‰£çއ) * æ•°é‡
                        var HMoney = HQty * HPrice;                     //金额=数量*单价
                        var HTaxMoney = HMoney * (1 + HTaxRate);            //价税合计=金额 * (1 + ç¨Žçއ)
                        //设置数据小数位数
                        HQty = dealDoubleToFixed(HQty, 1);
                        HPrice = dealDoubleToFixed(HPrice, 3);
                        HTaxRate = HTaxRate;
                        HTaxPrice = dealDoubleToFixed(HTaxPrice, 3);
                        HMoney = dealDoubleToFixed(HMoney, 2);
                        //数字精度
                        HQty = Number(HQty.toFixed(HQtyDec));
                        HPrice = Number(HPrice.toFixed(HPriceDec));
                        HMoney = Number(HMoney.toFixed(HMoneyDec));
                        HTaxPrice = Number(HPrice.toFixed(HPriceDec));
                        HTaxMoney = dealDoubleToFixed(HTaxMoney, 2);
                        //同步更新表格和缓存对应的值
@@ -1118,7 +1114,8 @@
                            , HMoney: HMoney
                            , HTaxMoney: HTaxMoney
                        });
                        table.render(option);
                        table.render(option)
                        break;
                    default:
                }
@@ -2290,28 +2287,101 @@
                                        return layer.msg("请选择一条数据");
                                    }
                                    //更新表格缓存的数据
                                    obj.update({
                                        "HMaterID": checkStatus.data[0].HItemID,
                                        "物料代码": checkStatus.data[0].物料代码,
                                        "物料名称": checkStatus.data[0].物料名称,
                                        "规格型号": checkStatus.data[0].规格型号
                                        , "HUnitID": checkStatus.data[0].HUnitID
                                        , "计量单位": checkStatus.data[0].计量单位名称
                                    })
                                    var HSupID = $("#HSupID").val();
                                    if (HSupID != 0) {
                                        $.ajax({
                                            url: GetWEBURL() + "/Gy_Customer/xg",
                                            type: "GET",
                                            data: {
                                                "HInterID": HSupID
                                            },
                                            success: function (d) {
                                                var HTaxRate = parseInt(d.data[0].增值税率) * 0.01;
                                                //数据校验合格,重算记录
                                                var HQty = obj.data.HQty * 1;                           //数量
                                                var HPrice = obj.data.HPrice * 1;               //单价
                                                var HMoney = HQty * HPrice;                     //金额=数量*单价
                                                var HTaxMoney = Number((HMoney * HTaxRate).toFixed(4));         //税额=金额*税率
                                                var HlineTotal = HMoney + HTaxMoney;            //价税合计=金额+税额
                                                var HTaxPrice = Number((HPrice * (1 + HTaxRate)).toFixed(4));        //含税单价=单价*(1+税率)
                                                obj.update({ //更新表格数据
                                                    "HMaterID": checkStatus.data[0].HItemID
                                                    , "物料代码": checkStatus.data[0].物料代码
                                                    , "物料名称": checkStatus.data[0].物料名称
                                                    , "规格型号": checkStatus.data[0].规格型号
                                                    , "HUnitID": checkStatus.data[0].HUnitID
                                                    , "计量单位": checkStatus.data[0].计量单位名称
                                                    , "HTaxRate": HTaxRate * 100
                                                    , HQty: HQty                               //更新HQty字段,HQty
                                                    , HPrice: HPrice                         //更新HPrice字段,HPrice
                                                    , HMoney: HMoney                      //更新HMoney字段,HMoney
                                                    , HTaxMoney: HTaxMoney                  //更新HTaxMoney字段,HTaxMoney
                                                    , HlineTotal: HlineTotal             //更新HlineTotal字段,HlineTotal
                                                    , HTaxPrice, HTaxPrice                   //更新HTaxPrice字段,HTaxPrice
                                                })
                                            }
                                        });
                                    } else {
                                        obj.update({ //更新表格数据
                                            "HMaterID": checkStatus.data[0].HItemID
                                            , "物料代码": checkStatus.data[0].物料代码
                                            , "物料名称": checkStatus.data[0].物料名称
                                            , "规格型号": checkStatus.data[0].规格型号
                                            , "HUnitID": checkStatus.data[0].HUnitID
                                            , "计量单位": checkStatus.data[0].计量单位名称
                                        })
                                    }
                                    layer.close(index);//关闭弹窗
                                }
                                , end: function () {
                                    if (typeof (HDataTemp.HItemID) != "undefined") {
                                        //更新表格缓存的数据
                                        obj.update({
                                            "HMaterID": HDataTemp.HItemID
                                            , "物料代码": HDataTemp.物料代码
                                            , "物料名称": HDataTemp.物料名称
                                            , "规格型号": HDataTemp.规格型号
                                            , "HUnitID": HDataTemp.HUnitID
                                            , "计量单位": HDataTemp.计量单位名称
                                        })
                                        //通过供应商id获取税率
                                        var HSupID = $("#HSupID").val();
                                        if (HSupID != 0) {
                                            $.ajax({
                                                url: GetWEBURL() + "/Gy_Customer/xg",
                                                type: "GET",
                                                async: false,
                                                data: {
                                                    "HInterID": HSupID
                                                },
                                                success: function (d) {
                                                    var HTaxRate = parseInt(d.data[0].增值税率) * 0.01;
                                                    //数据校验合格,重算记录
                                                    var HQty = obj.data.HQty * 1;                           //数量
                                                    var HPrice = obj.data.HPrice * 1;               //单价
                                                    var HMoney = HQty * HPrice;                     //金额=数量*单价
                                                    var HTaxMoney = Number((HMoney * HTaxRate).toFixed(4));         //税额=金额*税率
                                                    var HlineTotal = HMoney + HTaxMoney;            //价税合计=金额+税额
                                                    var HTaxPrice = Number((HPrice * (1 + HTaxRate)).toFixed(4));        //含税单价=单价*(1+税率)
                                                    obj.update({ //更新表格数据
                                                        "HMaterID": HDataTemp.HItemID
                                                        , "物料代码": HDataTemp.物料代码
                                                        , "物料名称": HDataTemp.物料名称
                                                        , "规格型号": HDataTemp.规格型号
                                                        , "HUnitID": HDataTemp.HUnitID
                                                        , "计量单位": HDataTemp.计量单位名称
                                                        , "HTaxRate": HTaxRate * 100
                                                        , HQty: HQty                               //更新HQty字段,HQty
                                                        , HPrice: HPrice                         //更新HPrice字段,HPrice
                                                        , HMoney: HMoney                      //更新HMoney字段,HMoney
                                                        , HTaxMoney: HTaxMoney                  //更新HTaxMoney字段,HTaxMoney
                                                        , HlineTotal: HlineTotal             //更新HlineTotal字段,HlineTotal
                                                        , HTaxPrice, HTaxPrice                   //更新HTaxPrice字段,HTaxPrice
                                                    })
                                                }
                                            });
                                        } else {
                                            obj.update({ //更新表格数据
                                                "HMaterID": HDataTemp.HItemID
                                                , "物料代码": HDataTemp.物料代码
                                                , "物料名称": HDataTemp.物料名称
                                                , "规格型号": HDataTemp.规格型号
                                                , "HUnitID": HDataTemp.HUnitID
                                                , "计量单位": HDataTemp.计量单位名称
                                            })
                                        }
                                        HDataTemp = {};
                                    }
                                }
@@ -2429,6 +2499,95 @@
                        return false;
                    }
                })
                //双击
                $('.layui-table-box tbody td[data-field="物料代码"]').off('dblclick').on('dblclick', function () {
                    var HOrgID = $("#HOrgID").val();
                    layer.open({
                        type: 2
                        , skin: "layui-layer-rim" //加上边框
                        , title: "物料列表"  //标题
                        , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                        , shift: 2 //弹出动画
                        , area: ["90%", "90%"] //窗体大小
                        , maxmin: true //设置最大最小按钮是否显示
                        , content: ['../../基础资料/公用基础资料/Gy_Material.html?openType=2&HOrgID=' + HOrgID, '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("请选择一条数据");
                            }
                            HDataTemp = checkStatus.data[0];
                            layer.close(index);//关闭弹窗
                        }
                        , end: function () {
                            if (typeof (HDataTemp.HItemID) != "undefined") {
                                //通过供应商id获取税率
                                var Dec = getDecByMaterID(obj.data.HMaterID) //获取精度
                                var HQtyDec = (Dec["HQtyDec"] == null || Dec["HQtyDec"] == 0) ? 4 : Dec["HQtyDec"];  //数量精度
                                var HPriceDec = (Dec["HPriceDec"] == null || Dec["HPriceDec"] == 0) ? 4 : Dec["HPriceDec"];  //单价精度
                                var HMoneyDec = (Dec["HMoneyDec"] == null || Dec["HMoneyDec"] == 0) ? 2 : Dec["HMoneyDec"];  //金额精度
                                var HSupID = $("#HSupID").val();
                                if (HSupID != 0) {
                                    $.ajax({
                                        url: GetWEBURL() + "/Gy_Customer/xg",
                                        type: "GET",
                                        async: false,
                                        data: {
                                            "HInterID": HSupID
                                        },
                                        success: function (d) {
                                            var HTaxRate = parseInt(d.data[0].增值税率) * 0.01;
                                            //数据校验合格,重算记录
                                            var HQty = obj.data.HQty * 1;                           //数量
                                            var HPrice = obj.data.HPrice * 1;               //单价
                                            var HMoney = HQty * HPrice;                     //金额=数量*单价
                                            var HTaxMoney = HMoney * (1 + HTaxRate);
                                            var HTaxPrice = Number((HPrice * (1 + HTaxRate)));        //含税单价=单价*(1+税率)
                                            //数字精度
                                            HQty = Number(HQty.toFixed(HQtyDec));
                                            HPrice = Number(HPrice.toFixed(HPriceDec));
                                            HMoney = Number(HMoney.toFixed(HMoneyDec));
                                            HTaxMoney = Number(HTaxMoney.toFixed(HMoneyDec));
                                            HTaxPrice = Number(HTaxPrice.toFixed(HPriceDec));
                                            obj.update({ //更新表格数据
                                                "HMaterID": HDataTemp.HItemID
                                                , "物料代码": HDataTemp.物料代码
                                                , "物料名称": HDataTemp.物料名称
                                                , "规格型号": HDataTemp.规格型号
                                                , "HUnitID": HDataTemp.HUnitID
                                                , "计量单位": HDataTemp.计量单位名称
                                                , "HTaxRate": HTaxRate * 100
                                                , HQty: HQty                               //更新HQty字段,HQty
                                                , HPrice: HPrice                         //更新HPrice字段,HPrice
                                                , HMoney: HMoney                      //更新HMoney字段,HMoney
                                                , HTaxMoney: HTaxMoney                  //更新HTaxMoney字段,HTaxMoney
                                                , HTaxPrice: HTaxPrice                   //更新HTaxPrice字段,HTaxPrice
                                            })
                                        }
                                    });
                                } else {
                                    obj.update({ //更新表格数据
                                        "HMaterID": HDataTemp.HItemID
                                        , "物料代码": HDataTemp.物料代码
                                        , "物料名称": HDataTemp.物料名称
                                        , "规格型号": HDataTemp.规格型号
                                        , "HUnitID": HDataTemp.HUnitID
                                        , "计量单位": HDataTemp.计量单位名称
                                    })
                                }
                                HDataTemp = {};
                            }
                        }
                    })
                });
            }
            //#endregion
@@ -3106,6 +3265,32 @@
            }
            //#endregion
            //#region æ ¹æ®ç‰©æ–™ID获取精度
            function getDecByMaterID(HMaterID) {
                var resultData = {};
                $.ajax({  // å¼‚步请求
                    url: GetWEBURL() + "Gy_Material/getDecByID",  //请求地址
                    async: false,   //是否开启异步
                    type: "GET",   //请求类型
                    data: {   //定义发送到服务器的数据
                        "HMaterID": HMaterID     //  å°†hmaterid作为请求参数发送
                    },
                    success: function (result) {   // å½“请求成功时,执行这个函数
                        if (result.code == 1) { // å¦‚果服务器返回的数据中的`code字段等于1,这可能表示审核操作成功执行
                            var data = result.data; //声明data变量,并将其赋值为result对象中的data属性
                            resultData = data[0];   //将data数组(或类数组对象)的第一个元素赋值给变量resultData
                        }
                        //else {
                        //    layer.alert(result.Message, { icon: 5, btn: ['退出'], time: 100000, offset: 't' }); //result.msg对象,提示弹窗 ç±»åž‹ä¸º5, æŒ‰é’®ï¼Œå’ŒæŒ‰é’®çš„名称为退出  æ—¶é—´ ä¸º100秒,以及偏移量(`offset: 't'
                        //}
                    }, error: function () {
                        layer.alert("发生错误!", { icon: 5 });  //提示弹窗 å‘生错误 ï¼Œè­¦ç¤ºæ ‡å¿—为5的
                    }
                });
                return resultData;
            }
            //#endregion
            //#region èŽ·å–é”€å”®å‡ºåº“å•å¯¹åº”çš„æ¡ç æ˜Žç»†
            function getBarCodeNoteBySellOutBill() {
                $.ajax({