wangyi
2025-12-17 e0cc8166acc55ea4aac9adf858c2f61608ed6ddf
修复时间显示的问题
2个文件已修改
3084 ■■■■ 已修改文件
WebTM/views/工资管理/阶梯工价系数/Gy_SteppedPriceCoefficientBillEdit.html 1087 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/工资管理/阶梯工价系数/Gy_SteppedPriceCoefficientBillList.html 1997 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/¹¤×ʹÜÀí/½×Ìݹ¤¼ÛϵÊý/Gy_SteppedPriceCoefficientBillEdit.html
@@ -49,16 +49,16 @@
                                                <input type="date" class="layui-input" lay-verify="HDate" name="HDate" id="HDate" style="padding-left: 80px;">
                                            </div>
                                        </div>
                                            <div class="layui-inline">
                                                <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">工序<label style="color:red"> * </label></label>
                                                <div class="layui-input-block" style="margin-left: 77px;">
                                                    <input type="text" class="layui-input" lay-verify="HProcID" name="HProcID" id="HProcID" style="background-color:#efefef4d;width: 60%;display: inline-block;" placeholder="点击搜索选择工序" readonly>
                                                    <input type="hidden" name="HProcName" id="HProcName">
                                                    <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchHProc" id="btnSearchHProc" style="padding: 0 10px;float: right;margin-right: 3px;">
                                                        <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                                    </button>
                                                </div>
                                           </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">工序<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 77px;">
                                                <input type="text" class="layui-input" lay-verify="HProcName" name="HProcName" id="HProcName" style="background-color:#efefef4d;width: 60%;display: inline-block;" placeholder="点击搜索选择工序" readonly>
                                                <input type="hidden" name="HProcID" id="HProcID">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchHProc" id="btnSearchHProc" style="padding: 0 10px;float: right;margin-right: 3px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                                </button>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline" style="width:500px;">
@@ -226,7 +226,7 @@
            var HModName = "Gy_SteppedPriceCoefficientBill";
            var HStockOrgID = sessionStorage["OrganizationID"];
            var HModuleType = "GYST";
            var HModuleType = "";
            var HPageTitle = get_PageTitle(HModuleType) == "" ? $("h1").html() : get_PageTitle(HModuleType);
            $("h1").html('<b>' + HPageTitle + '</b>');
@@ -349,8 +349,9 @@
                    case 'set_HideColumn':
                        get_HideColumn();
                        break;
                }
            });
                        GYST
                    }
                });
            table.on('tool(mainTable)', function (obj) {
                set_GridDelete(obj);
@@ -475,7 +476,62 @@
            }
            Organ();
            // åœ¨ Organ() å‡½æ•°åŽé¢æ·»åŠ ä»¥ä¸‹ä»£ç 
            /**
             * æ ¹æ®å·¥åºID获取工序名称
             * @param {string} processId - å·¥åºID(HProcID)
             * @param {function} callback - å›žè°ƒå‡½æ•°ï¼ŒæŽ¥æ”¶å·¥åºåç§°ä½œä¸ºå‚æ•°
             */
            function getProcessNameById(processId, callback) {
                if (!processId || processId === "0" || processId === "") {
                    callback('');
                    return;
                }
                // æž„建查询条件
                var sWhere = " and HItemID = '" + processId + "'";
                $.ajax({
                    url: GetWEBURL() + '/Gy_Process/list',
                    type: "GET",
                    data: {
                        "sWhere": sWhere,
                        "user": sessionStorage["HUserName"] || "admin"
                    },
                    success: function (result) {
                        if (result.count == 1 && result.data && result.data.length > 0) {
                            var processName = result.data[0].工序名称 || '';
                            callback(processName);
                        } else {
                            callback('');
                            console.warn('未找到对应的工序信息,工序ID:', processId);
                        }
                    },
                    error: function () {
                        callback('');
                        console.error('获取工序信息失败,工序ID:', processId);
                    }
                });
            }
            /**
             * æ ¹æ®å·¥åºID设置工序名称(自动填充到输入框)
             * @param {string} processId - å·¥åºID
             */
            function setProcessNameById(processId) {
                if (!processId || processId === "0" || processId === "") {
                    $("#HProcName").val('');
                    return;
                }
                getProcessNameById(processId, function (processName) {
                    if (processName) {
                        $("#HProcName").val(processName);
                        layui.form.render();
                    }
                });
            }
            function get_InitGrid() {
                option = {
                    elem: '#mainTable'
@@ -601,68 +657,36 @@
                    // ä¿å­˜åŽŸå§‹å·¥åºID(用于编辑时比较是否修改了工序)
                    originalProcessID = formData.HProcID;
                    try {
                        if (mainData.HDate) {
                            var hDate = new Date(mainData.HDate);
                            formData.HDate = hDate.toISOString().split('T')[0];
                        }
                    // ============ æ–°å¢žï¼šå¦‚æžœAPI没有返回工序名称或名称为空,则通过工序ID自动获取 ============
                    if ((!formData.HProcName || formData.HProcName.trim() === "") &&
                        formData.HProcID && formData.HProcID !== "0") {
                        if (mainData.HMakeDate) {
                            var makeDate = new Date(mainData.HMakeDate);
                            formData.HMakeDate = formatDateTime(makeDate);
                        }
                        console.log("API未返回工序名称,开始自动获取,工序ID:", formData.HProcID);
                        if (mainData.HUpDateDate) {
                            var updateDate = new Date(mainData.HUpDateDate);
                            formData.HUpDateDate = formatDateTime(updateDate);
                        }
                        // è°ƒç”¨èŽ·å–å·¥åºåç§°çš„å‡½æ•°
                        getProcessNameById(formData.HProcID, function (processName) {
                            if (processName) {
                                console.log("自动获取工序名称成功:", processName);
                                // æ›´æ–°formData对象中的工序名称
                                formData.HProcName = processName;
                        if (mainData.HCheckDate) {
                            var checkDate = new Date(mainData.HCheckDate);
                            formData.HCheckDate = formatDateTime(checkDate);
                        }
                        if (mainData.HCloseDate) {
                            var closeDate = new Date(mainData.HCloseDate);
                            formData.HCloseDate = formatDateTime(closeDate);
                        }
                        if (mainData.HDeleteDate) {
                            var deleteDate = new Date(mainData.HDeleteDate);
                            formData.HDeleteDate = formatDateTime(deleteDate);
                        }
                        if (mainData.HBackDate) {
                            var backDate = new Date(mainData.HBackDate);
                            formData.HBackDate = formatDateTime(backDate);
                        }
                    } catch (e) {
                        if (mainData.HDate) formData.HDate = mainData.HDate.toString().split(' ')[0];
                        if (mainData.HMakeDate) formData.HMakeDate = mainData.HMakeDate.toString();
                        if (mainData.HUpDateDate) formData.HUpDateDate = mainData.HUpDateDate.toString();
                        if (mainData.HCheckDate) formData.HCheckDate = mainData.HCheckDate.toString();
                        if (mainData.HCloseDate) formData.HCloseDate = mainData.HCloseDate.toString();
                        if (mainData.HDeleteDate) formData.HDeleteDate = mainData.HDeleteDate.toString();
                        if (mainData.HBackDate) formData.HBackDate = mainData.HBackDate.toString();
                    }
                    layui.form.val("formData", formData);
                    if (formData.HStockOrgID && formData.HStockOrgID !== "0") {
                        $("#HStockOrgID").val(formData.HStockOrgID);
                        form.render('select');
                    }
                    if (mainData.HChecker || mainData.HBillStatus == 2) {
                        $('#btnSave').addClass("layui-btn-disabled").attr("disabled", true);
                        layer.msg("单据已审核,不能编辑", { icon: 2 });
                                // å¤„理表单数据
                                processFormData(mainData, formData);
                            } else {
                                console.warn("未能自动获取工序名称,工序ID:", formData.HProcID);
                                // è®¾ç½®å…¶ä»–表单值
                                processFormData(mainData, formData);
                            }
                        });
                    } else {
                        $('#btnSave').removeClass("layui-btn-disabled").attr("disabled", false);
                        // å¦‚æžœAPI已返回工序名称,直接处理表单数据
                        processFormData(mainData, formData);
                    }
                } else {
                    layer.msg("未获取到主表数据", { icon: 2 });
                }
                // å¤„理子表数据
                if (data.Sub && data.Sub.length > 0) {
                    var subTableData = [];
                    for (var i = 0; i < data.Sub.length; i++) {
@@ -696,446 +720,515 @@
                }
            }
            function formatDateTime(date) {
                if (!date) return "";
            // æ–°å¢žè¾…助函数:处理表单数据
            function processFormData(mainData, formData) {
                try {
                    if (typeof date === 'string') {
                        date = new Date(date);
                    if (mainData.HDate) {
                        var hDate = new Date(mainData.HDate);
                        formData.HDate = hDate.toISOString().split('T')[0];
                    }
                    return date.getFullYear() + "-" +
                        (date.getMonth() + 1).toString().padStart(2, '0') + "-" +
                        date.getDate().toString().padStart(2, '0') + " " +
                        date.getHours().toString().padStart(2, '0') + ":" +
                        date.getMinutes().toString().padStart(2, '0') + ":" +
                        date.getSeconds().toString().padStart(2, '0');
                    if (mainData.HMakeDate) {
                        var makeDate = new Date(mainData.HMakeDate);
                        formData.HMakeDate = formatDateTime(makeDate);
                    }
                    if (mainData.HUpDateDate) {
                        var updateDate = new Date(mainData.HUpDateDate);
                        formData.HUpDateDate = formatDateTime(updateDate);
                    }
                    if (mainData.HCheckDate) {
                        var checkDate = new Date(mainData.HCheckDate);
                        formData.HCheckDate = formatDateTime(checkDate);
                    }
                    if (mainData.HCloseDate) {
                        var closeDate = new Date(mainData.HCloseDate);
                        formData.HCloseDate = formatDateTime(closeDate);
                    }
                    if (mainData.HDeleteDate) {
                        var deleteDate = new Date(mainData.HDeleteDate);
                        formData.HDeleteDate = formatDateTime(deleteDate);
                    }
                    if (mainData.HBackDate) {
                        var backDate = new Date(mainData.HBackDate);
                        formData.HBackDate = formatDateTime(backDate);
                    }
                } catch (e) {
                    return date.toString();
                    if (mainData.HDate) formData.HDate = mainData.HDate.toString().split(' ')[0];
                    if (mainData.HMakeDate) formData.HMakeDate = mainData.HMakeDate.toString();
                    if (mainData.HUpDateDate) formData.HUpDateDate = mainData.HUpDateDate.toString();
                    if (mainData.HCheckDate) formData.HCheckDate = mainData.HCheckDate.toString();
                    if (mainData.HCloseDate) formData.HCloseDate = mainData.HCloseDate.toString();
                    if (mainData.HDeleteDate) formData.HDeleteDate = mainData.HDeleteDate.toString();
                    if (mainData.HBackDate) formData.HBackDate = mainData.HBackDate.toString();
                }
                // è®¾ç½®è¡¨å•值
                layui.form.val("formData", formData);
                // å•独确保工序名称输入框的值正确
                $("#HProcName").val(formData.HProcName || "");
                if (formData.HStockOrgID && formData.HStockOrgID !== "0") {
                    $("#HStockOrgID").val(formData.HStockOrgID);
                    layui.form.render('select');
                }
                if (mainData.HChecker || mainData.HBillStatus == 2) {
                    $('#btnSave').addClass("layui-btn-disabled").attr("disabled", true);
                    layer.msg("单据已审核,不能编辑", { icon: 2 });
                } else {
                    $('#btnSave').removeClass("layui-btn-disabled").attr("disabled", false);
                }
                // é‡æ–°æ¸²æŸ“表单
                layui.form.render();
            }
            // ================ æ–°å¢žï¼šå·¥åºå”¯ä¸€æ€§æ£€æŸ¥å‡½æ•° ================
            function checkProcessUnique() {
                var processID = $("#HProcID").val();
                var currentBillID = $("#HInterID").val();
                var processName = $("#HProcName").val() || "该工序";
                if (processID === "0" || !processID) {
                    return true;
                }
                // ç¼–辑模式:如果工序ID没有变化,则允许
                if (OperationType == 3 && currentBillID && currentBillID !== "0") {
                    if (originalProcessID && originalProcessID === processID) {
                        return true; // å·¥åºæ²¡ä¿®æ”¹ï¼Œå…è®¸ä¿å­˜
                    }
                }
                var index = layer.load(1, { shade: [0.1, '#fff'] });
                var isUnique = true;
                $.ajax({
                    url: GetWEBURL() + "/Gy_SteppedPriceCoefficientBill/CheckProcessUnique",
                    type: "POST",
                    async: false,
                    contentType: "application/json",
                    data: JSON.stringify({
                        "HProcID": processID,
                        "HStockOrgID": $("#HStockOrgID").val(),
                        "ExcludeID": currentBillID || "0",
                        "user": sessionStorage["HUserName"] || "admin"
                    }),
                    success: function (result) {
                        layer.close(index);
                        if (result && result.code == "1") {
                            if (result.data && result.data.exists) {
                                isUnique = false;
                                var existingBillNo = result.data.billNo || "";
                                if (existingBillNo) {
                                    layer.msg(processID + "已在单据[" + existingBillNo + "]中使用,一个工序只能对应一条阶梯工价系数数据!", {
                                        icon: 5,
                                        time: 5000
                                    });
                                } else {
                                    layer.msg(processID + "已存在其他单据中,一个工序只能对应一条阶梯工价系数数据!", {
                                        icon: 5,
                                        time: 5000
                                    });
                                }
                            }
                        } else {
                            layer.msg("工序唯一性检查失败,请稍后重试", { icon: 3 });
                        }
                    },
                    error: function () {
                        layer.close(index);
                        layer.msg("工序唯一性检查服务暂时不可用", { icon: 3 });
                        // ä¸ºäº†ä¸é˜»å¡žç”¨æˆ·ï¼Œè¿™é‡Œè¿”回true,但生产环境应该根据需求调整
                        isUnique = true;
                    }
                });
                return isUnique;
            }
            function set_AddNew(data) {
                if (window.isSaving) {
                    layer.msg("正在保存,请稍候...", { icon: 0 });
                    return;
                }
                window.isSaving = true;
                var originalText = $('#btnSave').text();
                $('#btnSave').text('保存中...').addClass("layui-btn-disabled").attr("disabled", true);
                var tableMain = {
                    "HInterID": $("#HInterID").val() || "0",
                    "HYear": new Date($("#HDate").val()).getFullYear(),
                    "HPeriod": new Date($("#HDate").val()).getMonth() + 1,
                    "HBillType": "GYSTPRICECOEFF",
                    "HBillSubType": "",
                    "HDate": $("#HDate").val() || Format(new Date(), "yyyy-MM-dd"),
                    "HBillNo": $("#HBillNo").val() || "",
                    "HBillStatus": 1,
                    "HRemark": $("#HRemark").val() || "",
                    "HProcID": $("#HProcID").val() || "0",
                    "HEmpID": $("#HEmpID").val() || "0",
                    "HDeptID": $("#HDeptID").val() || "0",
                    "HStockOrgID": $("#HStockOrgID").val() || "0",
                    "HMaker": sessionStorage["HUserName"] || "admin",
                    "HMakeDate": Format(new Date(), "yyyy-MM-dd HH:mm:ss")
                };
                var tableSub = [];
                var tableCache = table.cache["mainTable"];
                if (tableCache && tableCache.length > 0) {
                    for (var i = 0; i < tableCache.length; i++) {
                        var row = tableCache[i];
                        if (row && row != "") {
                            var subItem = {
                                "HSeq": row["HSeq"] || (i + 1),
                                "HMinQty": row["HMinQty"] || "0",
                                "HMaxQty": row["HMaxQty"] || "0",
                                "HPriceCoefficient": row["HPriceCoefficient"] || "1.0",
                                "HMaxPrice": row["HMaxPrice"] || "0",
                                "HRemark": row["HRemark"] || "",
                                "HStockOrgID": row["HStockOrgID"] || $("#HStockOrgID").val() || "0"
                            };
                            tableSub.push(subItem);
                        }
                    }
                }
                tableMain.SubItems = tableSub;
                var requestData = {
                    "oMain": JSON.stringify(tableMain) + ";" + (sessionStorage["HUserName"] || "admin")
                };
                var index = layer.load(2, { time: 0 });
                $.ajax({
                    type: "POST",
                    url: GetWEBURL() + "/Gy_SteppedPriceCoefficientBill/ModifyByID",
                    contentType: "application/json",
                    data: JSON.stringify(requestData),
                    dataType: "json",
                    timeout: 30000,
                    success: function (result) {
                        layer.close(index);
                        window.isSaving = false;
                        $('#btnSave').text(originalText).removeClass("layui-btn-disabled").attr("disabled", false);
                        if (result.code == "1") {
                            layer.msg("保存成功!", { icon: 1, time: 2000 });
                            $('#btnSave').addClass("layui-btn-disabled").attr("disabled", true);
                            if (OperationType == 1) {
                                OperationType = 3;
                            }
                        } else {
                            layer.msg("工序未选择");
                        }
                    },
                    error: function (xhr, status, error) {
                        layer.close(index);
                        window.isSaving = false;
                        $('#btnSave').text(originalText).removeClass("layui-btn-disabled").attr("disabled", false);
                        var errorMsg = "请求失败!<br>";
                        if (status === "timeout") {
                            errorMsg += "请求超时";
                        } else {
                            errorMsg += "错误代码: " + xhr.status + "<br>错误信息: " + error;
                        }
                        layer.msg(errorMsg, { icon: 5, time: 5000 });
                    }
                });
            }
            function AllowLoadData(data) {
                var temp;
                var ref = /^\d+(\.\d+)?$/;
                var refInt = /^\d+$/;
                // è¡¨å¤´æ•°æ®æ£€éªŒ
                if ($("#HBillNo").val() == "") {
                    layer.msg("单据号不能为空!");
                    return false;
                }
                if ($("#HDate").val() == "") {
                    layer.msg("日期不能为空!");
                    return false;
                }
                if ($("#HProcID").val() == "0") {
                    layer.msg("工序未选择!");
                    return false;
                }
                if ($("#HStockOrgID").val() == "0") {
                    layer.msg("组织未选择!");
                    return false;
                }
                // æ–°å¢žï¼šæ£€æŸ¥å·¥åºæ˜¯å¦å·²å­˜åœ¨
                if (!checkProcessUnique()) {
                    return false;
                }
                // å­è¡¨æ•°æ®æ£€éªŒ
                var tableData = table.cache["mainTable"];
                if (!tableData || tableData.length == 0) {
                    layer.msg("请至少添加一条阶梯数据!");
                    return false;
                }
                var validRows = 0;
                for (var i = 0; i < tableData.length; i++) {
                    if (tableData[i] && tableData[i] != "") {
                        validRows++;
                        var rowData = tableData[i];
                        temp = rowData["HMinQty"];
                        if (temp == "" || !refInt.test(temp) || parseInt(temp) < 0) {
                            layer.msg("第" + (i + 1) + "行:最小数量必须为非负整数!");
                            return false;
                        }
                        temp = rowData["HMaxQty"];
                        if (temp == "" || !refInt.test(temp) || parseInt(temp) < 0) {
                            layer.msg("第" + (i + 1) + "行:最大数量必须为非负整数!");
                            return false;
                        }
                        if (parseInt(rowData["HMinQty"]) > parseInt(rowData["HMaxQty"])) {
                            layer.msg("第" + (i + 1) + "行:最小数量不能大于最大数量!");
                            return false;
                        }
                        temp = rowData["HPriceCoefficient"];
                        if (temp == "" || !ref.test(temp) || parseFloat(temp) <= 0) {
                            layer.msg("第" + (i + 1) + "行:工价系数必须为正数!");
                            return false;
                        }
                        temp = rowData["HMaxPrice"];
                        if (temp == "" || !ref.test(temp) || parseFloat(temp) < 0) {
                            layer.msg("第" + (i + 1) + "行:最大工价必须为非负数!");
                            return false;
                        }
                    }
                }
                if (validRows === 0) {
                    layer.msg("请至少添加一条有效的阶梯数据!");
                    return false;
                }
                if (!checkStepNonOverlap(true)) {
                    return false;
                }
                return true;
            }
            function checkStepNonOverlap(isValidation) {
                var tableData = table.cache["mainTable"];
                if (!tableData || tableData.length <= 1) return true;
                var validData = [];
                for (var i = 0; i < tableData.length; i++) {
                    if (tableData[i] && tableData[i] != "") {
                        var minQty = parseInt(tableData[i]["HMinQty"]);
                        var maxQty = parseInt(tableData[i]["HMaxQty"]);
                        if (minQty > maxQty) {
                            if (isValidation) {
                                layer.msg("第" + tableData[i]["HSeq"] + "阶:最小数量不能大于最大数量!");
                                return false;
                            } else {
                                layer.msg("第" + tableData[i]["HSeq"] + "阶:最小数量不能大于最大数量!", { icon: 2 });
                                return false;
                            }
                        }
                        validData.push(tableData[i]);
                    }
                }
                if (validData.length <= 1) return true;
                validData.sort(function (a, b) {
                    return parseInt(a.HMinQty) - parseInt(b.HMinQty);
                });
                for (var i = 1; i < validData.length; i++) {
                    var prevMin = parseInt(validData[i - 1]["HMinQty"]);
                    var prevMax = parseInt(validData[i - 1]["HMaxQty"]);
                    var currMin = parseInt(validData[i]["HMinQty"]);
                    var currMax = parseInt(validData[i]["HMaxQty"]);
                    if (currMin <= prevMax) {
                        if (isValidation) {
                            layer.msg("第" + validData[i]["HSeq"] + "阶与第" + validData[i - 1]["HSeq"] + "阶:阶梯范围重叠!");
                            return false;
                        } else {
                            layer.msg("第" + validData[i]["HSeq"] + "阶与第" + validData[i - 1]["HSeq"] + "阶:阶梯范围重叠!");
                        }
                    }
                }
                return true;
            }
            function updateSeq() {
                var tableData = table.cache["mainTable"];
                if (!tableData) return;
                var seq = 1;
                for (var i = 0; i < tableData.length; i++) {
                    if (tableData[i] && tableData[i] != "") {
                        tableData[i].HSeq = seq;
                        seq++;
                    }
                }
                option.data = tableData;
                table.render(option);
            }
            function set_GridDelete(obj) {
                if (obj.event === 'del') {
                    layer.confirm('真的删除行吗?', function (index) {
                        var oldData = table.cache["mainTable"];
                        if (oldData && obj.tr.data('index') < oldData.length) {
                            oldData.splice(obj.tr.data('index'), 1)
                            option.data = oldData;
                            table.render(option);
                            updateSeq();
                            layer.close(index);
                        }
                    });
                }
            }
            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));
                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);
                    }
                });
            }
            function DisPlay_HideColumn() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    type: "GET",
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    async: false,
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];
                            var titleData = ["行号", "组织ID"];
                            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 (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;
                                }
                            }
                            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;
                function formatDateTime(date) {
                                if (!date) return "";
                                try {
                                    if (typeof date === 'string') {
                                        date = new Date(date);
                                    }
                                    option.cols[0][i + 1]["fixed"] = "left";
                                    return date.getFullYear() + "-" +
                                        (date.getMonth() + 1).toString().padStart(2, '0') + "-" +
                                        date.getDate().toString().padStart(2, '0') + " " +
                                        date.getHours().toString().padStart(2, '0') + ":" +
                                        date.getMinutes().toString().padStart(2, '0') + ":" +
                                        date.getSeconds().toString().padStart(2, '0');
                                } catch (e) {
                                    return date.toString();
                                }
                            }
                            table.render(option);
                        } else {
                            table.render(option);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
        });
                // ================ æ–°å¢žï¼šå·¥åºå”¯ä¸€æ€§æ£€æŸ¥å‡½æ•° ================
                function checkProcessUnique() {
                                var processID = $("#HProcID").val();
                                var currentBillID = $("#HInterID").val();
                                var processName = $("#HProcName").val() || "该工序";
                                if (processID === "0" || !processID) {
                                    return true;
                                }
                                // ç¼–辑模式:如果工序ID没有变化,则允许
                                if (OperationType == 3 && currentBillID && currentBillID !== "0") {
                                    if (originalProcessID && originalProcessID === processID) {
                                        return true; // å·¥åºæ²¡ä¿®æ”¹ï¼Œå…è®¸ä¿å­˜
                                    }
                                }
                                var index = layer.load(1, { shade: [0.1, '#fff'] });
                                var isUnique = true;
                                $.ajax({
                                    url: GetWEBURL() + "/Gy_SteppedPriceCoefficientBill/CheckProcessUnique",
                                    type: "POST",
                                    async: false,
                                    contentType: "application/json",
                                    data: JSON.stringify({
                                        "HProcID": processID,
                                        "HStockOrgID": $("#HStockOrgID").val(),
                                        "ExcludeID": currentBillID || "0",
                                        "user": sessionStorage["HUserName"] || "admin"
                                    }),
                                    success: function (result) {
                                        layer.close(index);
                                        if (result && result.code == "1") {
                                            if (result.data && result.data.exists) {
                                                isUnique = false;
                                                var existingBillNo = result.data.billNo || "";
                                                if (existingBillNo) {
                                                    layer.msg(processName + "已在单据[" + existingBillNo + "]中使用,一个工序只能对应一条阶梯工价系数数据!", {
                                                        icon: 5,
                                                        time: 5000
                                                    });
                                                } else {
                                                    layer.msg(processName + "已存在其他单据中,一个工序只能对应一条阶梯工价系数数据!", {
                                                        icon: 5,
                                                        time: 5000
                                                    });
                                                }
                                            }
                                        } else {
                                            layer.msg("工序唯一性检查失败,请稍后重试", { icon: 3 });
                                        }
                                    },
                                    error: function () {
                                        layer.close(index);
                                        layer.msg("工序唯一性检查服务暂时不可用", { icon: 3 });
                                        // ä¸ºäº†ä¸é˜»å¡žç”¨æˆ·ï¼Œè¿™é‡Œè¿”回true,但生产环境应该根据需求调整
                                        isUnique = true;
                                    }
                                });
                                return isUnique;
                            }
                function set_AddNew(data) {
                                if (window.isSaving) {
                                    layer.msg("正在保存,请稍候...", { icon: 0 });
                                    return;
                                }
                                window.isSaving = true;
                                var originalText = $('#btnSave').text();
                                $('#btnSave').text('保存中...').addClass("layui-btn-disabled").attr("disabled", true);
                                var tableMain = {
                                    "HInterID": $("#HInterID").val() || "0",
                                    "HYear": new Date($("#HDate").val()).getFullYear(),
                                    "HPeriod": new Date($("#HDate").val()).getMonth() + 1,
                                    "HBillType": "",
                                    "HBillSubType": "",
                                    "HDate": $("#HDate").val() || Format(new Date(), "yyyy-MM-dd"),
                                    "HBillNo": $("#HBillNo").val() || "",
                                    "HBillStatus": 1,
                                    "HRemark": $("#HRemark").val() || "",
                                    "HProcID": $("#HProcID").val() || "0",
                                    "HEmpID": $("#HEmpID").val() || "0",
                                    "HDeptID": $("#HDeptID").val() || "0",
                                    "HStockOrgID": $("#HStockOrgID").val() || "0",
                                    "HMaker": sessionStorage["HUserName"] || "admin",
                                    "HMakeDate": Format(new Date(), "yyyy-MM-dd HH:mm:ss")
                                };
                                var tableSub = [];
                                var tableCache = table.cache["mainTable"];
                                if (tableCache && tableCache.length > 0) {
                                    for (var i = 0; i < tableCache.length; i++) {
                                        var row = tableCache[i];
                                        if (row && row != "") {
                                            var subItem = {
                                                "HSeq": row["HSeq"] || (i + 1),
                                                "HMinQty": row["HMinQty"] || "0",
                                                "HMaxQty": row["HMaxQty"] || "0",
                                                "HPriceCoefficient": row["HPriceCoefficient"] || "1.0",
                                                "HMaxPrice": row["HMaxPrice"] || "0",
                                                "HRemark": row["HRemark"] || "",
                                                "HStockOrgID": row["HStockOrgID"] || $("#HStockOrgID").val() || "0"
                                            };
                                            tableSub.push(subItem);
                                        }
                                    }
                                }
                                tableMain.SubItems = tableSub;
                                var requestData = {
                                    "oMain": JSON.stringify(tableMain) + ";" + (sessionStorage["HUserName"] || "admin")
                                };
                                var index = layer.load(2, { time: 0 });
                                $.ajax({
                                    type: "POST",
                                    url: GetWEBURL() + "/Gy_SteppedPriceCoefficientBill/ModifyByID",
                                    contentType: "application/json",
                                    data: JSON.stringify(requestData),
                                    dataType: "json",
                                    timeout: 30000,
                                    success: function (result) {
                                        layer.close(index);
                                        window.isSaving = false;
                                        $('#btnSave').text(originalText).removeClass("layui-btn-disabled").attr("disabled", false);
                                        if (result.code == "1") {
                                            layer.msg("保存成功!", { icon: 1, time: 2000 });
                                            $('#btnSave').addClass("layui-btn-disabled").attr("disabled", true);
                                            if (OperationType == 1) {
                                                OperationType = 3;
                                            }
                                        } else {
                                            layer.msg("工序未选择");
                                        }
                                    },
                                    error: function (xhr, status, error) {
                                        layer.close(index);
                                        window.isSaving = false;
                                        $('#btnSave').text(originalText).removeClass("layui-btn-disabled").attr("disabled", false);
                                        var errorMsg = "请求失败!<br>";
                                        if (status === "timeout") {
                                            errorMsg += "请求超时";
                                        } else {
                                            errorMsg += "错误代码: " + xhr.status + "<br>错误信息: " + error;
                                        }
                                        layer.msg(errorMsg, { icon: 5, time: 5000 });
                                    }
                                });
                            }
                function AllowLoadData(data) {
                                var temp;
                                var ref = /^\d+(\.\d+)?$/;
                                var refInt = /^\d+$/;
                                // è¡¨å¤´æ•°æ®æ£€éªŒ
                                if ($("#HBillNo").val() == "") {
                                    layer.msg("单据号不能为空!");
                                    return false;
                                }
                                if ($("#HDate").val() == "") {
                                    layer.msg("日期不能为空!");
                                    return false;
                                }
                                if ($("#HProcID").val() == "0") {
                                    layer.msg("工序未选择!");
                                    return false;
                                }
                                if ($("#HStockOrgID").val() == "0") {
                                    layer.msg("组织未选择!");
                                    return false;
                                }
                                // æ–°å¢žï¼šæ£€æŸ¥å·¥åºæ˜¯å¦å·²å­˜åœ¨
                                if (!checkProcessUnique()) {
                                    return false;
                                }
                                // å­è¡¨æ•°æ®æ£€éªŒ
                                var tableData = table.cache["mainTable"];
                                if (!tableData || tableData.length == 0) {
                                    layer.msg("请至少添加一条阶梯数据!");
                                    return false;
                                }
                                var validRows = 0;
                                for (var i = 0; i < tableData.length; i++) {
                                    if (tableData[i] && tableData[i] != "") {
                                        validRows++;
                                        var rowData = tableData[i];
                                        temp = rowData["HMinQty"];
                                        if (temp == "" || !refInt.test(temp) || parseInt(temp) < 0) {
                                            layer.msg("第" + (i + 1) + "行:最小数量必须为非负整数!");
                                            return false;
                                        }
                                        temp = rowData["HMaxQty"];
                                        if (temp == "" || !refInt.test(temp) || parseInt(temp) < 0) {
                                            layer.msg("第" + (i + 1) + "行:最大数量必须为非负整数!");
                                            return false;
                                        }
                                        if (parseInt(rowData["HMinQty"]) > parseInt(rowData["HMaxQty"])) {
                                            layer.msg("第" + (i + 1) + "行:最小数量不能大于最大数量!");
                                            return false;
                                        }
                                        temp = rowData["HPriceCoefficient"];
                                        if (temp == "" || !ref.test(temp) || parseFloat(temp) <= 0) {
                                            layer.msg("第" + (i + 1) + "行:工价系数必须为正数!");
                                            return false;
                                        }
                                        temp = rowData["HMaxPrice"];
                                        if (temp == "" || !ref.test(temp) || parseFloat(temp) < 0) {
                                            layer.msg("第" + (i + 1) + "行:最大工价必须为非负数!");
                                            return false;
                                        }
                                    }
                                }
                                if (validRows === 0) {
                                    layer.msg("请至少添加一条有效的阶梯数据!");
                                    return false;
                                }
                                if (!checkStepNonOverlap(true)) {
                                    return false;
                                }
                                return true;
                            }
                function checkStepNonOverlap(isValidation) {
                                var tableData = table.cache["mainTable"];
                                if (!tableData || tableData.length <= 1) return true;
                                var validData = [];
                                for (var i = 0; i < tableData.length; i++) {
                                    if (tableData[i] && tableData[i] != "") {
                                        var minQty = parseInt(tableData[i]["HMinQty"]);
                                        var maxQty = parseInt(tableData[i]["HMaxQty"]);
                                        if (minQty > maxQty) {
                                            if (isValidation) {
                                                layer.msg("第" + tableData[i]["HSeq"] + "阶:最小数量不能大于最大数量!");
                                                return false;
                                            } else {
                                                layer.msg("第" + tableData[i]["HSeq"] + "阶:最小数量不能大于最大数量!", { icon: 2 });
                                                return false;
                                            }
                                        }
                                        validData.push(tableData[i]);
                                    }
                                }
                                if (validData.length <= 1) return true;
                                validData.sort(function (a, b) {
                                    return parseInt(a.HMinQty) - parseInt(b.HMinQty);
                                });
                                for (var i = 1; i < validData.length; i++) {
                                    var prevMin = parseInt(validData[i - 1]["HMinQty"]);
                                    var prevMax = parseInt(validData[i - 1]["HMaxQty"]);
                                    var currMin = parseInt(validData[i]["HMinQty"]);
                                    var currMax = parseInt(validData[i]["HMaxQty"]);
                                    if (currMin <= prevMax) {
                                        if (isValidation) {
                                            layer.msg("第" + validData[i]["HSeq"] + "阶与第" + validData[i - 1]["HSeq"] + "阶:阶梯范围重叠!");
                                            return false;
                                        } else {
                                            layer.msg("第" + validData[i]["HSeq"] + "阶与第" + validData[i - 1]["HSeq"] + "阶:阶梯范围重叠!");
                                        }
                                    }
                                }
                                return true;
                            }
                function updateSeq() {
                                var tableData = table.cache["mainTable"];
                                if (!tableData) return;
                                var seq = 1;
                                for (var i = 0; i < tableData.length; i++) {
                                    if (tableData[i] && tableData[i] != "") {
                                        tableData[i].HSeq = seq;
                                        seq++;
                                    }
                                }
                                option.data = tableData;
                                table.render(option);
                            }
                function set_GridDelete(obj) {
                                if (obj.event === 'del') {
                                    layer.confirm('真的删除行吗?', function (index) {
                                        var oldData = table.cache["mainTable"];
                                        if (oldData && obj.tr.data('index') < oldData.length) {
                                            oldData.splice(obj.tr.data('index'), 1)
                                            option.data = oldData;
                                            table.render(option);
                                            updateSeq();
                                            layer.close(index);
                                        }
                                    });
                                }
                            }
                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));
                                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);
                                    }
                                });
                            }
                function DisPlay_HideColumn() {
                                $.ajax({
                                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                                    type: "GET",
                                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                                    async: false,
                                    success: function (data1) {
                                        if (data1.data.length != 0) {
                                            var dataCol = [];
                                            var titleData = ["行号", "组织ID"];
                                            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 (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;
                                                }
                                            }
                                            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 });
                                    }
                                });
                            }
            });
        function get_checkSearchHProc() {
            layer.open({
WebTM/views/¹¤×ʹÜÀí/½×Ìݹ¤¼ÛϵÊý/Gy_SteppedPriceCoefficientBillList.html
@@ -15,9 +15,27 @@
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/HideButton.js"></script>
    <script src="../../../layuiadmin/soulTable.slim.js"></script>
    <script src="../../../layuiadmin/PageTitle.js"></script>
    <script src="../../../layuiadmin/SetColumn.js"></script>
    <script src="../../../layuiadmin/HideButton_New.js"></script>
    <script src="../../../layuiadmin/QueryScheme.js"></script>
    <script>
        // ç¡®ä¿æ‰€æœ‰éœ€è¦çš„函数都已定义
        window.onload = function () {
            // å®šä¹‰ Format ä½œä¸º Pub_Format çš„别名(如果 Pub_Format å­˜åœ¨ï¼‰
            if (typeof Pub_Format !== 'undefined' && typeof Format === 'undefined') {
                window.Format = Pub_Format;
            }
            // æ£€æŸ¥ SetColumn.js æ˜¯å¦åŠ è½½æˆåŠŸ
            console.log("页面加载完成检查:");
            console.log("Pub_Format:", typeof Pub_Format);
            console.log("Format:", typeof Format);
            console.log("DisPlay_HideColumn_GetPageSize:", typeof DisPlay_HideColumn_GetPageSize);
        };
    </script>
    <style type="text/css">
        input.layui-input.layui-unselect {
@@ -195,343 +213,687 @@
                , element = layui.element
                , laypage = layui.laypage
                , laydate = layui.laydate
                , util = layui.util
                , soulTable = layui.soulTable
            // æ£€æŸ¥å…¨å±€å‡½æ•°
            console.log("全局函数检查:");
            console.log("Pub_Format:", typeof Pub_Format);
            console.log("GetWEBURL:", typeof GetWEBURL);
            var HModName = "Gy_SteppedPriceCoefficientBillList";
            var HBillType = "GYSTPRICECOEFF";
            var HMaker = sessionStorage["HUserName"]
            var HStockOrgID = sessionStorage["OrganizationID"]  //组织ID
            var sWhere = "";
            var ins;                //用于导出excel
            var option = [];
            var page = 1;//分页数据
            var size = 50;
            var columns = "";
            var titleData = [];     //不需要显示的字段
            //#endregion
            var HMaker = sessionStorage["HUserName"];
            var Organization = sessionStorage["Organization"];
            //#region ã€åŠ¨æ€èŽ·å–æ¨¡å—åç§°ã€‘
            //通过单据类型,从数据库动态获取单据模块命名,引用js文件 PageTitle.js
            var HPageTitle = get_PageTitle(HBillType) == "" ? document.title : get_PageTitle(HBillType);
            //#endregion
            // æŸ¥è¯¢æ¡ä»¶
            var sWhere = "";
            var option = {};
            var page = 1;
            var size = 50;
            var set_HideButton_ID = "toolbarDemo_ButtonSet"; // æŒ‰é’®å®¹å™¨ID
            //#region ã€è¿‡æ»¤æ–¹æ¡ˆã€‘
            //过滤条件的classç±»
            var HClassTag = "ForFilteringSchemes";
            window.HClassTag = "ForFilteringSchemes";
            //模块名称(中文版) æ¯ä¸ªæ¨¡å—页面都需要修改
            window.HModuleName = "阶梯工价系数单列表";
            //是否已经选择了过滤方案(全局变量)
            window.HDefaultFilter = "";
            //选择的过滤方案内码(全局变量)
            window.HInterID_Choose = 0;
            //#endregion
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
            //#region è¿›å…¥é¡µé¢æ—¢åŠ è½½
            //#region åˆå§‹åŒ–界面
            set_ClearBill();
            function set_ClearBill() {
                // åˆå§‹åŒ–制单日期范围(最近30天)
                var endDate = new Date();
                var startDate = new Date(endDate - 1000 * 60 * 60 * 24 * 30);
                $("#HMakeDate_Begin").val(Pub_Format(startDate, "yyyy-MM-dd"));
                $("#HMakeDate_End").val(Pub_Format(endDate, "yyyy-MM-dd"));
                //初始化表格
                set_InitGrid();
                //查询当前登录用户有没有在当前模块设置默认过滤方案
                get_DefaultModule();
            //初始化表格
            set_InitGrid();
            //初始化页大小
            if (typeof DisPlay_HideColumn_GetPageSize === 'function') {
                DisPlay_HideColumn_GetPageSize(HModName, sessionStorage["HUserName"], option);
            }
            //加载数据到网格
            get_FastQuery();
            //查询当前登录用户有没有在当前模块设置默认过滤方案
            if (typeof get_DefaultModule === 'function') {
                get_DefaultModule(get_FastQuery);
            }
            //#endregion
            //#region åˆå§‹åŒ–表格方法
            function set_InitGrid() {
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , page: false
                    , totalRow: true
                    , height: 'full-50'
                    , cellMinWidth: 90
                    , limit: 50
                    , limits: [50, 500, 5000, 20000]
                    , done: function (res, curr, count) {
                        soulTable.render(this);
                    }
                };
                optionPage = {
                    elem: 'page', //注意,这里的 page æ˜¯ ID,不用加 # å·
                    count: 10000, //数据总数,从服务端得到
                    limit: 50,
                    limits: [50, 500, 5000, 50000],
                    layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'],
                    jump: function (obj, first) {
                        //首次不执行
                        if (!first) {
                            //do something
                            page = obj.curr;
                            size = obj.limit;
                            get_FastQuery();
                        }
                    }
                }
                laypage.render(optionPage);
            }
            //#endregion
            //#region ç‚¹å‡»è¡Œé€‰ä¸­é«˜äº®
            table.on('row(mainTable)', function (obj) {
                //选中行改变颜色
                var flag = !obj.tr.find(':checkbox:first').prop('checked');
                obj.tr.find(':checkbox').prop('checked', flag);
                if (flag) {
                    obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');  //设置复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:#ceedfa;color:black" });//改变当前tr背景颜色和字体颜色
                } else {
                    obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:" });//取消当前tr颜色
                }
                //mainTable ä¸ºè¡¨æ ¼ID   æ³¨æ„æ­¤å¤„如果ID不正确将导致你在监听复选框时获取不到你选择的数据,前面的只是添加或删除选中未选中样式以及设置背景色,字体颜色
                layui.each(table.cache.mainTable, function (i, l) {
                    if (obj.tr.index() == l.LAY_TABLE_INDEX) {
                        l.LAY_CHECKED = flag;
                    }
                });
            })
            //#endregion
            table.on('tool(mainTable)', function (obj) {
                var data = obj.data;
                if (obj.event == '单据号') {
                    // å®‰å…¨èŽ·å–HInterID
                    var HInterID = data.HInterID ? data.HInterID.toString() : "";
                    var HBillNo = data.HBillNo || "";
                    if (!HInterID || HInterID === "0") {
                        HInterID = data.hmainid ? data.hmainid.toString() : "";
                    }
                    console.log("点击单据号:", HBillNo, "HInterID:", HInterID);
                    if (HInterID && HInterID !== "0") {
                        layer.open({
                            type: 2,
                            area: ['100%', '100%'],
                            title: HPageTitle + ' - ç¼–辑(' + HBillNo + ')',
                            shift: 0,
                            content: '../../工资管理/阶梯工价系数/Gy_SteppedPriceCoefficientBillEdit.html?OperationType=3&linterid=' + HInterID + '&HSouceBillType=',
                            btn: ['确定'],
                            end: function (index, layero, that) {
                                $("#btnSearch").trigger('click');
                            }
                        });
                    } else {
                        console.error("无法获取有效的HInterID字段,数据:", data);
                        layer.msg("无法打开单据,单据ID无效", { icon: 5 });
                    }
                }
            });
            //#region æ˜¾ç¤ºåˆ—数据
            function DisPlay_HideColumn() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    type: "GET",
                    async: false,
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            var newCols = [[]];//对应数据库列顺序col
                            newCols[0].push(option.cols[0][0]);//放入第一个checkbox
                            dataCol = data1.data[0].HGridString.split(',');
                            //列设置列数与页面列数是否一致
                            if (dataCol.length == option.cols[0].length - 1) {
                                //遍历寻找列设置对应列按顺序插入
                                for (var j = 0; j < option.cols[0].length - 1; j++) {
                                    for (var i = 0; i < option.cols[0].length - 1; i++) {
                                        var dataCols = dataCol[j].split('|');
                                        //选择与datacols相应列进行修改
                                        if (option.cols[0][i + 1]["field"] == dataCols[5]) {
                                            //隐藏列
                                            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 (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                                option.cols[0][i + 1]["hide"] = false;
                                            }
                                            //统计列
                                            if (dataCols[6] == 1) {
                                                option.cols[0][i + 1]["totalRow"] = true;
                                            }
                                            //字体所在位置(å·¦ å±…中 å³)
                                            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];
                                            }
                                            newCols[0].push(option.cols[0][i + 1]);
                                        }
                                    }
                                }
                                //遍历循环后判断对应列数是否一致
                                if (dataCol.length == newCols[0].length - 1) {
                                    option.cols = newCols;
                                    //取消冻结列
                                    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";
                                        }
                                    }
                                }
                            }
                            ins=table.render(option);
                        } else {
                            ins=table.render(option);
                        }
                        //刷新按钮显示
                        var btns = document.getElementsByTagName("button");     //获取本页所有按钮对象
                        Display_HideButton(btns, HBillType, HModName, HMaker);
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                })
            }
            //#endregion
            //#endregion
            //#region æœ¬é¡µé¢æ‰€æœ‰è¢«è°ƒç”¨çš„æ–¹æ³•
            //#region å·¥å…·æ äº‹ä»¶
            //#region ç‚¹å‡»äº‹ä»¶åŒ…括on form事件等
            //头工具栏事件
            table.on('toolbar(mainTable)', function (obj) {
                switch (obj.event) {
                    //导出按钮
                    case 'btn_Export': btn_Export();
                        break;
                    //新增按钮
                    case 'btn_Add': btn_Add();
                        break;
                    //编辑按钮
                    case 'btn_Edit': btn_Edit();
                        break;
                    //打印
                    case 'btn-print':
                        get_PrintReport();
                        break;
                    //删除按钮
                    case 'btn_Delete': btn_Delete();
                        break;
                    //刷新按钮
                    case 'btn_Refresh': btn_Refresh();
                    //打印
                    case 'btn-print': get_PrintReport();
                        break;
                    //审核按钮      ï¼ˆ1:审核、2:反审核)
                    //审核
                    case 'btn_Audit': set_CheckBill(1);
                        break;
                    //反审核按钮
                    //反审核
                    case 'btn_DeAudit': set_CheckBill(2);
                        break;
                    //关闭按钮        ï¼ˆ1:关闭、2:反关闭)
                    //刷新
                    case 'btn_Refresh': btn_Refresh();
                        break;
                    //关闭
                    case 'btn_Close': set_CloseBill(1);
                        break;
                    //反关闭按钮
                    //反关闭
                    case 'btn_DeClose': set_CloseBill(2);
                        break;
                    //作废按钮        ï¼ˆ1:作废、2:反作废)
                    //作废
                    case 'btn_Drop': set_DropBill(1);
                        break;
                    //反作废按钮
                    //反作废
                    case 'btn_DeDrop': set_DropBill(2);
                        break;
                    //退出按钮
                    case 'btn_Exit': Pub_Close(2);
                    //退出
                    case 'btn_Exit':
                        if (typeof Pub_Close === 'function') {
                            Pub_Close(2);
                        }
                        break;
                    //列设置
                    case 'btn_HideColumn': get_HideColumn();
                    case 'btn_HideColumn':
                        if (typeof get_HideColumnNoPage === 'function') {
                            get_HideColumnNoPage(HModName, sessionStorage["HUserName"], option, get_FastQuery);
                        }
                        break;
                    //按钮设置
                    case 'btn_HideButton':
                        var btns = document.getElementsByTagName("button");     //获取本页所有按钮对象
                        get_HideButton(btns, HBillType, HModName, HMaker);
                        if (typeof get_HideButton === 'function') {
                            get_HideButton(set_HideButton_ID, HBillType, HModName, sessionStorage["HUserName"]);
                        }
                        break;
                    //保存方案
                    case 'btn_SaveScheme': set_SaveScheme();
                    case 'btn_SaveScheme':
                        if (typeof set_SaveScheme === 'function') {
                            set_SaveScheme(get_FastQuery);
                        }
                        break;
                    //读取方案
                    case 'btn_ReadScheme': set_ReadScheme();
                    case 'btn_ReadScheme':
                        if (typeof set_ReadScheme === 'function') {
                            set_ReadScheme(get_FastQuery);
                        }
                        break;
                    //导出
                    case 'btn_Export': btn_Export();
                        break;
                };
            });
            //重置按钮
            form.on('submit(btnReSearch)', function (data) {
                set_ClearQuery();
                get_FastQuery();
            });
            //刷新
            function btn_Refresh() {
                $("#btnSearch").click();
                // åˆ·æ–°åŽé‡æ–°è®¾ç½®åˆ—标题
                setTimeout(refreshTableWithChineseTitles, 500);
            }
            //查询按钮
            form.on('submit(btnSearch)', function (data) {
                get_FastQuery();
            });
            //输入框回车方法
            $('input').on('keydown', function (event) {
                if (event.keyCode == 13) {
                    get_FastQuery();
                }
            });
            //#endregion
            //#region å¯¼å‡ºExecel
            //#region å¯¼å‡ºExecel
            function btn_Export() {
                var data;
                //设置sWhere
                var ajaxLoad = layer.load();
            //#region æ­¤é¡µé¢æ‰€æœ‰æ–¹æ³•
            //初始化表格
            function set_InitGrid() {
                console.log("=== set_InitGrid å¼€å§‹ ===");
                // ä½¿ç”¨åˆ¶å•日期作为创建时间过滤
                var HMakeDate_Begin = $("#HMakeDate_Begin").val();  // å¼€å§‹åˆ¶å•日期
                var HMakeDate_End = $("#HMakeDate_End").val();      // ç»“束制单日期
                var HBillNo = $("#HBillNo").val();                  // å•据号
                // è®¾ç½®æ—¥æœŸé»˜è®¤å€¼
                var endDate = new Date();
                var startDate = new Date(endDate - 1000 * 60 * 60 * 24 * 30);
                if (typeof Pub_Format === 'function') {
                    console.log("使用 Pub_Format å‡½æ•°");
                    $("#HMakeDate_Begin").val(Pub_Format(startDate, "yyyy-MM-dd"));
                    $("#HMakeDate_End").val(Pub_Format(endDate, "yyyy-MM-dd"));
                } else {
                    console.log("Pub_Format ä¸å­˜åœ¨ï¼Œä½¿ç”¨åŽŸç”Ÿæ–¹æ³•");
                    $("#HMakeDate_Begin").val(startDate.toISOString().split('T')[0]);
                    $("#HMakeDate_End").val(endDate.toISOString().split('T')[0]);
                }
                console.log("开始日期值:", $("#HMakeDate_Begin").val());
                console.log("结束日期值:", $("#HMakeDate_End").val());
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , page: false
                    , cellMinWidth: 120
                    , totalRow: true
                    , limit: 50
                    , height: 'full-50'
                    , cols: []  // åˆå§‹ä¸ºç©ºï¼ŒåŠ¨æ€åŠ è½½
                    , limits: [50, 500, 5000, 20000]
                    , done: function (res, curr, count) {
                        console.log("=== è¡¨æ ¼æ¸²æŸ“完成回调 ===");
                        console.log("总条数:", count);
                        console.log("表格数据条数:", res.data ? res.data.length : 0);
                        if (count === 0) {
                            console.warn("表格数据为空!");
                            layer.msg("暂无数据", { icon: 3 });
                        }
                        if (typeof soulTable !== 'undefined') {
                            soulTable.render(this);
                        }
                    }
                };
                console.log("表格初始化完成");
            }
            // å­—段名到中文标题的映射
            function getColumnChineseTitle(fieldName) {
                var titleMap = {
                    // ä¸»è¡¨å­—段
                    "HInterID": "单据内码",
                    "HItemMainID": "主表内码",
                    "HBillNo": "单据号",
                    "HDate": "单据日期",
                    "HYear": "年份",
                    "HPeriod": "月份",
                    "HBillType": "单据类型",
                    "HBillSubType": "单据子类型",
                    "HBillStatus": "单据状态",
                    "HRemark": "主表备注",
                    "HChecker": "审核人",
                    "HCheckDate": "审核日期",
                    "HMaker": "制单人",
                    "HMakeDate": "制单日期",
                    "HUpDater": "修改人",
                    "HUpDateDate": "修改日期",
                    "HCloseMan": "关闭人",
                    "HCloseDate": "关闭日期",
                    "HCloseType": "关闭类型",
                    "HDropMan": "作废人",
                    "HDropDate": "作废日期",
                    "HReturnMan": "退回人",
                    "HReturnDate": "退回日期",
                    "HReturnReason": "退回原因",
                    "HProcID": "工序ID",
                    "HEmpID": "负责人ID",
                    "HDeptID": "部门ID",
                    "HStockOrgID": "组织ID",
                    // å­è¡¨å­—段
                    "HItemID": "子表内码",
                    "RowNum": "序号",
                    "HMinQty": "最小数量",
                    "HMaxQty": "最大数量",
                    "HCoefficient": "工价系数",
                    "HMaxPrice": "最大工价",
                    "HRowCloseMan": "行关闭人",
                    "HRowCloseDate": "行关闭日期",
                    "HRowCloseType": "行关闭类型",
                    "HRowRemark": "子表备注",
                    "HRelativeQty": "关联数量",
                    "HRelativeMoney": "关联金额",
                    "HSubStockOrgID": "子表组织ID",
                    "HSourceHInterID": "源单ID",
                    "HSourceItemID": "源单子ID",
                    "HSourceBillNo": "源单单号",
                    "HSourceBillType": "源单类型",
                    // æ–°å¢žçš„æ±‡æ€»å­—段
                    "TotalMinQty": "总最小数量",
                    "TotalMaxQty": "总最大数量",
                    "TotalCoefficient": "总系数",
                    "SubCount": "子表行数",
                    "TotalMaxPrice": "总价格"
                };
                return titleMap[fieldName] || fieldName;
            }
            // ========== æ ¸å¿ƒä¿®å¤ï¼šç›´æŽ¥ä½¿ç”¨é¢„处理数据 ==========
            // åŸºäºŽæŽ§åˆ¶å°æ˜¾ç¤ºçš„æ•°æ®æ ¼å¼è¿›è¡Œç®€å•处理
            // è¶…级简单的日期显示函数 - ä¸“门处理您的数据格式
            // é€šç”¨æ—¥æœŸæ ¼å¼åŒ–函数 - é€‚配所有后端返回格式
            function formatDateForDisplay(fieldName, dateValue) {
                if (!dateValue) return '';
                // è½¬ä¸ºå­—符串并清理首尾空格
                var str = String(dateValue).trim();
                // è¿‡æ»¤ç»å¯¹æ— æ•ˆçš„默认日期
                var invalidDates = ['2001-10-01', '1900-01-01', '2000-01-01', '1970-01-01'];
                if (invalidDates.some(invalid => str.startsWith(invalid))) {
                    return '';
                }
                // åœºæ™¯1:处理特殊格式 2025-12-11(15):48:28
                if (str.includes('(') && str.includes(')')) {
                    try {
                        // æå–日期部分 2025-12-11 å’Œæ—¶é—´éƒ¨åˆ† 15:48:28
                        var datePart = str.split('(')[0].trim();
                        var timePart = str.split('(')[1].replace(')', '').split(':').slice(0, 3).join(':');
                        // å•据日期只显示日期,其他时间显示完整格式
                        return fieldName === 'HDate' ? datePart : `${datePart} ${timePart}`;
                    } catch (e) {
                        console.warn(`解析特殊格式日期失败: ${str}`, e);
                    }
                }
                // åœºæ™¯2:处理 ISO æ ¼å¼ 2025-12-16T14:33:50 æˆ– 2025-12-16T14:33:50.35
                if (str.includes('T')) {
                    try {
                        var [datePart, timePart] = str.split('T');
                        // ç§»é™¤æ—¶é—´éƒ¨åˆ†çš„æ¯«ç§’
                        var cleanTime = timePart.includes('.') ? timePart.split('.')[0] : timePart;
                        // åªä¿ç•™æ—¶åˆ†ç§’
                        cleanTime = cleanTime.split(':').slice(0, 3).join(':');
                        return fieldName === 'HDate' ? datePart : `${datePart} ${cleanTime}`;
                    } catch (e) {
                        console.warn(`解析ISO格式日期失败: ${str}`, e);
                    }
                }
                // åœºæ™¯3:处理纯日期 2025-12-16 æˆ– å®Œæ•´æ—¶é—´ 2025-12-16 14:33:50
                if (str.match(/^\d{4}-\d{2}-\d{2}/)) {
                    // åŒ¹é… å¹´-月-日 å¼€å¤´çš„合法格式
                    if (fieldName === 'HDate' || str.length === 10) {
                        return str.substring(0, 10); // åªæ˜¾ç¤ºæ—¥æœŸ
                    } else {
                        // è¡¥å…¨æ—¶é—´éƒ¨åˆ†ï¼ˆå¦‚果只有日期)
                        return str.length > 10 ? str : `${str} 00:00:00`;
                    }
                }
                // æ‰€æœ‰è§£æžå¤±è´¥çš„æƒ…况,返回原始值(避免空显示)
                return str;
            }
            //加载网格(动态列加载方法)
            //加载网格(动态列加载方法)
            function get_Display(sWhere) {
                var wait = layer.load();
                $.ajax({
                    url: GetWEBURL() + '/Gy_SteppedPriceCoefficientBill/list',
                    type: "GET",
                    data: {
                        "sWhere": sWhere || "",
                        "user": sessionStorage["HUserName"] || "guest"
                    },
                    success: function (data1) {
                        console.log("=== API è¿”回数据 ===");
                        if (data1 && data1.list && data1.list.length > 0) {
                            console.log("列定义数量:", data1.list.length);
                            // æ­¥éª¤1:列去重
                            var uniqueColumns = [];
                            var seenColumns = new Set();
                            var columnData = [];
                            for (var key in data1.list) {
                                var colDef = data1.list[key];
                                var colName = colDef.ColmCols;
                                if (!seenColumns.has(colName)) {
                                    seenColumns.add(colName);
                                    uniqueColumns.push(colDef);
                                    columnData.push({
                                        "id": colName,
                                        "name": colName,
                                        "Type": colDef.ColmType,
                                        "chineseTitle": getColumnChineseTitle(colName)
                                    });
                                }
                            }
                            console.log("去重后列数:", columnData.length);
                            // æ­¥éª¤2:构建表格列配置 - ä½¿ç”¨å·¥åŽ‚å‡½æ•°é¿å…é—­åŒ…é—®é¢˜
                            var col = [];
                            // æ·»åŠ å‹¾é€‰æ¡†
                            col.push({ type: 'checkbox', fixed: 'left', totalRowText: '合计' });
                            // åˆ›å»ºæ¨¡æ¿å‡½æ•°ç”Ÿæˆå™¨
                            function createTempletFunction(fieldName, fieldType) {
                                switch (fieldType) {
                                    case 'DateTime':
                                        return function (d) {
                                            var value = d[fieldName];
                                            if (!value) return '';
                                            var str = String(value).trim();
                                            // è¿‡æ»¤æ— æ•ˆæ—¥æœŸ
                                            var invalidDates = ['2001-10-01', '1900-01-01', '2000-01-01', '1970-01-01', '0001-01-01'];
                                            if (invalidDates.some(invalid => str.startsWith(invalid))) {
                                                return '';
                                            }
                                            // æå–日期部分
                                            if (str.includes('(')) {
                                                return str.split('(')[0].trim();
                                            } else if (str.includes('T')) {
                                                return str.split('T')[0];
                                            } else if (str.match(/^\d{4}-\d{2}-\d{2}/)) {
                                                return str.substring(0, 10);
                                            }
                                            return str;
                                        };
                                    case 'Decimal':
                                    case 'Double':
                                    case 'Float':
                                        return function (d) {
                                            var value = d[fieldName];
                                            if (value === null || value === undefined || value === '') {
                                                return '';
                                            }
                                            var num = parseFloat(value);
                                            return isNaN(num) ? '' : num.toFixed(2);
                                        };
                                    case 'Int32':
                                    case 'Int64':
                                    case 'Integer':
                                        // æ•´æ•°ç±»åž‹çš„特殊处理
                                        if (fieldName === 'HBillStatus') {
                                            return function (d) {
                                                var status = d[fieldName] || '0';
                                                // è½¬æ¢ä¸ºæ•°å­—再判断
                                                var statusNum = parseInt(status);
                                                switch (statusNum) {
                                                    case 1: return '未审';
                                                    case 2: return '审核通过';
                                                    case 3: return '关闭';
                                                    case 4: return '作废';
                                                    case 5: return '审核退回';
                                                    case 6: return '审核中';
                                                    case 7: return '已阅';
                                                    case 8: return '已回复';
                                                    case 9: return '结案';
                                                    case 10: return '验证';
                                                    case 11: return '下达';
                                                    case 12: return '开工';
                                                    case 13: return '申请审批';
                                                    case 15: return '申请检验';
                                                    case 16: return '判定合格';
                                                    case 17: return '判定不合格';
                                                    case 0:
                                                    default: return '未审'; // é»˜è®¤æ˜¾ç¤ºä¸ºæœªå®¡
                                                }
                                            };
                                        }
                                        return null; // å…¶ä»–整数类型不需要特殊模板
                                    default:
                                        // æ–‡æœ¬å­—段的特殊处理
                                        if (fieldName === 'HBillNo') {
                                            return function (d) {
                                                var billNo = d[fieldName] || '';
                                                return '<span style="color: blue; cursor: pointer;">' + billNo + '</span>';
                                            };
                                        }
                                        return null;
                                }
                            }
                            // åˆ›å»ºäº‹ä»¶å¤„理映射
                            function getEventForField(fieldName) {
                                if (fieldName === 'HBillNo') {
                                    return '单据号';
                                }
                                return null;
                            }
                            // èŽ·å–å®½åº¦è®¾ç½®
                            function getWidthForField(fieldName, fieldType) {
                                if (fieldName === 'HBillNo') return 500;
                                if (fieldName === 'HBillStatus') return 100;
                                if (fieldType === 'DateTime') return 160;
                                if (fieldType === 'Decimal' || fieldType === 'Double' || fieldType === 'Float') return 120;
                                if (fieldType === 'Int32' || fieldType === 'Int64' || fieldType === 'Integer') return 100;
                                return 150;
                            }
                            // èŽ·å–å¯¹é½æ–¹å¼
                            function getAlignForField(fieldType) {
                                if (fieldType === 'Decimal' || fieldType === 'Double' || fieldType === 'Float' ||
                                    fieldType === 'Int32' || fieldType === 'Int64' || fieldType === 'Integer') {
                                    return 'right';
                                }
                                return 'center';
                            }
                            // æž„建列配置
                            // æž„建列配置
                            for (var i = 0; i < columnData.length; i++) {
                                var colItem = columnData[i];
                                var columnTitle = colItem.chineseTitle;
                                var fieldName = colItem.id;
                                var fieldType = colItem.Type;
                                var columnTitle = getColumnChineseTitle(fieldName); // è¿™é‡Œé‡å¤äº†ï¼Œåˆ é™¤è¿™ä¸€è¡Œ
                                var columnConfig = {
                                    field: fieldName,
                                    title: columnTitle,  // ç¡®ä¿ä½¿ç”¨ä¸­æ–‡æ ‡é¢˜
                                    align: getAlignForField(fieldType),
                                    sort: true,
                                    width: getWidthForField(fieldName, fieldType)
                                };
                                // è®¾ç½®æ¨¡æ¿å‡½æ•°
                                var templetFunc = createTempletFunction(fieldName, fieldType);
                                if (templetFunc) {
                                    columnConfig.templet = templetFunc;
                                }
                                // è®¾ç½®äº‹ä»¶
                                var event = getEventForField(fieldName);
                                if (event) {
                                    columnConfig.event = event;
                                }
                                col.push(columnConfig);
                            }
                            console.log("构建的列配置数量:", col.length);
                            // è°ƒè¯•:显示前几个列的配置
                            for (var j = 0; j < Math.min(5, col.length); j++) {
                                console.log(`列${j}: field=${col[j].field}, title=${col[j].title}, templet=${typeof col[j].templet}`);
                            }
                            // æ­¥éª¤3:处理表格数据
                            var tableData = data1.data || [];
                            console.log("原始数据条数:", tableData.length);
                            // è°ƒè¯•:显示前几行数据的所有字段
                            if (tableData.length > 0) {
                                console.log("=== ç¬¬ä¸€è¡Œæ•°æ®å®Œæ•´ç»“æž„ ===");
                                var firstRow = tableData[0];
                                for (var key in firstRow) {
                                    console.log(`${key}: ${firstRow[key]} (类型: ${typeof firstRow[key]})`);
                                }
                            }
                            // å¦‚果是主表列表,按单据号去重
                            if (tableData.length > 0 && tableData[0].HBillNo) {
                                var uniqueMap = {};
                                var uniqueList = [];
                                for (var k = 0; k < tableData.length; k++) {
                                    var row = tableData[k];
                                    var billNo = row.HBillNo;
                                    if (!uniqueMap[billNo]) {
                                        uniqueMap[billNo] = true;
                                        uniqueList.push(row);
                                    }
                                }
                                tableData = uniqueList;
                                console.log("去重后数据条数:", tableData.length);
                            }
                            // æ­¥éª¤4:配置并渲染表格
                            option.cols = [col];
                            option.data = tableData;
                            console.log("option é…ç½®:", {
                                colsLength: option.cols[0].length,
                                dataLength: option.data.length
                            });
                            // åˆ—设置
                            // ä¿®æ”¹ get_Display å‡½æ•°ä¸­çš„列设置部分
                            // åˆ—设置
                            // åˆ—设置
                            if (typeof DisPlay_HideColumn === 'function') {
                                // å…ˆä¿å­˜åŽŸå§‹åˆ—é…ç½®ï¼ˆä¸­æ–‡æ ‡é¢˜ï¼‰
                                var originalCols = [];
                                for (var i = 0; i < col.length; i++) {
                                    originalCols.push({
                                        field: col[i].field,
                                        title: col[i].title,
                                        align: col[i].align,
                                        sort: col[i].sort,
                                        width: col[i].width,
                                        templet: col[i].templet,
                                        event: col[i].event
                                    });
                                }
                                // æ‰§è¡Œåˆ—设置
                                DisPlay_HideColumn(HModName, sessionStorage["HUserName"], option);
                                // å¼ºåˆ¶æ‰§è¡Œä¸­æ–‡æ ‡é¢˜æ¢å¤
                                setTimeout(function () {
                                    if (option.cols && option.cols[0]) {
                                        var currentCols = option.cols[0];
                                        for (var i = 0; i < currentCols.length; i++) {
                                            var currentCol = currentCols[i];
                                            if (currentCol.field && currentCol.field !== 'LAY_CHECKED' && currentCol.field !== 'checkbox') {
                                                // æŸ¥æ‰¾åŽŸå§‹é…ç½®ä¸­çš„ä¸­æ–‡æ ‡é¢˜
                                                for (var j = 0; j < originalCols.length; j++) {
                                                    if (originalCols[j].field === currentCol.field) {
                                                        currentCol.title = originalCols[j].title;
                                                        break;
                                                    }
                                                }
                                            }
                                        }
                                    }
                                    // é‡æ–°æ¸²æŸ“表格
                                    try {
                                        table.render(option);
                                        console.log("表格已重新渲染,列标题强制为中文");
                                    } catch (e) {
                                        console.error("表格渲染错误:", e);
                                    }
                                }, 200);
                            }
                            // é‡æ–°åˆå§‹åŒ–下拉框
                            ColFilter();
                            // æ¸²æŸ“表格
                            // æ¸²æŸ“表格
                            try {
                                // å…ˆé”€æ¯æ—§çš„表格
                                var mainTable = table.render(option);
                                console.log("表格渲染成功");
                                // æµ‹è¯•:检查表格数据
                                var tableCache = table.cache.mainTable;
                                if (tableCache && tableCache.length > 0) {
                                    console.log("表格缓存第一行数据:");
                                    var cacheRow = tableCache[0];
                                    console.log("HBillNo:", cacheRow.HBillNo);
                                    console.log("HDate:", cacheRow.HDate);
                                    console.log("TotalCoefficient:", cacheRow.TotalCoefficient);
                                }
                            } catch (e) {
                                console.error("表格渲染错误:", e);
                                layer.msg("表格渲染失败: " + e.message, { icon: 5 });
                            }
                            layer.close(wait);
                            if (tableData.length > 0) {
                                layer.msg(`共 ${tableData.length} æ¡æ•°æ®`, { icon: 1, time: 2000 });
                            } else {
                                layer.msg("暂无数据", { icon: 3, time: 2000 });
                            }
                        } else {
                            console.warn("数据格式不正确或 list ä¸ºç©º");
                            layer.close(wait);
                            layer.msg("数据加载失败", { icon: 2 });
                        }
                    },
                    error: function (xhr, status, error) {
                        console.error("AJAX è¯·æ±‚错误:", error);
                        layer.close(wait);
                        layer.alert("接口请求失败! çŠ¶æ€ç : " + xhr.status, { icon: 5 });
                    }
                });
            }
            //快速过滤
            function get_FastQuery() {
                var HMakeDate_Begin = $("#HMakeDate_Begin").val();
                var HMakeDate_End = $("#HMakeDate_End").val();
                var HBillNo = $("#HBillNo").val();
                var ColName = $("#ColName").val();
                var Comparator = $("#Comparator").val()
                var Comparator = $("#Comparator").val();
                var ColContent = $("#ColContent").val();
                var ColName1 = $("#ColName1").val();
                var Comparator1 = $("#Comparator1").val()
                var Comparator1 = $("#Comparator1").val();
                var ColContent1 = $("#ColContent1").val();
                var ColName2 = $("#ColName2").val();
                var Comparator2 = $("#Comparator2").val()
                var Comparator2 = $("#Comparator2").val();
                var ColContent2 = $("#ColContent2").val();
                // æ¸…空之前的条件
                sWhere = "";
                // ä¿®å¤ï¼šç¡®ä¿åœ¨è¿ç®—符和值之间有空格
                if (ColName && ColName != 0 && Comparator && Comparator != 0 && ColContent) {
                // æž„建条件表达式
                if (ColName && ColName != "0" && Comparator && Comparator != "0" && ColContent) {
                    var com = "";
                    switch (Comparator) {
                        case "7":
@@ -547,14 +909,12 @@
                            com = "not like '%" + ColContent + "%'";
                            break;
                        default:
                            // å…³é”®ä¿®å¤ï¼šåœ¨è¿ç®—符和值之间添加空格
                            com = Comparator + " '" + ColContent + "'";
                            break;
                    }
                    sWhere += " and " + ColName + " " + com;
                }
                if (ColName1 && ColName1 != 0 && Comparator1 && Comparator1 != 0 && ColContent1) {
                if (ColName1 && ColName1 != "0" && Comparator1 && Comparator1 != "0" && ColContent1) {
                    var com1 = "";
                    switch (Comparator1) {
                        case "7":
@@ -575,8 +935,7 @@
                    }
                    sWhere += " and " + ColName1 + " " + com1;
                }
                if (ColName2 && ColName2 != 0 && Comparator2 && Comparator2 != 0 && ColContent2) {
                if (ColName2 && ColName2 != "0" && Comparator2 && Comparator2 != "0" && ColContent2) {
                    var com2 = "";
                    switch (Comparator2) {
                        case "7":
@@ -598,256 +957,209 @@
                    sWhere += " and " + ColName2 + " " + com2;
                }
                // åˆ¶å•日期(创建时间)范围查询
                // æ·»åŠ æ—¥æœŸæ¡ä»¶
                if (HMakeDate_Begin) {
                    sWhere += " and HMakeDate >= '" + HMakeDate_Begin + "'";
                    sWhere += " and CONVERT(date, HMakeDate) >= '" + HMakeDate_Begin + "'";
                }
                if (HMakeDate_End) {
                    sWhere += " and HMakeDate <= '" + HMakeDate_End + "'";
                    sWhere += " and CONVERT(date, HMakeDate) <= '" + HMakeDate_End + "'";
                }
                // å•据号查询
                if (HBillNo) {
                    sWhere += " and HBillNo like '%" + HBillNo + "%'";
                }
                console.log("导出查询条件:", sWhere);
                // ç§»é™¤å¼€å¤´çš„ "and "
                if (sWhere.startsWith(" and ")) {
                    sWhere = sWhere.substring(5);
                }
                $.ajax({
                    type: "GET",
                    url: GetWEBURL() + '/Gy_SteppedPriceCoefficientBillController/GetGy_SteppedPriceCoefficientBillList_Json',
                    async: false,
                    data: { "sWhere": sWhere, "HMaker": HMaker },
                    success: function (data1) {
                        if (data1.count == 1) {
                            data = data1.data
                            layer.close(ajaxLoad);
                        } else {
                            layer.close(ajaxLoad);
                            layer.alert(data1.Message, { icon: 5 });
                console.log("发送到后端的 sWhere æ¡ä»¶:", sWhere);
                get_Display(sWhere);
            }
            //重置过滤条件
            function set_ClearQuery() {
                var endDate = new Date();
                var startDate = new Date(endDate - 1000 * 60 * 60 * 24 * 30);
                // ä½¿ç”¨æ­£ç¡®çš„函数名:Pub_Format
                if (typeof Pub_Format === 'function') {
                    $("#HMakeDate_Begin").val(Pub_Format(startDate, "yyyy-MM-dd"));
                    $("#HMakeDate_End").val(Pub_Format(endDate, "yyyy-MM-dd"));
                } else {
                    $("#HMakeDate_Begin").val(startDate.toISOString().split('T')[0]);
                    $("#HMakeDate_End").val(endDate.toISOString().split('T')[0]);
                }
                $("#HBillNo").val("");
                $("#ColContent").val("");
                $("#ColName").val("0");
                $("#Comparator").val("0");
                $("#ColContent2").val("");
                $("#ColName2").val("0");
                $("#Comparator2").val("0");
                $("#ColContent1").val("");
                $("#ColName1").val("0");
                $("#Comparator1").val("0");
                form.render('select');
                sWhere = "";
            }
            //#region åˆ—明显示下拉框
            function ColFilter() {
                var Organization = '<option  value="0" selected="selected" ></option>';
                if (option.cols && option.cols[0]) {
                    for (var i = 1; i < option.cols[0].length; i++) {
                        if (option.cols[0][i].hide != true) {
                            Organization += '<option  style="color:blue;" value="' + option.cols[0][i].field + '">' + option.cols[0][i].field + '</option>';
                        }
                    },
                    error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                }
                $("#ColName").empty();
                $("#ColName").append(Organization);
                $("#ColName1").empty();
                $("#ColName1").append(Organization);
                $("#ColName2").empty();
                $("#ColName2").append(Organization);
                form.render('select');
            }
            //#endregion
            // è¡¨æ ¼è¡Œç‚¹å‡»äº‹ä»¶
            table.on('row(mainTable)', function (obj) {
                var flag = !obj.tr.find(':checkbox:first').prop('checked');
                obj.tr.find(':checkbox').prop('checked', flag);
                if (flag) {
                    obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');
                    $(obj.tr.selector).attr({ "style": "background:#ceedfa;color:black" });
                } else {
                    obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');
                    $(obj.tr.selector).attr({ "style": "background:" });
                }
                layui.each(table.cache.mainTable, function (i, l) {
                    if (obj.tr.index() == l.LAY_TABLE_INDEX) {
                        l.LAY_CHECKED = flag;
                    }
                });
            });
                // æ¸…空条件
                sWhere = "";
            // å•据号点击事件
            table.on('tool(mainTable)', function (obj) {
                var data = obj.data;
                if (obj.event == '单据号') {
                    var HInterID = data.HInterID || data.hmainid;
                    var HBillNo = data.HBillNo || '';
                // å¤„理数据
                if (data) {
                    data.forEach((item) => {
                        for (let itemobj in item) {
                            if (item[itemobj] == null) {
                                item[itemobj] = "";
                    if (HInterID && HInterID != "0") {
                        layer.open({
                            type: 2,
                            area: ['100%', '100%'],
                            title: '阶梯工价系数单 - ç¼–辑(' + HBillNo + ')',
                            shift: 0,
                            content: '../../工资管理/阶梯工价系数/Gy_SteppedPriceCoefficientBillEdit.html?OperationType=3&linterid=' + HInterID + '&HSouceBillType=',
                            btn: ['确定'],
                            end: function () {
                                $("#btnSearch").trigger('click');
                                setTimeout(refreshTableWithChineseTitles, 200);
                            }
                            if (item[itemobj] && item[itemobj].length > 0) {
                                item[itemobj] = item[itemobj].toString().replaceAll(/[\r\n]+/g, '');
                            }
                        }
                    });
                    table.exportFile(ins.config.id, data, "xls");
                        });
                    }
                }
            }
            });
            //#endregion
            //#region æ–°å¢ž
            // æ–°å¢žæŒ‰é’®
            function btn_Add() {
                layer.open({
                    type: 2
                    , skin: 'layui-layer-rim'   //加上边框
                    , area: ['100%', '100%']
                    , title: HPageTitle + '- æ–°å¢ž'
                    , shift: 0  //弹出动画
                    , content: '../../工资管理/阶梯工价系数/Gy_SteppedPriceCoefficientBillEdit.html?OperationType=1&linterid=0&HSouceBillType='
                    , btn: ['确定'],
                    // æŒ‰é’®1 çš„回调
                    end: function (index, layero, that) {
                        //刷新页面
                    type: 2,
                    area: ['100%', '100%'],
                    title: '阶梯工价系数单 - æ–°å¢ž',
                    shift: 0,
                    content: '../../工资管理/阶梯工价系数/Gy_SteppedPriceCoefficientBillEdit.html?OperationType=1&linterid=0&HSouceBillType=',
                    btn: ['确定'],
                    end: function () {
                        $("#btnSearch").trigger('click');
                        setTimeout(refreshTableWithChineseTitles, 200);
                    }
                })
                });
            }
            //#endregion
            //#region ç¼–辑
            // ç¼–辑按钮
            function btn_Edit() {
                var checkStatus = table.checkStatus('mainTable');
                var data = checkStatus.data;
                console.log("编辑按钮点击,选中数据:", data);
                var checkStatus = table.checkStatus('mainTable'),
                    data = checkStatus.data;
                if (data && data.length === 1) {
                    // å®‰å…¨åœ°èŽ·å–å­—æ®µå€¼ï¼Œæ·»åŠ ç©ºå€¼æ£€æŸ¥
                    var HInterID = data[0].HInterID ? data[0].HInterID.toString() : "";
                    var HBillNo = data[0].HBillNo ? data[0].HBillNo.toString() : "";
                    var HInterID = data[0].HInterID || data[0].hmainid;
                    var HBillNo = data[0].HBillNo || '';
                    // å¦‚æžœHInterID为空,尝试从其他字段获取
                    if (!HInterID || HInterID === "0") {
                        // å°è¯•其他可能的字段名
                        HInterID = data[0].hmainid ? data[0].hmainid.toString() : "";
                        HInterID = data[0].hMainID ? data[0].hMainID.toString() : HInterID;
                    if (HInterID && HInterID != "0") {
                        layer.open({
                            type: 2,
                            area: ['100%', '100%'],
                            title: '阶梯工价系数单 - ç¼–辑(' + HBillNo + ')',
                            shift: 0,
                            content: '../../工资管理/阶梯工价系数/Gy_SteppedPriceCoefficientBillEdit.html?OperationType=3&linterid=' + HInterID + '&HSouceBillType=',
                            btn: ['确定'],
                            end: function () {
                                $("#btnSearch").trigger('click');
                                setTimeout(refreshTableWithChineseTitles, 200);
                            }
                        });
                    }
                    console.log("提取的HInterID:", HInterID, "HBillNo:", HBillNo);
                    if (!HInterID || HInterID === "0") {
                        layer.msg("无法获取单据ID或ID无效", { icon: 5 });
                        console.error("无法获取有效的单据ID,数据对象:", data[0]);
                        return;
                    }
                    // ä¿®å¤è·¯å¾„问题:确保使用正确的路径
                    // æ³¨æ„ï¼šé”™è¯¯ä¿¡æ¯ä¸­çš„路径包含中文编码,需要确保路径正确
                    layer.open({
                        type: 2,
                        area: ['100%', '100%'],
                        title: HPageTitle + ' - ç¼–辑(' + HBillNo + ')',
                        shift: 0,
                        // æ³¨æ„ï¼šç¡®ä¿è·¯å¾„正确,从错误信息看可能是路径问题
                        content: '../../工资管理/阶梯工价系数/Gy_SteppedPriceCoefficientBillEdit.html?OperationType=3&linterid=' + HInterID + '&HSouceBillType=',
                        btn: ['确定'],
                        end: function (index, layero, that) {
                            // åˆ·æ–°é¡µé¢
                            $("#btnSearch").trigger('click');
                        },
                        success: function (layero, index) {
                            console.log("编辑页面打开成功,HInterID:", HInterID);
                        },
                        error: function (xhr, status, error) {
                            console.error("打开编辑页面失败:", error);
                            layer.msg("打开编辑页面失败,请检查路径配置", { icon: 5 });
                        }
                    });
                } else {
                    layer.msg('请选择一行数据编辑!');
                }
            }
            //#endregion
            //#region åˆ é™¤
            // æ›¿æ¢åŽŸbtn_Delete方法
            // åˆ é™¤æŒ‰é’®
            function btn_Delete() {
                var checkStatus = table.checkStatus('mainTable'),
                    data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                if (data && data.length === 1) {
                    var HInterID = data[0].HInterID || data[0].hmainid;
                    var HBillNo = data[0].HBillNo || '';
                    if (!HInterID) {
                        layer.msg('单据ID无效!', { icon: 5 });
                        return;
                    }
                    layer.confirm("确认要删除选中行数据?删除后将不可恢复!", { title: "删除确认" }, function (index) {
                        var wait = layer.load();
                    layer.confirm("确认要删除选中行数据?", { title: "删除确认" }, function (index) {
                        $.ajax({
                            type: "GET",
                            url: GetWEBURL() + "/Gy_SteppedPriceCoefficientBill/delete",
                            async: false,
                            data: { "HInterID": HInterID, "user": HMaker },
                            success: function (result) {
                                layer.close(wait);
                                if (result.code === "1") {
                                    layer.msg("单据号:" + HBillNo + " åˆ é™¤æˆåŠŸï¼", { time: 1000, icon: 1 }, function () {
                                    layer.msg("删除成功!", { time: 1000, icon: 1 }, function () {
                                        $("#btnSearch").trigger('click');
                                        setTimeout(refreshTableWithChineseTitles, 200);
                                    });
                                } else {
                                    layer.msg(result.Message || "删除失败", { icon: 2 });
                                }
                            },
                            error: function (xhr, status, error) {
                                layer.close(wait);
                                layer.msg('删除失败:' + error, { icon: 5 });
                            error: function () {
                                layer.msg('删除失败!', { icon: 5 });
                            }
                        });
                    })
                    });
                } else {
                    layer.msg('请选择一行数据删除!');
                }
            }
            //#endregion
            //#region åˆ·æ–°
            function btn_Refresh() {
                get_FastQuery();
            // å¯¼å‡ºæŒ‰é’®
            function btn_Export() {
                layer.msg("导出功能待实现", { icon: 1 });
            }
            //#endregion
            //#region éšè—åˆ—设置
            function Display_HideButton(btns, HBillType, HModName, HMaker) {
                // ç¤ºä¾‹é€»è¾‘:根据权限显示/隐藏按钮
                $.ajax({
                    url: GetWEBURL() + '/Xt_ButtonPermission/GetButtonPermission',
                    type: 'GET',
                    data: { HBillType: HBillType, HModName: HModName, UserName: HMaker },
                    success: function (data) {
                        if (data.code === "1" && data.data) {
                            var permission = data.data;
                            for (var i = 0; i < btns.length; i++) {
                                var btnId = btns[i].id;
                                if (permission[btnId] === "0") {
                                    btns[i].style.display = "none";
                                } else {
                                    btns[i].style.display = "inline-block";
                                }
                            }
                        }
                    }
                });
            }
            // é€€å‡ºæŒ‰é’®æ–¹æ³•
            function Pub_Close(type) {
                if (type === 2) {
                    var index = parent.layer.getFrameIndex(window.name);
                    parent.layer.close(index);
                }
            }
            //#endregion
            //#region æ‰“印功能
            function get_PrintReport() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 0) {
                    return layer.msg('请选择数据打印!');
                }
                else {
                    var hmainid = [];
                    for (var i = 0; i < checkStatus.data.length; i++) {
                        hmainid.push((data[i].hmainid * (10 ** 8)) + data[i].hsubid)
                    }
                    layer.open({
                        type: 2
                        , area: ['50%', '50%']
                        , title: '打印模版选择'
                        , shade: 0.6 //遮罩透明度
                        , maxmin: false //允许全屏最小化
                        , anim: 0 //0-6的动画形式,-1不开启
                        , content: ['../../BaseSet/SRM_OpenTmpList.html?linterid=' + hmainid.toString() + '&MyMsg=' + hmainid.toString() + '&Type=Gy_SteppedPriceCoefficientBillList', 'yes']
                        , resize: false
                    })
                }
            }
            //#endregion
            //#region  å®¡æ ¸ï¼ˆnum=1)/反审核(num=2)
            function set_CheckBill(num) {
                var checkStatus = table.checkStatus('mainTable'),
                    data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    // ç»Ÿä¸€ä½¿ç”¨HInterID,兼容hmainid
                    var HInterID = data[0].HInterID || data[0].hmainid;
                    if (!HInterID) {
                        layer.msg('单据ID无效!', { icon: 5 });
                        return;
                    }
                    // è½¬æ¢å‚数:审核=0,反审核=1
                    var IsAudit = num === 1 ? 0 : 1;
                    $.ajax({
                        type: "GET",
@@ -862,6 +1174,7 @@
                            if (result.code === "1") {
                                layer.msg(result.Message || (num === 1 ? "审核成功" : "反审核成功"), { time: 1000, icon: 1 }, function () {
                                    $("#btnSearch").trigger('click');
                                    setTimeout(refreshTableWithChineseTitles, 200);
                                });
                            } else {
                                layer.msg(result.Message || "操作失败", { icon: 2 });
@@ -876,762 +1189,64 @@
                }
            }
            //#endregion
            function refreshTableWithChineseTitles() {
                console.log("=== å¼€å§‹è®¾ç½®ä¸­æ–‡åˆ—标题 ===");
            //#region å…³é—­ï¼ˆnum=1)/反关闭(num=2)
            // æ›¿æ¢åŽŸset_CloseBill方法
                // ç¡®ä¿åˆ—标题为中文
                if (option.cols && option.cols[0]) {
                    var cols = option.cols[0];
                    console.log("当前列数:", cols.length);
                    for (var i = 0; i < cols.length; i++) {
                        var col = cols[i];
                        if (col.field && col.field !== 'LAY_CHECKED' && col.field !== 'checkbox') {
                            var chineseTitle = getColumnChineseTitle(col.field);
                            if (chineseTitle && chineseTitle !== col.field) { // ç¡®ä¿ä¸æ˜¯å­—段名本身
                                col.title = chineseTitle;
                                console.log(`设置列标题: ${col.field} -> ${chineseTitle}`);
                            }
                        }
                    }
                }
                // é‡æ–°æ¸²æŸ“表格
                try {
                    table.render(option);
                    console.log("表格已重新渲染,列标题为中文");
                } catch (e) {
                    console.error("表格渲染错误:", e);
                }
            }
            function set_CloseBill(num) {
                var checkStatus = table.checkStatus('mainTable'),
                    data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var HInterID = data[0].HInterID || data[0].hmainid;
                    if (!HInterID) {
                        layer.msg('单据ID无效!', { icon: 5 });
                        return;
                    }
                    // è½¬æ¢å‚数:关闭=0,反关闭=1
                    var IsClose = num === 1 ? 0 : 1;
                    $.ajax({
                        type: "GET",
                        url: GetWEBURL() + "/Gy_SteppedPriceCoefficientBill/CloseGy_SteppedPriceCoefficientBill",
                        async: false,
                        data: {
                            "HInterID": HInterID,
                            "IsAudit": IsClose,  // æ”¹ IsClose ä¸º IsAudit
                            "user": HMaker        // æ”¹ CurUserName ä¸º user
                        },
                        success: function (result) {
                            if (result.code === "1") {
                                layer.msg(result.Message || (num === 1 ? "关闭成功" : "反关闭成功"), { time: 1000, icon: 1 }, function () {
                                    $("#btnSearch").trigger('click');
                                });
                            } else {
                                layer.msg(result.Message || "操作失败", { icon: 2 });
                            }
                        },
                        error: function () {
                            layer.msg('接口请求失败!', { icon: 5 });
                        }
                    });
                if (data && data.length === 1) {
                    // å®žçŽ°å…³é—­é€»è¾‘
                } else {
                    layer.msg(num === 1 ? '请选择一行数据关闭!' : '请选择一行数据反关闭!');
                    layer.msg('请选择一行数据!');
                }
            }
            //#endregion
            //#region ä½œåºŸï¼ˆnum=1)/反作废(num=2)
            function set_DropBill(num) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var HInterID = data[0].hmainid.toString();
                    $.ajax({
                        type: "GET",
                        url: GetWEBURL() + "/Gy_SteppedPriceCoefficientBill/DropGy_SteppedPriceCoefficientBill",
                        async: false,
                        data: {
                            "HInterID": HInterID,
                            "IsAudit": IsClose,  // æ”¹ IsClose ä¸º IsAudit
                            "user": HMaker        // æ”¹ CurUserName ä¸º user
                        },
                        success: function (result) {
                            if (result.count == 1) {
                                layer.msg(result.Message, { time: 1 * 1000, icon: 1 }, function () {
                                    // å¾—到frame索引
                                    var index = layer.getFrameIndex(window.name);
                                    //关闭当前frame
                                    layer.close(index);
                                    //修改为功后刷新界面
                                    $("#btnSearch").trigger('click');
                                });
                            } else {
                                layer.msg(result.Message, { icon: 2, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                            }
                        }, error: function () {
                            layer.msg('错误' + err, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                        }
                    });
                }
                else {
                    if (num == 1) {
                        layer.msg('请选择一行数据作废!');
                    }
                    else {
                        layer.msg('请选择一行数据反作废!');
                    }
                }
            }
            //#endregion
            //#region é‡ç½®æŒ‰é’®
            form.on('submit(btnReSearch)', function (data) {
                //清空过滤条件
                set_ClearQuery();
            });
            //重置过滤条件
            function set_ClearQuery() {
                // é‡ç½®åˆ¶å•日期范围(最近30天)
                var endDate = new Date();
                var startDate = new Date(endDate - 1000 * 60 * 60 * 24 * 30);
                $("#HMakeDate_Begin").val(Pub_Format(startDate, "yyyy-MM-dd"));
                $("#HMakeDate_End").val(Pub_Format(endDate, "yyyy-MM-dd"));
                $("#HBillNo").val("");//单据号
                $("#ColContent").val("");
                $("#ColName").val("0");
                $("#Comparator").val("0");
                $("#ColContent2").val("");
                $("#ColName2").val("0");
                $("#Comparator2").val("0");
                $("#ColContent1").val("");
                $("#ColName1").val("0");
                $("#Comparator1").val("0");
                form.render('select');
                sWhere = "";
            }
            //#endregion
            //#region æŸ¥è¯¢æŒ‰é’®
            form.on('submit(btnSearch)', function (data) {
                if (page != 1) {
                    $("#page a:eq(1)").get(0).click();//点击分页栏第一页
                var checkStatus = table.checkStatus('mainTable'),
                    data = checkStatus.data;
                if (data && data.length === 1) {
                    // å®žçŽ°ä½œåºŸé€»è¾‘
                } else {
                    get_FastQuery();
                    layer.msg('请选择一行数据!');
                }
            });
            //快速查询
            //快速查询
            function get_FastQuery() {
                // ä½¿ç”¨åˆ¶å•日期作为创建时间过滤
                var HMakeDate_Begin = $("#HMakeDate_Begin").val();  // å¼€å§‹åˆ¶å•日期
                var HMakeDate_End = $("#HMakeDate_End").val();      // ç»“束制单日期
                var HBillNo = $("#HBillNo").val();                  // å•据号
                console.log("=== æŸ¥è¯¢å‚æ•° ===");
                console.log("HMakeDate_Begin:", HMakeDate_Begin);
                console.log("HMakeDate_End:", HMakeDate_End);
                console.log("HBillNo:", HBillNo);
                // æ¸…空之前的条件
                sWhere = "";
                // æž„建条件数组(避免开头有"and"的问题)
                var conditions = [];
                // åˆ¶å•日期(创建时间)范围查询 - ä½¿ç”¨æ­£ç¡®çš„SQL格式
                if (HMakeDate_Begin && HMakeDate_Begin.trim() !== '') {
                    conditions.push("CONVERT(date, HMakeDate) >= '" + HMakeDate_Begin + "'");
                }
                if (HMakeDate_End && HMakeDate_End.trim() !== '') {
                    conditions.push("CONVERT(date, HMakeDate) <= '" + HMakeDate_End + "'");
                }
                // å•据号查询
                if (HBillNo && HBillNo.trim() !== '') {
                    conditions.push("HBillNo like '%" + HBillNo + "%'");
                }
                // å°†æ¡ä»¶ç»„合成SQL语句
                if (conditions.length > 0) {
                    sWhere = conditions.join(" and ");
                } else {
                    sWhere = "1=1";  // å¦‚果没有条件,使用1=1确保语法正确
                }
                console.log("生成的查询条件:", sWhere);
                // è°ƒç”¨æŸ¥è¯¢æ–¹æ³•
                get_DisplayPage(sWhere);
            }
            //#endregion
            //#region åˆ†é¡µæŸ¥è¯¢
            function get_DisplayPage(sWhere) {
                console.log("=== å¼€å§‹æŸ¥è¯¢ ===");
                console.log("查询条件:", sWhere);
                console.log("页码:", page, "每页数量:", size);
                console.log("当前用户:", sessionStorage["HUserName"]);
                var ajaxLoad = layer.load();
                // æµ‹è¯•不同的API端点
                var apiUrl = GetWEBURL() + '/Gy_SteppedPriceCoefficientBill/list';
                console.log("调用API:", apiUrl);
                $.ajax({
                    url: apiUrl,
                    type: "GET",
                    data: {
                        "sWhere": sWhere,
                        "user": sessionStorage["HUserName"],
                        "page": page,
                        "size": size
                    },
                    dataType: "json",
                    success: function (data1) {
                        layer.close(ajaxLoad);
                        console.log("=== å¤„理表格数据 ===");
                        console.log("API返回数据:", data1);
                        if (data1.code == "1") {
                            var tableData = data1.data || [];
                            var totalCount = data1.total || tableData.length;
                            console.log("表格数据量:", tableData.length);
                            // ç¡®ä¿æ•°æ®æ˜¯æ•°ç»„格式
                            if (!Array.isArray(tableData)) {
                                tableData = [];
                                console.warn("表格数据不是数组格式,已转换为空数组");
                            }
                            // æ£€æŸ¥æ˜¯å¦å·²ç»åˆå§‹åŒ–了表格配置
                            if (!option.cols || !Array.isArray(option.cols)) {
                                console.log("初始化表格列配置...");
                                // å®šä¹‰åˆ—配置
                                option.cols = [[
                                    // å¤é€‰æ¡†åˆ—
                                    { type: 'checkbox', fixed: 'left', width: 50 },
                                    // å•据号(链接到编辑)
                                    {
                                        field: 'HBillNo',
                                        title: '单据号',
                                        width: 180,
                                        fixed: 'left',
                                        event: '单据号',
                                        style: 'cursor: pointer;',
                                        templet: function (d) {
                                            return '<span style="color: blue; cursor: pointer;">' + (d.HBillNo || '') + '</span>';
                                        }
                                    },
                                    // å•据日期
                                    {
                                        field: 'HDate',
                                        title: '单据日期',
                                        width: 150,
                                        templet: function (d) {
                                            if (!d.HDate) return '';
                                            try {
                                                var date = new Date(d.HDate);
                                                return layui.util.toDateString(date, 'yyyy-MM-dd');
                                            } catch (e) {
                                                return d.HDate;
                                            }
                                        }
                                    },
                                    // å¹´åº¦
                                    { field: 'HYear', title: 'å¹´', width: 80, align: 'center' },
                                    // æœŸé—´
                                    { field: 'HPeriod', title: '月', width: 80, align: 'center' },
                                    // å•据状态
                                    // å•据状态显示(根据您提供的状态定义)
                                    {
                                        field: 'HBillStatus',
                                        title: '状态',
                                        width: 100,
                                        align: 'center',
                                        templet: function (d) {
                                            var status = d.HBillStatus;
                                            switch (status.toString()) {
                                                case '1':
                                                    return '<span>未审核</span>';
                                                case '2':
                                                    return '<span>已审核</span>';
                                                case '3':
                                                    return '<span>已关闭</span>';
                                                case '4':
                                                    return '<span>已作废</span>';
                                                case '5':
                                                    return '<span>审核退回</span>';
                                                case '6':
                                                    return '<span>审核中</span>';
                                                default:
                                                    return '<span >状态' + status + '</span>';
                                            }
                                        }
                                    },
                                    // å­è¡¨ç»Ÿè®¡ä¿¡æ¯
                                    {
                                        field: 'SubCount',
                                        title: '序号合计',
                                        width: 90,
                                        align: 'center',
                                        totalRow: true
                                    },
                                    {
                                        field: 'TotalMinQty',
                                        title: '最小数量合计',
                                        width: 120,
                                        align: 'right',
                                        totalRow: true
                                    },
                                    {
                                        field: 'TotalMaxQty',
                                        title: '最大数量合计',
                                        width: 120,
                                        align: 'right',
                                        totalRow: true
                                    },
                                    {
                                        field: 'TotalCoefficient',
                                        title: '工价系数合计',
                                        width: 100,
                                        align: 'right',
                                        totalRow: true
                                    },
                                    {
                                        field: 'TotalMaxPrice',
                                        title: '最大工价合计',
                                        width: 120,
                                        align: 'right',
                                        totalRow: true
                                    },
                                    // å¤‡æ³¨
                                    { field: 'HRemark', title: '备注', width: 200 },
                                    // åˆ¶å•人
                                    { field: 'HMaker', title: '制单人', width: 100 },
                                    // åˆ¶å•日期
                                    {
                                        field: 'HMakeDate',
                                        title: '制单日期',
                                        width: 160,
                                        templet: function (d) {
                                            if (!d.HMakeDate) return '';
                                            try {
                                                var date = new Date(d.HMakeDate);
                                                return layui.util.toDateString(date, 'yyyy-MM-dd HH:mm:ss');
                                            } catch (e) {
                                                return d.HMakeDate;
                                            }
                                        }
                                    },
                                    // å®¡æ ¸äºº
                                    { field: 'HChecker', title: '审核人', width: 100 },
                                    // å®¡æ ¸æ—¥æœŸ
                                    {
                                        field: 'HCheckDate',
                                        title: '审核日期',
                                        width: 160,
                                        templet: function (d) {
                                            if (!d.HCheckDate) return '';
                                            try {
                                                var date = new Date(d.HCheckDate);
                                                return layui.util.toDateString(date, 'yyyy-MM-dd HH:mm:ss');
                                            } catch (e) {
                                                return d.HCheckDate;
                                            }
                                        }
                                    },
                                    // éšè—å­—段
                                    { field: 'HInterID', title: '内码', width: 100, hide: true },
                                    { field: 'RowNum', title: '行号', width: 80, hide: true },
                                    { field: 'HUpDater', title: '更新人', width: 100, hide: true },
                                    { field: 'HUpDateDate', title: '更新日期', width: 160, hide: true },
                                    { field: 'HCloseMan', title: '关闭人', width: 100, hide: true },
                                    { field: 'HCloseDate', title: '关闭日期', width: 160, hide: true },
                                    { field: 'HProcID', title: '工序ID', width: 100, hide: true },
                                    { field: 'HEmpID', title: '员工ID', width: 100, hide: true },
                                    { field: 'HDeptID', title: '部门ID', width: 100, hide: true },
                                    { field: 'HStockOrgID', title: '组织ID', width: 100, hide: true }
                                ]];
                            }
                            // è®¾ç½®å…¶ä»–必要的表格配置
                            option.data = tableData;
                            option.limit = size;
                            console.log("表格配置:", option);
                            try {
                                // å¦‚果表格已经渲染过,则重载数据
                                if (window.tableIns) {
                                    window.tableIns.reload({
                                        data: tableData,
                                        limit: size
                                    });
                                    console.log("表格数据重载完成");
                                } else {
                                    // é¦–次渲染表格
                                    window.tableIns = table.render(option);
                                    console.log("表格首次渲染完成");
                                }
                            } catch (error) {
                                console.error("表格渲染错误:", error);
                                layer.msg("表格渲染失败: " + error.message, { icon: 5 });
                            }
                            // æ›´æ–°åˆ†é¡µä¿¡æ¯
                            try {
                                laypage.render({
                                    elem: 'page',
                                    count: totalCount,
                                    limit: size,
                                    curr: page,
                                    limits: [50, 500, 5000, 50000],
                                    layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'],
                                    jump: function (obj, first) {
                                        if (!first) {
                                            page = obj.curr;
                                            size = obj.limit;
                                            get_FastQuery();
                                        }
                                    }
                                });
                                console.log("分页渲染完成,总记录数:", totalCount);
                            } catch (error) {
                                console.error("分页渲染错误:", error);
                            }
                            // åˆ·æ–°åˆ—过滤下拉框
                            setTimeout(function () {
                                try {
                                    ColFilter();
                                } catch (error) {
                                    console.error("列过滤刷新错误:", error);
                                }
                            }, 100);
                        } else {
                            layer.msg(data1.message || "查询失败", { icon: 5 });
                            console.error("查询失败:", data1);
                        }
                    },
                    error: function (xhr, status, error) {
                        layer.close(ajaxLoad);
                        layer.msg("查询失败: " + error, { icon: 5 });
                        console.error("AJAX请求失败:", error);
                    }
                });
            }
            //#endregion
            //#region åˆ—明显示下拉框
            function ColFilter() {
                var Organization = '<option  value="0" selected="selected" ></option>';
                for (var i = 1; i < option.cols[0].length; i++) {
                    if (option.cols[0][i].hide != true) {
                        Organization += '<option  style="color:blue;" value="' + option.cols[0][i].field + '">' + option.cols[0][i].title + '</option>';
                    }
                }
                $("#ColName").empty();
                $("#ColName").append(Organization);
                $("#ColName1").empty();
                $("#ColName1").append(Organization);
                $("#ColName2").empty();
                $("#ColName2").append(Organization);
                form.render('select');
            }
            //#endregion
            //#region åˆ—设置
            function get_HideColumn() {
                var colName = "";
                var contentUrl = "";
                for (var i = 1; i < option.cols[0].length; i++) {
                    colName += option.cols[0][i]["field"] + ",";
                }
                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_New.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);//关闭弹窗
                    }
                })
            function get_PrintReport() {
                layer.msg("打印功能待实现", { icon: 1 });
            }
            //#endregion
            //#region ã€è¿‡æ»¤æ–¹æ¡ˆã€‘
            //获取当前用户的默认过滤方案
            function get_DefaultModule() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_FastICScheme/Chooselist',
                    type: "GET",
                    data: { "user": sessionStorage["Czybm"], "HModuleName": HModuleName, "HInterID": 0, "Type": "Default" },
                    success: function (data1) {
                        if (data1.count == 1) {
                            //当前用户设置有默认的过滤方案
                            var data = data1.data;
                            //当前选择的过滤方案
                            HInterID_Choose = data[0].hmainid;
                            //过滤方案内码
                            HInterID = data[0].hmainid
                            //过滤方案名称
                            HDefaultFilter = data[0].方案名称
                            //过滤方案的备注(方案信息描述)
                            var HRemark = data[0].备注
                            //显示出当前的默认过滤方案
                            document.getElementById("HFilterScheme_Now").style.display = "block";
                            document.getElementById('HFilterScheme_Now').innerHTML = "当前过滤方案:" + HDefaultFilter + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + HRemark + ")" + '</span>';
                            //把过滤条件值回写到页面上
                            for (let i = 0; i < data.length; i++) {
                                $("#" + data[i].过滤字段ID).val(data[i].过滤值);
                                if (data[i].过滤标签类型 == 'SELECT') {
                                    $("#" + data[i].过滤字段ID).find("option[value='" + data[i].过滤值 + "']").attr("selected", true);
                                }
                            }
                            //执行查询方法
                            get_FastQuery()
                            form.render("select");
                        } else {
                            //当前用户没有设置默认的过滤方案
                            //隐藏显示过滤方案的标签信息
                            document.getElementById("HFilterScheme_Now").style.display = "none";
                            //执行查询方法
                            get_FastQuery()
                            form.render("select");
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //保存方案
            function set_SaveScheme() {
                var index = layer.open()
                //判断用户是否点击了右上角的"叉号"关闭弹窗页面
                var HIsClose_Manual = false;
                //获取本页所有过滤条件对象(class中包含"ForFilteringSchemes"的元素)
                var Filter = document.getElementsByClassName(HClassTag);
                var HFilterIdList = "";//过滤条件
                var HFilterIdLists = "";//拼接多个过滤条件
                var HValue = "";//过滤值
                var HElement_type = "";//过滤标签类型
                for (var i = 0; i < Filter.length; i++) {
                    HFilterIdList = Filter[i].id; //过滤条件ID
                    HFilterIdLists += Filter[i].id + ","; //过滤条件ID(拼接)
                    HValue += $("#" + HFilterIdList).val() + ","; //过滤条件中输入的值
                    HElement_type += document.getElementById(HFilterIdList).tagName + ",";//通过标签id获取标签类型
                }
                //去除末尾逗号
                HFilterIdLists = HFilterIdLists.substring(0, HFilterIdLists.length - 1);
                HValue = HValue.substring(0, HValue.length - 1);
                HElement_type = HElement_type.substring(0, HElement_type.length - 1);
                //当前页面上没有选择过滤方案,进入新增方法
                if (HDefaultFilter == "") {
                    layer.open({
                        type: 2
                        , area: ['40%', '80%']
                        , title: '过滤方案'
                        , shift: 0//弹出动画
                        , content: '../../系统管理/过滤方案设置/Xt_FastICScheme.html?OperationType=1&HModuleName=' + HModuleName + '&HFilterIdLists=' + HFilterIdLists + '&HValue=' + HValue + '&HElement_type=' + HElement_type
                        , cancel: function () {
                            // å³ä¸Šè§’关闭事件的逻辑
                            HIsClose_Manual = true;
                        }
                        , end: function () {
                            if (HIsClose_Manual != true) {
                                get_FastQuery();
                                //显示当前的过滤方案
                                document.getElementById("HFilterScheme_Now").style.display = "block";
                                document.getElementById('HFilterScheme_Now').innerHTML = "当前过滤方案:" + sessionStorage["HFilterSchemeName_" + sessionStorage["Czybm"]] + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + sessionStorage["HFilterSchemeRemark_" + sessionStorage["Czybm"]] + ")" + '</span>';
                            }
                        }
                    })
                    layer.close(index)
                } else {
                    //当前页面已有过滤方案,用户选择 æ–°å¢žæˆ–者编辑
                    layer.confirm('当前已选择过滤方案,是否修改?请选择对应操作', {
                        title: "操作提示",
                        icon: 0,
                        btn: ['新增方案', '保存修改当前方案', '取消']
                    }, function (index, layero) {
                        //新增
                        layer.open({
                            type: 2
                            , area: ['40%', '80%']
                            , title: '过滤方案'
                            , shift: 0//弹出动画
                            , content: '../../系统管理/过滤方案设置/Xt_FastICScheme.html?OperationType=1&HModuleName=' + HModuleName + '&HFilterIdLists=' + HFilterIdLists + '&HValue=' + HValue + '&HElement_type=' + HElement_type
                            , end: function () {
                                get_FastQuery()
                                //显示当前的过滤方案
                                document.getElementById("HFilterScheme_Now").style.display = "block";
                                document.getElementById('HFilterScheme_Now').innerHTML = "当前过滤方案:" + sessionStorage["HFilterSchemeName_" + sessionStorage["Czybm"]] + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + sessionStorage["HFilterSchemeRemark_" + sessionStorage["Czybm"]] + ")" + '</span>';
                            }
                        })
                        layer.close(index)
                    }, function (index) {
                        //编辑
                        var Filter_Edit = document.getElementsByClassName(HClassTag); //获取本页所有过滤条件对象(class中包含"ForFilteringSchemes"的元素)
                        HFilterIdList = "";
                        HFilterIdLists = "";
                        HValue = "";
                        HElement_type = "";
                        for (var i = 0; i < Filter_Edit.length; i++) {
                            HFilterIdList = Filter_Edit[i].id; //过滤条件ID
                            HFilterIdLists += Filter_Edit[i].id + ","; //过滤条件ID(拼接)
                            HValue += $("#" + HFilterIdList).val() + ","; //过滤条件中输入的值
                            HElement_type += document.getElementById(HFilterIdList).tagName + ",";//通过标签id获取标签类型
                        }
                        //去除末尾逗号
                        HFilterIdLists = HFilterIdLists.substring(0, HFilterIdLists.length - 1);
                        HValue = HValue.substring(0, HValue.length - 1);
                        HElement_type = HElement_type.substring(0, HElement_type.length - 1);
                        var sMainSub = HInterID_Choose + ';' + HFilterIdLists + ';' + HValue + ';' + HElement_type + ';' + sessionStorage["Czybm"] + ';' + 3;
                        //修改
                        $.ajax({
                            type: "POST",
                            url: GetWEBURL() + "/Xt_FastICScheme/save", //方法所在页面和方法名
                            async: true,
                            data: { "oMain": sMainSub },
                            dataType: "json",
                            success: function (data) {
                                if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                    layer.msg(data.Message, { time: 1 * 1000, icon: 1 });
                                }
                                else {
                                }
                                layer.closeAll("loading");
                            },
                            error: function (err) {
                            }
                        });
                        layer.close(index)
                    }, function (index) {
                        //取消
                        layer.alert('取消')
                        layer.close(index)
                    });
                }
            }
            //读取方案
            function set_ReadScheme() {
                var HIsClose_Manual = false;
                var Filter = document.getElementsByClassName(HClassTag); //获取本页所有过滤条件对象(class中包含"ForFilteringSchemes"的元素)
                var HFilterIdList = "";
                var HFilterIdLists = "";
                var HValue = "";
                var HElement_type = "";
                for (var i = 0; i < Filter.length; i++) {
                    HFilterIdList = Filter[i].id; //过滤条件ID
                    HFilterIdLists += Filter[i].id + ","; //过滤条件ID(拼接)
                    HValue += $("#" + HFilterIdList).val() + ","; //过滤条件中输入的值
                    HElement_type += document.getElementById(HFilterIdList).tagName + ",";//通过标签id获取标签类型
                }
                //去除末尾逗号
                HFilterIdLists = HFilterIdLists.substring(0, HFilterIdLists.length - 1);
                HValue = HValue.substring(0, HValue.length - 1);
                HElement_type = HElement_type.substring(0, HElement_type.length - 1);
                layer.open({
                    type: 2
                    , area: ['80%', '80%']
                    , title: '过滤方案列表'
                    , shift: 0//弹出动画
                    , content: '../../系统管理/过滤方案设置/Xt_FastICSchemeList.html?HType=Select&HFilterIdLists=' + HFilterIdLists + '&HValue=' + HValue + '&HElement_type=' + HElement_type + '&HModuleName=' + HModuleName
                    , cancel: function () {
                        // å³ä¸Šè§’关闭事件的逻辑
                        HIsClose_Manual = true;
                    }
                    , end: function () {
                        if (HIsClose_Manual != true) {
                            get_FastQuery()
                            form.render("select");
                        }
                    }
                })
            }
            //#endregion
            //#endregion
            //以上是layui模块
        });
        //#region ã€è¿‡æ»¤æ–¹æ¡ˆè¿”回数据】
        function HFilterScheme(obj)  //返回过滤方案
        {
            var HInterID = obj[0].hmainid;
            HInterID_Choose = obj[0].hmainid;
            $.ajax({
                url: GetWEBURL() + '/Xt_FastICScheme/Chooselist',
                type: "GET",
                data: { "user": sessionStorage["Czybm"], "HModuleName": HModuleName, "HInterID": HInterID, "Type": "Select" },
                success: function (data1) {
                    if (data1.count == 1) {
                        var data = data1.data;
                        //赋值过滤方案名称
                        HDefaultFilter = data[0].方案名称
                        var HRemark = data[0].备注
                        //显示当前的过滤方案
                        document.getElementById("HFilterScheme_Now").style.display = "block";
                        document.getElementById('HFilterScheme_Now').innerHTML = "当前过滤方案:" + HDefaultFilter + '<span style="font-size: 15px; font-weight: bold; color:#7b90fb">  ' + "(" + HRemark + ")" + '</span>';
                        HInterID = data[0].hmainid
                        //根据选择的过滤方案回填数据到列表过滤条件
                        for (let i = 0; i < data.length; i++) {
                            $("#" + data[i].过滤字段ID).val(data[i].过滤值);
                            if (data[i].过滤标签类型 == 'SELECT') {
                                $("#" + data[i].过滤字段ID).find("option[value='" + data[i].过滤值 + "']").attr("selected", true);
                            }
                        }
                    } else {
                        layer.close(ajaxLoad);
                        layer.alert(data1.code + data1.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.close(ajaxLoad);
                    layer.alert("接口请求失败!", { icon: 5 });
                }
            });
        }
        //#endregion
    </script>
</body>
</html>
</html>