From 4d4bdee1f5f80055867aef26ae691bd62d2eec50 Mon Sep 17 00:00:00 2001
From: zrg <z1873@LAPTOP-EAVL132E>
Date: 星期三, 10 十二月 2025 16:59:02 +0800
Subject: [PATCH] 1

---
 WebTM/layuiadmin/SetColumn.js |  135 +++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 129 insertions(+), 6 deletions(-)

diff --git a/WebTM/layuiadmin/SetColumn.js b/WebTM/layuiadmin/SetColumn.js
index 44b79eb..006e9c6 100644
--- a/WebTM/layuiadmin/SetColumn.js
+++ b/WebTM/layuiadmin/SetColumn.js
@@ -11,8 +11,10 @@
 
     var contentUrl = "";
     var urlStr = window.document.location.pathname;//鑾峰彇鏂囦欢璺緞
+    var viewsLocation = urlStr.indexOf('views')
+    urlStr = urlStr.substring(viewsLocation + 6, urlStr.length)
     var urlLen = urlStr.split('/');
-    for (var i = 0; i < urlLen.length - 4; i++) {
+    for (var i = 0; i < urlLen.length - 1; i++) {
         contentUrl += "../";
     }
     contentUrl += '鍩虹璧勬枡/闅愯棌鍒楄缃�/Gy_GridView_Hide_New.html?HModName=' + HModName + '&colName=' + colName;
@@ -49,12 +51,13 @@
 
     var contentUrl = "";
     var urlStr = window.document.location.pathname;//鑾峰彇鏂囦欢璺緞
+    var viewsLocation = urlStr.indexOf('views')
+    urlStr = urlStr.substring(viewsLocation + 6, urlStr.length)
     var urlLen = urlStr.split('/');
-    for (var i = 0; i < urlLen.length - 4; i++) {
+    for (var i = 0; i < urlLen.length - 1; i++) {
         contentUrl += "../";
     }
     contentUrl += '鍩虹璧勬枡/闅愯棌鍒楄缃�/Gy_GridView_Hide_New.html?HModName=' + HModName + '&colName=' + colName;
-
     layer.open({
         type: 2
         , skin: "layui-layer-rim" //鍔犱笂杈规
@@ -128,11 +131,11 @@
                                 if (dataCols[3] > 0) {
                                     option.cols[0][i + 1]["width"] = dataCols[3];
                                 }
-                                //璁剧疆鍐呭瀛椾綋澶у皬
+                                //璁剧疆鍐呭瀛椾綋澶у皬 鐩存帴瑕嗙洊鐨勮瘽浼氬鑷村師鏈夌殑鏍峰紡娑堝け锛屾晠浣跨敤鍦╯tyle涓缃甶mportant寮哄埗鍚敤鐨勬柟寮�
                                 if (data1.data[0].HFontSize != 0) {
-                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
+                                    option.cols[0][i + 1]["style"]+="font-size:" + data1.data[0].HFontSize + " !important px;";
                                 } else {
-                                    option.cols[0][i + 1]["style"] = "font-size:100%";
+                                    option.cols[0][i + 1]["style"]+= "font-size:100% !important;";
                                 }
                                 //鏄剧ず鍒�
                                 if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
@@ -734,3 +737,123 @@
     }
     return count;
 }
+
+
+function buildFilterWhere(colName, comparator, colContent, Logical_judgement, sWhere) {
+    if (!colName || !comparator || comparator === "0") return "";
+    else if (sWhere == "") {
+        var com = "";
+        switch (comparator) {
+            case "7":
+                com = "like''%" + colContent + "%''";
+                break;
+            case "8":
+                com = "like''%" + colContent + "''";
+                break;
+            case "9":
+                com = "like''" + colContent + "%''";
+                break;
+            case "10":
+                com = "not like''%" + colContent + "%''";
+                break;
+            default:
+                com = "" + comparator + "''" + colContent + "''";
+                break;
+        }
+        return " and " + "("+colName + " " + com ;
+    }
+    else if (sWhere != "")
+    {
+        var com = "";
+        switch (comparator) {
+            case "7":
+                com = "like''%" + colContent + "%''";
+                break;
+            case "8":
+                com = "like''%" + colContent + "''";
+                break;
+            case "9":
+                com = "like''" + colContent + "%''";
+                break;
+            case "10":
+                com = "not like''%" + colContent + "%''";
+                break;
+            default:
+                com = "" + comparator + "''" + colContent + "''";
+                break;
+        }
+        return Logical_judgement === "鎴�" ? " or " + colName + " " + com + ")" : " and " + colName + " " + com + ")";
+    }
+    else {
+
+        var com = "";
+        switch (comparator) {
+            case "7":
+                com = "like''%" + colContent + "%''";
+                break;
+            case "8":
+                com = "like''%" + colContent + "''";
+                break;
+            case "9":
+                com = "like''" + colContent + "%''";
+                break;
+            case "10":
+                com = "not like''%" + colContent + "%''";
+                break;
+            default:
+                com = "" + comparator + "''" + colContent + "''";
+                break;
+        }
+        return " and " + colName + " " + com;
+
+    }
+
+}
+function fixParenthesesMatching(swhere) {
+    const keywordEndPositions = [];
+    const keywordRegex = /\b(and|or)\b/gi;
+    let match;
+    while ((match = keywordRegex.exec(swhere)) !== null) {
+        keywordEndPositions.push(match.index + match[0].length);
+    }
+    keywordEndPositions.sort((a, b) => a - b); 
+
+ 
+    let leftCount = 0;
+    const insertPositions = [];
+    const workingKeywordPositions = [...keywordEndPositions]; 
+
+    for (let i = 0; i < swhere.length; i++) {
+        if (swhere[i] === '(') {
+            leftCount++;
+        } else if (swhere[i] === ')') {
+            leftCount--;
+ 
+            if (leftCount < 0) {
+
+                let insertIndex = -1;
+                for (let j = workingKeywordPositions.length - 1; j >= 0; j--) {
+                    if (workingKeywordPositions[j] < i) {
+                        insertIndex = workingKeywordPositions[j];
+                        workingKeywordPositions.splice(j, 1); 
+                        break;
+                    }
+                }
+  
+                insertPositions.push(insertIndex !== -1 ? insertIndex : 0);
+                leftCount = 0; 
+            }
+        }
+    }
+
+    let result = swhere;
+    insertPositions
+        .sort((a, b) => b - a) 
+        .forEach(pos => {
+            result = result.slice(0, pos) + '(' + result.slice(pos);
+        });
+
+    return result;
+}
+
+

--
Gitblit v1.9.1