llj
2025-12-16 1b5293c8ca79ce81b0ce5de7f4a89cc96aee6cb3
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];
                                }
                                //设置内容字体大小
                                //设置内容字体大小 直接覆盖的话会导致原有的样式消失,故使用在style中设置important强制启用的方式
                                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;
}