From 94853e46b9d4911fb4cf00389f00a4b820db5d3c Mon Sep 17 00:00:00 2001
From: chenhaozhe <cgz@hz-kingdee.com>
Date: 星期三, 21 五月 2025 14:35:46 +0800
Subject: [PATCH] fix: 修正 系统上机日志查询 没有显示默认方案的问题

---
 WebTM/views/生产管理/日计划报表/ReportPODemandPlanBillList.html |  240 +++++++++++++++++++++++++++--------------------------------
 1 files changed, 110 insertions(+), 130 deletions(-)

diff --git "a/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\346\227\245\350\256\241\345\210\222\346\212\245\350\241\250/ReportPODemandPlanBillList.html" "b/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\346\227\245\350\256\241\345\210\222\346\212\245\350\241\250/ReportPODemandPlanBillList.html"
index fef3f11..67f1aaf 100644
--- "a/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\346\227\245\350\256\241\345\210\222\346\212\245\350\241\250/ReportPODemandPlanBillList.html"
+++ "b/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\346\227\245\350\256\241\345\210\222\346\212\245\350\241\250/ReportPODemandPlanBillList.html"
@@ -3,15 +3,17 @@
 <head>
     <meta charset="utf-8" />
     <title>鎻愭枡璁″垝鎶ヨ〃(閲囪喘璁㈠崟缁村害)</title>
-   <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
+    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
     <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
+    <link rel="stylesheet" href="../../../layuiadmin/ext/soulTable.css" media="all">
     <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
     <script src="../../../layuiadmin/layui/layui.js"></script>
     <script src="../../../layuiadmin/Scripts/json2.js"></script>
     <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
     <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
     <script src="../../../layuiadmin/PubCustom.js"></script>
-
+    <!--<script src="../../../layuiadmin/soulTable.slim.js"></script>-->
+    <script src="../../../layuiadmin/SetColumn.js"></script>
 </head>
 <body>
     <div class="layui-fluid">
@@ -85,6 +87,8 @@
                                             </div>
                                         </div>
                                     </div>
+
+                                    <hr />
                                 </div>
                             </div>
                         </div>
@@ -92,6 +96,7 @@
                         <script type="text/html" id="toolbarDemo">
                             <div class="layui-btn-container">
                                 <button type="button" class="layui-btn layui-btn-sm" lay-event="HideColumn"><i class="layui-icon layui-icon-form"></i>闅愯棌鍒楄缃�</button>
+                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_export" id="get_export"><i class="layui-icon layui-icon-export"></i>瀵煎嚭</button>
                             </div>
                         </script>
                     </form>
@@ -109,7 +114,7 @@
         base: '../../../layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰�
     }).extend({
         index: 'lib/index', //涓诲叆鍙fā鍧�
-    }).use(['tree', 'index', 'form', 'table', 'element', 'laypage', 'laydate', 'util'], function () {
+    }).use(['tree', 'index', 'form', 'table', 'element', 'laypage', 'laydate', 'util','soulTable'], function () {
         //#region 鍏敤鍙橀噺
         var $ = layui.$
             , admin = layui.admin
@@ -122,9 +127,11 @@
             , util = layui.util
             , tree = layui.tree
             , util = layui.util
+            , soulTable = layui.soulTable
         var sWhere = "";
         var option = [];
         var HModName = "ReportPODemandPlanBillList";
+        var ins = [];
         //#endregion
 
         //#region 杩涘叆椤甸潰鍗冲姞杞�
@@ -141,7 +148,11 @@
             switch (obj.event) {
                 //闅愯棌鍒楄缃�
                 case 'HideColumn':
-                    get_HideColumn();
+                    get_HideColumnNoPageForPlan(HModName, option, get_FastQuery);
+                    break;
+                //瀵煎嚭excel
+                case 'get_export':
+                    get_Export();
                     break;
             };
         });
@@ -185,7 +196,8 @@
             //set_InitGrid();
             //蹇�熻繃婊�
             get_FastQuery(1);
-            DisPlay_HideColumn(); 
+
+            ColFilter();
         }
         //#endregion
 
@@ -193,20 +205,21 @@
         function set_InitGrid() {
             var columns = [];
         
-            columns.push({ type: 'checkbox', fixed: 'left' });
-            columns.push({ field: '缁勭粐', title: '閲囪喘缁勭粐' });
-            columns.push({ field: '鐗╂枡鍚嶇О', title: '鐗╂枡鍚嶇О' });
-            columns.push({ field: '瑙勬牸鍨嬪彿', title: '鐗╂枡瑙勬牸' });
-            columns.push({ field: '渚涘簲鍟�', title: '渚涘簲鍟�' });
-            columns.push({ field: 'FSUMQTY', title: '鍚堣' });
-            columns.push({ field: 'HPOOrderBillNo', title: '閲囪喘璁㈠崟鍙�' });
-            columns.push({ field: 'HSeOrderBillNo', title: '閿�鍞鍗曞彿' });
-            columns.push({ field: 'HPOOrderBillRemark', title: '鎽樿' });
-            columns.push({ field: 'HPOOrderBillNote', title: '澶囨敞' });
-            columns.push({ field: '閲囪喘鍛�', title: '閲囪喘鍛�' });
-            columns.push({ field: '鐗╂枡浠g爜', title: '鐗╂枡缂栫爜' });
-            columns.push({ field: '璁¢噺鍗曚綅鍚嶇О', title: '璁¢噺鍗曚綅' });
-            columns.push({ field: 'TQSUM', title: '鎻愭枡鎷栨湡鏁伴噺' });
+            columns.push({ type: 'checkbox', fixed: 'left', sort: true, filter: true});
+            columns.push({ field: '缁勭粐', title: '閲囪喘缁勭粐', sort: true, filter: true});
+            columns.push({ field: '鐗╂枡鍚嶇О', title: '鐗╂枡鍚嶇О', sort: true, filter: true});
+            columns.push({ field: '瑙勬牸鍨嬪彿', title: '鐗╂枡瑙勬牸', sort: true, filter: true});
+            columns.push({ field: '渚涘簲鍟�', title: '渚涘簲鍟�', sort: true, filter: true});
+            columns.push({ field: 'FSUMQTY', title: '鍚堣', sort: true, filter: true });
+            columns.push({ field: 'HPOOrderBillNo', title: '閲囪喘璁㈠崟鍙�', sort: true, filter: true });
+            columns.push({ field: '瀹㈡埛璁㈠崟鍙�', title: '瀹㈡埛璁㈠崟鍙�', sort: true, filter: true });
+            columns.push({ field: 'HSeOrderBillNo', title: '閿�鍞鍗曞彿', sort: true, filter: true});
+            columns.push({ field: 'HPOOrderBillRemark', title: '鎽樿', sort: true, filter: true });
+            columns.push({ field: 'HPOOrderBillNote', title: '澶囨敞', sort: true, filter: true});
+            columns.push({ field: '閲囪喘鍛�', title: '閲囪喘鍛�', sort: true, filter: true});
+            columns.push({ field: '鐗╂枡浠g爜', title: '鐗╂枡缂栫爜', sort: true, filter: true});
+            columns.push({ field: '璁¢噺鍗曚綅鍚嶇О', title: '璁¢噺鍗曚綅', sort: true, filter: true});
+            columns.push({ field: 'TQSUM', title: '鎻愭枡鎷栨湡鏁伴噺', sort: true, totalRow: true, filter: true});
          
             //鑾峰彇涓や釜鏈堟湡涔嬮棿鐨勭浉宸�
             var time1 = Date.parse(new Date($("#HBEGINDATE").val()));//寮�濮嬫椂闂�
@@ -223,7 +236,7 @@
 
             var k = 0;//鏀堕泦寰幆娆℃暟
             for (var j = 0; j <= (Days - k); j++) {
-                columns.push({ field: Format(yyyy + '/' + MM + '/' + (HBEGINDATE + j), 'yyyy-MM-dd'), title: Format(yyyy + '/' + MM + '/' + (HBEGINDATE + j), 'MM.dd'), width: 70 })
+                columns.push({ field: Format(yyyy + '/' + MM + '/' + (HBEGINDATE + j), 'yyyy-MM-dd'), title: Format(yyyy + '/' + MM + '/' + (HBEGINDATE + j), 'MM.dd'), width: 70, totalRow: true })
                 //璺ㄥ勾鐨勮瘽 浼氫粠涓�鏈堜竴鍙峰紑濮�
                 if (MM == 12 && (HBEGINDATE + j) == 31) {
                     yyyy += 1;
@@ -241,18 +254,23 @@
                 }
             }
           
-            columns.push({ field: '', title: '鎻愭枡璁″垝鍚堣' });
+            columns.push({
+                field: '鎻愭枡璁″垝鍚堣', title: '鎻愭枡璁″垝鍚堣', filter: true });
 
             option = {
                 elem: '#mainTable'
                 , toolbar: '#toolbarDemo'
                 , height: 'full-50'
-                , page: true
+                , page: false
                 , cellMinWidth: 90
-                , limit: 50
+                , totalRow: true
+                , limit: 20000
                 , limits: [50, 500, 5000, 20000]
                 , loading: false
                 , cols: [columns]
+                , done: function (res, curr, count) {
+                    soulTable.render(this);
+                }
             };
         }
         //#endregion
@@ -289,8 +307,10 @@
                 data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
                 success: function (result) {
                     if (result.count == 1) {
-                        option.data = result.data;
-                        table.render(option);
+                        option.data = addTotalField(result.data);
+                        //鍒楄缃�
+                        DisPlay_HideColumnForPlan(HModName, sessionStorage["HUserName"], option);
+                        ins = table.render(option);
                         layer.close(ajaxLoad);
                         //layer.alert("鏌ヨ鎴愬姛", { icon: 1 });
                     } else {
@@ -321,7 +341,6 @@
             var HSUPPLIERID = $("#HSUPPLIERID").val();//渚涘簲鍟�
             var HXQD = $("#HXQD").val();//闇�姹傚崟鍙�
             var HPURORDERNO = $("#HPURORDERNO").val();//閲囪喘璁㈠崟鍙�
-
             if (HBEGINDATE > HENDDATE) {
                 return layer.msg("寮�濮嬫棩鏈熶笉鑳藉皬浜庣粨鏉熸棩鏈�!");
             }
@@ -347,9 +366,9 @@
             $("#HORGID").val(sessionStorage["OrganizationID"]);//缁勭粐
             $("#HBEGINDATE").val(Format(new Date(new Date()), "yyyy-MM-dd"));//鎻愭枡鏃ユ湡
             $("#HENDDATE").val(Format(new Date($("#HBEGINDATE").val()).setDate(new Date($("#HBEGINDATE").val()).getDate() + 30), "yyyy-MM-dd"));//鑷�
-            $("#HMATERIALID").val("");//鐗╂枡/浜у搧
+            $("#HMATERIALID").val("0");//鐗╂枡/浜у搧
             $("#HMATERIALNAME").val("");
-            $("#HSUPPLIERID").val("");//渚涘簲鍟�
+            $("#HSUPPLIERID").val("0");//渚涘簲鍟�
             $("#HSUPPLIERNAME").val("");
             $("#HXQD").val("");//闇�姹傚崟鍙�
             $("#HPURORDERNO").val("");//閲囪喘璁㈠崟鍙�
@@ -366,7 +385,7 @@
                 , area: ['90%', '90%']//澶у皬
                 , title: '鐗╂枡鍒楄〃'//鏍囬
                 , shift: 2//寮瑰嚭鍔ㄧ敾
-                , content: ['../../Baseset/鍩虹璧勬枡/Gy_MaterialList.html', 'yes']
+                , content: ['../../鍩虹璧勬枡/鍏敤鍩虹璧勬枡/Gy_Material.html', 'yes']
                 , btn: ['纭畾', '鍙栨秷']
                 , btn1: function (index, layero) {//鎸夐挳銆愭寜閽竴銆戠殑鍥炶皟
                     var iframeWindow = window['layui-layer-iframe' + index]  //鑾峰彇寮规椤甸潰
@@ -376,7 +395,7 @@
                     }
                     //鑾峰彇鏁版嵁
                     $("#HMATERIALID").val(checkStatus.data[0].HItemID);
-                    $("#HMATERIALNAME").val(checkStatus.data[0].HName);
+                    $("#HMATERIALNAME").val(checkStatus.data[0].鐗╂枡鍚嶇О);
                     layer.close(index); //瀹冭幏鍙栫殑濮嬬粓鏄渶鏂板脊鍑虹殑鏌愪釜灞傦紝鍊兼槸鐢眑ayer鍐呴儴鍔ㄦ�侀�掑璁$畻鐨�
                 }
                 , btn2: function (index, layero) { }
@@ -391,7 +410,7 @@
                 , area: ['90%', '90%']//澶у皬
                 , title: '渚涘簲鍟嗗垪琛�'//鏍囬
                 , shift: 2//寮瑰嚭鍔ㄧ敾
-                , content: ['../../鍩虹璧勬枡/閲囪喘鍩虹璧勬枡/Gy_Supplier.html', 'yes']
+                , content: ['../../鍩虹璧勬枡/閲囪喘鍩虹璧勬枡/Gy_Supplier.html?Type=HSup', 'yes']
                 , btn: ['纭畾', '鍙栨秷']
                 , btn1: function (index, layero) {//鎸夐挳銆愭寜閽竴銆戠殑鍥炶皟
                     var iframeWindow = window['layui-layer-iframe' + index]  //鑾峰彇寮规椤甸潰
@@ -408,112 +427,73 @@
             })
         }
 
-        //闅愯棌鍒楄缃�
-        function get_HideColumn() {
-            var colName = "";
-            for (var i = 1; i < option.cols[0].length; i++) {
-                colName += 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.html?HModName=' + HModName + '&colName=' + colName, "yes"]
-                , btn: ["纭畾", "鍙栨秷"]
-                , btn1: function (index, laero) {
-                    //鍒锋柊琛ㄦ牸鏁版嵁
-                    DisPlay_HideColumn();
-                    //鏇存柊琛ㄦ牸缂撳瓨鐨勬暟鎹�
-                    layer.close(index);//鍏抽棴寮圭獥
+        function get_Export() {
+            var data = option.data;
+            data.forEach((item) => {
+                for (let itemobj in item) {
+                    if (item[itemobj] == null) {
+                        item[itemobj] = "";
+                    }
+                    if (item[itemobj].length > 0) {  // 鍋囪瀛楁鍚嶄负field
+                        item[itemobj] = item[itemobj].toString().replace(/[\r\n]+/g, '');  // 灏嗘崲琛岀鏇挎崲涓虹┖瀛楃涓�
+                    }
                 }
-            })
+            });
+            table.exportFile(ins.config.id, data, "xls");
         }
 
-        //鏄剧ず鍒楁暟鎹�
-        function DisPlay_HideColumn() {
-            $.ajax({
-                url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
-                type: "GET",
-                data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
-                success: function (data1) {
-                    if (data1.data.length != 0) {
-
-                        var dataCol = [];//鏁版嵁搴撴煡璇㈠嚭鐨勫垪鏁版嵁
-                        var titleData = [];//涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
-
-                        dataCol = data1.data[0].HGridString.split(',');
-
-                        for (var i = 0; i < option.cols[0].length - 1; i++) {
-                            if (dataCol[i]) {
-                                var dataCols = dataCol[i].split('|');
-                            }
-                            //闅愯棌鍒�
-                            if (dataCols[1] == 1) {
-                                option.cols[0][i + 1]["hide"] = true;
-                            }
-                            //璁剧疆鍐呭瀛椾綋澶у皬
-                            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[3] > 0) {
-                                option.cols[0][i + 1]["width"] = dataCols[3];
-                            }
-                            //鏄剧ず鍒�
-                            if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
-                                option.cols[0][i + 1]["hide"] = false;
-                            }
-                            //瀛椾綋鎵�鍦ㄤ綅缃�(宸� 灞呬腑 鍙�)
-                            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;
-                            }
-                        }
-
-                        //鍙栨秷鍐荤粨鍒�
-                        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";
-                            }
-                        }
-                        table.render(option);
-                    } else {
-                        table.render(option);
-                    }
-                }, error: function () {
-                    layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+        //鍒楁槑鏄剧ず涓嬫媺妗�
+        function ColFilter() {
+            var Organization = '<option  value="0" selected="selected" ></option>';
+            for (var i = 1; i < option.cols[0].length; i++) {
+                if (option.cols[0][i].hide != true) {
+                    Organization += '<option  style="color:blue;" value="' + option.cols[0][i].field + '">' + option.cols[0][i].field + '</option>';
                 }
-            })
+            }
+            $("#ColName").empty();
+            $("#ColName").append(Organization);
+            $("#ColName1").empty();
+            $("#ColName1").append(Organization);
+            $("#ColName2").empty();
+            $("#ColName2").append(Organization);
+
+            form.render('select');
+        }
+        function addTotalField(arr) {
+            return arr.map(obj => {
+                // 鍒涘缓鏂板璞★紝閬垮厤淇敼鍘熷璞�
+                const newObj = { ...obj };
+
+                // 璁$畻绗﹀悎鏃ユ湡鏍煎紡鐨勫瓧娈靛�肩殑鍚堣
+                let total = 0;
+                for (const [key, value] of Object.entries(obj)) {
+                    if (isValidDate(key)) {
+                        // 纭繚鍊兼槸鏁板瓧绫诲瀷
+                        const numValue = Number(value);
+                        if (!isNaN(numValue)) {
+                            total += numValue;
+                        }
+                    }
+                }
+                // 澶勭悊娴偣鏁扮簿搴﹂棶棰�
+                const roundedTotal = parseFloat(total.toFixed(2));
+
+                // 娣诲姞鎻愭枡璁″垝鍚堣瀛楁
+                newObj['鎻愭枡璁″垝鍚堣'] = roundedTotal;
+
+                return newObj;
+            });
         }
 
         //#endregion
         //浠ヤ笂鏄痩ayui妯″潡
     });
+    function GetHSupNameValue(obj) {
+        $("#HSUPPLIERID").val(obj[0].HItemID);
+        $("#HSUPPLIERNAME").val(obj[0].渚涘簲鍟嗗悕绉�);
+    }
+    function GetGyMaterial(obj) {
+        $("#HMATERIALID").val(obj.HItemID);
+        $("#HMATERIALNAME").val(obj.鐗╂枡鍚嶇О);
+    }
 </script>
\ No newline at end of file

--
Gitblit v1.9.1