From 86ff0969ebf27dcac1ddbfd83cc3a2e0e2d09487 Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期四, 29 五月 2025 21:02:50 +0800
Subject: [PATCH] 器具分类:树形结构

---
 WebTM/views/设备管理/设备报表/Sb_EquipmentLoadReport.html |  112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 109 insertions(+), 3 deletions(-)

diff --git "a/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\346\212\245\350\241\250/Sb_EquipmentLoadReport.html" "b/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\346\212\245\350\241\250/Sb_EquipmentLoadReport.html"
index 7f5f645..18c8008 100644
--- "a/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\346\212\245\350\241\250/Sb_EquipmentLoadReport.html"
+++ "b/WebTM/views/\350\256\276\345\244\207\347\256\241\347\220\206/\350\256\276\345\244\207\346\212\245\350\241\250/Sb_EquipmentLoadReport.html"
@@ -117,6 +117,8 @@
             var DateClo = [];
             var ZHUData = [];
             var HModName = "Sb_EquipmentLoadReport";
+
+            var HWorkTimeArr = [];
             //#endregion
 
             //#region 杩涘叆椤甸潰鏃㈠姞杞�
@@ -160,6 +162,48 @@
             form.on('submit(btnSearch)', function (data) {
                 get_FastQuery();
             });
+
+            table.on('row(mainTable)', function (obj) {
+                //閫変腑琛屾敼鍙橀鑹�
+                var flag = !obj.tr.find(':checkbox:first').prop('checked');
+                obj.tr.find(':checkbox').prop('checked', flag);
+                if (flag) {
+                    obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');  //璁剧疆澶嶉�夋閫変腑鏍峰紡
+                    $(obj.tr.selector).attr({ "style": "background:#ceedfa;color:black" });//鏀瑰彉褰撳墠tr鑳屾櫙棰滆壊鍜屽瓧浣撻鑹�
+
+                    var HIsExist = true;
+                    //鍒ゆ柇鎵�閫夌敓浜ц祫婧愭槸鍚﹀湪鏁扮粍涓瓨鍦�
+                    for (var i = 0; i < ZHUData.length; i++) {
+                        if (ZHUData[i].鐢熶骇璧勬簮 == obj.data.HSourceName) {
+                            for (let j = 0; j < HWorkTimeArr.length; j++) {
+                                if (HWorkTimeArr[j].鐢熶骇璧勬簮.indexOf(obj.data.HSourceName) != -1 && i == 0) {
+                                    HIsExist = false;
+                                    break;
+                                }
+                            }
+                            if (HIsExist) {
+                                HWorkTimeArr.push(ZHUData[i])
+                            }                           
+                        }
+                    }
+                    //閲嶆柊鍔犺浇鏌辩姸鍥�
+                    set_Graphics();
+                } else {
+                    obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//鍙栨秷澶嶉�夋閫変腑鏍峰紡
+                    $(obj.tr.selector).attr({ "style": "background:" });//鍙栨秷褰撳墠tr棰滆壊
+                    //绉婚櫎鏁版嵁鏁版嵁
+                    HWorkTimeArr = HWorkTimeArr.filter(item => item.鐢熶骇璧勬簮 != obj.data.HSourceName)
+                    //閲嶆柊鍔犺浇鏌辩姸鍥�
+                    set_Graphics();
+                }
+                //mainTable 涓鸿〃鏍糏D   娉ㄦ剰姝ゅ濡傛灉ID涓嶆纭皢瀵艰嚧浣犲湪鐩戝惉澶嶉�夋鏃惰幏鍙栦笉鍒颁綘閫夋嫨鐨勬暟鎹紝鍓嶉潰鐨勫彧鏄坊鍔犳垨鍒犻櫎閫変腑鏈�変腑鏍峰紡浠ュ強璁剧疆鑳屾櫙鑹诧紝瀛椾綋棰滆壊
+                layui.each(table.cache.mainTable, function (i, l) {
+                    if (obj.tr.index() == l.LAY_TABLE_INDEX) {
+                        l.LAY_CHECKED = flag;
+                    }
+                });
+            })
+
             //#endregion
             
             //#region 姝ら〉闈㈡墍鏈夌殑鏂规硶
@@ -267,14 +311,74 @@
                 //鏌辩姸鍥剧粦瀹氭暟鎹�
                 var HXTitle = [];//X杞存爣棰樺悕绉�
                 var TimeCount = []; //宸ユ椂鏁版嵁
+                var NumCount = 0;
+
+                var HWorkTimeSum = [];
+                var num = [];
+
+                if (HWorkTimeArr.length > 0) {
+                    for (let i = 0; i < HWorkTimeArr.length; i++) {
+                        if (HWorkTimeSum.length == 0) {
+                            //HWorkTimeSum.push(HWorkTimeArr[i])
+                            HWorkTimeSum.push({ "HMasterDate": HWorkTimeArr[i].HMasterDate, "HTimeSum": Number(HWorkTimeArr[i].HTimeSum) })
+                        } else {
+                            for (let j = 1; j <= HWorkTimeSum.length; j++) {
+                                if (HWorkTimeSum[j - 1].HMasterDate.indexOf(HWorkTimeArr[i].HMasterDate) == -1) {
+                                    if (j == HWorkTimeSum.length) {
+                                        //HWorkTimeSum.push(HWorkTimeArr[i])
+                                        HWorkTimeSum.push({ "HMasterDate": HWorkTimeArr[i].HMasterDate, "HTimeSum": Number(HWorkTimeArr[i].HTimeSum) })
+                                        break;
+                                    }
+                                } else {
+                                    HWorkTimeSum[j - 1].HTimeSum = Number(HWorkTimeSum[j - 1].HTimeSum) + Number(HWorkTimeArr[i].HTimeSum);
+                                    break;
+                                }
+                            }
+                        }
+                    }
+                } else {
+                    for (let i = 0; i < ZHUData.length; i++) {
+                        if (HWorkTimeSum.length == 0) {
+                            //HWorkTimeSum.push(ZHUData[i])
+                            HWorkTimeSum.push({ "HMasterDate": ZHUData[i].HMasterDate, "HTimeSum": Number(ZHUData[i].HTimeSum) })
+                        } else {
+                            for (let j = 1; j <= HWorkTimeSum.length; j++) {
+                                if (HWorkTimeSum[j - 1].HMasterDate.indexOf(ZHUData[i].HMasterDate) == -1) {
+                                    if (j == HWorkTimeSum.length) {
+                                        //HWorkTimeSum.push(ZHUData[i])
+                                        HWorkTimeSum.push({ "HMasterDate": ZHUData[i].HMasterDate, "HTimeSum": Number(ZHUData[i].HTimeSum) })
+                                        break;
+                                    }
+                                } else {
+                                    HWorkTimeSum[j - 1].HTimeSum = Number(HWorkTimeSum[j - 1].HTimeSum) + Number(ZHUData[i].HTimeSum);
+                                    //num.push({ "HMasterDate": ZHUData[i].HMasterDate, "HTimeSum": Number(HWorkTimeSum[j - 1].HTimeSum) + Number(ZHUData[i].HTimeSum) });
+                                    break;
+                                }
+                            }
+                        }
+                    }                  
+                }
+
                 for (let i = 0; i < 14; i++) {
                         
                     HXTitle.push(DateClo[i]["title"]);
-                    if (ZHUData.length > 0) {
-                        TimeCount.push(ZHUData[i]['HTimeSum']);
+
+                    if (HWorkTimeSum.length > NumCount) {
+                        TimeCount.push(HWorkTimeSum[NumCount]['HTimeSum']);
+                        NumCount += 1;
                     } else {
                         TimeCount.push(0);
                     }
+
+                    //if (ZHUData.length > NumCount && HWorkTimeArr.length == 0) {
+                    //    TimeCount.push(ZHUData[NumCount]['HTimeSum']);
+                    //    NumCount += 1;
+                    //} else if (HWorkTimeArr.length > NumCount && HWorkTimeArr.length > 0) {
+                    //    TimeCount.push(HWorkTimeArr[NumCount]['HTimeSum']);
+                    //    NumCount += 1;
+                    //} else {
+                    //    TimeCount.push(0);
+                    //}
                   
                 }
                 option_ZZT = {
@@ -338,8 +442,10 @@
             //鍒濆鍖栬〃鏍�
             function set_InitGrid() {
                 var columns = [];
+                //鍦ㄥ垪琛ㄥ乏杈规坊鍔犲嬀閫夋
+                columns.push({ type: 'checkbox', fixed: 'left' });
                 columns.push({ type: 'numbers', title: '搴忓彿'});
-                columns.push({ field: 'HSourceID', title: '鐢熶骇璧勬簮', width: 120 });
+                columns.push({ field: 'HSourceName', title: '鐢熶骇璧勬簮', width: 120 });
                 var myDate = new Date();
                 var oneday = 1000 * 60 * 60 * 24;
 

--
Gitblit v1.9.1