From d29c895dd848010391167be50548fea763fb306d Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期日, 12 二月 2023 21:15:19 +0800
Subject: [PATCH] 1.甘特图 新增换型时间逻辑
---
src/views/scgl/zdpc.vue | 126 +++++++++++------------------------------
1 files changed, 35 insertions(+), 91 deletions(-)
diff --git a/src/views/scgl/zdpc.vue b/src/views/scgl/zdpc.vue
index c9dace4..7f1c9c7 100644
--- a/src/views/scgl/zdpc.vue
+++ b/src/views/scgl/zdpc.vue
@@ -959,7 +959,7 @@
// 鎹㈠瀷鏃堕棿
MinutesTest(time) {
const t = new Date(time)
- // console.log(typeof parseFloat(this.formBottom.times), 'typeof')
+
t.setMinutes(t.getMinutes() + this.formBottom.times * 1)
const now =
t.getFullYear() +
@@ -1143,11 +1143,6 @@
mend_num = this.formBottom.meter - num
} else {
}
- // if (this.formBottom.real_num * 1 === this.formBottom.meter * 1) {
- // // mend_num = this.formBottom.meter - num
- // } else {
- // // this.submit_flag = true
- // }
for (const i in this.schedulingData) {
for (const j in this.schedulingData[i].gtArray) {
if (
@@ -1165,27 +1160,20 @@
let all_num = this.formBottom.meter
let flag1 = 0
const mod = this.schedulingData[0].mod
- console.log(this.schedulingData, 998)
+
// let nowTime = this.schedulingData[0].AdvaDevicRhythm*all_num
- // console.log(this.schedulingData, 31)
- // console.log(JSON.stringify(this.schedulingData), 31)
+
for (const i in this.schedulingData) {
- console.log(i, 32)
let end_arr = [] // 宸叉帓绋嬬殑鏁扮粍
let nend_arr = [] // 寰呮帓绋嬬殑鏁扮粍
let capacity_arr = [] // 瑕佹帓绋嬬殑鏁扮粍
this.schedulingData[i].gtArray.sort((a, b) => new Date(a.end).getTime() - new Date(b.end).getTime())
- console.log(this.schedulingData)
- end_arr = this.schedulingData[i].gtArray.filter(item => item.type === 'h_schedule') // 宸叉帓绋嬫暟缁�
- nend_arr = this.schedulingData[i].gtArray.filter(item => item.type === 'capacity') // 瀹归噺
+ end_arr = JSON.parse(JSON.stringify(this.schedulingData[i].gtArray.filter(item => item.type === 'h_schedule'))) // 宸叉帓绋嬫暟缁�
+ nend_arr = JSON.parse(JSON.stringify(this.schedulingData[i].gtArray.filter(item => item.type === 'capacity'))) // 瀹归噺
// end_arr.sort((a, b) => new Date(b.end).getTime() - new Date(a.end).getTime())
-
- console.log(end_arr, nend_arr, 770)
- console.log(JSON.stringify(end_arr), 771)
- console.log(JSON.stringify(nend_arr), 772)
if (end_arr && end_arr.length > 0) {
capacity_arr = nend_arr.map(item => {
@@ -1195,10 +1183,7 @@
new Date(item.end).getTime() >= new Date(it.end).getTime()
})
- console.log(schedule, '鐜嬭�佸悏')
if (schedule && schedule.length > 0) {
- console.log('鏈夎繘鏉ュ悧')
- console.log(schedule[schedule.length - 1]['end'])
item.start = this.MinutesTest(schedule[schedule.length - 1]['end'])
}
@@ -1223,20 +1208,8 @@
if (end_arr != '') {
(id_obj.id = end_arr[0].id), (id_obj.start_time = end_arr[0].end)
}
- console.log(capacity_arr, 997)
- // 杩欓噷瑕佸皢瀹归噺鍜屽綋鍓嶆椂闂村仛瀵规瘮 鍋氭椂闂村鐞� 濡傛灉鍦ㄥ綋鍓嶆椂闂翠箣鍓嶇殑涓嶈兘鎺掔▼
- capacity_arr.forEach((item, index) => {
- // 褰撳墠鏃堕棿 澶т簬绛変簬寮�濮嬫椂闂� 涓斿皬浜庣瓑浜庣粨鏉熸椂闂�
- if (new Date(item.start).getTime() <= new Date(handleDatetime2(new Date())).getTime() && new Date(item.end).getTime() >= new Date(handleDatetime2(new Date())).getTime()) {
- item.start = handleDatetime2(new Date())
- }
- // 褰撳墠鏃堕棿姣斿紑濮嬫椂闂村ぇ 姣旂粨鏉熸椂闂翠篃澶�
- if (new Date(item.start).getTime() < new Date(handleDatetime2(new Date())).getTime() && new Date(item.end).getTime() < new Date(handleDatetime2(new Date())).getTime()) {
- item.capacity = false
- }
- })
- capacity_arr = capacity_arr.filter(item => item.capacity !== false)
+ capacity_arr = this.filterOutTime(capacity_arr) // 杩囨护鎺夊綋鍓嶆椂闂翠箣鍓嶇殑涓嶈兘鎺掔▼
for (const w in capacity_arr) {
let end_time = ''
@@ -1257,8 +1230,6 @@
flag1 === 0 &&
new Date(id_obj.start_time).getTime() >= new Date(capacity_arr[w].start).getTime()
) {
- console.log('鍔犲瀹�', id_obj.start_time)
-
data.start = this.MinutesTest(id_obj.start_time)
flag1 = 1
} else {
@@ -1274,12 +1245,6 @@
capacity_arr[w].mod
) // 鎬诲叡鐨勭粨鏉熸椂闂�-褰撳墠鐨勭粨鏉熸椂闂� = 鍓╀笅澶氫箙鏃堕棿
if (mistiming >= 0) {
- // console.log(
- // new Date(data.end) - new Date(data.start),
- // capacity_arr[w].mod,
- // this.schedulingData[i].AdvaDevicRhythm,
- // '闃挎柉椤垮彂鏂拏鑺�'
- // )
data.number =
((new Date(data.end) - new Date(data.start)) *
capacity_arr[w].mod) /
@@ -1296,10 +1261,14 @@
} else {
this.schedulingData[i].gtArray.push(data)
}
-
return false
} else {
data.end = capacity_arr[w].end
+
+ if (new Date(data.end).getTime() < new Date(data.start)) {
+ continue // 鍥犱负寮�濮嬫椂闂存瘮缁撴潫鏃堕棿澶� 闇�瑕佽烦杩囧悗闈㈡楠�
+ }
+
data.number =
((new Date(data.end) - new Date(data.start)) *
capacity_arr[w].mod) /
@@ -1339,12 +1308,9 @@
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 = [] // 鎺掔▼鐨勬暟缁�
@@ -1352,15 +1318,8 @@
this.timeTopTempData[i].gtArray.sort((a, b) => new Date(a.end).getTime() - new Date(b.end).getTime())
- // console.log(JSON.stringify(this.timeTopTempData), 671)
-
end_arr = JSON.parse(JSON.stringify(this.timeTopTempData[i].gtArray.filter(item => item.type === 'h_schedule'))) // 宸叉帓绋嬫暟鎹�
nend_arr = JSON.parse(JSON.stringify(this.timeTopTempData[i].gtArray.filter(item => item.type === 'capacity'))) // 瀹归噺
- console.log(end_arr, nend_arr, 670)
- // console.log(end_arr, 672)
- // console.log(JSON.stringify(end_arr), 672)
- // console.log(nend_arr, 673)
- // console.log(JSON.stringify(nend_arr), 673)
capacity_arr = JSON.parse(JSON.stringify(nend_arr)) // 瀹归噺
@@ -1371,13 +1330,10 @@
new Date(item.start).getTime() >= new Date(it.start).getTime() &&
new Date(item.end).getTime() === new Date(it.end).getTime() // new Date(item.end).getTime() <= new Date(it.end).getTime()
) {
- console.log(ind, it, '鍝囧搱鍝�')
capacity_arr.splice(ind, 1)
}
})
})
-
- console.log(capacity_arr, '澶цタ鐡�')
// continue:琛ㄧず璺冲嚭鏈寰幆锛屼篃灏辨槸涓嶆墽琛屾湰娆″惊鐜痗ontinue涔嬪悗鐨勬搷浣�
// break:琛ㄧず璺冲嚭褰撳墠鐨勫惊鐜紝閽堝鏁翠釜寰幆浣撶粓姝㈠悗缁殑閬嶅巻锛�
@@ -1390,21 +1346,15 @@
return (new Date(item.start).getTime() >= new Date(it.start).getTime() &&
new Date(item.end).getTime() < new Date(it.end).getTime())
})
- // console.log(remain, 'remain')
+
return remain
})
-
- // console.log(schedule_arr, 1002)
- // console.log(nend_arr, 299)
-
- // debugger
// 涓嬮潰閫昏緫寰堥噸瑕�
if (schedule_arr && schedule_arr.length > 0) {
const scheduleCan = schedule_arr.map(item => {
const temp = nend_arr.filter(it => {
if (it.id === item.id) {
- console.log('鎵ц浜嗭紒', item.id, item.end)
return (new Date(item.start).getTime() >= new Date(it.start).getTime() &&
new Date(item.end).getTime() < new Date(it.end).getTime())
// ||
@@ -1412,15 +1362,14 @@
// new Date(item.end).getTime() < new Date(it.end).getTime())
}
})[0]
- // console.log('鏉庣櫧', temp)
- // console.log('鏉庣櫧', item.end)
+
temp.start = this.MinutesTest(item.end)
return temp
})
const newSchedule = JSON.parse(JSON.stringify(scheduleCan))
- console.log(newSchedule, 'newSchedule')
+
capacity_arr.forEach(item => {
newSchedule.forEach(it => {
if (item.id === it.id && new Date(item.start).getTime() < new Date(it.start).getTime()) {
@@ -1428,33 +1377,14 @@
}
})
})
-
- // capacity_arr = newSchedule.concat(capacity_arr) //杩欒浠g爜鏄笉瀵圭殑
- // console.log(scheduleCan, 'scheduleCan')
- // console.log(capacity_arr, 'capacity_arr')
- // capacity_arr.sort((a, b) => new Date(a.start).getTime() - new Date(b.start).getTime()) // start鏃堕棿鏃╃殑鍦ㄥ墠闈�
}
- // console.log(schedule_arr)
- // console.log('鍙帓绋嬫暟缁�', capacity_arr)
+
const id_obj = {}
if (end_arr != '') {
(id_obj.id = end_arr[0].id), (id_obj.start_time = end_arr[0].end)
}
- // console.log(capacity_arr, 999)
- // console.log(JSON.stringify(capacity_arr), 999)
- // 杩欓噷瑕佸皢瀹归噺鍜屽綋鍓嶆椂闂村仛瀵规瘮 鍋氭椂闂村鐞� 濡傛灉鍦ㄥ綋鍓嶆椂闂翠箣鍓嶇殑涓嶈兘鎺掔▼
- capacity_arr.forEach((item, index) => {
- // 褰撳墠鏃堕棿 澶т簬绛変簬寮�濮嬫椂闂� 涓斿皬浜庣瓑浜庣粨鏉熸椂闂�
- if (new Date(item.start).getTime() <= new Date(handleDatetime2(new Date())).getTime() && new Date(item.end).getTime() >= new Date(handleDatetime2(new Date())).getTime()) {
- item.start = handleDatetime2(new Date())
- }
- // 褰撳墠鏃堕棿姣斿紑濮嬫椂闂村ぇ 姣旂粨鏉熸椂闂翠篃澶�
- if (new Date(item.start).getTime() < new Date(handleDatetime2(new Date())).getTime() && new Date(item.end).getTime() < new Date(handleDatetime2(new Date())).getTime()) {
- item.capacity = false
- }
- })
- capacity_arr = capacity_arr.filter(item => item.capacity !== false)
+ capacity_arr = this.filterOutTime(capacity_arr) // 杩囨护鎺夊綋鍓嶆椂闂翠箣鍓嶇殑涓嶈兘鎺掔▼
for (const w in capacity_arr) {
let end_time
@@ -1470,7 +1400,7 @@
number: 0,
real_number: 0
}
- // console.log(id_obj.start_time)
+
if (
id_obj &&
new Date(id_obj.start_time).getTime() >=
@@ -1482,13 +1412,11 @@
// flag1 =1
} else {
data.start = capacity_arr[w].start
- // console.log(data.start, 1000)
- // console.log(data.start)
+
// flag1 =1
}
} else {
data.start = capacity_arr[w].start
- // console.log(data.start, 1001)
}
// let nowTime = this.timeTopTempData[0].AdvaDevicRhythm*all_num
let nowTime = (capacity_arr[w].rhythm * all_num) / capacity_arr[w].mod
@@ -1534,6 +1462,23 @@
}
}
},
+ // 杩囨护鎺夊綋鍓嶆椂闂翠箣鍓嶇殑涓嶈兘鎺掔▼
+ filterOutTime(capacity_arr) {
+ // 杩欓噷瑕佸皢瀹归噺鍜屽綋鍓嶆椂闂村仛瀵规瘮 鍋氭椂闂村鐞� 濡傛灉鍦ㄥ綋鍓嶆椂闂翠箣鍓嶇殑涓嶈兘鎺掔▼
+ capacity_arr.forEach((item, index) => {
+ // 褰撳墠鏃堕棿 澶т簬绛変簬寮�濮嬫椂闂� 涓斿皬浜庣瓑浜庣粨鏉熸椂闂�
+ if (new Date(item.start).getTime() <= new Date(handleDatetime2(new Date())).getTime() && new Date(item.end).getTime() >= new Date(handleDatetime2(new Date())).getTime()) {
+ item.start = handleDatetime2(new Date())
+ }
+ // 褰撳墠鏃堕棿姣斿紑濮嬫椂闂村ぇ 姣旂粨鏉熸椂闂翠篃澶�
+ if (new Date(item.start).getTime() < new Date(handleDatetime2(new Date())).getTime() && new Date(item.end).getTime() < new Date(handleDatetime2(new Date())).getTime()) {
+ item.capacity = false
+ }
+ })
+
+ return capacity_arr.filter(item => item.capacity !== false)
+ },
+
// 鏃堕棿浼樺厛 缁欒澶囪浆鎹㈡牸寮�
dataTransition() {
this.schedulingData = []
@@ -1558,7 +1503,6 @@
}
}
- // console.log(list)
this.schedulingData = list
},
// 鎻掑叆浜ц兘鏃堕棿娈�
--
Gitblit v1.9.3