wtt
2024-12-30 5a07204dd4e4f82269e676f3d61b0414ed8b89ab
采购订单tablselect细节优化
2个文件已修改
56 ■■■■ 已修改文件
WebTM/layuiadmin/modules/tableSelect.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/采购管理/采购订单/Cg_POOrderBillEdit.html 52 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/layuiadmin/modules/tableSelect.js
@@ -1,3 +1,7 @@
/**
 * layui扩展组件
 * è¾“入框的下拉表格选择(分页)
 * */
layui.define(['table', 'jquery', 'form'], function (exports) {
    "use strict";
WebTM/views/²É¹º¹ÜÀí/²É¹º¶©µ¥/Cg_POOrderBillEdit.html
@@ -1582,11 +1582,12 @@
                    }
                })
            }
            //选择物料改变表格信息
            //选择物料单选或多选改变表格信息
            function setTableByHMater(obj, data) {
                checkStatus = data;
                var TaxRate = getHTaxRateByHSupID();
                if (checkStatus.data.length > 1) {
                if (data != []) {
                    checkStatus = data;
                    var TaxRate = getHTaxRateByHSupID();
                    //填入物料和计量单位信息
                    var rowIndex = $(obj.tr).attr("data-index") * 1;  //attr("data-index")用于获取该tr元素上data-index属性的值*1转换类型然后赋值给rowIndex
                    for (var i = 0; i < checkStatus.data.length; i++) {  //判断选中的数据的长度  ç”¨äºŽéåކcheckStatus.data数组中的每个元素
                        if (rowIndex + i >= option.data.length) {           //判断rowIndex + i的索引超出了option.data数组的长度,说明option.data数组需要扩展以包含更多行
@@ -1612,14 +1613,45 @@
                        option.data[rowIndex + i].HTaxRate = TaxRate;
                    }
                    table.render(option); //重新渲染表格以显示更新后的数据
                } else {
                    obj.update({
                        HMaterID: data.data[0]['HItemID'],
                        ç‰©æ–™ä»£ç : data.data[0]['物料代码'],
                        ç‰©æ–™åç§°: data.data[0]['物料名称']
                    })
                    setTableNumber();
                }
            }
            //设置物料金额等参数
            function setTableNumber() {
                var Dec = getDecByMaterID(OptionData.HItemID) //获取精度
                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"];  //金额精度
                //遍历列表
                layui.each(table.cache.mainTable, function (i, item) {
                    var HTaxRate = parseInt(item.HTaxRate) * 0.01;
                    var HExRate = $("#HExRate").val();                      //汇率
                    //数据校验合格,重算记录
                    var HQty = item.HQty * 1;                           //数量
                    var HPrice = item.HPrice * 1;               //单价
                    var HMoney = HQty * HPrice;                     //金额=数量*单价
                    var HTaxMoney = Number((HMoney * HTaxRate));         //税额=金额*税率
                    var HlineTotal = HMoney + HTaxMoney;            //价税合计=金额+税额
                    var HTaxPrice = Number((HPrice * (1 + HTaxRate)));        //含税单价=单价*(1+税率)
                    var HDiscountRate = item.HDiscountRate * 1;   //折扣率
                    var HRelTaxPrice = Number((HTaxPrice * HDiscountRate));   //实际含税单价=含税单价*折扣率
                    var HlineTotalBB = Number(((HMoney + HTaxMoney) * HExRate));     //本位币价税合计=(税额+金额)*汇率
                    //数字精度
                    item.HQty = Number(HQty.toFixed(HQtyDec));
                    item.HPrice = Number(HPrice.toFixed(HPriceDec));
                    item.HMoney = Number(HMoney.toFixed(HMoneyDec));
                    item.HTaxMoney = Number(HTaxMoney.toFixed(HMoneyDec));
                    item.HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
                    item.HTaxPrice = Number(HTaxPrice.toFixed(HPriceDec));
                    item.HRelTaxPrice = Number(HRelTaxPrice.toFixed(HPriceDec));
                    item.HlineTotalBB = Number(HlineTotalBB.toFixed(HMoneyDec));
                });
                table.render(option);
            }
            //行内删除
            function set_GridDelete(obj) {
                var data = obj.data;