From c0b572b80fc5f30c980ba4587f6667665adeef25 Mon Sep 17 00:00:00 2001
From: chenhaozhe <cgz@hz-kingdee.com>
Date: 星期一, 26 五月 2025 16:46:18 +0800
Subject: [PATCH] fix: 修正过滤下拉框默认选中最后一行问题, 修正物料属性/事业部下拉框选中其他数据消失问题

---
 WebTM/layuiadmin/SetColumn.js |  112 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 111 insertions(+), 1 deletions(-)

diff --git a/WebTM/layuiadmin/SetColumn.js b/WebTM/layuiadmin/SetColumn.js
index 223f5ff..07aa196 100644
--- a/WebTM/layuiadmin/SetColumn.js
+++ b/WebTM/layuiadmin/SetColumn.js
@@ -201,6 +201,115 @@
 }
 //#endregion
 
+//#region 鏄剧ず鍒楁暟鎹� 鏈夊洖璋冨嚱鏁�
+function DisPlay_HideColumnWithCallback(HModName, user, option, titleData, callback) {
+    $.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(',');
+                //鍒楄缃垪鏁颁笌椤甸潰鍒楁暟鏄惁涓�鑷�
+                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('|');
+                            //閫夋嫨涓巇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];
+                                }
+                                break;
+                            }
+                        }
+                    }
+                    //閬嶅巻寰幆鍚庡垽鏂搴斿垪鏁版槸鍚︿竴鑷�
+                    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";
+                            }
+                        }
+                        //璁剧疆鍒楁帓搴�
+                        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;
+                            }
+                        }
+                    }
+                    _newCols = data1.data[0];
+                }
+            } else {
+            }
+        }, error: function () {
+            layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+        }
+    })
+    if(_newCols !== undefined) {
+        callback.call([option]);
+    }
+}
+//#endregion
+
 
 //#region 闅愯棌鍒楄缃紪杈戦〉闈�
 function get_HideColumnEdit(HModName, user, option, table) {
@@ -236,7 +345,7 @@
 //#endregion
 
 //#region 闅愯棌鍒楄缃紪杈戦〉闈�
-function get_HideColumnEditAfterReload(HModName, user, option, table, callback) {
+function get_HideColumnEditWithCallback(HModName, user, option, table, callback) {
     var colName = "";
     for (var i = 1; i < option.cols[0].length - 1; i++) {
         colName += option.cols[0][i]["field"] + ",";
@@ -367,6 +476,7 @@
                     }
                 }
                 table.render(option);
+               
             } else {
             }
         }, error: function () {

--
Gitblit v1.9.1