From d11769f5dd4fe359f6856e9038ab6ec13d5c135d Mon Sep 17 00:00:00 2001
From: zrg <z18737863051@163.com>
Date: 星期四, 22 五月 2025 20:50:56 +0800
Subject: [PATCH] 1

---
 WebTM/layuiadmin/SetColumn.js |  253 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 245 insertions(+), 8 deletions(-)

diff --git a/WebTM/layuiadmin/SetColumn.js b/WebTM/layuiadmin/SetColumn.js
index a1d297e..c59e2de 100644
--- a/WebTM/layuiadmin/SetColumn.js
+++ b/WebTM/layuiadmin/SetColumn.js
@@ -4,8 +4,15 @@
     for (var i = 1; i < option.cols[0].length; i++) {
         colName += option.cols[0][i]["field"] + ",";
     }
-
     colName = encodeURI(colName.substring(0, colName.length - 1));//瀵� URI 杩涜缂栫爜
+
+    var contentUrl = ""; 
+    var urlStr = window.document.location.pathname;//鑾峰彇鏂囦欢璺緞
+    var urlLen = urlStr.split('/');
+    for (var i = 0; i < urlLen.length - 4; i++) {
+        contentUrl += "../";
+    }
+    contentUrl += '鍩虹璧勬枡/闅愯棌鍒楄缃�/Gy_GridView_Hide_New.html?HModName=' + HModName + '&colName=' + colName;    
     layer.open({
         type: 2
         , skin: "layui-layer-rim" //鍔犱笂杈规
@@ -14,7 +21,7 @@
         , shift: 2 //寮瑰嚭鍔ㄧ敾
         , area: ["50%", "90%"] //绐椾綋澶у皬
         , maxmin: true //璁剧疆鏈�澶ф渶灏忔寜閽槸鍚︽樉绀�
-        , content: ['../../鍩虹璧勬枡/闅愯棌鍒楄缃�/Gy_GridView_Hide_New.html?HModName=' + HModName + '&colName=' + colName, "yes"]
+        , content: [contentUrl, "yes"]
         , btn: ["纭畾", "鍙栨秷"]
         , btn1: function (index, laero) {
             //鍒锋柊琛ㄦ牸鏁版嵁
@@ -35,8 +42,16 @@
     for (var i = 1; i < option.cols[0].length; i++) {
         colName += option.cols[0][i]["field"] + ",";
     }
-
     colName = encodeURI(colName.substring(0, colName.length - 1));//瀵� URI 杩涜缂栫爜
+
+    var contentUrl = "";
+    var urlStr = window.document.location.pathname;//鑾峰彇鏂囦欢璺緞
+    var urlLen = urlStr.split('/');
+    for (var i = 0; i < urlLen.length - 4; i++) {
+        contentUrl += "../";
+    }
+    contentUrl += '鍩虹璧勬枡/闅愯棌鍒楄缃�/Gy_GridView_Hide_New.html?HModName=' + HModName + '&colName=' + colName;
+  
     layer.open({
         type: 2
         , skin: "layui-layer-rim" //鍔犱笂杈规
@@ -45,7 +60,7 @@
         , shift: 2 //寮瑰嚭鍔ㄧ敾
         , area: ["50%", "90%"] //绐椾綋澶у皬
         , maxmin: true //璁剧疆鏈�澶ф渶灏忔寜閽槸鍚︽樉绀�
-        , content: ['../../鍩虹璧勬枡/闅愯棌鍒楄缃�/Gy_GridView_Hide_New.html?HModName=' + HModName + '&colName=' + colName, "yes"]
+        , content: [contentUrl, "yes"]
         , btn: ["纭畾", "鍙栨秷"]
         , btn1: function (index, laero) {
             //鐩存帴鎵ц鍒楄〃绛涢�� 鍔犺浇鏁版嵁鍒扮綉鏍�
@@ -79,8 +94,9 @@
     })
 }
 //#endregion
+
 //#region 鏄剧ず鍒楁暟鎹�
-function DisPlay_HideColumn(HModName, user, option) {
+function DisPlay_HideColumn(HModName, user, option, titleData) {
     $.ajax({
         url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
         type: "GET",
@@ -89,7 +105,7 @@
         success: function (data1) {
             if (data1.data.length != 0) {
                 var dataCol = [];//鏁版嵁搴撴煡璇㈠嚭鐨勫垪鏁版嵁
-                var titleData = [];
+            /*    var titleData = [];*/
                 var newCols = [[]];//瀵瑰簲鏁版嵁搴撳垪椤哄簭col
                 newCols[0].push(option.cols[0][0]);//鏀惧叆绗竴涓猚heckbox
                 dataCol = data1.data[0].HGridString.split(',');
@@ -176,7 +192,7 @@
                         }
                     }
                 }
-            } else {  
+            } else {
             }
         }, error: function () {
             layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
@@ -184,6 +200,7 @@
     })
 }
 //#endregion
+
 
 //#region 闅愯棌鍒楄缃紪杈戦〉闈�
 function get_HideColumnEdit(HModName,user,option,table) {
@@ -196,6 +213,8 @@
         colTitleName += option.cols[0][i]["title"] + ",";
     }
     colName = encodeURI(colName.substring(0, colName.length - 1));//瀵� URI 杩涜缂栫爜
+    colTitleName = encodeURI(colTitleName.substring(0, colTitleName.length - 1));
+    /*urlStr.replace(/%/g, '%25');*/
     layer.open({
         type: 2
         , skin: "layui-layer-rim" //鍔犱笂杈规
@@ -217,7 +236,7 @@
 //#endregion
 
 //#region 鏄剧ず鍒楁暟鎹紪杈戦〉闈� 
-function DisPlay_HideColumnEdit(HModName, user, option,table) {
+function DisPlay_HideColumnEdit(HModName, user, option, table) {
     $.ajax({
         url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
         type: "GET",
@@ -322,3 +341,221 @@
     })
 }
 //#endregion
+
+// 绛涢�夊嚱鏁帮細妫�鏌ュ瓧绗︿覆鏄惁绗﹀悎鏍煎紡绛涢�夋棩鏈�
+function isValidDate(dateStr) {
+    // 姝e垯琛ㄨ揪寮忛獙璇佹牸寮�
+    const formatRegex = /^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/;
+    if (!formatRegex.test(dateStr)) return false;
+
+    // 鍒嗗壊骞存湀鏃ュ苟杞崲涓烘暟鍊�
+    const [year, month, day] = dateStr.split('-').map(Number);
+
+    // 鍒涘缓Date瀵硅薄锛堟湀浠戒粠0寮�濮嬶級
+    const date = new Date(year, month - 1, day);
+
+    // 妫�鏌ユ棩鏈熸槸鍚︽湁鏁堬紙涓庤緭鍏ョ殑骞存湀鏃ヤ竴鑷达級
+    return (
+        date.getFullYear() === year &&
+        date.getMonth() === month - 1 &&
+        date.getDate() === day
+    );
+}
+//缁熻鍑芥暟锛岀粺璁℃暟缁勪腑鏃ユ湡鏍煎紡鐨勬暟閲�
+function countDate(strList) {
+    var count = 0;
+    for (var str of strList) {
+        if (isValidDate(str.field)) {
+            count++;
+        }
+    }
+    return count;
+}
+
+//#region 闅愯棌鍒楄缃� 娌″垎椤垫彃浠朵笓闂ㄤ负鎺掍骇鏈夊姩鎬佹棩鏈熻缃�
+function get_HideColumnNoPageForPlan(HModName, option, get_FastQuery) {
+    var colName = "";
+    let hasAddedData = false;
+    var colTitleName = "";
+    for (var i = 1; i < option.cols[0].length; i++) {
+        //涓烘棩鏈熸牸寮忔椂鐪佺暐option鐨勬棩鏈熷垪锛屽悎鎴愪竴鍒楃敤浜庢帶鍒舵棩鏈熷垪鏍煎紡
+        if (isValidDate(option.cols[0][i]["field"])) {
+            if (!hasAddedData) {
+                colName += "閫氱敤璁″垝鏃ユ湡鏍煎紡,";
+                colTitleName += "閫氱敤璁″垝鏃ユ湡鏍煎紡,";
+                hasAddedData = true;
+            }
+        } else {
+            colName += option.cols[0][i]["field"] + ",";
+            colTitleName += option.cols[0][i]["title"] + ",";
+        }
+        
+    }
+
+    colName = encodeURI(colName.substring(0, colName.length - 1));//瀵� URI 杩涜缂栫爜
+    layer.open({
+        type: 2
+        , skin: "layui-layer-rim" //鍔犱笂杈规
+        , title: "闅愯棌鍒楄缃�"  //鏍囬
+        , closeBtn: 1  //绐椾綋鍙充笂瑙掑叧闂� 鐨� 鏍峰紡
+        , shift: 2 //寮瑰嚭鍔ㄧ敾
+        , area: ["50%", "90%"] //绐椾綋澶у皬
+        , maxmin: true //璁剧疆鏈�澶ф渶灏忔寜閽槸鍚︽樉绀�
+        , content: ['../../鍩虹璧勬枡/闅愯棌鍒楄缃�/Gy_GridView_Hide_New.html?HModName=' + HModName + '&colName=' + colName + '&colTitleName = ' + colTitleName, "yes"]
+        , btn: ["纭畾", "鍙栨秷"]
+        , btn1: function (index, laero) {
+            //鐩存帴鎵ц鍒楄〃绛涢�� 鍔犺浇鏁版嵁鍒扮綉鏍�
+            get_FastQuery();
+            //鏇存柊琛ㄦ牸缂撳瓨鐨勬暟鎹�
+            layer.close(index);//鍏抽棴寮圭獥
+        }
+    })
+}
+//#endregion
+
+//#region 鏄剧ず鍒楁暟鎹� 涓撻棬涓烘帓浜�
+function DisPlay_HideColumnForPlan(HModName, user, option) {
+    $.ajax({
+        url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
+        type: "GET",
+        async: false,
+        data: { "HModName": HModName, "user": user },
+        success: function (data1) {
+            if (data1.data.length != 0) {
+                var dataCol = [];//鏁版嵁搴撴煡璇㈠嚭鐨勫垪鏁版嵁
+                var titleData = [];
+                var newCols = [[]];//瀵瑰簲鏁版嵁搴撳垪椤哄簭col
+                newCols[0].push(option.cols[0][0]);//鏀惧叆绗竴涓猚heckbox
+                dataCol = data1.data[0].HGridString.split(',');
+                var count = countDate(option.cols[0]);
+                //鍒楄缃垪鏁颁笌椤甸潰鍒楁暟鏄惁涓�鑷�
+                if (dataCol.length == option.cols[0].length - count) {
+                    //閬嶅巻瀵绘壘鍒楄缃搴斿垪鎸夐『搴忔彃鍏�
+                    for (var j = 0; j < option.cols[0].length - count; j++) {
+                        for (var i = 0; i < option.cols[0].length - 1; i++) {
+                            var dataCols = dataCol[j].split('|');
+                            //閫夋嫨涓巇atacols鐩稿簲鍒楄繘琛屼慨鏀�
+                            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]);
+                                break;
+                            }
+                            //璁剧疆閫氱敤鏃ユ湡鏍煎紡
+                            else if (dataCols[5] == "閫氱敤璁″垝鏃ユ湡鏍煎紡" && isValidDate(option.cols[0][i + 1]["field"])) {
+                                //闅愯棌鍒�
+                                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;
+                                }
+                                newCols[0].push(option.cols[0][i + 1]);
+                            }
+                        }
+                    }
+                    //閬嶅巻寰幆鍚庡垽鏂搴斿垪鏁版槸鍚︿竴鑷�
+                    if (dataCol.length == newCols[0].length - count) {
+                        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";
+                            }
+                        }
+                        //璁剧疆鍒楁帓搴�
+                        for (var i = 1; i < option.cols[0].length; i++) {
+                            if (data1.data[0].HSortFlag == "鏄�") {
+                                option.cols[0][i]["sort"] = true;
+                            }
+                            else {
+                                option.cols[0][i]["sort"] = false;
+                            }
+                        }
+                    }
+                }
+            } else {
+            }
+        }, error: function () {
+            layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+        }
+    })
+}
+//#endregion
+
+

--
Gitblit v1.9.1