From b46bc2dba51a3885a68e4c58316b41a31ea16bb2 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期二, 14 二月 2023 13:35:03 +0800
Subject: [PATCH] 1.存货档案修改

---
 src/views/scgl/zdpc.vue | 1732 +++++++++++++++++++----------------------------------------
 1 files changed, 572 insertions(+), 1,160 deletions(-)

diff --git a/src/views/scgl/zdpc.vue b/src/views/scgl/zdpc.vue
index 8c001e7..716955d 100644
--- a/src/views/scgl/zdpc.vue
+++ b/src/views/scgl/zdpc.vue
@@ -24,7 +24,10 @@
               <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%'}">
+          <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>
@@ -162,7 +165,7 @@
             show-tooltip-when-overflow
           >
             <template slot-scope="{row}">
-              <div v-if="row.AdvaSchePCStartDate">{{ row.AdvaSchePCStartDate }} ~ {{ row.AdvaSchePCEndDate }} </div>
+              <div v-if="row.AdvaSchePCStartDate">{{ row.AdvaSchePCStartDate }} ~ {{ row.AdvaSchePCEndDate }}</div>
               <div v-else>/</div>
             </template>
           </el-table-column>
@@ -205,11 +208,16 @@
                   size="small"
                   :picker-options="pickerOptions1"
                   :clearable="false"
-                  @change="change_time"
+                  @change="dateChange"
                 />
               </el-form-item>
               <el-form-item label="鎺掔▼鏂瑰紡" style=" display: flex;">
-                <el-select v-model="formBottom.types" :disabled="radioSelectedId===''" style="width:120px" @change="changeTypes">
+                <el-select
+                  v-model="formBottom.types"
+                  :disabled="radioSelectedId===''"
+                  style="width:120px"
+                  @change="typesChange"
+                >
                   <el-option value="N" label="璁惧浼樺厛" />
                   <el-option value="Y" label="鏃堕棿浼樺厛" />
                 </el-select>
@@ -232,18 +240,21 @@
               </el-form-item>
               <el-form-item label="棰勬帓杩涘害" style=" display: flex;">
                 <span>
-                  <span style="text-decoration:underline;">{{ formBottom.real_num }}</span> /
-                  <span style="text-decoration:underline">{{ formBottom.meter }}</span>
+                  <span style="text-decoration:underline;">{{ formBottom.canArrangeNumber }}</span> /
+                  <span style="text-decoration:underline">{{ formBottom.needArrangeNumber }}</span>
                 </span>
               </el-form-item>
             </div>
-            <div class="bodySearchReset" :style="{marginLeft:$store.state.app.sidebar.opened? $store.state.settings.menuIsHorizontal?'15%':'3%':'10%'}">
+            <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"
+                @click="prepareArrange"
               >棰勬帓
               </el-button>
               <el-button
@@ -251,11 +262,17 @@
                 type="primary"
                 :disabled="radioSelectedId===''"
                 icon="el-icon-document-checked"
-                @click="click_yes"
+                @click="prepareSubmit"
               >鎻愪氦
               </el-button>
             </div>
           </el-form>
+          <div class="colorDescription">
+            <div class="colorDescriptionItem"><i class="el-icon-s-opportunity" style="margin-right: 5px;color: rgba(5, 185, 100, 0.5)" />浜ц兘</div>
+            <div class="colorDescriptionItem"><i class="el-icon-s-opportunity" style="margin-right: 5px;color: rgba(5, 185, 100, 1)" />宸叉帓</div>
+            <div class="colorDescriptionItem"><i class="el-icon-s-opportunity" style="margin-right: 5px;color:rgba(128,0,128,0.7)" />棰勬帓</div>
+            <!--            <div class="colorDescriptionItem"><i class="el-icon-s-opportunity" style="margin-right: 5px;color: #a7a7a7" />澶辨晥浜ц兘</div>-->
+          </div>
           <div
             class="bodyTopFormExpand"
             style="height: 5px"
@@ -268,7 +285,6 @@
             :end-time="time_data[1]"
             :cell-width="cellWidth"
             :cell-height="cellHeight"
-            :time-lines="timeLines"
             :title-height="titleHeight"
             :scale="formBottom.scale"
             :title-width="titleWidth"
@@ -276,18 +292,22 @@
             :hide-header="hideHeader"
             :data-key="dataKey"
             :array-keys="arrayKeys"
-            :scroll-to-postion="positionA"
-            :datas="bm_data"
-            @scrollLeft="scrollLeftA"
+
+            :datas="schedulingData"
           >
+            <!--            鏆傛椂鐢ㄤ笉鍒�-->
+            <!--            :time-lines="timeLines"-->
+            <!--            @scrollLeft="scrollLeftA"-->
+            <!--            :scroll-to-postion="positionA"-->
             <template slot="block" slot-scope="{data,item}">
               <Test
                 :data="data"
-                :update-time-lines="updateTimeLines"
                 :cell-height="cellHeight"
-                :current-time="currentTime"
                 :item="item"
               />
+              <!--              鏆傛椂鐢ㄤ笉鍒�-->
+              <!--              :update-time-lines="updateTimeLines"-->
+              <!--              :current-time="currentTime"-->
             </template>
             <template slot="left" slot-scope="{data}">
               <div class="name">
@@ -295,7 +315,7 @@
                   <el-checkbox
                     v-model="data.status"
                     style="margin-right:5px;"
-                    @change="click_box(data)"
+                    @change="checkboxSingle(data)"
                   />
                   {{ data.id }} {{ data.name }}
                 </div>
@@ -310,8 +330,20 @@
             </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===''">
+              <el-checkbox
+                v-model="ganttCheckboxAll"
+                class="box_style"
+                :disabled="radioSelectedId===''"
+                @change="checkboxAll()"
+              />
+              <input
+                v-model.number="cellWidth"
+                type="range"
+                min="20"
+                max="100"
+                class="box_styles"
+                :disabled="radioSelectedId===''"
+              >
             </template>
           </v-gantt-chart>
         </div>
@@ -327,11 +359,8 @@
 import Test from '@/components/Test'
 import dayjs from 'dayjs'
 import { AdvancedSchedulingSearch, OnclickAdvancedSchedulingDevice, SubmitAlreadyScheduling } from '@/api/scgl'
-import { handleDatetime } from '@/utils/global'
+import { handleDatetime, handleDatetime2 } 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',
@@ -361,34 +390,21 @@
       /*
     鎺掔▼閮ㄥ垎鐨勫睘鎬�
     * */
-
+      show: false,
       pickerOptions1: {
         disabledDate(time) {
           return time.getTime() <= Date.now() - 24 * 60 * 60 * 1000
         }
       },
 
-      keep_data: [],
-      all_status: true,
-      look_data: [],
-      look_total: 0,
+      ganttCheckboxAll: true, // 鐢樼壒鍥惧乏渚у閫夋鏄惁閫変腑鎴栬�呭彇娑�
+      ganttLeftArrId: [], // 鐢樼壒鍥惧乏渚х殑鏁扮粍id
       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: {
+      work_order: '', // 宸ュ崟缂栧彿
+      AdvaScheUom: '', // 浜у搧鍗曚綅
+      time_data: [[handleDatetime(new Date()) + ' 00:00:00'], [handleDatetime(new Date()) + ' 00:00:00']], // 鐢樼壒鍥惧垵濮嬫覆鏌撶殑鏃堕棿鑼冨洿
+      forms: { // 鐐瑰嚮琛岃幏鍙栦俊鎭� 璇锋眰鎺ュ彛 鐨勬暟鎹璞�
         wocode: '', // 宸ュ崟缂栧彿
         wkshpcode: '', // 杞﹂棿缂栫爜
         partcode: '', // 鐗╂枡缂栫爜
@@ -396,92 +412,37 @@
         startdate: '', // 寮�濮嬫棩鏈�
         enddate: ''// 缁撴潫鏃ユ湡
       },
-      click_one: 0,
-      datasC: [],
-      radio: '',
-
-      formBottom: {
+      formBottom: { // 搴曢儴琛ㄥ崟鐨� 鏁版嵁瀵硅薄
         scheDate: [handleDatetime(new Date()), handleDatetime(new Date())], // 鎺掔▼鏃ユ湡
         types: 'N', // 鎺掔▼鏂瑰紡
         scale: 60, // 鏃堕棿鍒诲害
         times: 0, // 鎹㈠瀷鏃堕棿
-        real_num: 0, // 鍙帓鏁伴噺
-        meter: 0// 闇�鎺掓暟閲�
+        canArrangeNumber: 0, // 鍙帓鏁伴噺
+        needArrangeNumber: 0// 闇�鎺掓暟閲�
       },
+      schedulingData: [], // 鎺掔▼鐨勬渶缁堟暟鎹�
+      timeTopTempData: [], // 鏃堕棿浼樺厛鐨勪复鏃舵暟鎹�
+      eqpTopTempData: [], //  璁惧浼樺厛鐨勪复鏃舵暟鎹�
 
-      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: {
+      formUpdate: {
         WorkCode: '',
         BotProceCode: '',
         json: []
       },
-      currentTime: dayjs(),
-      startTime: dayjs()
-        .subtract(5, 'hour')
-        .toString(),
-      endTime: dayjs()
-        .add(2, 'day')
-        .add(2, 'hour')
-        .toString(),
+      // currentTime: dayjs(),
       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 },
+      // timeList: `0,30,60,120,240,480`.split(',').map(n => parseInt(n)),
+      scaleList: `30,60,240,360`.split(',').map(n => parseInt(n)),
       hideHeader: false,
-      arrayKeys: ['gtArray', 'error'],
-      scrollToY: 0,
-      positionB: {},
-      positionA: {},
-      title_list: [],
-      submit_flag: false,
-      search_from: {
-        page: 1,
-        rows: 10,
-        WorkTime: '',
-        BotProceName: ''
-      },
-      time_all: null
+      arrayKeys: ['gtArray', 'error']
+
     }
   },
-  watch: {
-    // datasNum(newV) {
-    //   // this.datasA = mockDatas(newV)
-    //   // this.datasB = mockDatas(newV)
-    // },
-    scrollToY(val) {
-      this.positionA = { x: val }
-    }
-  },
+
   created() {
     const loading = this.$loading({
       lock: true,
@@ -503,7 +464,7 @@
     this.getHeight()
   },
   methods: {
-    async   getAdvancedSchedulingSearch() {
+    async getAdvancedSchedulingSearch() {
       const res = await AdvancedSchedulingSearch(this.formTop)
       this.tableData = res.data
       this.totalTop = res.count
@@ -546,152 +507,273 @@
     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() {
+    // 鎺掔▼鏂瑰紡鏀瑰彉
+    typesChange() {
       this.getOnclickAdvancedSchedulingDevice()
     },
-    change_time() {
+    // 鎺掔▼鏃ユ湡鍊兼敼鍙樻椂
+    dateChange() {
       this.time_data[0] = this.formBottom.scheDate[0] + ' 00:00'
       this.time_data[1] = this.formBottom.scheDate[1] + ' 23:59'
       this.forms.startdate = this.formBottom.scheDate[0]
       this.forms.enddate = this.formBottom.scheDate[1]
       this.getOnclickAdvancedSchedulingDevice()
     },
-    click_box(val) {
-      // console.log(val, 567)
+    // 宸ヤ綅鍒楄〃澶嶉�夋鎿嶄綔  (鍏ㄩ�夈�佸叏涓嶉��)
+    checkboxAll() {
+      if (this.ganttCheckboxAll) {
+        this.ganttLeftArrId = []
+        this.getOnclickAdvancedSchedulingDevice()
+      } else {
+        for (const i in this.schedulingData) {
+          this.schedulingData[i].status = false
+          this.schedulingData[i].gtArray = []
+        }
+        for (const i in this.timeTopTempData) {
+          this.timeTopTempData[i].gtArray = []
+        }
+      }
+      // this.prepareArrange()
+    },
+    // 鐢樼壒鍥惧乏渚heckbox鍊奸�変腑鎴栬�呭彇娑堟椂
+    checkboxSingle(val) {
       if (!val.status) {
-        for (const i in this.facility_data) {
+        for (const i in this.timeTopTempData) {
           const new_arr = []
-          for (const j in this.facility_data[i].gtArray) {
-            if (this.facility_data[i].gtArray[j].id == val.id) {
+          for (const j in this.timeTopTempData[i].gtArray) {
+            if (this.timeTopTempData[i].gtArray[j].id === val.id) {
             } else {
-              new_arr.push(this.facility_data[i].gtArray[j])
+              new_arr.push(this.timeTopTempData[i].gtArray[j])
             }
           }
-          this.facility_data[i].gtArray = new_arr
+          this.timeTopTempData[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.ganttLeftArrId = []
+        for (const i in this.schedulingData) {
+          if (!this.schedulingData[i].status) {
+            this.ganttLeftArrId.push(this.schedulingData[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 = []
+        for (const i in this.schedulingData) {
+          if (!this.schedulingData[i].status) {
+            this.schedulingData[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.ganttLeftArrId = []
+        for (const i in this.schedulingData) {
+          if (!this.schedulingData[i].status) {
+            this.ganttLeftArrId.push(this.schedulingData[i].id)
           }
         }
         this.getOnclickAdvancedSchedulingDevice()
       }
-      for (const i in this.bm_data) {
+      for (const i in this.schedulingData) {
         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])
+        for (const j in this.schedulingData[i].gtArray) {
+          if (this.schedulingData[i].gtArray[j].type !== 'schedule') {
+            arr.push(this.schedulingData[i].gtArray[j])
           }
         }
-        this.bm_data[i].gtArray = arr
+        this.schedulingData[i].gtArray = arr
       }
-      this.formBottom.real_num = 0
-      // this.click_schedule()
+      this.formBottom.canArrangeNumber = 0
+      // this.prepareArrange()
     },
-    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() {
+    async getOnclickAdvancedSchedulingDevice() {
       const res = await OnclickAdvancedSchedulingDevice(this.forms)
+      if (res.rus.Message) {
+        this.$message.error(res.rus.Message)
+      }
 
-      const data = res.rows // 鎷垮埌鏁版嵁  瀵规暟鎹繘琛屾敼閫�
-      const cont = res.Cont
-      this.title_list = []
+      const data = res.rows // 鎷垮埌寰呮帓鏁版嵁  瀵规暟鎹繘琛屾敼閫�
+      const cont = res.Cont // 鎷垮埌宸叉帓鏁版嵁  瀵规暟鎹繘琛屾敼閫�
 
-      data[0].children.forEach((item, index) => {
+      this.formBottom.canArrangeNumber = 0
+
+      // 灏嗕簲涓椂闂存杩涜璧嬪��
+      data.forEach(item => {
+        item.children.forEach(it => {
+          if (it.OneStartDate !== '') {
+            it.OneStartDate = it.OneStartDate.split('~')
+            it.OneStartDate[0] = item.YearDate + ' ' + it.OneStartDate[0] + ':00'
+            it.OneStartDate[1] = item.YearDate + ' ' + it.OneStartDate[1] + ':00'
+          }
+
+          if (it.TwoStartDate !== '') {
+            it.TwoStartDate = it.TwoStartDate.split('~')
+            it.TwoStartDate[0] = item.YearDate + ' ' + it.TwoStartDate[0] + ':00'
+            it.TwoStartDate[1] = item.YearDate + ' ' + it.TwoStartDate[1] + ':00'
+          }
+          if (it.ThreeStartDate !== '') {
+            it.ThreeStartDate = it.ThreeStartDate.split('~')
+            it.ThreeStartDate[0] = item.YearDate + ' ' + it.ThreeStartDate[0] + ':00'
+            it.ThreeStartDate[1] = item.YearDate + ' ' + it.ThreeStartDate[1] + ':00'
+          }
+          if (it.FourStartDate !== '') {
+            it.FourStartDate = it.FourStartDate.split('~')
+            it.FourStartDate[0] = item.YearDate + ' ' + it.FourStartDate[0] + ':00'
+            it.FourStartDate[1] = item.YearDate + ' ' + it.FourStartDate[1] + ':00'
+          }
+          if (it.FiveStartDate !== '') {
+            it.FiveStartDate = it.FiveStartDate.split('~')
+            it.FiveStartDate[0] = item.YearDate + ' ' + it.FiveStartDate[0] + ':00'
+            it.FiveStartDate[1] = item.YearDate + ' ' + it.FiveStartDate[1] + ':00'
+          }
+        })
+      })
+
+      // 鏋勫缓 鎸夎澶囦紭鍏堟帓绋嬬殑 鏁版嵁鏍煎紡 schedulingData
+      const list = [] // 涓存椂list  鏆傚瓨
+      data[0].children.forEach(item => {
+        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 = item.AdvaDevicNumber
+        obj.name = item.AdvaDevicName
+        obj.AdvaDevicRhythm = item.AdvaDevicRhythm
+        list.push(obj)
+      })
+
+      // 缁勫悎鏂扮殑缁撴瀯     娴呯豢鑹茶儗鏅潯
+      const newList = []
+      for (const i in data) {
+        for (const j in data[i].children) {
+          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]
+            // AdvaDevicCropMob 绋煎姩鐜�     AdvaDevicRhythm  鐢熶骇鑺傛媿
+            data1.mod = (data[i].children[j].AdvaDevicCropMob * 1) / 100 // 绋煎姩鐜�
+            newList.push(data1)
+          }
+          if (data[i].children[j].TwoStartDate !== '') {
+            const data2 = {
+              id: '',
+              start: '',
+              end: '',
+              mod: ''
+            }
+            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 (data[i].children[j].ThreeStartDate !== '') {
+            const data3 = {
+              id: '',
+              start: '',
+              end: '',
+              mod: ''
+            }
+            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 (data[i].children[j].FourStartDate !== '') {
+            const data4 = {
+              id: '',
+              start: '',
+              end: '',
+              mod: ''
+            }
+            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 (data[i].children[j].FiveStartDate !== '') {
+            const data5 = {
+              id: '',
+              start: '',
+              end: '',
+              mod: ''
+            }
+            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.pushItem(newList, list[i].id, list[i].gtArray)
+      }
+
+      this.schedulingData = list
+
+      if (cont !== '') {
+        for (const i in cont) {
+          for (const j in this.schedulingData) {
+            if (this.schedulingData[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: cont[i].part_code,
+                AdvaScheUom: cont[i].uom_name, // 鍗曚綅
+                work_order: cont[i].wo_code,
+                start: cont[i].time_start,
+                end: cont[i].time_end,
+                // type: cont[i].status === 'S' ? 'h_schedule' : 'bm_schedule'
+                type: 'h_schedule'
+              }
+              this.schedulingData[j].gtArray.unshift(data)
+            }
+          }
+        }
+      }
+
+      if (this.ganttLeftArrId !== '') {
+        for (const j in this.schedulingData) {
+          if (this.ganttLeftArrId.indexOf(this.schedulingData[j].id) >= 0) {
+            this.schedulingData[j].gtArray = []
+            this.schedulingData[j].status = false
+          }
+        }
+      }
+
+      // 璁惧浼樺厛鐨勬暟鎹牸寮�
+      this.eqpTopTempData = []
+      for (const i in data[0].children) {
         const obj = {
           id: '',
           name: '',
@@ -707,96 +789,41 @@
           },
           gtArray: []
         }
-        obj.id = item.AdvaDevicNumber
-        obj.name = item.AdvaDevicName
-        obj.AdvaDevicRhythm = item.AdvaDevicRhythm
-        obj.mod = item.AdvaDevicCropMob * 1 // 鎹㈠瀷鏃堕棿
-        this.title_list.push(obj)
-      })
+        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
 
-      // 灏嗕簲涓椂闂存杩涜璧嬪��
-      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.eqpTopTempData.push(obj)
       }
 
-      // 鏇存敼鏍煎紡    鏇存敼鎴愮粍浠堕噷闈㈡墍闇�瑕佺殑瀛楁鏍煎紡
-      this.facility_data = []
+      // 鏇存敼鏍煎紡
+      this.timeTopTempData = []
 
+      // 鏋勫缓鎸夋椂闂翠紭鍏堢殑鎺掔▼鏁版嵁鏍煎紡 timeTopTempData
       for (const i in data) {
         const time = {
           date: data[i].YearDate,
           AdvaDevicRhythm: '',
           gtArray: []
         }
-        if (data[i].children != '') {
+        if (data[i].children !== '') {
           time.AdvaDevicRhythm = data[i].children[0].AdvaDevicRhythm
         }
         for (const j in data[i].children) {
-          if (data[i].children[j].OneStartDate != '') {
+          if (data[i].children[j].OneStartDate !== '') {
             const icu1 = {
               name: data[i].children[j].AdvaDevicName,
               id: data[i].children[j].AdvaDevicNumber,
               type: 'capacity',
-              rhythm: data[i].children[j].AdvaDevicRhythm,
+              rhythm: data[i].children[j].AdvaDevicRhythm, // 鐢熶骇鑺傛媿
               start: data[i].children[j].OneStartDate[0],
               end: data[i].children[j].OneStartDate[1],
               mod: (data[i].children[j].AdvaDevicCropMob * 1) / 100
             }
             time.gtArray.push(icu1)
           }
-          if (data[i].children[j].TwoStartDate != '') {
+          if (data[i].children[j].TwoStartDate !== '') {
             const icu2 = {
               name: data[i].children[j].AdvaDevicName,
               id: data[i].children[j].AdvaDevicNumber,
@@ -808,7 +835,7 @@
             }
             time.gtArray.push(icu2)
           }
-          if (data[i].children[j].ThreeStartDate != '') {
+          if (data[i].children[j].ThreeStartDate !== '') {
             const icu3 = {
               name: data[i].children[j].AdvaDevicName,
               id: data[i].children[j].AdvaDevicNumber,
@@ -820,7 +847,7 @@
             }
             time.gtArray.push(icu3)
           }
-          if (data[i].children[j].FourStartDate != '') {
+          if (data[i].children[j].FourStartDate !== '') {
             const icu4 = {
               name: data[i].children[j].AdvaDevicName,
               id: data[i].children[j].AdvaDevicNumber,
@@ -832,7 +859,7 @@
             }
             time.gtArray.push(icu4)
           }
-          if (data[i].children[j].FiveStartDate != '') {
+          if (data[i].children[j].FiveStartDate !== '') {
             const icu5 = {
               name: data[i].children[j].AdvaDevicName,
               id: data[i].children[j].AdvaDevicNumber,
@@ -846,160 +873,53 @@
           }
         }
 
-        this.facility_data.push(time)
+        this.timeTopTempData.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: ''
-            }
-
-            // 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 (data[i].children[j].TwoStartDate != '') {
-            const data2 = {
-              id: '',
-              start: '',
-              end: '',
-              mod: ''
-            }
-            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 (data[i].children[j].ThreeStartDate != '') {
-            const data3 = {
-              id: '',
-              start: '',
-              end: '',
-              mod: ''
-            }
-            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 (data[i].children[j].FourStartDate != '') {
-            const data4 = {
-              id: '',
-              start: '',
-              end: '',
-              mod: ''
-            }
-            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 (data[i].children[j].FiveStartDate != '') {
-            const data5 = {
-              id: '',
-              start: '',
-              end: '',
-              mod: ''
-            }
-            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)
-          }
-        }
-      }
-      // 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 = this.title_list
-      // 閽堝cont 涓嶄负 null 鏃讹紝鏁版嵁鏍兼暟杞寲
-      if (cont != '') {
+      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)
-              }
+          for (const j in this.timeTopTempData) {
+            const data = {
+              id: cont[i].eqp_code,
+              date: cont[i].time_start.split(' ')[0],
+              number: cont[i].alloc_qty,
+              cl_name: cont[i].part_name,
+              cl_code: cont[i].part_code,
+              AdvaScheUom: cont[i].uom_name, // 鍗曚綅
+              work_order: cont[i].wo_code,
+              start: cont[i].time_start,
+              end: cont[i].time_end,
+              type: 'h_schedule'
+            }
+            if (this.timeTopTempData[j].date === data.date) {
+              this.timeTopTempData[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
-          }
-        }
-      }
-      console.log(this.facility_data, 555)
-      console.log(this.bm_data, 556)
     },
-
     // 鎹㈠瀷鏃堕棿
     MinutesTest(time) {
-      var sdate1 = new Date(time)
-      sdate1.setMinutes(sdate1.getMinutes() + this.formBottom.times * 1)
-      var now =
-        sdate1.getFullYear() +
+      const t = new Date(time)
+      t.setMinutes(t.getMinutes() + this.formBottom.times * 1)
+      const now =
+        t.getFullYear() +
         '-' +
-        this.add_one(sdate1.getMonth()) +
+        (t.getMonth() + 1).toString().padStart(2, '0') +
         '-' +
-        sdate1.getDate() +
+        t.getDate().toString().padStart(2, '0') +
         ' ' +
-        sdate1.getHours() +
+        t.getHours().toString().padStart(2, '0') +
         ':' +
-        sdate1.getMinutes() +
+        t.getMinutes().toString().padStart(2, '0') +
         ':' +
-        sdate1.getSeconds()
+        t.getSeconds().toString().padStart(2, '0')
       return now
-    },
-    // +1
-    add_one(date) {
-      return parseInt(date) + 1
     },
     // 鎻掑叆浜ц兘鏃堕棿娈�
     pushItem(newList, id, arr) {
       for (const i in newList) {
-        if (newList[i].id == id) {
+        if (newList[i].id === id) {
           const data = {
             start: newList[i].start,
             end: newList[i].end,
@@ -1014,7 +934,8 @@
     // 琛岀偣鍑讳簨浠�
     getCurrentRow(row) {
       this.radioSelectedId = row.AdvaScheId // 鎺掔▼id璧嬪�肩粰閫変腑琛宨d
-      this.formBottom.meter = row.AdvaScheQty * 1 - row.AdvaScheYPQty * 1 // 闇�鎺掓暟閲� = 鏈帓绋嬫暟閲� - 宸叉帓绋嬫暟閲�
+
+      this.formBottom.needArrangeNumber = row.AdvaScheQty * 1 - row.AdvaScheYPQty * 1 // 闇�鎺掓暟閲� = 鏈帓绋嬫暟閲� - 宸叉帓绋嬫暟閲�
       this.formBottom.scheDate = [] // 鎺掔▼鏃ユ湡缃┖
       this.cl_name = row.AdvaSchePartName // 浜у搧鍚嶇О
       this.cl_code = row.AdvaSchePartNumber // 浜у搧缂栫爜
@@ -1023,7 +944,7 @@
 
       this.formBottom.scheDate.push(handleDatetime(new Date())) //  褰撳墠鏃ユ湡锛堜粖澶╋級
       this.formBottom.scheDate.push(row.AdvaScheEndDate) //  瑕佹眰浜や粯鏃堕棿
-      if (this.formBottom.scheDate != '') {
+      if (this.formBottom.scheDate !== '') {
         this.time_data[0] = this.formBottom.scheDate[0] + ' 00:00' // 鎺掔▼寮�濮嬫椂闂�
         this.time_data[1] = this.formBottom.scheDate[1] + ' 23:59' // 鎺掔▼缁撴潫鏃堕棿
       }
@@ -1034,25 +955,23 @@
       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 // 宸ュ簭鍚嶇О
+      this.formUpdate.WorkCode = row.AdvaScheWorkCode // 宸ュ崟缂栧彿
+      this.formUpdate.BotProceCode = row.AdvaScheBotProcid // 宸ヨ壓璺嚎缂栫爜
     },
     // 鎻愪氦鎺掔▼
-    async  click_yes() {
-      if (this.formBottom.real_num !== this.formBottom.meter) {
+    async prepareSubmit() {
+      if (this.formBottom.canArrangeNumber !== this.formBottom.needArrangeNumber) {
         this.$message.error('鏁伴噺鏈帓瀹岋紝璇疯缃骇鑳芥椂闂达紒')
-      } else { // 棰勬帓杩涘害涓�100%   鏁伴噺宸叉帓瀹�
+      } else {
         const list = [] // 鎻愪氦鏁扮粍
-        for (const i in this.bm_data) {
+        for (const i in this.schedulingData) {
           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])
+          for (const j in this.schedulingData[i].gtArray) {
+            if (this.schedulingData[i].gtArray[j].type === 'schedule') {
+              arr.push(this.schedulingData[i].gtArray[j])
             }
           }
-          if (arr != '') {
+          if (arr !== '') {
             for (const i in arr) {
               const data = {
                 AlreDevicNumber: '',
@@ -1070,24 +989,24 @@
         }
         // 鎺掔▼鐩稿悓璁惧鑾峰彇寮�濮嬫椂闂� 缁撴潫鏃堕棿 鏁伴噺鐨勬�诲拰
         // 杩囨护
-        let updata = []
+        let update = []
         for (const i in list) {
-          if (list[i].AlreStartDate != '') {
-            updata.push(list[i])
+          if (list[i].AlreStartDate !== '') {
+            update.push(list[i])
           }
         }
 
-        updata = JSON.stringify(updata)
-        this.formUpdata.json = updata
-        if (list == '') {
+        update = JSON.stringify(update)
+        this.formUpdate.json = update
+        if (list === '') {
           this.$message.error('璇峰厛棰勬帓')
           return false
         }
 
         const formData = new FormData()
-        formData.append('wocode', this.formUpdata.WorkCode)
-        formData.append('botprocecode', this.formUpdata.BotProceCode)
-        formData.append('json', this.formUpdata.json)
+        formData.append('wocode', this.formUpdate.WorkCode)
+        formData.append('botprocecode', this.formUpdate.BotProceCode)
+        formData.append('json', this.formUpdate.json)
 
         const res = await SubmitAlreadyScheduling(formData)
 
@@ -1095,142 +1014,126 @@
           this.$message.success(res.Message)
         }
 
-        this.formBottom.meter = 0
-        this.formBottom.real_num = 0
+        this.formBottom.needArrangeNumber = 0
+        this.formBottom.canArrangeNumber = 0
         await this.getOnclickAdvancedSchedulingDevice()
         await this.getAdvancedSchedulingSearch()
       }
     },
     // 鏃堕棿/璁惧浼樺厛鎺掔▼
-    click_schedule() {
+    prepareArrange() {
       const timestamp = new Date().toLocaleDateString()
 
       if (new Date(this.formBottom.scheDate[1]) < new Date(timestamp)) {
         this.$message.error('鎺掔▼鏃ユ湡涓嶅彲浠ュ皬浜庡綋鍓嶆椂闂�!')
         return false
       }
+      this.filterAlreadyScheduleEqp()// 鎵嬪姩杩囨护鎵�鏈夎澶囧凡鎺掔▼
 
-      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.fun_time()
-        // this.change_num(this.bm_data)
-
-        this.time_nitalize()
-        this.fun_facility()
+      // 璁惧浼樺厛鎴栬�呮椂闂翠紭鍏� 瀵规暟鎹繘琛岀殑鏍煎紡杞崲
+      if (this.schedulingData !== '' && this.formBottom.types === 'N') { // 璁惧浼樺厛
+        this.eqpDataTransition()
+        this.editLastValue(this.schedulingData)
+      } else if (this.timeTopTempData !== '' && this.formBottom.types === 'Y') { // 鏃堕棿浼樺厛
+        this.filterAlreadyScheduleTime() // 鎵嬪姩杩囨护鎵�鏈夋椂闂村凡鎺掔▼
+        this.timeDataTransition()
         this.dataTransition()
-        this.change_num(this.bm_data)
+        this.editLastValue(this.schedulingData)
       }
-      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')
-      }
+    filterAlreadyScheduleTime() {
+      this.timeTopTempData.forEach(item => {
+        if (item.gtArray && item.gtArray.length > 0) {
+          item.gtArray = item.gtArray.filter(it => it.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])
-          }
+    filterAlreadyScheduleEqp() {
+      this.schedulingData.forEach(item => {
+        if (item.gtArray && item.gtArray.length > 0) {
+          item.gtArray = item.gtArray.filter(it => it.type !== 'schedule')
         }
-        this.bm_data[i].gtArray = newArr
-      }
+      })
     },
     // 缁欐帓绋嬫渶鍚庝竴涓慨鏀规暟閲�
-    change_num(arr) {
-      this.formBottom.real_num = 0 // 鐪熷疄宸叉帓鏁伴噺
+    editLastValue(arr) {
+      this.formBottom.canArrangeNumber = 0 // 鐪熷疄宸叉帓鏁伴噺
       let num = 0 // 鍙栨暣宸叉帓鏁伴噺
       const arr_num = [] // 宸叉帓鏁版嵁
-      let mend_num = 0
-      const len = 0
+      let need_num = 0
       for (const i in arr) {
         for (const j in arr[i].gtArray) {
-          if (arr[i].gtArray[j].type == 'schedule') {
+          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
+        this.formBottom.canArrangeNumber += arr_num[n].real_number
         num += arr_num[n].number * 1
       }
 
-      this.formBottom.real_num = Math.ceil(this.formBottom.real_num)
-      const y10 = this.formBottom.meter - this.formBottom.real_num
+      this.formBottom.canArrangeNumber = Math.ceil(this.formBottom.canArrangeNumber)
+      const y10 = this.formBottom.needArrangeNumber - this.formBottom.canArrangeNumber
       if (y10 <= 10) {
-        this.formBottom.real_num = this.formBottom.meter
-        mend_num = this.formBottom.meter - num
+        this.formBottom.canArrangeNumber = this.formBottom.needArrangeNumber
+        need_num = this.formBottom.needArrangeNumber - num
       } else {
       }
-      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) {
+      for (const i in this.schedulingData) {
+        for (const j in this.schedulingData[i].gtArray) {
           if (
-            this.bm_data[i].gtArray[j].type == 'schedule' &&
-            this.bm_data[i].gtArray[j].end_num
+            this.schedulingData[i].gtArray[j].type === 'schedule' &&
+            this.schedulingData[i].gtArray[j].end_num
           ) {
-            this.bm_data[i].gtArray[j].number =
-              this.bm_data[i].gtArray[j].number * 1 + mend_num
+            this.schedulingData[i].gtArray[j].number =
+              this.schedulingData[i].gtArray[j].number * 1 + need_num
           }
         }
       }
-
-      console.log(this.bm_data, 668)
-      // console.log(JSON.stringify(this.bm_data), 668)
     },
-    fun_time() {
-      let all_num = this.formBottom.meter
-      const all_time = []
+    // 璁惧浼樺厛   鏁版嵁鏍煎紡杞崲
+    eqpDataTransition() {
+      let needNumber = this.formBottom.needArrangeNumber // 闇�鎺掓暟閲�
       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) {
+
+      for (const i in this.schedulingData) {
         let end_arr = [] // 宸叉帓绋嬬殑鏁扮粍
-        let nend_arr = [] // 寰呮帓绋嬬殑鏁扮粍
-        const add_arr = [] // 宸叉帓绋嬬殑鏁扮粍
+        let need_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')
+        this.schedulingData[i].gtArray.sort((a, b) => new Date(a.end).getTime() - new Date(b.end).getTime())
+
+        end_arr = JSON.parse(JSON.stringify(this.schedulingData[i].gtArray.filter(item => item.type === 'h_schedule'))) // 宸叉帓绋嬫暟缁�
+        need_arr = JSON.parse(JSON.stringify(this.schedulingData[i].gtArray.filter(item => item.type === 'capacity'))) // 瀹归噺
+
         if (end_arr && end_arr.length > 0) {
-          capacity_arr = nend_arr.map(item => {
+          capacity_arr = need_arr.map(item => {
             // 鎺掗櫎鎺夊凡缁忔帓绋嬬殑瀛樺湪hshedule锛宻tart锛宔nd閮界浉绛夌殑鎯呭喌
-            const schedule = end_arr.filter(schedule => {
-              return new Date(item.start).getTime() <= new Date(schedule.start).getTime() &&
-                new Date(item.end).getTime() > new Date(schedule.end).getTime()
+            const schedule = end_arr.filter(it => {
+              return new Date(item.start).getTime() <= new Date(it.start).getTime() &&
+                new Date(item.end).getTime() >= new Date(it.end).getTime()
             })
+
             if (schedule && schedule.length > 0) {
-              item.start = this.MinutesTest(schedule[0]['end'])
+              item.start = this.MinutesTest(schedule[schedule.length - 1]['end'])
             }
 
             const schedule1 = end_arr.filter(schedule => {
-              return new Date(item.start).getTime() == new Date(schedule.start).getTime() &&
-                new Date(item.end).getTime() == new Date(schedule.end).getTime()
+              return new Date(item.start).getTime() === new Date(schedule.start).getTime() &&
+                new Date(item.end).getTime() === new Date(schedule.end).getTime()
             })
             if (schedule1 && schedule1.length > 0) {
               item.capacity = false
             }
 
             return item
-          }).filter(item => item.capacity != false)
+          }).filter(item => item.capacity !== false)
         } else {
-          capacity_arr = nend_arr
+          capacity_arr = need_arr
         }
 
         const id_obj = {
@@ -1240,6 +1143,9 @@
         if (end_arr != '') {
           (id_obj.id = end_arr[0].id), (id_obj.start_time = end_arr[0].end)
         }
+
+        capacity_arr = this.filterOutTime(capacity_arr) // 杩囨护鎺夊綋鍓嶆椂闂翠箣鍓嶇殑涓嶈兘鎺掔▼
+
         for (const w in capacity_arr) {
           let end_time = ''
           let mistiming = ''
@@ -1251,148 +1157,172 @@
             cl_name: this.cl_name,
             cl_code: this.cl_code,
             work_order: this.work_order,
+            AdvaScheUom: this.AdvaScheUom,
             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).getTime() >= new Date(capacity_arr[w].start).getTime()
+          ) {
             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.schedulingData[i].AdvaDevicRhythm * needNumber) / capacity_arr[w].mod
           end_time = this.formSeconds(nowTime, data.start, capacity_arr[w].mod) // 鎬诲叡鐨勭粨鏉熸椂闂�
           data.end = end_time
-          mistiming = this.formTime(
+          mistiming = this.compareTime(
             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 /
+              this.schedulingData[i].AdvaDevicRhythm /
               1000
             data.real_number =
               ((new Date(data.end) - new Date(data.start)) *
                 capacity_arr[w].mod) /
-              this.bm_data[i].AdvaDevicRhythm /
+              this.schedulingData[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)
+              this.schedulingData[i].gtArray.push(data)
             }
-
             return false
           } else {
             data.end = capacity_arr[w].end
+
+            if (new Date(data.end).getTime() < new Date(data.start)) {
+              continue // 鍥犱负寮�濮嬫椂闂存瘮缁撴潫鏃堕棿澶� 闇�瑕佽烦杩囧悗闈㈡楠�
+            }
+
+            // 杩欓噷闄や互涓�鍗冩槸鍥犱负 new Date() 寰楀埌鐨勬槸姣  姣杞寲涓虹鏄崈杩涘埗
+            // 涓�娈垫椂闂存鍐呯殑鐢熶骇閲�=涓よ�呮椂闂村樊锛堟绉掞級/1000  / 鐢熶骇鑺傛媿 * 绋煎姩鐜�
             data.number =
               ((new Date(data.end) - new Date(data.start)) *
                 capacity_arr[w].mod) /
-              this.bm_data[i].AdvaDevicRhythm /
+              this.schedulingData[i].AdvaDevicRhythm /
               1000
+
             data.real_number =
               ((new Date(data.end) - new Date(data.start)) *
                 capacity_arr[w].mod) /
-              this.bm_data[i].AdvaDevicRhythm /
+              this.schedulingData[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
+            nowTime = (needNumber - data.real_number) * this.schedulingData[i].AdvaDevicRhythm
+            needNumber = needNumber - data.real_number
             if (new Date(data.start) >= new Date(data.end)) {
+
             } else {
-              this.bm_data[i].gtArray.push(data)
+              this.schedulingData[i].gtArray.push(data)
             }
           }
         }
       }
     },
-    // 璁惧鎺掔▼鏂规硶
-    fun_facility() {
-      // this.bm_data
+    // 鏃堕棿浼樺厛  鏁版嵁鏍煎紡杞崲
+    timeDataTransition() {
       // 鎺掗櫎鏈嬀閫夐」
-      for (const i in this.facility_data) {
+      for (const i in this.timeTopTempData) {
         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])
+        for (const j in this.timeTopTempData[i].gtArray) {
+          if (this.ganttLeftArrId.indexOf(this.timeTopTempData[i].gtArray[j].id) < 0) {
+            newArr.push(this.timeTopTempData[i].gtArray[j])
           }
         }
-        this.facility_data[i].gtArray = newArr
+        this.timeTopTempData[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
+      let needNumber = this.formBottom.needArrangeNumber // 闇�鎺掓暟閲�
 
-      for (const i in this.facility_data) {
+      //  閲岄潰閫昏緫瑕佹悶娓呮 寰堥噸瑕�
+      for (const i in this.timeTopTempData) {
         let end_arr = []
-        let nend_arr = [] // 鎺掔▼鐨勬暟缁�
-        const add_arr = [] // 宸叉帓绋嬬殑鏁扮粍
+        let need_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, '澶цタ鐡�')
+        this.timeTopTempData[i].gtArray.sort((a, b) => new Date(a.end).getTime() - new Date(b.end).getTime())
 
-        if (!capacity_arr || capacity_arr.length == 0) break
-        // const firstCapacity = capacity_arr[0]
+        end_arr = JSON.parse(JSON.stringify(this.timeTopTempData[i].gtArray.filter(item => item.type === 'h_schedule'))) // 宸叉帓绋嬫暟鎹�
+        need_arr = JSON.parse(JSON.stringify(this.timeTopTempData[i].gtArray.filter(item => item.type === 'capacity'))) // 瀹归噺
+
+        capacity_arr = JSON.parse(JSON.stringify(need_arr)) // 瀹归噺
+
+        // 鑾峰彇鍙帓绋嬬殑鏃堕棿   浠ヤ究鎺ョ潃寰�鍚庢帓绋�    閬嶅巻缁撴潫瑕佸緱鍒扮殑鏄� 褰撳墠鏃ユ湡鍙帓瀹归噺
+        end_arr.forEach((item, index) => { // 宸叉帓绋嬬殑鏁扮粍
+          capacity_arr.forEach((it, ind) => { // 瀹归噺锛堟棩浜ц兘锛�
+            if (item.id === it.id &&
+              new Date(item.start).getTime() >= new Date(it.start).getTime() &&
+              new Date(item.end).getTime() === new Date(it.end).getTime() // new Date(item.end).getTime() <= new Date(it.end).getTime()
+            ) {
+              capacity_arr.splice(ind, 1)
+            }
+          })
+        })
+
+        // continue:琛ㄧず璺冲嚭鏈寰幆锛屼篃灏辨槸涓嶆墽琛屾湰娆″惊鐜痗ontinue涔嬪悗鐨勬搷浣�
+        // break:琛ㄧず璺冲嚭褰撳墠鐨勫惊鐜紝閽堝鏁翠釜寰幆浣撶粓姝㈠悗缁殑閬嶅巻锛�
+        if (!capacity_arr || capacity_arr.length === 0) {
+          continue
+        }
 
         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()
+          const remain = need_arr.some(it => {
+            return (new Date(item.start).getTime() >= new Date(it.start).getTime() &&
+              new Date(item.end).getTime() < new Date(it.end).getTime())
           })
+
           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()
+            const temp = need_arr.filter(it => {
+              if (it.id === item.id) {
+                return (new Date(item.start).getTime() >= new Date(it.start).getTime() &&
+                  new Date(item.end).getTime() < new Date(it.end).getTime())
+                //   ||
+                // (new Date(item.start).getTime() > new Date(it.start).getTime() &&
+                // new Date(item.end).getTime() < new Date(it.end).getTime())
+              }
             })[0]
-            // console.log('capacity', capcity)
-            capcity.start = this.MinutesTest(item.end)
-            return capcity
+
+            temp.start = this.MinutesTest(item.end)
+
+            return temp
           })
+
           const newSchedule = JSON.parse(JSON.stringify(scheduleCan))
-          capacity_arr = newSchedule.concat(capacity_arr)
+
+          capacity_arr.forEach(item => {
+            newSchedule.forEach(it => {
+              if (item.id === it.id && new Date(item.start).getTime() < new Date(it.start).getTime()) {
+                item.start = it.start
+              }
+            })
+          })
         }
-        // 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)
         }
 
+        capacity_arr = this.filterOutTime(capacity_arr) // 杩囨护鎺夊綋鍓嶆椂闂翠箣鍓嶇殑涓嶈兘鎺掔▼
+
         for (const w in capacity_arr) {
-          let end_time
-          let mistiming
           const data = {
             id: capacity_arr[w].id,
             start: '',
@@ -1401,92 +1331,84 @@
             cl_name: this.cl_name,
             cl_code: this.cl_code,
             work_order: this.work_order,
+            AdvaScheUom: this.AdvaScheUom, // 鍗曚綅
             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) {
+            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)
+          let nowTime = (capacity_arr[w].rhythm * needNumber) / capacity_arr[w].mod
+
+          const end_time = this.formSeconds(nowTime, data.start)
 
           data.end = end_time
-          mistiming = this.formTime(end_time, capacity_arr[w].end)
+          const mistiming = this.compareTime(end_time, capacity_arr[w].end)
           if (mistiming >= 0) {
-            data.number =
-              ((new Date(data.end) - new Date(data.start)) *
-                capacity_arr[w].mod) /
-              capacity_arr[w].rhythm /
-              1000
-            data.real_number =
-              ((new Date(data.end) - new Date(data.start)) *
-                capacity_arr[w].mod) /
-              capacity_arr[w].rhythm /
-              1000
+            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)
+              this.timeTopTempData[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 = ((new Date(data.end) - new Date(data.start)) * capacity_arr[w].mod) / capacity_arr[w].rhythm / 1000
+            data.real_number = ((new Date(data.end) - new Date(data.start)) * capacity_arr[w].mod) / capacity_arr[w].rhythm / 1000
             data.number = data.number.toFixed(0)
-            nowTime = (all_num - data.real_number) * capacity_arr[w].rhythm
-            all_num = all_num - data.real_number
+            nowTime = (needNumber - data.real_number) * capacity_arr[w].rhythm
+            needNumber = needNumber - data.real_number
 
-            //  nowTime = mistiming * -1
             if (new Date(data.start) >= new Date(data.end)) {
             } else {
-              this.facility_data[i].gtArray.push(data)
+              this.timeTopTempData[i].gtArray.push(data)
             }
           }
         }
       }
     },
-    dataTransition2() {
+    // 杩囨护鎺夊綋鍓嶆椂闂翠箣鍓嶇殑涓嶈兘鎺掔▼
+    filterOutTime(capacity_arr) {
+      // 杩欓噷瑕佸皢瀹归噺鍜屽綋鍓嶆椂闂村仛瀵规瘮   鍋氭椂闂村鐞�   濡傛灉鍦ㄥ綋鍓嶆椂闂翠箣鍓嶇殑涓嶈兘鎺掔▼
+      capacity_arr.forEach((item, index) => {
+        // 褰撳墠鏃堕棿 澶т簬绛変簬寮�濮嬫椂闂�   涓斿皬浜庣瓑浜庣粨鏉熸椂闂�
+        if (new Date(item.start).getTime() <= new Date(handleDatetime2(new Date())).getTime() && new Date(item.end).getTime() >= new Date(handleDatetime2(new Date())).getTime()) {
+          item.start = handleDatetime2(new Date())
+        }
+        // 褰撳墠鏃堕棿姣斿紑濮嬫椂闂村ぇ  姣旂粨鏉熸椂闂翠篃澶�
+        if (new Date(item.start).getTime() < new Date(handleDatetime2(new Date())).getTime() && new Date(item.end).getTime() < new Date(handleDatetime2(new Date())).getTime()) {
+          item.capacity = false
+        }
+      })
 
+      return capacity_arr.filter(item => item.capacity !== false)
     },
-    // 缁欒澶囪浆鎹㈡牸寮�
+
+    // 鏃堕棿浼樺厛 缁欒澶囪浆鎹㈡牸寮�
     dataTransition() {
-      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
+      this.schedulingData = []
+      const data = this.timeTopTempData
 
       const all = []
-      const list = this.title_list
+      const list = this.eqpTopTempData
       for (const i in data) {
         for (const j in data[i].gtArray) {
           all.push(data[i].gtArray[j])
@@ -1495,491 +1417,21 @@
 
       for (const i in list) {
         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)
-          }
-        })
+        this.pushTimes(all, list[i].id, list[i].gtArray)
       }
-      console.log(list, 805)
-      // for (const n in list) {
-      //   if (list[n].gtArray.length === 0) {
-      //     list[n].status = false
-      //   }
-      // }
 
-      console.log(list)
-      this.bm_data = list
+      for (const n in list) {
+        if (list[n].gtArray.length === 0) {
+          list[n].status = false
+        }
+      }
 
-      // 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)
+      this.schedulingData = list
     },
     // 鎻掑叆浜ц兘鏃堕棿娈�
     pushTimes(newList, id, arr) {
       for (const i in newList) {
-        if (newList[i].id == id) {
+        if (newList[i].id === id) {
           arr.push(newList[i])
         }
       }
@@ -1998,74 +1450,24 @@
       return (
         d.getFullYear() +
         '-' +
-        (d.getMonth() + 1) +
+        (d.getMonth() + 1).toString().padStart(2, '0') +
         '-' +
-        d.getDate() +
+        d.getDate().toString().padStart(2, '0') +
         ' ' +
-        d.getHours() +
+        d.getHours().toString().padStart(2, '0') +
         ':' +
-        d.getMinutes() +
+        d.getMinutes().toString().padStart(2, '0') +
         ':' +
-        d.getSeconds()
+        d.getSeconds().toString().padStart(2, '0')
       )
     },
     // 鏃堕棿姣旇緝
-    formTime(d1, d2, mod) {
+    compareTime(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>
@@ -2101,6 +1503,16 @@
   background-color: #fff;
   margin-top: 20px;
   height: 490px;
+}
+
+.colorDescription {
+  display: flex;
+  padding: 5px 30px 0;
+}
+
+.colorDescriptionItem {
+  display: flex;
+  margin-right: 20px;
 }
 
 label {
@@ -2267,7 +1679,7 @@
 
 }
 
-::v-deep .gantt-header-title{
+::v-deep .gantt-header-title {
   background-color: #fff;
   //border-left: 1px solid #eee !important;
   //border-bottom: 1px solid #eee !important;

--
Gitblit v1.9.3