From 8ccc85d309d5d6f3f3f02852061425a20ec45e74 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期一, 13 二月 2023 15:47:51 +0800
Subject: [PATCH] 1.排程部分  工单单选功能实现

---
 src/views/scgl/zdpc.vue |  321 +++++++++++++++++++---------------------------------
 1 files changed, 119 insertions(+), 202 deletions(-)

diff --git a/src/views/scgl/zdpc.vue b/src/views/scgl/zdpc.vue
index 7f1c9c7..221c96b 100644
--- a/src/views/scgl/zdpc.vue
+++ b/src/views/scgl/zdpc.vue
@@ -240,8 +240,8 @@
               </el-form-item>
               <el-form-item label="棰勬帓杩涘害" style=" display: flex;">
                 <span>
-                  <span style="text-decoration:underline;">{{ formBottom.real_num }}</span> /
-                  <span style="text-decoration:underline">{{ formBottom.meter }}</span>
+                  <span style="text-decoration:underline;">{{ formBottom.canArrangeNumber }}</span> /
+                  <span style="text-decoration:underline">{{ formBottom.needArrangeNumber }}</span>
                 </span>
               </el-form-item>
             </div>
@@ -411,28 +411,28 @@
         types: 'N', // 鎺掔▼鏂瑰紡
         scale: 60, // 鏃堕棿鍒诲害
         times: 0, // 鎹㈠瀷鏃堕棿
-        real_num: 0, // 鍙帓鏁伴噺
-        meter: 0// 闇�鎺掓暟閲�
+        canArrangeNumber: 0, // 鍙帓鏁伴噺
+        needArrangeNumber: 0// 闇�鎺掓暟閲�
       },
       schedulingData: [], // 鎺掔▼鐨勬渶缁堟暟鎹�
       timeTopTempData: [], // 鏃堕棿浼樺厛鐨勪复鏃舵暟鎹�
+      eqpTopTempData: [], //  璁惧浼樺厛鐨勪复鏃舵暟鎹�
 
-      formUpdata: {
+      formUpdate: {
         WorkCode: '',
         BotProceCode: '',
         json: []
       },
-      currentTime: dayjs(),
+      // currentTime: dayjs(),
       cellWidth: 50,
       cellHeight: 30,
       titleHeight: 40,
       titleWidth: 250,
       dataKey: 'id',
-      timeList: `0,30,60,120,240,480`.split(',').map(n => parseInt(n)),
+      // timeList: `0,30,60,120,240,480`.split(',').map(n => parseInt(n)),
       scaleList: `30,60,240,360`.split(',').map(n => parseInt(n)),
       hideHeader: false,
-      arrayKeys: ['gtArray', 'error'],
-      title_list: []// 涓嶇煡閬撶粰浣犲彇浠�涔堣嫳鏂囧悕绉板ソ  鏆傛椂娌″彉浣犵殑鍚嶅瓧
+      arrayKeys: ['gtArray', 'error']
 
     }
   },
@@ -585,7 +585,7 @@
         }
         this.schedulingData[i].gtArray = arr
       }
-      this.formBottom.real_num = 0
+      this.formBottom.canArrangeNumber = 0
       // this.prepareArrange()
     },
     // 鐐瑰嚮甯﹀嚭鏁版嵁
@@ -598,95 +598,47 @@
       const data = res.rows // 鎷垮埌寰呮帓鏁版嵁  瀵规暟鎹繘琛屾敼閫�
       const cont = res.Cont // 鎷垮埌宸叉帓鏁版嵁  瀵规暟鎹繘琛屾敼閫�
 
-      this.formBottom.real_num = 0
+      this.formBottom.canArrangeNumber = 0
 
       // 灏嗕簲涓椂闂存杩涜璧嬪��
-      for (const i in data) {
-        for (const j in data[i].children) {
-          if (data[i].children[j].OneStartDate !== '') {
-            data[i].children[
-              j
-            ].OneStartDate = data[i].children[
-              j
-            ].OneStartDate.split('~')
-            data[i].children[j].OneStartDate[0] =
-              data[i].YearDate +
-              ' ' +
-              data[i].children[j].OneStartDate[0]
-            data[i].children[j].OneStartDate[1] =
-              data[i].YearDate +
-              ' ' +
-              data[i].children[j].OneStartDate[1]
+      data.forEach(item => {
+        item.children.forEach(it => {
+          if (it.OneStartDate !== '') {
+            it.OneStartDate = it.OneStartDate.split('~')
+            it.OneStartDate[0] = item.YearDate + ' ' + it.OneStartDate[0] + ':00'
+            it.OneStartDate[1] = item.YearDate + ' ' + it.OneStartDate[1] + ':00'
           }
-          if (data[i].children[j].TwoStartDate !== '') {
-            data[i].children[
-              j
-            ].TwoStartDate = data[i].children[
-              j
-            ].TwoStartDate.split('~')
-            data[i].children[j].TwoStartDate[0] =
-              data[i].YearDate +
-              ' ' +
-              data[i].children[j].TwoStartDate[0]
-            data[i].children[j].TwoStartDate[1] =
-              data[i].YearDate +
-              ' ' +
-              data[i].children[j].TwoStartDate[1]
-          }
-          if (data[i].children[j].ThreeStartDate !== '') {
-            data[i].children[
-              j
-            ].ThreeStartDate = data[i].children[
-              j
-            ].ThreeStartDate.split('~')
-            data[i].children[j].ThreeStartDate[0] =
-              data[i].YearDate +
-              ' ' +
-              data[i].children[j].ThreeStartDate[0]
-            data[i].children[j].ThreeStartDate[1] =
-              data[i].YearDate +
-              ' ' +
-              data[i].children[j].ThreeStartDate[1]
-          }
-          if (data[i].children[j].FourStartDate !== '') {
-            data[i].children[
-              j
-            ].FourStartDate = data[i].children[
-              j
-            ].FourStartDate.split('~')
-            data[i].children[j].FourStartDate[0] =
-              data[i].YearDate +
-              ' ' +
-              data[i].children[j].FourStartDate[0]
-            data[i].children[j].FourStartDate[1] =
-              data[i].YearDate +
-              ' ' +
-              data[i].children[j].FourStartDate[1]
-          }
-          if (data[i].children[j].FiveStartDate !== '') {
-            data[i].children[
-              j
-            ].FiveStartDate = data[i].children[
-              j
-            ].FiveStartDate.split('~')
-            data[i].children[j].FiveStartDate[0] =
-              data[i].YearDate +
-              ' ' +
-              data[i].children[j].FiveStartDate[0]
-            data[i].children[j].FiveStartDate[1] =
-              data[i].YearDate +
-              ' ' +
-              data[i].children[j].FiveStartDate[1]
-          }
-        }
-      }
 
+          if (it.TwoStartDate !== '') {
+            it.TwoStartDate = it.TwoStartDate.split('~')
+            it.TwoStartDate[0] = item.YearDate + ' ' + it.TwoStartDate[0] + ':00'
+            it.TwoStartDate[1] = item.YearDate + ' ' + it.TwoStartDate[1] + ':00'
+          }
+          if (it.ThreeStartDate !== '') {
+            it.ThreeStartDate = it.ThreeStartDate.split('~')
+            it.ThreeStartDate[0] = item.YearDate + ' ' + it.ThreeStartDate[0] + ':00'
+            it.ThreeStartDate[1] = item.YearDate + ' ' + it.ThreeStartDate[1] + ':00'
+          }
+          if (it.FourStartDate !== '') {
+            it.FourStartDate = it.FourStartDate.split('~')
+            it.FourStartDate[0] = item.YearDate + ' ' + it.FourStartDate[0] + ':00'
+            it.FourStartDate[1] = item.YearDate + ' ' + it.FourStartDate[1] + ':00'
+          }
+          if (it.FiveStartDate !== '') {
+            it.FiveStartDate = it.FiveStartDate.split('~')
+            it.FiveStartDate[0] = item.YearDate + ' ' + it.FiveStartDate[0] + ':00'
+            it.FiveStartDate[1] = item.YearDate + ' ' + it.FiveStartDate[1] + ':00'
+          }
+        })
+      })
+
+      // 鏋勫缓 鎸夎澶囦紭鍏堟帓绋嬬殑 鏁版嵁鏍煎紡 schedulingData
       const list = [] // 涓存椂list  鏆傚瓨
-      for (const i in data[0].children) {
+      data[0].children.forEach(item => {
         const obj = {
           id: '',
           name: '',
-          AdvaDevicRhythm: '',
+          AdvaDevicRhythm: '', // 鑺傛媿澶氬皯绉掔敓浜т竴涓紙鐢熶骇鑺傛媿锛�
           status: true,
           colorPair: {
             dark: 'rgb(83, 186, 241,0.8)',
@@ -697,15 +649,13 @@
           },
           gtArray: []
         }
-        obj.id = data[0].children[i].AdvaDevicNumber
-        obj.name = data[0].children[i].AdvaDevicName
-        obj.AdvaDevicRhythm = data[0].children[
-          i
-        ].AdvaDevicRhythm
+        obj.id = item.AdvaDevicNumber
+        obj.name = item.AdvaDevicName
+        obj.AdvaDevicRhythm = item.AdvaDevicRhythm
         list.push(obj)
-      }
+      })
 
-      // 缁勫悎鏂扮殑缁撴瀯
+      // 缁勫悎鏂扮殑缁撴瀯     娴呯豢鑹茶儗鏅潯
       const newList = []
       for (const i in data) {
         for (const j in data[i].children) {
@@ -719,9 +669,8 @@
             data1.id = data[i].children[j].AdvaDevicNumber
             data1.start = data[i].children[j].OneStartDate[0]
             data1.end = data[i].children[j].OneStartDate[1]
-            data1.mod =
-              (data[i].children[j].AdvaDevicCropMob * 1) /
-              100
+            // AdvaDevicCropMob 绋煎姩鐜�     AdvaDevicRhythm  鐢熶骇鑺傛媿
+            data1.mod = (data[i].children[j].AdvaDevicCropMob * 1) / 100 // 绋煎姩鐜�
             newList.push(data1)
           }
           if (data[i].children[j].TwoStartDate !== '') {
@@ -734,9 +683,7 @@
             data2.id = data[i].children[j].AdvaDevicNumber
             data2.start = data[i].children[j].TwoStartDate[0]
             data2.end = data[i].children[j].TwoStartDate[1]
-            data2.mod =
-              (data[i].children[j].AdvaDevicCropMob * 1) /
-              100
+            data2.mod = (data[i].children[j].AdvaDevicCropMob * 1) / 100
             newList.push(data2)
           }
           if (data[i].children[j].ThreeStartDate !== '') {
@@ -747,13 +694,9 @@
               mod: ''
             }
             data3.id = data[i].children[j].AdvaDevicNumber
-            data3.start = data[i].children[
-              j
-            ].ThreeStartDate[0]
+            data3.start = data[i].children[j].ThreeStartDate[0]
             data3.end = data[i].children[j].ThreeStartDate[1]
-            data3.mod =
-              (data[i].children[j].AdvaDevicCropMob * 1) /
-              100
+            data3.mod = (data[i].children[j].AdvaDevicCropMob * 1) / 100
             newList.push(data3)
           }
           if (data[i].children[j].FourStartDate !== '') {
@@ -764,13 +707,9 @@
               mod: ''
             }
             data4.id = data[i].children[j].AdvaDevicNumber
-            data4.start = data[i].children[
-              j
-            ].FourStartDate[0]
+            data4.start = data[i].children[j].FourStartDate[0]
             data4.end = data[i].children[j].FourStartDate[1]
-            data4.mod =
-              (data[i].children[j].AdvaDevicCropMob * 1) /
-              100
+            data4.mod = (data[i].children[j].AdvaDevicCropMob * 1) / 100
             newList.push(data4)
           }
           if (data[i].children[j].FiveStartDate !== '') {
@@ -781,13 +720,9 @@
               mod: ''
             }
             data5.id = data[i].children[j].AdvaDevicNumber
-            data5.start = data[i].children[
-              j
-            ].FiveStartDate[0]
+            data5.start = data[i].children[j].FiveStartDate[0]
             data5.end = data[i].children[j].FiveStartDate[1]
-            data5.mod =
-              (data[i].children[j].AdvaDevicCropMob * 1) /
-              100
+            data5.mod = (data[i].children[j].AdvaDevicCropMob * 1) / 100
             newList.push(data5)
           }
         }
@@ -807,15 +742,14 @@
                 id: cont[i].eqp_code,
                 number: cont[i].alloc_qty,
                 cl_name: cont[i].part_name,
-                cl_code: this.cl_code,
+                cl_code: cont[i].part_code,
+                AdvaScheUom: cont[i].uom_name, // 鍗曚綅
                 work_order: cont[i].wo_code,
-                STATUS: this.AdvaScheUom,
-                // 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'
+                type: 'h_schedule'
               }
-              this.schedulingData[j].flag = 'isCont'
               this.schedulingData[j].gtArray.unshift(data)
             }
           }
@@ -832,7 +766,7 @@
       }
 
       // 璁惧浼樺厛鐨勬暟鎹牸寮�
-      this.title_list = []
+      this.eqpTopTempData = []
       for (const i in data[0].children) {
         const obj = {
           id: '',
@@ -854,12 +788,13 @@
         obj.AdvaDevicRhythm = data[0].children[i].AdvaDevicRhythm
         // obj.mod =data[0].children[i].AdvaDevicCropMob *1
 
-        this.title_list.push(obj)
+        this.eqpTopTempData.push(obj)
       }
 
       // 鏇存敼鏍煎紡
       this.timeTopTempData = []
 
+      // 鏋勫缓鎸夋椂闂翠紭鍏堢殑鎺掔▼鏁版嵁鏍煎紡 timeTopTempData
       for (const i in data) {
         const time = {
           date: data[i].YearDate,
@@ -875,7 +810,7 @@
               name: data[i].children[j].AdvaDevicName,
               id: data[i].children[j].AdvaDevicNumber,
               type: 'capacity',
-              rhythm: data[i].children[j].AdvaDevicRhythm,
+              rhythm: data[i].children[j].AdvaDevicRhythm, // 鐢熶骇鑺傛媿
               start: data[i].children[j].OneStartDate[0],
               end: data[i].children[j].OneStartDate[1],
               mod: (data[i].children[j].AdvaDevicCropMob * 1) / 100
@@ -943,7 +878,8 @@
               date: cont[i].time_start.split(' ')[0],
               number: cont[i].alloc_qty,
               cl_name: cont[i].part_name,
-              cl_code: this.cl_code,
+              cl_code: cont[i].part_code,
+              AdvaScheUom: cont[i].uom_name, // 鍗曚綅
               work_order: cont[i].wo_code,
               start: cont[i].time_start,
               end: cont[i].time_end,
@@ -959,7 +895,6 @@
     // 鎹㈠瀷鏃堕棿
     MinutesTest(time) {
       const t = new Date(time)
-
       t.setMinutes(t.getMinutes() + this.formBottom.times * 1)
       const now =
         t.getFullYear() +
@@ -994,7 +929,7 @@
     getCurrentRow(row) {
       this.radioSelectedId = row.AdvaScheId // 鎺掔▼id璧嬪�肩粰閫変腑琛宨d
 
-      this.formBottom.meter = row.AdvaScheQty * 1 - row.AdvaScheYPQty * 1 // 闇�鎺掓暟閲� = 鏈帓绋嬫暟閲� - 宸叉帓绋嬫暟閲�
+      this.formBottom.needArrangeNumber = row.AdvaScheQty * 1 - row.AdvaScheYPQty * 1 // 闇�鎺掓暟閲� = 鏈帓绋嬫暟閲� - 宸叉帓绋嬫暟閲�
       this.formBottom.scheDate = [] // 鎺掔▼鏃ユ湡缃┖
       this.cl_name = row.AdvaSchePartName // 浜у搧鍚嶇О
       this.cl_code = row.AdvaSchePartNumber // 浜у搧缂栫爜
@@ -1014,12 +949,12 @@
       this.forms.startdate = handleDatetime(new Date()) // 褰撳墠鏃ユ湡锛堜粖澶╋級
       this.forms.enddate = row.AdvaScheEndDate //  瑕佹眰浜や粯鏃堕棿
       this.getOnclickAdvancedSchedulingDevice()
-      this.formUpdata.WorkCode = row.AdvaScheWorkCode // 宸ュ崟缂栧彿
-      this.formUpdata.BotProceCode = row.AdvaScheBotProcid // 宸ヨ壓璺嚎缂栫爜
+      this.formUpdate.WorkCode = row.AdvaScheWorkCode // 宸ュ崟缂栧彿
+      this.formUpdate.BotProceCode = row.AdvaScheBotProcid // 宸ヨ壓璺嚎缂栫爜
     },
     // 鎻愪氦鎺掔▼
     async prepareSubmit() {
-      if (this.formBottom.real_num !== this.formBottom.meter) {
+      if (this.formBottom.canArrangeNumber !== this.formBottom.needArrangeNumber) {
         this.$message.error('鏁伴噺鏈帓瀹岋紝璇疯缃骇鑳芥椂闂达紒')
       } else {
         const list = [] // 鎻愪氦鏁扮粍
@@ -1048,24 +983,24 @@
         }
         // 鎺掔▼鐩稿悓璁惧鑾峰彇寮�濮嬫椂闂� 缁撴潫鏃堕棿 鏁伴噺鐨勬�诲拰
         // 杩囨护
-        let updata = []
+        let update = []
         for (const i in list) {
           if (list[i].AlreStartDate !== '') {
-            updata.push(list[i])
+            update.push(list[i])
           }
         }
 
-        updata = JSON.stringify(updata)
-        this.formUpdata.json = updata
+        update = JSON.stringify(update)
+        this.formUpdate.json = update
         if (list === '') {
           this.$message.error('璇峰厛棰勬帓')
           return false
         }
 
         const formData = new FormData()
-        formData.append('wocode', this.formUpdata.WorkCode)
-        formData.append('botprocecode', this.formUpdata.BotProceCode)
-        formData.append('json', this.formUpdata.json)
+        formData.append('wocode', this.formUpdate.WorkCode)
+        formData.append('botprocecode', this.formUpdate.BotProceCode)
+        formData.append('json', this.formUpdate.json)
 
         const res = await SubmitAlreadyScheduling(formData)
 
@@ -1073,8 +1008,8 @@
           this.$message.success(res.Message)
         }
 
-        this.formBottom.meter = 0
-        this.formBottom.real_num = 0
+        this.formBottom.needArrangeNumber = 0
+        this.formBottom.canArrangeNumber = 0
         await this.getOnclickAdvancedSchedulingDevice()
         await this.getAdvancedSchedulingSearch()
       }
@@ -1118,11 +1053,10 @@
     },
     // 缁欐帓绋嬫渶鍚庝竴涓慨鏀规暟閲�
     editLastValue(arr) {
-      this.formBottom.real_num = 0 // 鐪熷疄宸叉帓鏁伴噺
+      this.formBottom.canArrangeNumber = 0 // 鐪熷疄宸叉帓鏁伴噺
       let num = 0 // 鍙栨暣宸叉帓鏁伴噺
       const arr_num = [] // 宸叉帓鏁版嵁
-      let mend_num = 0
-      const len = 0
+      let need_num = 0
       for (const i in arr) {
         for (const j in arr[i].gtArray) {
           if (arr[i].gtArray[j].type === 'schedule') {
@@ -1132,15 +1066,15 @@
       }
 
       for (const n in arr_num) {
-        this.formBottom.real_num += arr_num[n].real_number
+        this.formBottom.canArrangeNumber += arr_num[n].real_number
         num += arr_num[n].number * 1
       }
 
-      this.formBottom.real_num = Math.ceil(this.formBottom.real_num)
-      const y10 = this.formBottom.meter - this.formBottom.real_num
+      this.formBottom.canArrangeNumber = Math.ceil(this.formBottom.canArrangeNumber)
+      const y10 = this.formBottom.needArrangeNumber - this.formBottom.canArrangeNumber
       if (y10 <= 10) {
-        this.formBottom.real_num = this.formBottom.meter
-        mend_num = this.formBottom.meter - num
+        this.formBottom.canArrangeNumber = this.formBottom.needArrangeNumber
+        need_num = this.formBottom.needArrangeNumber - num
       } else {
       }
       for (const i in this.schedulingData) {
@@ -1150,33 +1084,28 @@
             this.schedulingData[i].gtArray[j].end_num
           ) {
             this.schedulingData[i].gtArray[j].number =
-              this.schedulingData[i].gtArray[j].number * 1 + mend_num
+              this.schedulingData[i].gtArray[j].number * 1 + need_num
           }
         }
       }
     },
     // 璁惧浼樺厛   鏁版嵁鏍煎紡杞崲
     eqpDataTransition() {
-      let all_num = this.formBottom.meter
+      let needNumber = this.formBottom.needArrangeNumber // 闇�鎺掓暟閲�
       let flag1 = 0
-      const mod = this.schedulingData[0].mod
-
-      //  let nowTime = this.schedulingData[0].AdvaDevicRhythm*all_num
 
       for (const i in this.schedulingData) {
         let end_arr = [] // 宸叉帓绋嬬殑鏁扮粍
-        let nend_arr = [] // 寰呮帓绋嬬殑鏁扮粍
+        let need_arr = [] // 寰呮帓绋嬬殑鏁扮粍
 
         let capacity_arr = [] // 瑕佹帓绋嬬殑鏁扮粍
         this.schedulingData[i].gtArray.sort((a, b) => new Date(a.end).getTime() - new Date(b.end).getTime())
 
         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())
+        need_arr = JSON.parse(JSON.stringify(this.schedulingData[i].gtArray.filter(item => item.type === 'capacity'))) // 瀹归噺
 
         if (end_arr && end_arr.length > 0) {
-          capacity_arr = nend_arr.map(item => {
+          capacity_arr = need_arr.map(item => {
             // 鎺掗櫎鎺夊凡缁忔帓绋嬬殑瀛樺湪hshedule锛宻tart锛宔nd閮界浉绛夌殑鎯呭喌
             const schedule = end_arr.filter(it => {
               return new Date(item.start).getTime() <= new Date(it.start).getTime() &&
@@ -1198,7 +1127,7 @@
             return item
           }).filter(item => item.capacity !== false)
         } else {
-          capacity_arr = nend_arr
+          capacity_arr = need_arr
         }
 
         const id_obj = {
@@ -1222,6 +1151,7 @@
             cl_name: this.cl_name,
             cl_code: this.cl_code,
             work_order: this.work_order,
+            AdvaScheUom: this.AdvaScheUom,
             number: 0,
             real_number: 0
           }
@@ -1235,8 +1165,7 @@
           } else {
             data.start = capacity_arr[w].start
           }
-          let nowTime =
-            (this.schedulingData[i].AdvaDevicRhythm * all_num) / capacity_arr[w].mod
+          let nowTime = (this.schedulingData[i].AdvaDevicRhythm * needNumber) / capacity_arr[w].mod
           end_time = this.formSeconds(nowTime, data.start, capacity_arr[w].mod) // 鎬诲叡鐨勭粨鏉熸椂闂�
           data.end = end_time
           mistiming = this.compareTime(
@@ -1269,22 +1198,26 @@
               continue // 鍥犱负寮�濮嬫椂闂存瘮缁撴潫鏃堕棿澶� 闇�瑕佽烦杩囧悗闈㈡楠�
             }
 
+            // 杩欓噷闄や互涓�鍗冩槸鍥犱负 new Date() 寰楀埌鐨勬槸姣  姣杞寲涓虹鏄崈杩涘埗
+            // 涓�娈垫椂闂存鍐呯殑鐢熶骇閲�=涓よ�呮椂闂村樊锛堟绉掞級/1000  / 鐢熶骇鑺傛媿 * 绋煎姩鐜�
             data.number =
               ((new Date(data.end) - new Date(data.start)) *
                 capacity_arr[w].mod) /
               this.schedulingData[i].AdvaDevicRhythm /
               1000
+
             data.real_number =
               ((new Date(data.end) - new Date(data.start)) *
                 capacity_arr[w].mod) /
               this.schedulingData[i].AdvaDevicRhythm /
               1000
+
             data.number = data.number.toFixed(0)
 
-            nowTime =
-              (all_num - data.real_number) * this.schedulingData[i].AdvaDevicRhythm
-            all_num = all_num - data.real_number
+            nowTime = (needNumber - data.real_number) * this.schedulingData[i].AdvaDevicRhythm
+            needNumber = needNumber - data.real_number
             if (new Date(data.start) >= new Date(data.end)) {
+
             } else {
               this.schedulingData[i].gtArray.push(data)
             }
@@ -1304,24 +1237,21 @@
         }
         this.timeTopTempData[i].gtArray = newArr
       }
-      let all_num = this.formBottom.meter
-
-      const flag1 = 0
-      // let nowTime = this.timeTopTempData[0].AdvaDevicRhythm*all_num  //鏁伴噺OK
+      let needNumber = this.formBottom.needArrangeNumber // 闇�鎺掓暟閲�
 
       //  閲岄潰閫昏緫瑕佹悶娓呮 寰堥噸瑕�
       for (const i in this.timeTopTempData) {
         let end_arr = []
-        let nend_arr = [] // 鎺掔▼鐨勬暟缁�
+        let need_arr = [] // 鎺掔▼鐨勬暟缁�
 
         let capacity_arr = [] // 瑕佹帓绋嬬殑鏁扮粍
 
         this.timeTopTempData[i].gtArray.sort((a, b) => new Date(a.end).getTime() - new Date(b.end).getTime())
 
         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'))) // 瀹归噺
+        need_arr = JSON.parse(JSON.stringify(this.timeTopTempData[i].gtArray.filter(item => item.type === 'capacity'))) // 瀹归噺
 
-        capacity_arr = JSON.parse(JSON.stringify(nend_arr)) // 瀹归噺
+        capacity_arr = JSON.parse(JSON.stringify(need_arr)) // 瀹归噺
 
         // 鑾峰彇鍙帓绋嬬殑鏃堕棿   浠ヤ究鎺ョ潃寰�鍚庢帓绋�    閬嶅巻缁撴潫瑕佸緱鍒扮殑鏄� 褰撳墠鏃ユ湡鍙帓瀹归噺
         end_arr.forEach((item, index) => { // 宸叉帓绋嬬殑鏁扮粍
@@ -1342,7 +1272,7 @@
         }
 
         const schedule_arr = end_arr.filter(item => {
-          const remain = nend_arr.some(it => {
+          const remain = need_arr.some(it => {
             return (new Date(item.start).getTime() >= new Date(it.start).getTime() &&
               new Date(item.end).getTime() < new Date(it.end).getTime())
           })
@@ -1353,7 +1283,7 @@
         // 涓嬮潰閫昏緫寰堥噸瑕�
         if (schedule_arr && schedule_arr.length > 0) {
           const scheduleCan = schedule_arr.map(item => {
-            const temp = nend_arr.filter(it => {
+            const temp = need_arr.filter(it => {
               if (it.id === item.id) {
                 return (new Date(item.start).getTime() >= new Date(it.start).getTime() &&
                   new Date(item.end).getTime() < new Date(it.end).getTime())
@@ -1387,8 +1317,6 @@
         capacity_arr = this.filterOutTime(capacity_arr) // 杩囨护鎺夊綋鍓嶆椂闂翠箣鍓嶇殑涓嶈兘鎺掔▼
 
         for (const w in capacity_arr) {
-          let end_time
-          let mistiming
           const data = {
             id: capacity_arr[w].id,
             start: '',
@@ -1397,6 +1325,7 @@
             cl_name: this.cl_name,
             cl_code: this.cl_code,
             work_order: this.work_order,
+            AdvaScheUom: this.AdvaScheUom, // 鍗曚綅
             number: 0,
             real_number: 0
           }
@@ -1408,23 +1337,19 @@
           ) {
             if (data.id === id_obj.id) {
               data.start = this.MinutesTest(id_obj.start_time)
-
-              //  flag1 =1
             } else {
               data.start = capacity_arr[w].start
-
-              //  flag1 =1
             }
           } else {
             data.start = capacity_arr[w].start
           }
-          // let nowTime = this.timeTopTempData[0].AdvaDevicRhythm*all_num
-          let nowTime = (capacity_arr[w].rhythm * all_num) / capacity_arr[w].mod
 
-          end_time = this.formSeconds(nowTime, data.start)
+          let nowTime = (capacity_arr[w].rhythm * needNumber) / capacity_arr[w].mod
+
+          const end_time = this.formSeconds(nowTime, data.start)
 
           data.end = end_time
-          mistiming = this.compareTime(end_time, capacity_arr[w].end)
+          const 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
@@ -1432,6 +1357,7 @@
             data.end_num = true
 
             if (new Date(data.start) >= new Date(data.end)) {
+
             } else {
               this.timeTopTempData[i].gtArray.push(data)
             }
@@ -1439,21 +1365,12 @@
             return false
           } else {
             data.end = capacity_arr[w].end
-            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)
-            nowTime = (all_num - data.real_number) * capacity_arr[w].rhythm
-            all_num = all_num - data.real_number
+            nowTime = (needNumber - data.real_number) * capacity_arr[w].rhythm
+            needNumber = needNumber - data.real_number
 
-            //  nowTime = mistiming * -1
             if (new Date(data.start) >= new Date(data.end)) {
             } else {
               this.timeTopTempData[i].gtArray.push(data)
@@ -1485,7 +1402,7 @@
       const data = this.timeTopTempData
 
       const all = []
-      const list = this.title_list
+      const list = this.eqpTopTempData
       for (const i in data) {
         for (const j in data[i].gtArray) {
           all.push(data[i].gtArray[j])

--
Gitblit v1.9.3