From 32403d94889c69f17612ef7072aac5cadb78caf5 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期二, 07 二月 2023 15:16:52 +0800
Subject: [PATCH] 1.自动排程代码备份

---
 src/views/scgl/zdpc.vue       | 1125 ++++++++----
 src/views/scgl/zdpc_back2.vue | 1972 +++++++++++++++++++++++
 src/components/Test/index.vue |    2 
 src/views/scgl/zdpc_back3.vue | 1841 ++++++++++++++++++++++
 4 files changed, 4,541 insertions(+), 399 deletions(-)

diff --git a/src/components/Test/index.vue b/src/components/Test/index.vue
index 4c669e6..b2eb24a 100644
--- a/src/components/Test/index.vue
+++ b/src/components/Test/index.vue
@@ -36,7 +36,7 @@
           <span>浜у搧缂栫爜锛�</span><span>{{ item.cl_code }}</span>
         </li>
         <li>
-          <span>鐢熶骇鏁伴噺锛�</span><span>{{ item.number }}{{ item.STATUS }}</span>
+          <span>鐢熶骇鏁伴噺锛�</span><span>{{ item.number }}{{ item.AdvaScheUom }}</span>
         </li>
         <li>
           <span>鐢熶骇璁惧锛�</span><span>{{ item.id }}</span>
diff --git a/src/views/scgl/zdpc.vue b/src/views/scgl/zdpc.vue
index ccd2d3f..8c001e7 100644
--- a/src/views/scgl/zdpc.vue
+++ b/src/views/scgl/zdpc.vue
@@ -361,7 +361,7 @@
       /*
     鎺掔▼閮ㄥ垎鐨勫睘鎬�
     * */
-      show: false,
+
       pickerOptions1: {
         disabledDate(time) {
           return time.getTime() <= Date.now() - 24 * 60 * 60 * 1000
@@ -372,8 +372,8 @@
       all_status: true,
       look_data: [],
       look_total: 0,
-      cl_name: '',
-      cl_code: '',
+      cl_name: '', // 浜у搧鍚嶇О
+      cl_code: '', // 浜у搧缂栫爜
       work_order: '',
       false_arr: [],
       ckeckVal: true,
@@ -405,8 +405,8 @@
         types: 'N', // 鎺掔▼鏂瑰紡
         scale: 60, // 鏃堕棿鍒诲害
         times: 0, // 鎹㈠瀷鏃堕棿
-        real_num: 0, // 棰勬帓杩涘害
-        meter: 0// 鑺傛媿
+        real_num: 0, // 鍙帓鏁伴噺
+        meter: 0// 闇�鎺掓暟閲�
       },
 
       no: false,
@@ -469,8 +469,8 @@
         rows: 10,
         WorkTime: '',
         BotProceName: ''
-      }
-
+      },
+      time_all: null
     }
   },
   watch: {
@@ -610,7 +610,7 @@
       this.getOnclickAdvancedSchedulingDevice()
     },
     click_box(val) {
-      console.log(val, 567)
+      // console.log(val, 567)
       if (!val.status) {
         for (const i in this.facility_data) {
           const new_arr = []
@@ -681,22 +681,23 @@
     //   this.AdvancedSchedulingEquipmenTask()
     // },
     // 鐐瑰嚮甯﹀嚭鏁版嵁
-    async  getOnclickAdvancedSchedulingDevice() {
-      await this.facility_top()// 璁惧浼樺厛
-
+    getOnclickAdvancedSchedulingDevice() {
+      this.getOnclickAdvancedSchedulingDeviceTest()
+    },
+    async  getOnclickAdvancedSchedulingDeviceTest() {
       const res = await OnclickAdvancedSchedulingDevice(this.forms)
-      if (res.rus.Message) { this.$message.error(res.rus.Message) }
-      this.submit_flag = false
-      const list = []
-      this.time_all = res
+
+      const data = res.rows // 鎷垮埌鏁版嵁  瀵规暟鎹繘琛屾敼閫�
       const cont = res.Cont
-      this.formBottom.real_num = 0
-      for (const i in this.time_all.rows[0].children) {
+      this.title_list = []
+
+      data[0].children.forEach((item, index) => {
         const obj = {
           id: '',
           name: '',
-          AdvaDevicRhythm: '',
           status: true,
+          AdvaDevicRhythm: '',
+          // mod:'',
           colorPair: {
             dark: 'rgb(83, 186, 241,0.8)',
             light: 'rgb(83, 186, 241,0.1)',
@@ -706,208 +707,261 @@
           },
           gtArray: []
         }
-        obj.id = this.time_all.rows[0].children[i].AdvaDevicNumber
-        obj.name = this.time_all.rows[0].children[i].AdvaDevicName
-        obj.AdvaDevicRhythm = this.time_all.rows[0].children[
-          i
-        ].AdvaDevicRhythm
-        list.push(obj)
-      }
-      for (const i in this.time_all.rows) {
-        for (const j in this.time_all.rows[i].children) {
-          if (this.time_all.rows[i].children[j].OneStartDate != '') {
-            this.time_all.rows[i].children[
-              j
-            ].OneStartDate = this.time_all.rows[i].children[
+        obj.id = item.AdvaDevicNumber
+        obj.name = item.AdvaDevicName
+        obj.AdvaDevicRhythm = item.AdvaDevicRhythm
+        obj.mod = item.AdvaDevicCropMob * 1 // 鎹㈠瀷鏃堕棿
+        this.title_list.push(obj)
+      })
+
+      // 灏嗕簲涓椂闂存杩涜璧嬪��
+      for (const i in data) {
+        for (const j in data[i].children) {
+          // console.log(data[i].children, 101)
+          // 鍥犱负鏈変簲涓椂闂存 鎵�浠ヨ繘琛屼簲娆″垽鏂�   骞惰祴鍊�
+          if (data[i].children[j].OneStartDate != '') {
+            data[i].children[j].OneStartDate = data[i].children[
               j
             ].OneStartDate.split('~')
-            this.time_all.rows[i].children[j].OneStartDate[0] =
-              this.time_all.rows[i].YearDate +
-              ' ' +
-              this.time_all.rows[i].children[j].OneStartDate[0]
-            this.time_all.rows[i].children[j].OneStartDate[1] =
-              this.time_all.rows[i].YearDate +
-              ' ' +
-              this.time_all.rows[i].children[j].OneStartDate[1]
+            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]
           }
-          if (this.time_all.rows[i].children[j].TwoStartDate != '') {
-            this.time_all.rows[i].children[
-              j
-            ].TwoStartDate = this.time_all.rows[i].children[
+          if (data[i].children[j].TwoStartDate != '') {
+            data[i].children[j].TwoStartDate = data[i].children[
               j
             ].TwoStartDate.split('~')
-            this.time_all.rows[i].children[j].TwoStartDate[0] =
-              this.time_all.rows[i].YearDate +
-              ' ' +
-              this.time_all.rows[i].children[j].TwoStartDate[0]
-            this.time_all.rows[i].children[j].TwoStartDate[1] =
-              this.time_all.rows[i].YearDate +
-              ' ' +
-              this.time_all.rows[i].children[j].TwoStartDate[1]
+            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 (this.time_all.rows[i].children[j].ThreeStartDate != '') {
-            this.time_all.rows[i].children[
-              j
-            ].ThreeStartDate = this.time_all.rows[i].children[
+          if (data[i].children[j].ThreeStartDate != '') {
+            data[i].children[j].ThreeStartDate = data[i].children[
               j
             ].ThreeStartDate.split('~')
-            this.time_all.rows[i].children[j].ThreeStartDate[0] =
-              this.time_all.rows[i].YearDate +
+            data[i].children[j].ThreeStartDate[0] =
+              data[i].YearDate +
               ' ' +
-              this.time_all.rows[i].children[j].ThreeStartDate[0]
-            this.time_all.rows[i].children[j].ThreeStartDate[1] =
-              this.time_all.rows[i].YearDate +
+              data[i].children[j].ThreeStartDate[0]
+            data[i].children[j].ThreeStartDate[1] =
+              data[i].YearDate +
               ' ' +
-              this.time_all.rows[i].children[j].ThreeStartDate[1]
+              data[i].children[j].ThreeStartDate[1]
           }
-          if (this.time_all.rows[i].children[j].FourStartDate != '') {
-            this.time_all.rows[i].children[
-              j
-            ].FourStartDate = this.time_all.rows[i].children[
+          if (data[i].children[j].FourStartDate != '') {
+            data[i].children[j].FourStartDate = data[i].children[
               j
             ].FourStartDate.split('~')
-            this.time_all.rows[i].children[j].FourStartDate[0] =
-              this.time_all.rows[i].YearDate +
-              ' ' +
-              this.time_all.rows[i].children[j].FourStartDate[0]
-            this.time_all.rows[i].children[j].FourStartDate[1] =
-              this.time_all.rows[i].YearDate +
-              ' ' +
-              this.time_all.rows[i].children[j].FourStartDate[1]
+            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 (this.time_all.rows[i].children[j].FiveStartDate != '') {
-            this.time_all.rows[i].children[
-              j
-            ].FiveStartDate = this.time_all.rows[i].children[
+          if (data[i].children[j].FiveStartDate != '') {
+            data[i].children[j].FiveStartDate = data[i].children[
               j
             ].FiveStartDate.split('~')
-            this.time_all.rows[i].children[j].FiveStartDate[0] =
-              this.time_all.rows[i].YearDate +
-              ' ' +
-              this.time_all.rows[i].children[j].FiveStartDate[0]
-            this.time_all.rows[i].children[j].FiveStartDate[1] =
-              this.time_all.rows[i].YearDate +
-              ' ' +
-              this.time_all.rows[i].children[j].FiveStartDate[1]
+            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]
           }
         }
       }
-      // 缁勫悎鏂扮殑缁撴瀯
-      const newList = []
-      for (const i in this.time_all.rows) {
-        for (const j in this.time_all.rows[i].children) {
-          if (this.time_all.rows[i].children[j].OneStartDate != '') {
+
+      // 鏇存敼鏍煎紡    鏇存敼鎴愮粍浠堕噷闈㈡墍闇�瑕佺殑瀛楁鏍煎紡
+      this.facility_data = []
+
+      for (const i in data) {
+        const time = {
+          date: data[i].YearDate,
+          AdvaDevicRhythm: '',
+          gtArray: []
+        }
+        if (data[i].children != '') {
+          time.AdvaDevicRhythm = data[i].children[0].AdvaDevicRhythm
+        }
+        for (const j in data[i].children) {
+          if (data[i].children[j].OneStartDate != '') {
+            const icu1 = {
+              name: data[i].children[j].AdvaDevicName,
+              id: data[i].children[j].AdvaDevicNumber,
+              type: 'capacity',
+              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
+            }
+            time.gtArray.push(icu1)
+          }
+          if (data[i].children[j].TwoStartDate != '') {
+            const icu2 = {
+              name: data[i].children[j].AdvaDevicName,
+              id: data[i].children[j].AdvaDevicNumber,
+              type: 'capacity',
+              rhythm: data[i].children[j].AdvaDevicRhythm,
+              start: data[i].children[j].TwoStartDate[0],
+              end: data[i].children[j].TwoStartDate[1],
+              mod: (data[i].children[j].AdvaDevicCropMob * 1) / 100
+            }
+            time.gtArray.push(icu2)
+          }
+          if (data[i].children[j].ThreeStartDate != '') {
+            const icu3 = {
+              name: data[i].children[j].AdvaDevicName,
+              id: data[i].children[j].AdvaDevicNumber,
+              type: 'capacity',
+              rhythm: data[i].children[j].AdvaDevicRhythm,
+              start: data[i].children[j].ThreeStartDate[0],
+              end: data[i].children[j].ThreeStartDate[1],
+              mod: (data[i].children[j].AdvaDevicCropMob * 1) / 100
+            }
+            time.gtArray.push(icu3)
+          }
+          if (data[i].children[j].FourStartDate != '') {
+            const icu4 = {
+              name: data[i].children[j].AdvaDevicName,
+              id: data[i].children[j].AdvaDevicNumber,
+              type: 'capacity',
+              rhythm: data[i].children[j].AdvaDevicRhythm,
+              start: data[i].children[j].FourStartDate[0],
+              end: data[i].children[j].FourStartDate[1],
+              mod: (data[i].children[j].AdvaDevicCropMob * 1) / 100
+            }
+            time.gtArray.push(icu4)
+          }
+          if (data[i].children[j].FiveStartDate != '') {
+            const icu5 = {
+              name: data[i].children[j].AdvaDevicName,
+              id: data[i].children[j].AdvaDevicNumber,
+              type: 'capacity',
+              rhythm: data[i].children[j].AdvaDevicRhythm,
+              start: data[i].children[j].FiveStartDate[0],
+              end: data[i].children[j].FiveStartDate[1],
+              mod: (data[i].children[j].AdvaDevicCropMob * 1) / 100
+            }
+            time.gtArray.push(icu5)
+          }
+        }
+
+        this.facility_data.push(time)
+      }
+
+      const newList = [] // 缁勫悎鏂扮殑缁撴瀯
+      for (const i in data) {
+        for (const j in data[i].children) {
+          if (data[i].children[j].OneStartDate != '') {
             const data1 = {
               id: '',
               start: '',
               end: '',
               mod: ''
             }
-            data1.id = this.time_all.rows[i].children[j].AdvaDevicNumber
-            data1.start = this.time_all.rows[i].children[j].OneStartDate[0]
-            data1.end = this.time_all.rows[i].children[j].OneStartDate[1]
-            data1.mod =
-              (this.time_all.rows[i].children[j].AdvaDevicCropMob * 1) /
-              100
+
+            // name: data[i].children[j].AdvaDevicName,
+            // type: 'capacity',
+            // rhythm: data[i].children[j].AdvaDevicRhythm
+
+            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
             newList.push(data1)
           }
-          if (this.time_all.rows[i].children[j].TwoStartDate != '') {
+          if (data[i].children[j].TwoStartDate != '') {
             const data2 = {
               id: '',
               start: '',
               end: '',
               mod: ''
             }
-            data2.id = this.time_all.rows[i].children[j].AdvaDevicNumber
-            data2.start = this.time_all.rows[i].children[j].TwoStartDate[0]
-            data2.end = this.time_all.rows[i].children[j].TwoStartDate[1]
-            data2.mod =
-              (this.time_all.rows[i].children[j].AdvaDevicCropMob * 1) /
-              100
+            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
             newList.push(data2)
           }
-          if (this.time_all.rows[i].children[j].ThreeStartDate != '') {
+          if (data[i].children[j].ThreeStartDate != '') {
             const data3 = {
               id: '',
               start: '',
               end: '',
               mod: ''
             }
-            data3.id = this.time_all.rows[i].children[j].AdvaDevicNumber
-            data3.start = this.time_all.rows[i].children[
-              j
-            ].ThreeStartDate[0]
-            data3.end = this.time_all.rows[i].children[j].ThreeStartDate[1]
-            data3.mod =
-              (this.time_all.rows[i].children[j].AdvaDevicCropMob * 1) /
-              100
+            data3.id = data[i].children[j].AdvaDevicNumber
+            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
             newList.push(data3)
           }
-          if (this.time_all.rows[i].children[j].FourStartDate != '') {
+          if (data[i].children[j].FourStartDate != '') {
             const data4 = {
               id: '',
               start: '',
               end: '',
               mod: ''
             }
-            data4.id = this.time_all.rows[i].children[j].AdvaDevicNumber
-            data4.start = this.time_all.rows[i].children[
-              j
-            ].FourStartDate[0]
-            data4.end = this.time_all.rows[i].children[j].FourStartDate[1]
-            data4.mod =
-              (this.time_all.rows[i].children[j].AdvaDevicCropMob * 1) /
-              100
+            data4.id = data[i].children[j].AdvaDevicNumber
+            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
             newList.push(data4)
           }
-          if (this.time_all.rows[i].children[j].FiveStartDate != '') {
+          if (data[i].children[j].FiveStartDate != '') {
             const data5 = {
               id: '',
               start: '',
               end: '',
               mod: ''
             }
-            data5.id = this.time_all.rows[i].children[j].AdvaDevicNumber
-            data5.start = this.time_all.rows[i].children[
-              j
-            ].FiveStartDate[0]
-            data5.end = this.time_all.rows[i].children[j].FiveStartDate[1]
-            data5.mod =
-              (this.time_all.rows[i].children[j].AdvaDevicCropMob * 1) /
-              100
+            data5.id = data[i].children[j].AdvaDevicNumber
+            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
             newList.push(data5)
           }
         }
       }
-      for (const i in list) {
-        this.pushTiem(newList, list[i].id, list[i].gtArray)
+      // console.log(newList, 2)
+      console.log(this.title_list, 3) // 浠h〃鐨勬槸涔嬪墠鐨勬暟鎹�
+      for (const i in this.title_list) {
+        this.pushItem(newList, this.title_list[i].id, this.title_list[i].gtArray)
       }
-      this.bm_data = list
-      console.log(this.bm_data, 678)
-      const _this = this
+
+      this.bm_data = this.title_list
+      // 閽堝cont 涓嶄负 null 鏃讹紝鏁版嵁鏍兼暟杞寲
       if (cont != '') {
         for (const i in cont) {
           for (const j in this.bm_data) {
             if (this.bm_data[j].id == cont[i].eqp_code) {
               const data = {
+                // 闇�璺熷悗绔崗璋�  璋冩暣鍙傛暟  浜у搧缂栫爜銆佷骇鍝佸崟浣�(cl_code,AdvaScheUom)闇�鍚庣杩斿洖
                 id: cont[i].eqp_code,
                 number: cont[i].alloc_qty,
                 cl_name: cont[i].part_name,
-                cl_code: this.cl_code,
+                cl_code: this.cl_code, // 涓存椂
                 work_order: cont[i].wo_code,
-                STATUS: _this.AdvaScheUom,
-                // status: _this.AdvaScheUom,
+                AdvaScheUom: this.AdvaScheUom, // 鍗曚綅  //涓存椂
+                date: cont[i].time_start.split(' ')[0],
                 start: cont[i].time_start,
                 end: cont[i].time_end,
                 type: cont[i].status == 'S' ? 'h_schedule' : 'bm_schedule'
               }
               this.bm_data[j].flag = 'isCont'
               this.bm_data[j].gtArray.unshift(data)
+              if (this.facility_data[j].date == data.date) {
+                // console.log(data.date, 1)
+                // console.log(this.facility_data[j], 1)
+                this.facility_data[j].gtArray.unshift(data)
+              }
             }
           }
         }
       }
 
+      // 閽堝宸︿晶澶嶉�夋鐨勭姸鎬�  鏄惁閫変腑
       if (this.false_arr != '') {
         for (const j in this.bm_data) {
           if (this.false_arr.indexOf(this.bm_data[j].id) >= 0) {
@@ -916,9 +970,10 @@
           }
         }
       }
-
-      // this.$forceUpdate()
+      console.log(this.facility_data, 555)
+      console.log(this.bm_data, 556)
     },
+
     // 鎹㈠瀷鏃堕棿
     MinutesTest(time) {
       var sdate1 = new Date(time)
@@ -942,7 +997,7 @@
       return parseInt(date) + 1
     },
     // 鎻掑叆浜ц兘鏃堕棿娈�
-    pushTiem(newList, id, arr) {
+    pushItem(newList, id, arr) {
       for (const i in newList) {
         if (newList[i].id == id) {
           const data = {
@@ -956,57 +1011,39 @@
         }
       }
     },
-    getNowFormatDate() {
-      var date = new Date()
-      var seperator1 = '-'
-      var year = date.getFullYear()
-      var month = date.getMonth() + 1
-      // var strDate = date.getDate()+1;
-      var strDate = date.getDate()
-      if (month >= 1 && month <= 9) {
-        month = '0' + month
-      }
-      if (strDate >= 0 && strDate <= 9) {
-        strDate = '0' + strDate
-      }
-      var currentdate = year + seperator1 + month + seperator1 + strDate
-      return currentdate
-    },
     // 琛岀偣鍑讳簨浠�
     getCurrentRow(row) {
-      this.radioSelectedId = row.AdvaScheId
-      // this.show =true
-      this.formBottom.meter = row.AdvaScheQty * 1 - row.AdvaScheYPQty * 1 // 鍙互鍋氫釜鏁�
-      this.formBottom.scheDate = []
-      this.cl_name = row.AdvaSchePartName
-      this.cl_code = row.AdvaSchePartNumber
-      this.AdvaScheUom = row.AdvaScheUom
-      this.work_order = row.AdvaScheWorkCode
+      this.radioSelectedId = row.AdvaScheId // 鎺掔▼id璧嬪�肩粰閫変腑琛宨d
+      this.formBottom.meter = row.AdvaScheQty * 1 - row.AdvaScheYPQty * 1 // 闇�鎺掓暟閲� = 鏈帓绋嬫暟閲� - 宸叉帓绋嬫暟閲�
+      this.formBottom.scheDate = [] // 鎺掔▼鏃ユ湡缃┖
+      this.cl_name = row.AdvaSchePartName // 浜у搧鍚嶇О
+      this.cl_code = row.AdvaSchePartNumber // 浜у搧缂栫爜
+      this.AdvaScheUom = row.AdvaScheUom // 浜у搧鍗曚綅
+      this.work_order = row.AdvaScheWorkCode // 宸ュ崟缂栧彿
 
-      this.formBottom.scheDate.push(this.getNowFormatDate())
-      this.formBottom.scheDate.push(row.AdvaScheEndDate)
+      this.formBottom.scheDate.push(handleDatetime(new Date())) //  褰撳墠鏃ユ湡锛堜粖澶╋級
+      this.formBottom.scheDate.push(row.AdvaScheEndDate) //  瑕佹眰浜や粯鏃堕棿
       if (this.formBottom.scheDate != '') {
-        this.time_data[0] = this.formBottom.scheDate[0] + ' 00:00'
-        this.time_data[1] = this.formBottom.scheDate[1] + ' 23:59'
+        this.time_data[0] = this.formBottom.scheDate[0] + ' 00:00' // 鎺掔▼寮�濮嬫椂闂�
+        this.time_data[1] = this.formBottom.scheDate[1] + ' 23:59' // 鎺掔▼缁撴潫鏃堕棿
       }
-      this.forms.wocode = row.AdvaScheWorkCode
-      this.forms.wkshpcode = row.AdvaScheWorkShopid
-      this.forms.partcode = row.AdvaSchePartNumber
-      this.forms.botproccode = row.AdvaScheBotProcid
-      this.forms.startdate = this.getNowFormatDate()
-      this.forms.enddate = row.AdvaScheEndDate
+      this.forms.wocode = row.AdvaScheWorkCode // 宸ュ崟缂栧彿
+      this.forms.wkshpcode = row.AdvaScheWorkShopid // 杞﹂棿缂栫爜
+      this.forms.partcode = row.AdvaSchePartNumber // 浜у搧缂栫爜
+      this.forms.botproccode = row.AdvaScheBotProcid // 宸ヨ壓璺嚎缂栫爜
+      this.forms.startdate = handleDatetime(new Date()) // 褰撳墠鏃ユ湡锛堜粖澶╋級
+      this.forms.enddate = row.AdvaScheEndDate //  瑕佹眰浜や粯鏃堕棿
       this.getOnclickAdvancedSchedulingDevice()
-      this.formUpdata.WorkCode = row.AdvaScheWorkCode
-      this.formUpdata.BotProceCode = row.AdvaScheBotProcid
-      this.search_from.WorkTime =
-        this.getNowFormatDate() + '~' + row.AdvaScheEndDate
-      this.search_from.BotProceName = row.AdvaScheBotProcName
+      this.formUpdata.WorkCode = row.AdvaScheWorkCode // 宸ュ崟缂栧彿
+      this.formUpdata.BotProceCode = row.AdvaScheBotProcid // 宸ヨ壓璺嚎缂栫爜
+      this.search_from.WorkTime = handleDatetime(new Date()) + '~' + row.AdvaScheEndDate // 鎺掔▼鐨勬棩鏈�  寮�濮媬缁撴潫
+      this.search_from.BotProceName = row.AdvaScheBotProcName // 宸ュ簭鍚嶇О
     },
     // 鎻愪氦鎺掔▼
     async  click_yes() {
-      if (this.submit_flag) {
-        this.$message.error('鏁伴噺鏈帓瀹�,璇疯缃骇鑳芥椂闂�')
-      } else {
+      if (this.formBottom.real_num !== this.formBottom.meter) {
+        this.$message.error('鏁伴噺鏈帓瀹岋紝璇疯缃骇鑳芥椂闂达紒')
+      } else { // 棰勬帓杩涘害涓�100%   鏁伴噺宸叉帓瀹�
         const list = [] // 鎻愪氦鏁扮粍
         for (const i in this.bm_data) {
           const arr = []
@@ -1079,6 +1116,11 @@
         this.fun_time()
         this.change_num(this.bm_data)
       } else if (this.facility_data != '' && this.formBottom.types == 'Y') { // 鏃堕棿浼樺厛
+        // 杩欓儴鍒嗛�昏緫閲嶅啓   鐩墠鏈夐棶棰�
+
+        // this.fun_time()
+        // this.change_num(this.bm_data)
+
         this.time_nitalize()
         this.fun_facility()
         this.dataTransition()
@@ -1147,6 +1189,9 @@
           }
         }
       }
+
+      console.log(this.bm_data, 668)
+      // console.log(JSON.stringify(this.bm_data), 668)
     },
     fun_time() {
       let all_num = this.formBottom.meter
@@ -1209,18 +1254,13 @@
             number: 0,
             real_number: 0
           }
-          if (
-            id_obj.start_time != '' &&
-            flag1 == 0 &&
-            new Date(id_obj.start_time) >= new Date(capacity_arr[w].start)
-          ) {
+          if (id_obj.start_time != '' && flag1 == 0 && new Date(id_obj.start_time) >= new Date(capacity_arr[w].start)) {
             data.start = this.MinutesTest(id_obj.start_time)
             flag1 = 1
           } else {
             data.start = capacity_arr[w].start
           }
-          let nowTime =
-            (this.bm_data[i].AdvaDevicRhythm * all_num) / capacity_arr[w].mod
+          let nowTime = (this.bm_data[i].AdvaDevicRhythm * all_num) / capacity_arr[w].mod
           end_time = this.formSeconds(nowTime, data.start, capacity_arr[w].mod) // 鎬诲叡鐨勭粨鏉熸椂闂�
           data.end = end_time
           mistiming = this.formTime(
@@ -1229,12 +1269,12 @@
             capacity_arr[w].mod
           ) // 鎬诲叡鐨勭粨鏉熸椂闂�-褰撳墠鐨勭粨鏉熸椂闂� = 鍓╀笅澶氫箙鏃堕棿
           if (mistiming >= 0) {
-            console.log(
-              new Date(data.end) - new Date(data.start),
-              capacity_arr[w].mod,
-              this.bm_data[i].AdvaDevicRhythm,
-              '闃挎柉椤垮彂鏂拏鑺�'
-            )
+            // console.log(
+            //   new Date(data.end) - new Date(data.start),
+            //   capacity_arr[w].mod,
+            //   this.bm_data[i].AdvaDevicRhythm,
+            //   '闃挎柉椤垮彂鏂拏鑺�'
+            // )
             data.number =
               ((new Date(data.end) - new Date(data.start)) *
                 capacity_arr[w].mod) /
@@ -1280,6 +1320,7 @@
     },
     // 璁惧鎺掔▼鏂规硶
     fun_facility() {
+      // this.bm_data
       // 鎺掗櫎鏈嬀閫夐」
       for (const i in this.facility_data) {
         const newArr = []
@@ -1305,7 +1346,7 @@
         // let capacity_end = ''
         end_arr = this.facility_data[i].gtArray.filter(item => item.type == 'h_schedule')
         nend_arr = this.facility_data[i].gtArray.filter(item => item.type == 'capacity')
-        console.log(nend_arr)
+        // console.log(nend_arr)
         capacity_arr = JSON.parse(JSON.stringify(nend_arr))
         end_arr.forEach(item => {
           for (let i = 0; i < capacity_arr.length; i++) {
@@ -1316,7 +1357,7 @@
             }
           }
         })
-        console.log(capacity_arr, '澶цタ鐡�')
+        // console.log(capacity_arr, '澶цタ鐡�')
 
         if (!capacity_arr || capacity_arr.length == 0) break
         // const firstCapacity = capacity_arr[0]
@@ -1328,22 +1369,22 @@
           })
           return remain
         })
-        console.log(schedule_arr)
+        // console.log(schedule_arr)
         if (schedule_arr && schedule_arr.length > 0) {
           const scheduleCan = schedule_arr.map(item => {
             const capcity = nend_arr.filter(sitem => {
               return new Date(sitem.start).getTime() == new Date(item.start).getTime() &&
                 new Date(item.end).getTime() < new Date(sitem.end).getTime()
             })[0]
-            console.log('capacity', capcity)
+            // console.log('capacity', capcity)
             capcity.start = this.MinutesTest(item.end)
             return capcity
           })
           const newSchedule = JSON.parse(JSON.stringify(scheduleCan))
           capacity_arr = newSchedule.concat(capacity_arr)
         }
-        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)
@@ -1433,8 +1474,14 @@
         }
       }
     },
+    dataTransition2() {
+
+    },
     // 缁欒澶囪浆鎹㈡牸寮�
     dataTransition() {
+      console.log(this.bm_data, 800)
+      console.log(this.facility_data, 801)
+      console.log(this.title_list, 802)
       this.bm_data = []
       const data = this.facility_data
 
@@ -1448,210 +1495,492 @@
 
       for (const i in list) {
         list[i].gtArray = []
-        this.pushTiemsss(all, list[i].id, list[i].gtArray)
+        // this.pushTimes(all, list[i].id, list[i].gtArray)
+        all.forEach(j => {
+          if (j.id == list[i].id) {
+            list[i].gtArray.push(j)
+          }
+        })
       }
+      console.log(list, 805)
+      // for (const n in list) {
+      //   if (list[n].gtArray.length === 0) {
+      //     list[n].status = false
+      //   }
+      // }
 
-      for (const n in list) {
-        if (list[n].gtArray.length == 0) {
-          list[n].status = false
-        }
-      }
-
-      // console.log(list)
+      console.log(list)
       this.bm_data = list
+
+      // this.bm_data = [
+      //   {
+      //     'id': 'SB004',
+      //     'name': '榻胯疆绠辩粍浜岀嚎',
+      //     'status': true,
+      //     'AdvaDevicRhythm': '5.0',
+      //     'colorPair': {
+      //       'dark': 'rgb(83, 186, 241,0.8)',
+      //       'light': 'rgb(83, 186, 241,0.1)',
+      //       'light_capacity': 'rgb(209,239,237,0.8)',
+      //       'h_schedule': 'rgb(100,255,192,0.8)',
+      //       'scheduleing': 'rgb(20,182,231,0.8)'
+      //     },
+      //     'gtArray': [
+      //       {
+      //         'id': 'SB004',
+      //         'number': 224,
+      //         'cl_name': '8504鍏夋満',
+      //         'cl_code': '302',
+      //         'work_order': 'MO-2022-11-0032_1',
+      //         'AdvaScheUom': '鍙�',
+      //         'date': '2023-02-07',
+      //         'start': '2023-02-07 08:00:00',
+      //         'end': '2023-02-07 11:06:40',
+      //         'type': 'h_schedule'  // h_schedule浠h〃宸叉帓鐨勬椂闂�
+      //       }, {
+      //         'start': '2023-2-7 11:6:40',
+      //         'end': '2023-02-07 11:30',
+      //         'id': 'SB004',
+      //         'mod': 0.1,
+      //         'type': 'capacity'
+      //       }, {
+      //         'start': '2023-02-07 12:30',
+      //         'end': '2023-02-07 17:00',
+      //         'id': 'SB004',
+      //         'mod': 0.1,
+      //         'type': 'capacity'
+      //       }, {
+      //         'start': '2023-02-08 08:00',
+      //         'end': '2023-02-08 11:30',
+      //         'id': 'SB004',
+      //         'mod': 0.1,
+      //         'type': 'capacity'
+      //       }, {
+      //         'start': '2023-02-08 12:30',
+      //         'end': '2023-02-08 17:00',
+      //         'id': 'SB004',
+      //         'mod': 0.1,
+      //         'type': 'capacity'
+      //       }, {
+      //         'start': '2023-02-09 08:00',
+      //         'end': '2023-02-09 11:30',
+      //         'id': 'SB004',
+      //         'mod': 0.1,
+      //         'type': 'capacity'
+      //       }, {
+      //         'start': '2023-02-09 12:30',
+      //         'end': '2023-02-09 17:00',
+      //         'id': 'SB004',
+      //         'mod': 0.1,
+      //         'type': 'capacity'
+      //       }, {
+      //         'id': 'SB004',
+      //         'start': '2023-2-7 11:6:40',
+      //         'end': '2023-02-07 11:30',
+      //         'type': 'schedule',   // schedule 姝e湪鎺掔▼
+      //         'cl_name': '8504鍏夋満',
+      //         'cl_code': '302',
+      //         'work_order': 'MO-2022-11-0034_1',
+      //         'number': '28',
+      //         'real_number': 28
+      //       }, {
+      //         'id': 'SB004',
+      //         'start': '2023-02-07 12:30',
+      //         'end': '2023-02-07 17:00',
+      //         'type': 'schedule',
+      //         'cl_name': '8504鍏夋満',
+      //         'cl_code': '302',
+      //         'work_order': 'MO-2022-11-0034_1',
+      //         'number': '324',
+      //         'real_number': 324
+      //       }, {
+      //         'id': 'SB004',
+      //         'start': '2023-02-08 08:00',
+      //         'end': '2023-02-08 11:30',
+      //         'type': 'schedule',
+      //         'cl_name': '8504鍏夋満',
+      //         'cl_code': '302',
+      //         'work_order': 'MO-2022-11-0034_1',
+      //         'number': '252',
+      //         'real_number': 252
+      //       }, {
+      //         'id': 'SB004',
+      //         'start': '2023-02-08 12:30',
+      //         'end': '2023-02-08 17:00',
+      //         'type': 'schedule',
+      //         'cl_name': '8504鍏夋満',
+      //         'cl_code': '302',
+      //         'work_order': 'MO-2022-11-0034_1',
+      //         'number': '324',
+      //         'real_number': 324
+      //       }, {
+      //         'id': 'SB004',
+      //         'start': '2023-02-09 08:00',
+      //         'end': '2023-02-09 11:30',
+      //         'type': 'schedule',
+      //         'cl_name': '8504鍏夋満',
+      //         'cl_code': '302',
+      //         'work_order': 'MO-2022-11-0034_1',
+      //         'number': '252',
+      //         'real_number': 252
+      //       }, {
+      //         'id': 'SB004',
+      //         'start': '2023-02-09 12:30',
+      //         'end': '2023-02-09 17:00',
+      //         'type': 'schedule',
+      //         'cl_name': '8504鍏夋満',
+      //         'cl_code': '302',
+      //         'work_order': 'MO-2022-11-0034_1',
+      //         'number': '324',
+      //         'real_number': 324
+      //       }],
+      //     'mod': 10,
+      //     'flag': 'isCont'
+      //   },
+      //   {
+      //     'id': 'SB005',
+      //     'name': '涓绘満缁勪竴绾�',
+      //     'status': true,
+      //     'AdvaDevicRhythm': '15.0',
+      //     'colorPair': {
+      //       'dark': 'rgb(83, 186, 241,0.8)',
+      //       'light': 'rgb(83, 186, 241,0.1)',
+      //       'light_capacity': 'rgb(209,239,237,0.8)',
+      //       'h_schedule': 'rgb(100,255,192,0.8)',
+      //       'scheduleing': 'rgb(20,182,231,0.8)'
+      //     },
+      //     'gtArray': [{
+      //       'name': '涓绘満缁勪竴绾�',
+      //       'id': 'SB005',
+      //       'type': 'capacity',
+      //       'rhythm': '15.0',
+      //       'start': '2023-02-07 08:00',
+      //       'end': '2023-02-07 11:30',
+      //       'mod': 0.1
+      //     }, {
+      //       'name': '涓绘満缁勪竴绾�',
+      //       'id': 'SB005',
+      //       'type': 'capacity',
+      //       'rhythm': '15.0',
+      //       'start': '2023-02-07 12:30',
+      //       'end': '2023-02-07 17:00',
+      //       'mod': 0.1
+      //     }, {
+      //       'id': 'SB005',
+      //       'start': '2023-02-07 08:00',
+      //       'end': '2023-02-07 11:30',
+      //       'type': 'schedule',
+      //       'cl_name': '8504鍏夋満',
+      //       'cl_code': '302',
+      //       'work_order': 'MO-2022-11-0034_1',
+      //       'number': '84',
+      //       'real_number': 84
+      //     }, {
+      //       'id': 'SB005',
+      //       'start': '2023-02-07 12:30',
+      //       'end': '2023-02-07 17:00',
+      //       'type': 'schedule',
+      //       'cl_name': '8504鍏夋満',
+      //       'cl_code': '302',
+      //       'work_order': 'MO-2022-11-0034_1',
+      //       'number': '108',
+      //       'real_number': 108
+      //     }, {
+      //       'name': '涓绘満缁勪竴绾�',
+      //       'id': 'SB005',
+      //       'type': 'capacity',
+      //       'rhythm': '15.0',
+      //       'start': '2023-02-08 08:00',
+      //       'end': '2023-02-08 11:30',
+      //       'mod': 0.1
+      //     }, {
+      //       'name': '涓绘満缁勪竴绾�',
+      //       'id': 'SB005',
+      //       'type': 'capacity',
+      //       'rhythm': '15.0',
+      //       'start': '2023-02-08 12:30',
+      //       'end': '2023-02-08 17:00',
+      //       'mod': 0.1
+      //     }, {
+      //       'id': 'SB005',
+      //       'start': '2023-02-08 08:00',
+      //       'end': '2023-02-08 11:30',
+      //       'type': 'schedule',
+      //       'cl_name': '8504鍏夋満',
+      //       'cl_code': '302',
+      //       'work_order': 'MO-2022-11-0034_1',
+      //       'number': '84',
+      //       'real_number': 84
+      //     }, {
+      //       'id': 'SB005',
+      //       'start': '2023-02-08 12:30',
+      //       'end': '2023-02-08 17:00',
+      //       'type': 'schedule',
+      //       'cl_name': '8504鍏夋満',
+      //       'cl_code': '302',
+      //       'work_order': 'MO-2022-11-0034_1',
+      //       'number': '108',
+      //       'real_number': 108
+      //     }, {
+      //       'name': '涓绘満缁勪竴绾�',
+      //       'id': 'SB005',
+      //       'type': 'capacity',
+      //       'rhythm': '15.0',
+      //       'start': '2023-02-09 08:00',
+      //       'end': '2023-02-09 11:30',
+      //       'mod': 0.1
+      //     }, {
+      //       'name': '涓绘満缁勪竴绾�',
+      //       'id': 'SB005',
+      //       'type': 'capacity',
+      //       'rhythm': '15.0',
+      //       'start': '2023-02-09 12:30',
+      //       'end': '2023-02-09 17:00',
+      //       'mod': 0.1
+      //     }],
+      //     'mod': 10
+      //   }
+      //
+      // ]
+      //
+      // const a = [
+      //   {
+      //     'id': 'SB004',
+      //     'name': '榻胯疆绠辩粍浜岀嚎',
+      //     'status': true,
+      //     'AdvaDevicRhythm': '5.0',
+      //     'colorPair': {
+      //       'dark': 'rgb(83, 186, 241,0.8)',
+      //       'light': 'rgb(83, 186, 241,0.1)',
+      //       'light_capacity': 'rgb(209,239,237,0.8)',
+      //       'h_schedule': 'rgb(100,255,192,0.8)',
+      //       'scheduleing': 'rgb(20,182,231,0.8)'
+      //     },
+      //     'gtArray': [
+      //       {
+      //         'id': 'SB004',
+      //         'number': 224,
+      //         'cl_name': '8504鍏夋満',
+      //         'cl_code': '302',
+      //         'work_order': 'MO-2022-11-0032_1',
+      //         'AdvaScheUom': '鍙�',
+      //         'date': '2023-02-07',
+      //         'start': '2023-02-07 08:00:00',
+      //         'end': '2023-02-07 11:06:40',
+      //         'type': 'h_schedule'
+      //       }, {
+      //         'start': '2023-2-7 11:6:40',
+      //         'end': '2023-02-07 11:30',
+      //         'id': 'SB004',
+      //         'mod': 0.1,
+      //         'type': 'capacity'
+      //       }, {
+      //         'start': '2023-02-07 12:30',
+      //         'end': '2023-02-07 17:00',
+      //         'id': 'SB004',
+      //         'mod': 0.1,
+      //         'type': 'capacity'
+      //       }, {
+      //         'start': '2023-02-08 08:00',
+      //         'end': '2023-02-08 11:30',
+      //         'id': 'SB004',
+      //         'mod': 0.1,
+      //         'type': 'capacity'
+      //       }, {
+      //         'start': '2023-02-08 12:30',
+      //         'end': '2023-02-08 17:00',
+      //         'id': 'SB004',
+      //         'mod': 0.1,
+      //         'type': 'capacity'
+      //       }, {
+      //         'start': '2023-02-09 08:00',
+      //         'end': '2023-02-09 11:30',
+      //         'id': 'SB004',
+      //         'mod': 0.1,
+      //         'type': 'capacity'
+      //       }, {
+      //         'start': '2023-02-09 12:30',
+      //         'end': '2023-02-09 17:00',
+      //         'id': 'SB004',
+      //         'mod': 0.1,
+      //         'type': 'capacity'
+      //       }, {
+      //         'id': 'SB004',
+      //         'start': '2023-2-7 11:6:40',
+      //         'end': '2023-02-07 11:30',
+      //         'type': 'schedule',
+      //         'cl_name': '8504鍏夋満',
+      //         'cl_code': '302',
+      //         'work_order': 'MO-2022-11-0034_1',
+      //         'number': '28',
+      //         'real_number': 28
+      //       }, {
+      //         'id': 'SB004',
+      //         'start': '2023-02-07 12:30',
+      //         'end': '2023-02-07 17:00',
+      //         'type': 'schedule',
+      //         'cl_name': '8504鍏夋満',
+      //         'cl_code': '302',
+      //         'work_order': 'MO-2022-11-0034_1',
+      //         'number': '324',
+      //         'real_number': 324
+      //       }, {
+      //         'id': 'SB004',
+      //         'start': '2023-02-08 08:00',
+      //         'end': '2023-02-08 11:30',
+      //         'type': 'schedule',
+      //         'cl_name': '8504鍏夋満',
+      //         'cl_code': '302',
+      //         'work_order': 'MO-2022-11-0034_1',
+      //         'number': '252',
+      //         'real_number': 252
+      //       }, {
+      //         'id': 'SB004',
+      //         'start': '2023-02-08 12:30',
+      //         'end': '2023-02-08 17:00',
+      //         'type': 'schedule',
+      //         'cl_name': '8504鍏夋満',
+      //         'cl_code': '302',
+      //         'work_order': 'MO-2022-11-0034_1',
+      //         'number': '324',
+      //         'real_number': 324
+      //       }, {
+      //         'id': 'SB004',
+      //         'start': '2023-02-09 08:00',
+      //         'end': '2023-02-09 11:30',
+      //         'type': 'schedule',
+      //         'cl_name': '8504鍏夋満',
+      //         'cl_code': '302',
+      //         'work_order': 'MO-2022-11-0034_1',
+      //         'number': '252',
+      //         'real_number': 252
+      //       }, {
+      //         'id': 'SB004',
+      //         'start': '2023-02-09 12:30',
+      //         'end': '2023-02-09 17:00',
+      //         'type': 'schedule',
+      //         'cl_name': '8504鍏夋満',
+      //         'cl_code': '302',
+      //         'work_order': 'MO-2022-11-0034_1',
+      //         'number': '324',
+      //         'real_number': 324
+      //       }],
+      //     'mod': 10,
+      //     'flag': 'isCont'
+      //   },
+      //   {
+      //     'id': 'SB005',
+      //     'name': '涓绘満缁勪竴绾�',
+      //     'status': true,
+      //     'AdvaDevicRhythm': '15.0',
+      //     'colorPair': {
+      //       'dark': 'rgb(83, 186, 241,0.8)',
+      //       'light': 'rgb(83, 186, 241,0.1)',
+      //       'light_capacity': 'rgb(209,239,237,0.8)',
+      //       'h_schedule': 'rgb(100,255,192,0.8)',
+      //       'scheduleing': 'rgb(20,182,231,0.8)'
+      //     },
+      //     'gtArray': [{
+      //       'name': '涓绘満缁勪竴绾�',
+      //       'id': 'SB005',
+      //       'type': 'capacity',
+      //       'rhythm': '15.0',
+      //       'start': '2023-02-07 08:00',
+      //       'end': '2023-02-07 11:30',
+      //       'mod': 0.1
+      //     }, {
+      //       'name': '涓绘満缁勪竴绾�',
+      //       'id': 'SB005',
+      //       'type': 'capacity',
+      //       'rhythm': '15.0',
+      //       'start': '2023-02-07 12:30',
+      //       'end': '2023-02-07 17:00',
+      //       'mod': 0.1
+      //     }, {
+      //       'id': 'SB005',
+      //       'start': '2023-02-07 08:00',
+      //       'end': '2023-02-07 11:30',
+      //       'type': 'schedule',
+      //       'cl_name': '8504鍏夋満',
+      //       'cl_code': '302',
+      //       'work_order': 'MO-2022-11-0034_1',
+      //       'number': '84',
+      //       'real_number': 84
+      //     }, {
+      //       'id': 'SB005',
+      //       'start': '2023-02-07 12:30',
+      //       'end': '2023-02-07 17:00',
+      //       'type': 'schedule',
+      //       'cl_name': '8504鍏夋満',
+      //       'cl_code': '302',
+      //       'work_order': 'MO-2022-11-0034_1',
+      //       'number': '108',
+      //       'real_number': 108
+      //     }, {
+      //       'name': '涓绘満缁勪竴绾�',
+      //       'id': 'SB005',
+      //       'type': 'capacity',
+      //       'rhythm': '15.0',
+      //       'start': '2023-02-08 08:00',
+      //       'end': '2023-02-08 11:30',
+      //       'mod': 0.1
+      //     }, {
+      //       'name': '涓绘満缁勪竴绾�',
+      //       'id': 'SB005',
+      //       'type': 'capacity',
+      //       'rhythm': '15.0',
+      //       'start': '2023-02-08 12:30',
+      //       'end': '2023-02-08 17:00',
+      //       'mod': 0.1
+      //     }, {
+      //       'id': 'SB005',
+      //       'start': '2023-02-08 08:00',
+      //       'end': '2023-02-08 11:30',
+      //       'type': 'schedule',
+      //       'cl_name': '8504鍏夋満',
+      //       'cl_code': '302',
+      //       'work_order': 'MO-2022-11-0034_1',
+      //       'number': '84',
+      //       'real_number': 84
+      //     }, {
+      //       'id': 'SB005',
+      //       'start': '2023-02-08 12:30',
+      //       'end': '2023-02-08 17:00',
+      //       'type': 'schedule',
+      //       'cl_name': '8504鍏夋満',
+      //       'cl_code': '302',
+      //       'work_order': 'MO-2022-11-0034_1',
+      //       'number': '108',
+      //       'real_number': 108
+      //     }, {
+      //       'name': '涓绘満缁勪竴绾�',
+      //       'id': 'SB005',
+      //       'type': 'capacity',
+      //       'rhythm': '15.0',
+      //       'start': '2023-02-09 08:00',
+      //       'end': '2023-02-09 11:30',
+      //       'mod': 0.1
+      //     }, {
+      //       'name': '涓绘満缁勪竴绾�',
+      //       'id': 'SB005',
+      //       'type': 'capacity',
+      //       'rhythm': '15.0',
+      //       'start': '2023-02-09 12:30',
+      //       'end': '2023-02-09 17:00',
+      //       'mod': 0.1
+      //     }],
+      //     'mod': 10
+      //   }
+      //
+      // ]
+      //
+      // console.log(a, 803)
     },
     // 鎻掑叆浜ц兘鏃堕棿娈�
-    pushTiemsss(newList, id, arr) {
+    pushTimes(newList, id, arr) {
       for (const i in newList) {
         if (newList[i].id == id) {
           arr.push(newList[i])
-        }
-      }
-    },
-    // 璁惧浼樺厛
-    async  facility_top() {
-      const res = await OnclickAdvancedSchedulingDevice(this.forms)
-
-      this.show = true
-      const data = res.rows
-      const cont = res.Cont
-      this.title_list = []
-      for (const i in data[0].children) {
-        const obj = {
-          id: '',
-          name: '',
-          status: true,
-          AdvaDevicRhythm: '',
-          // mod:'',
-          colorPair: {
-            dark: 'rgb(83, 186, 241,0.8)',
-            light: 'rgb(83, 186, 241,0.1)',
-            light_capacity: 'rgb(209,239,237,0.8)',
-            h_schedule: 'rgb(100,255,192,0.8)',
-            scheduleing: 'rgb(20,182,231,0.8)'
-          },
-          gtArray: []
-        }
-        obj.id = data[0].children[i].AdvaDevicNumber
-        obj.name = data[0].children[i].AdvaDevicName
-        obj.AdvaDevicRhythm = data[0].children[i].AdvaDevicRhythm
-        // obj.mod =data[0].children[i].AdvaDevicCropMob *1
-
-        this.title_list.push(obj)
-      }
-      console.log(12321)
-      console.log(data, 1)
-      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]
-          }
-          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]
-          }
-        }
-      }
-      // 鏇存敼鏍煎紡
-      this.facility_data = []
-
-      for (const i in data) {
-        const time = {
-          date: data[i].YearDate,
-          AdvaDevicRhythm: '',
-          gtArray: []
-        }
-        if (data[i].children != '') {
-          time.AdvaDevicRhythm = data[i].children[0].AdvaDevicRhythm
-        }
-        for (const j in data[i].children) {
-          if (data[i].children[j].OneStartDate != '') {
-            const icu1 = {
-              name: data[i].children[j].AdvaDevicName,
-              id: data[i].children[j].AdvaDevicNumber,
-              type: 'capacity',
-              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
-            }
-            time.gtArray.push(icu1)
-          }
-          if (data[i].children[j].TwoStartDate != '') {
-            const icu2 = {
-              name: data[i].children[j].AdvaDevicName,
-              id: data[i].children[j].AdvaDevicNumber,
-              type: 'capacity',
-              rhythm: data[i].children[j].AdvaDevicRhythm,
-              start: data[i].children[j].TwoStartDate[0],
-              end: data[i].children[j].TwoStartDate[1],
-              mod: (data[i].children[j].AdvaDevicCropMob * 1) / 100
-            }
-            time.gtArray.push(icu2)
-          }
-          if (data[i].children[j].ThreeStartDate != '') {
-            const icu3 = {
-              name: data[i].children[j].AdvaDevicName,
-              id: data[i].children[j].AdvaDevicNumber,
-              type: 'capacity',
-              rhythm: data[i].children[j].AdvaDevicRhythm,
-              start: data[i].children[j].ThreeStartDate[0],
-              end: data[i].children[j].ThreeStartDate[1],
-              mod: (data[i].children[j].AdvaDevicCropMob * 1) / 100
-            }
-            time.gtArray.push(icu3)
-          }
-          if (data[i].children[j].FourStartDate != '') {
-            const icu4 = {
-              name: data[i].children[j].AdvaDevicName,
-              id: data[i].children[j].AdvaDevicNumber,
-              type: 'capacity',
-              rhythm: data[i].children[j].AdvaDevicRhythm,
-              start: data[i].children[j].FourStartDate[0],
-              end: data[i].children[j].FourStartDate[1],
-              mod: (data[i].children[j].AdvaDevicCropMob * 1) / 100
-            }
-            time.gtArray.push(icu4)
-          }
-          if (data[i].children[j].FiveStartDate != '') {
-            const icu5 = {
-              name: data[i].children[j].AdvaDevicName,
-              id: data[i].children[j].AdvaDevicNumber,
-              type: 'capacity',
-              rhythm: data[i].children[j].AdvaDevicRhythm,
-              start: data[i].children[j].FiveStartDate[0],
-              end: data[i].children[j].FiveStartDate[1],
-              mod: (data[i].children[j].AdvaDevicCropMob * 1) / 100
-            }
-            time.gtArray.push(icu5)
-          }
-        }
-
-        this.facility_data.push(time)
-      }
-
-      if (cont != '') {
-        for (const i in cont) {
-          const date_time = cont[i].time_start.split(' ')
-          const cont_date = date_time[0]
-          for (const j in this.facility_data) {
-            const data = {
-              id: cont[i].eqp_code,
-              date: cont_date,
-              number: cont[i].alloc_qty,
-              cl_name: cont[i].part_name,
-              cl_code: this.cl_code,
-              work_order: cont[i].wo_code,
-              start: cont[i].time_start,
-              end: cont[i].time_end,
-              type: 'h_schedule'
-            }
-            if (this.facility_data[j].date == data.date) {
-              this.facility_data[j].gtArray.unshift(data)
-            }
-          }
         }
       }
     },
diff --git a/src/views/scgl/zdpc_back2.vue b/src/views/scgl/zdpc_back2.vue
new file mode 100644
index 0000000..3aba281
--- /dev/null
+++ b/src/views/scgl/zdpc_back2.vue
@@ -0,0 +1,1972 @@
+<template>
+  <div>
+    <div class="body" :style="{height:mainHeight+'px'}">
+
+      <div class="bodyTopFormGroup" style="margin-top: 10px;padding-top: 10px">
+        <el-form
+          ref="form"
+          :model="formTop"
+          label-width="100px"
+          inline
+          style="display: flex;"
+        >
+          <div class="elForm">
+            <el-form-item label="杞﹂棿缂栫爜" style=" display: flex;">
+              <el-input v-model="formTop.workshop" placeholder="璇疯緭鍏�" style="width: 200px" />
+            </el-form-item>
+            <el-form-item label="鐢熶骇宸ュ崟鍙�" style=" display: flex;">
+              <el-input v-model="formTop.wocode" placeholder="璇疯緭鍏�" style="width: 200px" />
+            </el-form-item>
+            <el-form-item label="鐗╂枡缂栫爜" style=" display: flex;">
+              <el-input v-model="formTop.partcode" placeholder="璇疯緭鍏�" style="width: 200px" />
+            </el-form-item>
+            <el-form-item label="鐗╂枡鍚嶇О" style=" display: flex;">
+              <el-input v-model="formTop.partname" placeholder="璇疯緭鍏�" style="width: 200px" />
+            </el-form-item>
+          </div>
+          <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+          </div>
+        </el-form>
+        <div
+          class="bodyTopFormExpand"
+          style="height: 5px"
+        />
+      </div>
+
+      <div class="elTableDiv" style="margin-top: 0">
+        <el-table
+          ref="tableDataRef"
+          class="tableFixed"
+          :data="tableData"
+          :height="(tableHeight-400)+'px'"
+          border
+          :row-class-name="tableRowClassName"
+          :style="{width: 100+'%',height:(tableHeight-400)+'px',}"
+          highlight-current-row
+          :header-cell-style="this.$headerCellStyle"
+          :cell-style="this.$cellStyle"
+          @sort-change="sortChangeTop"
+          @row-click="getCurrentRow"
+        >
+          <!--          @row-click="rowClick"-->
+          <el-table-column
+            width="50"
+            fixed
+          >
+            <template slot-scope="{row}">
+              <el-radio
+                v-model="radioSelectedId"
+                :label="row.AdvaScheId"
+              />
+
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="RowNum"
+            width="50"
+            fixed
+            label="搴忓彿"
+          />
+          <el-table-column
+            prop="AdvaSchePiroQue"
+            show-tooltip-when-overflow
+            label="浼樺厛绾�"
+            width="90"
+            sortable="custom"
+          />
+          <el-table-column
+            prop="AdvaScheWorkShop"
+            label="鐢熶骇杞﹂棿"
+            width="110"
+            show-tooltip-when-overflow
+            sortable="custom"
+          />
+          <el-table-column
+            prop="AdvaScheWorkCode"
+            label="宸ュ崟缂栧彿"
+            min-width="160"
+            show-tooltip-when-overflow
+            sortable="custom"
+          />
+          <el-table-column
+            prop="AdvaSchePartNumber"
+            label="浜у搧缂栫爜"
+            min-width="110"
+            show-tooltip-when-overflow
+            sortable="custom"
+          >
+            <!--            <template slot-scope="{row}">-->
+            <!--              <div v-if="row.AdvaSchePartNumber">{{ row.AdvaSchePartNumber }}</div>-->
+            <!--              <div v-else>/</div>-->
+            <!--            </template>-->
+          </el-table-column>
+          <el-table-column
+            prop="AdvaSchePartName"
+            min-width="160"
+            show-tooltip-when-overflow
+            label="浜у搧鍚嶇О"
+            sortable="custom"
+          />
+          <el-table-column
+            prop="AdvaSchePartSpec"
+            label="浜у搧瑙勬牸"
+            width="110"
+            show-tooltip-when-overflow
+            sortable="custom"
+          >
+            <template slot-scope="{row}">
+              <div v-if="row.AdvaSchePartSpec">{{ row.AdvaSchePartSpec }}</div>
+              <div v-else>/</div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="AdvaScheQty"
+            label="鏁伴噺"
+            show-tooltip-when-overflow
+            width="110"
+            sortable="custom"
+          />
+          <el-table-column
+            prop="AdvaScheEndDate"
+            label="瑕佹眰浜や粯鏃堕棿"
+            sortable="custom"
+            show-tooltip-when-overflow
+            width="160"
+          />
+          <el-table-column
+            prop="AdvaScheStus"
+            label="鎺掔▼鐘舵��"
+            show-tooltip-when-overflow
+            width="110"
+            sortable="custom"
+          >
+            <template slot-scope="{row}">
+              <div v-if="row.AdvaScheStus==='NOSCHED'">寰呮帓绋�</div>
+              <div v-if="row.AdvaScheStus==='SCHED'">宸叉帓绋�</div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="AdvaScheBotProcName"
+            label="鎺掔▼宸ュ簭"
+            show-tooltip-when-overflow
+            width="110"
+            sortable="custom"
+          />
+          <el-table-column
+            prop="AdvaSchePCStartDate"
+            label="璁″垝鎺掔▼鏃堕棿"
+            width="200"
+            sortable="custom"
+            show-tooltip-when-overflow
+          >
+            <template slot-scope="{row}">
+              <div v-if="row.AdvaSchePCStartDate">{{ row.AdvaSchePCStartDate }} ~ {{ row.AdvaSchePCEndDate }} </div>
+              <div v-else>/</div>
+            </template>
+          </el-table-column>
+
+        </el-table>
+      </div>
+      <!--鍒嗛〉-->
+      <pagination
+        :total="totalTop"
+        :page.sync="formTop.page"
+        :limit.sync="formTop.rows"
+        align="right"
+        layout="total,prev, pager, next,sizes"
+        popper-class="select_bottom"
+        @pagination="getAdvancedSchedulingSearch"
+      />
+
+      <!--      鑷姩鎺掔▼閮ㄥ垎鐨勪唬鐮�-->
+      <div class="autoScheduling">
+
+        <div class="bodyTopFormGroup">
+          <el-form
+            ref="form"
+            :model="formBottom"
+            inline
+            label-width="100px"
+            style="display: flex;"
+          >
+            <div class="elForm">
+              <el-form-item label="鎺掔▼鏃ユ湡" style=" display: flex;">
+                <el-date-picker
+                  v-model="formBottom.scheDate"
+                  :disabled="radioSelectedId===''"
+                  type="daterange"
+                  range-separator="~"
+                  format="yyyy-MM-dd"
+                  value-format="yyyy-MM-dd"
+                  start-placeholder="寮�濮嬫棩鏈�"
+                  end-placeholder="缁撴潫鏃ユ湡"
+                  size="small"
+                  :picker-options="pickerOptions1"
+                  :clearable="false"
+                  @change="change_time"
+                />
+              </el-form-item>
+              <el-form-item label="鎺掔▼鏂瑰紡" style=" display: flex;">
+                <el-select v-model="formBottom.types" :disabled="radioSelectedId===''" style="width:120px" @change="changeTypes">
+                  <el-option value="N" label="璁惧浼樺厛" />
+                  <el-option value="Y" label="鏃堕棿浼樺厛" />
+                </el-select>
+              </el-form-item>
+              <el-form-item label="鏃堕棿鍒诲害(鍒嗛挓)" label-width="110" style=" display: flex;">
+                <el-select v-model.number="formBottom.scale" :disabled="radioSelectedId===''" style="width: 120px;">
+                  <el-option v-for="item in scaleList" :key="item" :value="item" :label="item" />
+                </el-select>
+
+              </el-form-item>
+              <el-form-item label="鎹㈠瀷鏃堕棿(鍒嗛挓)" label-width="110" style=" display: flex;">
+                <el-input
+                  id="scale"
+                  v-model="formBottom.times"
+                  :disabled="radioSelectedId===''"
+                  type="number"
+                  style="display:inline-block;width:80px;"
+                  @change="no_zero"
+                />
+              </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>
+              </el-form-item>
+            </div>
+            <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
+              <el-button
+                v-waves
+                :disabled="radioSelectedId===''"
+                type="primary"
+                icon="el-icon-document-remove"
+                @click="click_schedule"
+              >棰勬帓
+              </el-button>
+              <el-button
+                v-waves
+                type="primary"
+                :disabled="radioSelectedId===''"
+                icon="el-icon-document-checked"
+                @click="click_yes"
+              >鎻愪氦
+              </el-button>
+            </div>
+          </el-form>
+          <div
+            class="bodyTopFormExpand"
+            style="height: 5px"
+          />
+        </div>
+
+        <div class="container" style="margin: 10px;">
+          <v-gantt-chart
+            :start-time="time_data[0]"
+            :end-time="time_data[1]"
+            :cell-width="cellWidth"
+            :cell-height="cellHeight"
+            :time-lines="timeLines"
+            :title-height="titleHeight"
+            :scale="formBottom.scale"
+            :title-width="titleWidth"
+            show-current-time
+            :hide-header="hideHeader"
+            :data-key="dataKey"
+            :array-keys="arrayKeys"
+            :scroll-to-postion="positionA"
+            :datas="bm_data"
+            @scrollLeft="scrollLeftA"
+          >
+            <template slot="block" slot-scope="{data,item}">
+              <Test
+                :data="data"
+                :update-time-lines="updateTimeLines"
+                :cell-height="cellHeight"
+                :current-time="currentTime"
+                :item="item"
+              />
+            </template>
+            <template slot="left" slot-scope="{data}">
+              <div class="name">
+                <div class="carId">
+                  <el-checkbox
+                    v-model="data.status"
+                    style="margin-right:5px;"
+                    @change="click_box(data)"
+                  />
+                  {{ data.id }} {{ data.name }}
+                </div>
+                <div class="speed">
+                  <!--                  <el-tooltip class="item" effect="dark" content="鏌ョ湅" placement="top">-->
+                  <!--                    <el-button v-waves type="text" size="mini" @click="look(data)">-->
+                  <!--                      <i class="el-icon-document size i-color"  />-->
+                  <!--                    </el-button>-->
+                  <!--                  </el-tooltip>-->
+                </div>
+              </div>
+            </template>
+            <template slot="title">
+              <span class="tc">宸ヤ綅鍒楄〃</span>
+              <el-checkbox v-model="all_status" class="box_style" :disabled="radioSelectedId===''" @change="changeLift()" />
+              <input v-model.number="cellWidth" type="range" min="20" max="100" class="box_styles" :disabled="radioSelectedId===''">
+            </template>
+          </v-gantt-chart>
+        </div>
+      </div>
+
+    </div>
+
+  </div>
+</template>
+
+<script>
+import Pagination from '@/components/Pagination'
+import Test from '@/components/Test'
+import dayjs from 'dayjs'
+import { AdvancedSchedulingSearch, OnclickAdvancedSchedulingDevice, SubmitAlreadyScheduling } from '@/api/scgl'
+import { handleDatetime } from '@/utils/global'
+import waves from '@/directive/waves'
+
+const scaleList = `30,60,240,360`.split(',').map(n => parseInt(n))
+const timeList = `0,30,60,120,240,480`.split(',').map(n => parseInt(n))
+
+export default {
+  name: 'Zzjg',
+  components: {
+    Pagination, Test
+  },
+  directives: { waves },
+  data() {
+    return {
+      mouseHoverType: 'mouseout',
+      isExpandForm: false,
+      mainHeight: 0,
+      tableHeight: 0,
+      radioSelectedId: '', // 琛ㄥ崟鍗曢�夋
+      formTop: {
+        workshop: '', // 杞﹂棿缂栫爜
+        wocode: '', // 鐢熶骇宸ュ崟鍙�
+        partcode: '', // 鐗╂枡缂栫爜
+        partname: '', // 鐗╂枡鍚嶇О
+        prop: 'AdvaScheWorkCode', // 鎺掑簭瀛楁
+        order: 'desc', // 鎺掑簭瀛楁
+        page: 1, // 绗嚑椤�
+        rows: 20 // 姣忛〉澶氬皯鏉�
+      },
+      totalTop: 10,
+      tableData: [],
+      /*
+    鎺掔▼閮ㄥ垎鐨勫睘鎬�
+    * */
+      show: false,
+      pickerOptions1: {
+        disabledDate(time) {
+          return time.getTime() <= Date.now() - 24 * 60 * 60 * 1000
+        }
+      },
+
+      keep_data: [],
+      all_status: true,
+      look_data: [],
+      look_total: 0,
+      cl_name: '', // 浜у搧鍚嶇О
+      cl_code: '', // 浜у搧缂栫爜
+      work_order: '',
+      false_arr: [],
+      ckeckVal: true,
+      AdvaScheUom: '',
+      list: [],
+      form: {
+        WorkShop: '',
+        PartNumber: '',
+        PartName: '',
+        rows: 10,
+        page: 1
+      },
+      showDialog: false,
+      time_data: [[handleDatetime(new Date()) + ' 00:00:00'], [handleDatetime(new Date()) + ' 00:00:00']],
+      forms: {
+        wocode: '', // 宸ュ崟缂栧彿
+        wkshpcode: '', // 杞﹂棿缂栫爜
+        partcode: '', // 鐗╂枡缂栫爜
+        botproccode: '', // 鐡堕宸ュ簭缂栫爜(棣栭亾宸ュ簭)
+        startdate: '', // 寮�濮嬫棩鏈�
+        enddate: ''// 缁撴潫鏃ユ湡
+      },
+      click_one: 0,
+      datasC: [],
+      radio: '',
+
+      formBottom: {
+        scheDate: [handleDatetime(new Date()), handleDatetime(new Date())], // 鎺掔▼鏃ユ湡
+        types: 'N', // 鎺掔▼鏂瑰紡
+        scale: 60, // 鏃堕棿鍒诲害
+        times: 0, // 鎹㈠瀷鏃堕棿
+        real_num: 0, // 鍙帓鏁伴噺
+        meter: 0// 闇�鎺掓暟閲�
+      },
+
+      no: false,
+      total: 0,
+      mn_data: [],
+      bm_data: [],
+      facility_data: [],
+      end_start: '',
+      timeLines: [
+        {
+          time: dayjs()
+            .add(2, 'hour')
+            .toString()
+        },
+        {
+          time: dayjs()
+            .add(5, 'hour')
+            .toString(),
+          color: '#747e80'
+        }
+      ],
+      formUpdata: {
+        WorkCode: '',
+        BotProceCode: '',
+        json: []
+      },
+      currentTime: dayjs(),
+      startTime: dayjs()
+        .subtract(5, 'hour')
+        .toString(),
+      endTime: dayjs()
+        .add(2, 'day')
+        .add(2, 'hour')
+        .toString(),
+      cellWidth: 50,
+      cellHeight: 30,
+      titleHeight: 40,
+      titleWidth: 250,
+
+      // datasNum: 100,
+      datasA: [],
+      // datasB: mockDatas(100),
+      dataKey: 'id',
+
+      timeList: timeList,
+      scaleList: scaleList,
+      scrollToTime: dayjs()
+        .add(1, 'day')
+        .toString(),
+      scrollToPostion: { x: 10000, y: 10000 },
+      hideHeader: false,
+      arrayKeys: ['gtArray', 'error'],
+      scrollToY: 0,
+      positionB: {},
+      positionA: {},
+      title_list: [],
+      submit_flag: false,
+      search_from: {
+        page: 1,
+        rows: 10,
+        WorkTime: '',
+        BotProceName: ''
+      }
+
+    }
+  },
+  watch: {
+    // datasNum(newV) {
+    //   // this.datasA = mockDatas(newV)
+    //   // this.datasB = mockDatas(newV)
+    // },
+    scrollToY(val) {
+      this.positionA = { x: val }
+    }
+  },
+  created() {
+    const loading = this.$loading({
+      lock: true,
+      text: '姝e湪鍔犺浇鏁版嵁锛岃绋嶇瓑...',
+      spinner: 'el-icon-loading',
+      customClass: 'osloading',
+      background: 'rgba(0, 0, 0, 0.7)'
+    })
+    setTimeout(() => {
+      if (this.getAdvancedSchedulingSearch()) {
+        loading.close()
+      }
+    }, 3000)
+
+    // this.getAdvancedSchedulingSearch()
+  },
+  mounted() {
+    window.addEventListener('resize', this.getHeight)
+    this.getHeight()
+  },
+  methods: {
+    async   getAdvancedSchedulingSearch() {
+      const res = await AdvancedSchedulingSearch(this.formTop)
+      this.tableData = res.data
+      this.totalTop = res.count
+
+      return true
+    },
+    // 鎺掑簭鏀瑰彉鏃�
+    sortChangeTop({ column, prop, order }) {
+      if (order === 'descending') {
+        order = 'desc'
+      } else if (order === 'ascending') {
+        order = 'asc'
+      } else {
+        order = 'desc'
+      }
+      this.formTop.order = order
+      this.formTop.prop = prop
+      this.getAdvancedSchedulingSearch()
+    },
+    // 鏌ヨ
+    search() {
+      this.getAdvancedSchedulingSearch()
+    },
+    // 閲嶇疆
+    reset() {
+      this.formTop.workshop = ''
+      this.formTop.wocode = ''
+      this.formTop.partcode = ''
+      this.formTop.partname = ''
+      this.getAdvancedSchedulingSearch()
+    },
+    // 鑾峰彇椤甸潰楂樺害
+    getHeight() {
+      this.$nextTick(() => {
+        this.mainHeight = window.innerHeight - 85
+        this.tableHeight = this.mainHeight - 255
+        this.$refs.tableDataRef.doLayout()
+      })
+    },
+    tableRowClassName({ row, rowIndex }) {
+      return 'custom-row'
+    },
+    // 琛岀偣鍑讳簨浠�
+    // async   rowClick(row, event, column) {
+    //   this.radioSelectedId = row.AdvaScheId
+    //
+    //   // this.meter = row.AdvaScheQty * 1 - row.AdvaScheYPQty * 1 //鍙互鍋氫釜鏁�
+    //
+    //   const data = {
+    //     wocode: row.AdvaScheWorkCode,
+    //     wkshpcode: row.AdvaScheWorkShopid,
+    //     partcode: row.AdvaSchePartNumber,
+    //     botproccode: row.AdvaScheBotProcid,
+    //     startdate: handleDatetime(new Date()),
+    //     enddate: row.AdvaScheEndDate
+    //   }
+    //
+    //   const res = await OnclickAdvancedSchedulingDevice(data)
+    //   console.log(res)
+    // },
+
+    /*
+     鎺掔▼閮ㄥ垎鐨勬柟娉�
+     */
+    AdvancedSchedulingWorkShop() {
+      // automaticScheduling.AdvancedSchedulingWorkShop().then(res => {
+      //   this.list = res
+      // })
+    },
+    resetFormcx() {
+      this.$nextTick(() => {
+        this.$refs.form.resetFields()
+      })
+    },
+    no_zero() {
+      if (this.formBottom.times < 0) {
+        this.formBottom.times = 0
+      }
+    },
+    // 宸ヤ綅鍒楄〃澶嶉�夋鎿嶄綔
+    changeLift() {
+      if (this.all_status) {
+        this.false_arr = []
+        this.getOnclickAdvancedSchedulingDevice()
+      } else {
+        for (const i in this.bm_data) {
+          this.bm_data[i].status = false
+          this.bm_data[i].gtArray = []
+        }
+        for (const i in this.facility_data) {
+          this.facility_data[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()
+    },
+    click_box(val) {
+      console.log(val, 567)
+      if (!val.status) {
+        for (const i in this.facility_data) {
+          const new_arr = []
+          for (const j in this.facility_data[i].gtArray) {
+            if (this.facility_data[i].gtArray[j].id == val.id) {
+            } else {
+              new_arr.push(this.facility_data[i].gtArray[j])
+            }
+          }
+          this.facility_data[i].gtArray = new_arr
+        }
+      } else {
+        this.false_arr = []
+        for (const i in this.bm_data) {
+          if (!this.bm_data[i].status) {
+            this.false_arr.push(this.bm_data[i].id)
+          }
+        }
+        this.getOnclickAdvancedSchedulingDevice()
+      }
+
+      if (!val.status) {
+        for (const i in this.bm_data) {
+          if (!this.bm_data[i].status) {
+            this.bm_data[i].gtArray = []
+          }
+        }
+      } else {
+        this.false_arr = []
+        for (const i in this.bm_data) {
+          if (!this.bm_data[i].status) {
+            this.false_arr.push(this.bm_data[i].id)
+          }
+        }
+        this.getOnclickAdvancedSchedulingDevice()
+      }
+      for (const i in this.bm_data) {
+        const arr = []
+        for (const j in this.bm_data[i].gtArray) {
+          if (this.bm_data[i].gtArray[j].type != 'schedule') {
+            arr.push(this.bm_data[i].gtArray[j])
+          }
+        }
+        this.bm_data[i].gtArray = arr
+      }
+      this.formBottom.real_num = 0
+      // this.click_schedule()
+    },
+    look(data) {
+      this.showDialog = true
+      this.search_from.DeviceCode = data.id
+      this.AdvancedSchedulingEquipmenTask()
+    },
+    AdvancedSchedulingEquipmenTask() {
+      // automaticScheduling
+      //   .AdvancedSchedulingEquipmenTask(this.search_from)
+      //   .then(res => {
+      //     this.look_data = res.rows
+      //     this.look_total = res.total
+      //   })
+    },
+    // sizeChange_look(val) {
+    //   this.search_from.rows = val
+    //   this.AdvancedSchedulingEquipmenTask()
+    // },
+    // pageChange_look(val) {
+    //   this.search_from.page = val
+    //   this.AdvancedSchedulingEquipmenTask()
+    // },
+    // 鐐瑰嚮甯﹀嚭鏁版嵁
+    async  getOnclickAdvancedSchedulingDevice() {
+      await this.facility_top()// 璁惧浼樺厛
+      const res = await OnclickAdvancedSchedulingDevice(this.forms)
+      if (res.rus.Message) { this.$message.error(res.rus.Message) }
+      this.submit_flag = false
+      const list = []
+      this.time_all = res
+      const cont = res.Cont
+      this.formBottom.real_num = 0
+      for (const i in this.time_all.rows[0].children) {
+        const obj = {
+          id: '',
+          name: '',
+          AdvaDevicRhythm: '',
+          status: true,
+          colorPair: {
+            dark: 'rgb(83, 186, 241,0.8)',
+            light: 'rgb(83, 186, 241,0.1)',
+            light_capacity: 'rgb(209,239,237,0.8)',
+            h_schedule: 'rgb(100,255,192,0.8)',
+            scheduleing: 'rgb(20,182,231,0.8)'
+          },
+          gtArray: []
+        }
+        obj.id = this.time_all.rows[0].children[i].AdvaDevicNumber
+        obj.name = this.time_all.rows[0].children[i].AdvaDevicName
+        obj.AdvaDevicRhythm = this.time_all.rows[0].children[
+          i
+        ].AdvaDevicRhythm
+        list.push(obj)
+      }
+      for (const i in this.time_all.rows) {
+        for (const j in this.time_all.rows[i].children) {
+          if (this.time_all.rows[i].children[j].OneStartDate != '') {
+            this.time_all.rows[i].children[
+              j
+            ].OneStartDate = this.time_all.rows[i].children[
+              j
+            ].OneStartDate.split('~')
+            this.time_all.rows[i].children[j].OneStartDate[0] =
+              this.time_all.rows[i].YearDate +
+              ' ' +
+              this.time_all.rows[i].children[j].OneStartDate[0]
+            this.time_all.rows[i].children[j].OneStartDate[1] =
+              this.time_all.rows[i].YearDate +
+              ' ' +
+              this.time_all.rows[i].children[j].OneStartDate[1]
+          }
+          if (this.time_all.rows[i].children[j].TwoStartDate != '') {
+            this.time_all.rows[i].children[
+              j
+            ].TwoStartDate = this.time_all.rows[i].children[
+              j
+            ].TwoStartDate.split('~')
+            this.time_all.rows[i].children[j].TwoStartDate[0] =
+              this.time_all.rows[i].YearDate +
+              ' ' +
+              this.time_all.rows[i].children[j].TwoStartDate[0]
+            this.time_all.rows[i].children[j].TwoStartDate[1] =
+              this.time_all.rows[i].YearDate +
+              ' ' +
+              this.time_all.rows[i].children[j].TwoStartDate[1]
+          }
+          if (this.time_all.rows[i].children[j].ThreeStartDate != '') {
+            this.time_all.rows[i].children[
+              j
+            ].ThreeStartDate = this.time_all.rows[i].children[
+              j
+            ].ThreeStartDate.split('~')
+            this.time_all.rows[i].children[j].ThreeStartDate[0] =
+              this.time_all.rows[i].YearDate +
+              ' ' +
+              this.time_all.rows[i].children[j].ThreeStartDate[0]
+            this.time_all.rows[i].children[j].ThreeStartDate[1] =
+              this.time_all.rows[i].YearDate +
+              ' ' +
+              this.time_all.rows[i].children[j].ThreeStartDate[1]
+          }
+          if (this.time_all.rows[i].children[j].FourStartDate != '') {
+            this.time_all.rows[i].children[
+              j
+            ].FourStartDate = this.time_all.rows[i].children[
+              j
+            ].FourStartDate.split('~')
+            this.time_all.rows[i].children[j].FourStartDate[0] =
+              this.time_all.rows[i].YearDate +
+              ' ' +
+              this.time_all.rows[i].children[j].FourStartDate[0]
+            this.time_all.rows[i].children[j].FourStartDate[1] =
+              this.time_all.rows[i].YearDate +
+              ' ' +
+              this.time_all.rows[i].children[j].FourStartDate[1]
+          }
+          if (this.time_all.rows[i].children[j].FiveStartDate != '') {
+            this.time_all.rows[i].children[
+              j
+            ].FiveStartDate = this.time_all.rows[i].children[
+              j
+            ].FiveStartDate.split('~')
+            this.time_all.rows[i].children[j].FiveStartDate[0] =
+              this.time_all.rows[i].YearDate +
+              ' ' +
+              this.time_all.rows[i].children[j].FiveStartDate[0]
+            this.time_all.rows[i].children[j].FiveStartDate[1] =
+              this.time_all.rows[i].YearDate +
+              ' ' +
+              this.time_all.rows[i].children[j].FiveStartDate[1]
+          }
+        }
+      }
+      // 缁勫悎鏂扮殑缁撴瀯
+      const newList = []
+      for (const i in this.time_all.rows) {
+        for (const j in this.time_all.rows[i].children) {
+          if (this.time_all.rows[i].children[j].OneStartDate != '') {
+            const data1 = {
+              id: '',
+              start: '',
+              end: '',
+              mod: ''
+            }
+            data1.id = this.time_all.rows[i].children[j].AdvaDevicNumber
+            data1.start = this.time_all.rows[i].children[j].OneStartDate[0]
+            data1.end = this.time_all.rows[i].children[j].OneStartDate[1]
+            data1.mod =
+              (this.time_all.rows[i].children[j].AdvaDevicCropMob * 1) /
+              100
+            newList.push(data1)
+          }
+          if (this.time_all.rows[i].children[j].TwoStartDate != '') {
+            const data2 = {
+              id: '',
+              start: '',
+              end: '',
+              mod: ''
+            }
+            data2.id = this.time_all.rows[i].children[j].AdvaDevicNumber
+            data2.start = this.time_all.rows[i].children[j].TwoStartDate[0]
+            data2.end = this.time_all.rows[i].children[j].TwoStartDate[1]
+            data2.mod =
+              (this.time_all.rows[i].children[j].AdvaDevicCropMob * 1) /
+              100
+            newList.push(data2)
+          }
+          if (this.time_all.rows[i].children[j].ThreeStartDate != '') {
+            const data3 = {
+              id: '',
+              start: '',
+              end: '',
+              mod: ''
+            }
+            data3.id = this.time_all.rows[i].children[j].AdvaDevicNumber
+            data3.start = this.time_all.rows[i].children[
+              j
+            ].ThreeStartDate[0]
+            data3.end = this.time_all.rows[i].children[j].ThreeStartDate[1]
+            data3.mod =
+              (this.time_all.rows[i].children[j].AdvaDevicCropMob * 1) /
+              100
+            newList.push(data3)
+          }
+          if (this.time_all.rows[i].children[j].FourStartDate != '') {
+            const data4 = {
+              id: '',
+              start: '',
+              end: '',
+              mod: ''
+            }
+            data4.id = this.time_all.rows[i].children[j].AdvaDevicNumber
+            data4.start = this.time_all.rows[i].children[
+              j
+            ].FourStartDate[0]
+            data4.end = this.time_all.rows[i].children[j].FourStartDate[1]
+            data4.mod =
+              (this.time_all.rows[i].children[j].AdvaDevicCropMob * 1) /
+              100
+            newList.push(data4)
+          }
+          if (this.time_all.rows[i].children[j].FiveStartDate != '') {
+            const data5 = {
+              id: '',
+              start: '',
+              end: '',
+              mod: ''
+            }
+            data5.id = this.time_all.rows[i].children[j].AdvaDevicNumber
+            data5.start = this.time_all.rows[i].children[
+              j
+            ].FiveStartDate[0]
+            data5.end = this.time_all.rows[i].children[j].FiveStartDate[1]
+            data5.mod =
+              (this.time_all.rows[i].children[j].AdvaDevicCropMob * 1) /
+              100
+            newList.push(data5)
+          }
+        }
+      }
+      for (const i in list) {
+        this.pushTiem(newList, list[i].id, list[i].gtArray)
+      }
+      this.bm_data = list
+      console.log(this.bm_data, 678)
+      const _this = this
+      if (cont != '') {
+        for (const i in cont) {
+          for (const j in this.bm_data) {
+            if (this.bm_data[j].id == cont[i].eqp_code) {
+              const data = {
+                id: cont[i].eqp_code,
+                number: cont[i].alloc_qty,
+                cl_name: cont[i].part_name,
+                cl_code: this.cl_code,
+                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'
+              }
+              this.bm_data[j].flag = 'isCont'
+              this.bm_data[j].gtArray.unshift(data)
+            }
+          }
+        }
+      }
+
+      if (this.false_arr != '') {
+        for (const j in this.bm_data) {
+          if (this.false_arr.indexOf(this.bm_data[j].id) >= 0) {
+            this.bm_data[j].gtArray = []
+            this.bm_data[j].status = false
+          }
+        }
+      }
+
+      // this.$forceUpdate()
+    },
+    // 鎹㈠瀷鏃堕棿
+    MinutesTest(time) {
+      var sdate1 = new Date(time)
+      sdate1.setMinutes(sdate1.getMinutes() + this.formBottom.times * 1)
+      var now =
+        sdate1.getFullYear() +
+        '-' +
+        this.add_one(sdate1.getMonth()) +
+        '-' +
+        sdate1.getDate() +
+        ' ' +
+        sdate1.getHours() +
+        ':' +
+        sdate1.getMinutes() +
+        ':' +
+        sdate1.getSeconds()
+      return now
+    },
+    // +1
+    add_one(date) {
+      return parseInt(date) + 1
+    },
+    // 鎻掑叆浜ц兘鏃堕棿娈�
+    pushTiem(newList, id, arr) {
+      for (const i in newList) {
+        if (newList[i].id == id) {
+          const data = {
+            start: newList[i].start,
+            end: newList[i].end,
+            id: newList[i].id,
+            mod: newList[i].mod,
+            type: 'capacity'
+          }
+          arr.push(data)
+        }
+      }
+    },
+    // 琛岀偣鍑讳簨浠�
+    getCurrentRow(row) {
+      this.radioSelectedId = row.AdvaScheId // 鎺掔▼id璧嬪�肩粰閫変腑琛宨d
+
+      this.formBottom.meter = row.AdvaScheQty * 1 - row.AdvaScheYPQty * 1 // 闇�鎺掓暟閲� = 鏈帓绋嬫暟閲� - 宸叉帓绋嬫暟閲�
+      this.formBottom.scheDate = [] // 鎺掔▼鏃ユ湡缃┖
+      this.cl_name = row.AdvaSchePartName // 浜у搧鍚嶇О
+      this.cl_code = row.AdvaSchePartNumber // 浜у搧缂栫爜
+      this.AdvaScheUom = row.AdvaScheUom // 浜у搧鍗曚綅
+      this.work_order = row.AdvaScheWorkCode // 宸ュ崟缂栧彿
+
+      this.formBottom.scheDate.push(handleDatetime(new Date())) //  褰撳墠鏃ユ湡锛堜粖澶╋級
+      this.formBottom.scheDate.push(row.AdvaScheEndDate) //  瑕佹眰浜や粯鏃堕棿
+      if (this.formBottom.scheDate != '') {
+        this.time_data[0] = this.formBottom.scheDate[0] + ' 00:00' // 鎺掔▼寮�濮嬫椂闂�
+        this.time_data[1] = this.formBottom.scheDate[1] + ' 23:59' // 鎺掔▼缁撴潫鏃堕棿
+      }
+      this.forms.wocode = row.AdvaScheWorkCode // 宸ュ崟缂栧彿
+      this.forms.wkshpcode = row.AdvaScheWorkShopid // 杞﹂棿缂栫爜
+      this.forms.partcode = row.AdvaSchePartNumber // 浜у搧缂栫爜
+      this.forms.botproccode = row.AdvaScheBotProcid // 宸ヨ壓璺嚎缂栫爜
+      this.forms.startdate = handleDatetime(new Date()) // 褰撳墠鏃ユ湡锛堜粖澶╋級
+      this.forms.enddate = row.AdvaScheEndDate //  瑕佹眰浜や粯鏃堕棿
+      this.getOnclickAdvancedSchedulingDevice()
+      this.formUpdata.WorkCode = row.AdvaScheWorkCode // 宸ュ崟缂栧彿
+      this.formUpdata.BotProceCode = row.AdvaScheBotProcid // 宸ヨ壓璺嚎缂栫爜
+      this.search_from.WorkTime = handleDatetime(new Date()) + '~' + row.AdvaScheEndDate // 鎺掔▼鐨勬棩鏈�  寮�濮媬缁撴潫
+      this.search_from.BotProceName = row.AdvaScheBotProcName // 宸ュ簭鍚嶇О
+    },
+    // 鎻愪氦鎺掔▼
+    async  click_yes() {
+      if (this.submit_flag) {
+        this.$message.error('鏁伴噺鏈帓瀹�,璇疯缃骇鑳芥椂闂�')
+      } else {
+        const list = [] // 鎻愪氦鏁扮粍
+        for (const i in this.bm_data) {
+          const arr = []
+          for (const j in this.bm_data[i].gtArray) {
+            if (this.bm_data[i].gtArray[j].type == 'schedule') {
+              arr.push(this.bm_data[i].gtArray[j])
+            }
+          }
+          if (arr != '') {
+            for (const i in arr) {
+              const data = {
+                AlreDevicNumber: '',
+                AlreStartDate: '',
+                AlreEndDate: '',
+                AlreQty: ''
+              }
+              data.AlreDevicNumber = arr[i].id
+              data.AlreStartDate = arr[i].start
+              data.AlreEndDate = arr[i].end
+              data.AlreQty = arr[i].number
+              list.push(data)
+            }
+          }
+        }
+        // 鎺掔▼鐩稿悓璁惧鑾峰彇寮�濮嬫椂闂� 缁撴潫鏃堕棿 鏁伴噺鐨勬�诲拰
+        // 杩囨护
+        let updata = []
+        for (const i in list) {
+          if (list[i].AlreStartDate != '') {
+            updata.push(list[i])
+          }
+        }
+
+        updata = JSON.stringify(updata)
+        this.formUpdata.json = updata
+        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)
+
+        const res = await SubmitAlreadyScheduling(formData)
+
+        if (res.code === '200') {
+          this.$message.success(res.Message)
+        }
+
+        this.formBottom.meter = 0
+        this.formBottom.real_num = 0
+        await this.getOnclickAdvancedSchedulingDevice()
+        await this.getAdvancedSchedulingSearch()
+      }
+    },
+    // 鏃堕棿/璁惧浼樺厛鎺掔▼
+    click_schedule() {
+      const timestamp = new Date().toLocaleDateString()
+
+      if (new Date(this.formBottom.scheDate[1]) < new Date(timestamp)) {
+        this.$message.error('鎺掔▼鏃ユ湡涓嶅彲浠ュ皬浜庡綋鍓嶆椂闂�!')
+        return false
+      }
+
+      this.nitialize()// 鎵嬪姩杩囨护鎵�鏈夎澶囧凡鎺掔▼
+      // console.log(this.facility_data, 67890)
+      if (this.bm_data != '' && this.formBottom.types == 'N') { // 璁惧浼樺厛
+        this.fun_time()
+        this.change_num(this.bm_data)
+      } else if (this.facility_data != '' && this.formBottom.types == 'Y') { // 鏃堕棿浼樺厛
+        this.time_nitalize()
+        this.fun_facility()
+        this.dataTransition()
+        this.change_num(this.bm_data)
+      }
+      this.$forceUpdate()
+    },
+    // 鎵嬪姩杩囨护鎵�鏈夋椂闂村凡鎺掔▼
+    time_nitalize() {
+      for (const i in this.facility_data) {
+        this.facility_data[i].gtArray = this.facility_data[i].gtArray.filter(item => item.type != 'schedule')
+      }
+    },
+    // 鎵嬪姩杩囨护鎵�鏈夎澶囧凡鎺掔▼
+    nitialize() {
+      for (const i in this.bm_data) {
+        const newArr = []
+        for (const j in this.bm_data[i].gtArray) {
+          if (this.bm_data[i].gtArray[j].type != 'schedule') {
+            newArr.push(this.bm_data[i].gtArray[j])
+          }
+        }
+        this.bm_data[i].gtArray = newArr
+      }
+    },
+    // 缁欐帓绋嬫渶鍚庝竴涓慨鏀规暟閲�
+    change_num(arr) {
+      this.formBottom.real_num = 0 // 鐪熷疄宸叉帓鏁伴噺
+      let num = 0 // 鍙栨暣宸叉帓鏁伴噺
+      const arr_num = [] // 宸叉帓鏁版嵁
+      let mend_num = 0
+      const len = 0
+      for (const i in arr) {
+        for (const j in arr[i].gtArray) {
+          if (arr[i].gtArray[j].type == 'schedule') {
+            arr_num.unshift(arr[i].gtArray[j])
+          }
+        }
+      }
+
+      for (const n in arr_num) {
+        this.formBottom.real_num += 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
+      if (y10 <= 10) {
+        this.formBottom.real_num = this.formBottom.meter
+        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.bm_data) {
+        for (const j in this.bm_data[i].gtArray) {
+          if (
+            this.bm_data[i].gtArray[j].type == 'schedule' &&
+            this.bm_data[i].gtArray[j].end_num
+          ) {
+            this.bm_data[i].gtArray[j].number =
+              this.bm_data[i].gtArray[j].number * 1 + mend_num
+          }
+        }
+      }
+    },
+    fun_time() {
+      let all_num = this.formBottom.meter
+      const all_time = []
+      let flag1 = 0
+      const mod = this.bm_data[0].mod
+      //  let nowTime = this.bm_data[0].AdvaDevicRhythm*all_num
+      for (const i in this.bm_data) {
+        let end_arr = [] // 宸叉帓绋嬬殑鏁扮粍
+        let nend_arr = [] // 寰呮帓绋嬬殑鏁扮粍
+        const add_arr = [] // 宸叉帓绋嬬殑鏁扮粍
+        let capacity_arr = [] // 瑕佹帓绋嬬殑鏁扮粍
+        this.bm_data[i].gtArray.sort((a, b) => new Date(a.end).getTime() - new Date(b.end).getTime())
+        // let capacity_end = ''
+        end_arr = this.bm_data[i].gtArray.filter(item => item.type == 'h_schedule')
+        nend_arr = this.bm_data[i].gtArray.filter(item => item.type == 'capacity')
+        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()
+            })
+            if (schedule && schedule.length > 0) {
+              item.start = this.MinutesTest(schedule[0]['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()
+            })
+            if (schedule1 && schedule1.length > 0) {
+              item.capacity = false
+            }
+
+            return item
+          }).filter(item => item.capacity != false)
+        } else {
+          capacity_arr = nend_arr
+        }
+
+        const id_obj = {
+          id: '',
+          start_time: ''
+        }
+        if (end_arr != '') {
+          (id_obj.id = end_arr[0].id), (id_obj.start_time = end_arr[0].end)
+        }
+        for (const w in capacity_arr) {
+          let end_time = ''
+          let mistiming = ''
+          const data = {
+            id: capacity_arr[w].id,
+            start: '',
+            end: '',
+            type: 'schedule',
+            cl_name: this.cl_name,
+            cl_code: this.cl_code,
+            work_order: this.work_order,
+            number: 0,
+            real_number: 0
+          }
+          if (
+            id_obj.start_time != '' &&
+            flag1 == 0 &&
+            new Date(id_obj.start_time) >= new Date(capacity_arr[w].start)
+          ) {
+            data.start = this.MinutesTest(id_obj.start_time)
+            flag1 = 1
+          } else {
+            data.start = capacity_arr[w].start
+          }
+          let nowTime =
+            (this.bm_data[i].AdvaDevicRhythm * all_num) / capacity_arr[w].mod
+          end_time = this.formSeconds(nowTime, data.start, capacity_arr[w].mod) // 鎬诲叡鐨勭粨鏉熸椂闂�
+          data.end = end_time
+          mistiming = this.formTime(
+            end_time,
+            capacity_arr[w].end,
+            capacity_arr[w].mod
+          ) // 鎬诲叡鐨勭粨鏉熸椂闂�-褰撳墠鐨勭粨鏉熸椂闂� = 鍓╀笅澶氫箙鏃堕棿
+          if (mistiming >= 0) {
+            console.log(
+              new Date(data.end) - new Date(data.start),
+              capacity_arr[w].mod,
+              this.bm_data[i].AdvaDevicRhythm,
+              '闃挎柉椤垮彂鏂拏鑺�'
+            )
+            data.number =
+              ((new Date(data.end) - new Date(data.start)) *
+                capacity_arr[w].mod) /
+              this.bm_data[i].AdvaDevicRhythm /
+              1000
+            data.real_number =
+              ((new Date(data.end) - new Date(data.start)) *
+                capacity_arr[w].mod) /
+              this.bm_data[i].AdvaDevicRhythm /
+              1000
+            data.number = data.number.toFixed(0)
+            data.end_num = true
+            if (new Date(data.start) >= new Date(data.end)) {
+            } else {
+              this.bm_data[i].gtArray.push(data)
+            }
+
+            return false
+          } else {
+            data.end = capacity_arr[w].end
+            data.number =
+              ((new Date(data.end) - new Date(data.start)) *
+                capacity_arr[w].mod) /
+              this.bm_data[i].AdvaDevicRhythm /
+              1000
+            data.real_number =
+              ((new Date(data.end) - new Date(data.start)) *
+                capacity_arr[w].mod) /
+              this.bm_data[i].AdvaDevicRhythm /
+              1000
+            data.number = data.number.toFixed(0)
+
+            nowTime =
+              (all_num - data.real_number) * this.bm_data[i].AdvaDevicRhythm
+            all_num = all_num - data.real_number
+            if (new Date(data.start) >= new Date(data.end)) {
+            } else {
+              this.bm_data[i].gtArray.push(data)
+            }
+          }
+        }
+      }
+    },
+    // 璁惧鎺掔▼鏂规硶
+    fun_facility() {
+      // 鎺掗櫎鏈嬀閫夐」
+      for (const i in this.facility_data) {
+        const newArr = []
+        for (const j in this.facility_data[i].gtArray) {
+          if (this.false_arr.indexOf(this.facility_data[i].gtArray[j].id) < 0) {
+            newArr.push(this.facility_data[i].gtArray[j])
+          }
+        }
+        this.facility_data[i].gtArray = newArr
+      }
+      let all_num = this.formBottom.meter
+      const all_time = []
+      const flag1 = 0
+      // let nowTime = this.facility_data[0].AdvaDevicRhythm*all_num  //鏁伴噺OK
+
+      for (const i in this.facility_data) {
+        let end_arr = []
+        let nend_arr = [] // 鎺掔▼鐨勬暟缁�
+        const add_arr = [] // 宸叉帓绋嬬殑鏁扮粍
+        let capacity_arr = [] // 瑕佹帓绋嬬殑鏁扮粍
+
+        // this.facility_data[i].gtArray.sort((a,b) => new Date(a.end).getTime() - new Date(b.end).getTime())
+        // let capacity_end = ''
+        end_arr = this.facility_data[i].gtArray.filter(item => item.type == 'h_schedule')
+        nend_arr = this.facility_data[i].gtArray.filter(item => item.type == 'capacity')
+        console.log(nend_arr)
+        capacity_arr = JSON.parse(JSON.stringify(nend_arr))
+        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], '鍝囧搱鍝�')
+              capacity_arr.splice(i, 1)
+              break
+            }
+          }
+        })
+        console.log(capacity_arr, '澶цタ鐡�')
+
+        if (!capacity_arr || capacity_arr.length == 0) break
+        // const firstCapacity = capacity_arr[0]
+
+        const schedule_arr = end_arr.filter(item => {
+          const remain = nend_arr.some(sitem => {
+            return new Date(sitem.start).getTime() == new Date(item.start).getTime() &&
+              new Date(item.end).getTime() < new Date(sitem.end).getTime()
+          })
+          return remain
+        })
+        console.log(schedule_arr)
+        if (schedule_arr && schedule_arr.length > 0) {
+          const scheduleCan = schedule_arr.map(item => {
+            const capcity = nend_arr.filter(sitem => {
+              return new Date(sitem.start).getTime() == new Date(item.start).getTime() &&
+                new Date(item.end).getTime() < new Date(sitem.end).getTime()
+            })[0]
+            console.log('capacity', capcity)
+            capcity.start = this.MinutesTest(item.end)
+            return capcity
+          })
+          const newSchedule = JSON.parse(JSON.stringify(scheduleCan))
+          capacity_arr = newSchedule.concat(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)
+        }
+
+        for (const w in capacity_arr) {
+          let end_time
+          let mistiming
+          const data = {
+            id: capacity_arr[w].id,
+            start: '',
+            end: '',
+            type: 'schedule',
+            cl_name: this.cl_name,
+            cl_code: this.cl_code,
+            work_order: this.work_order,
+            number: 0,
+            real_number: 0
+          }
+          //  console.log(id_obj.start_time)
+          if (
+            id_obj &&
+            new Date(id_obj.start_time).getTime() >=
+            new Date(capacity_arr[w].start).getTime()
+          ) {
+            if (data.id == id_obj.id) {
+              data.start = this.MinutesTest(id_obj.start_time)
+              //  flag1 =1
+            } else {
+              data.start = capacity_arr[w].start
+              //  console.log(data.start)
+              //  flag1 =1
+            }
+          } else {
+            data.start = capacity_arr[w].start
+          }
+          // let nowTime = this.facility_data[0].AdvaDevicRhythm*all_num
+          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.formTime(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 = data.number.toFixed(0)
+            data.end_num = true
+
+            if (new Date(data.start) >= new Date(data.end)) {
+            } else {
+              this.facility_data[i].gtArray.push(data)
+            }
+
+            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 = data.number.toFixed(0)
+            nowTime = (all_num - data.real_number) * capacity_arr[w].rhythm
+            all_num = all_num - data.real_number
+
+            //  nowTime = mistiming * -1
+            if (new Date(data.start) >= new Date(data.end)) {
+            } else {
+              this.facility_data[i].gtArray.push(data)
+            }
+          }
+        }
+      }
+    },
+    // 缁欒澶囪浆鎹㈡牸寮�
+    dataTransition() {
+      this.bm_data = []
+      const data = this.facility_data
+
+      const all = []
+      const list = this.title_list
+      for (const i in data) {
+        for (const j in data[i].gtArray) {
+          all.push(data[i].gtArray[j])
+        }
+      }
+
+      for (const i in list) {
+        list[i].gtArray = []
+        this.pushTiemsss(all, list[i].id, list[i].gtArray)
+      }
+
+      for (const n in list) {
+        if (list[n].gtArray.length == 0) {
+          list[n].status = false
+        }
+      }
+
+      // console.log(list)
+      this.bm_data = list
+    },
+    // 鎻掑叆浜ц兘鏃堕棿娈�
+    pushTiemsss(newList, id, arr) {
+      for (const i in newList) {
+        if (newList[i].id == id) {
+          arr.push(newList[i])
+        }
+      }
+    },
+    // 璁惧浼樺厛
+    async  facility_top() {
+      const res = await OnclickAdvancedSchedulingDevice(this.forms)
+
+      this.show = true
+      const data = res.rows
+      const cont = res.Cont
+      this.title_list = []
+      for (const i in data[0].children) {
+        const obj = {
+          id: '',
+          name: '',
+          status: true,
+          AdvaDevicRhythm: '',
+          // mod:'',
+          colorPair: {
+            dark: 'rgb(83, 186, 241,0.8)',
+            light: 'rgb(83, 186, 241,0.1)',
+            light_capacity: 'rgb(209,239,237,0.8)',
+            h_schedule: 'rgb(100,255,192,0.8)',
+            scheduleing: 'rgb(20,182,231,0.8)'
+          },
+          gtArray: []
+        }
+        obj.id = data[0].children[i].AdvaDevicNumber
+        obj.name = data[0].children[i].AdvaDevicName
+        obj.AdvaDevicRhythm = data[0].children[i].AdvaDevicRhythm
+        // obj.mod =data[0].children[i].AdvaDevicCropMob *1
+
+        this.title_list.push(obj)
+      }
+      console.log(12321)
+      console.log(data, 1)
+      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]
+          }
+          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]
+          }
+        }
+      }
+      // 鏇存敼鏍煎紡
+      this.facility_data = []
+
+      for (const i in data) {
+        const time = {
+          date: data[i].YearDate,
+          AdvaDevicRhythm: '',
+          gtArray: []
+        }
+        if (data[i].children != '') {
+          time.AdvaDevicRhythm = data[i].children[0].AdvaDevicRhythm
+        }
+        for (const j in data[i].children) {
+          if (data[i].children[j].OneStartDate != '') {
+            const icu1 = {
+              name: data[i].children[j].AdvaDevicName,
+              id: data[i].children[j].AdvaDevicNumber,
+              type: 'capacity',
+              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
+            }
+            time.gtArray.push(icu1)
+          }
+          if (data[i].children[j].TwoStartDate != '') {
+            const icu2 = {
+              name: data[i].children[j].AdvaDevicName,
+              id: data[i].children[j].AdvaDevicNumber,
+              type: 'capacity',
+              rhythm: data[i].children[j].AdvaDevicRhythm,
+              start: data[i].children[j].TwoStartDate[0],
+              end: data[i].children[j].TwoStartDate[1],
+              mod: (data[i].children[j].AdvaDevicCropMob * 1) / 100
+            }
+            time.gtArray.push(icu2)
+          }
+          if (data[i].children[j].ThreeStartDate != '') {
+            const icu3 = {
+              name: data[i].children[j].AdvaDevicName,
+              id: data[i].children[j].AdvaDevicNumber,
+              type: 'capacity',
+              rhythm: data[i].children[j].AdvaDevicRhythm,
+              start: data[i].children[j].ThreeStartDate[0],
+              end: data[i].children[j].ThreeStartDate[1],
+              mod: (data[i].children[j].AdvaDevicCropMob * 1) / 100
+            }
+            time.gtArray.push(icu3)
+          }
+          if (data[i].children[j].FourStartDate != '') {
+            const icu4 = {
+              name: data[i].children[j].AdvaDevicName,
+              id: data[i].children[j].AdvaDevicNumber,
+              type: 'capacity',
+              rhythm: data[i].children[j].AdvaDevicRhythm,
+              start: data[i].children[j].FourStartDate[0],
+              end: data[i].children[j].FourStartDate[1],
+              mod: (data[i].children[j].AdvaDevicCropMob * 1) / 100
+            }
+            time.gtArray.push(icu4)
+          }
+          if (data[i].children[j].FiveStartDate != '') {
+            const icu5 = {
+              name: data[i].children[j].AdvaDevicName,
+              id: data[i].children[j].AdvaDevicNumber,
+              type: 'capacity',
+              rhythm: data[i].children[j].AdvaDevicRhythm,
+              start: data[i].children[j].FiveStartDate[0],
+              end: data[i].children[j].FiveStartDate[1],
+              mod: (data[i].children[j].AdvaDevicCropMob * 1) / 100
+            }
+            time.gtArray.push(icu5)
+          }
+        }
+
+        this.facility_data.push(time)
+      }
+
+      if (cont != '') {
+        for (const i in cont) {
+          const date_time = cont[i].time_start.split(' ')
+          const cont_date = date_time[0]
+          for (const j in this.facility_data) {
+            const data = {
+              id: cont[i].eqp_code,
+              date: cont_date,
+              number: cont[i].alloc_qty,
+              cl_name: cont[i].part_name,
+              cl_code: this.cl_code,
+              work_order: cont[i].wo_code,
+              start: cont[i].time_start,
+              end: cont[i].time_end,
+              type: 'h_schedule'
+            }
+            if (this.facility_data[j].date == data.date) {
+              this.facility_data[j].gtArray.unshift(data)
+            }
+          }
+        }
+      }
+    },
+    // 鎺掔▼鏂规硶
+    formSeconds(s1, start, mod) {
+      const nowData = new Date(start)
+      // 绠楀嚭褰撳墠鎺掔▼鐨勭粨鏉熸椂闂�
+      return this.transitionTime(
+        new Date(nowData.setSeconds(nowData.getSeconds() + s1))
+      )
+    },
+    // 杞寲鏍囧噯鏃堕棿
+    transitionTime(time) {
+      const d = new Date(time)
+      return (
+        d.getFullYear() +
+        '-' +
+        (d.getMonth() + 1) +
+        '-' +
+        d.getDate() +
+        ' ' +
+        d.getHours() +
+        ':' +
+        d.getMinutes() +
+        ':' +
+        d.getSeconds()
+      )
+    },
+    // 鏃堕棿姣旇緝
+    formTime(d1, d2, mod) {
+      // d1 鎺掗櫎缁撴潫鏃堕棿  d2 褰撳墠浜ц兘缁撴潫鏃堕棿
+      const time1 = new Date(d1)
+      const time2 = new Date(d2)
+      return parseInt(time2 - time1) / 1000
+    },
+    formatSeconds(value) {
+      var secondTime = parseInt(value) // 绉�
+      var minuteTime = 0 // 鍒�
+      var hourTime = 0 // 灏忔椂
+      if (secondTime > 60) {
+        // 濡傛灉绉掓暟澶т簬60锛屽皢绉掓暟杞崲鎴愭暣鏁�
+        // 鑾峰彇鍒嗛挓锛岄櫎浠�60鍙栨暣鏁帮紝寰楀埌鏁存暟鍒嗛挓
+        minuteTime = parseInt(secondTime / 60)
+        // 鑾峰彇绉掓暟锛岀鏁板彇浣橈紝寰楀埌鏁存暟绉掓暟
+        secondTime = parseInt(secondTime % 60)
+        // 濡傛灉鍒嗛挓澶т簬60锛屽皢鍒嗛挓杞崲鎴愬皬鏃�
+        if (minuteTime > 60) {
+          // 鑾峰彇灏忔椂锛岃幏鍙栧垎閽熼櫎浠�60锛屽緱鍒版暣鏁板皬鏃�
+          hourTime = parseInt(minuteTime / 60)
+          // 鑾峰彇灏忔椂鍚庡彇浣樼殑鍒嗭紝鑾峰彇鍒嗛挓闄や互60鍙栦綐鐨勫垎
+          minuteTime = parseInt(minuteTime % 60)
+        }
+      }
+      var result = '' + parseInt(secondTime) + ''
+
+      if (minuteTime > 0) {
+        result = '' + parseInt(minuteTime) + ':' + result
+      }
+      if (hourTime > 0) {
+        result = '' + parseInt(hourTime) + ':' + result
+      }
+      return result
+    },
+    updateTimeLines(timeA, timeB) {
+      this.timeLines = [
+        {
+          time: timeA
+        },
+        {
+          time: timeB,
+          color: '#747e80'
+        }
+      ]
+    },
+    scrollLeftA(val) {
+      this.positionB = { x: val }
+    },
+    scrollLeftB(val) {
+      this.positionA = { x: val }
+    },
+    // 璁剧疆鍒濆鍖栨暟鎹�
+    oneClick() {
+      // this.getCurrentRow(this.mn_data[0])
+    }
+
+  }
+}
+</script>
+<!--鎺掔▼閮ㄥ垎鐨勬牱寮�-->
+<style scoped>
+body {
+  font-size: 12px;
+  margin: 0;
+  padding: 0;
+  width: 100%;
+  height: 100%;
+}
+
+.box_style {
+  position: relative;
+  top: 40px;
+  left: -91px;
+}
+
+.box_styles {
+  position: relative;
+  top: 40px;
+  left: 0;
+}
+
+/*鑷姩鎺掔▼閮ㄥ垎*/
+.autoScheduling {
+  display: flex;
+  flex-direction: column;
+  /*padding: 0 10px;*/
+  /* height: calc(100vh - 100px); */
+  /*background-color: #f8f8fa;*/
+  background-color: #fff;
+  margin-top: 20px;
+  height: 490px;
+}
+
+label {
+  margin-left: 10px;
+}
+
+input {
+  width: 40px;
+  height: 20px;
+  vertical-align: middle;
+}
+
+input[type="range"] {
+  width: 100px;
+}
+
+.container {
+  display: flex;
+  flex-direction: column;
+  flex: 1;
+}
+
+.tc {
+  text-align: center;
+}
+
+.name {
+  display: flex;
+  box-sizing: border-box;
+  overflow: hidden;
+  height: 100%;
+  width: 100%;
+  padding: 0 5px 0 0;
+  border-radius: 8px 0 0 8px;
+  align-items: center;
+}
+
+.carId {
+  flex: 1;
+}
+
+.tc {
+  color: #909399;
+  font-size: 14px;
+}
+</style>
+
+<!--鍏叡椤甸潰鏍峰紡-->
+<style lang="scss" scoped>
+$main_color: #42b983;
+.elTableDiv {
+  ::v-deep .el-radio__label {
+    display: none;
+  }
+}
+
+::v-deep .el-button--text {
+  font-size: 14px;
+  cursor: pointer;
+}
+
+.el-icon-share, .el-icon-delete, .el-icon-edit-outline {
+  color: $main_color;
+  cursor: pointer;
+}
+
+.el-icon-edit-outline {
+  margin-right: 15px;
+}
+
+::v-deep .el-button--primary, .el-button--default, .el-button--info {
+  height: 34px;
+  display: flex;
+  align-items: center;
+  padding: 0 15px;
+}
+
+::v-deep .el-button--primary {
+  //background-color: $main_color !important;
+}
+
+::v-deep .el-button--default {
+  background-color: #f8f8fa;
+  border: none;
+}
+
+::v-deep .el-input__inner {
+  height: 34px;
+  line-height: 34px;
+  //color: #a7a7a7;
+}
+
+::v-deep .el-dialog__body {
+  padding: 20px 100px !important;
+}
+
+::v-deep .dialogVisibleRoles .el-dialog__body {
+  padding: 20px 20px !important;
+}
+
+::v-deep .importPickerClass .el-dialog__body {
+  padding: 20px 20px !important;
+}
+
+::v-deep .el-dialog__footer {
+  display: flex;
+  justify-content: flex-end;
+}
+
+::v-deep .el-table .caret-wrapper {
+  transform: scale(0.8);
+}
+
+::v-deep .cell {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+}
+
+::v-deep .el-table::before {
+  height: 0;
+}
+
+::v-deep .el-table__body-wrapper {
+  background-color: #f8f8fa;
+}
+
+::v-deep .el-table__body .el-table__row.hover-row td {
+  background-color: #eaecef;
+}
+
+::v-deep .el-form--inline .el-form-item__label {
+  color: #a7a7a7;
+}
+
+.body ::v-deep .el-divider {
+  border: 1px solid #eee;
+  width: 99%;
+  margin: 10px auto;
+}
+
+.body ::v-deep .el-form-item {
+  margin-bottom: 0;
+}
+
+.userDialogVisible ::v-deep .el-form-item {
+  margin-bottom: 0;
+}
+
+::v-deep .el-select__caret {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+
+.tableFixed {
+  ::v-deep .el-table__fixed-right {
+    height: 100% !important;
+  }
+
+  ::v-deep .el-table__fixed {
+    height: 100% !important;
+  }
+
+}
+
+::v-deep .gantt-header-title{
+  background-color: #fff;
+  //border-left: 1px solid #eee !important;
+  //border-bottom: 1px solid #eee !important;
+}
+
+</style>
+<style>
+
+.el-table .custom-row {
+  background: #f8f8fa;
+}
+
+</style>
+
+<!--<style>-->
+<!--input[type=range]:focus {-->
+<!--  display: none;-->
+<!--}-->
+
+<!--input[type=range] {-->
+<!--  -webkit-appearance: none;-->
+<!--  width: 500px;-->
+<!--  border-radius: 10px;-->
+<!--  /*杩欎釜灞炴�ц缃娇濉厖杩涘害鏉℃椂鐨勫浘褰负鍦嗚*/-->
+<!--}-->
+
+<!--input[type=range]::-webkit-slider-runnable-track {-->
+<!--  height: 20px;-->
+<!--  border-radius: 10px;-->
+<!--  /*灏嗚建閬撹涓哄渾瑙掔殑*/-->
+<!--  /* box-shadow: 0 1px 1px #def3f8, inset 0 .125em .125em #0d1112; */-->
+<!--  border: solid 1px red;-->
+<!--}-->
+
+<!--input[type=range]::-webkit-slider-thumb {-->
+<!--  -webkit-appearance: none;-->
+<!--  height: 30px;-->
+<!--  width: 120px;-->
+<!--  margin-top: -5px;-->
+<!--  /*浣挎粦鍧楄秴鍑鸿建閬撻儴鍒嗙殑鍋忕Щ閲忕浉绛�*/-->
+<!--  background: #ffffff;-->
+<!--  /* border-radius: 50%; */-->
+<!--  /*澶栬璁剧疆涓哄渾褰�*/-->
+<!--  border: solid 0.125em rgba(205, 224, 230, 0.5);-->
+<!--  /*璁剧疆杈规*/-->
+<!--  /* box-shadow: 0 .125em .125em #3b4547; */-->
+<!--  /*娣诲姞搴曢儴闃村奖*/-->
+<!--}-->
+<!--</style>-->
diff --git a/src/views/scgl/zdpc_back3.vue b/src/views/scgl/zdpc_back3.vue
new file mode 100644
index 0000000..98cca26
--- /dev/null
+++ b/src/views/scgl/zdpc_back3.vue
@@ -0,0 +1,1841 @@
+<template>
+  <div>
+    <div class="body" :style="{height:mainHeight+'px'}">
+
+      <div class="bodyTopFormGroup" style="margin-top: 10px;padding-top: 10px">
+        <el-form
+          ref="form"
+          :model="formTop"
+          label-width="100px"
+          inline
+          style="display: flex;"
+        >
+          <div class="elForm">
+            <el-form-item label="杞﹂棿缂栫爜" style=" display: flex;">
+              <el-input v-model="formTop.workshop" placeholder="璇疯緭鍏�" style="width: 200px" />
+            </el-form-item>
+            <el-form-item label="鐢熶骇宸ュ崟鍙�" style=" display: flex;">
+              <el-input v-model="formTop.wocode" placeholder="璇疯緭鍏�" style="width: 200px" />
+            </el-form-item>
+            <el-form-item label="鐗╂枡缂栫爜" style=" display: flex;">
+              <el-input v-model="formTop.partcode" placeholder="璇疯緭鍏�" style="width: 200px" />
+            </el-form-item>
+            <el-form-item label="鐗╂枡鍚嶇О" style=" display: flex;">
+              <el-input v-model="formTop.partname" placeholder="璇疯緭鍏�" style="width: 200px" />
+            </el-form-item>
+          </div>
+          <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
+            <el-button v-waves type="primary" icon="el-icon-search" @click="search">鏌ヨ</el-button>
+            <el-button v-waves type="info" icon="el-icon-refresh" @click="reset">閲嶇疆</el-button>
+          </div>
+        </el-form>
+        <div
+          class="bodyTopFormExpand"
+          style="height: 5px"
+        />
+      </div>
+
+      <div class="elTableDiv" style="margin-top: 0">
+        <el-table
+          ref="tableDataRef"
+          class="tableFixed"
+          :data="tableData"
+          :height="(tableHeight-400)+'px'"
+          border
+          :row-class-name="tableRowClassName"
+          :style="{width: 100+'%',height:(tableHeight-400)+'px',}"
+          highlight-current-row
+          :header-cell-style="this.$headerCellStyle"
+          :cell-style="this.$cellStyle"
+          @sort-change="sortChangeTop"
+          @row-click="getCurrentRow"
+        >
+          <!--          @row-click="rowClick"-->
+          <el-table-column
+            width="50"
+            fixed
+          >
+            <template slot-scope="{row}">
+              <el-radio
+                v-model="radioSelectedId"
+                :label="row.AdvaScheId"
+              />
+
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="RowNum"
+            width="50"
+            fixed
+            label="搴忓彿"
+          />
+          <el-table-column
+            prop="AdvaSchePiroQue"
+            show-tooltip-when-overflow
+            label="浼樺厛绾�"
+            width="90"
+            sortable="custom"
+          />
+          <el-table-column
+            prop="AdvaScheWorkShop"
+            label="鐢熶骇杞﹂棿"
+            width="110"
+            show-tooltip-when-overflow
+            sortable="custom"
+          />
+          <el-table-column
+            prop="AdvaScheWorkCode"
+            label="宸ュ崟缂栧彿"
+            min-width="160"
+            show-tooltip-when-overflow
+            sortable="custom"
+          />
+          <el-table-column
+            prop="AdvaSchePartNumber"
+            label="浜у搧缂栫爜"
+            min-width="110"
+            show-tooltip-when-overflow
+            sortable="custom"
+          >
+            <!--            <template slot-scope="{row}">-->
+            <!--              <div v-if="row.AdvaSchePartNumber">{{ row.AdvaSchePartNumber }}</div>-->
+            <!--              <div v-else>/</div>-->
+            <!--            </template>-->
+          </el-table-column>
+          <el-table-column
+            prop="AdvaSchePartName"
+            min-width="160"
+            show-tooltip-when-overflow
+            label="浜у搧鍚嶇О"
+            sortable="custom"
+          />
+          <el-table-column
+            prop="AdvaSchePartSpec"
+            label="浜у搧瑙勬牸"
+            width="110"
+            show-tooltip-when-overflow
+            sortable="custom"
+          >
+            <template slot-scope="{row}">
+              <div v-if="row.AdvaSchePartSpec">{{ row.AdvaSchePartSpec }}</div>
+              <div v-else>/</div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="AdvaScheQty"
+            label="鏁伴噺"
+            show-tooltip-when-overflow
+            width="110"
+            sortable="custom"
+          />
+          <el-table-column
+            prop="AdvaScheEndDate"
+            label="瑕佹眰浜や粯鏃堕棿"
+            sortable="custom"
+            show-tooltip-when-overflow
+            width="160"
+          />
+          <el-table-column
+            prop="AdvaScheStus"
+            label="鎺掔▼鐘舵��"
+            show-tooltip-when-overflow
+            width="110"
+            sortable="custom"
+          >
+            <template slot-scope="{row}">
+              <div v-if="row.AdvaScheStus==='NOSCHED'">寰呮帓绋�</div>
+              <div v-if="row.AdvaScheStus==='SCHED'">宸叉帓绋�</div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="AdvaScheBotProcName"
+            label="鎺掔▼宸ュ簭"
+            show-tooltip-when-overflow
+            width="110"
+            sortable="custom"
+          />
+          <el-table-column
+            prop="AdvaSchePCStartDate"
+            label="璁″垝鎺掔▼鏃堕棿"
+            width="200"
+            sortable="custom"
+            show-tooltip-when-overflow
+          >
+            <template slot-scope="{row}">
+              <div v-if="row.AdvaSchePCStartDate">{{ row.AdvaSchePCStartDate }} ~ {{ row.AdvaSchePCEndDate }} </div>
+              <div v-else>/</div>
+            </template>
+          </el-table-column>
+
+        </el-table>
+      </div>
+      <!--鍒嗛〉-->
+      <pagination
+        :total="totalTop"
+        :page.sync="formTop.page"
+        :limit.sync="formTop.rows"
+        align="right"
+        layout="total,prev, pager, next,sizes"
+        popper-class="select_bottom"
+        @pagination="getAdvancedSchedulingSearch"
+      />
+
+      <!--      鑷姩鎺掔▼閮ㄥ垎鐨勪唬鐮�-->
+      <div class="autoScheduling">
+
+        <div class="bodyTopFormGroup">
+          <el-form
+            ref="form"
+            :model="formBottom"
+            inline
+            label-width="100px"
+            style="display: flex;"
+          >
+            <div class="elForm">
+              <el-form-item label="鎺掔▼鏃ユ湡" style=" display: flex;">
+                <el-date-picker
+                  v-model="formBottom.scheDate"
+                  :disabled="radioSelectedId===''"
+                  type="daterange"
+                  range-separator="~"
+                  format="yyyy-MM-dd"
+                  value-format="yyyy-MM-dd"
+                  start-placeholder="寮�濮嬫棩鏈�"
+                  end-placeholder="缁撴潫鏃ユ湡"
+                  size="small"
+                  :picker-options="pickerOptions1"
+                  :clearable="false"
+                  @change="change_time"
+                />
+              </el-form-item>
+              <el-form-item label="鎺掔▼鏂瑰紡" style=" display: flex;">
+                <el-select v-model="formBottom.types" :disabled="radioSelectedId===''" style="width:120px" @change="changeTypes">
+                  <el-option value="N" label="璁惧浼樺厛" />
+                  <el-option value="Y" label="鏃堕棿浼樺厛" />
+                </el-select>
+              </el-form-item>
+              <el-form-item label="鏃堕棿鍒诲害(鍒嗛挓)" label-width="110" style=" display: flex;">
+                <el-select v-model.number="formBottom.scale" :disabled="radioSelectedId===''" style="width: 120px;">
+                  <el-option v-for="item in scaleList" :key="item" :value="item" :label="item" />
+                </el-select>
+
+              </el-form-item>
+              <el-form-item label="鎹㈠瀷鏃堕棿(鍒嗛挓)" label-width="110" style=" display: flex;">
+                <el-input
+                  id="scale"
+                  v-model="formBottom.times"
+                  :disabled="radioSelectedId===''"
+                  type="number"
+                  style="display:inline-block;width:80px;"
+                  @change="no_zero"
+                />
+              </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>
+              </el-form-item>
+            </div>
+            <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
+              <el-button
+                v-waves
+                :disabled="radioSelectedId===''"
+                type="primary"
+                icon="el-icon-document-remove"
+                @click="click_schedule"
+              >棰勬帓
+              </el-button>
+              <el-button
+                v-waves
+                type="primary"
+                :disabled="radioSelectedId===''"
+                icon="el-icon-document-checked"
+                @click="click_yes"
+              >鎻愪氦
+              </el-button>
+            </div>
+          </el-form>
+          <div
+            class="bodyTopFormExpand"
+            style="height: 5px"
+          />
+        </div>
+
+        <div class="container" style="margin: 10px;">
+          <v-gantt-chart
+            :start-time="time_data[0]"
+            :end-time="time_data[1]"
+            :cell-width="cellWidth"
+            :cell-height="cellHeight"
+            :time-lines="timeLines"
+            :title-height="titleHeight"
+            :scale="formBottom.scale"
+            :title-width="titleWidth"
+            show-current-time
+            :hide-header="hideHeader"
+            :data-key="dataKey"
+            :array-keys="arrayKeys"
+            :scroll-to-postion="positionA"
+            :datas="bm_data"
+            @scrollLeft="scrollLeftA"
+          >
+            <template slot="block" slot-scope="{data,item}">
+              <Test
+                :data="data"
+                :update-time-lines="updateTimeLines"
+                :cell-height="cellHeight"
+                :current-time="currentTime"
+                :item="item"
+              />
+            </template>
+            <template slot="left" slot-scope="{data}">
+              <div class="name">
+                <div class="carId">
+                  <el-checkbox
+                    v-model="data.status"
+                    style="margin-right:5px;"
+                    @change="click_box(data)"
+                  />
+                  {{ data.id }} {{ data.name }}
+                </div>
+                <div class="speed">
+                  <!--                  <el-tooltip class="item" effect="dark" content="鏌ョ湅" placement="top">-->
+                  <!--                    <el-button v-waves type="text" size="mini" @click="look(data)">-->
+                  <!--                      <i class="el-icon-document size i-color"  />-->
+                  <!--                    </el-button>-->
+                  <!--                  </el-tooltip>-->
+                </div>
+              </div>
+            </template>
+            <template slot="title">
+              <span class="tc">宸ヤ綅鍒楄〃</span>
+              <el-checkbox v-model="all_status" class="box_style" :disabled="radioSelectedId===''" @change="changeLift()" />
+              <input v-model.number="cellWidth" type="range" min="20" max="100" class="box_styles" :disabled="radioSelectedId===''">
+            </template>
+          </v-gantt-chart>
+        </div>
+      </div>
+
+    </div>
+
+  </div>
+</template>
+
+<script>
+import Pagination from '@/components/Pagination'
+import Test from '@/components/Test'
+import dayjs from 'dayjs'
+import { AdvancedSchedulingSearch, OnclickAdvancedSchedulingDevice, SubmitAlreadyScheduling } from '@/api/scgl'
+import { handleDatetime } from '@/utils/global'
+import waves from '@/directive/waves'
+
+const scaleList = `30,60,240,360`.split(',').map(n => parseInt(n))
+const timeList = `0,30,60,120,240,480`.split(',').map(n => parseInt(n))
+
+export default {
+  name: 'Zzjg',
+  components: {
+    Pagination, Test
+  },
+  directives: { waves },
+  data() {
+    return {
+      mouseHoverType: 'mouseout',
+      isExpandForm: false,
+      mainHeight: 0,
+      tableHeight: 0,
+      radioSelectedId: '', // 琛ㄥ崟鍗曢�夋
+      formTop: {
+        workshop: '', // 杞﹂棿缂栫爜
+        wocode: '', // 鐢熶骇宸ュ崟鍙�
+        partcode: '', // 鐗╂枡缂栫爜
+        partname: '', // 鐗╂枡鍚嶇О
+        prop: 'AdvaScheWorkCode', // 鎺掑簭瀛楁
+        order: 'desc', // 鎺掑簭瀛楁
+        page: 1, // 绗嚑椤�
+        rows: 20 // 姣忛〉澶氬皯鏉�
+      },
+      totalTop: 10,
+      tableData: [],
+      /*
+    鎺掔▼閮ㄥ垎鐨勫睘鎬�
+    * */
+
+      pickerOptions1: {
+        disabledDate(time) {
+          return time.getTime() <= Date.now() - 24 * 60 * 60 * 1000
+        }
+      },
+
+      keep_data: [],
+      all_status: true,
+      look_data: [],
+      look_total: 0,
+      cl_name: '', // 浜у搧鍚嶇О
+      cl_code: '', // 浜у搧缂栫爜
+      work_order: '',
+      false_arr: [],
+      ckeckVal: true,
+      AdvaScheUom: '',
+      list: [],
+      form: {
+        WorkShop: '',
+        PartNumber: '',
+        PartName: '',
+        rows: 10,
+        page: 1
+      },
+      showDialog: false,
+      time_data: [[handleDatetime(new Date()) + ' 00:00:00'], [handleDatetime(new Date()) + ' 00:00:00']],
+      forms: {
+        wocode: '', // 宸ュ崟缂栧彿
+        wkshpcode: '', // 杞﹂棿缂栫爜
+        partcode: '', // 鐗╂枡缂栫爜
+        botproccode: '', // 鐡堕宸ュ簭缂栫爜(棣栭亾宸ュ簭)
+        startdate: '', // 寮�濮嬫棩鏈�
+        enddate: ''// 缁撴潫鏃ユ湡
+      },
+      click_one: 0,
+      datasC: [],
+      radio: '',
+
+      formBottom: {
+        scheDate: [handleDatetime(new Date()), handleDatetime(new Date())], // 鎺掔▼鏃ユ湡
+        types: 'N', // 鎺掔▼鏂瑰紡
+        scale: 60, // 鏃堕棿鍒诲害
+        times: 0, // 鎹㈠瀷鏃堕棿
+        real_num: 0, // 鍙帓鏁伴噺
+        meter: 0// 闇�鎺掓暟閲�
+      },
+
+      no: false,
+      total: 0,
+      mn_data: [],
+      bm_data: [],
+      facility_data: [],
+      end_start: '',
+      timeLines: [
+        {
+          time: dayjs()
+            .add(2, 'hour')
+            .toString()
+        },
+        {
+          time: dayjs()
+            .add(5, 'hour')
+            .toString(),
+          color: '#747e80'
+        }
+      ],
+      formUpdata: {
+        WorkCode: '',
+        BotProceCode: '',
+        json: []
+      },
+      currentTime: dayjs(),
+      startTime: dayjs()
+        .subtract(5, 'hour')
+        .toString(),
+      endTime: dayjs()
+        .add(2, 'day')
+        .add(2, 'hour')
+        .toString(),
+      cellWidth: 50,
+      cellHeight: 30,
+      titleHeight: 40,
+      titleWidth: 250,
+
+      // datasNum: 100,
+      datasA: [],
+      // datasB: mockDatas(100),
+      dataKey: 'id',
+
+      timeList: timeList,
+      scaleList: scaleList,
+      scrollToTime: dayjs()
+        .add(1, 'day')
+        .toString(),
+      scrollToPostion: { x: 10000, y: 10000 },
+      hideHeader: false,
+      arrayKeys: ['gtArray', 'error'],
+      scrollToY: 0,
+      positionB: {},
+      positionA: {},
+      title_list: [],
+      submit_flag: false,
+      search_from: {
+        page: 1,
+        rows: 10,
+        WorkTime: '',
+        BotProceName: ''
+      },
+      time_all: null
+    }
+  },
+  watch: {
+    // datasNum(newV) {
+    //   // this.datasA = mockDatas(newV)
+    //   // this.datasB = mockDatas(newV)
+    // },
+    scrollToY(val) {
+      this.positionA = { x: val }
+    }
+  },
+  created() {
+    const loading = this.$loading({
+      lock: true,
+      text: '姝e湪鍔犺浇鏁版嵁锛岃绋嶇瓑...',
+      spinner: 'el-icon-loading',
+      customClass: 'osloading',
+      background: 'rgba(0, 0, 0, 0.7)'
+    })
+    setTimeout(() => {
+      if (this.getAdvancedSchedulingSearch()) {
+        loading.close()
+      }
+    }, 3000)
+
+    // this.getAdvancedSchedulingSearch()
+  },
+  mounted() {
+    window.addEventListener('resize', this.getHeight)
+    this.getHeight()
+  },
+  methods: {
+    async   getAdvancedSchedulingSearch() {
+      const res = await AdvancedSchedulingSearch(this.formTop)
+      this.tableData = res.data
+      this.totalTop = res.count
+
+      return true
+    },
+    // 鎺掑簭鏀瑰彉鏃�
+    sortChangeTop({ column, prop, order }) {
+      if (order === 'descending') {
+        order = 'desc'
+      } else if (order === 'ascending') {
+        order = 'asc'
+      } else {
+        order = 'desc'
+      }
+      this.formTop.order = order
+      this.formTop.prop = prop
+      this.getAdvancedSchedulingSearch()
+    },
+    // 鏌ヨ
+    search() {
+      this.getAdvancedSchedulingSearch()
+    },
+    // 閲嶇疆
+    reset() {
+      this.formTop.workshop = ''
+      this.formTop.wocode = ''
+      this.formTop.partcode = ''
+      this.formTop.partname = ''
+      this.getAdvancedSchedulingSearch()
+    },
+    // 鑾峰彇椤甸潰楂樺害
+    getHeight() {
+      this.$nextTick(() => {
+        this.mainHeight = window.innerHeight - 85
+        this.tableHeight = this.mainHeight - 255
+        this.$refs.tableDataRef.doLayout()
+      })
+    },
+    tableRowClassName({ row, rowIndex }) {
+      return 'custom-row'
+    },
+    // 琛岀偣鍑讳簨浠�
+    // async   rowClick(row, event, column) {
+    //   this.radioSelectedId = row.AdvaScheId
+    //
+    //   // this.meter = row.AdvaScheQty * 1 - row.AdvaScheYPQty * 1 //鍙互鍋氫釜鏁�
+    //
+    //   const data = {
+    //     wocode: row.AdvaScheWorkCode,
+    //     wkshpcode: row.AdvaScheWorkShopid,
+    //     partcode: row.AdvaSchePartNumber,
+    //     botproccode: row.AdvaScheBotProcid,
+    //     startdate: handleDatetime(new Date()),
+    //     enddate: row.AdvaScheEndDate
+    //   }
+    //
+    //   const res = await OnclickAdvancedSchedulingDevice(data)
+    //   console.log(res)
+    // },
+
+    /*
+     鎺掔▼閮ㄥ垎鐨勬柟娉�
+     */
+    AdvancedSchedulingWorkShop() {
+      // automaticScheduling.AdvancedSchedulingWorkShop().then(res => {
+      //   this.list = res
+      // })
+    },
+    resetFormcx() {
+      this.$nextTick(() => {
+        this.$refs.form.resetFields()
+      })
+    },
+    no_zero() {
+      if (this.formBottom.times < 0) {
+        this.formBottom.times = 0
+      }
+    },
+    // 宸ヤ綅鍒楄〃澶嶉�夋鎿嶄綔
+    changeLift() {
+      if (this.all_status) {
+        this.false_arr = []
+        this.getOnclickAdvancedSchedulingDevice()
+      } else {
+        for (const i in this.bm_data) {
+          this.bm_data[i].status = false
+          this.bm_data[i].gtArray = []
+        }
+        for (const i in this.facility_data) {
+          this.facility_data[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()
+    },
+    click_box(val) {
+      // console.log(val, 567)
+      if (!val.status) {
+        for (const i in this.facility_data) {
+          const new_arr = []
+          for (const j in this.facility_data[i].gtArray) {
+            if (this.facility_data[i].gtArray[j].id == val.id) {
+            } else {
+              new_arr.push(this.facility_data[i].gtArray[j])
+            }
+          }
+          this.facility_data[i].gtArray = new_arr
+        }
+      } else {
+        this.false_arr = []
+        for (const i in this.bm_data) {
+          if (!this.bm_data[i].status) {
+            this.false_arr.push(this.bm_data[i].id)
+          }
+        }
+        this.getOnclickAdvancedSchedulingDevice()
+      }
+
+      if (!val.status) {
+        for (const i in this.bm_data) {
+          if (!this.bm_data[i].status) {
+            this.bm_data[i].gtArray = []
+          }
+        }
+      } else {
+        this.false_arr = []
+        for (const i in this.bm_data) {
+          if (!this.bm_data[i].status) {
+            this.false_arr.push(this.bm_data[i].id)
+          }
+        }
+        this.getOnclickAdvancedSchedulingDevice()
+      }
+      for (const i in this.bm_data) {
+        const arr = []
+        for (const j in this.bm_data[i].gtArray) {
+          if (this.bm_data[i].gtArray[j].type != 'schedule') {
+            arr.push(this.bm_data[i].gtArray[j])
+          }
+        }
+        this.bm_data[i].gtArray = arr
+      }
+      this.formBottom.real_num = 0
+      // this.click_schedule()
+    },
+    look(data) {
+      this.showDialog = true
+      this.search_from.DeviceCode = data.id
+      this.AdvancedSchedulingEquipmenTask()
+    },
+    AdvancedSchedulingEquipmenTask() {
+      // automaticScheduling
+      //   .AdvancedSchedulingEquipmenTask(this.search_from)
+      //   .then(res => {
+      //     this.look_data = res.rows
+      //     this.look_total = res.total
+      //   })
+    },
+    // sizeChange_look(val) {
+    //   this.search_from.rows = val
+    //   this.AdvancedSchedulingEquipmenTask()
+    // },
+    // pageChange_look(val) {
+    //   this.search_from.page = val
+    //   this.AdvancedSchedulingEquipmenTask()
+    // },
+    // 鐐瑰嚮甯﹀嚭鏁版嵁
+    getOnclickAdvancedSchedulingDevice() {
+      this.getOnclickAdvancedSchedulingDeviceTest()
+    },
+    async  getOnclickAdvancedSchedulingDeviceTest() {
+      const res = await OnclickAdvancedSchedulingDevice(this.forms)
+
+      const data = res.rows // 鎷垮埌鏁版嵁  瀵规暟鎹繘琛屾敼閫�
+      const cont = res.Cont
+      this.title_list = []
+
+      data[0].children.forEach((item, index) => {
+        const obj = {
+          id: '',
+          name: '',
+          status: true,
+          AdvaDevicRhythm: '',
+          // mod:'',
+          colorPair: {
+            dark: 'rgb(83, 186, 241,0.8)',
+            light: 'rgb(83, 186, 241,0.1)',
+            light_capacity: 'rgb(209,239,237,0.8)',
+            h_schedule: 'rgb(100,255,192,0.8)',
+            scheduleing: 'rgb(20,182,231,0.8)'
+          },
+          gtArray: []
+        }
+        obj.id = item.AdvaDevicNumber
+        obj.name = item.AdvaDevicName
+        obj.AdvaDevicRhythm = item.AdvaDevicRhythm
+        obj.mod = item.AdvaDevicCropMob * 1 // 鎹㈠瀷鏃堕棿
+        this.title_list.push(obj)
+      })
+
+      // 灏嗕簲涓椂闂存杩涜璧嬪��
+      for (const i in data) {
+        for (const j in data[i].children) {
+          // console.log(data[i].children, 101)
+          // 鍥犱负鏈変簲涓椂闂存 鎵�浠ヨ繘琛屼簲娆″垽鏂�   骞惰祴鍊�
+          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]
+          }
+          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]
+          }
+        }
+      }
+
+      // 鏇存敼鏍煎紡    鏇存敼鎴愮粍浠堕噷闈㈡墍闇�瑕佺殑瀛楁鏍煎紡
+      this.facility_data = []
+
+      for (const i in data) {
+        const time = {
+          date: data[i].YearDate,
+          AdvaDevicRhythm: '',
+          gtArray: []
+        }
+        if (data[i].children != '') {
+          time.AdvaDevicRhythm = data[i].children[0].AdvaDevicRhythm
+        }
+        for (const j in data[i].children) {
+          if (data[i].children[j].OneStartDate != '') {
+            const icu1 = {
+              name: data[i].children[j].AdvaDevicName,
+              id: data[i].children[j].AdvaDevicNumber,
+              type: 'capacity',
+              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
+            }
+            time.gtArray.push(icu1)
+          }
+          if (data[i].children[j].TwoStartDate != '') {
+            const icu2 = {
+              name: data[i].children[j].AdvaDevicName,
+              id: data[i].children[j].AdvaDevicNumber,
+              type: 'capacity',
+              rhythm: data[i].children[j].AdvaDevicRhythm,
+              start: data[i].children[j].TwoStartDate[0],
+              end: data[i].children[j].TwoStartDate[1],
+              mod: (data[i].children[j].AdvaDevicCropMob * 1) / 100
+            }
+            time.gtArray.push(icu2)
+          }
+          if (data[i].children[j].ThreeStartDate != '') {
+            const icu3 = {
+              name: data[i].children[j].AdvaDevicName,
+              id: data[i].children[j].AdvaDevicNumber,
+              type: 'capacity',
+              rhythm: data[i].children[j].AdvaDevicRhythm,
+              start: data[i].children[j].ThreeStartDate[0],
+              end: data[i].children[j].ThreeStartDate[1],
+              mod: (data[i].children[j].AdvaDevicCropMob * 1) / 100
+            }
+            time.gtArray.push(icu3)
+          }
+          if (data[i].children[j].FourStartDate != '') {
+            const icu4 = {
+              name: data[i].children[j].AdvaDevicName,
+              id: data[i].children[j].AdvaDevicNumber,
+              type: 'capacity',
+              rhythm: data[i].children[j].AdvaDevicRhythm,
+              start: data[i].children[j].FourStartDate[0],
+              end: data[i].children[j].FourStartDate[1],
+              mod: (data[i].children[j].AdvaDevicCropMob * 1) / 100
+            }
+            time.gtArray.push(icu4)
+          }
+          if (data[i].children[j].FiveStartDate != '') {
+            const icu5 = {
+              name: data[i].children[j].AdvaDevicName,
+              id: data[i].children[j].AdvaDevicNumber,
+              type: 'capacity',
+              rhythm: data[i].children[j].AdvaDevicRhythm,
+              start: data[i].children[j].FiveStartDate[0],
+              end: data[i].children[j].FiveStartDate[1],
+              mod: (data[i].children[j].AdvaDevicCropMob * 1) / 100
+            }
+            time.gtArray.push(icu5)
+          }
+        }
+
+        this.facility_data.push(time)
+      }
+
+      const newList = [] // 缁勫悎鏂扮殑缁撴瀯
+      for (const i in data) {
+        for (const j in data[i].children) {
+          if (data[i].children[j].OneStartDate != '') {
+            const data1 = {
+              id: '',
+              start: '',
+              end: '',
+              mod: ''
+            }
+            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
+            newList.push(data1)
+          }
+          if (data[i].children[j].TwoStartDate != '') {
+            const data1 = {
+              id: '',
+              start: '',
+              end: '',
+              mod: ''
+            }
+            data1.id = data[i].children[j].AdvaDevicNumber
+            data1.start = data[i].children[j].TwoStartDate[0]
+            data1.end = data[i].children[j].TwoStartDate[1]
+            data1.mod = (data[i].children[j].AdvaDevicCropMob * 1) / 100
+            newList.push(data1)
+          }
+          if (data[i].children[j].ThreeStartDate != '') {
+            const data1 = {
+              id: '',
+              start: '',
+              end: '',
+              mod: ''
+            }
+            data1.id = data[i].children[j].AdvaDevicNumber
+            data1.start = data[i].children[j].ThreeStartDate[0]
+            data1.end = data[i].children[j].ThreeStartDate[1]
+            data1.mod = (data[i].children[j].AdvaDevicCropMob * 1) / 100
+            newList.push(data1)
+          }
+          if (data[i].children[j].FourStartDate != '') {
+            const data1 = {
+              id: '',
+              start: '',
+              end: '',
+              mod: ''
+            }
+            data1.id = data[i].children[j].AdvaDevicNumber
+            data1.start = data[i].children[j].FourStartDate[0]
+            data1.end = data[i].children[j].FourStartDate[1]
+            data1.mod = (data[i].children[j].AdvaDevicCropMob * 1) / 100
+            newList.push(data1)
+          }
+          if (data[i].children[j].FiveStartDate != '') {
+            const data1 = {
+              id: '',
+              start: '',
+              end: '',
+              mod: ''
+            }
+            data1.id = data[i].children[j].AdvaDevicNumber
+            data1.start = data[i].children[j].FiveStartDate[0]
+            data1.end = data[i].children[j].FiveStartDate[1]
+            data1.mod = (data[i].children[j].AdvaDevicCropMob * 1) / 100
+            newList.push(data1)
+          }
+        }
+      }
+
+      for (const i in this.title_list) {
+        this.pushItem(newList, this.title_list[i].id, this.title_list[i].gtArray)
+      }
+
+      this.bm_data = this.title_list
+      console.log(this.bm_data, 101)
+      console.log(this.facility_data, 102)
+      // 閽堝cont 涓嶄负 null 鏃讹紝鏁版嵁鏍兼暟杞寲
+      if (cont != '') {
+        for (const i in cont) {
+          for (const j in this.bm_data) {
+            if (this.bm_data[j].id == cont[i].eqp_code) {
+              const data = {
+                // 闇�璺熷悗绔崗璋�  璋冩暣鍙傛暟  浜у搧缂栫爜銆佷骇鍝佸崟浣�(cl_code,AdvaScheUom)闇�鍚庣杩斿洖
+                id: cont[i].eqp_code,
+                number: cont[i].alloc_qty,
+                cl_name: cont[i].part_name,
+                cl_code: this.cl_code, // 涓存椂
+                work_order: cont[i].wo_code,
+                AdvaScheUom: this.AdvaScheUom, // 鍗曚綅  //涓存椂
+                date: cont[i].time_start.split(' ')[0],
+                start: cont[i].time_start,
+                end: cont[i].time_end,
+                type: cont[i].status == 'S' ? 'h_schedule' : 'bm_schedule'
+              }
+              this.bm_data[j].flag = 'isCont'
+              this.bm_data[j].gtArray.unshift(data)
+              if (this.facility_data[j].date == data.date) {
+                console.log(data.date, 1)
+                console.log(this.facility_data[j], 1)
+                this.facility_data[j].gtArray.unshift(data)
+              }
+            }
+          }
+        }
+      }
+
+      console.log(this.bm_data, 666)
+      console.log(this.facility_data, 667)
+
+      // 閽堝宸︿晶澶嶉�夋鐨勭姸鎬�  鏄惁閫変腑
+      if (this.false_arr != '') {
+        for (const j in this.bm_data) {
+          if (this.false_arr.indexOf(this.bm_data[j].id) >= 0) {
+            this.bm_data[j].gtArray = []
+            this.bm_data[j].status = false
+          }
+        }
+      }
+
+      console.log(this.bm_data)
+    },
+
+    // 鎹㈠瀷鏃堕棿
+    MinutesTest(time) {
+      var sdate1 = new Date(time)
+      sdate1.setMinutes(sdate1.getMinutes() + this.formBottom.times * 1)
+      var now =
+        sdate1.getFullYear() +
+        '-' +
+        this.add_one(sdate1.getMonth()) +
+        '-' +
+        sdate1.getDate() +
+        ' ' +
+        sdate1.getHours() +
+        ':' +
+        sdate1.getMinutes() +
+        ':' +
+        sdate1.getSeconds()
+      return now
+    },
+    // +1
+    add_one(date) {
+      return parseInt(date) + 1
+    },
+    // 鎻掑叆浜ц兘鏃堕棿娈�
+    pushItem(newList, id, arr) {
+      for (const i in newList) {
+        if (newList[i].id == id) {
+          const data = {
+            start: newList[i].start,
+            end: newList[i].end,
+            id: newList[i].id,
+            mod: newList[i].mod,
+            type: 'capacity'
+          }
+          arr.push(data)
+        }
+      }
+    },
+    // 琛岀偣鍑讳簨浠�
+    getCurrentRow(row) {
+      this.radioSelectedId = row.AdvaScheId // 鎺掔▼id璧嬪�肩粰閫変腑琛宨d
+
+      this.formBottom.meter = row.AdvaScheQty * 1 - row.AdvaScheYPQty * 1 // 闇�鎺掓暟閲� = 鏈帓绋嬫暟閲� - 宸叉帓绋嬫暟閲�
+      this.formBottom.scheDate = [] // 鎺掔▼鏃ユ湡缃┖
+      this.cl_name = row.AdvaSchePartName // 浜у搧鍚嶇О
+      this.cl_code = row.AdvaSchePartNumber // 浜у搧缂栫爜
+      this.AdvaScheUom = row.AdvaScheUom // 浜у搧鍗曚綅
+      this.work_order = row.AdvaScheWorkCode // 宸ュ崟缂栧彿
+
+      this.formBottom.scheDate.push(handleDatetime(new Date())) //  褰撳墠鏃ユ湡锛堜粖澶╋級
+      this.formBottom.scheDate.push(row.AdvaScheEndDate) //  瑕佹眰浜や粯鏃堕棿
+      if (this.formBottom.scheDate != '') {
+        this.time_data[0] = this.formBottom.scheDate[0] + ' 00:00' // 鎺掔▼寮�濮嬫椂闂�
+        this.time_data[1] = this.formBottom.scheDate[1] + ' 23:59' // 鎺掔▼缁撴潫鏃堕棿
+      }
+      this.forms.wocode = row.AdvaScheWorkCode // 宸ュ崟缂栧彿
+      this.forms.wkshpcode = row.AdvaScheWorkShopid // 杞﹂棿缂栫爜
+      this.forms.partcode = row.AdvaSchePartNumber // 浜у搧缂栫爜
+      this.forms.botproccode = row.AdvaScheBotProcid // 宸ヨ壓璺嚎缂栫爜
+      this.forms.startdate = handleDatetime(new Date()) // 褰撳墠鏃ユ湡锛堜粖澶╋級
+      this.forms.enddate = row.AdvaScheEndDate //  瑕佹眰浜や粯鏃堕棿
+      this.getOnclickAdvancedSchedulingDevice()
+      this.formUpdata.WorkCode = row.AdvaScheWorkCode // 宸ュ崟缂栧彿
+      this.formUpdata.BotProceCode = row.AdvaScheBotProcid // 宸ヨ壓璺嚎缂栫爜
+      this.search_from.WorkTime = handleDatetime(new Date()) + '~' + row.AdvaScheEndDate // 鎺掔▼鐨勬棩鏈�  寮�濮媬缁撴潫
+      this.search_from.BotProceName = row.AdvaScheBotProcName // 宸ュ簭鍚嶇О
+    },
+    // 鎻愪氦鎺掔▼
+    async  click_yes() {
+      if (this.formBottom.real_num !== this.formBottom.meter) {
+        this.$message.error('鏁伴噺鏈帓瀹岋紝璇疯缃骇鑳芥椂闂达紒')
+      } else { // 棰勬帓杩涘害涓�100%   鏁伴噺宸叉帓瀹�
+        const list = [] // 鎻愪氦鏁扮粍
+        for (const i in this.bm_data) {
+          const arr = []
+          for (const j in this.bm_data[i].gtArray) {
+            if (this.bm_data[i].gtArray[j].type == 'schedule') {
+              arr.push(this.bm_data[i].gtArray[j])
+            }
+          }
+          if (arr != '') {
+            for (const i in arr) {
+              const data = {
+                AlreDevicNumber: '',
+                AlreStartDate: '',
+                AlreEndDate: '',
+                AlreQty: ''
+              }
+              data.AlreDevicNumber = arr[i].id
+              data.AlreStartDate = arr[i].start
+              data.AlreEndDate = arr[i].end
+              data.AlreQty = arr[i].number
+              list.push(data)
+            }
+          }
+        }
+        // 鎺掔▼鐩稿悓璁惧鑾峰彇寮�濮嬫椂闂� 缁撴潫鏃堕棿 鏁伴噺鐨勬�诲拰
+        // 杩囨护
+        let updata = []
+        for (const i in list) {
+          if (list[i].AlreStartDate != '') {
+            updata.push(list[i])
+          }
+        }
+
+        updata = JSON.stringify(updata)
+        this.formUpdata.json = updata
+        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)
+
+        const res = await SubmitAlreadyScheduling(formData)
+
+        if (res.code === '200') {
+          this.$message.success(res.Message)
+        }
+
+        this.formBottom.meter = 0
+        this.formBottom.real_num = 0
+        await this.getOnclickAdvancedSchedulingDevice()
+        await this.getAdvancedSchedulingSearch()
+      }
+    },
+    // 鏃堕棿/璁惧浼樺厛鎺掔▼
+    click_schedule() {
+      const timestamp = new Date().toLocaleDateString()
+
+      if (new Date(this.formBottom.scheDate[1]) < new Date(timestamp)) {
+        this.$message.error('鎺掔▼鏃ユ湡涓嶅彲浠ュ皬浜庡綋鍓嶆椂闂�!')
+        return false
+      }
+
+      this.nitialize()// 鎵嬪姩杩囨护鎵�鏈夎澶囧凡鎺掔▼
+      // console.log(this.facility_data, 67890)
+      if (this.bm_data != '' && this.formBottom.types == 'N') { // 璁惧浼樺厛
+        this.fun_time()
+        this.change_num(this.bm_data)
+      } else if (this.facility_data != '' && this.formBottom.types == 'Y') { // 鏃堕棿浼樺厛
+        this.time_nitalize()
+        this.fun_facility()
+        this.dataTransition()
+        this.change_num(this.bm_data)
+      }
+      this.$forceUpdate()
+    },
+    // 鎵嬪姩杩囨护鎵�鏈夋椂闂村凡鎺掔▼
+    time_nitalize() {
+      for (const i in this.facility_data) {
+        console.log(this.facility_data[i].gtArray, 669)
+        console.log(this.facility_data[i].gtArray.filter(item => item.type != 'schedule'), 670)
+        this.facility_data[i].gtArray = this.facility_data[i].gtArray.filter(item => item.type != 'schedule')
+      }
+    },
+    // 鎵嬪姩杩囨护鎵�鏈夎澶囧凡鎺掔▼
+    nitialize() {
+      for (const i in this.bm_data) {
+        const newArr = []
+        for (const j in this.bm_data[i].gtArray) {
+          if (this.bm_data[i].gtArray[j].type != 'schedule') {
+            newArr.push(this.bm_data[i].gtArray[j])
+          }
+        }
+        this.bm_data[i].gtArray = newArr
+      }
+    },
+    // 缁欐帓绋嬫渶鍚庝竴涓慨鏀规暟閲�
+    change_num(arr) {
+      this.formBottom.real_num = 0 // 鐪熷疄宸叉帓鏁伴噺
+      let num = 0 // 鍙栨暣宸叉帓鏁伴噺
+      const arr_num = [] // 宸叉帓鏁版嵁
+      let mend_num = 0
+      const len = 0
+      for (const i in arr) {
+        for (const j in arr[i].gtArray) {
+          if (arr[i].gtArray[j].type == 'schedule') {
+            arr_num.unshift(arr[i].gtArray[j])
+          }
+        }
+      }
+
+      for (const n in arr_num) {
+        this.formBottom.real_num += 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
+      if (y10 <= 10) {
+        this.formBottom.real_num = this.formBottom.meter
+        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.bm_data) {
+        for (const j in this.bm_data[i].gtArray) {
+          if (
+            this.bm_data[i].gtArray[j].type == 'schedule' &&
+            this.bm_data[i].gtArray[j].end_num
+          ) {
+            this.bm_data[i].gtArray[j].number =
+              this.bm_data[i].gtArray[j].number * 1 + mend_num
+          }
+        }
+      }
+
+      console.log(this.bm_data, 668)
+    },
+    fun_time() {
+      let all_num = this.formBottom.meter
+      const all_time = []
+      let flag1 = 0
+      const mod = this.bm_data[0].mod
+      //  let nowTime = this.bm_data[0].AdvaDevicRhythm*all_num
+      for (const i in this.bm_data) {
+        let end_arr = [] // 宸叉帓绋嬬殑鏁扮粍
+        let nend_arr = [] // 寰呮帓绋嬬殑鏁扮粍
+        const add_arr = [] // 宸叉帓绋嬬殑鏁扮粍
+        let capacity_arr = [] // 瑕佹帓绋嬬殑鏁扮粍
+        this.bm_data[i].gtArray.sort((a, b) => new Date(a.end).getTime() - new Date(b.end).getTime())
+        // let capacity_end = ''
+        end_arr = this.bm_data[i].gtArray.filter(item => item.type == 'h_schedule')
+        nend_arr = this.bm_data[i].gtArray.filter(item => item.type == 'capacity')
+        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()
+            })
+            if (schedule && schedule.length > 0) {
+              item.start = this.MinutesTest(schedule[0]['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()
+            })
+            if (schedule1 && schedule1.length > 0) {
+              item.capacity = false
+            }
+
+            return item
+          }).filter(item => item.capacity != false)
+        } else {
+          capacity_arr = nend_arr
+        }
+
+        const id_obj = {
+          id: '',
+          start_time: ''
+        }
+        if (end_arr != '') {
+          (id_obj.id = end_arr[0].id), (id_obj.start_time = end_arr[0].end)
+        }
+        for (const w in capacity_arr) {
+          let end_time = ''
+          let mistiming = ''
+          const data = {
+            id: capacity_arr[w].id,
+            start: '',
+            end: '',
+            type: 'schedule',
+            cl_name: this.cl_name,
+            cl_code: this.cl_code,
+            work_order: this.work_order,
+            number: 0,
+            real_number: 0
+          }
+          if (id_obj.start_time != '' && flag1 == 0 && new Date(id_obj.start_time) >= new Date(capacity_arr[w].start)) {
+            data.start = this.MinutesTest(id_obj.start_time)
+            flag1 = 1
+          } else {
+            data.start = capacity_arr[w].start
+          }
+          let nowTime = (this.bm_data[i].AdvaDevicRhythm * all_num) / capacity_arr[w].mod
+          end_time = this.formSeconds(nowTime, data.start, capacity_arr[w].mod) // 鎬诲叡鐨勭粨鏉熸椂闂�
+          data.end = end_time
+          mistiming = this.formTime(
+            end_time,
+            capacity_arr[w].end,
+            capacity_arr[w].mod
+          ) // 鎬诲叡鐨勭粨鏉熸椂闂�-褰撳墠鐨勭粨鏉熸椂闂� = 鍓╀笅澶氫箙鏃堕棿
+          if (mistiming >= 0) {
+            // console.log(
+            //   new Date(data.end) - new Date(data.start),
+            //   capacity_arr[w].mod,
+            //   this.bm_data[i].AdvaDevicRhythm,
+            //   '闃挎柉椤垮彂鏂拏鑺�'
+            // )
+            data.number =
+              ((new Date(data.end) - new Date(data.start)) *
+                capacity_arr[w].mod) /
+              this.bm_data[i].AdvaDevicRhythm /
+              1000
+            data.real_number =
+              ((new Date(data.end) - new Date(data.start)) *
+                capacity_arr[w].mod) /
+              this.bm_data[i].AdvaDevicRhythm /
+              1000
+            data.number = data.number.toFixed(0)
+            data.end_num = true
+            if (new Date(data.start) >= new Date(data.end)) {
+            } else {
+              this.bm_data[i].gtArray.push(data)
+            }
+
+            return false
+          } else {
+            data.end = capacity_arr[w].end
+            data.number =
+              ((new Date(data.end) - new Date(data.start)) *
+                capacity_arr[w].mod) /
+              this.bm_data[i].AdvaDevicRhythm /
+              1000
+            data.real_number =
+              ((new Date(data.end) - new Date(data.start)) *
+                capacity_arr[w].mod) /
+              this.bm_data[i].AdvaDevicRhythm /
+              1000
+            data.number = data.number.toFixed(0)
+
+            nowTime =
+              (all_num - data.real_number) * this.bm_data[i].AdvaDevicRhythm
+            all_num = all_num - data.real_number
+            if (new Date(data.start) >= new Date(data.end)) {
+            } else {
+              this.bm_data[i].gtArray.push(data)
+            }
+          }
+        }
+      }
+    },
+    // 璁惧鎺掔▼鏂规硶
+    fun_facility() {
+      // 鎺掗櫎鏈嬀閫夐」
+      for (const i in this.facility_data) {
+        const newArr = []
+        for (const j in this.facility_data[i].gtArray) {
+          if (this.false_arr.indexOf(this.facility_data[i].gtArray[j].id) < 0) {
+            newArr.push(this.facility_data[i].gtArray[j])
+          }
+        }
+        this.facility_data[i].gtArray = newArr
+      }
+      let all_num = this.formBottom.meter
+      const all_time = []
+      const flag1 = 0
+      // let nowTime = this.facility_data[0].AdvaDevicRhythm*all_num  //鏁伴噺OK
+
+      for (const i in this.facility_data) {
+        let end_arr = []
+        let nend_arr = [] // 鎺掔▼鐨勬暟缁�
+        const add_arr = [] // 宸叉帓绋嬬殑鏁扮粍
+        let capacity_arr = [] // 瑕佹帓绋嬬殑鏁扮粍
+
+        // this.facility_data[i].gtArray.sort((a,b) => new Date(a.end).getTime() - new Date(b.end).getTime())
+        // let capacity_end = ''
+        end_arr = this.facility_data[i].gtArray.filter(item => item.type == 'h_schedule')
+        nend_arr = this.facility_data[i].gtArray.filter(item => item.type == 'capacity')
+        // console.log(nend_arr)
+        capacity_arr = JSON.parse(JSON.stringify(nend_arr))
+        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], '鍝囧搱鍝�')
+              capacity_arr.splice(i, 1)
+              break
+            }
+          }
+        })
+        // console.log(capacity_arr, '澶цタ鐡�')
+
+        if (!capacity_arr || capacity_arr.length == 0) break
+        // const firstCapacity = capacity_arr[0]
+
+        const schedule_arr = end_arr.filter(item => {
+          const remain = nend_arr.some(sitem => {
+            return new Date(sitem.start).getTime() == new Date(item.start).getTime() &&
+              new Date(item.end).getTime() < new Date(sitem.end).getTime()
+          })
+          return remain
+        })
+        // console.log(schedule_arr)
+        if (schedule_arr && schedule_arr.length > 0) {
+          const scheduleCan = schedule_arr.map(item => {
+            const capcity = nend_arr.filter(sitem => {
+              return new Date(sitem.start).getTime() == new Date(item.start).getTime() &&
+                new Date(item.end).getTime() < new Date(sitem.end).getTime()
+            })[0]
+            // console.log('capacity', capcity)
+            capcity.start = this.MinutesTest(item.end)
+            return capcity
+          })
+          const newSchedule = JSON.parse(JSON.stringify(scheduleCan))
+          capacity_arr = newSchedule.concat(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)
+        }
+
+        for (const w in capacity_arr) {
+          let end_time
+          let mistiming
+          const data = {
+            id: capacity_arr[w].id,
+            start: '',
+            end: '',
+            type: 'schedule',
+            cl_name: this.cl_name,
+            cl_code: this.cl_code,
+            work_order: this.work_order,
+            number: 0,
+            real_number: 0
+          }
+          //  console.log(id_obj.start_time)
+          if (
+            id_obj &&
+            new Date(id_obj.start_time).getTime() >=
+            new Date(capacity_arr[w].start).getTime()
+          ) {
+            if (data.id == id_obj.id) {
+              data.start = this.MinutesTest(id_obj.start_time)
+              //  flag1 =1
+            } else {
+              data.start = capacity_arr[w].start
+              //  console.log(data.start)
+              //  flag1 =1
+            }
+          } else {
+            data.start = capacity_arr[w].start
+          }
+          // let nowTime = this.facility_data[0].AdvaDevicRhythm*all_num
+          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.formTime(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 = data.number.toFixed(0)
+            data.end_num = true
+
+            if (new Date(data.start) >= new Date(data.end)) {
+            } else {
+              this.facility_data[i].gtArray.push(data)
+            }
+
+            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 = data.number.toFixed(0)
+            nowTime = (all_num - data.real_number) * capacity_arr[w].rhythm
+            all_num = all_num - data.real_number
+
+            //  nowTime = mistiming * -1
+            if (new Date(data.start) >= new Date(data.end)) {
+            } else {
+              this.facility_data[i].gtArray.push(data)
+            }
+          }
+        }
+      }
+    },
+    // 缁欒澶囪浆鎹㈡牸寮�
+    dataTransition() {
+      this.bm_data = []
+      const data = this.facility_data
+
+      const all = []
+      const list = this.title_list
+      console.log(list, 670)
+      for (const i in data) {
+        for (const j in data[i].gtArray) {
+          all.push(data[i].gtArray[j])
+        }
+      }
+
+      for (const i in list) {
+        list[i].gtArray = []
+        this.pushTiemsss(all, list[i].id, list[i].gtArray)
+      }
+
+      for (const n in list) {
+        if (list[n].gtArray.length === 0) {
+          list[n].status = false
+        }
+      }
+
+      // console.log(list)
+      this.bm_data = list
+    },
+    // 鎻掑叆浜ц兘鏃堕棿娈�
+    pushTiemsss(newList, id, arr) {
+      for (const i in newList) {
+        if (newList[i].id == id) {
+          arr.push(newList[i])
+        }
+      }
+    },
+
+    // 鎺掔▼鏂规硶
+    formSeconds(s1, start, mod) {
+      const nowData = new Date(start)
+      // 绠楀嚭褰撳墠鎺掔▼鐨勭粨鏉熸椂闂�
+      return this.transitionTime(
+        new Date(nowData.setSeconds(nowData.getSeconds() + s1))
+      )
+    },
+    // 杞寲鏍囧噯鏃堕棿
+    transitionTime(time) {
+      const d = new Date(time)
+      return (
+        d.getFullYear() +
+        '-' +
+        (d.getMonth() + 1) +
+        '-' +
+        d.getDate() +
+        ' ' +
+        d.getHours() +
+        ':' +
+        d.getMinutes() +
+        ':' +
+        d.getSeconds()
+      )
+    },
+    // 鏃堕棿姣旇緝
+    formTime(d1, d2, mod) {
+      // d1 鎺掗櫎缁撴潫鏃堕棿  d2 褰撳墠浜ц兘缁撴潫鏃堕棿
+      const time1 = new Date(d1)
+      const time2 = new Date(d2)
+      return parseInt(time2 - time1) / 1000
+    },
+    formatSeconds(value) {
+      var secondTime = parseInt(value) // 绉�
+      var minuteTime = 0 // 鍒�
+      var hourTime = 0 // 灏忔椂
+      if (secondTime > 60) {
+        // 濡傛灉绉掓暟澶т簬60锛屽皢绉掓暟杞崲鎴愭暣鏁�
+        // 鑾峰彇鍒嗛挓锛岄櫎浠�60鍙栨暣鏁帮紝寰楀埌鏁存暟鍒嗛挓
+        minuteTime = parseInt(secondTime / 60)
+        // 鑾峰彇绉掓暟锛岀鏁板彇浣橈紝寰楀埌鏁存暟绉掓暟
+        secondTime = parseInt(secondTime % 60)
+        // 濡傛灉鍒嗛挓澶т簬60锛屽皢鍒嗛挓杞崲鎴愬皬鏃�
+        if (minuteTime > 60) {
+          // 鑾峰彇灏忔椂锛岃幏鍙栧垎閽熼櫎浠�60锛屽緱鍒版暣鏁板皬鏃�
+          hourTime = parseInt(minuteTime / 60)
+          // 鑾峰彇灏忔椂鍚庡彇浣樼殑鍒嗭紝鑾峰彇鍒嗛挓闄や互60鍙栦綐鐨勫垎
+          minuteTime = parseInt(minuteTime % 60)
+        }
+      }
+      var result = '' + parseInt(secondTime) + ''
+
+      if (minuteTime > 0) {
+        result = '' + parseInt(minuteTime) + ':' + result
+      }
+      if (hourTime > 0) {
+        result = '' + parseInt(hourTime) + ':' + result
+      }
+      return result
+    },
+    updateTimeLines(timeA, timeB) {
+      this.timeLines = [
+        {
+          time: timeA
+        },
+        {
+          time: timeB,
+          color: '#747e80'
+        }
+      ]
+    },
+    scrollLeftA(val) {
+      this.positionB = { x: val }
+    },
+    scrollLeftB(val) {
+      this.positionA = { x: val }
+    },
+    // 璁剧疆鍒濆鍖栨暟鎹�
+    oneClick() {
+      // this.getCurrentRow(this.mn_data[0])
+    }
+
+  }
+}
+</script>
+<!--鎺掔▼閮ㄥ垎鐨勬牱寮�-->
+<style scoped>
+body {
+  font-size: 12px;
+  margin: 0;
+  padding: 0;
+  width: 100%;
+  height: 100%;
+}
+
+.box_style {
+  position: relative;
+  top: 40px;
+  left: -91px;
+}
+
+.box_styles {
+  position: relative;
+  top: 40px;
+  left: 0;
+}
+
+/*鑷姩鎺掔▼閮ㄥ垎*/
+.autoScheduling {
+  display: flex;
+  flex-direction: column;
+  /*padding: 0 10px;*/
+  /* height: calc(100vh - 100px); */
+  /*background-color: #f8f8fa;*/
+  background-color: #fff;
+  margin-top: 20px;
+  height: 490px;
+}
+
+label {
+  margin-left: 10px;
+}
+
+input {
+  width: 40px;
+  height: 20px;
+  vertical-align: middle;
+}
+
+input[type="range"] {
+  width: 100px;
+}
+
+.container {
+  display: flex;
+  flex-direction: column;
+  flex: 1;
+}
+
+.tc {
+  text-align: center;
+}
+
+.name {
+  display: flex;
+  box-sizing: border-box;
+  overflow: hidden;
+  height: 100%;
+  width: 100%;
+  padding: 0 5px 0 0;
+  border-radius: 8px 0 0 8px;
+  align-items: center;
+}
+
+.carId {
+  flex: 1;
+}
+
+.tc {
+  color: #909399;
+  font-size: 14px;
+}
+</style>
+
+<!--鍏叡椤甸潰鏍峰紡-->
+<style lang="scss" scoped>
+$main_color: #42b983;
+.elTableDiv {
+  ::v-deep .el-radio__label {
+    display: none;
+  }
+}
+
+::v-deep .el-button--text {
+  font-size: 14px;
+  cursor: pointer;
+}
+
+.el-icon-share, .el-icon-delete, .el-icon-edit-outline {
+  color: $main_color;
+  cursor: pointer;
+}
+
+.el-icon-edit-outline {
+  margin-right: 15px;
+}
+
+::v-deep .el-button--primary, .el-button--default, .el-button--info {
+  height: 34px;
+  display: flex;
+  align-items: center;
+  padding: 0 15px;
+}
+
+::v-deep .el-button--primary {
+  //background-color: $main_color !important;
+}
+
+::v-deep .el-button--default {
+  background-color: #f8f8fa;
+  border: none;
+}
+
+::v-deep .el-input__inner {
+  height: 34px;
+  line-height: 34px;
+  //color: #a7a7a7;
+}
+
+::v-deep .el-dialog__body {
+  padding: 20px 100px !important;
+}
+
+::v-deep .dialogVisibleRoles .el-dialog__body {
+  padding: 20px 20px !important;
+}
+
+::v-deep .importPickerClass .el-dialog__body {
+  padding: 20px 20px !important;
+}
+
+::v-deep .el-dialog__footer {
+  display: flex;
+  justify-content: flex-end;
+}
+
+::v-deep .el-table .caret-wrapper {
+  transform: scale(0.8);
+}
+
+::v-deep .cell {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+}
+
+::v-deep .el-table::before {
+  height: 0;
+}
+
+::v-deep .el-table__body-wrapper {
+  background-color: #f8f8fa;
+}
+
+::v-deep .el-table__body .el-table__row.hover-row td {
+  background-color: #eaecef;
+}
+
+::v-deep .el-form--inline .el-form-item__label {
+  color: #a7a7a7;
+}
+
+.body ::v-deep .el-divider {
+  border: 1px solid #eee;
+  width: 99%;
+  margin: 10px auto;
+}
+
+.body ::v-deep .el-form-item {
+  margin-bottom: 0;
+}
+
+.userDialogVisible ::v-deep .el-form-item {
+  margin-bottom: 0;
+}
+
+::v-deep .el-select__caret {
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+
+.tableFixed {
+  ::v-deep .el-table__fixed-right {
+    height: 100% !important;
+  }
+
+  ::v-deep .el-table__fixed {
+    height: 100% !important;
+  }
+
+}
+
+::v-deep .gantt-header-title{
+  background-color: #fff;
+  //border-left: 1px solid #eee !important;
+  //border-bottom: 1px solid #eee !important;
+}
+
+</style>
+<style>
+
+.el-table .custom-row {
+  background: #f8f8fa;
+}
+
+</style>
+
+<!--<style>-->
+<!--input[type=range]:focus {-->
+<!--  display: none;-->
+<!--}-->
+
+<!--input[type=range] {-->
+<!--  -webkit-appearance: none;-->
+<!--  width: 500px;-->
+<!--  border-radius: 10px;-->
+<!--  /*杩欎釜灞炴�ц缃娇濉厖杩涘害鏉℃椂鐨勫浘褰负鍦嗚*/-->
+<!--}-->
+
+<!--input[type=range]::-webkit-slider-runnable-track {-->
+<!--  height: 20px;-->
+<!--  border-radius: 10px;-->
+<!--  /*灏嗚建閬撹涓哄渾瑙掔殑*/-->
+<!--  /* box-shadow: 0 1px 1px #def3f8, inset 0 .125em .125em #0d1112; */-->
+<!--  border: solid 1px red;-->
+<!--}-->
+
+<!--input[type=range]::-webkit-slider-thumb {-->
+<!--  -webkit-appearance: none;-->
+<!--  height: 30px;-->
+<!--  width: 120px;-->
+<!--  margin-top: -5px;-->
+<!--  /*浣挎粦鍧楄秴鍑鸿建閬撻儴鍒嗙殑鍋忕Щ閲忕浉绛�*/-->
+<!--  background: #ffffff;-->
+<!--  /* border-radius: 50%; */-->
+<!--  /*澶栬璁剧疆涓哄渾褰�*/-->
+<!--  border: solid 0.125em rgba(205, 224, 230, 0.5);-->
+<!--  /*璁剧疆杈规*/-->
+<!--  /* box-shadow: 0 .125em .125em #3b4547; */-->
+<!--  /*娣诲姞搴曢儴闃村奖*/-->
+<!--}-->
+<!--</style>-->

--
Gitblit v1.9.3