From 6d5f767595c4b2b180795bee41f2066ae5c2ab7e Mon Sep 17 00:00:00 2001 From: wtt <1985833171@qq.com> Date: 星期四, 13 二月 2025 11:19:43 +0800 Subject: [PATCH] 排产提料报表添加专门列设置方法,提料计划列表优化 --- WebTM/layuiadmin/SetColumn.js | 218 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 218 insertions(+), 0 deletions(-) diff --git a/WebTM/layuiadmin/SetColumn.js b/WebTM/layuiadmin/SetColumn.js index a1d297e..1fd3b28 100644 --- a/WebTM/layuiadmin/SetColumn.js +++ b/WebTM/layuiadmin/SetColumn.js @@ -322,3 +322,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