From adb74c51618faf025fe1d46bf6b22db895c2608f Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期日, 12 二月 2023 11:16:14 +0800
Subject: [PATCH] 1.提交
---
src/views/scgl/zdpc.vue | 1871 ++++++++++++++++++++++++++-------------------------------
1 files changed, 854 insertions(+), 1,017 deletions(-)
diff --git a/src/views/scgl/zdpc.vue b/src/views/scgl/zdpc.vue
index deb61b2..3ca1b8e 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>
@@ -237,13 +245,16 @@
</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,7 +262,7 @@
type="primary"
:disabled="radioSelectedId===''"
icon="el-icon-document-checked"
- @click="click_yes"
+ @click="prepareSubmit"
>鎻愪氦
</el-button>
</div>
@@ -268,7 +279,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 +286,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 +309,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 +324,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>
@@ -329,9 +355,6 @@
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',
@@ -368,27 +391,14 @@
}
},
- 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: [],
- forms: {
+ ganttCheckboxAll: true, // 鐢樼壒鍥惧乏渚у閫夋鏄惁閫変腑鎴栬�呭彇娑�
+ ganttLeftArrId: [], // 鐢樼壒鍥惧乏渚х殑鏁扮粍id
+ cl_name: '', // 浜у搧鍚嶇О
+ cl_code: '', // 浜у搧缂栫爜
+ work_order: '', // 宸ュ崟缂栧彿
+ AdvaScheUom: '', // 浜у搧鍗曚綅
+ time_data: [[handleDatetime(new Date()) + ' 00:00:00'], [handleDatetime(new Date()) + ' 00:00:00']], // 鐢樼壒鍥惧垵濮嬫覆鏌撶殑鏃堕棿鑼冨洿
+ forms: { // 鐐瑰嚮琛岃幏鍙栦俊鎭� 璇锋眰鎺ュ彛 鐨勬暟鎹璞�
wocode: '', // 宸ュ崟缂栧彿
wkshpcode: '', // 杞﹂棿缂栫爜
partcode: '', // 鐗╂枡缂栫爜
@@ -396,92 +406,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// 鑺傛媿
+ real_num: 0, // 鍙帓鏁伴噺
+ meter: 0// 闇�鎺掓暟閲�
},
+ schedulingData: [], // 鎺掔▼鐨勬渶缁堟暟鎹�
+ timeTopTempData: [], // 鏃堕棿浼樺厛鐨勪复鏃舵暟鎹�
- 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 },
+ 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: ''
- }
+ title_list: []// 涓嶇煡閬撶粰浣犲彇浠�涔堣嫳鏂囧悕绉板ソ 鏆傛椂娌″彉浣犵殑鍚嶅瓧
}
},
- 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 +458,7 @@
this.getHeight()
},
methods: {
- async getAdvancedSchedulingSearch() {
+ async getAdvancedSchedulingSearch() {
const res = await AdvancedSchedulingSearch(this.formTop)
this.tableData = res.data
this.totalTop = res.count
@@ -546,152 +501,188 @@
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.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()
- // },
// 鐐瑰嚮甯﹀嚭鏁版嵁
- async getOnclickAdvancedSchedulingDevice() {
- await this.facility_top()// 璁惧浼樺厛
-
+ async getOnclickAdvancedSchedulingDevice() {
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
+ if (res.rus.Message) {
+ this.$message.error(res.rus.Message)
+ }
+
+ const data = res.rows // 鎷垮埌寰呮帓鏁版嵁 瀵规暟鎹繘琛屾敼閫�
+ const cont = res.Cont // 鎷垮埌宸叉帓鏁版嵁 瀵规暟鎹繘琛屾敼閫�
+
this.formBottom.real_num = 0
- for (const i in this.time_all.rows[0].children) {
+
+ // 灏嗕簲涓椂闂存杩涜璧嬪��
+ 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]
+ }
+ }
+ }
+
+ const list = [] // 涓存椂list 鏆傚瓨
+ for (const i in data[0].children) {
const obj = {
id: '',
name: '',
@@ -706,775 +697,141 @@
},
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[
+ obj.id = data[0].children[i].AdvaDevicNumber
+ obj.name = data[0].children[i].AdvaDevicName
+ obj.AdvaDevicRhythm = data[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 != '') {
+ 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.id = data[i].children[j].AdvaDevicNumber
+ data1.start = data[i].children[j].OneStartDate[0]
+ data1.end = data[i].children[j].OneStartDate[1]
data1.mod =
- (this.time_all.rows[i].children[j].AdvaDevicCropMob * 1) /
+ (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.id = data[i].children[j].AdvaDevicNumber
+ data2.start = data[i].children[j].TwoStartDate[0]
+ data2.end = data[i].children[j].TwoStartDate[1]
data2.mod =
- (this.time_all.rows[i].children[j].AdvaDevicCropMob * 1) /
+ (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[
+ data3.id = data[i].children[j].AdvaDevicNumber
+ data3.start = data[i].children[
j
].ThreeStartDate[0]
- data3.end = this.time_all.rows[i].children[j].ThreeStartDate[1]
+ data3.end = data[i].children[j].ThreeStartDate[1]
data3.mod =
- (this.time_all.rows[i].children[j].AdvaDevicCropMob * 1) /
+ (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[
+ data4.id = data[i].children[j].AdvaDevicNumber
+ data4.start = data[i].children[
j
].FourStartDate[0]
- data4.end = this.time_all.rows[i].children[j].FourStartDate[1]
+ data4.end = data[i].children[j].FourStartDate[1]
data4.mod =
- (this.time_all.rows[i].children[j].AdvaDevicCropMob * 1) /
+ (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[
+ data5.id = data[i].children[j].AdvaDevicNumber
+ data5.start = data[i].children[
j
].FiveStartDate[0]
- data5.end = this.time_all.rows[i].children[j].FiveStartDate[1]
+ data5.end = data[i].children[j].FiveStartDate[1]
data5.mod =
- (this.time_all.rows[i].children[j].AdvaDevicCropMob * 1) /
+ (data[i].children[j].AdvaDevicCropMob * 1) /
100
newList.push(data5)
}
}
}
+
for (const i in list) {
- this.pushTiem(newList, list[i].id, list[i].gtArray)
+ this.pushItem(newList, list[i].id, list[i].gtArray)
}
- this.bm_data = list
- console.log(this.bm_data, 678)
- const _this = this
- if (cont != '') {
+
+ this.schedulingData = list
+
+ if (cont !== '') {
for (const i in cont) {
- for (const j in this.bm_data) {
- if (this.bm_data[j].id == cont[i].eqp_code) {
+ 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: this.cl_code,
work_order: cont[i].wo_code,
- STATUS: _this.AdvaScheUom,
- // status: _this.AdvaScheUom,
+ STATUS: this.AdvaScheUom,
+ // status: this.AdvaScheUom,
start: cont[i].time_start,
end: cont[i].time_end,
- type: cont[i].status == 'S' ? 'h_schedule' : 'bm_schedule'
+ type: cont[i].status === 'S' ? 'h_schedule' : 'bm_schedule'
}
- this.bm_data[j].flag = 'isCont'
- this.bm_data[j].gtArray.unshift(data)
+ this.schedulingData[j].flag = 'isCont'
+ this.schedulingData[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
+ 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.$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)
- }
- }
- },
- 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.formBottom.scheDate.push(this.getNowFormatDate())
- 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 = this.getNowFormatDate()
- 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
- },
- // 鎻愪氦鎺掔▼
- 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 = {
@@ -1499,63 +856,9 @@
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 = []
+ this.timeTopTempData = []
for (const i in data) {
const time = {
@@ -1563,11 +866,11 @@
AdvaDevicRhythm: '',
gtArray: []
}
- if (data[i].children != '') {
+ if (data[i].children !== '') {
time.AdvaDevicRhythm = data[i].children[0].AdvaDevicRhythm
}
for (const j in data[i].children) {
- if (data[i].children[j].OneStartDate != '') {
+ if (data[i].children[j].OneStartDate !== '') {
const icu1 = {
name: data[i].children[j].AdvaDevicName,
id: data[i].children[j].AdvaDevicNumber,
@@ -1579,7 +882,7 @@
}
time.gtArray.push(icu1)
}
- if (data[i].children[j].TwoStartDate != '') {
+ if (data[i].children[j].TwoStartDate !== '') {
const icu2 = {
name: data[i].children[j].AdvaDevicName,
id: data[i].children[j].AdvaDevicNumber,
@@ -1591,7 +894,7 @@
}
time.gtArray.push(icu2)
}
- if (data[i].children[j].ThreeStartDate != '') {
+ if (data[i].children[j].ThreeStartDate !== '') {
const icu3 = {
name: data[i].children[j].AdvaDevicName,
id: data[i].children[j].AdvaDevicNumber,
@@ -1603,7 +906,7 @@
}
time.gtArray.push(icu3)
}
- if (data[i].children[j].FourStartDate != '') {
+ if (data[i].children[j].FourStartDate !== '') {
const icu4 = {
name: data[i].children[j].AdvaDevicName,
id: data[i].children[j].AdvaDevicNumber,
@@ -1615,7 +918,7 @@
}
time.gtArray.push(icu4)
}
- if (data[i].children[j].FiveStartDate != '') {
+ if (data[i].children[j].FiveStartDate !== '') {
const icu5 = {
name: data[i].children[j].AdvaDevicName,
id: data[i].children[j].AdvaDevicNumber,
@@ -1629,17 +932,15 @@
}
}
- this.facility_data.push(time)
+ this.timeTopTempData.push(time)
}
- if (cont != '') {
+ 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) {
+ for (const j in this.timeTopTempData) {
const data = {
id: cont[i].eqp_code,
- date: cont_date,
+ date: cont[i].time_start.split(' ')[0],
number: cont[i].alloc_qty,
cl_name: cont[i].part_name,
cl_code: this.cl_code,
@@ -1648,10 +949,596 @@
end: cont[i].time_end,
type: 'h_schedule'
}
- if (this.facility_data[j].date == data.date) {
- this.facility_data[j].gtArray.unshift(data)
+ if (this.timeTopTempData[j].date === data.date) {
+ this.timeTopTempData[j].gtArray.unshift(data)
}
}
+ }
+ }
+ },
+ // 鎹㈠瀷鏃堕棿
+ MinutesTest(time) {
+ const t = new Date(time)
+ // console.log(typeof parseFloat(this.formBottom.times), 'typeof')
+ t.setMinutes(t.getMinutes() + this.formBottom.times * 1)
+ const now =
+ t.getFullYear() +
+ '-' +
+ (t.getMonth() + 1).toString().padStart(2, '0') +
+ '-' +
+ t.getDate().toString().padStart(2, '0') +
+ ' ' +
+ t.getHours().toString().padStart(2, '0') +
+ ':' +
+ t.getMinutes().toString().padStart(2, '0') +
+ ':' +
+ t.getSeconds().toString().padStart(2, '0')
+ return now
+ },
+ // 鎻掑叆浜ц兘鏃堕棿娈�
+ 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 // 宸ヨ壓璺嚎缂栫爜
+ },
+ // 鎻愪氦鎺掔▼
+ async prepareSubmit() {
+ if (this.formBottom.real_num !== this.formBottom.meter) {
+ this.$message.error('鏁伴噺鏈帓瀹岋紝璇疯缃骇鑳芥椂闂达紒')
+ } else {
+ const list = [] // 鎻愪氦鏁扮粍
+ for (const i in this.schedulingData) {
+ const arr = []
+ 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 !== '') {
+ 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()
+ }
+ },
+ // 鏃堕棿/璁惧浼樺厛鎺掔▼
+ prepareArrange() {
+ const timestamp = new Date().toLocaleDateString()
+
+ if (new Date(this.formBottom.scheDate[1]) < new Date(timestamp)) {
+ this.$message.error('鎺掔▼鏃ユ湡涓嶅彲浠ュ皬浜庡綋鍓嶆椂闂�!')
+ return false
+ }
+ this.filterAlreadyScheduleEqp()// 鎵嬪姩杩囨护鎵�鏈夎澶囧凡鎺掔▼
+
+ // 璁惧浼樺厛鎴栬�呮椂闂翠紭鍏� 瀵规暟鎹繘琛岀殑鏍煎紡杞崲
+ 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.editLastValue(this.schedulingData)
+ }
+ },
+ // 鎵嬪姩杩囨护鎵�鏈夋椂闂村凡鎺掔▼
+ filterAlreadyScheduleTime() {
+ this.timeTopTempData.forEach(item => {
+ if (item.gtArray && item.gtArray.length > 0) {
+ item.gtArray = item.gtArray.filter(it => it.type !== 'schedule')
+ }
+ })
+ },
+ // 鎵嬪姩杩囨护鎵�鏈夎澶囧凡鎺掔▼
+ filterAlreadyScheduleEqp() {
+ this.schedulingData.forEach(item => {
+ if (item.gtArray && item.gtArray.length > 0) {
+ item.gtArray = item.gtArray.filter(it => it.type !== 'schedule')
+ }
+ })
+ },
+ // 缁欐帓绋嬫渶鍚庝竴涓慨鏀规暟閲�
+ editLastValue(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.schedulingData) {
+ for (const j in this.schedulingData[i].gtArray) {
+ if (
+ this.schedulingData[i].gtArray[j].type === 'schedule' &&
+ this.schedulingData[i].gtArray[j].end_num
+ ) {
+ this.schedulingData[i].gtArray[j].number =
+ this.schedulingData[i].gtArray[j].number * 1 + mend_num
+ }
+ }
+ }
+ },
+ // 璁惧浼樺厛 鏁版嵁鏍煎紡杞崲
+ eqpDataTransition() {
+ let all_num = this.formBottom.meter
+ let flag1 = 0
+ const mod = this.schedulingData[0].mod
+ console.log(this.schedulingData, 998)
+ // let nowTime = this.schedulingData[0].AdvaDevicRhythm*all_num
+ // console.log(this.schedulingData, 31)
+ // console.log(JSON.stringify(this.schedulingData), 31)
+ for (const i in this.schedulingData) {
+ console.log(i, 32)
+ let end_arr = [] // 宸叉帓绋嬬殑鏁扮粍
+ let nend_arr = [] // 寰呮帓绋嬬殑鏁扮粍
+
+ let capacity_arr = [] // 瑕佹帓绋嬬殑鏁扮粍
+ this.schedulingData[i].gtArray.sort((a, b) => new Date(a.end).getTime() - new Date(b.end).getTime())
+ console.log(this.schedulingData)
+
+ end_arr = this.schedulingData[i].gtArray.filter(item => item.type === 'h_schedule') // 宸叉帓绋嬫暟缁�
+ nend_arr = this.schedulingData[i].gtArray.filter(item => item.type === 'capacity') // 瀹归噺
+
+ // end_arr.sort((a, b) => new Date(b.end).getTime() - new Date(a.end).getTime())
+
+ console.log(end_arr, nend_arr, 770)
+ console.log(JSON.stringify(end_arr), 771)
+ console.log(JSON.stringify(nend_arr), 772)
+
+ if (end_arr && end_arr.length > 0) {
+ capacity_arr = nend_arr.map(item => {
+ // 鎺掗櫎鎺夊凡缁忔帓绋嬬殑瀛樺湪hshedule锛宻tart锛宔nd閮界浉绛夌殑鎯呭喌
+ const schedule = end_arr.filter(it => {
+ return new Date(item.start).getTime() <= new Date(it.start).getTime() &&
+ new Date(item.end).getTime() >= new Date(it.end).getTime()
+ })
+
+ console.log(schedule, '鐜嬭�佸悏')
+ if (schedule && schedule.length > 0) {
+ console.log('鏈夎繘鏉ュ悧')
+ console.log(schedule[schedule.length - 1]['end'])
+ item.start = this.MinutesTest(schedule[schedule.length - 1]['end'])
+ }
+
+ const schedule1 = end_arr.filter(schedule => {
+ return new Date(item.start).getTime() === new Date(schedule.start).getTime() &&
+ new Date(item.end).getTime() === new Date(schedule.end).getTime()
+ })
+ 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)
+ }
+ console.log(capacity_arr, 997)
+ 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).getTime() >= new Date(capacity_arr[w].start).getTime()
+ ) {
+ console.log('鍔犲瀹�', id_obj.start_time)
+
+ data.start = this.MinutesTest(id_obj.start_time)
+ flag1 = 1
+ } else {
+ data.start = capacity_arr[w].start
+ }
+ let nowTime =
+ (this.schedulingData[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.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.schedulingData[i].AdvaDevicRhythm,
+ // '闃挎柉椤垮彂鏂拏鑺�'
+ // )
+ data.number =
+ ((new Date(data.end) - new Date(data.start)) *
+ capacity_arr[w].mod) /
+ this.schedulingData[i].AdvaDevicRhythm /
+ 1000
+ data.real_number =
+ ((new Date(data.end) - new Date(data.start)) *
+ capacity_arr[w].mod) /
+ this.schedulingData[i].AdvaDevicRhythm /
+ 1000
+ data.number = data.number.toFixed(0)
+ data.end_num = true
+ if (new Date(data.start) >= new Date(data.end)) {
+ } else {
+ this.schedulingData[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.schedulingData[i].AdvaDevicRhythm /
+ 1000
+ data.real_number =
+ ((new Date(data.end) - new Date(data.start)) *
+ capacity_arr[w].mod) /
+ this.schedulingData[i].AdvaDevicRhythm /
+ 1000
+ data.number = data.number.toFixed(0)
+
+ nowTime =
+ (all_num - data.real_number) * this.schedulingData[i].AdvaDevicRhythm
+ all_num = all_num - data.real_number
+ if (new Date(data.start) >= new Date(data.end)) {
+ } else {
+ this.schedulingData[i].gtArray.push(data)
+ }
+ }
+ }
+ }
+ },
+ // 鏃堕棿浼樺厛 鏁版嵁鏍煎紡杞崲
+ timeDataTransition() {
+ // 鎺掗櫎鏈嬀閫夐」
+ for (const i in this.timeTopTempData) {
+ const newArr = []
+ 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.timeTopTempData[i].gtArray = newArr
+ }
+ let all_num = this.formBottom.meter
+
+ const flag1 = 0
+ // let nowTime = this.timeTopTempData[0].AdvaDevicRhythm*all_num //鏁伴噺OK
+ console.log(this.timeTopTempData, 889)
+ console.log(JSON.stringify(this.timeTopTempData), 889)
+
+ // 閲岄潰閫昏緫瑕佹悶娓呮 寰堥噸瑕�
+ for (const i in this.timeTopTempData) {
+ console.log(i, 90)
+ let end_arr = []
+ let nend_arr = [] // 鎺掔▼鐨勬暟缁�
+
+ let capacity_arr = [] // 瑕佹帓绋嬬殑鏁扮粍
+
+ this.timeTopTempData[i].gtArray.sort((a, b) => new Date(a.end).getTime() - new Date(b.end).getTime())
+
+ // console.log(JSON.stringify(this.timeTopTempData), 671)
+
+ end_arr = JSON.parse(JSON.stringify(this.timeTopTempData[i].gtArray.filter(item => item.type === 'h_schedule'))) // 宸叉帓绋嬫暟鎹�
+ nend_arr = JSON.parse(JSON.stringify(this.timeTopTempData[i].gtArray.filter(item => item.type === 'capacity'))) // 瀹归噺
+ console.log(end_arr, nend_arr, 670)
+ // console.log(end_arr, 672)
+ // console.log(JSON.stringify(end_arr), 672)
+ // console.log(nend_arr, 673)
+ // console.log(JSON.stringify(nend_arr), 673)
+
+ capacity_arr = JSON.parse(JSON.stringify(nend_arr)) // 瀹归噺
+
+ // 鑾峰彇鍙帓绋嬬殑鏃堕棿 浠ヤ究鎺ョ潃寰�鍚庢帓绋� 閬嶅巻缁撴潫瑕佸緱鍒扮殑鏄� 褰撳墠鏃ユ湡鍙帓瀹归噺
+ end_arr.forEach((item, index) => { // 宸叉帓绋嬬殑鏁扮粍
+ capacity_arr.forEach((it, ind) => { // 瀹归噺锛堟棩浜ц兘锛�
+ if (item.id === it.id &&
+ new Date(item.start).getTime() >= new Date(it.start).getTime() &&
+ new Date(item.end).getTime() === new Date(it.end).getTime() // new Date(item.end).getTime() <= new Date(it.end).getTime()
+ ) {
+ console.log(ind, it, '鍝囧搱鍝�')
+ capacity_arr.splice(ind, 1)
+ }
+ })
+ })
+
+ console.log(capacity_arr, '澶цタ鐡�')
+
+ // continue:琛ㄧず璺冲嚭鏈寰幆锛屼篃灏辨槸涓嶆墽琛屾湰娆″惊鐜痗ontinue涔嬪悗鐨勬搷浣�
+ // break:琛ㄧず璺冲嚭褰撳墠鐨勫惊鐜紝閽堝鏁翠釜寰幆浣撶粓姝㈠悗缁殑閬嶅巻锛�
+ if (!capacity_arr || capacity_arr.length === 0) {
+ continue
+ }
+
+ const schedule_arr = end_arr.filter(item => {
+ const remain = nend_arr.some(it => {
+ return (new Date(item.start).getTime() >= new Date(it.start).getTime() &&
+ new Date(item.end).getTime() < new Date(it.end).getTime())
+ })
+ // console.log(remain, 'remain')
+ return remain
+ })
+
+ // console.log(schedule_arr, 1002)
+ // console.log(nend_arr, 299)
+
+ // debugger
+
+ // 涓嬮潰閫昏緫寰堥噸瑕�
+ if (schedule_arr && schedule_arr.length > 0) {
+ const scheduleCan = schedule_arr.map(item => {
+ const temp = nend_arr.filter(it => {
+ if (it.id === item.id) {
+ console.log('鎵ц浜嗭紒', item.id, item.end)
+ return (new Date(item.start).getTime() >= new Date(it.start).getTime() &&
+ new Date(item.end).getTime() < new Date(it.end).getTime())
+ // ||
+ // (new Date(item.start).getTime() > new Date(it.start).getTime() &&
+ // new Date(item.end).getTime() < new Date(it.end).getTime())
+ }
+ })[0]
+ // console.log('鏉庣櫧', temp)
+ // console.log('鏉庣櫧', item.end)
+ temp.start = this.MinutesTest(item.end)
+
+ return temp
+ })
+
+ const newSchedule = JSON.parse(JSON.stringify(scheduleCan))
+ console.log(newSchedule, 'newSchedule')
+ capacity_arr.forEach(item => {
+ newSchedule.forEach(it => {
+ if (item.id === it.id && new Date(item.start).getTime() < new Date(it.start).getTime()) {
+ item.start = it.start
+ }
+ })
+ })
+
+ // capacity_arr = newSchedule.concat(capacity_arr) //杩欒浠g爜鏄笉瀵圭殑
+ // console.log(scheduleCan, 'scheduleCan')
+ // console.log(capacity_arr, 'capacity_arr')
+ // capacity_arr.sort((a, b) => new Date(a.start).getTime() - new Date(b.start).getTime()) // start鏃堕棿鏃╃殑鍦ㄥ墠闈�
+ }
+ // console.log(schedule_arr)
+ // console.log('鍙帓绋嬫暟缁�', capacity_arr)
+ const id_obj = {}
+ if (end_arr != '') {
+ (id_obj.id = end_arr[0].id), (id_obj.start_time = end_arr[0].end)
+ }
+ // console.log(capacity_arr, 999)
+ // console.log(JSON.stringify(capacity_arr), 999)
+
+ for (const w in capacity_arr) {
+ let end_time
+ let mistiming
+ 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, 1000)
+ // console.log(data.start)
+ // flag1 =1
+ }
+ } else {
+ data.start = capacity_arr[w].start
+ // console.log(data.start, 1001)
+ }
+ // let nowTime = this.timeTopTempData[0].AdvaDevicRhythm*all_num
+ let nowTime = (capacity_arr[w].rhythm * all_num) / capacity_arr[w].mod
+
+ end_time = this.formSeconds(nowTime, data.start)
+
+ data.end = end_time
+ mistiming = this.compareTime(end_time, capacity_arr[w].end)
+ if (mistiming >= 0) {
+ data.number = ((new Date(data.end) - new Date(data.start)) * capacity_arr[w].mod) / capacity_arr[w].rhythm / 1000
+ data.real_number = ((new Date(data.end) - new Date(data.start)) * capacity_arr[w].mod) / capacity_arr[w].rhythm / 1000
+ data.number = data.number.toFixed(0)
+ data.end_num = true
+
+ if (new Date(data.start) >= new Date(data.end)) {
+ } else {
+ 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 = 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.timeTopTempData[i].gtArray.push(data)
+ }
+ }
+ }
+ }
+ },
+ // 鏃堕棿浼樺厛 缁欒澶囪浆鎹㈡牸寮�
+ dataTransition() {
+ this.schedulingData = []
+ const data = this.timeTopTempData
+
+ 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.pushTimes(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.schedulingData = list
+ },
+ // 鎻掑叆浜ц兘鏃堕棿娈�
+ pushTimes(newList, id, arr) {
+ for (const i in newList) {
+ if (newList[i].id === id) {
+ arr.push(newList[i])
}
}
},
@@ -1669,74 +1556,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>
@@ -1938,7 +1775,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