From 222e62df3dfecb71d669b2509e4e8822638791a6 Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期四, 26 六月 2025 08:22:15 +0800
Subject: [PATCH] 华远:直观图调整

---
 WebTM/views/生产管理/欠料运算/JIT_MaterialLevelShorAnalysisDetailReport.html |  522 ++++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 397 insertions(+), 125 deletions(-)

diff --git "a/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\346\254\240\346\226\231\350\277\220\347\256\227/JIT_MaterialLevelShorAnalysisDetailReport.html" "b/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\346\254\240\346\226\231\350\277\220\347\256\227/JIT_MaterialLevelShorAnalysisDetailReport.html"
index fe9d655..5378d6d 100644
--- "a/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\346\254\240\346\226\231\350\277\220\347\256\227/JIT_MaterialLevelShorAnalysisDetailReport.html"
+++ "b/WebTM/views/\347\224\237\344\272\247\347\256\241\347\220\206/\346\254\240\346\226\231\350\277\220\347\256\227/JIT_MaterialLevelShorAnalysisDetailReport.html"
@@ -35,44 +35,17 @@
                                         <span>鏇村</span>
                                     </div>
                                 </div>
-                                <!--<div class="layui-inline" style="display:none">
-                <label class="layui-form-label" style="width: 85px;">缁勭粐</label>
-                <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
-                    <select name="HORGID" id="HORGID" lay-verify="HORGID">-->
-                                <!--鍔ㄦ�佹覆鏌撶粍缁�-->
-                                <!--</select>
-                </div>
-            </div>-->
-                                <!--<div class="layui-inline">
-                <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">鐢熶骇杞﹂棿</label>
-                <div class="layui-input-block" style="margin-left: 77px;">
-                    <input type="hidden" class="layui-input" lay-verify="HWorkShopID" name="HWorkShopID" id="HWorkShopID" value="0" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
-                    <input type="text" class="layui-input" lay-verify="HWorkShopIDName" name="HWorkShopIDName" id="HWorkShopIDName" value="" style="background-color:#efefef4d;width: 60%;display: inline-block;">
-                    <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHWorkShopID" id="btnHWorkShopID" style="padding: 0 10px;float: right;margin-right: 3px;">
-                        <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
-                    </button>
-                </div>
-            </div>
-            <div class="layui-inline">
-                <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">浜у搧缂栫爜</label>
-                <div class="layui-input-block" style="margin-left: 77px;">
-                    <input type="hidden" class="layui-input" lay-verify="HMATERIALID" name="HMATERIALID" id="HMATERIALID" value="0" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
-                    <input type="text" class="layui-input" lay-verify="HMATERIALNAME" name="HMATERIALNAME" id="HMATERIALNAME" value="" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
-                    <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHMATERIALID" id="btnHMATERIALID" style="padding: 0 10px;float: right;margin-right: 3px;">
-                        <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
-                    </button>
-                </div>
-            </div>-->
-                                <!--<div class="layui-inline">
-            <label class="layui-form-label" style="width: 85px;">榻愬绫诲瀷</label>
-            <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
-                <select name="HType" id="HType" lay-verify="HType">
-                    <option value="榻愬" selected="selected">榻愬</option>
-                    <option value="鏈綈濂�">鏈綈濂�</option>-->
-                                <!--<option value="閲囪喘璁㈠崟">閲囪喘璁㈠崟</option> 鏆傛椂娌℃湁-->
-                                <!--</select>
-                </div>
-            </div>-->
+                                <div class="layui-inline">
+                                    <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">鏄庣粏浜у搧鍚嶇О</label>
+                                    <div class="layui-input-block" style="margin-left: 77px;">
+                                        <input type="hidden" class="layui-input" lay-verify="HMATERIALID" name="HMATERIALID" id="HMATERIALID" value="0" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
+                                        <input type="text" class="layui-input" lay-verify="HMATERIALNAME" name="HMATERIALNAME" id="HMATERIALNAME" value="" style="background-color:#efefef4d;width: 60%;display: inline-block;">
+                                        <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHMATERIALID" id="btnHMATERIALID" style="padding: 0 10px;float: right;margin-right: 3px;">
+                                            <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
+                                        </button>
+                                    </div>
+                                </div>
+                                
                                 <div class="layui-inline" style="display:none">
                                     <label class="layui-form-label" style="width: 85px;">娆犳枡鏃ユ湡</label>
                                     <div class="layui-input-block" style="margin-left: 120px;">
@@ -85,30 +58,12 @@
                                         <input type="date" class="layui-input" lay-verify="HENDDATE" name="HENDDATE" id="HENDDATE" style="padding-left: 78px;">
                                     </div>
                                 </div>
+                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch2" id="btnSearch2">搴撳瓨鏌ヨ</button>
                                 <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">鏌ヨ</button>
                                 <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch">閲嶇疆</button>
                                 <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnExport" id="btnExport">瀵煎嚭</button>
                                 <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="bthHideColumn" id="bthHideColumn">鍒楄缃�</button>
-                                <!--<div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
-                <div class="layui-row" style="margin-top:10px;">
-                    <div class="layui-inline">
-                        <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">浜у搧缂栫爜</label>
-                        <div class="layui-input-block" style="margin-left: 77px;">
-                            <input type="hidden" class="layui-input" lay-verify="HMATERIALID" name="HMATERIALID" id="HMATERIALID" value="0" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
-                            <input type="text" class="layui-input" lay-verify="HMATERIALNAME" name="HMATERIALNAME" id="HMATERIALNAME" value="" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
-                            <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnHMATERIALID" id="btnHMATERIALID" style="padding: 0 10px;float: right;margin-right: 3px;">
-                                <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
-                            </button>
-                        </div>
-                    </div>
-                    <div class="layui-inline">
-                        <label class="layui-form-label" style="width: 85px;">鐢熶骇璁㈠崟鍙�</label>
-                        <div class="layui-input-block" style="margin-left: 120px;">
-                            <input type="text" class="layui-input" name="HMOBILLNO" id="HMOBILLNO">
-                        </div>
-                    </div>
-                </div>
-            </div>-->
+                                
                             </div>
                         </div>
 
@@ -116,6 +71,7 @@
                             <ul class="layui-tab-title">
                                 <li class="layui-this">涓嬫煡</li>
                                 <li>涓婃煡</li>
+                                <li>鍗虫椂搴撳瓨鏄庣粏</li>
                             </ul>
                             <div class="layui-tab-content" style="">
                                 <div class="layui-tab-item layui-show">
@@ -124,7 +80,14 @@
                                 <div class="layui-tab-item ">
                                     <table class="" id="mainTable2" lay-filter="mainTable2"></table>
                                 </div>
-                                
+                                <div class="layui-tab-item ">
+                                    <table class="" id="mainTable3" lay-filter="mainTable3"></table>
+                                    <script type="text/html" id="toolbarDemo">
+                                        <div class="layui-btn-container" id="toolbarDemo_ButtonSet">
+                                            <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn" id="HideColumn"><i class="layui-icon layui-icon-form"></i>鍒楄缃�</button>
+                                        </div>
+                                    </script>
+                                </div>
                             </div>
                         </div>
 
@@ -164,8 +127,10 @@
             , treeTable = layui.treeTable;
         var sWhere = "";
         var option = [];
+        var option3 = [];
         var ins;                        //鐢ㄤ簬瀵煎嚭excel
         var HModName = "JIT_MaterialLevelShorAnalysisDetailReport";
+        var HModName2 = "Jit_MaterialLevelShorAnalysisDetailReport2"
         var HMaterID = 0;
         var HWorkShopID = 0;
         var HOrgID = 0;
@@ -181,10 +146,30 @@
         //#endregion
 
         //#region 瑙﹀彂浜嬩欢锛氬寘鎷琭orm.on(){}鏍煎紡鐨勬墍鏈夌偣鍑讳簨浠躲�侀�夋嫨浜嬩欢绛�
+        //澶村伐鍏锋爮浜嬩欢
+        table.on('toolbar(mainTable3)', function (obj) {
+            switch (obj.event) {
+                //鍒楄缃�
+                case 'set_HideColumn': get_HideColumnNoPage(HModName2, sessionStorage["HUserName"], option3, get_Display2);
+                    break;
+                
+            };
+        });
+        //#region 浜у搧缂栫爜
+        form.on('submit(btnHMATERIALID)', function (data) {
+            btnHMATERIALID();
+        });
+        //#endregion
 
         //#region 閲嶇疆鎸夐挳
         form.on('submit(btnReSearch)', function (data) {
             set_ClearQuery();
+        });
+        //#endregion
+
+        //#region 搴撳瓨鏄庣粏鏌ヨ鎸夐挳
+        form.on('submit(btnSearch2)', function (data) {
+            get_Display2();
         });
         //#endregion
 
@@ -212,7 +197,36 @@
 
         //#region 鍒濆鍖栫晫闈�
         function set_ClearBill() {
-            
+            //鐗╂枡琛ㄦ牸涓嬫媺鎼滅储妗�
+            tableSelect.render({
+                elem: '#HMATERIALNAME',
+                checkedKey: 'HItemID',
+                searchKey: '鐗╂枡浠g爜,鐗╂枡鍚嶇О',
+                sWhere: '',//table鎼滅储sWhere鏉′欢
+                table: {
+                    url: GetWEBURL() + 'Gy_Material/page',
+                    where: { user: sessionStorage["HMaker"], "Organization": sessionStorage["Organization"] },
+                    cols: [[
+                        { type: 'checkbox', fixed: 'left' },
+                        { field: 'HItemID', title: 'HItemID' },
+                        { field: '鐗╂枡浠g爜', title: '鐗╂枡浠g爜' },
+                        { field: '鐗╂枡鍚嶇О', title: '鐗╂枡鍚嶇О' },
+                    ]],
+                    page: true,
+                    limit: 5,
+                    limits: [5]
+                },
+                done: function (elem, data) {
+                    if (data != []) {
+                        //鑾峰彇鏁版嵁
+                        $("#HMATERIALID").val(data.data[0].HItemID);
+                        $("#HMATERIALNAME").val(data.data[0].鐗╂枡鍚嶇О);
+                        /*$("#HMATERIALNAME").blur();//鍗曞厓鏍煎け鍘荤劍鐐�*/
+                        get_Display2();
+                    }
+
+                }
+            })
             addSWhereByOpenType()
             //鍒濆鍖栬〃鏍�
             set_InitGrid();
@@ -220,6 +234,8 @@
             DisPlay_HideColumn_GetPageSize(HModName, sessionStorage["HUserName"], option)
             //璁剧疆椤电爜
             DisPlay_HideColumn_GetPageSize(HModName, sessionStorage["HUserName"], option2)
+            //璁剧疆椤电爜
+            DisPlay_HideColumn_GetPageSize(HModName2, sessionStorage["HUserName"], option3)
             //蹇�熻繃婊�
             get_FastQuery();
         }
@@ -229,64 +245,68 @@
         function set_InitGrid() {
             var columns = [];
 
-            columns.push({ type: 'checkbox', fixed: 'left', sort: true });
-            columns.push({ field: '闇�姹傝溅闂碔D', title: '闇�姹傝溅闂碔D', sort: true, filter: true });
-            columns.push({ field: '闇�姹傝溅闂寸紪鐮�', title: '闇�姹傝溅闂寸紪鐮�', sort: true, filter: true });
-            columns.push({ field: '闇�姹傝溅闂村悕绉�', title: '闇�姹傝溅闂村悕绉�', sort: true, filter: true });
-            columns.push({ field: '鐗╂枡ID', title: '鐗╂枡ID', 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: '渚涜揣杞﹂棿ID', title: '渚涜揣杞﹂棿ID', sort: true, filter: true  });
-            columns.push({ field: '渚涜揣杞﹂棿缂栫爜', title: '渚涜揣杞﹂棿缂栫爜', sort: true,  filter: true  });
-            columns.push({ field: '渚涜揣杞﹂棿鍚嶇О', title: '渚涜揣杞﹂棿鍚嶇О', sort: true, filter: true });
-            columns.push({ field: 'HMainICMOInterID', title: 'HMainICMOInterID', sort: true, filter: true });
-            columns.push({ field: 'HMainICMOEntryID', title: 'HMainICMOEntryID', sort: true, filter: true });
-            columns.push({ field: 'HMainICMOBillNo', title: 'HMainICMOBillNo', sort: true, filter: true });
-            columns.push({ field: 'HICMOInterID', title: 'HICMOInterID', sort: true, filter: true });
-            columns.push({ field: 'HICMOEntryID', title: 'HICMOEntryID', sort: true, filter: true });
-            columns.push({ field: 'HICMOBillNo', title: 'HICMOBillNo', sort: true, filter: true });
-            columns.push({ field: '鏄惁鍖归厤鍒拌鍗�', title: '鏄惁鍖归厤鍒拌鍗�', sort: true, filter: true, templet: function (d) { return d.鏄惁鍖归厤鍒拌鍗� ? '鍚�' : '鏄�'; }  });
-            //columns.push({ field: 'HPOOrderBillRemark', title: '鎽樿' });
-            //columns.push({ field: 'HPOOrderBillNote', title: '澶囨敞' });
-            //columns.push({ field: '閲囪喘鍛�', title: '閲囪喘鍛�' });
-            columns.push({ field: '鏄惁鍖归厤鍒拌鏂欒鍒掍俊鎭�', title: '鏄惁鍖归厤鍒拌鏂欒鍒掍俊鎭�', sort: true, filter: true, templet: function (d) { return d.鏄惁鍖归厤鍒拌鏂欒鍒掍俊鎭� ? '鍚�' : '鏄�'; } });
-            columns.push({ field: '灞傜骇', 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()));//寮�濮嬫椂闂�
-            var time2 = Date.parse(new Date($("#HENDDATE").val()));//缁撴潫鏃堕棿
-            var Days = Math.abs(parseInt((time2 - time1) / 1000 / 3600 / 24));
-            //鑾峰彇骞�
-            var yyyy = new Date($("#HBEGINDATE").val()).getFullYear();
-            //鑾峰彇鏈堜唤
-            var MM = new Date($("#HBEGINDATE").val()).getMonth() + 1;
-            //鑾峰彇寮�濮嬫湀浠界殑鏈�澶уぉ鏁�
-            var SumMonth = new Date(yyyy, MM, 0).getDate(); //鍔ㄦ�佷袱鏈堜箣宸�
-            //鑾峰彇寮�濮嬫棩鏈熺殑澶╂暟
-            var HBEGINDATE = new Date(new Date($("#HBEGINDATE").val())).getDate(); //鑾峰彇寮�濮嬫棩鏈熷ぉ鏁�
+            //columns.push({ type: 'checkbox', fixed: 'left', sort: true });
+            //columns.push({ field: '闇�姹傝溅闂碔D', title: '闇�姹傝溅闂碔D', sort: true, filter: true });
+            //columns.push({ field: '闇�姹傝溅闂寸紪鐮�', title: '闇�姹傝溅闂寸紪鐮�', sort: true, filter: true });
+            //columns.push({ field: '闇�姹傝溅闂村悕绉�', title: '闇�姹傝溅闂村悕绉�', sort: true, filter: true });
+            //columns.push({ field: '鐗╂枡ID', title: '鐗╂枡ID', 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: '渚涜揣杞﹂棿ID', title: '渚涜揣杞﹂棿ID', sort: true, filter: true  });
+            //columns.push({ field: '渚涜揣杞﹂棿缂栫爜', title: '渚涜揣杞﹂棿缂栫爜', sort: true,  filter: true  });
+            //columns.push({ field: '渚涜揣杞﹂棿鍚嶇О', title: '渚涜揣杞﹂棿鍚嶇О', sort: true, filter: true });
+            //columns.push({ field: 'HMainICMOInterID', title: 'HMainICMOInterID', sort: true, filter: true });
+            //columns.push({ field: 'HMainICMOEntryID', title: 'HMainICMOEntryID', sort: true, filter: true });
+            //columns.push({ field: 'HMainICMOBillNo', title: 'HMainICMOBillNo', sort: true, filter: true });
+            //columns.push({ field: 'HICMOInterID', title: 'HICMOInterID', sort: true, filter: true });
+            //columns.push({ field: 'HICMOEntryID', title: 'HICMOEntryID', sort: true, filter: true });
+            //columns.push({ field: 'HICMOBillNo', title: 'HICMOBillNo', sort: true, filter: true });
+            //columns.push({ field: '鏄惁鍖归厤鍒拌鍗�', title: '鏄惁鍖归厤鍒拌鍗�', sort: true, filter: true, templet: function (d) { return d.鏄惁鍖归厤鍒拌鍗� ? '鍚�' : '鏄�'; }  });
+            ////columns.push({ field: 'HPOOrderBillRemark', title: '鎽樿' });
+            ////columns.push({ field: 'HPOOrderBillNote', title: '澶囨敞' });
+            ////columns.push({ field: '閲囪喘鍛�', title: '閲囪喘鍛�' });
+            //columns.push({ field: '鏄惁鍖归厤鍒拌鏂欒鍒掍俊鎭�', title: '鏄惁鍖归厤鍒拌鏂欒鍒掍俊鎭�', sort: true, filter: true, templet: function (d) { return d.鏄惁鍖归厤鍒拌鏂欒鍒掍俊鎭� ? '鍚�' : '鏄�'; } });
+            //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: '灞傜骇', 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()));//寮�濮嬫椂闂�
+            //var time2 = Date.parse(new Date($("#HENDDATE").val()));//缁撴潫鏃堕棿
+            //var Days = Math.abs(parseInt((time2 - time1) / 1000 / 3600 / 24));
+            ////鑾峰彇骞�
+            //var yyyy = new Date($("#HBEGINDATE").val()).getFullYear();
+            ////鑾峰彇鏈堜唤
+            //var MM = new Date($("#HBEGINDATE").val()).getMonth() + 1;
+            ////鑾峰彇寮�濮嬫湀浠界殑鏈�澶уぉ鏁�
+            //var SumMonth = new Date(yyyy, MM, 0).getDate(); //鍔ㄦ�佷袱鏈堜箣宸�
+            ////鑾峰彇寮�濮嬫棩鏈熺殑澶╂暟
+            //var HBEGINDATE = new Date(new Date($("#HBEGINDATE").val())).getDate(); //鑾峰彇寮�濮嬫棩鏈熷ぉ鏁�
 
-            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, totalRow: true, filter: true })
-                //璺ㄥ勾鐨勮瘽 浼氫粠涓�鏈堜竴鍙峰紑濮�
-                if (MM == 12 && (HBEGINDATE + j) == 31) {
-                    yyyy += 1;
-                    MM = 1;
-                    SumMonth = new Date(yyyy, MM, 0).getDate();
-                    HBEGINDATE = 0;
-                    k += j;
-                    j = 0;
-                } else if ((HBEGINDATE + j) == SumMonth) { //璺ㄦ湀 鏈堟暟鍔犱竴  澶╂暟浠庝竴寮�濮�
-                    HBEGINDATE = 0;
-                    MM += 1;
-                    SumMonth = new Date(yyyy, MM, 0).getDate();
-                    k += j;
-                    j = 0;
-                }
-            }
-            columns.push({ field: 'Total', title: '娆犳枡璁″垝鍚堣', filter: true  });
+            //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, totalRow: true, filter: true })
+            //    //璺ㄥ勾鐨勮瘽 浼氫粠涓�鏈堜竴鍙峰紑濮�
+            //    if (MM == 12 && (HBEGINDATE + j) == 31) {
+            //        yyyy += 1;
+            //        MM = 1;
+            //        SumMonth = new Date(yyyy, MM, 0).getDate();
+            //        HBEGINDATE = 0;
+            //        k += j;
+            //        j = 0;
+            //    } else if ((HBEGINDATE + j) == SumMonth) { //璺ㄦ湀 鏈堟暟鍔犱竴  澶╂暟浠庝竴寮�濮�
+            //        HBEGINDATE = 0;
+            //        MM += 1;
+            //        SumMonth = new Date(yyyy, MM, 0).getDate();
+            //        k += j;
+            //        j = 0;
+            //    }
+            //}
+            //columns.push({ field: 'Total', title: '娆犳枡璁″垝鍚堣', filter: true  });
 
             option = {
                 elem: '#mainTable'
@@ -328,6 +348,21 @@
                     soulTable.render(this);
                 }
             };
+            option3 = {
+                elem: '#mainTable3'
+                , toolbar: '#toolbarDemo'
+                , height: 'full-50'
+                , page: true
+                , cellMinWidth: 90
+                , limit: 1000
+                , limits: [50, 500, 1000, 2000]
+                , totalRow: true
+                , loading: false
+                , cols: [columns]
+                , done: function (res, curr, count) {
+                    soulTable.render(this);
+                }
+            };
         }
         //#endregion
 
@@ -345,10 +380,48 @@
                 data: { "sWhere": sql },
                 success: function (data1) {
                     if (data1.count == 1) {
+                        var data = [];//鍒楀瓧娈垫暟鎹�
+                        var col = [];
+                        var totalArray = [];
+                        var titleData = [];
+                        //缁欑┖鐨勬暟缁勮祴鍊�
+                        for (var key in data1.list) {//寰簭閬嶅巻鏁扮粍
+                            data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });//浠庢瘡涓璞′腑鎻愬彇鏁版嵁
+                        }
+                        //鍦ㄥ垪琛ㄥ乏杈规坊鍔犲嬀閫夋
+                        col.push({ type: 'checkbox', fixed: 'left', totalRowText: '鍚堣' });
+                        for (var i = 0; i < data.length; i++) {//閬嶅巻data鏁扮粍閲嶇殑鏁版嵁
+                            // if (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'hmainid') {
+                            if ($.inArray(data[i].name, titleData) > -1) {//妫�鏌ata銆恑銆�.name鏄惁鍦ㄦ暟缁勪腑  //璁$畻鍒�
+                                col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //闅愯棌id鍒�
+                            }
+                            else if ($.inArray(data[i].name, totalArray) > -1) { //璁$畻鍒�  
+                                col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, totalRow: true, width: 120, filter: true });
+                            } else if (data[i].name == '鏄惁鍖归厤鍒拌鍗�') {
+                                col.push({ field: '鏄惁鍖归厤鍒拌鍗�', title: '鏄惁鍖归厤鍒拌鍗�', sort: true, filter: true, templet: function (d) { return d.鏄惁鍖归厤鍒拌鍗� ? '鍚�' : '鏄�'; } });
+                            }
+                            else if (data[i].name == '鏄惁鍖归厤鍒拌鏂欒鍒掍俊鎭�') {
+                                col.push({ field: '鏄惁鍖归厤鍒拌鏂欒鍒掍俊鎭�', title: '鏄惁鍖归厤鍒拌鏂欒鍒掍俊鎭�', sort: true, filter: true, templet: function (d) { return d.鏄惁鍖归厤鍒拌鏂欒鍒掍俊鎭� ? '鍚�' : '鏄�'; } });
+                            } else if (isValidDate(data[i].name)) {
+                                col.push({ field: data[i].name, title: Format(data[i].name, 'MM.dd'), width: 70, totalRow: true, filter: true })
+                            }
+                            else {
+                                switch (data[i].Type) {
+                                    //int
+                                    case 'DateTime':
+                                        col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, filter: true, templet: "<div>{{d." + (data[i].name == "琛屽叧闂棩鏈�" ? "琛屽叧闂汉" : data[i].name) + " ==''?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd HH:mm:ss')}}</div>", width: 200 });
+                                        break;
+                                    default:
+                                        col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200, filter: true });
+                                }
+                            }
+                        }
+                        option.cols = [col];
+
+
                         HExportData = data1.data;
                         var firstdata = data1.data;
                         let itemMap = new Map();//
-                        let maxLevel = firstdata[0].灞傜骇;
                         // 浣跨敤 Map 瀛樺偍瀵硅薄寮曠敤锛屼互澶勭悊鍙兘鐨� Hitemid 閲嶅
                         //鎶婄浉鍚岀殑HICMOEntryID鏀惧埌鍚屼竴涓璞℃暟缁勯噷
                         firstdata.forEach(item => {
@@ -365,7 +438,7 @@
                         });
                         // 绗簩娆¢亶鍘嗭紝鏋勫缓灞傛缁撴瀯骞惰缃� isParent
                         firstdata.forEach(item => {
-                            if (item.灞傜骇 === maxLevel) {
+                            if (item.鐗╂枡ID == HMaterID) {
                                 root.push(item);
                             } else {
                                 const parentList = itemMap.get(item.HMainICMOEntryID);
@@ -384,7 +457,7 @@
                                 }
                             }
                         });
-                        option.data = root;
+                        option.data = sortByFirstValidDate(root);
 
                         //鍒楄缃�
                         DisPlay_HideColumnForPlan(HModName, sessionStorage["HUserName"], option);
@@ -406,10 +479,46 @@
                 data: { "sWhere": sql },
                 success: function (data1) {
                     if (data1.count == 1) {
+                        var data = [];//鍒楀瓧娈垫暟鎹�
+                        var col = [];
+                        var totalArray = [];
+                        var titleData = [];
+                        //缁欑┖鐨勬暟缁勮祴鍊�
+                        for (var key in data1.list) {//寰簭閬嶅巻鏁扮粍
+                            data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });//浠庢瘡涓璞′腑鎻愬彇鏁版嵁
+                        }
+                        //鍦ㄥ垪琛ㄥ乏杈规坊鍔犲嬀閫夋
+                        col.push({ type: 'checkbox', fixed: 'left', totalRowText: '鍚堣' });
+                        for (var i = 0; i < data.length; i++) {//閬嶅巻data鏁扮粍閲嶇殑鏁版嵁
+                            // if (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'hmainid') {
+                            if ($.inArray(data[i].name, titleData) > -1) {//妫�鏌ata銆恑銆�.name鏄惁鍦ㄦ暟缁勪腑  //璁$畻鍒�
+                                col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //闅愯棌id鍒�
+                            }
+                            else if ($.inArray(data[i].name, totalArray) > -1) { //璁$畻鍒�  
+                                col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, totalRow: true, width: 120, filter: true });
+                            } else if (data[i].name == '鏄惁鍖归厤鍒拌鍗�') {
+                                col.push({ field: '鏄惁鍖归厤鍒拌鍗�', title: '鏄惁鍖归厤鍒拌鍗�', sort: true, filter: true, templet: function (d) { return d.鏄惁鍖归厤鍒拌鍗� ? '鍚�' : '鏄�'; } });
+                            }
+                            else if (data[i].name == '鏄惁鍖归厤鍒拌鏂欒鍒掍俊鎭�') {
+                                col.push({ field: '鏄惁鍖归厤鍒拌鏂欒鍒掍俊鎭�', title: '鏄惁鍖归厤鍒拌鏂欒鍒掍俊鎭�', sort: true, filter: true, templet: function (d) { return d.鏄惁鍖归厤鍒拌鏂欒鍒掍俊鎭� ? '鍚�' : '鏄�'; } });
+                            } else if (isValidDate(data[i].name)) {
+                                col.push({ field: data[i].name, title: Format(data[i].name, 'MM.dd'), width: 70, totalRow: true, filter: true })
+                            }
+                            else {
+                                switch (data[i].Type) {
+                                    //int
+                                    case 'DateTime':
+                                        col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, filter: true, templet: "<div>{{d." + (data[i].name == "琛屽叧闂棩鏈�" ? "琛屽叧闂汉" : data[i].name) + " ==''?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd HH:mm:ss')}}</div>", width: 200 });
+                                        break;
+                                    default:
+                                        col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200, filter: true });
+                                }
+                            }
+                        }
+                        option2.cols = [col];
                         HExportData2 = data1.data;
                         var firstdata = data1.data;
                         let itemMap = new Map();//
-                        let maxLevel = firstdata[firstdata.length-1].灞傜骇;
                         // 浣跨敤 Map 瀛樺偍瀵硅薄寮曠敤锛屼互澶勭悊鍙兘鐨� Hitemid 閲嶅
                         //鎶婄浉鍚岀殑HICMOEntryID鏀惧埌鍚屼竴涓璞℃暟缁勯噷
                         firstdata.forEach(item => {
@@ -426,7 +535,7 @@
                         });
                         // 绗簩娆¢亶鍘嗭紝鏋勫缓灞傛缁撴瀯骞惰缃� isParent
                         firstdata.forEach(item => {
-                            if (item.灞傜骇 === maxLevel) {
+                            if (item.鐗╂枡ID == HMaterID) {
                                 root.push(item);
                             } else {
                                 const parentList = itemMap.get(item.HICMOEntryID);
@@ -444,7 +553,7 @@
                                 }
                             }
                         });
-                        option2.data = root;
+                        option2.data = sortByFirstValidDate(root);
 
                         //鍒楄缃�
                         DisPlay_HideColumnForPlan(HModName, sessionStorage["HUserName"], option2);
@@ -461,6 +570,144 @@
             });
         }
 
+        // 绛涢�夊嚱鏁帮細妫�鏌ュ瓧绗︿覆鏄惁绗﹀悎鏍煎紡绛涢�夋棩鏈�
+        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 sortByFirstValidDate(arr) {
+            // 鍋囪鎵�鏈夊璞℃嫢鏈夌浉鍚岀殑鏃ユ湡閿紝杩欓噷浠ョ涓�涓璞$殑閿负鍩哄噯
+            const dateKeys = Object.keys(arr[0] || {})
+                .filter(key => /^\d{4}-\d{2}-\d{2}$/.test(key))
+                .sort((a, b) => a.localeCompare(b)); // 棰勫厛鎺掑簭鎵�鏈夋棩鏈熼敭
+
+            // 杈呭姪鍑芥暟锛氭壘鍒板璞′腑绗竴涓湁鏁堝�肩殑鏃ユ湡
+            const getFirstValidDate = (obj) => {
+                for (const key of dateKeys) {
+                    const value = obj[key];
+                    if (typeof value === 'number' && value > 0) {
+                        return key; // 杩斿洖绗竴涓湁鏁堟棩鏈�
+                    }
+                }
+                return Infinity; // 鏃犳湁鏁堟棩鏈熸椂鎺掓渶鍚�
+            };
+
+            // 鎺掑簭閫昏緫
+            return arr.slice().sort((a, b) => {
+                const aDate = getFirstValidDate(a);
+                const bDate = getFirstValidDate(b);
+                return aDate.localeCompare(bDate);
+            });
+        }
+
+
+
+        //#endregion
+
+        //#region 鏌ヨ2
+        function get_Display2() {
+            var ajaxLoad = layer.load();
+            var HMaterID2 = $("#HMATERIALID").val();
+            if (HMaterID2 == 0) {
+                HMaterID2 = HMaterID;
+            }
+            //鏄庣粏鍒楄〃
+            var sql = "select * from h_v_Jit_MaterialLevelShorAnalysisDetailReport_StockOccupyingAnalysis where  瀛愰」鐗╂枡ID = " + HMaterID2 + " order by 灞傜骇,鏃ヨ鍒掓棩鏈�";
+            $.ajax({
+                url: GetWEBURL() + '/Gy_SOPBillList/WindowPrintList',
+                type: "GET",
+                async: false,
+                data: { "sWhere": sql },
+                success: function (data1) {
+                    if (data1.count == 1) {
+                        var data = [];//鍒楀瓧娈垫暟鎹�
+                        var col = [];
+                        var totalArray = [];
+                        var titleData = [];
+                        //缁欑┖鐨勬暟缁勮祴鍊�
+                        for (var key in data1.list) {//寰簭閬嶅巻鏁扮粍
+                            data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });//浠庢瘡涓璞′腑鎻愬彇鏁版嵁
+                        }
+                        //鍦ㄥ垪琛ㄥ乏杈规坊鍔犲嬀閫夋
+                        col.push({ type: 'checkbox', fixed: 'left', totalRowText: '鍚堣' });
+                        for (var i = 0; i < data.length; i++) {//閬嶅巻data鏁扮粍閲嶇殑鏁版嵁
+                            // if (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'hmainid') {
+                            if ($.inArray(data[i].name, titleData) > -1) {//妫�鏌ata銆恑銆�.name鏄惁鍦ㄦ暟缁勪腑  //璁$畻鍒�
+                                col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //闅愯棌id鍒�
+                            }
+                            else if ($.inArray(data[i].name, totalArray) > -1) { //璁$畻鍒�  
+                                col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, totalRow: true, width: 120, filter: true });
+                            } else if (data[i].name == '鏄惁鍖归厤鍒拌鍗�') {
+                                col.push({ field: '鏄惁鍖归厤鍒拌鍗�', title: '鏄惁鍖归厤鍒拌鍗�', sort: true, filter: true, templet: function (d) { return d.鏄惁鍖归厤鍒拌鍗� ? '鍚�' : '鏄�'; } });
+                            }
+                            else if (data[i].name == '鏄惁鍖归厤鍒拌鏂欒鍒掍俊鎭�') {
+                                col.push({ field: '鏄惁鍖归厤鍒拌鏂欒鍒掍俊鎭�', title: '鏄惁鍖归厤鍒拌鏂欒鍒掍俊鎭�', sort: true, filter: true, templet: function (d) { return d.鏄惁鍖归厤鍒拌鏂欒鍒掍俊鎭� ? '鍚�' : '鏄�'; } });
+                            } else if (isValidDate(data[i].name)) {
+                                col.push({ field: data[i].name, title: Format(data[i].name, 'MM.dd'), width: 70, totalRow: true, filter: true })
+                            }
+                            else {
+                                switch (data[i].Type) {
+                                    //int
+                                    case 'DateTime':
+                                        col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, filter: true, templet: "<div>{{d." + (data[i].name == "琛屽叧闂棩鏈�" ? "琛屽叧闂汉" : data[i].name) + " ==''?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd HH:mm:ss')}}</div>", width: 200 });
+                                        break;
+                                    default:
+                                        col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200, filter: true });
+                                }
+                            }
+                        }
+                        option3.cols = [col];
+                        option3.data = data1.data;
+                        //鍒楄缃�
+                        DisPlay_HideColumn(HModName2, sessionStorage["HUserName"], option3,[]);
+                        table.render(option3);
+                        layer.close(ajaxLoad);
+                    } else {
+                        layer.alert(data1.code + data1.Message, { icon: 5 });
+                        layer.close(ajaxLoad);
+                    }
+                }, error: function () {
+                    layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    layer.close(ajaxLoad);
+                }
+            });
+        }
+
+        // 绛涢�夊嚱鏁帮細妫�鏌ュ瓧绗︿覆鏄惁绗﹀悎鏍煎紡绛涢�夋棩鏈�
+        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
+            );
+        }
+
         //#endregion
 
         //#region 鑾峰彇瀵煎嚭鏁版嵁
@@ -470,6 +717,8 @@
             var data = HExportData;
             if (tableId == "mainTable2") {
                 data = HExportData2;
+            } else if (tableId == "mainTable3") {
+                data = option3.data;
             }
             
             data.forEach((item) => {
@@ -517,7 +766,7 @@
            /* $("#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("");
             //$("#HWorkShopID").val("");
             //$("#HWorkShopIDName").val("");
@@ -525,7 +774,30 @@
             sWhere = "";
         }
         //#endregion
-
+        //鐗╂枡鍒楄〃
+        function btnHMATERIALID() {
+            layer.open({
+                type: 2 //绫诲瀷
+                , skin: 'layui-layer-rim'//鍔犱笂杈规
+                , area: ['90%', '90%']//澶у皬
+                , title: '鐗╂枡鍒楄〃'//鏍囬
+                , shift: 2//寮瑰嚭鍔ㄧ敾
+                , content: ['../../鍩虹璧勬枡/鍏敤鍩虹璧勬枡/Gy_Material.html', 'yes']
+                , btn: ['纭畾', '鍙栨秷']
+                , btn1: function (index, layero) {//鎸夐挳銆愭寜閽竴銆戠殑鍥炶皟
+                    var iframeWindow = window['layui-layer-iframe' + index]  //鑾峰彇寮规椤甸潰
+                    var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//鑾峰彇table鐨別lem:"#test"
+                    if (checkStatus.data.length === 0) {
+                        return layer.msg('璇烽�夋嫨鏁版嵁');
+                    }
+                    //鑾峰彇鏁版嵁
+                    $("#HMATERIALID").val(checkStatus.data[0].HItemID);
+                    $("#HMATERIALNAME").val(checkStatus.data[0].鐗╂枡鍚嶇О);
+                    layer.close(index); //瀹冭幏鍙栫殑濮嬬粓鏄渶鏂板脊鍑虹殑鏌愪釜灞傦紝鍊兼槸鐢眑ayer鍐呴儴鍔ㄦ�侀�掑璁$畻鐨�
+                }
+                , btn2: function (index, layero) { }
+            })
+        }
         //#region 鑾峰彇鍙傛暟
         function getUrlVars() {
             var vars = [], hash;

--
Gitblit v1.9.1