diff --git a/src/api/simulation.js b/src/api/simulation.js index 15147e856..b051f6e4b 100644 --- a/src/api/simulation.js +++ b/src/api/simulation.js @@ -451,6 +451,27 @@ export function getSimulationDestinationList(group) { method: 'get' }); } +/** 获取PSL盘状态 */ +export function getPslStatus(group, standCode) { + return request({ + url: `/simulation/${group}/${standCode}/psl/status`, + method: 'get' + }); +} +/** 按下IBP盘按钮 + * @param {String} button + * YXJZ-允许/禁止; + * HSJC-互锁解除; + * KM-开门; + * GM-关门; + * SD-试灯; + */ +export function pressPslButton(group, standCode, button) { + return request({ + url: `/simulation/${group}/${standCode}/psl/${button}`, + method: 'put' + }); +} /** 查询运行线或者列车经过的站台 */ export function getStandListByRunLineOrTrainCode(group, params) { return request({ diff --git a/src/assets/psl_images/green_btn.png b/src/assets/psl_images/green_btn.png new file mode 100644 index 000000000..bcb222510 Binary files /dev/null and b/src/assets/psl_images/green_btn.png differ diff --git a/src/assets/psl_images/green_off.png b/src/assets/psl_images/green_off.png new file mode 100644 index 000000000..326a55235 Binary files /dev/null and b/src/assets/psl_images/green_off.png differ diff --git a/src/assets/psl_images/green_on.png b/src/assets/psl_images/green_on.png new file mode 100644 index 000000000..a27f2d5d0 Binary files /dev/null and b/src/assets/psl_images/green_on.png differ diff --git a/src/assets/psl_images/key.png b/src/assets/psl_images/key.png new file mode 100644 index 000000000..ac7f4cf76 Binary files /dev/null and b/src/assets/psl_images/key.png differ diff --git a/src/assets/psl_images/psl_icons.js b/src/assets/psl_images/psl_icons.js new file mode 100644 index 000000000..426dbde01 --- /dev/null +++ b/src/assets/psl_images/psl_icons.js @@ -0,0 +1,22 @@ +import red_on from "@/assets/psl_images/red_on.png"; +import red_off from "@/assets/psl_images/red_off.png"; +import red_btn from "@/assets/psl_images/red_btn.png"; +import green_on from "@/assets/psl_images/green_on.png"; +import green_off from "@/assets/psl_images/green_off.png"; +import green_btn from "@/assets/psl_images/green_btn.png"; +import top_on from "@/assets/psl_images/top_on.png"; +import top_off from "@/assets/psl_images/top_off.png"; +import key from "@/assets/psl_images/key.png"; +const icons = { + red_on, + red_off, + red_btn, + green_on, + green_off, + green_btn, + top_on, + top_off, + key +}; + +export default icons; diff --git a/src/assets/psl_images/red_btn.png b/src/assets/psl_images/red_btn.png new file mode 100644 index 000000000..ce02c53df Binary files /dev/null and b/src/assets/psl_images/red_btn.png differ diff --git a/src/assets/psl_images/red_off.png b/src/assets/psl_images/red_off.png new file mode 100644 index 000000000..049e4e47d Binary files /dev/null and b/src/assets/psl_images/red_off.png differ diff --git a/src/assets/psl_images/red_on.png b/src/assets/psl_images/red_on.png new file mode 100644 index 000000000..86305639d Binary files /dev/null and b/src/assets/psl_images/red_on.png differ diff --git a/src/assets/psl_images/top_off.png b/src/assets/psl_images/top_off.png new file mode 100644 index 000000000..8cb06b5e8 Binary files /dev/null and b/src/assets/psl_images/top_off.png differ diff --git a/src/assets/psl_images/top_on.png b/src/assets/psl_images/top_on.png new file mode 100644 index 000000000..5ee4f41c9 Binary files /dev/null and b/src/assets/psl_images/top_on.png differ diff --git a/src/jmapNew/theme/components/menus/dialog/psl.vue b/src/jmapNew/theme/components/menus/dialog/psl.vue new file mode 100644 index 000000000..519388dfc --- /dev/null +++ b/src/jmapNew/theme/components/menus/dialog/psl.vue @@ -0,0 +1,231 @@ + + + + + diff --git a/src/jmapNew/theme/xian_01/menus/menuStationStand.vue b/src/jmapNew/theme/xian_01/menus/menuStationStand.vue index 68799e87d..a12cce1e8 100644 --- a/src/jmapNew/theme/xian_01/menus/menuStationStand.vue +++ b/src/jmapNew/theme/xian_01/menus/menuStationStand.vue @@ -9,6 +9,7 @@ + @@ -22,6 +23,7 @@ import StandStopTime from './dialog/standStopTime'; import StandDetainTrainAll from './dialog/standDetainTrainAll'; import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo'; import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault'; +import Psl from '@/jmapNew/theme/components/menus/dialog/psl'; import { mapGetters } from 'vuex'; import { DeviceMenu, OperateMode } from '@/scripts/ConstDic'; import CMD from '@/scripts/cmdPlugin/CommandEnum'; @@ -39,7 +41,8 @@ export default { StandBackStrategy, StandStopTime, StandDetainTrainAll, - SetFault + SetFault, + Psl }, props: { selected: { @@ -173,9 +176,16 @@ export default { // 故障模式菜单列表 if (this.operatemode === OperateMode.FAULT) { this.menu = this.menuForce; - console.log(this.menu); + if (this.$store.state.training.prdType === '01') { //角色为车站值班员 + this.menu = [ + ...this.menu, + { + label: 'PSL', + handler: this.openPsl + } + ] + } } - }, doShow(point) { this.initMenu(); @@ -295,9 +305,11 @@ export default { // 触发故障管理 triggerFaultManagement() { this.$store.dispatch('training/setTriggerFaultCount', this.selected); + }, + // 打开PSL面板 + openPsl(){ + this.$refs.psl.doShow(this.selected) } - // PSL - } }; diff --git a/src/store/modules/socket.js b/src/store/modules/socket.js index 60cbfbd70..b625af25c 100644 --- a/src/store/modules/socket.js +++ b/src/store/modules/socket.js @@ -189,6 +189,9 @@ function handle(state, data) { store.dispatch('training/over'); } break; + case 'Simulation_PslStatus': + state.simulationPslStatus = msg; + break; } }