From afb8a50556c1883809c68557799d53599ac2083b Mon Sep 17 00:00:00 2001 From: shijing Date: Fri, 27 Mar 2026 17:22:38 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=9B=B4=E6=94=B9=E5=B8=83=E5=B1=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/coalFeeding.vue | 1323 +++++++++++++++++++++++++++---------- 1 file changed, 973 insertions(+), 350 deletions(-) diff --git a/src/views/coalFeeding.vue b/src/views/coalFeeding.vue index 151388f..3ccaa8c 100644 --- a/src/views/coalFeeding.vue +++ b/src/views/coalFeeding.vue @@ -117,23 +117,24 @@ > - {{ getCellValue(item, row.key) }} + {{ getCellValue(item, row) }} +
M
@@ -160,14 +161,14 @@ class="border w1_2 text_8 rounded h0_9 bg_red border_red text_white" :style="{ cursor: isDjToggleDisabled(item.team) ? 'text' : 'pointer' }" :class="{ c_pointer: !isDjToggleDisabled(item.team) }" - @click="!isDjToggleDisabled(item.team) && toggleDjStop(dj, item.team, item.statusAuto)" + @click="!isDjToggleDisabled(item.team) && toggleDjStop(dj, item.team, item.statusAuto, 'team_top')" >停止 运行
@@ -179,6 +180,7 @@ +
{{ item.tempera2 }} °C
+
{{ item.carNumber }}
+
- {{ getCellValue(item, row.key) }} + {{ getCellValue(item, row) }}
M
@@ -253,14 +257,14 @@ class="border w1_2 text_8 rounded h0_9 bg_red border_red text_white" :style="{ cursor: isDjToggleDisabled(item.team) ? 'text' : 'pointer' }" :class="{ c_pointer: !isDjToggleDisabled(item.team) }" - @click="!isDjToggleDisabled(item.team) && toggleDjStop(dj, item.team, item.statusAuto, 'dianji2')" + @click="!isDjToggleDisabled(item.team) && toggleDjStop(dj, item.team, item.statusAuto, 'team_bottom')" >停止 运行
@@ -361,461 +365,1069 @@ type djItem = { id: string; name?: string; }; -type TimeFieldKey = - | "tmyxsds" - | "tmtzsds" - | "tmljsds" - | "blyxsds" - | "tmyxsdx" - | "tmtzsdx" - | "tmljsdx" - | "blyxsdx"; +type TimeFieldKey = "run_time_sec" | "top_time_sec" | "acc_time_sec" | "bl_time_sec"; type DisplayFieldKey = "tmljsjs" | "tmljsjx" | "tempera1" | "tempera2" | "carNumber"; +type SectionKey = "team_top" | "team_bottom"; +type CoalSectionTop = { + run_time_sec: number | string; + top_time_sec: number | string; + acc_time_sec: number | string; + bl_time_sec: number | string; + dianji: djItem[]; +}; +type CoalSectionBottom = { + run_time_sec: number | string; + top_time_sec: number | string; + acc_time_sec: number | string; + bl_time_sec: number | string; + dianji2: djItem[]; +}; type BlockRowConfig = { key: TimeFieldKey | DisplayFieldKey; label: string; kind: "time" | "display"; + section?: SectionKey; idPrefix?: string; }; type CoalUnit = { team: string; unit: number; statusAuto: boolean; - dianji: djItem[]; - dianji2: djItem[]; - [key: string]: any; + tempera1: number | string; + tempera2: number | string; + carNumber: number | string; + tmljsjs: number | string; + tmljsjx: number | string; + team_top: CoalSectionTop; + team_bottom: CoalSectionBottom; }; const upperBlockRows: BlockRowConfig[] = [ - { key: "tmyxsds", label: "投煤运行时间设定", kind: "time", idPrefix: "tmyxsds" }, - { key: "tmtzsds", label: "投煤停止时间设定", kind: "time", idPrefix: "tmtzsds" }, - { key: "tmljsds", label: "投煤累积时间设定", kind: "time", idPrefix: "tmljsds" }, - { key: "blyxsds", label: "布料运行时间设定", kind: "time", idPrefix: "blyxsds" }, + { key: "run_time_sec", label: "投煤运行时间设定", kind: "time", section: "team_top", idPrefix: "tmyxsds" }, + { key: "top_time_sec", label: "投煤停止时间设定", kind: "time", section: "team_top", idPrefix: "tmtzsds" }, + { key: "acc_time_sec", label: "投煤累积时间设定", kind: "time", section: "team_top", idPrefix: "tmljsds" }, + { key: "bl_time_sec", label: "布料运行时间设定", kind: "time", section: "team_top", idPrefix: "blyxsds" }, { key: "tmljsjs", label: "投煤累积时间", kind: "display", idPrefix: "tmljsjs" }, ]; const lowerBlockRows: BlockRowConfig[] = [ - { key: "tmyxsdx", label: "投煤运行时间设定", kind: "time", idPrefix: "tmyxsdx" }, - { key: "tmtzsdx", label: "投煤停止时间设定", kind: "time", idPrefix: "tmtzsdx" }, - { key: "tmljsdx", label: "投煤累积时间设定", kind: "time", idPrefix: "tmljsdx" }, - { key: "blyxsdx", label: "布料运行时间设定", kind: "time", idPrefix: "blyxsdx" }, + { key: "run_time_sec", label: "投煤运行时间设定", kind: "time", section: "team_bottom", idPrefix: "tmyxsdx" }, + { key: "top_time_sec", label: "投煤停止时间设定", kind: "time", section: "team_bottom", idPrefix: "tmtzsdx" }, + { key: "acc_time_sec", label: "投煤累积时间设定", kind: "time", section: "team_bottom", idPrefix: "tmljsdx" }, + { key: "bl_time_sec", label: "布料运行时间设定", kind: "time", section: "team_bottom", idPrefix: "blyxsdx" }, { key: "tmljsjx", label: "投煤累积时间", kind: "display", idPrefix: "tmljsjx" }, ]; const dataList = reactive([ { team: "第一单元", unit: 1, - tmyxsds: 3, - tmyxsdx: 3, - tmtzsds: 55, - tmtzsdx: 55, - tmljsds: 55, - tmljsdx: 58, - blyxsds: 3, - blyxsdx: 3, - tmljsjs: 49, - tmljsjx: 50, tempera1: 103, tempera2: 50, carNumber: 14, + tmljsjs: 49, + tmljsjx: 50, statusAuto: true, - dianji: [ - { isStop: false, isBendi: true, eqm: "正常",id:'unit1_dj1' }, - { isStop: false, isBendi: true, eqm: "正常",id:'unit1_dj2' }, - { isStop: false, isBendi: true, eqm: "正常",id:'unit1_dj3' }, - { isStop: false, isBendi: true, eqm: "正常",id:'unit1_dj4' }, - ], - dianji2: [ - { isStop: false, isBendi: true, eqm: "正常",id:'unit1_dj1' }, - { isStop: false, isBendi: true, eqm: "正常",id:'unit1_dj2' }, - { isStop: false, isBendi: true, eqm: "正常",id:'unit1_dj3' }, - { isStop: false, isBendi: true, eqm: "正常",id:'unit1_dj4' }, - ], + team_top: { + run_time_sec: 3, + top_time_sec: 55, + acc_time_sec: 55, + bl_time_sec: 3, + dianji: [ + { + isStop: false, + isBendi: true, + eqm: "正常", + id: "unit1_dj1" + }, + { + isStop: false, + isBendi: true, + eqm: "正常", + id: "unit1_dj2" + }, + { + isStop: false, + isBendi: true, + eqm: "正常", + id: "unit1_dj3" + }, + { + isStop: false, + isBendi: true, + eqm: "正常", + id: "unit1_dj4" + } + ] + }, + team_bottom: { + run_time_sec: 3, + top_time_sec: 55, + acc_time_sec: 58, + bl_time_sec: 3, + dianji2: [ + { + isStop: false, + isBendi: true, + eqm: "正常", + id: "unit1_dj1" + }, + { + isStop: false, + isBendi: true, + eqm: "正常", + id: "unit1_dj2" + }, + { + isStop: false, + isBendi: true, + eqm: "正常", + id: "unit1_dj3" + }, + { + isStop: false, + isBendi: true, + eqm: "正常", + id: "unit1_dj4" + } + ] + } }, { team: "第二单元第一组", unit: 2, - tmyxsds: 2, - tmyxsdx: 3, - tmtzsds: 120, - tmtzsdx: 120, - tmljsds: 57, - tmljsdx: 57, - blyxsds: 40, - blyxsdx: 40, - tmljsjs: 39, - tmljsjx: 23, tempera1: 70, tempera2: 44, carNumber: 15, + tmljsjs: 39, + tmljsjx: 23, statusAuto: true, - dianji: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj1' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj2' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj3' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj4' }, - ], - dianji2: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj1' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj2' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj3' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj4' }, - ], + team_top: { + run_time_sec: 2, + top_time_sec: 120, + acc_time_sec: 57, + bl_time_sec: 40, + dianji: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj1" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj2" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj3" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj4" + } + ] + }, + team_bottom: { + run_time_sec: 3, + top_time_sec: 120, + acc_time_sec: 57, + bl_time_sec: 40, + dianji2: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj1" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj2" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj3" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj4" + } + ] + } }, { team: "第二单元第二组", unit: 2, - tmyxsds: 2, - tmyxsdx: 2, - tmtzsds: 480, - tmtzsdx: 480, - tmljsds: 58, - tmljsdx: 58, - blyxsds: 40, - blyxsdx: 40, - tmljsjs: 12, - tmljsjx: 9, tempera1: 131, tempera2: 91, carNumber: 16, + tmljsjs: 12, + tmljsjx: 9, statusAuto: true, - dianji: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj5' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj6' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj7' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj8' }, - ], - dianji2: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj5' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj6' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj7' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj8' }, - ], + team_top: { + run_time_sec: 2, + top_time_sec: 480, + acc_time_sec: 58, + bl_time_sec: 40, + dianji: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj5" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj6" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj7" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj8" + } + ] + }, + team_bottom: { + run_time_sec: 2, + top_time_sec: 480, + acc_time_sec: 58, + bl_time_sec: 40, + dianji2: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj5" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj6" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj7" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj8" + } + ] + } }, { team: "第二单元第三组", unit: 2, - tmyxsds: 2, - tmyxsdx: 2, - tmtzsds: 240, - tmtzsdx: 240, - tmljsds: 59, - tmljsdx: 59, - blyxsds: 38, - blyxsdx: 38, - tmljsjs: 12, - tmljsjx: 27, tempera1: 274, tempera2: 359, carNumber: 17, + tmljsjs: 12, + tmljsjx: 27, statusAuto: true, - dianji: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj9' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj10' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj11' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj12' }, - ], - dianji2: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj9' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj10' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj11' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj12' }, - ], + team_top: { + run_time_sec: 2, + top_time_sec: 240, + acc_time_sec: 59, + bl_time_sec: 38, + dianji: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj9" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj10" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj11" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj12" + } + ] + }, + team_bottom: { + run_time_sec: 2, + top_time_sec: 240, + acc_time_sec: 59, + bl_time_sec: 38, + dianji2: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj9" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj10" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj11" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj12" + } + ] + } }, { team: "第二单元第四组", unit: 2, - tmyxsds: 3, - tmyxsdx: 3, - tmtzsds: 120, - tmtzsdx: 120, - tmljsds: 60, - tmljsdx: 60, - blyxsds: 38, - blyxsdx: 38, - tmljsjs: 41, - tmljsjx: 36, tempera1: 292, tempera2: 60, carNumber: 18, + tmljsjs: 41, + tmljsjx: 36, statusAuto: true, - dianji: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj13' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj14' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj15' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj16' }, - ], - dianji2: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj13' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj14' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj15' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj16' }, - ], + team_top: { + run_time_sec: 3, + top_time_sec: 120, + acc_time_sec: 60, + bl_time_sec: 38, + dianji: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj13" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj14" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj15" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj16" + } + ] + }, + team_bottom: { + run_time_sec: 3, + top_time_sec: 120, + acc_time_sec: 60, + bl_time_sec: 38, + dianji2: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj13" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj14" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj15" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj16" + } + ] + } }, { team: "第二单元第五组", unit: 2, - tmyxsds: 2, - tmyxsdx: 2, - tmtzsds: 240, - tmtzsdx: 240, - tmljsds: 57, - tmljsdx: 57, - blyxsds: 36, - blyxsdx: 36, - tmljsjs: 32, - tmljsjx: 22, tempera1: 395, tempera2: 368, carNumber: 19, + tmljsjs: 32, + tmljsjx: 22, statusAuto: true, - dianji: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj17' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj18' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj19' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj20' }, - ], - dianji2: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj17' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj18' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj19' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj20' }, - ], + team_top: { + run_time_sec: 2, + top_time_sec: 240, + acc_time_sec: 57, + bl_time_sec: 36, + dianji: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj17" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj18" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj19" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj20" + } + ] + }, + team_bottom: { + run_time_sec: 2, + top_time_sec: 240, + acc_time_sec: 57, + bl_time_sec: 36, + dianji2: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj17" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj18" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj19" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj20" + } + ] + } }, { team: "第二单元第六组", unit: 2, - tmyxsds: 2, - tmyxsdx: 2, - tmtzsds: 180, - tmtzsdx: 180, - tmljsds: 60, - tmljsdx: 60, - blyxsds: 36, - blyxsdx: 36, - tmljsjs: 21, - tmljsjx: 25, tempera1: 558, tempera2: 477, carNumber: 20, + tmljsjs: 21, + tmljsjx: 25, statusAuto: true, - dianji: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj21' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj22' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj23' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj24' }, - ], - dianji2: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj21' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj22' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj23' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit2_dj24' }, - ], + team_top: { + run_time_sec: 2, + top_time_sec: 180, + acc_time_sec: 60, + bl_time_sec: 36, + dianji: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj21" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj22" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj23" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj24" + } + ] + }, + team_bottom: { + run_time_sec: 2, + top_time_sec: 180, + acc_time_sec: 60, + bl_time_sec: 36, + dianji2: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj21" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj22" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj23" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit2_dj24" + } + ] + } }, { team: "第三单元第一组", unit: 3, - tmyxsds: 2, - tmyxsdx: 2, - tmtzsds: 90, - tmtzsdx: 90, - tmljsds: 60, - tmljsdx: 60, - blyxsds: 36, - blyxsdx: 36, - tmljsjs: 30, - tmljsjx: 48, tempera1: 683, tempera2: 652, carNumber: 21, + tmljsjs: 30, + tmljsjx: 48, statusAuto: true, - dianji: [ - { isStop: false, isBendi: false, eqm: "正常" ,id:'unit3_dj1'}, - { isStop: false, isBendi: false, eqm: "正常" ,id:'unit3_dj2'}, - { isStop: false, isBendi: false, eqm: "正常" ,id:'unit3_dj3'}, - { isStop: false, isBendi: false, eqm: "正常" ,id:'unit3_dj4'}, - ], - dianji2: [ - { isStop: false, isBendi: false, eqm: "正常" ,id:'unit3_dj1'}, - { isStop: false, isBendi: false, eqm: "正常" ,id:'unit3_dj2'}, - { isStop: false, isBendi: false, eqm: "正常" ,id:'unit3_dj3'}, - { isStop: false, isBendi: false, eqm: "正常" ,id:'unit3_dj4'}, - ], + team_top: { + run_time_sec: 2, + top_time_sec: 90, + acc_time_sec: 60, + bl_time_sec: 36, + dianji: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj1" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj2" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj3" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj4" + } + ] + }, + team_bottom: { + run_time_sec: 2, + top_time_sec: 90, + acc_time_sec: 60, + bl_time_sec: 36, + dianji2: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj1" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj2" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj3" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj4" + } + ] + } }, { team: "第三单元第二组", unit: 3, - tmyxsds: 3, - tmyxsdx: 3, - tmtzsds: 90, - tmtzsdx: 90, - tmljsds: 60, - tmljsdx: 60, - blyxsds: 36, - blyxsdx: 36, - tmljsjs: 58, - tmljsjx: 31, tempera1: 916, tempera2: 905, carNumber: 22, + tmljsjs: 58, + tmljsjx: 31, statusAuto: true, - dianji: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj5' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj6' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj7' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj8' }, - ], - dianji2: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj5' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj6' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj7' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj8' }, - ], + team_top: { + run_time_sec: 3, + top_time_sec: 90, + acc_time_sec: 60, + bl_time_sec: 36, + dianji: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj5" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj6" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj7" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj8" + } + ] + }, + team_bottom: { + run_time_sec: 3, + top_time_sec: 90, + acc_time_sec: 60, + bl_time_sec: 36, + dianji2: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj5" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj6" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj7" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj8" + } + ] + } }, { team: "第三单元第三组", unit: 3, - tmyxsds: 2, - tmyxsdx: 2, - tmtzsds: 180, - tmtzsdx: 180, - tmljsds: 60, - tmljsdx: 60, - blyxsds: 36, - blyxsdx: 36, - tmljsjs: 6, - tmljsjx: 6, tempera1: 939, tempera2: 898, carNumber: 23, + tmljsjs: 6, + tmljsjx: 6, statusAuto: true, - dianji: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj9' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj10' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj11' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj12' }, - ], - dianji2: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj9' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj10' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj11' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj12' }, - ], + team_top: { + run_time_sec: 2, + top_time_sec: 180, + acc_time_sec: 60, + bl_time_sec: 36, + dianji: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj9" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj10" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj11" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj12" + } + ] + }, + team_bottom: { + run_time_sec: 2, + top_time_sec: 180, + acc_time_sec: 60, + bl_time_sec: 36, + dianji2: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj9" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj10" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj11" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj12" + } + ] + } }, { team: "第三单元第四组", unit: 3, - tmyxsds: 2, - tmyxsdx: 2, - tmtzsds: 480, - tmtzsdx: 480, - tmljsds: 60, - tmljsdx: 60, - blyxsds: 36, - blyxsdx: 36, - tmljsjs: 46, - tmljsjx: 37, tempera1: 1000, tempera2: 995, carNumber: 24, + tmljsjs: 46, + tmljsjx: 37, statusAuto: true, - dianji: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj13' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj14' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj15' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj16' }, - ], - dianji2: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj13' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj14' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj15' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj16' }, - ], + team_top: { + run_time_sec: 2, + top_time_sec: 480, + acc_time_sec: 60, + bl_time_sec: 36, + dianji: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj13" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj14" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj15" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj16" + } + ] + }, + team_bottom: { + run_time_sec: 2, + top_time_sec: 480, + acc_time_sec: 60, + bl_time_sec: 36, + dianji2: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj13" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj14" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj15" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj16" + } + ] + } }, { team: "第三单元第五组", unit: 3, - tmyxsds: 3, - tmyxsdx: 3, - tmtzsds: 90, - tmtzsdx: 90, - tmljsds: 59, - tmljsdx: 59, - blyxsds: 36, - blyxsdx: 36, - tmljsjs: 3, - tmljsjx: 41, tempera1: 967, tempera2: 950, carNumber: 25, + tmljsjs: 3, + tmljsjx: 41, statusAuto: true, - dianji: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj17' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj18' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj19' }, - { isStop: false, isBendi: false, eqm: "故障",id:'unit3_dj20' }, - ], - dianji2: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj17' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj18' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj19' }, - { isStop: false, isBendi: false, eqm: "故障",id:'unit3_dj20' }, - ], + team_top: { + run_time_sec: 3, + top_time_sec: 90, + acc_time_sec: 59, + bl_time_sec: 36, + dianji: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj17" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj18" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj19" + }, + { + isStop: false, + isBendi: false, + eqm: "故障", + id: "unit3_dj20" + } + ] + }, + team_bottom: { + run_time_sec: 3, + top_time_sec: 90, + acc_time_sec: 59, + bl_time_sec: 36, + dianji2: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj17" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj18" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj19" + }, + { + isStop: false, + isBendi: false, + eqm: "故障", + id: "unit3_dj20" + } + ] + } }, { team: "第三单元第六组", unit: 3, - tmyxsds: 2, - tmyxsdx: 2, - tmtzsds: 60, - tmtzsdx: 60, - tmljsds: 63, - tmljsdx: 63, - blyxsds: 36, - blyxsdx: 36, - tmljsjs: 41, - tmljsjx: 26, tempera1: 919, tempera2: 920, carNumber: 26, + tmljsjs: 41, + tmljsjx: 26, statusAuto: true, - dianji: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj21' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj22' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj23' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj24' }, - ], - dianji2: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj21' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj22' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj23' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit3_dj24' }, - ], + team_top: { + run_time_sec: 2, + top_time_sec: 60, + acc_time_sec: 63, + bl_time_sec: 36, + dianji: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj21" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj22" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj23" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj24" + } + ] + }, + team_bottom: { + run_time_sec: 2, + top_time_sec: 60, + acc_time_sec: 63, + bl_time_sec: 36, + dianji2: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj21" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj22" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj23" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit3_dj24" + } + ] + } }, { team: "第四单元", unit: 4, - tmyxsds: 2, - tmyxsdx: 2, - tmtzsds: 90, - tmtzsdx: 90, - tmljsds: 65, - tmljsdx: 65, - blyxsds: 36, - blyxsdx: 36, - tmljsjs: 34, - tmljsjx: 41, tempera1: 716, tempera2: 755, carNumber: 27, + tmljsjs: 34, + tmljsjx: 41, statusAuto: true, - dianji: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit4_dj1' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit4_dj2' }, - ], - dianji2: [ - { isStop: false, isBendi: false, eqm: "正常",id:'unit4_dj1' }, - { isStop: false, isBendi: false, eqm: "正常",id:'unit4_dj2' }, - ], - }, + team_top: { + run_time_sec: 2, + top_time_sec: 90, + acc_time_sec: 65, + bl_time_sec: 36, + dianji: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit4_dj1" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit4_dj2" + } + ] + }, + team_bottom: { + run_time_sec: 2, + top_time_sec: 90, + acc_time_sec: 65, + bl_time_sec: 36, + dianji2: [ + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit4_dj1" + }, + { + isStop: false, + isBendi: false, + eqm: "正常", + id: "unit4_dj2" + } + ] + } + } ]); const unit1 = ref(true); const unit2 = ref(true); @@ -832,8 +1444,11 @@ const getTempDropId = (side: "tempera1" | "tempera2", item: CoalUnit, index: num return `${side}_unit${item.unit}_${index + 1}`; }; const isTimeRow = (row: BlockRowConfig) => row.kind === "time"; -const getCellValue = (item: CoalUnit, key: BlockRowConfig["key"]) => { - return item[key]; +const getCellValue = (item: CoalUnit, row: BlockRowConfig) => { + if (row.kind === "time" && row.section) { + return item[row.section][row.key as TimeFieldKey]; + } + return item[row.key as DisplayFieldKey]; }; const MOTOR_GRID_COLUMNS = 2; const MOTOR_SECTION_MIN_HEIGHT = 120; @@ -847,18 +1462,18 @@ const getMotorSectionHeight = (count: number) => { return `${Math.max(MOTOR_SECTION_MIN_HEIGHT, computedHeight)}px`; }; const middleMotorHeight = computed(() => { - const maxCount = dataList.reduce((max, item) => Math.max(max, item.dianji.length), 0); + const maxCount = dataList.reduce((max, item) => Math.max(max, item.team_top.dianji.length), 0); return getMotorSectionHeight(maxCount); }); const returnMotorHeight = computed(() => { - const maxCount = dataList.reduce((max, item) => Math.max(max, item.dianji2.length), 0); + const maxCount = dataList.reduce((max, item) => Math.max(max, item.team_bottom.dianji2.length), 0); return getMotorSectionHeight(maxCount); }); const updateCellValue = (item: CoalUnit, row: BlockRowConfig, event: Event) => { const target = event.target as HTMLInputElement | null; if (!target) return; - if (row.kind !== "time") return; - item[row.key as TimeFieldKey] = target.value; + if (row.kind !== "time" || !row.section) return; + item[row.section][row.key as TimeFieldKey] = target.value; }; const onPointDragStart = (event: DragEvent, point: PointItem) => { if (event.dataTransfer) { @@ -889,7 +1504,11 @@ const onDjDrop = (event: DragEvent, dropItem: any, temp: string) => { const isUnitLocal = (unitName: string, _unitState?: boolean) => { return dataList .filter((item) => item.team.indexOf(unitName) > -1) - .some((item) => item.dianji?.some((dj) => dj.isBendi)); + .some( + (item) => + item.team_top.dianji.some((dj) => dj.isBendi) || + item.team_bottom.dianji2.some((dj) => dj.isBendi), + ); }; const isDjToggleDisabled = (team: string) => { return team.includes("第一单元") && isUnitLocal("第一单元"); @@ -905,24 +1524,28 @@ const toggleDjStop = ( dj: djItem, team: string, statusAuto?: boolean, - motorKey: "dianji" | "dianji2" = "dianji" + section: SectionKey = "team_top" ) => { const next = !dj.isStop; if (statusAuto) { const unitName = getUnitNameByTeam(team); if (unitName) { - dataList.forEach((unitGroup: any) => { + dataList.forEach((unitGroup) => { if (!unitGroup?.team?.includes(unitName)) return; - unitGroup.dianji.forEach((d: djItem) => { + unitGroup.team_top.dianji.forEach((d) => { d.isStop = next; }); - unitGroup.dianji2.forEach((d: djItem) => { + unitGroup.team_bottom.dianji2.forEach((d) => { d.isStop = next; }); }); return; } } + if (section === "team_top") { + dj.isStop = next; + return; + } dj.isStop = next; }; const commitPointUpdates = () => {