From d29c895dd848010391167be50548fea763fb306d Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期日, 12 二月 2023 21:15:19 +0800
Subject: [PATCH] 1.甘特图 新增换型时间逻辑

---
 src/views/scgl/zdpc.vue |  126 +++++++++++------------------------------
 1 files changed, 35 insertions(+), 91 deletions(-)

diff --git a/src/views/scgl/zdpc.vue b/src/views/scgl/zdpc.vue
index c9dace4..7f1c9c7 100644
--- a/src/views/scgl/zdpc.vue
+++ b/src/views/scgl/zdpc.vue
@@ -959,7 +959,7 @@
     // 鎹㈠瀷鏃堕棿
     MinutesTest(time) {
       const t = new Date(time)
-      // console.log(typeof parseFloat(this.formBottom.times), 'typeof')
+
       t.setMinutes(t.getMinutes() + this.formBottom.times * 1)
       const now =
         t.getFullYear() +
@@ -1143,11 +1143,6 @@
         mend_num = this.formBottom.meter - num
       } else {
       }
-      // if (this.formBottom.real_num * 1 === this.formBottom.meter * 1) {
-      //   // mend_num =  this.formBottom.meter - num
-      // } else {
-      //   // this.submit_flag = true
-      // }
       for (const i in this.schedulingData) {
         for (const j in this.schedulingData[i].gtArray) {
           if (
@@ -1165,27 +1160,20 @@
       let all_num = this.formBottom.meter
       let flag1 = 0
       const mod = this.schedulingData[0].mod
-      console.log(this.schedulingData, 998)
+
       //  let nowTime = this.schedulingData[0].AdvaDevicRhythm*all_num
-      // console.log(this.schedulingData, 31)
-      // console.log(JSON.stringify(this.schedulingData), 31)
+
       for (const i in this.schedulingData) {
-        console.log(i, 32)
         let end_arr = [] // 宸叉帓绋嬬殑鏁扮粍
         let nend_arr = [] // 寰呮帓绋嬬殑鏁扮粍
 
         let capacity_arr = [] // 瑕佹帓绋嬬殑鏁扮粍
         this.schedulingData[i].gtArray.sort((a, b) => new Date(a.end).getTime() - new Date(b.end).getTime())
-        console.log(this.schedulingData)
 
-        end_arr = this.schedulingData[i].gtArray.filter(item => item.type === 'h_schedule') // 宸叉帓绋嬫暟缁�
-        nend_arr = this.schedulingData[i].gtArray.filter(item => item.type === 'capacity') // 瀹归噺
+        end_arr = JSON.parse(JSON.stringify(this.schedulingData[i].gtArray.filter(item => item.type === 'h_schedule'))) // 宸叉帓绋嬫暟缁�
+        nend_arr = JSON.parse(JSON.stringify(this.schedulingData[i].gtArray.filter(item => item.type === 'capacity'))) // 瀹归噺
 
         // end_arr.sort((a, b) => new Date(b.end).getTime() - new Date(a.end).getTime())
-
-        console.log(end_arr, nend_arr, 770)
-        console.log(JSON.stringify(end_arr), 771)
-        console.log(JSON.stringify(nend_arr), 772)
 
         if (end_arr && end_arr.length > 0) {
           capacity_arr = nend_arr.map(item => {
@@ -1195,10 +1183,7 @@
                 new Date(item.end).getTime() >= new Date(it.end).getTime()
             })
 
-            console.log(schedule, '鐜嬭�佸悏')
             if (schedule && schedule.length > 0) {
-              console.log('鏈夎繘鏉ュ悧')
-              console.log(schedule[schedule.length - 1]['end'])
               item.start = this.MinutesTest(schedule[schedule.length - 1]['end'])
             }
 
@@ -1223,20 +1208,8 @@
         if (end_arr != '') {
           (id_obj.id = end_arr[0].id), (id_obj.start_time = end_arr[0].end)
         }
-        console.log(capacity_arr, 997)
 
-        // 杩欓噷瑕佸皢瀹归噺鍜屽綋鍓嶆椂闂村仛瀵规瘮   鍋氭椂闂村鐞�   濡傛灉鍦ㄥ綋鍓嶆椂闂翠箣鍓嶇殑涓嶈兘鎺掔▼
-        capacity_arr.forEach((item, index) => {
-          // 褰撳墠鏃堕棿 澶т簬绛変簬寮�濮嬫椂闂�   涓斿皬浜庣瓑浜庣粨鏉熸椂闂�
-          if (new Date(item.start).getTime() <= new Date(handleDatetime2(new Date())).getTime() && new Date(item.end).getTime() >= new Date(handleDatetime2(new Date())).getTime()) {
-            item.start = handleDatetime2(new Date())
-          }
-          // 褰撳墠鏃堕棿姣斿紑濮嬫椂闂村ぇ  姣旂粨鏉熸椂闂翠篃澶�
-          if (new Date(item.start).getTime() < new Date(handleDatetime2(new Date())).getTime() && new Date(item.end).getTime() < new Date(handleDatetime2(new Date())).getTime()) {
-            item.capacity = false
-          }
-        })
-        capacity_arr = capacity_arr.filter(item => item.capacity !== false)
+        capacity_arr = this.filterOutTime(capacity_arr) // 杩囨护鎺夊綋鍓嶆椂闂翠箣鍓嶇殑涓嶈兘鎺掔▼
 
         for (const w in capacity_arr) {
           let end_time = ''
@@ -1257,8 +1230,6 @@
             flag1 === 0 &&
             new Date(id_obj.start_time).getTime() >= new Date(capacity_arr[w].start).getTime()
           ) {
-            console.log('鍔犲瀹�', id_obj.start_time)
-
             data.start = this.MinutesTest(id_obj.start_time)
             flag1 = 1
           } else {
@@ -1274,12 +1245,6 @@
             capacity_arr[w].mod
           ) // 鎬诲叡鐨勭粨鏉熸椂闂�-褰撳墠鐨勭粨鏉熸椂闂� = 鍓╀笅澶氫箙鏃堕棿
           if (mistiming >= 0) {
-            // console.log(
-            //   new Date(data.end) - new Date(data.start),
-            //   capacity_arr[w].mod,
-            //   this.schedulingData[i].AdvaDevicRhythm,
-            //   '闃挎柉椤垮彂鏂拏鑺�'
-            // )
             data.number =
               ((new Date(data.end) - new Date(data.start)) *
                 capacity_arr[w].mod) /
@@ -1296,10 +1261,14 @@
             } else {
               this.schedulingData[i].gtArray.push(data)
             }
-
             return false
           } else {
             data.end = capacity_arr[w].end
+
+            if (new Date(data.end).getTime() < new Date(data.start)) {
+              continue // 鍥犱负寮�濮嬫椂闂存瘮缁撴潫鏃堕棿澶� 闇�瑕佽烦杩囧悗闈㈡楠�
+            }
+
             data.number =
               ((new Date(data.end) - new Date(data.start)) *
                 capacity_arr[w].mod) /
@@ -1339,12 +1308,9 @@
 
       const flag1 = 0
       // let nowTime = this.timeTopTempData[0].AdvaDevicRhythm*all_num  //鏁伴噺OK
-      console.log(this.timeTopTempData, 889)
-      console.log(JSON.stringify(this.timeTopTempData), 889)
 
       //  閲岄潰閫昏緫瑕佹悶娓呮 寰堥噸瑕�
       for (const i in this.timeTopTempData) {
-        console.log(i, 90)
         let end_arr = []
         let nend_arr = [] // 鎺掔▼鐨勬暟缁�
 
@@ -1352,15 +1318,8 @@
 
         this.timeTopTempData[i].gtArray.sort((a, b) => new Date(a.end).getTime() - new Date(b.end).getTime())
 
-        // console.log(JSON.stringify(this.timeTopTempData), 671)
-
         end_arr = JSON.parse(JSON.stringify(this.timeTopTempData[i].gtArray.filter(item => item.type === 'h_schedule'))) // 宸叉帓绋嬫暟鎹�
         nend_arr = JSON.parse(JSON.stringify(this.timeTopTempData[i].gtArray.filter(item => item.type === 'capacity'))) // 瀹归噺
-        console.log(end_arr, nend_arr, 670)
-        // console.log(end_arr, 672)
-        // console.log(JSON.stringify(end_arr), 672)
-        // console.log(nend_arr, 673)
-        // console.log(JSON.stringify(nend_arr), 673)
 
         capacity_arr = JSON.parse(JSON.stringify(nend_arr)) // 瀹归噺
 
@@ -1371,13 +1330,10 @@
               new Date(item.start).getTime() >= new Date(it.start).getTime() &&
               new Date(item.end).getTime() === new Date(it.end).getTime() // new Date(item.end).getTime() <= new Date(it.end).getTime()
             ) {
-              console.log(ind, it, '鍝囧搱鍝�')
               capacity_arr.splice(ind, 1)
             }
           })
         })
-
-        console.log(capacity_arr, '澶цタ鐡�')
 
         // continue:琛ㄧず璺冲嚭鏈寰幆锛屼篃灏辨槸涓嶆墽琛屾湰娆″惊鐜痗ontinue涔嬪悗鐨勬搷浣�
         // break:琛ㄧず璺冲嚭褰撳墠鐨勫惊鐜紝閽堝鏁翠釜寰幆浣撶粓姝㈠悗缁殑閬嶅巻锛�
@@ -1390,21 +1346,15 @@
             return (new Date(item.start).getTime() >= new Date(it.start).getTime() &&
               new Date(item.end).getTime() < new Date(it.end).getTime())
           })
-          // console.log(remain, 'remain')
+
           return remain
         })
-
-        // console.log(schedule_arr, 1002)
-        // console.log(nend_arr, 299)
-
-        // debugger
 
         // 涓嬮潰閫昏緫寰堥噸瑕�
         if (schedule_arr && schedule_arr.length > 0) {
           const scheduleCan = schedule_arr.map(item => {
             const temp = nend_arr.filter(it => {
               if (it.id === item.id) {
-                console.log('鎵ц浜嗭紒', item.id, item.end)
                 return (new Date(item.start).getTime() >= new Date(it.start).getTime() &&
                   new Date(item.end).getTime() < new Date(it.end).getTime())
                 //   ||
@@ -1412,15 +1362,14 @@
                 // new Date(item.end).getTime() < new Date(it.end).getTime())
               }
             })[0]
-            // console.log('鏉庣櫧', temp)
-            // console.log('鏉庣櫧', item.end)
+
             temp.start = this.MinutesTest(item.end)
 
             return temp
           })
 
           const newSchedule = JSON.parse(JSON.stringify(scheduleCan))
-          console.log(newSchedule, 'newSchedule')
+
           capacity_arr.forEach(item => {
             newSchedule.forEach(it => {
               if (item.id === it.id && new Date(item.start).getTime() < new Date(it.start).getTime()) {
@@ -1428,33 +1377,14 @@
               }
             })
           })
-
-          // capacity_arr = newSchedule.concat(capacity_arr)  //杩欒浠g爜鏄笉瀵圭殑
-          // console.log(scheduleCan, 'scheduleCan')
-          // console.log(capacity_arr, 'capacity_arr')
-          // capacity_arr.sort((a, b) => new Date(a.start).getTime() - new Date(b.start).getTime()) // start鏃堕棿鏃╃殑鍦ㄥ墠闈�
         }
-        // console.log(schedule_arr)
-        // console.log('鍙帓绋嬫暟缁�', capacity_arr)
+
         const id_obj = {}
         if (end_arr != '') {
           (id_obj.id = end_arr[0].id), (id_obj.start_time = end_arr[0].end)
         }
-        // console.log(capacity_arr, 999)
-        // console.log(JSON.stringify(capacity_arr), 999)
 
-        // 杩欓噷瑕佸皢瀹归噺鍜屽綋鍓嶆椂闂村仛瀵规瘮   鍋氭椂闂村鐞�   濡傛灉鍦ㄥ綋鍓嶆椂闂翠箣鍓嶇殑涓嶈兘鎺掔▼
-        capacity_arr.forEach((item, index) => {
-          // 褰撳墠鏃堕棿 澶т簬绛変簬寮�濮嬫椂闂�   涓斿皬浜庣瓑浜庣粨鏉熸椂闂�
-          if (new Date(item.start).getTime() <= new Date(handleDatetime2(new Date())).getTime() && new Date(item.end).getTime() >= new Date(handleDatetime2(new Date())).getTime()) {
-            item.start = handleDatetime2(new Date())
-          }
-          // 褰撳墠鏃堕棿姣斿紑濮嬫椂闂村ぇ  姣旂粨鏉熸椂闂翠篃澶�
-          if (new Date(item.start).getTime() < new Date(handleDatetime2(new Date())).getTime() && new Date(item.end).getTime() < new Date(handleDatetime2(new Date())).getTime()) {
-            item.capacity = false
-          }
-        })
-        capacity_arr = capacity_arr.filter(item => item.capacity !== false)
+        capacity_arr = this.filterOutTime(capacity_arr) // 杩囨护鎺夊綋鍓嶆椂闂翠箣鍓嶇殑涓嶈兘鎺掔▼
 
         for (const w in capacity_arr) {
           let end_time
@@ -1470,7 +1400,7 @@
             number: 0,
             real_number: 0
           }
-          //  console.log(id_obj.start_time)
+
           if (
             id_obj &&
             new Date(id_obj.start_time).getTime() >=
@@ -1482,13 +1412,11 @@
               //  flag1 =1
             } else {
               data.start = capacity_arr[w].start
-              // console.log(data.start, 1000)
-              //  console.log(data.start)
+
               //  flag1 =1
             }
           } else {
             data.start = capacity_arr[w].start
-            // console.log(data.start, 1001)
           }
           // let nowTime = this.timeTopTempData[0].AdvaDevicRhythm*all_num
           let nowTime = (capacity_arr[w].rhythm * all_num) / capacity_arr[w].mod
@@ -1534,6 +1462,23 @@
         }
       }
     },
+    // 杩囨护鎺夊綋鍓嶆椂闂翠箣鍓嶇殑涓嶈兘鎺掔▼
+    filterOutTime(capacity_arr) {
+      // 杩欓噷瑕佸皢瀹归噺鍜屽綋鍓嶆椂闂村仛瀵规瘮   鍋氭椂闂村鐞�   濡傛灉鍦ㄥ綋鍓嶆椂闂翠箣鍓嶇殑涓嶈兘鎺掔▼
+      capacity_arr.forEach((item, index) => {
+        // 褰撳墠鏃堕棿 澶т簬绛変簬寮�濮嬫椂闂�   涓斿皬浜庣瓑浜庣粨鏉熸椂闂�
+        if (new Date(item.start).getTime() <= new Date(handleDatetime2(new Date())).getTime() && new Date(item.end).getTime() >= new Date(handleDatetime2(new Date())).getTime()) {
+          item.start = handleDatetime2(new Date())
+        }
+        // 褰撳墠鏃堕棿姣斿紑濮嬫椂闂村ぇ  姣旂粨鏉熸椂闂翠篃澶�
+        if (new Date(item.start).getTime() < new Date(handleDatetime2(new Date())).getTime() && new Date(item.end).getTime() < new Date(handleDatetime2(new Date())).getTime()) {
+          item.capacity = false
+        }
+      })
+
+      return capacity_arr.filter(item => item.capacity !== false)
+    },
+
     // 鏃堕棿浼樺厛 缁欒澶囪浆鎹㈡牸寮�
     dataTransition() {
       this.schedulingData = []
@@ -1558,7 +1503,6 @@
         }
       }
 
-      // console.log(list)
       this.schedulingData = list
     },
     // 鎻掑叆浜ц兘鏃堕棿娈�

--
Gitblit v1.9.3