chenhaozhe
2025-05-21 45012c55d231a88bd17d3e6bc8c19a9940266d4e
WebTM/views/ÏúÊÛ¹ÜÀí/ÆäËûÓ¦ÊÕµ¥/YS_ReceiveOtherBillMain.html
@@ -291,6 +291,7 @@
                                    <div class="layui-btn-container">
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-AddLine"><i class="layui-icon layui-icon-form"></i>增加一行</button>
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine"><i class="layui-icon layui-icon-form"></i>复制一行</button>
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                    </div>
                                </script>
                            </div>
@@ -316,6 +317,13 @@
    </script>
    <script>
        //#region æ–‡æœ¬æ¡†è¾“入搜索相关数据-变量
        var childPage = null;                       //获取子窗口对象,用于操作子窗口的变量和方法
        var currRowIndex = 0;                       //用于定位子窗口当前选中的行
        var childData = null;                       //用于获取子窗口返回的数据
        //#endregion
        var HDataTemp = {};
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
@@ -500,6 +508,10 @@
                            form.render('select');
                        }
                        break;
                    //列设置
                    case 'set_HideColumn':
                        get_HideColumn();
                        break;
                }
            });
@@ -519,10 +531,15 @@
                //数值格式校验工具
                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 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 HQtyDec = 4;  //数量精度
                var HPriceDec = 4;  //单价精度
                var HMoneyDec = 2;  //金额精度
                // å•元格编辑之前的值
                var oldText = $(this).prev().text();
                var value = obj.value //得到修改后的值
@@ -600,7 +617,7 @@
                        HQty = Number(HQty.toFixed(HQtyDec));
                        HPrice = Number(HPrice.toFixed(HPriceDec));
                        HMoney = Number(HMoney.toFixed(HMoneyDec));
                        HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
                        //HlineTotal = Number(HlineTotal.toFixed(HMoneyDec));
                        HTaxPrice = Number(HPrice.toFixed(HPriceDec));
                        HSumMoney = dealDoubleToFixed(HSumMoney, 2);
@@ -905,6 +922,8 @@
                option.data = rowdata;
                table.render(option);
                DisPlay_HideColumn();
            }
            //#endregion
@@ -933,6 +952,89 @@
            //#region å­è¡¨ï¼šå¿«æ·é”®(F7)打开弹窗
            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 == "HPMoneyName") {                           //定位当前正在输入的文本框的列名
                            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_ProjectMoney";
                                                var childSWhere = "select top(10) HItemID,项目费用代码 ä»£ç ,项目费用名称 åç§° from " + tableView + " where 1=1 and (项目费用名称 like '%" + value + "%' or é¡¹ç›®è´¹ç”¨ä»£ç  like '%" + value + "%') ";
                                                childPage.getData(childSWhere, tableView);
                                            }, 200);
                                        }
                                        , end: function () {
                                            obj.event = "";
                                            childPage = null;
                                            currRowIndex = 0;
                                            if (childData != null) {
                                                obj.update({
                                                    "HProjectMoneyID": childData.HItemID
                                                    , "HPMoneyName": childData.名称
                                                })
                                                childData = null;
                                            }
                                        }
                                    });
                                } else {
                                    setTimeout(function () {
                                        var value = $(e.currentTarget).val().replace("'", "");                                  //获取文本框最新值
                                        currRowIndex = 0;
                                        var tableView = "h_v_Gy_ProjectMoney";
                                        var childSWhere = "select top(10) HItemID,项目费用代码 ä»£ç ,项目费用名称 åç§° from " + tableView + " where 1=1 and (项目费用名称 like '%" + value + "%' or é¡¹ç›®è´¹ç”¨ä»£ç  like '%" + value + "%') ";
                                        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);
                                    obj.update({
                                        "HProjectMoneyID": childData.HItemID
                                        , "HPMoneyName": childData.名称
                                    })
                                    childPage = null;
                                    currRowIndex = 0;
                                    childData = null;
                                    obj.event = "";
                                }
                            }
                        }
                    }
                    //#endregion
                    if (event.key == "F7") {
                        //器具管理
                        if (obj.event == "HPMoneyName") {
@@ -959,7 +1061,7 @@
                                    layer.close(index);//关闭弹窗
                                }
                                , end: function () {
                                    if (typeof (HDataTemp.HItemID) != "undefined") {
                                    if (typeof(HDataTemp.HItemID) != "undefined") {
                                        //更新表格缓存的数据
                                        obj.update({
                                            "HProjectMoneyID": HDataTemp.HItemID
@@ -971,8 +1073,49 @@
                            });
                        }
                        obj.event = "";
                        return false;
                        //return false;
                    }
                })
                $(document).off('dblclick', ".layui-table-edit").on('dblclick', '.layui-table-edit', function (e) {
                    //器具管理
                    if (obj.event == "HPMoneyName") {
                        //打开器具管理小窗体
                        layer.open({
                            type: 2//弹窗类型
                            , skin: 'layui-layer-rim' //加上边框
                            , area: ['90%', '90%']//大小
                            , title: '项目费用列表'//标题
                            , shift: 2//弹出动画
                            , content: ["../../基础资料/公用基础资料/Gy_ProjectMoney.html?OperationType=2", "yes"]
                            , btn: ['确定', '取消']
                            , btn1: function (index, layero) {//按钮【按钮一】的回调
                                var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                                var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                                if (checkStatus.data.length === 0) {
                                    return layer.msg('请选择数据');
                                }
                                obj.update({
                                    "HProjectMoneyID": checkStatus.data[0].HItemID
                                    , "HPMoneyName": checkStatus.data[0].项目费用名称
                                })
                                layer.close(index);//关闭弹窗
                            }
                            , end: function () {
                                if (typeof (HDataTemp.HItemID) != "undefined") {
                                    //更新表格缓存的数据
                                    obj.update({
                                        "HProjectMoneyID": HDataTemp.HItemID
                                        , "HPMoneyName": HDataTemp.项目费用名称
                                    })
                                    HDataTemp = {};
                                }
                            }
                        });
                    }
                    obj.event = "";
                    //return false;
                })
            }
            //#endregion
@@ -1436,6 +1579,130 @@
                });
            }
            //#endregion
            //#region å­è¡¨1:隐藏列设置
            function get_HideColumn() {
                var colName = "";
                var contentUrl = "";
                for (var i = 1; i < option.cols[0].length - 1; i++) {
                    colName += option.cols[0][i]["title"] + ",";
                }
                var urlStr = window.document.location.pathname;//获取文件路径
                var urlLen = urlStr.split('/');
                for (var i = 0; i < urlLen.length - 4; i++) {
                    contentUrl += "../";
                }
                colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI è¿›è¡Œç¼–码
                contentUrl += '基础资料/隐藏列设置/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName;
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim" //加上边框
                    , title: "隐藏列设置"  //标题
                    , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                    , shift: 2 //弹出动画
                    , area: ["50%", "90%"] //窗体大小
                    , maxmin: true //设置最大最小按钮是否显示
                    , content: [contentUrl, "yes"]
                    , btn: ["确定", "取消"]
                    , btn1: function (index, laero) {
                        //刷新表格数据
                        DisPlay_HideColumn();
                        //更新表格缓存的数据
                        layer.close(index);//关闭弹窗
                    }
                })
            }
            //#endregion
            //#region å­è¡¨1:显示列数据
            function DisPlay_HideColumn() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    async: false,
                    type: "GET",
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    async: false,
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            var titleData = ["HMaterID", "HUnitID", "源单内码", "源单子内码", "源单号", "源单类型", "关联数量", "关联金额", "HQty_Old", "HQty_New"];//不需要显示的字段 å¯æ‰©å±•
                            titleData = [];
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option.cols[0].length - 2; i++) {
                                var dataCols = dataCol[i].split('|');
                                //隐藏列
                                if (dataCols[1] == 1) {
                                    option.cols[0][i + 1]["hide"] = true;
                                }
                                //设置列宽
                                if (dataCols[3] > 0) {
                                    option.cols[0][i + 1]["width"] = dataCols[3];
                                }
                                //设置内容字体大小
                                if (data1.data[0].HFontSize != 0) {
                                    option.cols[0][i + 1]["style"] += "font-size:" + data1.data[0].HFontSize + "px;";
                                } else {
                                    option.cols[0][i + 1]["style"] += "font-size:100%";
                                }
                                //设置列宽
                                //if (data1.data[0].HColumnWidth != 0) {
                                //    option.cols[0][i + 1]["width"] = data1.data[0].HColumnWidth + "px;";
                                //} else {
                                //    option.cols[0][i + 1]["width"] = "";
                                //}
                                //显示列
                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                    option.cols[0][i + 1]["hide"] = false;
                                }
                                //字体所在位置(å·¦ å±…中 å³)
                                switch (dataCols[2]) {
                                    case "L":
                                        option.cols[0][i + 1]["align"] = "left";
                                        break;
                                    case "M":
                                        option.cols[0][i + 1]["align"] = "center";
                                        break;
                                    case "R":
                                        option.cols[0][i + 1]["align"] = "right";
                                        break;
                                }
                                //设置表格title属性显示别名
                                if (dataCols[4] != null && dataCols[4] != "") {
                                    option.cols[0][i + 1]["title"] = dataCols[4];
                                }
                            }
                            //取消冻结列
                            for (var i = 1; i < option.cols[0].length - 1; i++) {
                                if (option.cols[0][i]["fixed"] != null) {
                                    option.cols[0][i]["fixed"] = null;
                                }
                                else {
                                    break;
                                }
                            }
                            //冻结列
                            if (data1.data[0].HFixCols != 0) {
                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
                                        data1.data[0].HFixCols += 1;
                                    }
                                    option.cols[0][i + 1]["fixed"] = "left";
                                }
                            }
                            table.render(option);
                        } else {
                            table.render(option);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                })
            }
            //#endregion
            //#endregion
        });
@@ -1455,7 +1722,7 @@
        function GetProjectMoneyValue(obj)  //返回费用项目
        {
            HDataTemp = obj[0];
            HDataTemp = obj;
        }
        function GetHSupValue(obj)  //返回客户