From 76eeb290147240679aa3c1bdf0a96626e765d621 Mon Sep 17 00:00:00 2001 From: joylink_zyy <1787816799@qq.com> Date: Sun, 10 May 2020 22:20:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=A5=BF=E5=AE=89=E4=B8=89?= =?UTF-8?q?=E5=8F=B7=E7=BA=BF=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/jmapNew/theme/factory.js | 6 +- .../childDialog/childDialog/noticeInfo.vue | 86 ++ .../dialog/childDialog/confirmControl.vue | 361 ++++++++ .../childDialog/confirmControlSpeed.vue | 144 +++ .../childDialog/confirmSignalUnlock.vue | 126 +++ .../menus/dialog/childDialog/confirmTrain.vue | 180 ++++ .../xian_03/menus/dialog/routeCmdControl.vue | 450 ++++++++++ .../xian_03/menus/dialog/routeControl.vue | 289 ++++++ .../xian_03/menus/dialog/routeDetail.vue | 164 ++++ .../xian_03/menus/dialog/routeHandControl.vue | 335 +++++++ .../theme/xian_03/menus/dialog/routeLock.vue | 162 ++++ .../xian_03/menus/dialog/routeSelection.vue | 235 +++++ .../menus/dialog/sectionCmdControl.vue | 418 +++++++++ .../xian_03/menus/dialog/sectionControl.vue | 153 ++++ .../xian_03/menus/dialog/speedCmdControl.vue | 562 ++++++++++++ .../menus/dialog/standBackStrategy.vue | 238 +++++ .../xian_03/menus/dialog/standControl.vue | 182 ++++ .../xian_03/menus/dialog/standDetail.vue | 238 +++++ .../menus/dialog/standDetainTrainAll.vue | 191 ++++ .../xian_03/menus/dialog/standRunLevel.vue | 272 ++++++ .../xian_03/menus/dialog/standStopTime.vue | 243 +++++ .../menus/dialog/stationCmdControl.vue | 403 +++++++++ .../menus/dialog/stationHumanControlAll.vue | 123 +++ .../dialog/stationSetRouteControlAll.vue | 145 +++ .../xian_03/menus/dialog/switchCmdControl.vue | 482 ++++++++++ .../xian_03/menus/dialog/switchControl.vue | 169 ++++ .../xian_03/menus/dialog/trainControl.vue | 472 ++++++++++ .../xian_03/menus/dialog/trainCreate.vue | 155 ++++ .../xian_03/menus/dialog/trainDelete.vue | 167 ++++ .../xian_03/menus/dialog/trainEditNumber.vue | 138 +++ .../theme/xian_03/menus/dialog/trainMove.vue | 201 +++++ .../xian_03/menus/dialog/trainSwitch.vue | 206 +++++ src/jmapNew/theme/xian_03/menus/index.vue | 356 ++++++++ src/jmapNew/theme/xian_03/menus/menuBar.vue | 813 +++++++++++++++++ .../theme/xian_03/menus/menuCancel.vue | 130 +++ .../childDialog/twoConfirmation.vue | 130 +++ .../menus/menuDialog/childDialog/userAdd.vue | 172 ++++ .../menuDialog/childDialog/userDelete.vue | 143 +++ .../menus/menuDialog/childDialog/userEdit.vue | 189 ++++ .../xian_03/menus/menuDialog/helpAbout.vue | 140 +++ .../xian_03/menus/menuDialog/manageUser.vue | 309 +++++++ .../xian_03/menus/menuDialog/passwordBox.vue | 228 +++++ .../menuDialog/stationControlConvert.vue | 472 ++++++++++ .../xian_03/menus/menuDialog/trainAdd.vue | 179 ++++ .../xian_03/menus/menuDialog/trainDelete.vue | 157 ++++ .../menus/menuDialog/trainTranstalet.vue | 164 ++++ .../xian_03/menus/menuDialog/viewDevice.vue | 166 ++++ .../xian_03/menus/menuDialog/viewName.vue | 248 +++++ .../xian_03/menus/menuDialog/viewTrainId.vue | 209 +++++ .../theme/xian_03/menus/menuSection.vue | 272 ++++++ .../theme/xian_03/menus/menuSignal.vue | 378 ++++++++ .../theme/xian_03/menus/menuStation.vue | 282 ++++++ .../theme/xian_03/menus/menuStationStand.vue | 324 +++++++ .../theme/xian_03/menus/menuSwitch.vue | 353 ++++++++ src/jmapNew/theme/xian_03/menus/menuTrain.vue | 332 +++++++ .../xian_03/menus/passiveDialog/alarm.vue | 218 +++++ .../xian_03/menus/passiveDialog/control.vue | 309 +++++++ .../xian_03/menus/passiveDialog/timeout.vue | 111 +++ .../xian_03/menus/statusDownTrainDetail.vue | 25 + .../xian_03/menus/statusUpTrainDetail.vue | 26 + .../xian_03/menus/utils/menuItemStatus.js | 570 ++++++++++++ .../theme/xian_03/menus/utils/menuOperate.js | 302 +++++++ src/jmapNew/theme/xian_03/model.js | 73 ++ src/jmapNew/theme/xian_03/operationConfig.js | 849 ++++++++++++++++++ .../theme/xian_03/operationConfigGlobal.js | 820 +++++++++++++++++ src/jmapNew/theme/xian_03/planConvert.js | 325 +++++++ 66 files changed, 17468 insertions(+), 2 deletions(-) create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/childDialog/childDialog/noticeInfo.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/childDialog/confirmControl.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/childDialog/confirmControlSpeed.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/childDialog/confirmSignalUnlock.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/childDialog/confirmTrain.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/routeCmdControl.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/routeControl.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/routeDetail.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/routeHandControl.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/routeLock.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/routeSelection.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/sectionCmdControl.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/sectionControl.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/speedCmdControl.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/standBackStrategy.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/standControl.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/standDetail.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/standDetainTrainAll.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/standRunLevel.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/standStopTime.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/stationCmdControl.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/stationHumanControlAll.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/stationSetRouteControlAll.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/switchCmdControl.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/switchControl.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/trainControl.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/trainCreate.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/trainDelete.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/trainEditNumber.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/trainMove.vue create mode 100644 src/jmapNew/theme/xian_03/menus/dialog/trainSwitch.vue create mode 100644 src/jmapNew/theme/xian_03/menus/index.vue create mode 100644 src/jmapNew/theme/xian_03/menus/menuBar.vue create mode 100644 src/jmapNew/theme/xian_03/menus/menuCancel.vue create mode 100644 src/jmapNew/theme/xian_03/menus/menuDialog/childDialog/twoConfirmation.vue create mode 100644 src/jmapNew/theme/xian_03/menus/menuDialog/childDialog/userAdd.vue create mode 100644 src/jmapNew/theme/xian_03/menus/menuDialog/childDialog/userDelete.vue create mode 100644 src/jmapNew/theme/xian_03/menus/menuDialog/childDialog/userEdit.vue create mode 100644 src/jmapNew/theme/xian_03/menus/menuDialog/helpAbout.vue create mode 100644 src/jmapNew/theme/xian_03/menus/menuDialog/manageUser.vue create mode 100644 src/jmapNew/theme/xian_03/menus/menuDialog/passwordBox.vue create mode 100644 src/jmapNew/theme/xian_03/menus/menuDialog/stationControlConvert.vue create mode 100644 src/jmapNew/theme/xian_03/menus/menuDialog/trainAdd.vue create mode 100644 src/jmapNew/theme/xian_03/menus/menuDialog/trainDelete.vue create mode 100644 src/jmapNew/theme/xian_03/menus/menuDialog/trainTranstalet.vue create mode 100644 src/jmapNew/theme/xian_03/menus/menuDialog/viewDevice.vue create mode 100644 src/jmapNew/theme/xian_03/menus/menuDialog/viewName.vue create mode 100644 src/jmapNew/theme/xian_03/menus/menuDialog/viewTrainId.vue create mode 100644 src/jmapNew/theme/xian_03/menus/menuSection.vue create mode 100644 src/jmapNew/theme/xian_03/menus/menuSignal.vue create mode 100644 src/jmapNew/theme/xian_03/menus/menuStation.vue create mode 100644 src/jmapNew/theme/xian_03/menus/menuStationStand.vue create mode 100644 src/jmapNew/theme/xian_03/menus/menuSwitch.vue create mode 100644 src/jmapNew/theme/xian_03/menus/menuTrain.vue create mode 100644 src/jmapNew/theme/xian_03/menus/passiveDialog/alarm.vue create mode 100644 src/jmapNew/theme/xian_03/menus/passiveDialog/control.vue create mode 100644 src/jmapNew/theme/xian_03/menus/passiveDialog/timeout.vue create mode 100644 src/jmapNew/theme/xian_03/menus/statusDownTrainDetail.vue create mode 100644 src/jmapNew/theme/xian_03/menus/statusUpTrainDetail.vue create mode 100644 src/jmapNew/theme/xian_03/menus/utils/menuItemStatus.js create mode 100644 src/jmapNew/theme/xian_03/menus/utils/menuOperate.js create mode 100644 src/jmapNew/theme/xian_03/model.js create mode 100644 src/jmapNew/theme/xian_03/operationConfig.js create mode 100644 src/jmapNew/theme/xian_03/operationConfigGlobal.js create mode 100644 src/jmapNew/theme/xian_03/planConvert.js diff --git a/src/jmapNew/theme/factory.js b/src/jmapNew/theme/factory.js index 4cdd371d7..c7399cd00 100644 --- a/src/jmapNew/theme/factory.js +++ b/src/jmapNew/theme/factory.js @@ -12,7 +12,8 @@ class Theme { '07': 'haerbin_01', // 哈尔滨培训线路 '08': 'foshan_01', '09': 'xian_02', - '10': 'xian_01' + '10': 'xian_01', + '11': 'xian_03' }; this._localShowMode = { // 现地显示模式 '01': 'all', // 成都一 全显 @@ -24,7 +25,8 @@ class Theme { '07': 'ecStation', // 哈尔滨培训线路 集中站显示 '08': 'all', // 佛山有轨线路 全显 '09': 'all', - '10': 'all' + '10': 'all', + '11': 'all' }; } diff --git a/src/jmapNew/theme/xian_03/menus/dialog/childDialog/childDialog/noticeInfo.vue b/src/jmapNew/theme/xian_03/menus/dialog/childDialog/childDialog/noticeInfo.vue new file mode 100644 index 000000000..6df116961 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/childDialog/childDialog/noticeInfo.vue @@ -0,0 +1,86 @@ + + + + + {{ message }} + + + + + {{ $t('global.confirm') }} + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/childDialog/confirmControl.vue b/src/jmapNew/theme/xian_03/menus/dialog/childDialog/confirmControl.vue new file mode 100644 index 000000000..208f4a5f6 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/childDialog/confirmControl.vue @@ -0,0 +1,361 @@ + + + + + {{ message }} + + + + + {{ $t('global.confirm') }} + + + {{ $t('global.cancel') }} + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/childDialog/confirmControlSpeed.vue b/src/jmapNew/theme/xian_03/menus/dialog/childDialog/confirmControlSpeed.vue new file mode 100644 index 000000000..b9a863ecd --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/childDialog/confirmControlSpeed.vue @@ -0,0 +1,144 @@ + + + + {{ message }} + + + + {{ $t('global.confirm') }} + + + {{ $t('global.cancel') }} + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/childDialog/confirmSignalUnlock.vue b/src/jmapNew/theme/xian_03/menus/dialog/childDialog/confirmSignalUnlock.vue new file mode 100644 index 000000000..50ac656d0 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/childDialog/confirmSignalUnlock.vue @@ -0,0 +1,126 @@ + + + + {{ $t('menu.in') }}{{ stationName }}【{{ signalName }}】{{ $t('menu.signalConfirmed') }} + + + + {{ $t('global.confirm') }} + + + {{ $t('global.cancel') }} + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/childDialog/confirmTrain.vue b/src/jmapNew/theme/xian_03/menus/dialog/childDialog/confirmTrain.vue new file mode 100644 index 000000000..92342891c --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/childDialog/confirmTrain.vue @@ -0,0 +1,180 @@ + + + + + {{ message }} + + + + + {{ $t('global.confirm') }} + + + {{ $t('global.cancel') }} + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/routeCmdControl.vue b/src/jmapNew/theme/xian_03/menus/dialog/routeCmdControl.vue new file mode 100644 index 000000000..33225b79b --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/routeCmdControl.vue @@ -0,0 +1,450 @@ + + + + + {{ $t('menu.commandInformation') }} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ message }} + + + {{ $t('menu.release') }}({{ timeCountCommand }}) + + + {{ $t('menu.firstConfirm') }} + + + + {{ $t('menu.secondConfirm') }}({{ timeCountConfirm }}) + + + {{ $t('menu.suspend') }} + + + {{ $t('global.close') }} + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/routeControl.vue b/src/jmapNew/theme/xian_03/menus/dialog/routeControl.vue new file mode 100644 index 000000000..b47664af9 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/routeControl.vue @@ -0,0 +1,289 @@ + + + + {{ $t('menu.stationName') }} + {{ $t('menu.signal') }} + + + + + + + + + + + + {{ $t('menu.confirm') }} + + + {{ $t('menu.cancel') }} + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/routeDetail.vue b/src/jmapNew/theme/xian_03/menus/dialog/routeDetail.vue new file mode 100644 index 000000000..3d5cbc403 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/routeDetail.vue @@ -0,0 +1,164 @@ + + + + + 车站 + 始端信号机 + + + + + + + + + + + 进路列表 + + + + {{ scope.row.name }} + + + + + {{ scope.row.atsControl == '0' ? '人工' : '自动' }} + + + + + + + 确定 + + + 取 消 + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/routeHandControl.vue b/src/jmapNew/theme/xian_03/menus/dialog/routeHandControl.vue new file mode 100644 index 000000000..a5617e325 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/routeHandControl.vue @@ -0,0 +1,335 @@ + + + + + 集中站 + 始端信号机 + + + + + + + + + + + + + + + + + + + {{ scope.row.name }} + + + + + + + 全选 + + + + + 确定 + + + 取 消 + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/routeLock.vue b/src/jmapNew/theme/xian_03/menus/dialog/routeLock.vue new file mode 100644 index 000000000..d68020d00 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/routeLock.vue @@ -0,0 +1,162 @@ + + + + + {{ $t('menu.stationName') }} + {{ $t('menu.signalName') }} + + + + + + + + + + + {{ $t('menu.listOfSignalButtons') }} + + + + + + + + {{ $t('global.confirm') }} + + + {{ $t('global.cancel') }} + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/routeSelection.vue b/src/jmapNew/theme/xian_03/menus/dialog/routeSelection.vue new file mode 100644 index 000000000..92d949ef7 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/routeSelection.vue @@ -0,0 +1,235 @@ + + + + {{ $t('menu.stationName') }} + {{ $t('menu.startSignal') }} + + + + + + + + + + + + + + {{ getProtectedSectionName(scope.row) }} + + + + + {{ $t('menu.allowSelection') }} + {{ $t('menu.notAllowSelection') }} + + + + + + {{ $t('global.confirm') }} + + + {{ $t('global.cancel') }} + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/sectionCmdControl.vue b/src/jmapNew/theme/xian_03/menus/dialog/sectionCmdControl.vue new file mode 100644 index 000000000..bca025b72 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/sectionCmdControl.vue @@ -0,0 +1,418 @@ + + + + + {{ $t('menu.commandInformation') }} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ message }} + + + + {{ $t('menu.release') }} + ({{ timeCountCommand }}) + + + {{ $t('menu.firstConfirm') }} + + + + {{ $t('menu.secondConfirm') }} + ({{ timeCountConfirm }}) + + + {{ $t('menu.suspend') }} + + + {{ $t('global.close') }} + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/sectionControl.vue b/src/jmapNew/theme/xian_03/menus/dialog/sectionControl.vue new file mode 100644 index 000000000..616652fdb --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/sectionControl.vue @@ -0,0 +1,153 @@ + + + + 车站名称 + 区段 + + + + + + + + + + + + {{ $t('global.confirm') }} + + + {{ $t('global.cancel') }} + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/speedCmdControl.vue b/src/jmapNew/theme/xian_03/menus/dialog/speedCmdControl.vue new file mode 100644 index 000000000..4e46fba6c --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/speedCmdControl.vue @@ -0,0 +1,562 @@ + + + + + 命令信息 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ message }} + + + 下达({{ timeCountCommand }}) + + + 确认1 + + + + 确认2({{ timeCountConfirm }}) + + + 中止 + + + 关闭 + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/standBackStrategy.vue b/src/jmapNew/theme/xian_03/menus/dialog/standBackStrategy.vue new file mode 100644 index 000000000..a1d0c1e09 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/standBackStrategy.vue @@ -0,0 +1,238 @@ + + + + 车站名称 + 站台方向 + + + + + + + + 上行方向 + 下行方向 + + + + + 站台状态 + + + + + + + + + + + + + + {{ $t('menu.switchbackStrategyTip') }} + {{ $t('menu.setSwitchbackStrategyTipPrefix') + tempData[0].name + $t('menu.setSwitchbackStrategyTipSuffix') }} + + + + 确认 + + + 取消 + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/standControl.vue b/src/jmapNew/theme/xian_03/menus/dialog/standControl.vue new file mode 100644 index 000000000..54f372905 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/standControl.vue @@ -0,0 +1,182 @@ + + + + {{ preContext }}{{ standName }} + + + + {{ $t('global.confirm') }} + + + {{ $t('global.cancel') }} + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/standDetail.vue b/src/jmapNew/theme/xian_03/menus/dialog/standDetail.vue new file mode 100644 index 000000000..4288140c1 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/standDetail.vue @@ -0,0 +1,238 @@ + + + + + {{ data.name }} + + + {{ data.name }} + + {{ data.value }} + + + + + + 确定 + + + 取 消 + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/standDetainTrainAll.vue b/src/jmapNew/theme/xian_03/menus/dialog/standDetainTrainAll.vue new file mode 100644 index 000000000..fae73b1f3 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/standDetainTrainAll.vue @@ -0,0 +1,191 @@ + + + + {{ $t('menu.range') }} + + + + {{ $t('menu.uplinkBroadly') }} + + + {{ $t('menu.downlinkBroadly') }} + + + + + + + 扣车站台列表 + + + + + + + + {{ $t('global.confirm') }} + + + + {{ $t('global.cancel') }} + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/standRunLevel.vue b/src/jmapNew/theme/xian_03/menus/dialog/standRunLevel.vue new file mode 100644 index 000000000..203af8ff6 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/standRunLevel.vue @@ -0,0 +1,272 @@ + + + + {{ $t('menu.stationName') }} + {{ $t('menu.platform') }} + + + + + + + + + + + {{ $t('menu.stationStandStatus') }} + + + + + + + + + + + + + + + + + + {{ $t('menu.setRunLevelTip') }} + {{ $t('menu.setRunLevelStationTip') + tempData[0].name }} + + + + + {{ $t('global.confirm') }} + + + {{ $t('global.cancel') }} + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/standStopTime.vue b/src/jmapNew/theme/xian_03/menus/dialog/standStopTime.vue new file mode 100644 index 000000000..13153e829 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/standStopTime.vue @@ -0,0 +1,243 @@ + + + + {{ $t('menu.stationName') }} + {{ $t('menu.platformName') }} + + + + + + + + + + + {{ $t('menu.controlMode') }} + + + {{ $t('menu.automatic2') }} + {{ $t('menu.artificial') }} + + {{ $t('global.second') }} + + + + + + 上行方向 + 下行方向 + + + + + {{ $t('menu.effectiveNumber') }} + + + 一次有效 + 一直有效 + + + + + + {{ $t('global.confirm') }} + + + {{ $t('global.cancel') }} + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/stationCmdControl.vue b/src/jmapNew/theme/xian_03/menus/dialog/stationCmdControl.vue new file mode 100644 index 000000000..7e544c8f6 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/stationCmdControl.vue @@ -0,0 +1,403 @@ + + + + + {{ $t('menu.commandInformation') }} + + + + + + + + + + + + + + + + + + + + + + + + {{ message }} + + + {{ $t('menu.release') }}({{ timeCountCommand }}) + + + {{ $t('menu.firstConfirm') }} + + + + {{ $t('menu.secondConfirm') }}({{ timeCountConfirm }}) + + + {{ $t('menu.suspend') }} + + + {{ $t('global.close') }} + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/stationHumanControlAll.vue b/src/jmapNew/theme/xian_03/menus/dialog/stationHumanControlAll.vue new file mode 100644 index 000000000..db9eedbdc --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/stationHumanControlAll.vue @@ -0,0 +1,123 @@ + + + + {{ title }} + + + + {{ $t('global.confirm') }} + + + {{ $t('global.cancel') }} + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/stationSetRouteControlAll.vue b/src/jmapNew/theme/xian_03/menus/dialog/stationSetRouteControlAll.vue new file mode 100644 index 000000000..2fbec35c2 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/stationSetRouteControlAll.vue @@ -0,0 +1,145 @@ + + + + + + + + + + + {{ $t('menu.checkConflict') }} + + + {{ $t('menu.notCheckConflict') }} + + + + + + {{ $t('global.confirm') }} + + + {{ $t('global.cancel') }} + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/switchCmdControl.vue b/src/jmapNew/theme/xian_03/menus/dialog/switchCmdControl.vue new file mode 100644 index 000000000..fe80a6eb4 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/switchCmdControl.vue @@ -0,0 +1,482 @@ + + + + + {{ $t('menu.commandInformation') }} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ message }} + + + {{ $t('menu.release') }}({{ timeCountCommand }}) + + + {{ $t('menu.firstConfirm') }} + + + + {{ $t('menu.secondConfirm') }}({{ timeCountConfirm }}) + + + {{ $t('menu.suspend') }} + + + {{ $t('global.close') }} + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/switchControl.vue b/src/jmapNew/theme/xian_03/menus/dialog/switchControl.vue new file mode 100644 index 000000000..ffa32c252 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/switchControl.vue @@ -0,0 +1,169 @@ + + + + 车站名称 + 道岔 + + + + + + + + + + + + 确定 + + + 取消 + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/trainControl.vue b/src/jmapNew/theme/xian_03/menus/dialog/trainControl.vue new file mode 100644 index 000000000..fdb3b740b --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/trainControl.vue @@ -0,0 +1,472 @@ + + + + + + + + + + + {{ $t('menu.planTrain') }} + {{ $t('menu.headCodeTrain') }} + {{ $t('menu.artificialTrain') }} + + + + {{ $t('menu.serviceNumber') }} + + + + + + + + + + + + + + + + + {{ $t('global.confirm') }} + + + {{ $t('global.cancel') }} + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/trainCreate.vue b/src/jmapNew/theme/xian_03/menus/dialog/trainCreate.vue new file mode 100644 index 000000000..661033719 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/trainCreate.vue @@ -0,0 +1,155 @@ + + + + + + + + + + + + + + + + + + + + {{ this.$t('global.confirm') }} + {{ this.$t('global.cancel') }} + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/trainDelete.vue b/src/jmapNew/theme/xian_03/menus/dialog/trainDelete.vue new file mode 100644 index 000000000..2b08dc30d --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/trainDelete.vue @@ -0,0 +1,167 @@ + + + + + + + + + + {{ $t('global.confirm') }} + + + {{ $t('global.cancel') }} + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/trainEditNumber.vue b/src/jmapNew/theme/xian_03/menus/dialog/trainEditNumber.vue new file mode 100644 index 000000000..2f9423a68 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/trainEditNumber.vue @@ -0,0 +1,138 @@ + + + + + + + + + + {{ $t('global.confirm') }} + + + {{ $t('global.cancel') }} + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/trainMove.vue b/src/jmapNew/theme/xian_03/menus/dialog/trainMove.vue new file mode 100644 index 000000000..f2309fd59 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/trainMove.vue @@ -0,0 +1,201 @@ + + + + + + + + + + + {{ $t('menu.sourceTrainWindow') }} + + + {{ $t('menu.station') + $t('global.colon') }} + + + + + + + + + + + {{ $t('menu.targetTrainWindow') }} + + + {{ $t('menu.station') + $t('global.colon') }} + + + + + + + + + + + + + + {{ $t('global.confirm') }} + + + {{ $t('global.cancel') }} + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/dialog/trainSwitch.vue b/src/jmapNew/theme/xian_03/menus/dialog/trainSwitch.vue new file mode 100644 index 000000000..6a2eaf4fe --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/dialog/trainSwitch.vue @@ -0,0 +1,206 @@ + + + + + + {{ $t('menu.sourceTrainWindow') }} + + + + + + {{ $t('menu.station') + $t('global.colon') }} + + + + + + + + + + + {{ $t('menu.targetTrainWindow') }} + + + + + + {{ $t('menu.station') + $t('global.colon') }} + + + + + + + + + + + + + + {{ $t('global.confirm') }} + + + {{ $t('global.cancel') }} + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/index.vue b/src/jmapNew/theme/xian_03/menus/index.vue new file mode 100644 index 000000000..d92cd369d --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/index.vue @@ -0,0 +1,356 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/menuBar.vue b/src/jmapNew/theme/xian_03/menus/menuBar.vue new file mode 100644 index 000000000..e59b47d55 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/menuBar.vue @@ -0,0 +1,813 @@ + + + + + + + {{ item.title }} + + + + + {{ item.title }} + + + + + + + + {{ child.title }} + + + + + + + + + {{ grandchild.title }} + + + + + + + + + + + + + {{ child.title }} + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/menuCancel.vue b/src/jmapNew/theme/xian_03/menus/menuCancel.vue new file mode 100644 index 000000000..c977cd799 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/menuCancel.vue @@ -0,0 +1,130 @@ + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/menuDialog/childDialog/twoConfirmation.vue b/src/jmapNew/theme/xian_03/menus/menuDialog/childDialog/twoConfirmation.vue new file mode 100644 index 000000000..d3d60b145 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/menuDialog/childDialog/twoConfirmation.vue @@ -0,0 +1,130 @@ + + + + + {{ message }} + + + + + 确认 + + + 关闭 + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/menuDialog/childDialog/userAdd.vue b/src/jmapNew/theme/xian_03/menus/menuDialog/childDialog/userAdd.vue new file mode 100644 index 000000000..c5dbef487 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/menuDialog/childDialog/userAdd.vue @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + + + + + + + + {{ $t('menu.menuChildDialog.determine') }} + + + {{ $t('menu.menuChildDialog.cancel') }} + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/menuDialog/childDialog/userDelete.vue b/src/jmapNew/theme/xian_03/menus/menuDialog/childDialog/userDelete.vue new file mode 100644 index 000000000..a9549de27 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/menuDialog/childDialog/userDelete.vue @@ -0,0 +1,143 @@ + + + + + + {{ message }} + + + + + {{ $t('menu.menuChildDialog.determine') }} + + + {{ $t('menu.menuChildDialog.cancel') }} + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/menuDialog/childDialog/userEdit.vue b/src/jmapNew/theme/xian_03/menus/menuDialog/childDialog/userEdit.vue new file mode 100644 index 000000000..75809453c --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/menuDialog/childDialog/userEdit.vue @@ -0,0 +1,189 @@ + + + + + + + + + + + + + + + + + + + + + + + + + {{ $t('menu.menuChildDialog.determine') }} + + + {{ $t('menu.menuChildDialog.cancel') }} + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/menuDialog/helpAbout.vue b/src/jmapNew/theme/xian_03/menus/menuDialog/helpAbout.vue new file mode 100644 index 000000000..3040a30cd --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/menuDialog/helpAbout.vue @@ -0,0 +1,140 @@ + + + + + + + {{ $t('menu.menuDialog.versionName') }} + {{ $t('menu.menuDialog.confirm') }} + + + {{ $t('menu.menuDialog.copyright') }} + + + + + + + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/menuDialog/manageUser.vue b/src/jmapNew/theme/xian_03/menus/menuDialog/manageUser.vue new file mode 100644 index 000000000..1148a9d02 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/menuDialog/manageUser.vue @@ -0,0 +1,309 @@ + + + + {{ $t('menu.menuDialog.userList') }} + + + + + + {{ scope.row.jobNumber }} + + + + + {{ scope.row.userName }} + + + + + + + {{ $t('menu.menuDialog.refresh') }} + + {{ $t('menu.menuDialog.add') }} + + {{ $t('menu.menuDialog.modify') }} + + {{ $t('menu.menuDialog.delete') }} + + + + + + + {{ $t('menu.menuDialog.confirm') }} + + + {{ $t('menu.menuDialog.cancel') }} + + + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/menuDialog/passwordBox.vue b/src/jmapNew/theme/xian_03/menus/menuDialog/passwordBox.vue new file mode 100644 index 000000000..3312655f7 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/menuDialog/passwordBox.vue @@ -0,0 +1,228 @@ + + + + + + {{ $t('menu.menuDialog.userNameLabel') }} + + + + {{ $t('menu.menuDialog.password') }} + + + + + + 1 + 2 + 3 + 4 + 5 + + + {{ $t('menu.menuDialog.back') }} + + + 6 + 7 + 8 + 9 + 0 + + + {{ $t('menu.menuDialog.clear') }} + + + + + + {{ $t('menu.menuDialog.confirm') }} + + + {{ $t('menu.menuDialog.cancel') }} + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/menuDialog/stationControlConvert.vue b/src/jmapNew/theme/xian_03/menus/menuDialog/stationControlConvert.vue new file mode 100644 index 000000000..c42cb0f8b --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/menuDialog/stationControlConvert.vue @@ -0,0 +1,472 @@ + + + + + + + + + + + {{ scope.row.operate }} + + + + + {{ scope.row.control }} + + + + + {{ scope.row.status }} + + + + + {{ scope.row.result }} + + + + + + 强制站控 + 请求站控 + 请求中控 + + + {{ $t('menu.menuDialog.close') }} + + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/menuDialog/trainAdd.vue b/src/jmapNew/theme/xian_03/menus/menuDialog/trainAdd.vue new file mode 100644 index 000000000..fd7486f6e --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/menuDialog/trainAdd.vue @@ -0,0 +1,179 @@ + + + + + {{ $t('menu.menuDialog.addLocation') }} + + + {{ $t('menu.menuDialog.terminalOne') }} + + + + + + {{ $t('menu.menuDialog.frontTrainNumber') }} + + + + + + + + + + + {{ $t('menu.menuDialog.confirm') }} + + + {{ $t('menu.menuDialog.cancel') }} + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/menuDialog/trainDelete.vue b/src/jmapNew/theme/xian_03/menus/menuDialog/trainDelete.vue new file mode 100644 index 000000000..148e6cbc6 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/menuDialog/trainDelete.vue @@ -0,0 +1,157 @@ + + + + + {{ $t('menu.menuDialog.terminalTwo') }} + + + + + + + + + + + {{ $t('menu.menuDialog.confirm') }} + + + {{ $t('menu.menuDialog.cancel') }} + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/menuDialog/trainTranstalet.vue b/src/jmapNew/theme/xian_03/menus/menuDialog/trainTranstalet.vue new file mode 100644 index 000000000..96a4c65da --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/menuDialog/trainTranstalet.vue @@ -0,0 +1,164 @@ + + + + + + + + {{ $t('menu.menuDialog.purpose') }} + + + {{ $t('menu.menuDialog.terminalTwo') }} + + + + + + + + + + + + + {{ $t('menu.menuDialog.confirm') }} + + + {{ $t('menu.menuDialog.cancel') }} + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/menuDialog/viewDevice.vue b/src/jmapNew/theme/xian_03/menus/menuDialog/viewDevice.vue new file mode 100644 index 000000000..3ed2c4e38 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/menuDialog/viewDevice.vue @@ -0,0 +1,166 @@ + + + + + {{ $t('menu.menuDialog.trainWindow') }} + + + {{ $t('menu.menuDialog.sectionBoundary') }} + + + {{ $t('menu.menuDialog.linkageAutoRouteShow') }} + + + {{ $t('menu.menuDialog.atsAutoTriggerShow') }} + + + + + {{ $t('menu.menuDialog.confirm') }} + + + + {{ $t('menu.menuDialog.cancel') }} + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/menuDialog/viewName.vue b/src/jmapNew/theme/xian_03/menus/menuDialog/viewName.vue new file mode 100644 index 000000000..461a723df --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/menuDialog/viewName.vue @@ -0,0 +1,248 @@ + + + + + + {{ $t('menu.menuDialog.signalName') }} + + + {{ $t('menu.menuDialog.standTrackName') }} + + + + + {{ $t('menu.menuDialog.buttonName') }} + + + {{ $t('menu.menuDialog.reentryTrackName') }} + + + + + {{ $t('menu.menuDialog.trackName') }} + + + {{ $t('menu.menuDialog.transferTrackName') }} + + + + + {{ $t('menu.menuDialog.turnoutName') }} + + + {{ $t('menu.menuDialog.indicatorName') }} + + + + + {{ $t('menu.menuDialog.turnoutSectionName') }} + + + {{ $t('menu.menuDialog.destinationName') }} + + + + + {{ $t('menu.menuDialog.axisSectionName') }} + + + {{ $t('menu.menuDialog.kmPost') }} + + + + + + {{ $t('menu.menuDialog.confirm') }} + + + {{ $t('menu.menuDialog.cancel') }} + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/menuDialog/viewTrainId.vue b/src/jmapNew/theme/xian_03/menus/menuDialog/viewTrainId.vue new file mode 100644 index 000000000..a4e14b092 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/menuDialog/viewTrainId.vue @@ -0,0 +1,209 @@ + + + + {{ $t('menu.menuDialog.plantrainDisplayMode') }} + + + + {{ $t('menu.menuDialog.serviceNumber') }} + {{ $t('menu.menuDialog.tripNumber') }} + + + {{ $t('menu.menuDialog.serviceNumber') }} + {{ $t('menu.menuDialog.groupNumber') }} + + + + + {{ $t('menu.menuDialog.targetNumber') }} + {{ $t('menu.menuDialog.tripNumber') }} + + + {{ $t('menu.menuDialog.targetNumber') }} + {{ $t('menu.menuDialog.groupNumber') }} + + + + + {{ $t('menu.menuDialog.targetNumber') }} + {{ $t('menu.menuDialog.serviceNumber') }} + {{ $t('menu.menuDialog.tripNumber') }} + + + {{ $t('menu.menuDialog.targetNumber') }} + {{ $t('menu.menuDialog.serviceNumber') }} + {{ $t('menu.menuDialog.groupNumber') }} + + + + + + {{ $t('menu.menuDialog.headCodeStationDisplayMode') }} + + + + {{ $t('menu.menuDialog.targetNumber') }} + {{ $t('menu.menuDialog.tripNumber') }} + + + {{ $t('menu.menuDialog.targetNumber') }} + {{ $t('menu.menuDialog.groupNumber') }} + + + + + + {{ $t('menu.menuDialog.fontSize') }} + + + + + + {{ $t('menu.menuDialog.range') }} + + + + + + {{ $t('menu.menuDialog.confirm') }} + + + {{ $t('menu.menuDialog.cancel') }} + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/menuSection.vue b/src/jmapNew/theme/xian_03/menus/menuSection.vue new file mode 100644 index 000000000..55131084b --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/menuSection.vue @@ -0,0 +1,272 @@ + + + + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/menuSignal.vue b/src/jmapNew/theme/xian_03/menus/menuSignal.vue new file mode 100644 index 000000000..b1512d549 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/menuSignal.vue @@ -0,0 +1,378 @@ + + + + + + + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/menuStation.vue b/src/jmapNew/theme/xian_03/menus/menuStation.vue new file mode 100644 index 000000000..ca9705442 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/menuStation.vue @@ -0,0 +1,282 @@ + + + + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/menuStationStand.vue b/src/jmapNew/theme/xian_03/menus/menuStationStand.vue new file mode 100644 index 000000000..904d673f3 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/menuStationStand.vue @@ -0,0 +1,324 @@ + + + + + + + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/menuSwitch.vue b/src/jmapNew/theme/xian_03/menus/menuSwitch.vue new file mode 100644 index 000000000..9a4783d30 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/menuSwitch.vue @@ -0,0 +1,353 @@ + + + + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/menuTrain.vue b/src/jmapNew/theme/xian_03/menus/menuTrain.vue new file mode 100644 index 000000000..7f215a543 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/menuTrain.vue @@ -0,0 +1,332 @@ + + + + + + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/passiveDialog/alarm.vue b/src/jmapNew/theme/xian_03/menus/passiveDialog/alarm.vue new file mode 100644 index 000000000..88c45c4a5 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/passiveDialog/alarm.vue @@ -0,0 +1,218 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {{ $t('menu.passiveDialog.level') }} + + + + + + + + + + + + + {{ $t('menu.passiveDialog.type') }} + + + + + + + + + + + + + + + + + {{ $t('menu.passiveDialog.alarmDetailedDescription') }} + + + + + + {{ $t('menu.passiveDialog.confirm') }} + + + {{ $t('menu.passiveDialog.unconfirmedMessageOne') }}{{ level }}{{ $t('menu.passiveDialog.unconfirmedMessageTwo') }} + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/passiveDialog/control.vue b/src/jmapNew/theme/xian_03/menus/passiveDialog/control.vue new file mode 100644 index 000000000..aae10f32b --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/passiveDialog/control.vue @@ -0,0 +1,309 @@ + + + {{ `${requestInfo}${$t('menu.passiveDialog.requestAreaControlMode')}` }} + + + + {{ scope.row.operate }} + + + + + {{ scope.row.control.name }} + + + + + {{ scope.row.target.name }} + + + + + + + + + {{ $t('menu.passiveDialog.messageOne') }} {{ count }} {{ $t('menu.passiveDialog.messageTwo') }} + + + {{ $t('menu.passiveDialog.agree') }} + + + + {{ $t('menu.passiveDialog.refuse') }} + + + + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/passiveDialog/timeout.vue b/src/jmapNew/theme/xian_03/menus/passiveDialog/timeout.vue new file mode 100644 index 000000000..9cfd45d1e --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/passiveDialog/timeout.vue @@ -0,0 +1,111 @@ + + + {{ name }},{{ msg }}! + + {{ $t('menu.passiveDialog.operationConfirm') }} + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/statusDownTrainDetail.vue b/src/jmapNew/theme/xian_03/menus/statusDownTrainDetail.vue new file mode 100644 index 000000000..ac712152d --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/statusDownTrainDetail.vue @@ -0,0 +1,25 @@ + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/statusUpTrainDetail.vue b/src/jmapNew/theme/xian_03/menus/statusUpTrainDetail.vue new file mode 100644 index 000000000..bb1e0cee3 --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/statusUpTrainDetail.vue @@ -0,0 +1,26 @@ + + + + + + diff --git a/src/jmapNew/theme/xian_03/menus/utils/menuItemStatus.js b/src/jmapNew/theme/xian_03/menus/utils/menuItemStatus.js new file mode 100644 index 000000000..6263f872b --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/utils/menuItemStatus.js @@ -0,0 +1,570 @@ +import store from '@/store/index_APP_TARGET'; +import deviceState from '@/jmap/constant/deviceState'; +import { OperateMode } from '@/scripts/ConstDic'; + +export function getCurrentStateObject() { + return store.getters['menuOperation/selected']; +} + +/** 系统类型 */ +export const State2SimulationMap = { + '01': 'local', // 现地工作站 + '02': 'central' // 中心调度工作站 +}; + +export const State2ControlMap = { + '01': 'center', // 中控 + '02': 'station', // 站控 + '03': 'station' +}; + +// 控制禁用 +export const MenuDisabledState = { + Section: { + // 故障解锁 + fault() { + }, + // 切除 + split() { + const device = getCurrentStateObject(); + if (device && device.cutOff != deviceState.Section.cutOff.Default) { + return true; + } + }, + // 激活 + active() { + const device = getCurrentStateObject(); + if (device && device.cutOff == deviceState.Section.cutOff.Default) { + return true; + } + }, + // 区段封锁 + lock() { + const device = getCurrentStateObject(); + if (device && device.status == deviceState.Section.status.State06) { + return true; + } + }, + // 区段解禁 + unlock() { + const device = getCurrentStateObject(); + if (device && device.status != deviceState.Section.status.State06) { + return true; + } + }, + // 区段设置限速 + setSpeed() { + const device = getCurrentStateObject(); + if (device && device.speedUpperLimit != deviceState.Section.speedUpperLimit.Default) { + return true; + } + }, + // 区段取消限速 + cancelSpeed() { + const device = getCurrentStateObject(); + if (device && device.speedUpperLimit == deviceState.Section.speedUpperLimit.Default) { + return true; + } + }, + // 新建列车 + newTrain() { + }, + // 计轴预复位 + axlePreReset() { + }, + // 设置故障 + setStoppage() { + const device = getCurrentStateObject(); + if (device && device.fault) { + return true; + } + }, + // 取消故障 + cancelStoppage() { + const device = getCurrentStateObject(); + if (device && !device.fault) { + return true; + } + } + }, + Signal: { + // 进路选排 + arrangementRoute() { + + }, + // 进路取消 + cancelTrainRoute() { + }, + // 信号封闭 + lock() { + const device = getCurrentStateObject(); + if (device && device.status == deviceState.Signal.status.State05) { + return true; + } + }, + // 信号解封 + unlock() { + const device = getCurrentStateObject(); + if (device && device.status != deviceState.Signal.status.State05) { + return true; + } + }, + // 信号重开 + reopenSignal() { + }, + // 进路引导 + guide() { + }, + // 设置联锁自动进路 + setAutoInterlock() { + }, + // 取消联锁自动进路 + cancelAutoInterlock() { + }, + // 设置联锁自动触发 + setAutoTrigger() { + }, + // 取消联锁自动触发 + cancelAutoTrigger() { + }, + // 关灯 + signalClose() { + const device = getCurrentStateObject(); + if (device && device.status == deviceState.Signal.status.State01) { + return true; + } + }, + // 人工控 + humanControl() { + }, + // ats自动控 + atsAutoControl() { + }, + // 查询进路状态 + detail() { + }, + // 设置故障 + setStoppage() { + const device = getCurrentStateObject(); + if (device && device.fault) { + return true; + } + }, + // 取消故障 + cancelStoppage() { + const device = getCurrentStateObject(); + if (device && !device.fault) { + return true; + } + } + }, + Station: { + // 全站设置联锁自动触发 + setAutoTrigger() { + }, + // 全站取消联锁自动触发 + cancelAutoTrigger() { + }, + // 上电解锁 + powerUnLock() { + }, + // 执行关键操作测试 + execKeyOperationTest() { + }, + // 所有进路自排开 + atsAutoControlALL() { + }, + // 所有进路自排关 + humanControlALL() { + }, + // 设置ZC故障 + setStoppage() { + const device = getCurrentStateObject(); + if (device && device.fault) { + return true; + } + }, + // 取消ZC故障 + cancelStoppage() { + const device = getCurrentStateObject(); + if (device && !device.fault) { + return true; + } + } + }, + StationControl: { + // 紧急站控 + emergencyStationControl() { + const device = getCurrentStateObject(); + if (device && device.status == deviceState.StationControl.status.State03) { + return true; + } + }, + // 请求站控 + requestStationControl() { + const device = getCurrentStateObject(); + if (device && device.status == deviceState.StationControl.status.State02) { + return true; + } + }, + // 强行站控 + forcedStationControl() { + const device = getCurrentStateObject(); + if (device && device.status == deviceState.StationControl.status.State02) { + return true; + } + }, + // 请求中控 + requestCentralControl() { + const device = getCurrentStateObject(); + if (device && device.status == deviceState.StationControl.status.State01) { + return true; + } + }, + // 设置故障 + setStoppage() { + const device = getCurrentStateObject(); + if (device && device.fault) { + return true; + } + }, + // 取消故障 + cancelStoppage() { + const device = getCurrentStateObject(); + if (device && !device.fault) { + return true; + } + } + }, + StationStand: { + // 设置扣车 + setDetainTrain() { + const device = getCurrentStateObject(); + if (store.state.training.prdType == '02') { // 中心行调模式 + if (device && device.holdStatus == deviceState.StationStand.holdStatus.State04) { + return true; + } else if (device && device.holdStatus == deviceState.StationStand.holdStatus.State03) { + return true; + } + } else { // 现地模式 + if (device && device.holdStatus == deviceState.StationStand.holdStatus.State04) { + return true; + } else if (device && device.holdStatus == deviceState.StationStand.holdStatus.State02) { + return true; + } + } + }, + // 取消扣车 + cancelDetainTrain() { + const device = getCurrentStateObject(); + if (store.state.training.prdType == '02') { + if (device && device.holdStatus == deviceState.StationStand.holdStatus.State04) { + return false; + } else if (device && device.holdStatus != deviceState.StationStand.holdStatus.State03) { + return true; + } + } else { + if (device && device.holdStatus == deviceState.StationStand.holdStatus.State04) { + return false; + } else if (device && device.holdStatus != deviceState.StationStand.holdStatus.State02) { + return true; + } + } + }, + // 强制取消扣车 + cancelDetainTrainForce() { + const device = getCurrentStateObject(); + if (device && device.holdStatus == deviceState.StationStand.holdStatus.State01) { + return true; + } + }, + // 设置全站扣车 + cancelDetainTrainAll() { + }, + // 设置运行等级 + setRunLevel() { + }, + // 设置停站时间 + setStopTime() { + }, + // 设置跳停 + setJumpStop() { + const device = getCurrentStateObject(); + if (device && device.jumpStopStatus != deviceState.StationStand.jumpStopStatus.State01) { + return true; + } + }, + // 取消跳停 + cancelJumpStop() { + const device = getCurrentStateObject(); + if (device && device.jumpStopStatus == deviceState.StationStand.jumpStopStatus.State01) { + return true; + } + }, + // 提前发车 + earlyDeparture() { + }, + // 站台详细信息 + detail() { + }, + // 设置折返策略 + setBackStrategy() { + }, + // 设置故障 + setStoppage() { + const device = getCurrentStateObject(); + if (device && device.fault) { + return true; + } + }, + // 取消故障 + cancelStoppage() { + const device = getCurrentStateObject(); + if (device && !device.fault) { + return true; + } + } + }, + Switch: { + // 单锁 + lock() { + const device = getCurrentStateObject(); + if (device && device.status == deviceState.Switch.status.State10) { + return true; + } + }, + // 解锁 + unlock() { + const device = getCurrentStateObject(); + if (device && device.status != deviceState.Switch.status.State10) { + return true; + } + }, + // 封锁 + block() { + const device = getCurrentStateObject(); + if (device && device.status == deviceState.Switch.status.State14) { + return true; + } + }, + // 解封 + unblock() { + const device = getCurrentStateObject(); + if (device && device.status != deviceState.Switch.status.State14) { + return true; + } + }, + // 强扳 + switchTurnoutForce() { + }, + // 转动 + switchTurnout() { + }, + // 道岔故障解锁 + fault() { + }, + // 计轴预复位 + axlePreReset() { + }, + // 道岔切除 + split() { + }, + // 道岔激活 + active() { + }, + // 道岔设置速度 + setSpeed() { + // const device = getCurrentStateObject(); + }, + // 道岔取消速度 + cancelSpeed() { + }, + // 设置故障 + setStoppage() { + const device = getCurrentStateObject(); + if (device && device.fault) { + return true; + } + }, + // 取消故障 + cancelStoppage() { + const device = getCurrentStateObject(); + if (device && !device.fault) { + return true; + } + } + }, + Train: { + // 添加列车识别号 + addTrainId() { + }, + // 删除列车识别号 + delTrainId() { + }, + // 修改列车识别号 + editTrainId() { + }, + // 修改车组号 + editTrainNo() { + }, + // 移动列车识别号 + moveTrainId() { + }, + // 交换列车识别号 + switchTrainId() { + }, + // 设置限速 + limitSpeed() { + }, + // 设置通信故障 + setStoppage() { + const device = getCurrentStateObject(); + if (device && device.fault) { + return true; + } + }, + // 取消通信故障 + cancelStoppage() { + const device = getCurrentStateObject(); + if (device && !device.fault) { + return true; + } + } + } +}; + +export function checkOperationValidity() { + if (store.state.training.prdType == '02') { + return true; + } +} + +/** + * 将menu的disabled属性使用disabledCallback计算并返回 + * @param {Array} menu + */ +export function menuConvert(menu) { + if (menu.constructor === Array) { + menu.forEach(elem => { + if (elem.type === 'separator') { + elem.show = true; + return; + } + + if (elem.disabledCallback.constructor === Function) { + elem.disabled = elem.defaultDisabled; + if (!elem.defaultDisabled) { + elem.disabled = elem.disabledCallback(); + } + } + }); + } + return menu; +} + +/** + * 根据产品类型,返回对应的menuBar + * @param {*} menuObj + */ +export function menuBarConvert(menu, mode) { + if (menu) { + if (mode === OperateMode.NORMAL) { + menu.forEach(item => { + if (item.type === 'separator') { + item.show = true; + return; + } + + item.show = false; + if (!item.click) { + item.click = () => { }; + } + + if (!item.froce) { + item.show = true; + if (item.children && item.children.length > 0) { + menuBarConvert(item.children, mode); + } + } + }); + } else if (mode === OperateMode.ADMIN) { + menu.forEach(item => { + item.show = true; + if (!item.click) { + item.click = () => { }; + } + if (item.children && item.children.length > 0) { + menuBarConvert(item.children, mode); + } + }); + } + } + return menu || []; +} + +/** + * 将menu的show属性过滤返回 + * @param {Array} menu + */ +export function menuFiltration(menuObj) { + var selected = getCurrentStateObject(); + var control; + var menu = []; + + if (selected._type == 'StationStand') { + control = store.getters['map/getStationControlByStationCode'](selected.deviceStationCode); + } else if (selected._type == 'Station') { + control = store.getters['map/getStationControlByStationCode'](selected.code); + } else { + control = store.getters['map/getStationControlByStationCode'](selected.stationCode); + } + + if (control) { + if (store.state.training.prdType != '') { + const type = State2SimulationMap[store.state.training.prdType]; + const status = State2ControlMap[control.status]; + menu = [...menuObj[type]]; + if (menu.constructor === Array) { + menu.forEach(elem => { + if (elem.type === 'separator') { + elem.show = true; + return; + } + + if (elem.auth.constructor === Object) { + elem.show = true; + if (!elem.auth['station'] && !elem.auth['center']) { // 控制不显示 + elem.show = false; + } + elem.defaultDisabled = !elem.auth[status]; + } + }); + } + } + } + + return menu; +} + +/** + * 将train menu的show属性过滤返回 + */ +export function trainMenuFiltration(menuObj) { + var menu = []; + if (store.state.training.prdType != '') { + const type = State2SimulationMap[store.state.training.prdType]; + menu = [...menuObj[type]]; + if (menu.constructor === Array) { + menu.forEach(elem => { + if (elem.auth.constructor === Object) { + elem.show = true; + if (!elem.auth['station'] && !elem.auth['center']) { // 控制不显示 + elem.show = false; + } + } + }); + } + } + return menu; +} + diff --git a/src/jmapNew/theme/xian_03/menus/utils/menuOperate.js b/src/jmapNew/theme/xian_03/menus/utils/menuOperate.js new file mode 100644 index 000000000..baf16b23e --- /dev/null +++ b/src/jmapNew/theme/xian_03/menus/utils/menuOperate.js @@ -0,0 +1,302 @@ +import store from '@/store/index_APP_TARGET'; +import CMD from '@/scripts/cmdPlugin/CommandEnum'; +import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler'; + +// 操作 +export const menuOperate = { + Section:{ + split:{ + // 区段切除 + operation: OperationEvent.Section.split.menu.operation, + cmdType: CMD.Section.CMD_SECTION_CUT_OFF + }, + active:{ + // 区段激活 + operation: OperationEvent.Section.active.menu.operation, + cmdType: CMD.Section.CMD_SECTION_ACTIVE + }, + lock: { + // 区段封锁 + operation: OperationEvent.Section.lock.menu.operation, + cmdType: CMD.Section.CMD_SECTION_BLOCK + }, + unlock: { + // 区段解封 + operation: OperationEvent.Section.unlock.menu.operation, + cmdType: CMD.Section.CMD_SECTION_UNBLOCK + }, + alxeEffective:{ + // 确认计轴有效 + operation: OperationEvent.Section.alxeEffective.menu.operation, + cmdType: CMD.Section.CMD_SECTION_COMFIRMATION_AXLE + }, + setSpeed:{ + // 设置速度 + operation: OperationEvent.Section.setSpeed.menu.operation, + cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED + }, + cancelSpeed: { + // 取消限速 + operation: OperationEvent.Section.cancelSpeed.menu.operation, + cmdType: CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED + }, + axlePreReset:{ + // 区段计轴预复位 + operation: OperationEvent.Section.axlePreReset.menu.operation, + cmdType: CMD.Section.CMD_SECTION_AXIS_PRE_RESET + }, + fault:{ + // 区段故障解锁 + operation: OperationEvent.Section.fault.menu.operation, + cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK + } + }, + Signal:{ + arrangementRoute:{ + // 排列进路 + operation: OperationEvent.Signal.arrangementRoute.menu.operation, + cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE + }, + cancelTrainRoute:{ + // 取消进路 + operation: OperationEvent.Signal.cancelTrainRoute.menu.operation, + cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE + }, + lock:{ + // 信号封锁 + operation:OperationEvent.Signal.lock.menu.operation, + cmdType: CMD.Signal.CMD_SIGNAL_BLOCK + }, + unlock:{ + // 信号解封 + operation: OperationEvent.Signal.unlock.menu.operation, + cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK + }, + guide:{ + // 进路引导 + operation: OperationEvent.Signal.guide.menu.operation, + cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE + }, + reopenSignal:{ + // 信号重开 + operation: OperationEvent.Signal.reopenSignal.menu.operation, + cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL + }, + signalClose:{ + // 信号关灯 + operation: OperationEvent.Signal.signalClose.menu.operation, + cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL + }, + humanControl:{ + // 进路交人工控 + operation: OperationEvent.Signal.humanControl.menu.operation, + cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING + }, + atsAutoControl:{ + // 进路交自动控 + operation: OperationEvent.Signal.atsAutoControl.menu.operation, + cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING + }, + setAutoInterlock:{ + // 设置通过模式 + operation: OperationEvent.Signal.setAutoInterlock.menu.operation, + cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO + }, + cancelAutoInterlock:{ + // 取消通过模式 + operation: OperationEvent.Signal.cancelAutoInterlock.menu.operation, + cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO + }, + detail:{ + // 查询进路状态 + operation: OperationEvent.Signal.detail.menu.operation + }, + cancelGuide:{ + // 人工解锁进路(信号机取消引导) + operation: OperationEvent.Signal.cancelGuide.menu.operation, + cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_GUIDE + }, + setAutoTurnBack:{ + // 设置自动折返 + operation: OperationEvent.AutoTurnBack.SetAutoTurnBackButton.menu.operation, + cmdType: CMD.Signal.CMD_SIGNAL_SET_AUTO_TURN_BACK + }, + cancelAutoTurnBack:{ + // 取消自动折返 + operation: OperationEvent.AutoTurnBack.CancelAutoTurnBackButton.menu.operation, + cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_AUTO_TURN_BACK + } + }, + Switch:{ + lock:{ + // 道岔单锁 + operation: OperationEvent.Switch.lock.menu.operation, + cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK + }, + unlock:{ + // 道岔解锁 + operation: OperationEvent.Switch.unlock.menu.operation, + cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK + }, + block: { + // 道岔封锁 + operation: OperationEvent.Switch.block.menu.operation, + cmdType: CMD.Switch.CMD_SWITCH_BLOCK + }, + unblock: { + // 道岔解封 + operation: OperationEvent.Switch.unblock.menu.operation, + cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK + }, + switchTurnout: { + // 道岔转动 + operation: OperationEvent.Switch.turnout.menu.operation, + cmdType: CMD.Switch.CMD_SWITCH_TURN + }, + fault: { + // 故障解锁 + operation: OperationEvent.Switch.fault.menu.operation, + cmdType: CMD.Switch.CMD_SWITCH_FAULT_UNLOCK + }, + split:{ + // 区段切除 + operation: OperationEvent.Switch.split.menu.operation, + cmdType: CMD.Switch.CMD_SWITCH_CUT_OFF + }, + active:{ + // 区段激活 + operation: OperationEvent.Switch.active.menu.operation, + cmdType: CMD.Switch.CMD_SWITCH_ACTIVE + }, + setSpeed:{ + // 设置临时限速 + operation: OperationEvent.Switch.setSpeed.menu.operation, + cmdType:CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED + }, + cancelSpeed: { + // 取消临时限速 + operation: OperationEvent.Switch.cancelSpeed.menu.operation, + cmdType:CMD.Switch.CMD_CANCEL_SPEED + }, + alxeEffective:{ + // 确认计轴有效 + operation: OperationEvent.Switch.alxeEffective.menu.operation, + cmdType: CMD.Switch.CMD_SWITCH_COMFIRMATION_AXLE + }, + axlePreReset:{ + // 计轴预复位 + operation: OperationEvent.Switch.axlePreReset.menu.operation, + cmdType: CMD.Switch.CMD_SWITCH_AXIS_PRE_RESET + } + + }, + StationStand:{ + setDetainTrain:{ + // 设置扣车 + operation: OperationEvent.StationStand.setDetainTrain.menu.operation, + cmdType: CMD.Stand.CMD_STAND_SET_HOLD_TRAIN + }, + cancelDetainTrain:{ + // 取消扣车 + operation: OperationEvent.StationStand.cancelDetainTrain.menu.operation, + cmdType: CMD.Stand.CMD_STAND_CANCEL_HOLD_TRAIN + }, + cancelDetainTrainForce: { + // 强制取消扣车 + operation: OperationEvent.StationStand.cancelDetainTrainForce.menu.operation, + cmdType: CMD.Stand.CMD_STAND_FORCE_CANCEL_HOLD_TRAIN + }, + cancelDetainTrainAll: { + // 全线取消扣车 + operation: OperationEvent.StationStand.cancelDetainTrainAll.menu.operation, + cmdType: CMD.Stand.CMD_STAND_WHOLE_LINE_CANCEL_HOLD_TRAIN + }, + setJumpStop:{ + // 设置跳停 + operation: OperationEvent.StationStand.setJumpStop.menu.operation, + cmdType: CMD.Stand.CMD_STAND_SET_JUMP_STOP + }, + cancelJumpStop:{ + // 取消跳停 + operation: OperationEvent.StationStand.cancelJumpStop.menu.operation, + cmdType: CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP + }, + setStopTime:{ + // 停站时间控制 + operation: OperationEvent.StationStand.setStopTime.menu.operation, + cmdType: CMD.Stand.CMD_STAND_SET_PARK_TIME + }, + setRunLevel:{ + // 运行时间控制 + operation: OperationEvent.StationStand.setRunLevel.menu.operation, + cmdType: CMD.Stand.CMD_STAND_SET_RUN_TIME + }, + earlyDeparture:{ + // 设置提前发车 + operation: OperationEvent.StationStand.earlyDeparture.menu.operation, + cmdType: CMD.Stand.CMD_STAND_EARLY_DEPART + }, + setBackStrategy:{ + // 设置折返策略 + operation: OperationEvent.StationStand.setBackStrategy.menu.operation, + cmdType: CMD.Stand.CMD_STAND_SET_REENTRY_STRATEGY + }, + detail:{ + // 查询站台状态 + operation: OperationEvent.StationStand.detail.menu.operation + // cmdType: CMD.Stand.CMD_STAND_VIEW_STATUS + } + }, + StationControl:{ + requestCentralControl:{ + // 请求中控(遥控) + operation: OperationEvent.StationControl.requestCentralControl.menu.operation, + cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL + }, + requestStationControl:{ + // 请求站控 + operation: OperationEvent.StationControl.requestStationControl.menu.operation, + cmdType:CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL + }, + emergencyStationControl:{ + // 紧急站控 + operation: OperationEvent.StationControl.emergencyStationControl.menu.operation, + cmdType:CMD.ControlConvertMenu.CMD_CM_EMERGENCY_STATION_CONTROL + } + + } +}; + +export function commitOperate(operate, paramList, over, val) { + const step = { + start: true, + operation: operate.operation, + param:{} + }; + step.param = paramList; + if (val) { + step['val'] = val; + } + // over 0为首次操作,1为中间操作,2为最后操作,3为直接一次性操作 + if (over == 0 || over == 3) { + const codeList = Object.values(paramList); + step.code = codeList[0]; + } + if (over != 0 && over != 3) { + delete step.start; + } + if (over == 2 || over == 3) { + step.over = true; + step.cmdType = operate.cmdType; + } + return new Promise(function(resolve, reject) { + store.dispatch('training/nextNew', step).then(({ valid }) => { + if (valid) { + store.dispatch('menuOperation/handleBreakFlag', { break: true }); + } + resolve({ valid: valid, operate: step }); + }).catch(error=>{ + reject(error); + }); + }); +} diff --git a/src/jmapNew/theme/xian_03/model.js b/src/jmapNew/theme/xian_03/model.js new file mode 100644 index 000000000..4920490ff --- /dev/null +++ b/src/jmapNew/theme/xian_03/model.js @@ -0,0 +1,73 @@ +import deviceType from '../../constant/deviceType'; + +class Model { + constructor() { + this.screenLine = 3; + // 公共字段部分默认初始值 + this['public'] = {}; + this['public'][deviceType.Signal] = { + lampPositionType: '02', + lampPostType: '02' + }; + + // 私有字段部分默认初始值 + this['private'] = {}; + this['private'][deviceType.StationControl] = { + indicatorShow: true // 标识灯名称显示 + }; + this['private'][deviceType.Station] = { + kmPostShow: true // 公里标显示 + }; + this['private'][deviceType.Switch] = { + nameShow: true + }; + this['private'][deviceType.Section] = { + nameShow: true, + borderBorderShow: true, // 区段边界显示 + destinationNameShow: true, // 目的地码名称显示 + standTrackNameShow: true, // 站台轨名称显示 + reentryTrackNameShow: true, // 折返轨名称显示 + transferTrackNameShow: true // 转换轨名称显示 + }; + this['private'][deviceType.Signal] = { + nameShow: true, // 信号机名称显示 + linkageAutoRouteShow: true, // 联锁自动进路表示灯显示 + atsAutoTriggerShow: true // ATS自动触发表示灯显示 + }; + this['private'][deviceType.Train] = { + nameFormat: 'targetCode:serviceNumber:tripNumber', // 字体格式 + nameFontSize: 10 // 字体大小 + }; + this['private'][deviceType.TrainWindow] = { + trainWindowShow: true + }; + } + + initPublicProps(model) { + if (model) { + var modelInitial = this.public[model._type]; + if (modelInitial) { + for (var prop in modelInitial) { + model[prop] = modelInitial[prop]; + } + } + } + + return model; + } + + initPrivateProps(model) { + if (model) { + var modelInitial = this.private[model._type]; + if (modelInitial) { + for (var prop in modelInitial) { + model[prop] = modelInitial[prop]; + } + } + } + + return model; + } +} + +export default new Model(); diff --git a/src/jmapNew/theme/xian_03/operationConfig.js b/src/jmapNew/theme/xian_03/operationConfig.js new file mode 100644 index 000000000..b038248fa --- /dev/null +++ b/src/jmapNew/theme/xian_03/operationConfig.js @@ -0,0 +1,849 @@ +// 操作规则定义 +// {id: "1", trainingType: "01", name: "车站名称"} +// {id: "2", trainingType: "01", name: "车站控制模式编号"} +// {id: "3", trainingType: "02", name: "进路名称"} +// {id: "4", trainingType: "02", name: "进路编号"} +// {id: "5", trainingType: "02", name: "信号机名称"} +// {id: "6", trainingType: "02", name: "信号机编号"} + +// {id: "7", trainingType: "03", name: "道岔名称"} +// {id: "17", trainingType: "03", name: "道岔编码"} +// {id: "15", trainingType: "03", name: "道岔位置"} +// {id: "16", trainingType: "03", name: "道岔位置(反)"} +// {id: "21", trainingType: "03", name: "车站名称"} +// {id: "23", trainingType: "03", name: "车站编号"} +// {id: "24", trainingType: "03", name: "道岔计轴区段编号"} +// {id: "25", trainingType: "03", name: "道岔计轴区段名称"} + +// {id: "8", trainingType: "04", name: "物理区段名称"} +// {id: "9", trainingType: "04", name: "逻辑区段名称"} +// {id: "18", trainingType: "04", name: "逻辑区段编码"} +// {id: "19", trainingType: "04", name: "区段编号"} +// {id: "20", trainingType: "04", name: "车站名称"} +// {id: "22", trainingType: "04", name: "车站编号"} + +// {id: "10", trainingType: "05", name: "车站名称"} +// {id: "11", trainingType: "05", name: "站台行驶方向编号"} +// {id: "12", trainingType: "05", name: "站台行驶方向"} +// {id: "13", trainingType: "05", name: "站台行驶方向编号(反)"} +// {id: "14", trainingType: "05", name: "站台行驶方向(反)"} +export default { + list: [ + { + maxDuration: 20, + minDuration: 15, + operateType: '0103', + skinCode: '02', + trainingName: '转为中控({1})', + trainingRemark: '控制权限转换,站控转中控', + trainingType: '01', + productTypes: ['02'], + stepVOList: [ + { deviceType: 'bar', orderNum: 1, operateCode: '0024', tip: '鼠标左键点击顶部菜单栏【控制模式转换】' }, + { deviceType: 'bar', orderNum: 2, operateCode: '2041', tip: '鼠标左键点击【转为中控】' }, + { deviceType: '05', orderNum: 3, operateCode: '2042', tip: '鼠标左键选择所需要转换的控制区域【{1}】', val: '{2}' }, + { deviceType: '05', orderNum: 4, operateCode: '204', tip: '鼠标左键点击【请求中控】', val: '{2}' }, + { deviceType: '05', orderNum: 5, operateCode: '2043', tip: '鼠标左键点击【确认】按钮', val: '{2}' }, + { deviceType: '05', orderNum: 6, operateCode: '0013', tip: '鼠标左键点击【确定】按钮' }, + { deviceType: 'bar', orderNum: 7, operateCode: '000', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0101', + skinCode: '02', + trainingName: '转为站控({1})', + trainingRemark: '控制权限转换,中控转站控', + trainingType: '01', + productTypes: ['01'], + stepVOList: [ + { deviceType: 'bar', orderNum: 1, operateCode: '0024', tip: '鼠标左键点击顶部菜单栏【控制模式转换】' }, + { deviceType: 'bar', orderNum: 2, operateCode: '2021', tip: '鼠标左键点击【转为站控】' }, + { deviceType: '05', orderNum: 3, operateCode: '2022', tip: '鼠标左键选择所需要转换的控制区域【{1}】', val: '{2}' }, + { deviceType: '05', orderNum: 4, operateCode: '202', tip: '鼠标左键点击【请求站控】', val: '{2}' }, + { deviceType: '05', orderNum: 5, operateCode: '2023', tip: '鼠标左键点击【确认】按钮', val: '{2}' }, + { deviceType: '05', orderNum: 6, operateCode: '0013', tip: '鼠标左键点击【确定】按钮' }, + { deviceType: 'bar', orderNum: 7, operateCode: '000', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0102', + skinCode: '02', + trainingName: '强制站控({1})', + trainingRemark: '控制权限转换,强制站控', + trainingType: '01', + productTypes: ['01'], + stepVOList: [ + { deviceType: 'bar', orderNum: 1, operateCode: '0024', tip: '鼠标左键点击顶部菜单栏【控制模式转换】' }, + { deviceType: 'bar', orderNum: 2, operateCode: '2034', tip: '鼠标左键点击【强制站控】' }, + { deviceType: 'bar', orderNum: 3, operateCode: '2035', tip: '鼠标左键输入默认密码【123456】后,点击【确定】按钮' }, + { deviceType: '05', orderNum: 4, operateCode: '2032', tip: '鼠标左键选择所需要转换的控制区域【{1}】', val: '{2}' }, + { deviceType: '05', orderNum: 5, operateCode: '203', tip: '鼠标左键点击【强制站控】', val: '{2}' }, + { deviceType: '05', orderNum: 6, operateCode: '2033', tip: '鼠标左键点击【确认】按钮', val: '{2}' }, + { deviceType: '05', orderNum: 7, operateCode: '0013', tip: '鼠标左键点击【确定】按钮' }, + { deviceType: 'bar', orderNum: 8, operateCode: '000', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0501', + skinCode: '02', + trainingName: '站台扣车({10}-{12}站台)', + trainingRemark: '设置扣车功能', + trainingType: '05', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '504', tip: '鼠标右键菜单选择【扣车】' }, + { deviceType: '06', orderNum: 2, operateCode: '504', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0502', + skinCode: '02', + trainingName: '站台取消扣车({10}-{12}站台)', + trainingRemark: '设置取消扣车功能', + trainingType: '05', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '505', tip: '鼠标右键菜单选择【取消扣车】' }, + { deviceType: '06', orderNum: 2, operateCode: '505', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0503', + skinCode: '02', + trainingName: '强制取消扣车({10}-{12}站台)', + trainingRemark: '强制取消扣车功能', + trainingType: '05', + productTypes: ['01'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '506', tip: '鼠标右键菜单选择【强制取消扣车】' }, + { deviceType: '06', orderNum: 2, operateCode: '506', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0504', + skinCode: '02', + trainingName: '全线取消扣车({10}-{12}站台)', + trainingRemark: '全线取消扣车功能(默认上行全线/下行全线,不做选择)', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '508', tip: '鼠标右键菜单选择【全线取消扣车】' }, + { deviceType: '06', orderNum: 2, operateCode: '508', tip: '鼠标左键点击【确定】按钮', val: '{11}' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0504', + skinCode: '02', + trainingName: '全线取消扣车({10}-{12}站台)', + trainingRemark: '全线取消扣车功能(选择上/下行全线)', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '508', tip: '鼠标右键菜单选择【全线取消扣车】' }, + { deviceType: '06', orderNum: 2, operateCode: '5081', tip: '鼠标右键菜单选择【{14}全线】', val: '{13}' }, + { deviceType: '06', orderNum: 3, operateCode: '508', tip: '鼠标左键点击【确定】按钮', val: '{13}' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0505', + skinCode: '02', + trainingName: '站台跳停({10}-{12}站台)', + trainingRemark: '设置跳停功能', + trainingType: '05', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '502', tip: '鼠标右键菜单选择【跳停】' }, + { deviceType: '06', orderNum: 2, operateCode: '502', tip: '鼠标左键点击【确定】按钮', val: '{11}' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0506', + skinCode: '02', + trainingName: '取消跳停({10}-{12}站台)', + trainingRemark: '设置取消跳停功能', + trainingType: '05', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '503', tip: '鼠标右键菜单选择【取消跳停】' }, + { deviceType: '06', orderNum: 2, operateCode: '503', tip: '鼠标左键点击【确定】按钮', val: '{11}' } + ] + }, + { + maxDuration: 8, + minDuration: 5, + operateType: '0507', + skinCode: '02', + trainingName: '查询站台状态({10}-{12}站台)', + trainingRemark: '查询站台状态功能', + trainingType: '05', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '507', tip: '鼠标右键菜单选择【查询站台状态】' }, + { deviceType: '06', orderNum: 2, operateCode: '0012', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0508', + skinCode: '02', + trainingName: '设置停站时间({10}-{12}站台)', + trainingRemark: '设置停站时间(自动, 一直有效)', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' }, + { deviceType: '06', orderNum: 2, operateCode: '5092', tip: '鼠标左键点击,选择【自动】', val: '01' }, + { deviceType: '06', orderNum: 3, operateCode: '509', tip: '鼠标左键点击【确认】按钮', val: '01::20::true' }, + { deviceType: '06', orderNum: 4, operateCode: '5091', tip: '鼠标左键点击【确认】按钮', val: '01::20::true' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0508', + skinCode: '02', + trainingName: '设置停站时间({10}-{12}站台)', + trainingRemark: '设置停站时间(人工, 20秒, 一直有效)', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' }, + { deviceType: '06', orderNum: 2, operateCode: '5092', tip: '鼠标左键点击,选择【人工】', val: '02' }, + { deviceType: '06', orderNum: 3, operateCode: '5094', tip: '输入或鼠标点击,调整为【20】', val: '20' }, + { deviceType: '06', orderNum: 4, operateCode: '509', tip: '鼠标左键点击【确认】按钮', val: '02::20::true' }, + { deviceType: '06', orderNum: 5, operateCode: '5091', tip: '鼠标左键点击【确认】按钮', val: '02::20::true' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0508', + skinCode: '02', + trainingName: '设置停站时间({10}-{12}站台)', + trainingRemark: '设置停站时间(人工, 20秒, 一次有效)', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '509', tip: '鼠标右键菜单选择【设置停站时间】' }, + { deviceType: '06', orderNum: 2, operateCode: '5092', tip: '鼠标左键点击,选择【人工】', val: '02' }, + { deviceType: '06', orderNum: 3, operateCode: '5094', tip: '输入或鼠标点击,调整为【20】', val: '20' }, + { deviceType: '06', orderNum: 4, operateCode: '5093', tip: '鼠标左键点击,选择【一次有效】', val: 'false' }, + { deviceType: '06', orderNum: 5, operateCode: '509', tip: '鼠标左键点击【确认】按钮', val: '02::20::false' }, + { deviceType: '06', orderNum: 6, operateCode: '5091', tip: '鼠标左键点击【确认】按钮', val: '02::20::false' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0509', + skinCode: '02', + trainingName: '设置运行等级({10}-{12}站台)', + trainingRemark: '设置运行等级(设置区间运行时间为60,一直有效)', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '510', tip: '鼠标右键菜单选择【设置运行等级】' }, + { deviceType: '06', orderNum: 2, operateCode: '5101', tip: '鼠标左键点击,选择【60】', val: '60' }, + { deviceType: '06', orderNum: 3, operateCode: '510', tip: '鼠标左键点击【确认】按钮', val: '60::true' }, + { deviceType: '06', orderNum: 4, operateCode: '5102', tip: '鼠标左键点击【确认】按钮', val: '60::true' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0509', + skinCode: '02', + trainingName: '设置运行等级({10}-{12}站台)', + trainingRemark: '设置运行等级(设置区间运行时间为60,一次有效)', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '510', tip: '鼠标右键菜单选择【设置运行等级】' }, + { deviceType: '06', orderNum: 2, operateCode: '5101', tip: '鼠标左键点击,选择【60】', val: '60' }, + { deviceType: '06', orderNum: 3, operateCode: '5103', tip: '鼠标左键点击,取消选择【一直有效】', val: 'false' }, + { deviceType: '06', orderNum: 4, operateCode: '510', tip: '鼠标左键点击【确认】按钮', val: '60::false' }, + { deviceType: '06', orderNum: 5, operateCode: '5102', tip: '鼠标左键点击【确认】按钮', val: '60::false' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0510', + skinCode: '02', + trainingName: '设置提前发车({10}-{12}站台)', + trainingRemark: '设置提前发车功能', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '501', tip: '鼠标右键菜单选择【设置提前发车】' }, + { deviceType: '06', orderNum: 2, operateCode: '501', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0511', + skinCode: '02', + trainingName: '人工折返策略设置({10}-{12}站台)', + trainingRemark: '人工折返策略设置功能', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '511', tip: '鼠标右键菜单选择【人工折返策略设置】' }, + { deviceType: '06', orderNum: 2, operateCode: '5111', tip: '鼠标左键点击,选择【无折返】', val: '01' }, + { deviceType: '06', orderNum: 3, operateCode: '511', tip: '鼠标左键点击【确定】按钮', val: '01' } + ] + }, + + { + maxDuration: 15, + minDuration: 8, + operateType: '0401', + skinCode: '02', + trainingName: '区段故障解锁({8}{9})', + trainingRemark: '故障解锁功能', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '402', tip: '鼠标右键菜单选择【区段故障解锁】' }, + { deviceType: '03', orderNum: 2, operateCode: '4026', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '03', orderNum: 3, operateCode: '4024', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '03', orderNum: 4, operateCode: '4025', tip: '鼠标左键点击【确认2】按钮' }, + { deviceType: '03', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0402', + skinCode: '02', + trainingName: '区段切除({8}{9})', + trainingRemark: '区段切除', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '405', tip: '鼠标右键菜单选择【区段切除】' }, + { deviceType: '03', orderNum: 2, operateCode: '405', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0403', + skinCode: '02', + trainingName: '区段激活({8}{9})', + trainingRemark: '区段激活功能', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '406', tip: '鼠标右键菜单选择【区段激活】' }, + { deviceType: '03', orderNum: 2, operateCode: '406', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0404', + skinCode: '02', + trainingName: '计轴预复位({8}{9})', + trainingRemark: '计轴预复位功能', + trainingType: '04', + productTypes: ['01'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '409', tip: '鼠标右键菜单选择【区段计轴预复位】' }, + { deviceType: '03', orderNum: 2, operateCode: '4091', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '03', orderNum: 3, operateCode: '4093', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '03', orderNum: 4, operateCode: '4094', tip: '鼠标左键点击【确认2】按钮' }, + { deviceType: '03', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0405', + skinCode: '02', + trainingName: '区段封锁({8}{9})', + trainingRemark: '区段封锁功能', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '403', tip: '鼠标右键菜单选择【区段封锁】' }, + { deviceType: '03', orderNum: 2, operateCode: '403', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0406', + skinCode: '02', + trainingName: '区段解封({8}{9})', + trainingRemark: '区段解封功能', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '404', tip: '鼠标右键菜单选择【区段解封】' }, + { deviceType: '03', orderNum: 2, operateCode: '4041', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '03', orderNum: 3, operateCode: '4043', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '03', orderNum: 4, operateCode: '4044', tip: '鼠标左键点击【确认2】按钮' }, + { deviceType: '03', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0407', + skinCode: '02', + trainingName: '区段设置限速({8}{9})', + trainingRemark: '区段设置限速功能(限速值:5)', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '407', tip: '鼠标右键菜单选择【区段设置限速】' }, + { deviceType: '03', orderNum: 2, operateCode: '4076', tip: '鼠标左键选择【限速值5】', val: '5' }, + { deviceType: '03', orderNum: 3, operateCode: '4071', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '03', orderNum: 4, operateCode: '4072', tip: '鼠标左键点击【确认】按钮' }, + { deviceType: '03', orderNum: 5, operateCode: '4073', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '03', orderNum: 6, operateCode: '4074', tip: '鼠标左键点击【确认2】按钮', val: '5' }, + { deviceType: '03', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0408', + skinCode: '02', + trainingName: '区段取消限速({8}{9})', + trainingRemark: '区段取消限速功能', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '408', tip: '鼠标右键菜单选择【区段取消限速】' }, + { deviceType: '03', orderNum: 2, operateCode: '4081', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '03', orderNum: 3, operateCode: '4082', tip: '鼠标左键点击【确认】按钮' }, + { deviceType: '03', orderNum: 4, operateCode: '4083', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '03', orderNum: 5, operateCode: '4084', tip: '鼠标左键点击【确认2】按钮', val: '5' }, + { deviceType: '03', orderNum: 6, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + + { + maxDuration: 15, + minDuration: 8, + operateType: '0301', + skinCode: '02', + trainingName: '道岔单锁({7})', + trainingRemark: '道岔单锁功能', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '103', tip: '鼠标右键菜单选择【道岔单锁】' }, + { deviceType: '02', orderNum: 2, operateCode: '103', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0302', + skinCode: '02', + trainingName: '道岔单解({7})', + trainingRemark: '道岔单解功能', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '104', tip: '鼠标右键菜单选择【道岔单解】' }, + { deviceType: '02', orderNum: 2, operateCode: '1041', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '02', orderNum: 3, operateCode: '1043', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '02', orderNum: 4, operateCode: '1044', tip: '鼠标左键点击【确认2】按钮' }, + { deviceType: '02', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0303', + skinCode: '02', + trainingName: '道岔区段封闭({7})', + trainingRemark: '道岔区段封闭功能', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '105', tip: '鼠标右键菜单选择【道岔区段封闭】' }, + { deviceType: '02', orderNum: 2, operateCode: '105', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0304', + skinCode: '02', + trainingName: '道岔区段解封({7})', + trainingRemark: '道岔区段解封功能', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '106', tip: '鼠标右键菜单选择【道岔区段解封】' }, + { deviceType: '02', orderNum: 2, operateCode: '1061', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '02', orderNum: 3, operateCode: '1063', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '02', orderNum: 4, operateCode: '1064', tip: '鼠标左键点击【确认2】按钮' }, + { deviceType: '02', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0305', + skinCode: '02', + trainingName: '道岔转动({7})', + trainingRemark: '道岔转动功能({15}转{16})', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '107', tip: '鼠标右键菜单选择【道岔转动】' }, + { deviceType: '02', orderNum: 2, operateCode: '107', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 20, + minDuration: 10, + operateType: '0306', + skinCode: '02', + trainingName: '道岔区段故障解锁({7})', + trainingRemark: '道岔区段故障解锁功能', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '109', tip: '鼠标右键菜单选择【道岔区段故障解锁】' }, + { deviceType: '02', orderNum: 2, operateCode: '1091', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '02', orderNum: 3, operateCode: '1093', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '02', orderNum: 4, operateCode: '1094', tip: '鼠标左键点击【确认2】按钮' }, + { deviceType: '02', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0307', + skinCode: '02', + trainingName: '道岔区段计轴预复位({7})', + trainingRemark: '道岔区段计轴预复位功能', + trainingType: '03', + productTypes: ['01'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '110', tip: '鼠标右键菜单选择【道岔区段计轴预复位】' }, + { deviceType: '02', orderNum: 2, operateCode: '1101', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '02', orderNum: 3, operateCode: '1103', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '02', orderNum: 4, operateCode: '1104', tip: '鼠标左键点击【确认2】按钮' }, + { deviceType: '02', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0308', + skinCode: '02', + trainingName: '区段切除({7})', + trainingRemark: '区段切除', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '111', tip: '鼠标右键菜单选择【区段切除】' }, + { deviceType: '02', orderNum: 2, operateCode: '111', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0309', + skinCode: '02', + trainingName: '区段激活({7})', + trainingRemark: '区段激活功能', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '112', tip: '鼠标右键菜单选择【区段激活】' }, + { deviceType: '02', orderNum: 2, operateCode: '112', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0310', + skinCode: '02', + trainingName: '道岔区段设置限速({7})', + trainingRemark: '道岔区段设置限速功能(限速值:5)', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '113', tip: '鼠标右键菜单选择【道岔区段设置限速】' }, + { deviceType: '02', orderNum: 2, operateCode: '1136', tip: '鼠标左键选择【限速值5】', val: '5' }, + { deviceType: '02', orderNum: 3, operateCode: '1131', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '02', orderNum: 4, operateCode: '1132', tip: '鼠标左键点击【确认】按钮' }, + { deviceType: '02', orderNum: 5, operateCode: '1133', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '02', orderNum: 6, operateCode: '1134', tip: '鼠标左键点击【确认2】按钮', val: '5' }, + { deviceType: '02', orderNum: 7, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0311', + skinCode: '02', + trainingName: '道岔区段取消限速({7})', + trainingRemark: '道岔区段取消限速功能', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '114', tip: '鼠标右键菜单选择【道岔区段取消限速】' }, + { deviceType: '02', orderNum: 2, operateCode: '1141', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '02', orderNum: 3, operateCode: '1142', tip: '鼠标左键点击【确认】按钮' }, + { deviceType: '02', orderNum: 4, operateCode: '1143', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '02', orderNum: 5, operateCode: '1144', tip: '鼠标左键点击【确认2】按钮', val: '5' }, + { deviceType: '02', orderNum: 6, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + + { + maxDuration: 15, + minDuration: 8, + operateType: '0201', + skinCode: '02', + trainingName: '进路选排({3})', + trainingRemark: '选择排列进路', + trainingType: '02', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '301', tip: '鼠标右键菜单选择【进路选排】' }, + { deviceType: '04', orderNum: 2, operateCode: '3011', tip: '鼠标左键选择进路名称【{3}】', val: '{4}' }, + { deviceType: '04', orderNum: 3, operateCode: '301', tip: '鼠标左键点击【确定】按钮' }, + { deviceType: '04', orderNum: 4, operateCode: '3012', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0202', + skinCode: '02', + trainingName: '进路取消({3})', + trainingRemark: '进路取消', + trainingType: '02', + productTypes: ['02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '303', tip: '鼠标右键菜单选择【进路取消】' }, + { deviceType: '04', orderNum: 2, operateCode: '303', tip: '鼠标左键点击【确定】按钮' }, + { deviceType: '04', orderNum: 3, operateCode: '3031', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0202', + skinCode: '02', + trainingName: '进路取消({3})', + trainingRemark: '进路取消', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '303', tip: '鼠标右键菜单选择【进路取消】' }, + { deviceType: '04', orderNum: 2, operateCode: '303', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0203', + skinCode: '02', + trainingName: '信号封闭({5})', + trainingRemark: '信号封闭', + trainingType: '02', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '306', tip: '鼠标右键菜单选择【信号封闭】' }, + { deviceType: '04', orderNum: 2, operateCode: '306', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0204', + skinCode: '02', + trainingName: '信号解封({5})', + trainingRemark: '信号解封', + trainingType: '02', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '307', tip: '鼠标右键菜单选择【信号解封】' }, + { deviceType: '04', orderNum: 2, operateCode: '3071', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '04', orderNum: 3, operateCode: '3072', tip: '鼠标左键点击【确认】按钮' }, + { deviceType: '04', orderNum: 4, operateCode: '3073', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '04', orderNum: 5, operateCode: '3074', tip: '鼠标左键点击【确认2】按钮' }, + { deviceType: '04', orderNum: 6, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0205', + skinCode: '02', + trainingName: '信号关灯({3})', + trainingRemark: '信号关灯', + trainingType: '02', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '313', tip: '鼠标右键菜单选择【信号关灯】' }, + { deviceType: '04', orderNum: 2, operateCode: '313', tip: '鼠标左键点击【确定】按钮' }, + { deviceType: '04', orderNum: 3, operateCode: '3131', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0206', + skinCode: '02', + trainingName: '信号重开({3})', + trainingRemark: '信号重开', + trainingType: '02', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '304', tip: '鼠标右键菜单选择【信号重开】' }, + { deviceType: '04', orderNum: 2, operateCode: '304', tip: '鼠标左键点击【确定】按钮' }, + { deviceType: '04', orderNum: 3, operateCode: '3041', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0207', + skinCode: '02', + trainingName: '引导进路办理({3})', + trainingRemark: '进路办理信号引导', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '308', tip: '鼠标右键菜单选择【引导进路办理】' }, + { deviceType: '04', orderNum: 2, operateCode: '3081', tip: '鼠标左键点击【下达】按钮' }, + { deviceType: '04', orderNum: 3, operateCode: '3083', tip: '鼠标左键点击【确认1】按钮' }, + { deviceType: '04', orderNum: 4, operateCode: '3084', tip: '鼠标左键点击【确认2】按钮' }, + { deviceType: '04', orderNum: 5, operateCode: '001', tip: '鼠标左键点击【关闭】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0208', + skinCode: '02', + trainingName: '自排开({5})', + trainingRemark: '自排开', + trainingType: '02', + productTypes: ['02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '315', tip: '鼠标右键菜单选择【自排开】' }, + { deviceType: '04', orderNum: 2, operateCode: '3151', tip: '鼠标左键选择控制状态为"人工"的进路', val: '{6}' }, + { deviceType: '04', orderNum: 3, operateCode: '315', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0209', + skinCode: '02', + trainingName: '自排关({5})', + trainingRemark: '自排关', + trainingType: '02', + productTypes: ['02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '314', tip: '鼠标右键菜单选择【自排关】' }, + { deviceType: '04', orderNum: 2, operateCode: '3141', tip: '鼠标左键选择第一条进路', val: '{6}' }, + { deviceType: '04', orderNum: 3, operateCode: '314', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0210', + skinCode: '02', + trainingName: '查询进路控制状态({5})', + trainingRemark: '查询进路控制状态', + trainingType: '02', + productTypes: ['02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '316', tip: '鼠标右键菜单选择【查询进路控制模式】' }, + { deviceType: '04', orderNum: 2, operateCode: '316', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0211', + skinCode: '02', + trainingName: '设置联锁自动进路({5})', + trainingRemark: '设置联锁自动进路', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '309', tip: '鼠标右键菜单选择【设置联锁自动进路】' }, + { deviceType: '04', orderNum: 2, operateCode: '309', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0212', + skinCode: '02', + trainingName: '取消联锁自动进路({5})', + trainingRemark: '取消联锁自动进路', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '310', tip: '鼠标右键菜单选择【取消联锁自动进路】' }, + { deviceType: '04', orderNum: 2, operateCode: '310', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0213', + skinCode: '02', + trainingName: '设置联锁自动触发({5})', + trainingRemark: '设置联锁自动触发', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '311', tip: '鼠标右键菜单选择【设置联锁自动触发】' }, + { deviceType: '04', orderNum: 2, operateCode: '311', tip: '鼠标左键点击【确定】按钮' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0214', + skinCode: '02', + trainingName: '取消联锁自动触发({5})', + trainingRemark: '取消联锁自动触发', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '312', tip: '鼠标右键菜单选择【取消联锁自动触发】' }, + { deviceType: '04', orderNum: 2, operateCode: '312', tip: '鼠标左键点击【确定】按钮' } + ] + } + ] +}; diff --git a/src/jmapNew/theme/xian_03/operationConfigGlobal.js b/src/jmapNew/theme/xian_03/operationConfigGlobal.js new file mode 100644 index 000000000..e99041826 --- /dev/null +++ b/src/jmapNew/theme/xian_03/operationConfigGlobal.js @@ -0,0 +1,820 @@ +export default { + list: [ + { + maxDuration: 20, + minDuration: 15, + operateType: '0103', + skinCode: '05', + trainingName: 'Switch to central control ({1})', + trainingRemark: 'Control permission conversion, switch station control to central control', + trainingType: '01', + productTypes: ['02'], + stepVOList: [ + { deviceType: 'bar', orderNum: 1, operateCode: '0024', tip: 'Left click the menu bar [control mode conversion]on the top' }, + { deviceType: 'bar', orderNum: 2, operateCode: '2041', tip: 'Left click [switch to central control] ' }, + { deviceType: '05', orderNum: 3, operateCode: '2042', tip: 'Left click to select the control area to be converted【{1}】', val: '{2}' }, + { deviceType: '05', orderNum: 4, operateCode: '204', tip: 'Left click [request to central control] ', val: '{2}' }, + { deviceType: '05', orderNum: 5, operateCode: '2043', tip: 'Left click [confirm]', val: '{2}' }, + { deviceType: '05', orderNum: 6, operateCode: '0013', tip: 'Left click [confirm]' }, + { deviceType: 'bar', orderNum: 7, operateCode: '000', tip: 'Left click [close] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0101', + skinCode: '05', + trainingName: 'Switch to station control ({1})', + trainingRemark: 'Control permission conversion, Force to station control', + trainingType: '01', + productTypes: ['01'], + stepVOList: [ + { deviceType: 'bar', orderNum: 1, operateCode: '0024', tip: 'Left click the menu bar [control mode conversion]on the top' }, + { deviceType: 'bar', orderNum: 2, operateCode: '2021', tip: 'Left click [switch to station control' }, + { deviceType: '05', orderNum: 3, operateCode: '2022', tip: 'Left click to select the control area to be converted【{1}】', val: '{2}' }, + { deviceType: '05', orderNum: 4, operateCode: '202', tip: 'Left click [request to station control', val: '{2}' }, + { deviceType: '05', orderNum: 5, operateCode: '2023', tip: 'Left click [confirm] ', val: '{2}' }, + { deviceType: '05', orderNum: 6, operateCode: '0013', tip: 'Left click [confirm] ' }, + { deviceType: 'bar', orderNum: 7, operateCode: '000', tip: 'Left click [close] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0102', + skinCode: '05', + trainingName: 'Force to station control ({1})', + trainingRemark: 'Control permission conversion,Force to station control', + trainingType: '01', + productTypes: ['01'], + stepVOList: [ + { deviceType: 'bar', orderNum: 1, operateCode: '0024', tip: 'Left click the menu bar [control mode conversion]on the top' }, + { deviceType: 'bar', orderNum: 2, operateCode: '2034', tip: 'Left click[Force to station control]' }, + { deviceType: 'bar', orderNum: 3, operateCode: '2035', tip: 'Left click to input the password [123456],then left click the [confirm]' }, + { deviceType: '05', orderNum: 4, operateCode: '2032', tip: 'Left click to select the control area to be converted【{1}】', val: '{2}' }, + { deviceType: '05', orderNum: 5, operateCode: '203', tip: 'Left click [Foece to station control', val: '{2}' }, + { deviceType: '05', orderNum: 6, operateCode: '2033', tip: 'Left click [confirm] ', val: '{2}' }, + { deviceType: '05', orderNum: 7, operateCode: '0013', tip: 'Left click [confirm] ' }, + { deviceType: 'bar', orderNum: 8, operateCode: '000', tip: 'Left click [close] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0501', + skinCode: '05', + trainingName: 'Detain Train({10}-{12}station)', + trainingRemark: 'Set the detaining function', + trainingType: '05', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '504', tip: 'Right click to select [Detain Train]' }, + { deviceType: '06', orderNum: 2, operateCode: '504', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0502', + skinCode: '05', + trainingName: 'Cancel Detaining({10}-{12}The platform)', + trainingRemark: 'Set cancelling detaining function', + trainingType: '05', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '505', tip: 'Right click to select [Cancel Detaining]]' }, + { deviceType: '06', orderNum: 2, operateCode: '505', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0503', + skinCode: '05', + trainingName: 'Force Canceling Detaining({10}-{12}The platform)', + trainingRemark: 'Force to cancel train detaining function', + trainingType: '05', + productTypes: ['01'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '506', tip: 'Right click to select [Force Canceling Detaining]' }, + { deviceType: '06', orderNum: 2, operateCode: '506', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0504', + skinCode: '05', + trainingName: 'Cancel train detaining along the whole line({10}-{12}The platform)', + trainingRemark: 'Cancel train detaining along the whole line (default the whole uplink and downlink )', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '508', tip: 'Right click to select [Cancel train detaining along the whole line]' }, + { deviceType: '06', orderNum: 2, operateCode: '508', tip: 'Left click [confirm] ', val: '{11}' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0504', + skinCode: '05', + trainingName: 'Cancel train detaining along the whole line({10}-{12}The platform)', + trainingRemark: 'Cancel train detaining along the whole line (select the uplink or downlink ))', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '508', tip: 'Right click to select [Cancel train detaining along the whole line]' }, + { deviceType: '06', orderNum: 2, operateCode: '5081', tip: 'Right click to select[{14}the whole line', val: '{13}' }, + { deviceType: '06', orderNum: 3, operateCode: '508', tip: 'Left click [confirm]', val: '{13}' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0505', + skinCode: '05', + trainingName: 'Skip this station to continue moving({10}-{12}The platform)', + trainingRemark: 'Set the skip to continue moving function', + trainingType: '05', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '502', tip: 'Right click to select [Skip this station to continue moving]' }, + { deviceType: '06', orderNum: 2, operateCode: '502', tip: 'Left click [confirm]', val: '{11}' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0506', + skinCode: '05', + trainingName: 'Cancel skiping({10}-{12}The platform)', + trainingRemark: 'Set cancelling skiping function', + trainingType: '05', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '503', tip: 'Right click to select [Cancel skiping]' }, + { deviceType: '06', orderNum: 2, operateCode: '503', tip: 'Left click [confirm]', val: '{11}' } + ] + }, + { + maxDuration: 8, + minDuration: 5, + operateType: '0507', + skinCode: '05', + trainingName: 'Query Platform status({10}-{12}The platform)', + trainingRemark: 'Query platform status function', + trainingType: '05', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '507', tip: 'Right click to select [Query Platform status]' }, + { deviceType: '06', orderNum: 2, operateCode: '0012', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0508', + skinCode: '05', + trainingName: 'Set the stop time({10}-{12}The platform)', + trainingRemark: 'Set the stop time (auto, permanent validity)', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '509', tip: 'Right click to select [Set the stop time]' }, + { deviceType: '06', orderNum: 2, operateCode: '5092', tip: 'Left click to select [auto]', val: '01' }, + { deviceType: '06', orderNum: 3, operateCode: '509', tip: 'Left click [confirm] ', val: '01::20::true' }, + { deviceType: '06', orderNum: 4, operateCode: '5091', tip: 'Left click [confirm] ', val: '01::20::true' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0508', + skinCode: '05', + trainingName: 'Set the stop time({10}-{12}The platform)', + trainingRemark: 'Set the stop time (manual, 20 seconds, permanent validity)', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '509', tip: 'Right click to select [Set the stop time]' }, + { deviceType: '06', orderNum: 2, operateCode: '5092', tip: 'Left click to select [manual]', val: '02' }, + { deviceType: '06', orderNum: 3, operateCode: '5094', tip: 'Set time [20]', val: '20' }, + { deviceType: '06', orderNum: 4, operateCode: '509', tip: 'Left click [confirm] ', val: '02::20::true' }, + { deviceType: '06', orderNum: 5, operateCode: '5091', tip: 'Left click [confirm]', val: '02::20::true' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0508', + skinCode: '05', + trainingName: 'Set the stop time({10}-{12}The platform)', + trainingRemark: 'Set the stop time (manual, 20 seconds, once valid )', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '509', tip: 'Right click to select [Set the stop time]' }, + { deviceType: '06', orderNum: 2, operateCode: '5092', tip: 'Left click to select [manual]', val: '02' }, + { deviceType: '06', orderNum: 3, operateCode: '5094', tip: 'Set time [20]', val: '20' }, + { deviceType: '06', orderNum: 4, operateCode: '5093', tip: 'Left click to select "once valid ".', val: 'false' }, + { deviceType: '06', orderNum: 5, operateCode: '509', tip: 'Left click [confirm] ', val: '02::20::false' }, + { deviceType: '06', orderNum: 6, operateCode: '5091', tip: 'Left click [confirm] ', val: '02::20::false' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0509', + skinCode: '05', + trainingName: 'Set Operation speed Level({10}-{12}The platform)', + trainingRemark: 'Set Operation speed Level(set the interval running time to 60, permanent validity)', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '510', tip: 'Right click to select [Set Operation speed Level]' }, + { deviceType: '06', orderNum: 2, operateCode: '5101', tip: 'Left click to select [60]', val: '60' }, + { deviceType: '06', orderNum: 3, operateCode: '510', tip: 'Left click [confirm] ', val: '60::true' }, + { deviceType: '06', orderNum: 4, operateCode: '5102', tip: 'Left click [confirm] ', val: '60::true' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0509', + skinCode: '05', + trainingName: 'Set Operation speed Level({10}-{12}The platform)', + trainingRemark: 'Set Operation speed Level (set the interval running time to 60, once valid )', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '510', tip: 'Right click to select [Set Operation speed Level]' }, + { deviceType: '06', orderNum: 2, operateCode: '5101', tip: 'Left click to select [60]', val: '60' }, + { deviceType: '06', orderNum: 3, operateCode: '5103', tip: 'Left click to cancel [permanent validity].', val: 'false' }, + { deviceType: '06', orderNum: 4, operateCode: '510', tip: 'Left click [confirm] ', val: '60::false' }, + { deviceType: '06', orderNum: 5, operateCode: '5102', tip: 'Left click [confirm] ', val: '60::false' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0510', + skinCode: '05', + trainingName: 'Set departure in advance({10}-{12}The platform)', + trainingRemark: 'Set departure inadvance function', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '501', tip: 'Right click to select [Set departure in advance]' }, + { deviceType: '06', orderNum: 2, operateCode: '501', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0511', + skinCode: '05', + trainingName: 'Manual return strategy setting({10}-{12}The platform)', + trainingRemark: 'Manual return strategy setting function', + trainingType: '05', + productTypes: ['02'], + stepVOList: [ + { deviceType: '06', orderNum: 1, operateCode: '511', tip: 'Right click to select [Manual return strategy setting]' }, + { deviceType: '06', orderNum: 2, operateCode: '5111', tip: 'Left click to select [No return]".', val: '01' }, + { deviceType: '06', orderNum: 3, operateCode: '511', tip: 'Left click [confirm] ', val: '01' } + ] + }, + + { + maxDuration: 15, + minDuration: 8, + operateType: '0401', + skinCode: '05', + trainingName: 'Section fault unlocking({8}{9})', + trainingRemark: 'Fault unlocking', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '402', tip: 'Right click to select [Section fault unlocking]' }, + { deviceType: '03', orderNum: 2, operateCode: '4026', tip: 'Left click [Execute] ' }, + { deviceType: '03', orderNum: 3, operateCode: '4024', tip: 'Left click [ok 1] ' }, + { deviceType: '03', orderNum: 4, operateCode: '4025', tip: 'Left click [ok 2] ' }, + { deviceType: '03', orderNum: 5, operateCode: '001', tip: 'Left click [close] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0402', + skinCode: '05', + trainingName: 'Section resection({8}{9})', + trainingRemark: 'Section resection', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '405', tip: 'Right click to select [Section resection]' }, + { deviceType: '03', orderNum: 2, operateCode: '405', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0403', + skinCode: '05', + trainingName: 'Section activation({8}{9})', + trainingRemark: 'Section activation function', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '406', tip: 'Right click to select [Section activation]' }, + { deviceType: '03', orderNum: 2, operateCode: '406', tip: 'Left click [confirm]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0404', + skinCode: '05', + trainingName: 'Axis pre-reset({8}{9})', + trainingRemark: 'Axis pre-reset function', + trainingType: '04', + productTypes: ['01'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '409', tip: 'Right click to select [Axis pre-reset]' }, + { deviceType: '03', orderNum: 2, operateCode: '4091', tip: 'Left click [Execute]' }, + { deviceType: '03', orderNum: 3, operateCode: '4093', tip: 'Left click [confirm1]' }, + { deviceType: '03', orderNum: 4, operateCode: '4094', tip: 'Left click [confirm2]' }, + { deviceType: '03', orderNum: 5, operateCode: '001', tip: 'Left click [close]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0405', + skinCode: '05', + trainingName: 'Section blockade({8}{9})', + trainingRemark: 'Section blockade function', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '403', tip: 'Right click to select [Section blockade]' }, + { deviceType: '03', orderNum: 2, operateCode: '403', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0406', + skinCode: '05', + trainingName: 'Section unblockade({8}{9})', + trainingRemark: 'Section unblockade function', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '404', tip: 'Right click to select [Section unblockade]' }, + { deviceType: '03', orderNum: 2, operateCode: '4041', tip: 'Left click [Execute]' }, + { deviceType: '03', orderNum: 3, operateCode: '4043', tip: 'Left click [confirm1]' }, + { deviceType: '03', orderNum: 4, operateCode: '4044', tip: 'Left click [confirm2]' }, + { deviceType: '03', orderNum: 5, operateCode: '001', tip: 'Left click [close]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0407', + skinCode: '05', + trainingName: 'Set speed limit on the section({8}{9})', + trainingRemark: 'Set speed limit on the section (speed limit value: 5)', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '407', tip: 'Right click to select [Set speed limit on the section]' }, + { deviceType: '03', orderNum: 2, operateCode: '4076', tip: 'Left click to select [speed limit 5] ', val: '5' }, + { deviceType: '03', orderNum: 3, operateCode: '4071', tip: 'Left click [Execute]' }, + { deviceType: '03', orderNum: 4, operateCode: '4072', tip: 'Left click [confirm]' }, + { deviceType: '03', orderNum: 5, operateCode: '4073', tip: 'Left click [confirm1]' }, + { deviceType: '03', orderNum: 6, operateCode: '4074', tip: 'Left click [confirm2]', val: '5' }, + { deviceType: '03', orderNum: 7, operateCode: '001', tip: 'Left click [close]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0408', + skinCode: '05', + trainingName: 'Cancel speed limit on the section({8}{9})', + trainingRemark: 'Cancel speed limit on the section', + trainingType: '04', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '03', orderNum: 1, operateCode: '408', tip: 'Right click to select [Cancel speed limit on the section]' }, + { deviceType: '03', orderNum: 2, operateCode: '4081', tip: 'Left click [Execute]' }, + { deviceType: '03', orderNum: 3, operateCode: '4082', tip: 'Left click [confirm] ' }, + { deviceType: '03', orderNum: 4, operateCode: '4083', tip: 'Left click [confirm1]' }, + { deviceType: '03', orderNum: 5, operateCode: '4084', tip: 'Left click [confirm2]', val: '5' }, + { deviceType: '03', orderNum: 6, operateCode: '001', tip: 'Left click [close]' } + ] + }, + + { + maxDuration: 15, + minDuration: 8, + operateType: '0301', + skinCode: '05', + trainingName: 'Single lock of turnout({7})', + trainingRemark: 'Single lock of turnout', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '103', tip: 'Right click to select [Single lock of turnout]' }, + { deviceType: '02', orderNum: 2, operateCode: '103', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0302', + skinCode: '05', + trainingName: 'Single release of turnout({7})', + trainingRemark: 'Single release of turnout', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '104', tip: 'Right click to select [Single release of turnout]' }, + { deviceType: '02', orderNum: 2, operateCode: '1041', tip: 'Left click [Execute]' }, + { deviceType: '02', orderNum: 3, operateCode: '1043', tip: 'Left click [confirm1] ' }, + { deviceType: '02', orderNum: 4, operateCode: '1044', tip: 'Left click [confirm2] ' }, + { deviceType: '02', orderNum: 5, operateCode: '001', tip: 'Left click [close] '} + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0303', + skinCode: '05', + trainingName: 'Turnout section closure({7})', + trainingRemark: 'Turnout section closure ', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '105', tip: 'Right click to select [Turnout section closure]' }, + { deviceType: '02', orderNum: 2, operateCode: '105', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0304', + skinCode: '05', + trainingName: 'Turnout section unsealing({7})', + trainingRemark: 'Turnout section unsealing function', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '106', tip: 'Right click to select [Turnout section unsealing]' }, + { deviceType: '02', orderNum: 2, operateCode: '1061', tip: 'Left click [Execute]' }, + { deviceType: '02', orderNum: 3, operateCode: '1063', tip: 'Left click [confirm1]' }, + { deviceType: '02', orderNum: 4, operateCode: '1064', tip: 'Left click [confirm2]' }, + { deviceType: '02', orderNum: 5, operateCode: '001', tip: 'Left click [close]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0305', + skinCode: '05', + trainingName: 'Turnout rotation({7})', + trainingRemark: 'Turnout rotation({15}turn{16})', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '107', tip: 'Right click to select [Turnout rotation]' }, + { deviceType: '02', orderNum: 2, operateCode: '107', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 20, + minDuration: 10, + operateType: '0306', + skinCode: '05', + trainingName: 'Turnout section fault unlocking({7})', + trainingRemark: 'Turnout section fault unlocking function', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '109', tip: 'Right click to select [Turnout section fault unlocking]' }, + { deviceType: '02', orderNum: 2, operateCode: '1091', tip: 'Left click [Execute]' }, + { deviceType: '02', orderNum: 3, operateCode: '1093', tip: 'Left click [confirm1]' }, + { deviceType: '02', orderNum: 4, operateCode: '1094', tip: 'Left click [confirm2]' }, + { deviceType: '02', orderNum: 5, operateCode: '001', tip: 'Left click [close]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0307', + skinCode: '05', + trainingName: 'Turnout section axile pre reset({7})', + trainingRemark: 'Turnout section axile pre reset function', + trainingType: '03', + productTypes: ['01'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '110', tip: 'Right click to select [Turnout section axile pre reset]' }, + { deviceType: '02', orderNum: 2, operateCode: '1101', tip: 'Left click [Execute]' }, + { deviceType: '02', orderNum: 3, operateCode: '1103', tip: 'Left click [confirm1]' }, + { deviceType: '02', orderNum: 4, operateCode: '1104', tip: 'Left click [confirm2]' }, + { deviceType: '02', orderNum: 5, operateCode: '001', tip: 'Left click [close]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0308', + skinCode: '05', + trainingName: 'Section resection({7})', + trainingRemark: 'Section resection', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '111', tip: 'Right click to select [Section resection]' }, + { deviceType: '02', orderNum: 2, operateCode: '111', tip: 'Left click [confirm]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0309', + skinCode: '05', + trainingName: 'Section activation({7})', + trainingRemark: 'Section activation function', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '112', tip: 'Right click to select [Section activation]' }, + { deviceType: '02', orderNum: 2, operateCode: '112', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0310', + skinCode: '05', + trainingName: 'Set speed limit on the turnout section({7})', + trainingRemark: 'Set speed limit on the section (speed limit value: 5)', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '113', tip: 'Right click to select [Set speed limit on the turnout section]' }, + { deviceType: '02', orderNum: 2, operateCode: '1136', tip: 'Left click to select [speed limit 5] ', val: '5' }, + { deviceType: '02', orderNum: 3, operateCode: '1131', tip: 'Left click [Execute]' }, + { deviceType: '02', orderNum: 4, operateCode: '1132', tip: 'Left click [confirm]' }, + { deviceType: '02', orderNum: 5, operateCode: '1133', tip: 'Left click [confirm1]' }, + { deviceType: '02', orderNum: 6, operateCode: '1134', tip: 'Left click [confirm2]', val: '5' }, + { deviceType: '02', orderNum: 7, operateCode: '001', tip: 'Left click [close]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0311', + skinCode: '05', + trainingName: 'Cancel speed limit on the turnout section({7})', + trainingRemark: 'Cancel speed limit on the turnout section', + trainingType: '03', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '02', orderNum: 1, operateCode: '114', tip: 'Right click to select [Cancel speed limit on the turnout section]' }, + { deviceType: '02', orderNum: 2, operateCode: '1141', tip: 'Left click [Execute]' }, + { deviceType: '02', orderNum: 3, operateCode: '1142', tip: 'Left click [confirm] ' }, + { deviceType: '02', orderNum: 4, operateCode: '1143', tip: 'Left click [confirm1]' }, + { deviceType: '02', orderNum: 5, operateCode: '1144', tip: 'Left click [confirm2]', val: '5' }, + { deviceType: '02', orderNum: 6, operateCode: '001', tip: 'Left click [close]' } + ] + }, + + { + maxDuration: 15, + minDuration: 8, + operateType: '0201', + skinCode: '05', + trainingName: 'Route selection({3})', + trainingRemark: 'Route selection', + trainingType: '02', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '301', tip: 'Right click to select [Route selection]' }, + { deviceType: '04', orderNum: 2, operateCode: '3011', tip: 'Left click to select the route name【{3}】', val: '{4}' }, + { deviceType: '04', orderNum: 3, operateCode: '301', tip: 'Left click [confirm] ' }, + { deviceType: '04', orderNum: 4, operateCode: '3012', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0202', + skinCode: '05', + trainingName: 'Cancel the route({3})', + trainingRemark: 'Cancel the route', + trainingType: '02', + productTypes: ['02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '303', tip: 'Right click to select [Cancel the route]' }, + { deviceType: '04', orderNum: 2, operateCode: '303', tip: 'Left click [confirm] ' }, + { deviceType: '04', orderNum: 3, operateCode: '3031', tip: 'Left click [confirm]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0202', + skinCode: '05', + trainingName: 'Cancel the route({3})', + trainingRemark: 'Cancel the route', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '303', tip: 'Right click to select [Cancel the route]' }, + { deviceType: '04', orderNum: 2, operateCode: '303', tip: 'Left click [confirm]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0203', + skinCode: '05', + trainingName: 'Signal closure({5})', + trainingRemark: 'Signal closure', + trainingType: '02', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '306', tip: 'Right click to select [Signal closure]' }, + { deviceType: '04', orderNum: 2, operateCode: '306', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0204', + skinCode: '05', + trainingName: 'Signal unsealing({5})', + trainingRemark: 'Signal unsealing', + trainingType: '02', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '307', tip: 'Right click to select [Signal unsealing]' }, + { deviceType: '04', orderNum: 2, operateCode: '3071', tip: 'Left click [Execute]' }, + { deviceType: '04', orderNum: 3, operateCode: '3072', tip: 'Left click [confirm]' }, + { deviceType: '04', orderNum: 4, operateCode: '3073', tip: 'Left click [confirm1]' }, + { deviceType: '04', orderNum: 5, operateCode: '3074', tip: 'Left click [confirm2]' }, + { deviceType: '04', orderNum: 6, operateCode: '001', tip: 'Left click [close]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0205', + skinCode: '05', + trainingName: 'Signal Off({3})', + trainingRemark: 'Signal Off', + trainingType: '02', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '313', tip: 'Right click to select [Signal Off]' }, + { deviceType: '04', orderNum: 2, operateCode: '313', tip: 'Left click [confirm]' }, + { deviceType: '04', orderNum: 3, operateCode: '3131', tip: 'Left click [confirm]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0206', + skinCode: '05', + trainingName: 'Signal reopen({3})', + trainingRemark: 'Signal reopen', + trainingType: '02', + productTypes: ['01', '02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '304', tip: 'Right click to select [Signal reopen]' }, + { deviceType: '04', orderNum: 2, operateCode: '304', tip: 'Left click [confirm]' }, + { deviceType: '04', orderNum: 3, operateCode: '3041', tip: 'Left click [confirm]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0207', + skinCode: '05', + trainingName: 'Guide route handling({3})', + trainingRemark: 'Guide route handling', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '308', tip: 'Right click to select [Guide route handling]' }, + { deviceType: '04', orderNum: 2, operateCode: '3081', tip: 'Left click [Execute]' }, + { deviceType: '04', orderNum: 3, operateCode: '3083', tip: 'Left click [confirm1]' }, + { deviceType: '04', orderNum: 4, operateCode: '3084', tip: 'Left click [confirm2]' }, + { deviceType: '04', orderNum: 5, operateCode: '001', tip: 'Left click [close]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0208', + skinCode: '05', + trainingName: 'Start automatic routing({5})', + trainingRemark: 'Start automatic routing', + trainingType: '02', + productTypes: ['02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '315', tip: 'Right click to select [Start automatic routing]' }, + { deviceType: '04', orderNum: 2, operateCode: '3151', tip: 'Left click to select the route based on the manual control state', val: '{6}' }, + { deviceType: '04', orderNum: 3, operateCode: '315', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0209', + skinCode: '05', + trainingName: 'Close automatic routing({5})', + trainingRemark: 'Close automatic routing', + trainingType: '02', + productTypes: ['02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '314', tip: 'Right click to select [Close automatic routing]' }, + { deviceType: '04', orderNum: 2, operateCode: '3141', tip: 'Left click to select the first route', val: '{6}' }, + { deviceType: '04', orderNum: 3, operateCode: '314', tip: 'Left click [confirm]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0210', + skinCode: '05', + trainingName: 'Route control status query({5})', + trainingRemark: 'Query the route control status ', + trainingType: '02', + productTypes: ['02'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '316', tip: 'Right click to select [Route control status query]' }, + { deviceType: '04', orderNum: 2, operateCode: '316', tip: 'Left click [confirm] ' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0211', + skinCode: '05', + trainingName: 'Set Interlock for Auto Routing({5})', + trainingRemark: 'Set Interlock for Auto Routing', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '309', tip: 'Right click to select [Set Interlock for Auto Routing]' }, + { deviceType: '04', orderNum: 2, operateCode: '309', tip: 'Left click [confirm]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0212', + skinCode: '05', + trainingName: 'Cancel Interlock setting for Auto Routing({5})', + trainingRemark: 'Cancel Interlock setting for Auto Routing', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '310', tip: 'Right click to select [Cancel Interlock setting for Auto Routing]' }, + { deviceType: '04', orderNum: 2, operateCode: '310', tip: 'Left click [confirm]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0213', + skinCode: '05', + trainingName: 'Set Interlock for Auto Trigger({5})', + trainingRemark: 'Set Interlock for Auto Trigger', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '311', tip: 'Right click to select [Set Interlock for Auto Trigger]' }, + { deviceType: '04', orderNum: 2, operateCode: '311', tip: 'Left click [confirm]' } + ] + }, + { + maxDuration: 15, + minDuration: 8, + operateType: '0214', + skinCode: '05', + trainingName: 'Cancel Interlock setting for Auto Trigger({5})', + trainingRemark: 'Cancel Interlock setting for Auto Trigger', + trainingType: '02', + productTypes: ['01'], + stepVOList: [ + { deviceType: '04', orderNum: 1, operateCode: '312', tip: 'Right click to select[Cancel Interlock setting for Auto Trigger]' }, + { deviceType: '04', orderNum: 2, operateCode: '312', tip: 'Left click [confirm]' } + ] + } + ] +}; diff --git a/src/jmapNew/theme/xian_03/planConvert.js b/src/jmapNew/theme/xian_03/planConvert.js new file mode 100644 index 000000000..fdbf73e59 --- /dev/null +++ b/src/jmapNew/theme/xian_03/planConvert.js @@ -0,0 +1,325 @@ +import { createMartPoint, createSeriesModel, createMarkLineModels, hexColor, convertSheetToList, prefixTime } from '@/utils/runPlan'; + +export default { + /** 边缘高度*/ + EdgeHeight: 600, + + /** 间隔高度*/ + CoordMultiple: 1, + + /** 偏移时间*/ + TranslationTime: 60 * 60 * 2, + + /** excel解析配置*/ + ExcelConfig: { + beginRow: 1, + beginCol: 0, + fieldNum: 6, + sepField: '车次号', + columns: { + '停车站名称': { key: 'stationName', formatter: (val) => { return val; } }, + '到达时间': { key: 'arriveTime', formatter: (val) => { return val; } }, + '出发时间': { key: 'departureTime', formatter: (val) => { return val; } } + } + }, + + /** 解析exal数据转换为Json后台数据*/ + importData(Sheet, JsonData) { + const dataList = convertSheetToList(Sheet, true); + const needList = Object.keys(this.ExcelConfig.columns); + + if (dataList && dataList.length) { + for (let colIndex = this.ExcelConfig.beginCol; colIndex < dataList.length; colIndex += this.ExcelConfig.fieldNum + 1) { + let isContinue = true; + let tripObj = { code: '', directionCode: '', arrivalList: [] }; + for (let rowIndex = this.ExcelConfig.beginRow; isContinue; rowIndex += 1) { + isContinue = false; + + const stationObj = {}; + for (let index = 0; index < this.ExcelConfig.fieldNum; index += 1) { + if (dataList[colIndex + index]) { + const title = dataList[colIndex + index][0]; + const value = dataList[colIndex + index][rowIndex]; + + if (title && value) { + // 数据列解析 + isContinue = true; + const titleStr = `${title}`.trim(); + let valueStr = `${value}`.trim(); + + if (titleStr == this.ExcelConfig.sepField) { + valueStr = `${dataList[colIndex + index - 1][rowIndex]}${valueStr}`; + if (tripObj.code) { + const length = tripObj.arrivalList.length; + if (length == 1) { + tripObj.arrivalList[0]['flag'] = true; + } + if (valueStr != tripObj.code) { + JsonData.push(tripObj); + const strVal = `${value}`.trim(); + tripObj = { code: valueStr, directionCode: strVal[0], arrivalList: [] }; + } + } else { + const strVal = `${value}`.trim(); + tripObj.code = valueStr; + tripObj.directionCode = strVal[0]; + } + } + + // 取需要的字段 + if (needList.findIndex(elem => { return elem == titleStr; }) >= 0) { + stationObj[this.ExcelConfig.columns[titleStr].key] = this.ExcelConfig.columns[titleStr].formatter(valueStr); + if (this.ExcelConfig.columns[titleStr].key == 'arriveTime' || this.ExcelConfig.columns[titleStr].key == 'departureTime') { + stationObj[this.ExcelConfig.columns[titleStr].key] = this.ExcelConfig.columns[titleStr].formatter(prefixTime(valueStr)); + } + } + } + } + } + + // 添加字段值 + if (Object.keys(stationObj).length) { + if (stationObj.arriveTime) { + tripObj.arrivalList.push(stationObj); + } + } + } + + // 添加最后那条没有车次的记录 + if (tripObj.code) { + const length = tripObj.arrivalList.length; + if (length) { + tripObj.arrivalList[length - 1]['flag'] = true; + } + JsonData.push(tripObj); + } + } + } + + return JsonData; + }, + + /** 将后台数据解析成图表*/ + convertDataToModels(data, stations, kmRangeCoordMap, lineStyle) { + var models = []; + + if (data && data.serviceNumberDataList && data.serviceNumberDataList.length) { + /** 按服务遍历数据*/ + data.serviceNumberDataList.forEach((service) => { + /** 按车次遍历数据*/ + var isBackup = true; + var opt = { name: '', markPointData: [], data: [] }; + if (service.tripNumberDataList && service.tripNumberDataList.length) { + service.tripNumberDataList.forEach((train, j) => { + var pointdata = {}; + var idx = 0; + var num = 0; + var lastPoint = null; + var nextPoint = null; + + /** 如果车次号为空,不显示名称*/ + if (train.tripNumber) { + /** 创建标记点名称和坐标*/ + // pointdata.name = `${service.serviceNumber}${train.directionCode}${train.tripNumber}`; + pointdata.name = `${service.serviceNumber}${train.tripNumber}`; + pointdata.color = '#000' || lineStyle.color; + pointdata.directionCode = train.directionCode; + pointdata.coord = [train.stationTimeList[1].secondTime, this.getCoordYByElem(stations, kmRangeCoordMap, train.stationTimeList[1], train.directionCode, false)]; + + /** 给服务对象添加服务名称和标记点*/ + opt.markPointData.push(createMartPoint(pointdata)); + /** 创建服务号名称*/ + opt.name = `${service.serviceNumber}`; + } + + /** 计算非折返点车次点坐标集合*/ + train.stationTimeList.forEach((elem, index) => { + idx = index; + if (index == 0 && train.stationTimeList[index].stationCode != train.stationTimeList[index + 1].stationCode || + index == train.stationTimeList.length - 2 && train.stationTimeList[index].secondTime != train.stationTimeList[index + 1].secondTime || + index > 0 && index < train.stationTimeList.length - 1) { + const aa = `${train.directionCode}${train.tripNumber}`; + opt.data.push([elem.secondTime, this.getCoordYByElem(stations, kmRangeCoordMap, elem, elem.directionCode, false), elem.stationCode, aa]); + } + }); + + /** 计算折返点车次坐标点集合*/ + if (!train.backup && train.reentry && service.tripNumberDataList[j + 1] && service.tripNumberDataList[j + 1].stationTimeList) { + lastPoint = train.stationTimeList[idx - 1]; + nextPoint = service.tripNumberDataList[j + 1].stationTimeList[1]; + num = this.computedReentryNumber(train.tripNumber); + const aa = `${train.directionCode}${train.tripNumber}`; + opt.data.push([lastPoint.secondTime, this.getCoordYByElem(stations, kmRangeCoordMap, lastPoint, train.directionCode, true, num), lastPoint.stationCode, aa]); + opt.data.push([nextPoint.secondTime, this.getCoordYByElem(stations, kmRangeCoordMap, nextPoint, train.directionCode, true, num), nextPoint.stationCode, aa]); + } + + /** 如果是备用车,按车次添加线*/ + if (train.backup) { + /** 创建一条完成的服务数据*/ + opt.name += j; + var model = createSeriesModel(opt, Object.assign({ color: hexColor.toCreate() }, lineStyle)); + if (model) { + models.push(model); + opt = { name: '', markPointData: [], data: [] }; + } + } + + isBackup = train.backup; + }); + + // 不是备用车,按服务添加线 + if (!isBackup) { + /** 创建一条完成的服务数据*/ + var model = createSeriesModel(opt, Object.assign({ color: hexColor.toCreate() }, lineStyle)); + if (model) { + models.push(model); + } + } + } + }); + return models; + } else { + return []; + } + }, + + /** 更新数据并解析成图表*/ + updateDataToModels(data, stations, kmRangeCoordMap, runPlanData, series, lineStyle) { + if (data && data.length) { + data.forEach(elem => { + /** 判断此条记录的服务号是否存在*/ + if (!runPlanData[elem.serviceNumber]) { + /** 创建一个新服务号标记*/ + runPlanData[elem.serviceNumber] = {}; + + /** 不存在此服务号,则需要创建一条新的line*/ + series.push(createSeriesModel({ + zlevel: 1, + name: `run${elem.serviceNumber}`, + data: [], + markPointData: [] + }, Object.assign({ color: hexColor.toCreate() }, lineStyle))); + } + + /** 添加数据*/ + series.forEach(serie => { + /** 找到服务号所在图数据的位置*/ + if (serie.name == `run${elem.serviceNumber}`) { + /** 添加车组号记录标记*/ + if (!runPlanData[elem.serviceNumber][elem.tripNumber]) { + runPlanData[elem.serviceNumber][elem.tripNumber] = []; + } + + runPlanData[elem.serviceNumber][elem.tripNumber].push(elem); + runPlanData[elem.serviceNumber][elem.tripNumber].sort((a, b) => { + return parseInt(a.secondTime) - parseInt(b.secondTime); + }); + + /** 如果此记录车组号的数据为第一条时,则打上标签*/ + if (runPlanData[elem.serviceNumber][elem.tripNumber].length <= 1) { + serie.markPoint.data.push(createMartPoint({ + directionCode: elem.directionCode, + coord: [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false)], + name: `(${elem.groupNumber})${elem.serviceNumber}${elem.directionCode}${elem.tripNumber}`, + color: lineStyle.color || '#000' + })); + } + + /** 计算折返点*/ + var nextPoint = [parseInt(elem.secondTime), this.getCoordYByElem(stations, kmRangeCoordMap, elem, false), elem.directionCode]; + if (serie.data.length > 0) { + var lastPoint = serie.data[serie.data.length - 1]; + if (lastPoint[2] !== nextPoint[2]) { + var num = this.computedReentryNumber(elem.tripNumber); + serie.data.push([lastPoint[0], this.getYvalueByDirectionCode(lastPoint[1], lastPoint[2], num), lastPoint[2]]); + serie.data.push([nextPoint[0], this.getYvalueByDirectionCode(nextPoint[1], lastPoint[2], num), lastPoint[2]]); + } + } + + /** 添加车组号数据到对应的服务图数据中*/ + serie.data.push(nextPoint); + + /** 保证原始数据排序*/ + serie.data.sort((a, b) => { + return parseInt(a[0]) - parseInt(b[0]); + }); + } + }); + }); + } + + return series; + }, + + /** 初始化Y轴*/ + initializeYaxis(stations) { + return createMarkLineModels(stations, (elem) => { + return this.EdgeHeight + elem.kmRange * this.CoordMultiple; + }); + }, + + /** 将后台数据转换为试图序列模型*/ + convertStationsToMap(stations) { + var map = {}; + if (stations && stations.length) { + stations.forEach((elem) => { + map[`${elem.kmRange}`] = this.EdgeHeight + elem.kmRange * this.CoordMultiple; + }); + } + + return map; + }, + + /** 计算y轴最小值*/ + computedYaxisMinValue(stations) { + return stations[0].kmRange * this.CoordMultiple; + }, + + /** 计算y轴最大值*/ + computedYaxisMaxValue(stations) { + return stations[stations.length - 1].kmRange * this.CoordMultiple + this.EdgeHeight * 2; + }, + + /** 格式化y轴数据*/ + computedFormatYAxis(stations, params) { + var yText = '0m'; + + stations.forEach(elem => { + if (elem.kmRange < parseInt(params.value) / this.CoordMultiple - this.EdgeHeight) { + yText = Math.floor(elem.kmRange) + 'm'; + } + }); + + return yText; + }, + + /** 根据是否和上一个车次是否相交,计算下一个车次的折返的高度*/ + computedReentryNumber(code) { + return parseInt(code || 1) % 2 ? 1 : 2; + }, + + /** 根据方向计算y折返偏移量*/ + getYvalueByDirectionCode(defaultVlue, directionCode, num) { + if (directionCode === '1') { + defaultVlue -= this.EdgeHeight / 2 * num; + } else if (directionCode === '2') { + defaultVlue += this.EdgeHeight / 2 * num; + } + + return defaultVlue; + }, + + /** 根据elem计算y值*/ + getCoordYByElem(stations, kmRangeCoordMap, elem, directionCode, isSpecial, num) { + var defaultVlue = 0; + var station = stations.find(it => { return it.code == elem.stationCode; }); + if (station) { + defaultVlue = kmRangeCoordMap[`${station.kmRange}`]; + if (isSpecial) { + defaultVlue = this.getYvalueByDirectionCode(defaultVlue, directionCode, num); + } + } + + return defaultVlue; + } +};