From adb74c51618faf025fe1d46bf6b22db895c2608f Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期日, 12 二月 2023 11:16:14 +0800
Subject: [PATCH] 1.提交

---
 src/views/scgl/zdpc.vue |  345 ++++++++++++++++++++++++++++----------------------------
 1 files changed, 172 insertions(+), 173 deletions(-)

diff --git a/src/views/scgl/zdpc.vue b/src/views/scgl/zdpc.vue
index 253703c..3ca1b8e 100644
--- a/src/views/scgl/zdpc.vue
+++ b/src/views/scgl/zdpc.vue
@@ -208,7 +208,7 @@
                   size="small"
                   :picker-options="pickerOptions1"
                   :clearable="false"
-                  @change="change_time"
+                  @change="dateChange"
                 />
               </el-form-item>
               <el-form-item label="鎺掔▼鏂瑰紡" style=" display: flex;">
@@ -216,7 +216,7 @@
                   v-model="formBottom.types"
                   :disabled="radioSelectedId===''"
                   style="width:120px"
-                  @change="changeTypes"
+                  @change="typesChange"
                 >
                   <el-option value="N" label="璁惧浼樺厛" />
                   <el-option value="Y" label="鏃堕棿浼樺厛" />
@@ -254,7 +254,7 @@
                 :disabled="radioSelectedId===''"
                 type="primary"
                 icon="el-icon-document-remove"
-                @click="click_schedule"
+                @click="prepareArrange"
               >棰勬帓
               </el-button>
               <el-button
@@ -262,7 +262,7 @@
                 type="primary"
                 :disabled="radioSelectedId===''"
                 icon="el-icon-document-checked"
-                @click="click_yes"
+                @click="prepareSubmit"
               >鎻愪氦
               </el-button>
             </div>
@@ -309,7 +309,7 @@
                   <el-checkbox
                     v-model="data.status"
                     style="margin-right:5px;"
-                    @change="click_box(data)"
+                    @change="checkboxSingle(data)"
                   />
                   {{ data.id }} {{ data.name }}
                 </div>
@@ -328,7 +328,7 @@
                 v-model="ganttCheckboxAll"
                 class="box_style"
                 :disabled="radioSelectedId===''"
-                @change="changeLift()"
+                @change="checkboxAll()"
               />
               <input
                 v-model.number="cellWidth"
@@ -432,7 +432,7 @@
       scaleList: `30,60,240,360`.split(',').map(n => parseInt(n)),
       hideHeader: false,
       arrayKeys: ['gtArray', 'error'],
-      title_list: []
+      title_list: []// 涓嶇煡閬撶粰浣犲彇浠�涔堣嫳鏂囧悕绉板ソ  鏆傛椂娌″彉浣犵殑鍚嶅瓧
 
     }
   },
@@ -504,18 +504,26 @@
     /*
      鎺掔▼閮ㄥ垎鐨勬柟娉�
      */
-    resetFormcx() {
-      this.$nextTick(() => {
-        this.$refs.form.resetFields()
-      })
-    },
+    // 纭繚鎹㈠瀷鏃堕棿涓洪潪璐熸暟
     no_zero() {
       if (this.formBottom.times < 0) {
         this.formBottom.times = 0
       }
     },
-    // 宸ヤ綅鍒楄〃澶嶉�夋鎿嶄綔
-    changeLift() {
+    // 鎺掔▼鏂瑰紡鏀瑰彉
+    typesChange() {
+      this.getOnclickAdvancedSchedulingDevice()
+    },
+    // 鎺掔▼鏃ユ湡鍊兼敼鍙樻椂
+    dateChange() {
+      this.time_data[0] = this.formBottom.scheDate[0] + ' 00:00'
+      this.time_data[1] = this.formBottom.scheDate[1] + ' 23:59'
+      this.forms.startdate = this.formBottom.scheDate[0]
+      this.forms.enddate = this.formBottom.scheDate[1]
+      this.getOnclickAdvancedSchedulingDevice()
+    },
+    // 宸ヤ綅鍒楄〃澶嶉�夋鎿嶄綔  (鍏ㄩ�夈�佸叏涓嶉��)
+    checkboxAll() {
       if (this.ganttCheckboxAll) {
         this.ganttLeftArrId = []
         this.getOnclickAdvancedSchedulingDevice()
@@ -528,26 +536,15 @@
           this.timeTopTempData[i].gtArray = []
         }
       }
-      // this.click_schedule()
-    },
-    changeTypes() {
-      this.getOnclickAdvancedSchedulingDevice()
-    },
-    // 鎺掔▼鏃ユ湡鍊兼敼鍙樻椂
-    change_time() {
-      this.time_data[0] = this.formBottom.scheDate[0] + ' 00:00'
-      this.time_data[1] = this.formBottom.scheDate[1] + ' 23:59'
-      this.forms.startdate = this.formBottom.scheDate[0]
-      this.forms.enddate = this.formBottom.scheDate[1]
-      this.getOnclickAdvancedSchedulingDevice()
+      // this.prepareArrange()
     },
     // 鐢樼壒鍥惧乏渚heckbox鍊奸�変腑鎴栬�呭彇娑堟椂
-    click_box(val) {
+    checkboxSingle(val) {
       if (!val.status) {
         for (const i in this.timeTopTempData) {
           const new_arr = []
           for (const j in this.timeTopTempData[i].gtArray) {
-            if (this.timeTopTempData[i].gtArray[j].id == val.id) {
+            if (this.timeTopTempData[i].gtArray[j].id === val.id) {
             } else {
               new_arr.push(this.timeTopTempData[i].gtArray[j])
             }
@@ -582,16 +579,15 @@
       for (const i in this.schedulingData) {
         const arr = []
         for (const j in this.schedulingData[i].gtArray) {
-          if (this.schedulingData[i].gtArray[j].type != 'schedule') {
+          if (this.schedulingData[i].gtArray[j].type !== 'schedule') {
             arr.push(this.schedulingData[i].gtArray[j])
           }
         }
         this.schedulingData[i].gtArray = arr
       }
       this.formBottom.real_num = 0
-      // this.click_schedule()
+      // this.prepareArrange()
     },
-
     // 鐐瑰嚮甯﹀嚭鏁版嵁
     async getOnclickAdvancedSchedulingDevice() {
       const res = await OnclickAdvancedSchedulingDevice(this.forms)
@@ -607,7 +603,7 @@
       // 灏嗕簲涓椂闂存杩涜璧嬪��
       for (const i in data) {
         for (const j in data[i].children) {
-          if (data[i].children[j].OneStartDate != '') {
+          if (data[i].children[j].OneStartDate !== '') {
             data[i].children[
               j
             ].OneStartDate = data[i].children[
@@ -622,7 +618,7 @@
               ' ' +
               data[i].children[j].OneStartDate[1]
           }
-          if (data[i].children[j].TwoStartDate != '') {
+          if (data[i].children[j].TwoStartDate !== '') {
             data[i].children[
               j
             ].TwoStartDate = data[i].children[
@@ -637,7 +633,7 @@
               ' ' +
               data[i].children[j].TwoStartDate[1]
           }
-          if (data[i].children[j].ThreeStartDate != '') {
+          if (data[i].children[j].ThreeStartDate !== '') {
             data[i].children[
               j
             ].ThreeStartDate = data[i].children[
@@ -652,7 +648,7 @@
               ' ' +
               data[i].children[j].ThreeStartDate[1]
           }
-          if (data[i].children[j].FourStartDate != '') {
+          if (data[i].children[j].FourStartDate !== '') {
             data[i].children[
               j
             ].FourStartDate = data[i].children[
@@ -667,7 +663,7 @@
               ' ' +
               data[i].children[j].FourStartDate[1]
           }
-          if (data[i].children[j].FiveStartDate != '') {
+          if (data[i].children[j].FiveStartDate !== '') {
             data[i].children[
               j
             ].FiveStartDate = data[i].children[
@@ -713,7 +709,7 @@
       const newList = []
       for (const i in data) {
         for (const j in data[i].children) {
-          if (data[i].children[j].OneStartDate != '') {
+          if (data[i].children[j].OneStartDate !== '') {
             const data1 = {
               id: '',
               start: '',
@@ -728,7 +724,7 @@
               100
             newList.push(data1)
           }
-          if (data[i].children[j].TwoStartDate != '') {
+          if (data[i].children[j].TwoStartDate !== '') {
             const data2 = {
               id: '',
               start: '',
@@ -743,7 +739,7 @@
               100
             newList.push(data2)
           }
-          if (data[i].children[j].ThreeStartDate != '') {
+          if (data[i].children[j].ThreeStartDate !== '') {
             const data3 = {
               id: '',
               start: '',
@@ -760,7 +756,7 @@
               100
             newList.push(data3)
           }
-          if (data[i].children[j].FourStartDate != '') {
+          if (data[i].children[j].FourStartDate !== '') {
             const data4 = {
               id: '',
               start: '',
@@ -777,7 +773,7 @@
               100
             newList.push(data4)
           }
-          if (data[i].children[j].FiveStartDate != '') {
+          if (data[i].children[j].FiveStartDate !== '') {
             const data5 = {
               id: '',
               start: '',
@@ -803,10 +799,10 @@
 
       this.schedulingData = list
 
-      if (cont != '') {
+      if (cont !== '') {
         for (const i in cont) {
           for (const j in this.schedulingData) {
-            if (this.schedulingData[j].id == cont[i].eqp_code) {
+            if (this.schedulingData[j].id === cont[i].eqp_code) {
               const data = {
                 id: cont[i].eqp_code,
                 number: cont[i].alloc_qty,
@@ -817,7 +813,7 @@
                 // status: this.AdvaScheUom,
                 start: cont[i].time_start,
                 end: cont[i].time_end,
-                type: cont[i].status == 'S' ? 'h_schedule' : 'bm_schedule'
+                type: cont[i].status === 'S' ? 'h_schedule' : 'bm_schedule'
               }
               this.schedulingData[j].flag = 'isCont'
               this.schedulingData[j].gtArray.unshift(data)
@@ -826,7 +822,7 @@
         }
       }
 
-      if (this.ganttLeftArrId != '') {
+      if (this.ganttLeftArrId !== '') {
         for (const j in this.schedulingData) {
           if (this.ganttLeftArrId.indexOf(this.schedulingData[j].id) >= 0) {
             this.schedulingData[j].gtArray = []
@@ -870,11 +866,11 @@
           AdvaDevicRhythm: '',
           gtArray: []
         }
-        if (data[i].children != '') {
+        if (data[i].children !== '') {
           time.AdvaDevicRhythm = data[i].children[0].AdvaDevicRhythm
         }
         for (const j in data[i].children) {
-          if (data[i].children[j].OneStartDate != '') {
+          if (data[i].children[j].OneStartDate !== '') {
             const icu1 = {
               name: data[i].children[j].AdvaDevicName,
               id: data[i].children[j].AdvaDevicNumber,
@@ -886,7 +882,7 @@
             }
             time.gtArray.push(icu1)
           }
-          if (data[i].children[j].TwoStartDate != '') {
+          if (data[i].children[j].TwoStartDate !== '') {
             const icu2 = {
               name: data[i].children[j].AdvaDevicName,
               id: data[i].children[j].AdvaDevicNumber,
@@ -898,7 +894,7 @@
             }
             time.gtArray.push(icu2)
           }
-          if (data[i].children[j].ThreeStartDate != '') {
+          if (data[i].children[j].ThreeStartDate !== '') {
             const icu3 = {
               name: data[i].children[j].AdvaDevicName,
               id: data[i].children[j].AdvaDevicNumber,
@@ -910,7 +906,7 @@
             }
             time.gtArray.push(icu3)
           }
-          if (data[i].children[j].FourStartDate != '') {
+          if (data[i].children[j].FourStartDate !== '') {
             const icu4 = {
               name: data[i].children[j].AdvaDevicName,
               id: data[i].children[j].AdvaDevicNumber,
@@ -922,7 +918,7 @@
             }
             time.gtArray.push(icu4)
           }
-          if (data[i].children[j].FiveStartDate != '') {
+          if (data[i].children[j].FiveStartDate !== '') {
             const icu5 = {
               name: data[i].children[j].AdvaDevicName,
               id: data[i].children[j].AdvaDevicNumber,
@@ -939,7 +935,7 @@
         this.timeTopTempData.push(time)
       }
 
-      if (cont != '') {
+      if (cont !== '') {
         for (const i in cont) {
           for (const j in this.timeTopTempData) {
             const data = {
@@ -953,28 +949,22 @@
               end: cont[i].time_end,
               type: 'h_schedule'
             }
-            if (this.timeTopTempData[j].date == data.date) {
+            if (this.timeTopTempData[j].date === data.date) {
               this.timeTopTempData[j].gtArray.unshift(data)
             }
           }
         }
       }
-
-      // console.log('鎵ц浜�!')
-      // console.log(this.schedulingData, '  this.schedulingData')
-      // console.log(this.timeTopTempData, 'this.timeTopTempData')
-
-      // this.$forceUpdate()
     },
     // 鎹㈠瀷鏃堕棿
     MinutesTest(time) {
       const t = new Date(time)
-      console.log(t.getMinutes(), 800)
+      // console.log(typeof parseFloat(this.formBottom.times), 'typeof')
       t.setMinutes(t.getMinutes() + this.formBottom.times * 1)
-      var now =
+      const now =
         t.getFullYear() +
         '-' +
-        this.add_one(t.getMonth()).toString().padStart(2, '0') +
+        (t.getMonth() + 1).toString().padStart(2, '0') +
         '-' +
         t.getDate().toString().padStart(2, '0') +
         ' ' +
@@ -983,17 +973,12 @@
         t.getMinutes().toString().padStart(2, '0') +
         ':' +
         t.getSeconds().toString().padStart(2, '0')
-      console.log('now', now)
       return now
-    },
-    // +1
-    add_one(date) {
-      return parseInt(date) + 1
     },
     // 鎻掑叆浜ц兘鏃堕棿娈�
     pushItem(newList, id, arr) {
       for (const i in newList) {
-        if (newList[i].id == id) {
+        if (newList[i].id === id) {
           const data = {
             start: newList[i].start,
             end: newList[i].end,
@@ -1018,7 +1003,7 @@
 
       this.formBottom.scheDate.push(handleDatetime(new Date())) //  褰撳墠鏃ユ湡锛堜粖澶╋級
       this.formBottom.scheDate.push(row.AdvaScheEndDate) //  瑕佹眰浜や粯鏃堕棿
-      if (this.formBottom.scheDate != '') {
+      if (this.formBottom.scheDate !== '') {
         this.time_data[0] = this.formBottom.scheDate[0] + ' 00:00' // 鎺掔▼寮�濮嬫椂闂�
         this.time_data[1] = this.formBottom.scheDate[1] + ' 23:59' // 鎺掔▼缁撴潫鏃堕棿
       }
@@ -1033,7 +1018,7 @@
       this.formUpdata.BotProceCode = row.AdvaScheBotProcid // 宸ヨ壓璺嚎缂栫爜
     },
     // 鎻愪氦鎺掔▼
-    async click_yes() {
+    async prepareSubmit() {
       if (this.formBottom.real_num !== this.formBottom.meter) {
         this.$message.error('鏁伴噺鏈帓瀹岋紝璇疯缃骇鑳芥椂闂达紒')
       } else {
@@ -1041,11 +1026,11 @@
         for (const i in this.schedulingData) {
           const arr = []
           for (const j in this.schedulingData[i].gtArray) {
-            if (this.schedulingData[i].gtArray[j].type == 'schedule') {
+            if (this.schedulingData[i].gtArray[j].type === 'schedule') {
               arr.push(this.schedulingData[i].gtArray[j])
             }
           }
-          if (arr != '') {
+          if (arr !== '') {
             for (const i in arr) {
               const data = {
                 AlreDevicNumber: '',
@@ -1065,14 +1050,14 @@
         // 杩囨护
         let updata = []
         for (const i in list) {
-          if (list[i].AlreStartDate != '') {
+          if (list[i].AlreStartDate !== '') {
             updata.push(list[i])
           }
         }
 
         updata = JSON.stringify(updata)
         this.formUpdata.json = updata
-        if (list == '') {
+        if (list === '') {
           this.$message.error('璇峰厛棰勬帓')
           return false
         }
@@ -1095,7 +1080,7 @@
       }
     },
     // 鏃堕棿/璁惧浼樺厛鎺掔▼
-    click_schedule() {
+    prepareArrange() {
       const timestamp = new Date().toLocaleDateString()
 
       if (new Date(this.formBottom.scheDate[1]) < new Date(timestamp)) {
@@ -1106,22 +1091,14 @@
 
       // 璁惧浼樺厛鎴栬�呮椂闂翠紭鍏� 瀵规暟鎹繘琛岀殑鏍煎紡杞崲
       if (this.schedulingData !== '' && this.formBottom.types === 'N') { // 璁惧浼樺厛
-        this.fun_time()
+        this.eqpDataTransition()
         this.editLastValue(this.schedulingData)
       } else if (this.timeTopTempData !== '' && this.formBottom.types === 'Y') { // 鏃堕棿浼樺厛
         this.filterAlreadyScheduleTime() // 鎵嬪姩杩囨护鎵�鏈夋椂闂村凡鎺掔▼
-        this.fun_facility()
+        this.timeDataTransition()
         this.dataTransition()
         this.editLastValue(this.schedulingData)
       }
-
-      // console.log('鎵ц浜�!')
-      // console.log(this.schedulingData, '  this.schedulingData')
-      // console.log(JSON.stringify(this.schedulingData), '  this.schedulingData')
-      // console.log(this.timeTopTempData, 'this.timeTopTempData')
-      // console.log(JSON.stringify(this.timeTopTempData), 'this.timeTopTempData')
-
-      // this.$forceUpdate()
     },
     // 鎵嬪姩杩囨护鎵�鏈夋椂闂村凡鎺掔▼
     filterAlreadyScheduleTime() {
@@ -1148,7 +1125,7 @@
       const len = 0
       for (const i in arr) {
         for (const j in arr[i].gtArray) {
-          if (arr[i].gtArray[j].type == 'schedule') {
+          if (arr[i].gtArray[j].type === 'schedule') {
             arr_num.unshift(arr[i].gtArray[j])
           }
         }
@@ -1166,15 +1143,15 @@
         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
-      }
+      // 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 (
-            this.schedulingData[i].gtArray[j].type == 'schedule' &&
+            this.schedulingData[i].gtArray[j].type === 'schedule' &&
             this.schedulingData[i].gtArray[j].end_num
           ) {
             this.schedulingData[i].gtArray[j].number =
@@ -1183,42 +1160,58 @@
         }
       }
     },
-    fun_time() {
+    // 璁惧浼樺厛   鏁版嵁鏍煎紡杞崲
+    eqpDataTransition() {
       let all_num = this.formBottom.meter
-      const all_time = []
       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 = [] // 寰呮帓绋嬬殑鏁扮粍
-        const add_arr = [] // 宸叉帓绋嬬殑鏁扮粍
+
         let capacity_arr = [] // 瑕佹帓绋嬬殑鏁扮粍
         this.schedulingData[i].gtArray.sort((a, b) => new Date(a.end).getTime() - new Date(b.end).getTime())
-        // let capacity_end = ''
-        end_arr = this.schedulingData[i].gtArray.filter(item => item.type == 'h_schedule')
-        nend_arr = this.schedulingData[i].gtArray.filter(item => item.type == 'capacity')
+        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.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 => {
             // 鎺掗櫎鎺夊凡缁忔帓绋嬬殑瀛樺湪hshedule锛宻tart锛宔nd閮界浉绛夌殑鎯呭喌
-            const schedule = end_arr.filter(schedule => {
-              return new Date(item.start).getTime() <= new Date(schedule.start).getTime() &&
-                new Date(item.end).getTime() > new Date(schedule.end).getTime()
+            const schedule = end_arr.filter(it => {
+              return new Date(item.start).getTime() <= new Date(it.start).getTime() &&
+                new Date(item.end).getTime() >= new Date(it.end).getTime()
             })
+
+            console.log(schedule, '鐜嬭�佸悏')
             if (schedule && schedule.length > 0) {
-              item.start = this.MinutesTest(schedule[0]['end'])
+              console.log('鏈夎繘鏉ュ悧')
+              console.log(schedule[schedule.length - 1]['end'])
+              item.start = this.MinutesTest(schedule[schedule.length - 1]['end'])
             }
 
             const schedule1 = end_arr.filter(schedule => {
-              return new Date(item.start).getTime() == new Date(schedule.start).getTime() &&
-                new Date(item.end).getTime() == new Date(schedule.end).getTime()
+              return new Date(item.start).getTime() === new Date(schedule.start).getTime() &&
+                new Date(item.end).getTime() === new Date(schedule.end).getTime()
             })
             if (schedule1 && schedule1.length > 0) {
               item.capacity = false
             }
 
             return item
-          }).filter(item => item.capacity != false)
+          }).filter(item => item.capacity !== false)
         } else {
           capacity_arr = nend_arr
         }
@@ -1230,6 +1223,7 @@
         if (end_arr != '') {
           (id_obj.id = end_arr[0].id), (id_obj.start_time = end_arr[0].end)
         }
+        console.log(capacity_arr, 997)
         for (const w in capacity_arr) {
           let end_time = ''
           let mistiming = ''
@@ -1245,10 +1239,12 @@
             real_number: 0
           }
           if (
-            id_obj.start_time != '' &&
-            flag1 == 0 &&
-            new Date(id_obj.start_time) >= new Date(capacity_arr[w].start)
+            id_obj.start_time !== '' &&
+            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 {
@@ -1313,8 +1309,8 @@
         }
       }
     },
-    // 璁惧鎺掔▼鏂规硶
-    fun_facility() {
+    // 鏃堕棿浼樺厛  鏁版嵁鏍煎紡杞崲
+    timeDataTransition() {
       // 鎺掗櫎鏈嬀閫夐」
       for (const i in this.timeTopTempData) {
         const newArr = []
@@ -1326,101 +1322,113 @@
         this.timeTopTempData[i].gtArray = newArr
       }
       let all_num = this.formBottom.meter
-      const all_time = []
+
       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 = [] // 鎺掔▼鐨勬暟缁�
-        const add_arr = [] // 宸叉帓绋嬬殑鏁扮粍
+
         let capacity_arr = [] // 瑕佹帓绋嬬殑鏁扮粍
-        // console.log(parseFloat('SV002'.substring(4, 5)))
+
         this.timeTopTempData[i].gtArray.sort((a, b) => new Date(a.end).getTime() - new Date(b.end).getTime())
-        // this.timeTopTempData[i].gtArray.sort((a, b) => parseFloat(a.id.substring(4, 5)) - parseFloat(b.id.substring(4, 5)))
-        // let capacity_end = ''
 
         // console.log(JSON.stringify(this.timeTopTempData), 671)
 
-        end_arr = this.timeTopTempData[i].gtArray.filter(item => item.type === 'h_schedule') // 宸叉帓绋嬫暟鎹�
-        nend_arr = this.timeTopTempData[i].gtArray.filter(item => item.type === 'capacity') // 瑕佹帓绋嬫暟鎹�
+        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))
 
-        console.log(capacity_arr, 902)
-        end_arr.forEach(item => {
-          for (let i = 0; i < capacity_arr.length; i++) {
-            if (new Date(capacity_arr[i].start).getTime() === new Date(item.start).getTime()) {
-              console.log(i, capacity_arr[i], '鍝囧搱鍝�')
-              console.log(capacity_arr.splice(i, 1))
-              break
+        capacity_arr = JSON.parse(JSON.stringify(nend_arr)) // 瀹归噺
+
+        // 鑾峰彇鍙帓绋嬬殑鏃堕棿   浠ヤ究鎺ョ潃寰�鍚庢帓绋�    閬嶅巻缁撴潫瑕佸緱鍒扮殑鏄� 褰撳墠鏃ユ湡鍙帓瀹归噺
+        end_arr.forEach((item, index) => { // 宸叉帓绋嬬殑鏁扮粍
+          capacity_arr.forEach((it, ind) => { // 瀹归噺锛堟棩浜ц兘锛�
+            if (item.id === it.id &&
+              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, '澶цタ鐡�')
 
-        if (!capacity_arr || capacity_arr.length === 0) break
-        // const firstCapacity = capacity_arr[0]
+        // continue:琛ㄧず璺冲嚭鏈寰幆锛屼篃灏辨槸涓嶆墽琛屾湰娆″惊鐜痗ontinue涔嬪悗鐨勬搷浣�
+        // break:琛ㄧず璺冲嚭褰撳墠鐨勫惊鐜紝閽堝鏁翠釜寰幆浣撶粓姝㈠悗缁殑閬嶅巻锛�
+        if (!capacity_arr || capacity_arr.length === 0) {
+          continue
+        }
 
         const schedule_arr = end_arr.filter(item => {
           const remain = nend_arr.some(it => {
-            // return (new Date(it.start).getTime() === new Date(item.start).getTime() &&
-            //     new Date(item.end).getTime() < new Date(it.end).getTime()) || (
-            //   new Date(it.end).getTime() === new Date(item.end).getTime() &&
-            //   new Date(item.start).getTime() > new Date(it.start).getTime())
-            return (new Date(it.start).getTime() === new Date(item.start).getTime() &&
+            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
         })
-        // schedule_arr.sort((a, b) => new Date(b.end).getTime() - new Date(a.end).getTime())
-        // schedule_arr = schedule_arr.filter((currentValue, currentIndex, selfArr) => {
-        //   return selfArr.findIndex(item => item.id === currentValue.id) === currentIndex
-        // })
 
-        // schedule_arr = [{ cl_code: '302',
-        //   cl_name: '8504鍏夋満',
-        //   date: '2023-02-09',
-        //   end: '2023-02-09 14:53:20',
-        //   id: 'SB004',
-        //   number: 100,
-        //   start: '2023-02-09 13:30:00',
-        //   type: 'h_schedule',
-        //   work_order: 'MO-2022-11-0035_1' }]
+        // console.log(schedule_arr, 1002)
+        // console.log(nend_arr, 299)
 
-        console.log(schedule_arr, 1002)
+        // debugger
 
-        // schedule_arr = [schedule_arr[0]]
+        // 涓嬮潰閫昏緫寰堥噸瑕�
         if (schedule_arr && schedule_arr.length > 0) {
           const scheduleCan = schedule_arr.map(item => {
             const temp = nend_arr.filter(it => {
               if (it.id === item.id) {
-                return (new Date(it.start).getTime() === new Date(item.start).getTime() &&
+                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())
+                //   ||
+                // (new Date(item.start).getTime() > new Date(it.start).getTime() &&
+                // new Date(item.end).getTime() < new Date(it.end).getTime())
               }
             })[0]
-            console.log('capacity', temp)
-            console.log('capacity', item.end)
+            // console.log('鏉庣櫧', temp)
+            // console.log('鏉庣櫧', item.end)
             temp.start = this.MinutesTest(item.end)
-            // temp.start = item.end
+
             return temp
           })
+
           const newSchedule = JSON.parse(JSON.stringify(scheduleCan))
-          capacity_arr = newSchedule.concat(capacity_arr)
+          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()) {
+                item.start = it.start
+              }
+            })
+          })
+
+          // 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)
+        // 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)
+
         for (const w in capacity_arr) {
           let end_time
           let mistiming
@@ -1441,39 +1449,30 @@
             new Date(id_obj.start_time).getTime() >=
             new Date(capacity_arr[w].start).getTime()
           ) {
-            if (data.id == id_obj.id) {
+            if (data.id === id_obj.id) {
               data.start = this.MinutesTest(id_obj.start_time)
-              console.log(data.start, 999)
+
               //  flag1 =1
             } else {
               data.start = capacity_arr[w].start
-              console.log(data.start, 1000)
+              // console.log(data.start, 1000)
               //  console.log(data.start)
               //  flag1 =1
             }
           } else {
             data.start = capacity_arr[w].start
-            console.log(data.start, 1001)
+            // 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
+          let nowTime = (capacity_arr[w].rhythm * all_num) / capacity_arr[w].mod
 
           end_time = this.formSeconds(nowTime, data.start)
 
           data.end = end_time
           mistiming = this.compareTime(end_time, capacity_arr[w].end)
           if (mistiming >= 0) {
-            data.number =
-              ((new Date(data.end) - new Date(data.start)) *
-                capacity_arr[w].mod) /
-              capacity_arr[w].rhythm /
-              1000
-            data.real_number =
-              ((new Date(data.end) - new Date(data.start)) *
-                capacity_arr[w].mod) /
-              capacity_arr[w].rhythm /
-              1000
+            data.number = ((new Date(data.end) - new Date(data.start)) * capacity_arr[w].mod) / capacity_arr[w].rhythm / 1000
+            data.real_number = ((new Date(data.end) - new Date(data.start)) * capacity_arr[w].mod) / capacity_arr[w].rhythm / 1000
             data.number = data.number.toFixed(0)
             data.end_num = true
 
@@ -1508,7 +1507,7 @@
         }
       }
     },
-    // 缁欒澶囪浆鎹㈡牸寮�
+    // 鏃堕棿浼樺厛 缁欒澶囪浆鎹㈡牸寮�
     dataTransition() {
       this.schedulingData = []
       const data = this.timeTopTempData
@@ -1538,7 +1537,7 @@
     // 鎻掑叆浜ц兘鏃堕棿娈�
     pushTimes(newList, id, arr) {
       for (const i in newList) {
-        if (newList[i].id == id) {
+        if (newList[i].id === id) {
           arr.push(newList[i])
         }
       }

--
Gitblit v1.9.3