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