From e192600a773d5b4afe4c5ad3d4a13773c0f61d29 Mon Sep 17 00:00:00 2001
From: wtt <1985833171@qq.com>
Date: 星期一, 26 五月 2025 09:18:31 +0800
Subject: [PATCH] 报表更新

---
 WebTM/views/生产管理/日计划报表/ReportWorkDemandPlanBillList.html |  275 ++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 254 insertions(+), 21 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/ReportWorkDemandPlanBillList.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/ReportWorkDemandPlanBillList.html"
index 4e44a7c..cea12aa 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/ReportWorkDemandPlanBillList.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/ReportWorkDemandPlanBillList.html"
@@ -11,6 +11,8 @@
     <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">
@@ -69,11 +71,101 @@
                                                 </button>
                                             </div>
                                         </div>
+
+                                        <div class="layui-row" style=" margin-top: 10px; margin-left: 70px;">
+                                            <div class="layui-inline">
+                                                <label class="layui-form-label">杩囨护</label>
+                                                <div class="layui-input-block">
+                                                    <select name="ColName" id="ColName" class="ForFilteringSchemes" lay-filter="ColName" style="width:190px;">
+                                                    </select>
+                                                </div>
+                                            </div>
+                                            <div class="layui-inline">
+                                                <select name="Comparator" id="Comparator" class="ForFilteringSchemes" lay-filter="Comparator" style="width:190px;">
+                                                    <option value="0" selected="selected"></option>
+                                                    <option value="=">=</option>
+                                                    <option value=">=">>=</option>
+                                                    <option value=">">></option>
+                                                    <option value="<="><=</option>
+                                                    <option value="<"><</option>
+                                                    <option value="<>"><></option>
+                                                    <option value="7">鍖呭惈</option>
+                                                    <option value="8">宸﹀寘鍚�</option>
+                                                    <option value="9">鍙冲寘鍚�</option>
+                                                    <option value="10">涓嶅寘鍚�</option>
+                                                </select>
+                                            </div>
+                                            <div class="layui-inline">
+                                                <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent" id="ColContent">
+                                            </div>
+                                        </div>
+
+                                        <div class="layui-row" style=" margin-top: 10px; margin-left: 70px;">
+                                            <div class="layui-inline">
+                                                <label class="layui-form-label">杩囨护</label>
+                                                <div class="layui-input-block">
+                                                    <select name="ColName1" id="ColName1" class="ForFilteringSchemes" lay-filter="ColName1" style="width:190px;">
+                                                    </select>
+                                                </div>
+                                            </div>
+                                            <div class="layui-inline">
+                                                <select name="Comparator1" id="Comparator1" class="ForFilteringSchemes" lay-filter="Comparator1" style="width:190px;">
+                                                    <option value="0" selected="selected"></option>
+                                                    <option value="=">=</option>
+                                                    <option value=">=">>=</option>
+                                                    <option value=">">></option>
+                                                    <option value="<="><=</option>
+                                                    <option value="<"><</option>
+                                                    <option value="<>"><></option>
+                                                    <option value="7">鍖呭惈</option>
+                                                    <option value="8">宸﹀寘鍚�</option>
+                                                    <option value="9">鍙冲寘鍚�</option>
+                                                    <option value="10">涓嶅寘鍚�</option>
+                                                </select>
+                                            </div>
+                                            <div class="layui-inline">
+                                                <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent1" id="ColContent1">
+                                            </div>
+                                        </div>
+
+                                        <div class="layui-row" style=" margin-top: 10px; margin-left: 70px;">
+                                            <div class="layui-inline">
+                                                <label class="layui-form-label">杩囨护</label>
+                                                <div class="layui-input-block">
+                                                    <select name="ColName2" id="ColName2" class="ForFilteringSchemes" lay-filter="ColName2" style="width:190px;">
+                                                    </select>
+                                                </div>
+                                            </div>
+                                            <div class="layui-inline">
+                                                <select name="Comparator2" id="Comparator2" class="ForFilteringSchemes" lay-filter="Comparator2" style="width:190px;">
+                                                    <option value="0" selected="selected"></option>
+                                                    <option value="=">=</option>
+                                                    <option value=">=">>=</option>
+                                                    <option value=">">></option>
+                                                    <option value="<="><=</option>
+                                                    <option value="<"><</option>
+                                                    <option value="<>"><></option>
+                                                    <option value="7">鍖呭惈</option>
+                                                    <option value="8">宸﹀寘鍚�</option>
+                                                    <option value="9">鍙冲寘鍚�</option>
+                                                    <option value="10">涓嶅寘鍚�</option>
+                                                </select>
+                                            </div>
+                                            <div class="layui-inline">
+                                                <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent2" id="ColContent2">
+                                            </div>
+                                        </div>
                                     </div>
                                 </div>
                             </div>
                         </div>
                         <table class="" id="mainTable" lay-filter="mainTable"></table>
+                        <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>
                 </div>
             </div>
@@ -89,7 +181,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
@@ -102,8 +194,11 @@
             , util = layui.util
             , tree = layui.tree
             , util = layui.util
+            , soulTable = layui.soulTable
         var sWhere = "";
         var option = [];
+        var HModName = "ReportWorkDemandPlanBill";
+        var ins = [];
         //#endregion
 
         //#region 杩涘叆椤甸潰鍗冲姞杞�
@@ -114,6 +209,20 @@
         //#endregion
 
         //#region 瑙﹀彂浜嬩欢锛氬寘鎷琭orm.on(){}鏍煎紡鐨勬墍鏈夌偣鍑讳簨浠躲�侀�夋嫨浜嬩欢绛�
+
+        //澶村伐鍏锋爮浜嬩欢
+        table.on('toolbar(mainTable)', function (obj) {
+            switch (obj.event) {
+                //闅愯棌鍒楄缃�
+                case 'HideColumn':
+                    get_HideColumnNoPageForPlan(HModName, option, get_FastQuery);
+                    break;
+                //瀵煎嚭excel
+                case 'get_export':
+                    get_Export();
+                    break;
+            };
+        });
 
         //#region 浜у搧缂栫爜
         form.on('submit(btnHMATERIALID)', function (data) {
@@ -153,6 +262,7 @@
           
             //蹇�熻繃婊�
             get_FastQuery(1);
+            ColFilter();
         }
         //#endregion
 
@@ -160,17 +270,18 @@
         function set_InitGrid() {
             var columns = [];
 
-            columns.push({ type: 'checkbox', fixed: 'left' });
-            columns.push({ field: '缁勭粐', title: '鐢熶骇缁勭粐' });
-            columns.push({ field: '閮ㄩ棬', title: '鐢熶骇杞﹂棿' });
-            columns.push({ field: 'FSUMQTY', title: '鍚堣' });
-            columns.push({ field: '鐗╂枡鍚嶇О', title: '鐗╂枡鍚嶇О' });
-            columns.push({ field: '瑙勬牸鍨嬪彿', title: '鐗╂枡瑙勬牸' });
-            columns.push({ field: 'HICMOBillNo', title: '鐢熶骇璁㈠崟鍙�' });
-            columns.push({ field: 'HSeOrderBillNo', title: '闇�姹傚崟鍙�' });
-            columns.push({ field: '鐗╂枡浠g爜', title: '鐗╂枡缂栫爜' });
-            columns.push({ field: '璁¢噺鍗曚綅鍚嶇О', title: '璁¢噺鍗曚綅' });
-            columns.push({ field: 'TQSUM', title: '瑕佹枡鎷栨湡鏁伴噺' });
+            columns.push({ type: 'checkbox', fixed: 'left', sort: true});
+            columns.push({ field: '缁勭粐', title: '鐢熶骇缁勭粐', sort: true});
+            columns.push({ field: '閮ㄩ棬', title: '鐢熶骇杞﹂棿', sort: true});
+            columns.push({ field: 'FSUMQTY', title: '鍚堣', sort: true });
+            columns.push({ field: '瀹㈡埛璁㈠崟鍙�', title: '瀹㈡埛璁㈠崟鍙�', sort: true });
+            columns.push({ field: '鐗╂枡鍚嶇О', title: '鐗╂枡鍚嶇О', sort: true});
+            columns.push({ field: '瑙勬牸鍨嬪彿', title: '鐗╂枡瑙勬牸', sort: true});
+            columns.push({ field: 'HICMOBillNo', title: '鐢熶骇璁㈠崟鍙�', sort: true});
+            columns.push({ field: 'HSeOrderBillNo', title: '闇�姹傚崟鍙�', sort: true});
+            columns.push({ field: '鐗╂枡浠g爜', title: '鐗╂枡缂栫爜', sort: true});
+            columns.push({ field: '璁¢噺鍗曚綅鍚嶇О', title: '璁¢噺鍗曚綅', sort: true});
+            columns.push({ field: 'TQSUM', title: '瑕佹枡鎷栨湡鏁伴噺', sort: true, totalRow: true});
             //鑾峰彇涓や釜鏈堟湡涔嬮棿鐨勭浉宸�
             var time1 = Date.parse(new Date($("#HBEGINDATE").val()));//寮�濮嬫椂闂�
             var time2 = Date.parse(new Date($("#HENDDATE").val()));//缁撴潫鏃堕棿
@@ -186,7 +297,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;
@@ -203,18 +314,23 @@
                     j = 0;
                 }
             }
-            columns.push({ field: '', title: '璁″垝鏄庣粏_鍚堣' });
+            columns.push({ field: '璁″垝鏄庣粏_鍚堣', title: '璁″垝鏄庣粏_鍚堣' });
 
             option = {
                 elem: '#mainTable'
                 , toolbar: '#toolbarDemo'
                 , height: 'full-50'
-                , page: true
+                , title: "瑕佹枡璁″垝鎶ヨ〃"
+                , page: false
                 , cellMinWidth: 90
-                , limit: 50
+                , limit: 20000
+                , totalRow: true
                 , limits: [50, 500, 5000, 20000]
                 , loading: false
                 , cols: [columns]
+                , done: function (res, curr, count) {
+                    soulTable.render(this);
+                }
             };
         }
         //#endregion
@@ -241,6 +357,21 @@
             })
         }
 
+        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().replaceAll(/[\r\n]+/g, '');  // 灏嗘崲琛岀鏇挎崲涓虹┖瀛楃涓�
+                    }
+                }
+            });
+            table.exportFile(ins.config.id, data, "xls");
+        }
+
         //#region 鏌ヨ
         function get_Display(sWhere) {
             var ajaxLoad = layer.load();
@@ -251,7 +382,9 @@
                 success: function (result) {
                     if (result.count == 1) {
                         option.data = result.data;
-                        table.render(option);
+                        //鍒楄缃�
+                        DisPlay_HideColumnForPlan(HModName, sessionStorage["HUserName"], option);
+                        ins = table.render(option);
                         layer.close(ajaxLoad);
                         //layer.alert("鏌ヨ鎴愬姛", { icon: 1 });
                     } else {
@@ -280,6 +413,81 @@
             var HENDDATE = $("#HENDDATE").val();//鑷�
             var HMATERIALID = $("#HMATERIALID").val();//鐗╂枡/浜у搧
             var HDeptID = $("#HDeptID").val();//鐢熶骇杞﹂棿
+
+            var ColName = $("#ColName").val();//澶嶉�夋
+            var Comparator = $("#Comparator").val()
+            var ColContent = $("#ColContent").val();
+            var ColName1 = $("#ColName1").val();//澶嶉�夋
+            var Comparator1 = $("#Comparator1").val()
+            var ColContent1 = $("#ColContent1").val();
+            var ColName2 = $("#ColName2").val();//澶嶉�夋
+            var Comparator2 = $("#Comparator2").val()
+            var ColContent2 = $("#ColContent2").val();
+
+            if (ColName != 0 && Comparator != 0) {
+                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;
+                }
+                sWhere += " and " + ColName + " " + com;
+            }
+
+            if (ColName1 != 0 && Comparator1 != 0) {
+                var com1 = "";
+                switch (Comparator1) {
+                    case "7":
+                        com1 = "like'%" + ColContent1 + "%'";
+                        break;
+                    case "8":
+                        com1 = "like'%" + ColContent1 + "'";
+                        break;
+                    case "9":
+                        com1 = "like'" + ColContent1 + "%'";
+                        break;
+                    case "10":
+                        com1 = "not like'%" + ColContent1 + "%'";
+                        break;
+                    default:
+                        com1 = "" + Comparator1 + "'" + ColContent1 + "'";
+                        break;
+                }
+                sWhere += " and " + ColName1 + " " + com1;
+            }
+            if (ColName2 != 0 && Comparator2 != 0) {
+                var com2 = "";
+                switch (Comparator2) {
+                    case "7":
+                        com2 = "like'%" + ColContent2 + "%'";
+                        break;
+                    case "8":
+                        com2 = "like'%" + ColContent2 + "'";
+                        break;
+                    case "9":
+                        com2 = "like'" + ColContent2 + "%'";
+                        break;
+                    case "10":
+                        com2 = "not like'%" + ColContent2 + "%'";
+                        break;
+                    default:
+                        com2 = "" + Comparator + "'" + ColContent + "'";
+                        break;
+                }
+                sWhere += " and " + ColName2 + " " + com2;
+            }
             if (HBEGINDATE > HENDDATE) {
                 return layer.msg("寮�濮嬫棩鏈熶笉鑳藉皬浜庣粨鏉熸棩鏈�!");
             }
@@ -307,6 +515,15 @@
             $("#HMATERIALNAME").val("");
             $("#HDeptID").val("");//鐢熶骇杞﹂棿
             $("#DeptNAME").val("");
+            $("#ColContent").val("");
+            $("#ColName").val("0");
+            $("#Comparator").val("0");
+            $("#ColContent1").val("");
+            $("#ColName1").val("0");
+            $("#Comparator1").val("0");
+            $("#ColContent2").val("");
+            $("#ColName2").val("0");
+            $("#Comparator2").val("0");
             form.render('select');
             sWhere = "";
         }
@@ -320,7 +537,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]  //鑾峰彇寮规椤甸潰
@@ -330,7 +547,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) { }
@@ -345,7 +562,7 @@
                 , area: ['90%', '90%']//澶у皬
                 , title: '閮ㄩ棬鍒楄〃'//鏍囬
                 , shift: 2//寮瑰嚭鍔ㄧ敾
-                , content: ['../../Baseset/鍩虹璧勬枡/Gy_DepartmentList.html', 'yes']
+                , content: ['../../鍩虹璧勬枡/鍏敤鍩虹璧勬枡/Gy_DepartmentList.html', 'yes']
                 , btn: ['纭畾', '鍙栨秷']
                 , btn1: function (index, layero) {//鎸夐挳銆愭寜閽竴銆戠殑鍥炶皟
                     var iframeWindow = window['layui-layer-iframe' + index]  //鑾峰彇寮规椤甸潰
@@ -355,13 +572,29 @@
                     }
                     //鑾峰彇鏁版嵁
                     $("#HDeptID").val(checkStatus.data[0].HItemID);
-                    $("#DeptNAME").val(checkStatus.data[0].HName);
+                    $("#DeptNAME").val(checkStatus.data[0].閮ㄩ棬鍚嶇О);
                     layer.close(index); //瀹冭幏鍙栫殑濮嬬粓鏄渶鏂板脊鍑虹殑鏌愪釜灞傦紝鍊兼槸鐢眑ayer鍐呴儴鍔ㄦ�侀�掑璁$畻鐨�
                 }
                 , btn2: function (index, layero) { }
             })
         }
+        //鍒楁槑鏄剧ず涓嬫媺妗�
+        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');
+        }
 
 
         //#endregion

--
Gitblit v1.9.1