列车报点

This commit is contained in:
joylink_zhaoerwei 2024-11-19 10:50:42 +08:00
parent e2faeb2d05
commit bfebe3e28d
4 changed files with 53 additions and 15 deletions

View File

@ -30,6 +30,7 @@ export enum showAlertTypeData {
'列车完整性', '列车完整性',
'列车故障救援', '列车故障救援',
'ats卡滞', 'ats卡滞',
'列车报点',
I = 'I类信息', I = 'I类信息',
II = 'II类信息', II = 'II类信息',
III = 'III类信息', III = 'III类信息',
@ -67,6 +68,7 @@ export enum showAlertTypeData {
TRAIN_INTEGRITY_ALARM = '列车完整性', TRAIN_INTEGRITY_ALARM = '列车完整性',
TRAIN_FAULT_HELP = '列车故障救援', TRAIN_FAULT_HELP = '列车故障救援',
INTERLOCKED_ATS_STUCK = 'ats卡滞', INTERLOCKED_ATS_STUCK = 'ats卡滞',
TRAIN_RECORD = '列车报点',
} }
export enum saveAlertTypeData { export enum saveAlertTypeData {
@ -103,6 +105,7 @@ export enum saveAlertTypeData {
= 'TRAIN_INTEGRITY_ALARM', = 'TRAIN_INTEGRITY_ALARM',
= 'TRAIN_FAULT_HELP', = 'TRAIN_FAULT_HELP',
ats卡滞 = 'INTERLOCKED_ATS_STUCK', ats卡滞 = 'INTERLOCKED_ATS_STUCK',
= 'TRAIN_RECORD',
} }
export const GuardConfigTypeData = { export const GuardConfigTypeData = {

View File

@ -40,7 +40,9 @@
<q-card> <q-card>
<q-item no-wrap class="column"> <q-item no-wrap class="column">
<q-input <q-input
v-if="setAlartTextData.alertType == '列车信号故障'" v-if="
needShowTrainGroup.includes(setAlartTextData.alertType)
"
outlined outlined
label="车组号" label="车组号"
v-model="configItem.groupId" v-model="configItem.groupId"
@ -81,7 +83,11 @@
@click="clearAllSelect(index)" @click="clearAllSelect(index)"
/> />
<q-btn <q-btn
v-if="setAlartTextData.alertType == '列车信号故障'" v-if="
needShowTrainGroup.includes(
setAlartTextData.alertType
)
"
label="删除测试组" label="删除测试组"
color="secondary" color="secondary"
@click="deleteSelectConfig(index)" @click="deleteSelectConfig(index)"
@ -92,7 +98,7 @@
</q-expansion-item> </q-expansion-item>
</q-list> </q-list>
<q-btn <q-btn
v-if="setAlartTextData.alertType == '列车信号故障'" v-if="needShowTrainGroup.includes(setAlartTextData.alertType)"
class="q-mt-md" class="q-mt-md"
label="增加测试组" label="增加测试组"
color="secondary" color="secondary"
@ -116,7 +122,7 @@
<script setup lang="ts"> <script setup lang="ts">
import DraggableDialog from '../common/DraggableDialog.vue'; import DraggableDialog from '../common/DraggableDialog.vue';
import { onMounted, onUnmounted, ref, watch } from 'vue'; import { computed, onMounted, onUnmounted, ref, watch } from 'vue';
import { JlGraphic } from 'jl-graphic'; import { JlGraphic } from 'jl-graphic';
import { Station } from 'src/graphics/station/Station'; import { Station } from 'src/graphics/station/Station';
import { useLineStore } from 'src/stores/line-store'; import { useLineStore } from 'src/stores/line-store';
@ -124,6 +130,8 @@ import { QForm, useQuasar } from 'quasar';
import { ApiError } from 'src/boot/axios'; import { ApiError } from 'src/boot/axios';
import { mockLocalDemoTestSet } from 'src/api/AlertMock'; import { mockLocalDemoTestSet } from 'src/api/AlertMock';
import { isArraysEqual, saveAlertTypeData } from './alarmInfoEnum'; import { isArraysEqual, saveAlertTypeData } from './alarmInfoEnum';
import { Section } from 'src/graphics/section/Section';
import { Platform } from 'src/graphics/platform/Platform';
const lineStore = useLineStore(); const lineStore = useLineStore();
const setAlartTextData = ref<{ const setAlartTextData = ref<{
@ -152,6 +160,7 @@ const setAlartTextData = ref<{
}, },
], ],
}); });
const needShowTrainGroup = ['列车信号故障', '列车报点'];
const optionsAlertType = [ const optionsAlertType = [
'蓝显', '蓝显',
'道岔失表', '道岔失表',
@ -160,7 +169,8 @@ const optionsAlertType = [
'列车信号故障', '列车信号故障',
'应急触发', '应急触发',
'道岔挤岔', '道岔挤岔',
'列车完整性' '列车完整性',
'列车报点',
]; ];
const mapAlertType = new Map([ const mapAlertType = new Map([
['蓝显', ['station']], ['蓝显', ['station']],
@ -171,18 +181,30 @@ const mapAlertType = new Map([
['应急触发', ['Platform']], ['应急触发', ['Platform']],
['道岔挤岔', ['Turnout']], ['道岔挤岔', ['Turnout']],
['列车完整性', ['LogicSection']], ['列车完整性', ['LogicSection']],
['列车报点', ['Section']],
]); ]);
enum DeviceType { enum DeviceType {
station = 'DEVICE_TYPE_RTU', station = 'DEVICE_TYPE_RTU',
Turnout = 'DEVICE_TYPE_SWITCH', Turnout = 'DEVICE_TYPE_SWITCH',
LogicSection = 'DEVICE_TYPE_TRACK', LogicSection = 'DEVICE_TYPE_TRACK',
Platform = 'DEVICE_TYPE_PLATFORM', Platform = 'DEVICE_TYPE_PLATFORM',
Section = 'DEVICE_TYPE_SECTION',
} }
const optionsStatus = [ const optionsStatus = computed(() => {
{ label: '正常', value: 'NORMAL' }, if (setAlartTextData.value.alertType !== '列车报点') {
{ label: '设置', value: 'BEGIN' }, return [
{ label: '报警', value: 'ALERT' }, { label: '正常', value: 'NORMAL' },
]; { label: '设置', value: 'BEGIN' },
{ label: '报警', value: 'ALERT' },
];
} else {
return [
{ label: '到站', value: 'NORMAL' },
{ label: '离站', value: 'BEGIN' },
];
}
});
let allplatformRefSection: number[] = [];
let selectGraphic: JlGraphic[] = []; let selectGraphic: JlGraphic[] = [];
watch( watch(
@ -212,16 +234,22 @@ watch(
setAlartTextData.value.alertType == '蓝显' setAlartTextData.value.alertType == '蓝显'
) { ) {
select = true; select = true;
} } else if (
if ( g.type == Section.Type &&
setAlartTextData.value.alertType == '列车报点' &&
allplatformRefSection.includes(g.id)
) {
select = true;
} else if (
g.type !== Station.Type && g.type !== Station.Type &&
g.type !== Section.Type &&
mapAlertType.get(setAlartTextData.value.alertType)?.includes(g.type) mapAlertType.get(setAlartTextData.value.alertType)?.includes(g.type)
) { ) {
select = true; select = true;
} }
return select; return select;
}) as JlGraphic[]; }) as JlGraphic[];
if (setAlartTextData.value.alertType !== '列车信号故障') { if (!needShowTrainGroup.includes(setAlartTextData.value.alertType)) {
selectGraphic.push(...deviceFilter); selectGraphic.push(...deviceFilter);
} else if (deviceFilter.length) { } else if (deviceFilter.length) {
selectGraphic = [deviceFilter[0]]; selectGraphic = [deviceFilter[0]];
@ -242,6 +270,12 @@ watch(
); );
onMounted(() => { onMounted(() => {
const platforms = lineStore
.getLineApp()
.queryStore.queryByType<Platform>(Platform.Type);
platforms.forEach((platform) =>
allplatformRefSection.push(platform.datas.refSectionId)
);
lineStore.getLineApp().emit('options-update', { lineStore.getLineApp().emit('options-update', {
mouseToolOptions: { mouseToolOptions: {
boxSelect: true, boxSelect: true,

View File

@ -42,7 +42,8 @@ export namespace alert {
TRAIN_LOST_LOCATION = 27, TRAIN_LOST_LOCATION = 27,
TRAIN_INTEGRITY_ALARM = 28, TRAIN_INTEGRITY_ALARM = 28,
TRAIN_FAULT_HELP = 29, TRAIN_FAULT_HELP = 29,
INTERLOCKED_ATS_STUCK = 30 INTERLOCKED_ATS_STUCK = 30,
TRAIN_RECORD = 31
} }
export enum TipTimeConfig { export enum TipTimeConfig {
HOLIDAYS_MORN_PEAK = 0, HOLIDAYS_MORN_PEAK = 0,

@ -1 +1 @@
Subproject commit 6ae749dad5f5aa90b78cea76e2d1d24451a25b46 Subproject commit 7aef4b876fae6622d93a21c99fe293df7bf7d572