duhe
2024-10-29 f43e605d15fa4d775b3b37bf9100dc15a4f5d8c3
外购入库:子表物料可根据输入值过滤并显示弹窗供用户选择
2个文件已修改
207 ■■■■■ 已修改文件
WebTM/Properties/PublishProfiles/JFTM.pubxml.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/验收入库/外购入库/Add_Edit_Kf_POStockInBillList.html 205 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/Properties/PublishProfiles/JFTM.pubxml.user
@@ -7363,7 +7363,7 @@
      <publishTime>03/07/2024 09:59:11</publishTime>
    </File>
    <File Include="views/验收入库/外购入库/Add_Edit_Kf_POStockInBillList.html">
      <publishTime>10/11/2024 11:32:36</publishTime>
      <publishTime>10/29/2024 16:28:09</publishTime>
    </File>
    <File Include="views/验收入库/外购入库/Kf_POStockInBackBill.html">
      <publishTime>11/03/2023 21:45:51</publishTime>
WebTM/views/ÑéÊÕÈë¿â/Í⹺Èë¿â/Add_Edit_Kf_POStockInBillList.html
@@ -348,6 +348,12 @@
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    </script>
    <script>
        //#region æ–‡æœ¬æ¡†è¾“入搜索相关数据-变量
        var childPage = null;                       //获取子窗口对象,用于操作子窗口的变量和方法
        var currRowIndex = 0;                       //用于定位子窗口当前选中的行
        var childData = null;                       //用于获取子窗口返回的数据
        //#endregion
        //#region æŠ˜å æ³¨é‡Š
        //#endregion
        layui.config({
@@ -1844,6 +1850,205 @@
            //行内快捷键筛选
            function set_GridCellCheck(obj) {
                $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                    //#region å­è¡¨æ–‡æœ¬æ¡†è¾“入后检索数据
                    if (event.key != "F7") {
                        var errKeys = ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight", "Enter"];
                        if (obj.event == "HMaterID") {                           //定位当前正在输入的文本框的列名
                            if ($.inArray(event.key, errKeys) == -1) {              //如果按下的键位不是 æ–¹å‘键,则刷新弹窗中的数据
                                if (childPage == null) {                            //判断当前子窗口是否已经打开,若未打卡,则打开页面,并获取子窗口的对象
                                    var offset = $(this).offset();                  //获取触发事件的元素的位置,用于定位子窗口打开的位置
                                    var innerHeight = window.innerHeight;
                                    var top = offset.top + 0.05 * innerHeight;
                                    var left = offset.left;
                                    if (top + 0.05 * innerHeight + 0.3 * innerHeight > innerHeight) {
                                        top = top - 0.3 * innerHeight - 0.05 * innerHeight;
                                    }
                                    layer.open({
                                        type: 2                                                                                     //弹窗类型
                                        , skin: 'layui-layer-rim'                                                                   //加上边框
                                        , area: ['25%', '30%']                                                                      //大小
                                        , shadeClose: true                                                                          //点击遮罩时关闭弹窗
                                        , offset: [top, left]
                                        , title: false                                                                              //不显示标题栏
                                        //, title: '项目费用列表'                                                                     //标题
                                        , shift: 2                                                                                  //弹出动画
                                        , closeBtn: 0                                                                               //禁用关闭按钮
                                        , content: ["../../基础资料/通用基础资料/Gy_CommonBaseData.html?OperationType=2", "yes"]
                                        , success: function (layero, index) {
                                            setTimeout(function () {
                                                var value = $(e.currentTarget).val().replace("'", "");                                  //获取文本框最新值
                                                currRowIndex = 0;
                                                var tableView = "h_v_Gy_MaterialList";
                                                var childSWhere = "select top(10) HItemID,物料代码,物料名称,规格型号,HUnitID,计量单位名称 from " + tableView + " where 1=1 and ç»„织名称 = '" + sessionStorage["Organization"] + "' and (物料代码 like '%" + value + "%' or ç‰©æ–™åç§° like '%" + value + "%') order by ç‰©æ–™ä»£ç  desc";
                                                childPage.getData(childSWhere, tableView);
                                            }, 200);
                                        }
                                        , end: function () {
                                            obj.event = "";
                                            childPage = null;
                                            currRowIndex = 0;
                                            if (childData != null) {
                                                OptionData = childData;
                                                //通过供应商id获取税率
                                                var HSupID = $("#HSupID").val();
                                                if (HSupID != 0 && typeof (OptionData.HItemID) != "undefined") {
                                                    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"];  //金额精度
                                                    $.ajax({
                                                        url: GetWEBURL() + "/Gy_Supplier/xg",
                                                        //url: "http://localhost:12761/Gy_Supplier/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));         //税额=金额*税率
                                                            var HTaxPrice = Number((HPrice * (1 + HTaxRate)));        //含税单价=单价*(1+税率)
                                                            var HlineTotal = HMoney + HTaxMoney;            //价税合计=金额+税额
                                                            //数字精度
                                                            HQty = Number(HQty.toFixed(HQtyDec));
                                                            HPrice = Number(HPrice.toFixed(HPriceDec));
                                                            HMoney = Number(HMoney.toFixed(HMoneyDec));
                                                            HTaxMoney = Number(HTaxMoney.toFixed(HMoneyDec));
                                                            HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
                                                            HTaxPrice = Number(HTaxPrice.toFixed(HPriceDec));
                                                            obj.update({ //更新表格数据
                                                                "HMaterID": OptionData.HItemID             //设置HItemID的值为“HBillNo”字段的值HItemID`的值
                                                                , "物料代码": OptionData.物料代码
                                                                , "物料名称": OptionData.物料名称
                                                                , "规格型号": OptionData.规格型号
                                                                , "HUnitID": OptionData.HUnitID
                                                                , "计量单位": OptionData.计量单位名称
                                                                , "HTaxRate": HTaxRate * 100
                                                                , "HQty": HQty                               //更新HQty字段,HQty
                                                                , "HPrice": HPrice                         //更新HPrice字段,HPrice
                                                                , "HMoney": HMoney                      //更新HMoney字段,HMoney
                                                                , "HlineTotal": HlineTotal                  //更新HlineTotal字段,HlineTotal
                                                                , "HTaxPrice": HTaxPrice                   //更新HTaxPrice字段,HTaxPrice
                                                            })
                                                        }
                                                    });
                                                } else if (typeof (OptionData.HItemID) != "undefined") {
                                                    obj.update({ //更新表格数据
                                                        "HMaterID": OptionData.HItemID             //设置HItemID的值为“HBillNo”字段的值HItemID`的值
                                                        , "物料代码": OptionData.物料代码
                                                        , "物料名称": OptionData.物料名称
                                                        , "规格型号": OptionData.规格型号
                                                        , "HUnitID": OptionData.HUnitID
                                                        , "计量单位": OptionData.计量单位名称
                                                    })
                                                }
                                                childData = null;
                                            }
                                        }
                                    });
                                } else {
                                    setTimeout(function () {
                                        var value = $(e.currentTarget).val().replace("'", "");                                  //获取文本框最新值
                                        currRowIndex = 0;
                                        var tableView = "h_v_Gy_MaterialList";
                                        var childSWhere = "select top(10) HItemID,物料代码,物料名称,规格型号,HUnitID,计量单位名称 from " + tableView + " where 1=1 and ç»„织名称 = '" + sessionStorage["Organization"] + "' and (物料代码 like '%" + value + "%' or ç‰©æ–™åç§° like '%" + value + "%')  order by ç‰©æ–™ä»£ç  desc";
                                        childPage.getData(childSWhere, tableView);
                                    }, 200);
                                }
                            } else {                                                    //如果按下的键位是 æ–¹å‘键,则调整窗口中 é€‰ä¸­è¡Œ çš„位置
                                if (event.key == "ArrowUp") {
                                    currRowIndex--;
                                    childPage.setSelectedRow(currRowIndex);
                                } else if (event.key == "ArrowDown") {
                                    currRowIndex++;
                                    childPage.setSelectedRow(currRowIndex);
                                } else if (event.key == "Enter") {
                                    //手动失焦
                                    var element = document.getElementById("HBillNo");
                                    element.focus();
                                    childPage.getSelectedData(currRowIndex);
                                    if (childData != null) {
                                        OptionData = childData;
                                        //通过供应商id获取税率
                                        var HSupID = $("#HSupID").val();
                                        if (HSupID != 0 && typeof (OptionData.HItemID) != "undefined") {
                                            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"];  //金额精度
                                            $.ajax({
                                                url: GetWEBURL() + "/Gy_Supplier/xg",
                                                //url: "http://localhost:12761/Gy_Supplier/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));         //税额=金额*税率
                                                    var HTaxPrice = Number((HPrice * (1 + HTaxRate)));        //含税单价=单价*(1+税率)
                                                    var HlineTotal = HMoney + HTaxMoney;            //价税合计=金额+税额
                                                    //数字精度
                                                    HQty = Number(HQty.toFixed(HQtyDec));
                                                    HPrice = Number(HPrice.toFixed(HPriceDec));
                                                    HMoney = Number(HMoney.toFixed(HMoneyDec));
                                                    HTaxMoney = Number(HTaxMoney.toFixed(HMoneyDec));
                                                    HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
                                                    HTaxPrice = Number(HTaxPrice.toFixed(HPriceDec));
                                                    obj.update({ //更新表格数据
                                                        "HMaterID": OptionData.HItemID             //设置HItemID的值为“HBillNo”字段的值HItemID`的值
                                                        , "物料代码": OptionData.物料代码
                                                        , "物料名称": OptionData.物料名称
                                                        , "规格型号": OptionData.规格型号
                                                        , "HUnitID": OptionData.HUnitID
                                                        , "计量单位": OptionData.计量单位名称
                                                        , "HTaxRate": HTaxRate * 100
                                                        , "HQty": HQty                               //更新HQty字段,HQty
                                                        , "HPrice": HPrice                         //更新HPrice字段,HPrice
                                                        , "HMoney": HMoney                      //更新HMoney字段,HMoney
                                                        , "HlineTotal": HlineTotal                  //更新HlineTotal字段,HlineTotal
                                                        , "HTaxPrice": HTaxPrice                   //更新HTaxPrice字段,HTaxPrice
                                                    })
                                                }
                                            });
                                        } else if (typeof (OptionData.HItemID) != "undefined") {
                                            obj.update({ //更新表格数据
                                                "HMaterID": OptionData.HItemID             //设置HItemID的值为“HBillNo”字段的值HItemID`的值
                                                , "物料代码": OptionData.物料代码
                                                , "物料名称": OptionData.物料名称
                                                , "规格型号": OptionData.规格型号
                                                , "HUnitID": OptionData.HUnitID
                                                , "计量单位": OptionData.计量单位名称
                                            })
                                        }
                                        childData = null;
                                    }
                                    childPage = null;
                                    currRowIndex = 0;
                                    childData = null;
                                    obj.event = "";
                                }
                            }
                        }
                    }
                    //#endregion
                    if (event.key == "F7") {
                        //物料
                        if (obj.event == "HMaterID") {