From 2d50604111ced4973d1bf7c470005f52be203f50 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期六, 11 二月 2023 17:28:00 +0800
Subject: [PATCH] 1.自动排程单选渲染事件基本实现
---
src/views/scgl/zdpc.vue | 156 +++++++++++++++++++++++++--------------------------
1 files changed, 77 insertions(+), 79 deletions(-)
diff --git a/src/views/scgl/zdpc.vue b/src/views/scgl/zdpc.vue
index 86a9ffe..d4ce167 100644
--- a/src/views/scgl/zdpc.vue
+++ b/src/views/scgl/zdpc.vue
@@ -432,7 +432,7 @@
scaleList: `30,60,240,360`.split(',').map(n => parseInt(n)),
hideHeader: false,
arrayKeys: ['gtArray', 'error'],
- title_list: []
+ title_list: []// 涓嶇煡閬撶粰浣犲彇浠�涔堣嫳鏂囧悕绉板ソ 鏆傛椂娌″彉浣犵殑鍚嶅瓧
}
},
@@ -955,17 +955,11 @@
}
}
}
-
- // console.log('鎵ц浜�!')
- // console.log(this.schedulingData, ' this.schedulingData')
- // console.log(this.timeTopTempData, 'this.timeTopTempData')
-
- // this.$forceUpdate()
},
// 鎹㈠瀷鏃堕棿
MinutesTest(time) {
const t = new Date(time)
- console.log(t.getMinutes(), 800)
+ // console.log(t.getMinutes(), 800)
t.setMinutes(t.getMinutes() + this.formBottom.times * 1)
const now =
t.getFullYear() +
@@ -979,7 +973,7 @@
t.getMinutes().toString().padStart(2, '0') +
':' +
t.getSeconds().toString().padStart(2, '0')
- console.log('now', now)
+ // console.log('now', now)
return now
},
// 鎻掑叆浜ц兘鏃堕棿娈�
@@ -1106,14 +1100,6 @@
this.dataTransition()
this.editLastValue(this.schedulingData)
}
-
- // console.log('鎵ц浜�!')
- // console.log(this.schedulingData, ' this.schedulingData')
- // console.log(JSON.stringify(this.schedulingData), ' this.schedulingData')
- // console.log(this.timeTopTempData, 'this.timeTopTempData')
- // console.log(JSON.stringify(this.timeTopTempData), 'this.timeTopTempData')
-
- // this.$forceUpdate()
},
// 鎵嬪姩杩囨护鎵�鏈夋椂闂村凡鎺掔▼
filterAlreadyScheduleTime() {
@@ -1178,28 +1164,31 @@
// 璁惧浼樺厛 鏁版嵁鏍煎紡杞崲
eqpDataTransition() {
let all_num = this.formBottom.meter
- const all_time = []
let flag1 = 0
const mod = this.schedulingData[0].mod
// let nowTime = this.schedulingData[0].AdvaDevicRhythm*all_num
- console.log(this.schedulingData.length, 31)
+ // console.log(this.schedulingData, 31)
+ // console.log(JSON.stringify(this.schedulingData), 31)
for (const i in this.schedulingData) {
console.log(i, 32)
let end_arr = [] // 宸叉帓绋嬬殑鏁扮粍
let nend_arr = [] // 寰呮帓绋嬬殑鏁扮粍
- const add_arr = [] // 宸叉帓绋嬬殑鏁扮粍
+
let capacity_arr = [] // 瑕佹帓绋嬬殑鏁扮粍
this.schedulingData[i].gtArray.sort((a, b) => new Date(a.end).getTime() - new Date(b.end).getTime())
- // let capacity_end = ''
+
end_arr = this.schedulingData[i].gtArray.filter(item => item.type === 'h_schedule')
nend_arr = this.schedulingData[i].gtArray.filter(item => item.type === 'capacity')
+ console.log(end_arr, nend_arr, 770)
+
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()
+ const schedule = end_arr.filter(it => {
+ return new Date(item.start).getTime() <= new Date(it.start).getTime() &&
+ new Date(item.end).getTime() >= new Date(it.end).getTime()
})
+
if (schedule && schedule.length > 0) {
item.start = this.MinutesTest(schedule[0]['end'])
}
@@ -1321,105 +1310,114 @@
this.timeTopTempData[i].gtArray = newArr
}
let all_num = this.formBottom.meter
- const all_time = []
+
const flag1 = 0
// let nowTime = this.timeTopTempData[0].AdvaDevicRhythm*all_num //鏁伴噺OK
console.log(this.timeTopTempData, 889)
console.log(JSON.stringify(this.timeTopTempData), 889)
+ // 閲岄潰閫昏緫瑕佹悶娓呮 寰堥噸瑕�
for (const i in this.timeTopTempData) {
console.log(i, 90)
let end_arr = []
let nend_arr = [] // 鎺掔▼鐨勬暟缁�
- const add_arr = [] // 宸叉帓绋嬬殑鏁扮粍
+
let capacity_arr = [] // 瑕佹帓绋嬬殑鏁扮粍
this.timeTopTempData[i].gtArray.sort((a, b) => new Date(a.end).getTime() - new Date(b.end).getTime())
- // let capacity_end = ''
-
// console.log(JSON.stringify(this.timeTopTempData), 671)
- end_arr = this.timeTopTempData[i].gtArray.filter(item => item.type === 'h_schedule') // 宸叉帓绋嬫暟鎹�
- nend_arr = this.timeTopTempData[i].gtArray.filter(item => item.type === 'capacity') // 瑕佹帓绋嬫暟鎹�
+ end_arr = JSON.parse(JSON.stringify(this.timeTopTempData[i].gtArray.filter(item => item.type === 'h_schedule'))) // 宸叉帓绋嬫暟鎹�
+ nend_arr = JSON.parse(JSON.stringify(this.timeTopTempData[i].gtArray.filter(item => item.type === 'capacity'))) // 瀹归噺
console.log(end_arr, nend_arr, 670)
// console.log(end_arr, 672)
// console.log(JSON.stringify(end_arr), 672)
// console.log(nend_arr, 673)
// console.log(JSON.stringify(nend_arr), 673)
- capacity_arr = JSON.parse(JSON.stringify(nend_arr)) // 瑕佹帓绋嬬殑鏁扮粍
- end_arr.forEach(item => {
- for (let i = 0; i < capacity_arr.length; i++) {
- if (new Date(capacity_arr[i].start).getTime() === new Date(item.start).getTime()) {
- // console.log(capacity_arr[i].start, 671)
- // console.log(capacity_arr[i].end, 671)
- console.log(i, capacity_arr[i], '鍝囧搱鍝�')
- capacity_arr.splice(i, 1)
- break
+ // end_arr = JSON.parse(JSON.stringify(end_arr.sort((a, b) => new Date(b.end) - new Date(a.end))))
+
+ 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() && item.id === capacity_arr[i].id) {
+ // console.log(i, capacity_arr[i], '鍝囧搱鍝�')
+ // capacity_arr.splice(i, 1)
+ // break
+ // }
+ // }
+ // })
+
+ // 鑾峰彇鍙帓绋嬬殑鏃堕棿 浠ヤ究鎺ョ潃寰�鍚庢帓绋� 閬嶅巻缁撴潫瑕佸緱鍒扮殑鏄� 褰撳墠鏃ユ湡鍙帓瀹归噺
+ end_arr.forEach((item, index) => { // 宸叉帓绋嬬殑鏁扮粍
+ capacity_arr.forEach((it, ind) => { // 瀹归噺锛堟棩浜ц兘锛�
+ if (item.id === it.id &&
+ new Date(item.start).getTime() >= new Date(it.start).getTime() &&
+ new Date(item.end).getTime() === new Date(it.end).getTime() // new Date(item.end).getTime() <= new Date(it.end).getTime()
+ ) {
+ console.log(ind, it, '鍝囧搱鍝�')
+ capacity_arr.splice(ind, 1)
}
- }
+ })
})
+
console.log(capacity_arr, '澶цタ鐡�')
- if (!capacity_arr || capacity_arr.length === 0) break
-
- console.log(nend_arr, 'nend_arr')
- console.log(JSON.stringify(nend_arr), 'nend_arr')
+ // continue:琛ㄧず璺冲嚭鏈寰幆锛屼篃灏辨槸涓嶆墽琛屾湰娆″惊鐜痗ontinue涔嬪悗鐨勬搷浣�
+ // break:琛ㄧず璺冲嚭褰撳墠鐨勫惊鐜紝閽堝鏁翠釜寰幆浣撶粓姝㈠悗缁殑閬嶅巻锛�
+ if (!capacity_arr || capacity_arr.length === 0) {
+ continue
+ }
const schedule_arr = end_arr.filter(item => {
const remain = nend_arr.some(it => {
- // return (new Date(it.start).getTime() === new Date(item.start).getTime() &&
- // new Date(item.end).getTime() < new Date(it.end).getTime()) || (
- // new Date(it.end).getTime() === new Date(item.end).getTime() &&
- // new Date(item.start).getTime() > new Date(it.start).getTime())
-
- return (new Date(it.start).getTime() === new Date(item.start).getTime() &&
+ return (new Date(item.start).getTime() >= new Date(it.start).getTime() &&
new Date(item.end).getTime() < new Date(it.end).getTime())
})
+ // console.log(remain, 'remain')
return remain
})
- // schedule_arr.sort((a, b) => new Date(b.end).getTime() - new Date(a.end).getTime())
- // schedule_arr = schedule_arr.filter((currentValue, currentIndex, selfArr) => {
- // return selfArr.findIndex(item => item.id === currentValue.id) === currentIndex
- // })
+ // console.log(schedule_arr, 1002)
+ // console.log(nend_arr, 299)
- console.log(schedule_arr, 1002)
-
+ // debugger
+ // 褰撴煇涓閲忓瓨鍦ㄤ笁涓笉鍚岀殑宸ュ崟鏃� 涓嬮潰杩欎釜if閫昏緫瀛樺湪闂
if (schedule_arr && schedule_arr.length > 0) {
- // 鎵惧埌鍚屼竴璁惧涓嬬殑end鏈�澶у��
- // const maxEnd = schedule_arr.sort((a, b) => new Date(b.end).getTime() - new Date(a.end).getTime())[0].end
-
const scheduleCan = schedule_arr.map(item => {
const temp = nend_arr.filter(it => {
if (it.id === item.id) {
- return (new Date(it.start).getTime() === new Date(item.start).getTime() &&
+ console.log('鎵ц浜嗭紒', item.id, item.end)
+ return (new Date(item.start).getTime() === new Date(it.start).getTime() &&
new Date(item.end).getTime() < new Date(it.end).getTime())
+ // ||
+ // (new Date(item.start).getTime() > new Date(it.start).getTime() &&
+ // new Date(item.end).getTime() < new Date(it.end).getTime())
}
})[0]
- // console.log('capacity', temp)
- // console.log('capacity', item.end)
- // console.log('capacity', item.end === '2023-02-09 13:30:00')
-
temp.start = this.MinutesTest(item.end)
- // temp.start = item.end
- // temp.start = maxEnd
- // temp.start = '2023-02-09 13:30:00'
return temp
})
- console.log(scheduleCan, 'scheduleCan')
- // scheduleCan.sort((a, b) => new Date(a.start).getTime() - new Date(b.start).getTime())
- // scheduleCan = scheduleCan.filter((currentValue, currentIndex, selfArr) => {
- // return selfArr.findIndex(item => item.id === currentValue.id) === currentIndex
- // })
- // console.log(scheduleCan, 'scheduleCan2')
const newSchedule = JSON.parse(JSON.stringify(scheduleCan))
- capacity_arr = newSchedule.concat(capacity_arr)
+
+ capacity_arr.forEach(item => {
+ newSchedule.forEach(it => {
+ if (item.id === it.id && new Date(item.start).getTime() < new Date(it.start).getTime()) {
+ item.start = it.start
+ }
+ })
+ })
+
+ // capacity_arr = newSchedule.concat(capacity_arr) //杩欒浠g爜鏄笉瀵圭殑
+ // console.log(scheduleCan, 'scheduleCan')
+ // console.log(capacity_arr, 'capacity_arr')
+ // capacity_arr.sort((a, b) => new Date(a.start).getTime() - new Date(b.start).getTime()) // start鏃堕棿鏃╃殑鍦ㄥ墠闈�
}
- console.log(schedule_arr)
- console.log('鍙帓绋嬫暟缁�', capacity_arr)
+ // 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)
@@ -1446,17 +1444,17 @@
) {
if (data.id === id_obj.id) {
data.start = this.MinutesTest(id_obj.start_time)
- console.log(data.start, 999)
+ // console.log(data.start, 999)
// flag1 =1
} else {
data.start = capacity_arr[w].start
- console.log(data.start, 1000)
+ // console.log(data.start, 1000)
// console.log(data.start)
// flag1 =1
}
} else {
data.start = capacity_arr[w].start
- console.log(data.start, 1001)
+ // console.log(data.start, 1001)
}
// let nowTime = this.timeTopTempData[0].AdvaDevicRhythm*all_num
let nowTime = (capacity_arr[w].rhythm * all_num) / capacity_arr[w].mod
--
Gitblit v1.9.3