Compare commits

..

1 Commits

Author SHA1 Message Date
fan
2d070a2cf4 富文本框调整 2024-03-08 19:16:24 +08:00
145 changed files with 1313 additions and 21296 deletions

View File

@ -1,52 +0,0 @@
---
name: local-test分支构建发布到本地服务器
run-name: ${{ gitea.actor }} is testing out Gitea Actions
on:
push:
branches:
- local-test
jobs:
Build-Publish:
runs-on: joylink-local233
steps:
- name: 检出代码
uses: https://gitea.joylink.club/actions/checkout@v4
with:
submodules: recursive
- name: 设置node环境
uses: https://gitea.joylink.club/actions/local-setup-node@v0.1.1
with:
version: v14.21.3
cache: yarn
cache-dependency-path: yarn.lock
- name: 安装yarn,并build
run: |
node -v
npm config set registry https://registry.npmmirror.com
npm install --global yarn
yarn config set registry https://registry.npmmirror.com
yarn
yarn run buildas local-test
tar czvf ./dist-local-test.tar.gz ./dist
- name: 打包发送到服务器
uses: https://gitea.joylink.club/appleboy/scp-action@v0.1.7
with:
host: ${{ secrets.LOCAL_233_SSH_HOST }}
username: ${{ secrets.LOCAL_233_SSH_USER }}
password: ${{ secrets.LOCAL_233_SSH_PASSWORD }}
port: ${{ secrets.LOCAL_233_SSH_PORT }}
source: ./dist-local-test.tar.gz
target: /home/minio/oss/rt-sim-training-client
overwrite: true
- name: SSH连接并解压发布
uses: https://gitea.joylink.club/appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.LOCAL_233_SSH_HOST }}
port: ${{ secrets.LOCAL_233_SSH_PORT }}
username: ${{ secrets.LOCAL_233_SSH_USER }}
password: ${{ secrets.LOCAL_233_SSH_PASSWORD }}
script: |
cd /home/minio/oss/rt-sim-training-client
rm -rf /usr/local/joylink/client/cbtc
mkdir -p /usr/local/joylink/client
tar xz --strip 2 -C /usr/local/joylink/client -f dist-local-test.tar.gz

View File

@ -1,52 +0,0 @@
name: master分支构建发布到公网服务器
run-name: ${{ gitea.actor }} is testing out Gitea Actions
on:
push:
branches:
- master
jobs:
Build-Publish:
runs-on: joylink-local233
steps:
- name: 检出代码
uses: https://gitea.joylink.club/actions/checkout@v4
with:
submodules: recursive
- name: 设置node环境
uses: https://gitea.joylink.club/actions/local-setup-node@v0.1.1
with:
version: 'v14.21.3'
cache: 'yarn'
cache-dependency-path: 'yarn.lock'
- name: 安装yarn,并build
run: |
node -v
npm config set registry https://registry.npmmirror.com
npm install --global yarn
yarn config set registry https://registry.npmmirror.com
yarn
yarn run build
tar czvf ./dist-master.tar.gz ./dist
- name: 打包发送到服务器
uses: https://gitea.joylink.club/appleboy/scp-action@v0.1.7
with:
host: ${{ secrets.PUB1_DOMAIN_SSH_HOST }}
port: ${{ secrets.PUB1_DOMAIN_SSH_PORT }}
username: ${{ secrets.PUB1_DOMAIN_SSH_USER }}
password: ${{ secrets.PUB1_DOMAIN_SSH_PASSWORD }}
source: ./dist-master.tar.gz
target: /mnt/data/published/rt-sim-training-client
overwrite: true
- name: SSH连接并解压发布
uses: https://gitea.joylink.club/appleboy/ssh-action@v1.0.3
with:
host: ${{ secrets.PUB1_DOMAIN_SSH_HOST }}
port: ${{ secrets.PUB1_DOMAIN_SSH_PORT }}
username: ${{ secrets.PUB1_DOMAIN_SSH_USER }}
password: ${{ secrets.PUB1_DOMAIN_SSH_PASSWORD }}
script: |
cd /mnt/data/published/rt-sim-training-client
rm -rf /usr/local/joylink/client/cbtc
mkdir -p /usr/local/joylink/client
tar xz --strip 2 -C /usr/local/joylink/client -f dist-master.tar.gz

1
.gitignore vendored
View File

@ -4,6 +4,7 @@ dist/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
package-lock.json
tests/**/coverage/
src/utils/baseUrl.js*

View File

@ -19,8 +19,16 @@
},
"dependencies": {
"@stomp/stompjs": "^5.4.4",
"@wangeditor/editor": "^5.1.23",
"@wangeditor/editor-for-vue": "^1.0.2",
"@tiptap/extension-color": "^2.2.4",
"@tiptap/extension-table": "^2.2.4",
"@tiptap/extension-table-cell": "^2.2.4",
"@tiptap/extension-table-header": "^2.2.4",
"@tiptap/extension-table-row": "^2.2.4",
"@tiptap/extension-text-align": "^2.2.4",
"@tiptap/extension-text-style": "^2.2.4",
"@tiptap/pm": "^2.2.4",
"@tiptap/starter-kit": "^2.2.4",
"@tiptap/vue-2": "^2.2.4",
"axios": "^0.18.0",
"dayjs": "^1.11.5",
"echarts": "^4.7.0",
@ -46,7 +54,6 @@
"vue-i18n": "^8.12.0",
"vue-quill-editor": "^3.0.6",
"vue-router": "^3.1.6",
"vue-video-player": "^5.0.1",
"vuedraggable": "^2.24.3",
"vuex": "^3.1.0",
"wangeditor": "^4.6.17",

View File

@ -332,31 +332,6 @@ export function publishContextSence(data) {
});
}
/**
* @param {Object} data
* @param {String} data.name 场景名称
* @param {String} data.type Video=视频
* @param {Object} data.scene 大赛场景
* @param {String} data.scene.url 地址
* @param {String} data.scene.fileName 文件名
*/
export function saveSceneVideo(data) {
return request({
url: `/api/exercise/race/scene/custom/edit`,
method: 'post',
data
});
}
/** 场景视频编辑 */
export function editSceneVideo(sceneId, data) {
return request({
url: `/api/exercise/race/scene/custom/${sceneId}/edit`,
method: 'post',
data
});
}
/**
* @param {String} paperId 试卷id
* @param {String} moduleId 模块id

View File

@ -344,13 +344,3 @@ export function queryTagList(data) {
data
});
}
/**
* 获取试卷创建者list
*/
export function queryPaperCreatorList(data) {
return request({
url: `/api/v2/paper/composition/list/creatorInfo`,
method: 'POST',
data
})
}

View File

@ -323,11 +323,3 @@ export function isExistEmail(params) {
});
}
// 成工院第三方登录
export function cgyThirdLogin(data) {
return request({
url: '/api/login/cgy/third',
method: 'post',
data
});
}

View File

@ -346,15 +346,14 @@ class SkinCode extends defaultStyle {
this[deviceType.StationTurnBack] = { // 站后折返
lamp: {
fill: '#ccc', // 填充色
radiusR: 6,
otherFill: '#0F0' // 控制灯大小
fill: '#f1f1f1', // 填充色
radiusR: 7 // 控制灯大小
},
text: {
titleTextShow: false,
fontWeight: 580,
fontSize: 10,
distance: 5
distance: 10
},
rect: {
fill: 'rgba(0,0,0,0)',

View File

@ -847,16 +847,18 @@ class SkinCode extends defaultStyle {
trainBody: {
fontFamily: 'consolas',
trainBodyLineWidth: 1, // 车身line宽
changeTrainWidth: false, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度
changeTrainWidth: true, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度
specialTrainType: [
{
type: '03',
serviceNumber: '---',
nameFormat: 'groupNumber:serviceNumber'
// nameFormat: 'groupNumber:serviceNumber'
nameFormat:'tripNumber'
},
{
type: '03',
nameFormat: 'serviceNumber:trainNumber'
// nameFormat: 'serviceNumber:trainNumber'
nameFormat:'tripNumber'
}
], // 特殊列车类型需设置显示格式
lrPadding: 4, // 两边间隔
@ -954,15 +956,15 @@ class SkinCode extends defaultStyle {
directionType: [
{
type: 1,
lineLShow: true,
lineRShow: true,
lineLShow: false,
lineRShow: false,
arrowLShow: false,
arrowRShow: true
},
{
type: 0,
lineLShow: true,
lineRShow: true,
lineLShow: false,
lineRShow: false,
arrowLShow: true,
arrowRShow: false
}

View File

@ -189,13 +189,6 @@ class SkinCode extends defaultStyle {
},
lowButton:{
display: false // 现地 信号机按钮
},
transmission: { // 传输信号机
fillColor: '#f00',
fillColorVirtual: '#f00',
sideLength: 20,
textColor: '#fff',
strokeColor: '#00FFFF'
}
};

View File

@ -233,13 +233,6 @@ class SkinCode extends defaultStyle {
fontSize: 12,
distance: 20,
defaultText: 'E'
},
transmission: { // 传输信号机
fillColor: '#f00',
fillColorVirtual: '#f00',
sideLength: 20,
textColor: '#fff',
strokeColor: '#00FFFF'
}
};

View File

@ -440,7 +440,7 @@ class Jlmap {
const trainList = [];
list.forEach(item => {
const device = this.mapDevice[item];
if (device && device._type !== deviceType.Switch && device._type !== deviceType.Train && device._type !== deviceType.TrainWindow) {
if (device && device._type !== deviceType.Switch && device._type !== deviceType.Train) {
const pictureDevice = store.getters['map/getPictureDeviceByCode'](item);
device._pictureHide = pictureDevice ? pictureDevice.pictureHide : false;
this.$painter.updatePicture(device);

View File

@ -847,15 +847,6 @@ class Signal extends Group {
case 'LIGHTING_UNIT_FAULT_HEAD':
this.lightingUnitFaultHead();
break;
case 'R_WIRE_FAULT':
this.lightingUnitFaultName();
break;
case 'G_WIRE_FAULT':
this.lightingUnitFaultName();
break;
case 'Y_WIRE_FAULT':
this.lightingUnitFaultName();
break;
}
}
@ -931,8 +922,8 @@ class Signal extends Group {
// 隐藏自动信号和自动进路
setAutoClose() {
if (this.style.Signal.auto.autoRouteType != 'text') {
this.sigAuto && this.sigAuto.hide();
this.sigAuto && this.sigAuto.setColor(this.style.backgroundColor);
this.sigAuto.hide();
this.sigAuto.setColor(this.style.backgroundColor);
} else {
this.sigName.setColor(this.style.Signal.text.defaultColor);
}

View File

@ -166,11 +166,6 @@ export default class StationTurnBack extends Group {
this.control && this.control.highlightType3(this.style.ReturnModeGroup.highlightColor);
}
}
if (this.style.StationTurnBack.lamp.otherFill) {
if (name == '自动折返' || name == '固定折返轨1' || name == '固定折返轨1') {
this.control && this.control.setStyle({fill: this.style.StationTurnBack.lamp.otherFill});
}
}
}
setAshShow() {

View File

@ -326,9 +326,9 @@ export default class Switch extends Group {
}
this.name.getTextRect().animateStyle(true)
.when(0, { textFill: this.style.transparentColor })
.when(0, { textFill: this.style.backgroundColor })
.when(1000, { textFill: this.style.Switch.text.borderColor })
.when(2000, { textFill: this.style.transparentColor })
.when(2000, { textFill: this.style.backgroundColor })
.start();
}
@ -354,7 +354,7 @@ export default class Switch extends Group {
this.lockCircle && this.lockCircle.hide(); // 圆形包围框
this.lockArc && this.lockArc.hide(); // 圆形单锁框
this.name.getNameText().stopAnimation(false);
this.name.getTextRect().setStyle({ fill: this.style.transparentColor });
this.name.getTextRect().setStyle({ fill: this.style.backgroundColor });
this.shapeModelC && this.shapeModelC.hide(); // 形状 C
this.shapeModelA && this.shapeModelA.hide(); // 形状 A
this.shapeModelB && this.shapeModelB.hide(); // 形状 B
@ -626,7 +626,7 @@ export default class Switch extends Group {
}
if (this.style.Switch.core.specialCircle) {
this.name.getTextRect().setStyle({ fill: this.style.transparentColor });
this.name.getTextRect().setStyle({ fill: this.style.backgroundColor });
this.setTextColor(this.style.Switch.text.guideMasterLockColor);
} else {
this.setTextColor(this.style.Switch.text.monolockLocationColor);
@ -911,7 +911,7 @@ export default class Switch extends Group {
this.setHasTextBorder(1, this.style.Switch.text.fpLockBorderColor);
}
if (this.style.Switch.core.specialCircle) {
this.name.getTextRect().setStyle({ fill: this.style.transparentColor });
this.name.getTextRect().setStyle({ fill: this.style.backgroundColor });
this.setTextColor(this.style.Switch.text.fpLockColor);
}
}

View File

@ -1,373 +0,0 @@
<template>
<div class="menus" :style="{width: width + 'px'}">
<menu-station-stand ref="menuStationStand" :selected="selected" :work="'atsWork'" />
<menu-switch ref="menuSwitch" :selected="selected" :work="'atsWork'" />
<menu-signal ref="menuSignal" :selected="selected" :work="'atsWork'" />
<menu-section ref="menuSection" :selected="selected" :work="'atsWork'" />
<menu-train ref="menuTrain" :selected="selected" :work="'atsWork'" />
<menu-station ref="menuStation" :selected="selected" :work="'atsWork'" />
<menu-limit ref="menuLimit" :selected="selected" :work="'atsWork'" />
<passive-alarm ref="passiveAlarm" />
<passive-contorl ref="passiveControl" pop-class="beijing-01__systerm" />
<passive-timeout ref="passiveTimeout" />
</div>
</template>
<script>
import { mapGetters } from 'vuex';
import MenuSignal from './menuSignal';
import MenuStationStand from './menuStationStand';
import MenuSwitch from './menuSwitch';
import MenuSection from './menuSection';
import MenuTrain from './menuTrain';
import MenuStation from './menuStation';
import MenuLimit from './menuLimit';
import PassiveAlarm from './passiveDialog/alarm';
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
import PassiveTimeout from './passiveDialog/timeout';
export default {
name: 'AtsWorkMenus',
components: {
MenuSignal,
MenuSwitch,
MenuSection,
MenuStationStand,
MenuStation,
MenuTrain,
MenuLimit,
PassiveAlarm,
PassiveContorl,
PassiveTimeout
},
props: {
selected: {
type: Object,
default() {
return null;
}
}
},
computed: {
...mapGetters('config', [
'width'
])
},
watch: {
'$store.state.trainingNew.trainingSwitch': function (val) {
if (val) {
this.$store.dispatch('menuOperation/setButtonOperation', null);
}
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('config/updateMenuBar');
this.$refs['menuSignal'].setRouteSignal();
});
this.$root.$on('dialogOpen', e => {
if (this.selected == e &&
this.selected &&
this.selected.instance &&
this.selected.instance.mouseEvent) {
this.selected.instance.mouseEvent.mouseover();
}
});
this.$root.$on('dialogClose', e => {
if (this.selected == e &&
this.selected &&
this.selected.instance &&
this.selected.instance.mouseEvent) {
this.selected.instance.__down = false;
this.selected.instance.mouseEvent.mouseout();
this.$jlmap.clearEvent();
}
});
},
beforeDestroy() {
this.$root.$off('dialogOpen');
this.$root.$off('dialogClose');
}
};
</script>
<style>
.menus .pop-menu {
background: #F0F0F0;
}
.menus .pop-menu span {
color: #000;
}
.menus .pop-menu .is-disabled span {
color: #B4B3B8;
}
.beijing-01__systerm {
overflow: hidden !important;
}
.beijing-01__systerm .el-dialog {
background: rgba(100, 100, 100, 0.3);
border: 2px solid rgb(144, 144, 144, 0.8);
border-radius: 6px;
color: #000;
font-size: 14px;
}
.beijing-01__systerm .el-dialog .el-dialog__header {
padding: 10px;
height: 26px;
}
.beijing-01__systerm .el-dialog .el-dialog__footer {
background: #F0F0F0;
opacity: 1;
}
.beijing-01__systerm .el-dialog .el-dialog__body {
padding: 10px;
margin: 5px;
border: 2px solid rgba(120, 121, 123, 0.5);
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
background: #F0F0F0;
opacity: 1;
}
.beijing-01__systerm .el-dialog .el-dialog__title {
position: absolute;
top: 6px;
color: #000;
border-radius: 4px;
padding: 0px 2px;
height: 20px;
line-height: 20px
}
.beijing-01__systerm .el-dialog .el-dialog__title::before {
content: '';
position: absolute;
top: 0;
left: 0;
filter: blur(7px);
height: 20px;
width: -webkit-fill-available;
background: rgba(190, 190, 190, 0.8);
z-index: -1;
}
.beijing-01__systerm .el-dialog .el-dialog__headerbtn {
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
border: 1px solid #fff;
border-radius: 4px;
top: 5px;
right: 5px;
line-height: 18px;
}
.beijing-01__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
font-size: 16px;
}
.beijing-01__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
.beijing-01__systerm .el-dialog .el-button {
height: 32px;
line-height: 32px;
padding: 0px;
width: 80px;
border: 2px outset #E2E2E2;
border-radius: 0px !important;
color: #000;
background: #F0F0F0;
}
.beijing-01__systerm .el-dialog .expand {
width: 120px;
}
.beijing-01__systerm .el-dialog .el-button:focus span {
border: 1px dashed gray;
}
.beijing-01__systerm .el-dialog .el-button:active {
border: 2px inset #E2E2E2;
}
.beijing-01__systerm .el-dialog .el-button:disabled {
border: 2px inset #E2E2E2;
}
.beijing-01__systerm .el-dialog .el-button:disabled span {
border: 0px;
}
.beijing-01__systerm .el-dialog .el-input {
border: 2px inset #E9E9E9;
}
.beijing-01__systerm .el-dialog .el-input .el-input__inner {
color: #000;
background: #fff !important;
border: 0px;
border-radius: 0px !important;
box-sizing: border-box;
}
.beijing-01__systerm .el-dialog .el-input.is-disabled .el-input__inner {
background: #F0F0F0 !important;
}
.beijing-01__systerm .el-dialog .el-textarea {
border: 2px inset #E9E9E9;
border-radius: 0px;
}
.beijing-01__systerm .el-dialog .el-textarea .el-textarea__inner {
color: #000;
background: #fff !important;
border: 0px;
border-radius: 0px !important;
box-sizing: border-box;
}
.beijing-01__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
background: #F0F0F0 !important;
}
.beijing-01__systerm .el-dialog .el-table--border th.gutter {
background: #EBEADB !important;
}
.beijing-01__systerm .el-dialog .el-table {
border: 2px inset #E9E9E9;
color: #000 !important;
}
.beijing-01__systerm .el-dialog .el-table .cell {
line-height: unset !important;
}
.beijing-01__systerm .el-dialog .el-table th.is-leaf {
background: #F0F0F0 !important;
border-right: 1px solid #BDBDBD !important;
border-bottom: 1px solid #BDBDBD !important;
color: #000 !important;
height: 20px !important;
padding: 0px;
}
.beijing-01__systerm .el-dialog .el-table tr td {
height: 20px !important;
padding: 0px;
}
.beijing-01__systerm .el-dialog .el-table .el-table__empty-text {
top: 15px !important;
}
.beijing-01__systerm .el-dialog .current-row>td {
background: #3399FF !important;
color: #fff !important;
}
.beijing-01__systerm .el-dialog .el-checkbox__inner {
border: 1px inset #dcdfe6 !important;
}
.beijing-01__systerm .el-dialog .el-checkbox__label {
color: #000 !important;
}
.beijing-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
background: #E6E6E6 !important;
}
.beijing-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
color: #C5C9CC !important;
}
.beijing-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.beijing-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner::after {
position: absolute;
-webkit-box-sizing: content-box;
box-sizing: content-box;
content: "";
border: 1px solid #000;
border-left: 0;
border-top: 0;
height: 7px;
left: 4px;
top: 1px;
}
.beijing-01__systerm .el-dialog .el-radio__inner {
border: 1px inset #dcdfe6 !important;
}
.beijing-01__systerm .el-dialog .el-radio__label {
color: #000 !important;
}
.beijing-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.beijing-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner::after {
width: 4px;
height: 4px;
border-radius: 100%;
background-color: #000 !important;
position: absolute;
left: 50%;
top: 50%;
}
.beijing-01__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
background: #E6E6E6 !important;
}
.beijing-01__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
color: #C5C9CC !important;
}
.beijing-01__systerm .el-dialog .base-label {
background: rgba(0, 0, 0, x);
position: relative;
left: -15px;
top: -18px;
}
.beijing-01__systerm .el-dialog .el-form-item label {
font-weight: normal !important;
color: #000 !important;
}
.beijing-01__systerm .el-dialog .context {
height: 100px;
border: 2px inset #E2E2E2;
overflow-y: scroll;
}
.beijing-01__systerm .el-dialog .table {
margin-top: 10px;
}
.beijing-01__systerm .el-dialog .notice {
margin-left: 62px;
line-height: 30px;
}
.beijing-01__systerm .el-dialog .button-group {
margin-top: 10px;
}
</style>

View File

@ -1,435 +0,0 @@
<template>
<div class="chengdou-01__menus" :style="{width: width + 'px'}">
<menu-request ref="menuRequest" />
<menu-station-stand ref="menuStationStand" :selected="selected" :work="work" />
<menu-switch ref="menuSwitch" :selected="selected" :work="work" />
<menu-signal ref="menuSignal" :selected="selected" :work="work" />
<menu-section ref="menuSection" :selected="selected" :work="work" />
<menu-train ref="menuTrain" :selected="selected" :work="work" />
<menu-station ref="menuStation" :selected="selected" :work="work" />
<menu-station-platform ref="menuStationPlatform" :selected="selected" @popMenuStationStand="popMenuStationStand" />
<passive-alarm ref="passiveAlarm" />
<passive-contorl ref="passiveControl" pop-class="chengdou-01__system" :work="work" />
<passive-Timeout ref="passiveTimeout" />
</div>
</template>
<script>
import { mapGetters } from 'vuex';
import MenuRequest from './menuRequest';
import MenuSignal from './menuSignal';
import MenuStationStand from './menuStationStand';
import MenuSwitch from './menuSwitch';
import MenuSection from './menuSection';
import MenuTrain from './menuTrain';
import MenuStation from './menuStation';
import PassiveAlarm from './passiveDialog/alarm';
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
import PassiveTimeout from './passiveDialog/timeout';
import MenuStationPlatform from './menuStationPlatform';
export default {
name: 'AtsWorkMenu',
components: {
MenuRequest,
// MenuCancel,
MenuSignal,
MenuSwitch,
MenuSection,
MenuStationStand,
MenuStation,
MenuTrain,
PassiveAlarm,
PassiveContorl,
PassiveTimeout,
MenuStationPlatform
},
props: {
selected: {
type: Object,
default() {
return null;
}
}
},
data() {
return {
work: 'atsWork'
};
},
computed: {
...mapGetters('config', [
'width'
])
},
watch: {
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('config/updateMenuBar');
});
},
methods: {
popMenuStationStand(param) {
this.$refs.menuStationStand.doShow(param.position, param.type);
}
}
};
</script>
<style>
.chengdou-01__menus .pop-menu {
background: #5F9EA0;
}
.chengdou-01__menus .pop-menu .el-popover{
background: #5F9EA0;
}
.chengdou-01__menus .pop-menu span {
color: #000;
}
.chengdou-01__menus .pop-menu .is-disabled span {
color: #B4B3B8;
}
.chengdou-01__systerm {
overflow: hidden !important;
}
.chengdou-01__system .el-dialog {
background: #0055E8;
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
border: 1px solid rgb(69, 134, 247);
border-radius: 6px;
font-size: 13px !important;
color: #000;
}
.chengdou-01__system .el-dialog span {
font-size: 13px !important;
line-height: 22px;
}
.chengdou-01__system .el-dialog .el-dialog__footer {
background: #5F9EA0;
opacity: 1;
}
.chengdou-01__system .el-dialog .el-dialog__body {
padding: 20px;
margin: 0px 3px 3px;
border: 2px solid rgba(120, 121, 123, 0.5);
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
background: #5F9EA0;
opacity: 1;
}
.chengdou-01__system .station-stand .el-dialog__body {
background: #000;
color: #E8E8E8;
}
.chengdou-01__system .el-dialog .el-dialog__title {
font-size: 16px;
color: #fff;
position: absolute;
top: 4px;
left:25px;
}
.chengdou-01__system .el-dialog .el-dialog__headerbtn {
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
border: 1px solid #fff;
border-radius: 4px;
top: 6px;
right: 3px;
line-height: 16px;
}
.chengdou-01__system .el-dialog .el-dialog__headerbtn .el-icon-close:before {
font-size: 16px;
}
.chengdou-01__system .el-dialog .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
.chengdou-01__system .el-dialog .el-button {
height: 24px;
line-height: 22px;
padding: 0px;
width: 80px;
border: 2px outset #B7D4D5;
border-radius: 0 !important;
color: #000;
background: #5F9EA0;
}
.chengdou-01__system .el-dialog .expand {
width: 120px;
}
.chengdou-01__system .el-dialog .el-button:focus span {
border: 1px dashed #315253;
}
.chengdou-01__system .el-dialog .el-button:active {
border: 2px inset #B7D4D5;
}
.chengdou-01__system .el-dialog .el-button:disabled {
border: 2px inset #B7D4D5;
}
.chengdou-01__system .el-dialog .el-button:disabled span {
border: 0px;
}
.chengdou-01__select-option .el-select-dropdown__item{
background: #5F9EA0;
}
.chengdou-01__select-option .el-scrollbar__wrap {
background-color: #5F9EA0;
overflow: hidden;
overflow-y: scroll;
}
.chengdou-01__select-option{
border-style: solid;
border-width: 1px;
border-color: #335658 #99C1C3 #99C1C3 #335658;
border-radius: 0;
background:#5F9EA0;
}
.chengdou-01__select-option .el-scrollbar{
border-style: solid;
border-width: 1px;
border-color: #467576 #A0C6C7 #A0C6C7 #467576;
border-radius: 0;
}
.chengdou-01__select-option .el-select-dropdown__item.selected{
color: #fff;
}
.chengdou-01__select-option .el-select-dropdown__item{
color: #000;
}
.chengdou-01__system .el-dialog .el-transfer-panel{
border-style: solid;
border-width: 1px;
border-color: #467576 #A0C6C7 #A0C6C7 #467576;
border-radius: 0;
background: #5F9EA0;
}
.chengdou-01__system .el-dialog .el-transfer .el-button{
width: 40px;
}
.chengdou-01__system .el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span {
color: #000;
}
.chengdou-01__system .el-dialog .el-transfer-panel .el-transfer-panel__header {
background: #5F9EA0;
border-bottom: 1px solid #467576;
}
.chengdou-01__system .el-dialog .el-transfer-panel .el-transfer-panel__empty {
color: #5F9EA0;
}
.chengdou-01__system .el-dialog .el-input {
border-style:solid;
border-width: 1px;
border-color: #335658 #99C1C3 #99C1C3 #335658;
height: 22px !important;
line-height: 22px !important;
background: #5F9EA0;
}
.chengdou-01__system .el-dialog .el-input__inner {
color: #000;
background: #5F9EA0 !important;
border-style:solid;
border-width: 1px;
border-color: #467576 #A0C6C7 #A0C6C7 #467576;
border-radius: 0px !important;
box-sizing: border-box;
height: 22px !important;
line-height: 22px !important;
}
.chengdou-01__system .el-dialog .el-input.is-disabled .el-input__inner {
background: #F0F0F0 !important;
}
.chengdou-01__system .el-dialog .el-textarea {
border-style:solid;
border-width: 1px;
border-color: #335658 #99C1C3 #99C1C3 #335658;
border-radius: 0;
}
.chengdou-01__system .el-dialog .el-textarea .el-textarea__inner {
color: #000;
background: #5F9EA0 !important;
border-style:solid;
border-width: 1px;
border-color: #467576 #A0C6C7 #A0C6C7 #467576;
border-radius: 0px !important;
box-sizing: border-box;
}
.chengdou-01__system .el-dialog .el-textarea.is-disabled .el-textarea__inner {
background: #F0F0F0 !important;
}
.chengdou-01__system .el-dialog .el-table--border th.gutter {
background: #EBEADB !important;
}
.chengdou-01__system .el-dialog .el-table {
border: 2px inset #E9E9E9;
color: #000 !important;
}
.chengdou-01__system .el-dialog .el-table .cell {
height: 22px;
line-height: 22px;
}
.chengdou-01__system .el-dialog .el-table th.is-leaf {
background: #F0F0F0 !important;
border-right: 1px solid #BDBDBD !important;
border-bottom: 1px solid #BDBDBD !important;
color: #000 !important;
height: 20px !important;
padding: 0px;
}
.chengdou-01__system .el-dialog .el-table tr td {
height: 20px !important;
padding: 0px;
}
.chengdou-01__system .el-dialog .el-table .el-table__empty-text {
top: 15px !important;
}
.chengdou-01__system .el-dialog .current-row>td {
background: #3399FF !important;
color: #fff !important;
}
.chengdou-01__system .el-dialog .el-checkbox__inner {
border: 1px inset #dcdfe6 !important;
}
.chengdou-01__system .el-dialog .el-checkbox__label {
color: #000 !important;
}
.chengdou-01__system .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
background: #E6E6E6 !important;
}
.chengdou-01__system .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
color: #C5C9CC !important;
}
.chengdou-01__system .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.chengdou-01__system .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner::after {
position: absolute;
-webkit-box-sizing: content-box;
box-sizing: content-box;
content: "";
border: 1px solid #000;
border-left: 0;
border-top: 0;
height: 7px;
left: 4px;
top: 1px;
}
.chengdou-01__system .el-dialog .el-radio__inner {
border: 1px inset #dcdfe6 !important;
}
.chengdou-01__system .el-dialog .el-radio__label {
color: #000 !important;
}
.chengdou-01__system .el-dialog .el-radio__input.is-checked .el-radio__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.chengdou-01__system .el-dialog .el-radio__input.is-checked .el-radio__inner::after {
width: 4px;
height: 4px;
border-radius: 100%;
background-color: #000 !important;
position: absolute;
left: 50%;
top: 50%;
}
.chengdou-01__system .el-dialog .el-radio.is-disabled .el-radio__inner {
background: #E6E6E6 !important;
}
.chengdou-01__system .el-dialog .el-radio.is-disabled .el-radio__label {
color: #C5C9CC !important;
}
.chengdou-01__system .el-dialog .base-label {
background: rgba(0, 0, 0, x);
position: relative;
left: -15px;
top: -18px;
}
.chengdou-01__system .el-dialog .el-form-item label {
font-weight: normal !important;
color: #000 !important;
}
.chengdou-01__system .el-dialog .context {
height: 100px;
border: 2px inset #E2E2E2;
overflow-y: scroll;
}
.chengdou-01__system .el-dialog .table {
margin-top: 10px;
}
.chengdou-01__system .el-dialog .notice {
margin-left: 62px;
line-height: 30px;
}
.chengdou-01__system .el-dialog .button-group {
margin-top: 20px;
}
.chengdou-01__system.request_box .content-box .el-table__body-wrapper .el-table__row{
background: #000;
height: 30px;
color: #518E86;
}
.chengdou-01__system.request_box .content-box .el-table__body-wrapper .el-table__row.hover-row td{
background: #d5ecf7;
}
.chengdou-01__system.request_box .content-box .el-table__body-wrapper .el-table__row.current-row td{
background: #d5ecf7;
}
.chengdou-01__system .el-select .el-input__suffix {
top: 5px;
}
.chengdou-01__system .el-select .is-focus .el-input__suffix {
top: -5px;
}
.chengdou-01__select-option .el-scrollbar__thumb {
border-style:solid;
border-width: 1px;
border-color: #335658 #99C1C3 #99C1C3 #335658;
background: #518E86;
}
</style>

View File

@ -52,8 +52,7 @@ export default {
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE,
isDisabled: (signal, work) => {
return false;
},
isShow: (signal, work) => work !== 'atsWork'
}
},
{
label: '取消进路',
@ -61,8 +60,7 @@ export default {
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE,
isDisabled: (signal, work) => {
return false;
},
isShow: (signal, work) => work !== 'atsWork'
}
},
{
label: '开放自动进路',
@ -70,8 +68,7 @@ export default {
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO,
isDisabled: (signal, work) => {
return false;
},
isShow: (signal, work) => work !== 'atsWork'
}
},
{
label: '关闭自动进路',
@ -79,8 +76,7 @@ export default {
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO,
isDisabled: (signal, work) => {
return false;
},
isShow: (signal, work) => work !== 'atsWork'
}
},
{
label: '终端信号封锁',
@ -88,8 +84,7 @@ export default {
cmdType: CMD.Signal.CMD_SIGNAL_BLOCK,
isDisabled: (signal, work) => {
return signal.blockade !== 0;
},
isShow: (signal, work) => work !== 'atsWork'
}
},
{
label: '终端信号解封',
@ -97,8 +92,7 @@ export default {
cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK,
isDisabled: (signal, work) => {
return signal.blockade === 0;
},
isShow: (signal, work) => work !== 'atsWork'
}
},
{
label: '引导信号',
@ -106,8 +100,7 @@ export default {
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE,
isDisabled: (signal, work) => {
return false;
},
isShow: (signal, work) => work !== 'atsWork'
}
},
{
label: '设备标签',
@ -120,8 +113,7 @@ export default {
cmdType: '',
show: false
}
],
isShow: (signal, work) => work !== 'atsWork'
]
},
{
label: '模拟',

View File

@ -66,8 +66,7 @@ export default {
} else {
return switchDevice.normalPosition === 1;
}
},
isShow: (switchDevice, work) => work !== 'atsWork'
}
},
{
label: '道岔反位',
@ -79,8 +78,7 @@ export default {
} else {
return switchDevice.reversePosition === 1;
}
},
isShow: (switchDevice, work) => work !== 'atsWork'
}
},
{
label: '道岔单锁',
@ -92,8 +90,7 @@ export default {
} else {
return switchDevice.singleLock !== 0;
}
},
isShow: (switchDevice, work) => work !== 'atsWork'
}
},
{
label: '道岔单解',
@ -105,8 +102,7 @@ export default {
} else {
return switchDevice.singleLock !== 1;
}
},
isShow: (switchDevice, work) => work !== 'atsWork'
}
}
],
menuForce: [

View File

@ -1,346 +0,0 @@
<template>
<div class="menus" :style="{width: width + 'px'}">
<menu-station-stand ref="menuStationStand" :selected="selected" :work="'atsWork'" />
<menu-switch ref="menuSwitch" :selected="selected" :work="'atsWork'" />
<menu-signal ref="menuSignal" :selected="selected" :work="'atsWork'" />
<menu-section ref="menuSection" :selected="selected" :work="'atsWork'" />
<menu-station ref="menuStation" :selected="selected" :work="'atsWork'" />
<menu-train ref="menuTrain" :selected="selected" :work="'atsWork'" />
<passive-alarm ref="passiveAlarm" />
<passive-contorl ref="passiveControl" pop-class="chengdou-03__systerm" />
<passive-Timeout ref="passiveTimeout" />
</div>
</template>
<script>
import { mapGetters } from 'vuex';
import MenuSignal from './menuSignal';
import MenuStationStand from './menuStationStand';
import MenuSwitch from './menuSwitch';
import MenuSection from './menuSection';
import MenuStation from './menuStation';
import MenuTrain from './menuTrain';
import PassiveAlarm from './passiveDialog/alarm';
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
import PassiveTimeout from './passiveDialog/timeout';
export default {
name: 'AtsWorkMenu',
components: {
MenuSignal,
MenuStationStand,
MenuSwitch,
MenuSection,
MenuStation,
MenuTrain,
PassiveAlarm,
PassiveContorl,
PassiveTimeout
},
props: {
selected: {
type: Object,
default() {
return null;
}
}
},
computed: {
...mapGetters('config', [
'width'
])
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('config/updateMenuBar');
const _that = this;
window.onclick = function (e) {
if (!_that.$store.state.training.trainingStart) {
_that.$refs.menuBar && _that.$refs.menuBar.blankClickClose();
}
};
});
},
beforeDestroy() {
window.onclick = function (e) {};
}
};
</script>
<style>
.menus .pop-menu {
background: #F0F0F0;
}
.menus .pop-menu span {
color: #000;
}
.menus .pop-menu .is-disabled span {
color: #B4B3B8;
}
.chengdou-03__systerm {
overflow: hidden !important;
}
.chengdou-03__systerm .el-dialog {
background: #0055E8;
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
border: 1px solid rgb(69, 134, 247);
border-radius: 6px;
font-size: 13px !important;
color: #000;
}
.chengdou-03__systerm .el-dialog span {
font-size: 13px !important;
line-height: 22px;
}
.chengdou-03__systerm .el-dialog span .el-icon-arrow-up{
line-height: 18px;
}
.chengdou-03__systerm .el-dialog .el-dialog__footer {
background: #ECE9D8;
opacity: 1;
}
.chengdou-03__systerm .el-dialog .el-dialog__body {
padding: 20px;
margin: 0px 3px 3px;
border: 2px solid rgba(120, 121, 123, 0.5);
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
background: #ECE9D8;
opacity: 1;
}
.chengdou-03__systerm .el-dialog .el-dialog__title {
font-size: 16px;
color: #fff;
position: absolute;
top: 4px;
left: 7px;
}
.chengdou-03__systerm .el-dialog .el-dialog__headerbtn {
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
border: 1px solid #fff;
border-radius: 4px;
top: 6px;
right: 3px;
line-height: 16px;
}
.chengdou-03__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
font-size: 16px;
}
.chengdou-03__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
.chengdou-03__systerm .el-dialog .el-button {
height: 24px;
line-height: 22px;
padding: 0px;
width: 80px;
border: 2px outset #E2E2E2;
border-radius: 4px !important;
color: #000;
background: #F0F0F0;
}
.chengdou-03__systerm .el-dialog .expand {
width: 120px;
}
.chengdou-03__systerm .el-dialog .el-button:focus span {
border: 1px dashed gray;
}
.chengdou-03__systerm .el-dialog .el-button:active {
border: 2px inset #E2E2E2;
}
.chengdou-03__systerm .el-dialog .el-button:disabled {
border: 2px inset #E2E2E2;
}
.chengdou-03__systerm .el-dialog .el-button:disabled span {
border: 0px;
}
.chengdou-03__systerm .el-dialog .el-input {
border: 2px inset #E9E9E9;
height: 22px !important;
line-height: 22px !important;
}
.chengdou-03__systerm .el-dialog .el-input__inner {
color: #000;
background: #fff !important;
border: 0px;
border-radius: 0px !important;
box-sizing: border-box;
height: 22px !important;
line-height: 22px !important;
}
.chengdou-03__systerm .el-dialog .el-input.is-disabled .el-input__inner {
background: #F0F0F0 !important;
}
.chengdou-03__systerm .el-dialog .el-textarea {
border: 2px inset #E9E9E9;
border-radius: 0px;
}
.chengdou-03__systerm .el-dialog .el-textarea .el-textarea__inner {
color: #000;
background: #fff !important;
border: 0px;
border-radius: 0px !important;
box-sizing: border-box;
}
.chengdou-03__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
background: #F0F0F0 !important;
}
.chengdou-03__systerm .el-dialog .el-table--border th.gutter {
background: #EBEADB !important;
}
.chengdou-03__systerm .el-dialog .el-table {
border: 2px inset #E9E9E9;
color: #000 !important;
}
.chengdou-03__systerm .el-dialog .el-table .cell {
height: 22px;
line-height: 22px;
}
.chengdou-03__systerm .el-dialog .el-table th.is-leaf {
background: #F0F0F0 !important;
border-right: 1px solid #BDBDBD !important;
border-bottom: 1px solid #BDBDBD !important;
color: #000 !important;
height: 20px !important;
padding: 0px;
}
.chengdou-03__systerm .el-dialog .el-table tr td {
height: 20px !important;
padding: 0px;
}
.chengdou-03__systerm .el-dialog .el-table .el-table__empty-text {
top: 15px !important;
}
.chengdou-03__systerm .el-dialog .current-row>td {
background: #3399FF !important;
color: #fff !important;
}
.chengdou-03__systerm .el-dialog .el-checkbox__inner {
border: 1px inset #dcdfe6 !important;
}
.chengdou-03__systerm .el-dialog .el-checkbox__label {
color: #000 !important;
}
.chengdou-03__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
background: #E6E6E6 !important;
}
.chengdou-03__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
color: #C5C9CC !important;
}
.chengdou-03__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.chengdou-03__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner::after {
position: absolute;
-webkit-box-sizing: content-box;
box-sizing: content-box;
content: "";
border: 1px solid #000;
border-left: 0;
border-top: 0;
height: 7px;
left: 4px;
top: 1px;
}
.chengdou-03__systerm .el-dialog .el-radio__inner {
border: 1px inset #dcdfe6 !important;
}
.chengdou-03__systerm .el-dialog .el-radio__label {
color: #000 !important;
}
.chengdou-03__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.chengdou-03__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner::after {
width: 4px;
height: 4px;
border-radius: 100%;
background-color: #000 !important;
position: absolute;
left: 50%;
top: 50%;
}
.chengdou-03__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
background: #E6E6E6 !important;
}
.chengdou-03__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
color: #C5C9CC !important;
}
.chengdou-03__systerm .el-dialog .base-label {
background: rgba(0, 0, 0, x);
position: relative;
left: -15px;
top: -18px;
}
.chengdou-03__systerm .el-dialog .el-form-item label {
font-weight: normal !important;
color: #000 !important;
}
.chengdou-03__systerm .el-dialog .context {
height: 100px;
border: 2px inset #E2E2E2;
overflow-y: scroll;
}
.chengdou-03__systerm .el-dialog .table {
margin-top: 10px;
}
.chengdou-03__systerm .el-dialog .notice {
margin-left: 62px;
line-height: 30px;
}
.chengdou-03__systerm .el-dialog .button-group {
margin-top: 20px;
}
</style>

View File

@ -1,174 +0,0 @@
<template>
<el-dialog
v-dialogDrag
class="chengdou-03__systerm stand-run-level"
:title="title"
:visible.sync="show"
width="320px"
:before-close="doClose"
:z-index="2000"
:modal="false"
:close-on-click-modal="false"
>
<div style="font-size: 16px; margin-bottom: 5px;">变通节点</div>
<div style="margin-bottom: 5px;">
<el-input v-model="stationName" size="mini" disabled />
</div>
<div style="font-size: 16px; margin-bottom: 5px;">当前变通策略</div>
<div style="margin-bottom: 5px;">
<el-input v-model="stationStrategy" size="mini" disabled />
</div>
<div style="font-size: 16px; margin-bottom: 5px;">变通策略选项</div>
<el-table
ref="table"
:data="strategyList"
border
:cell-style="tableStyle"
style="width: 100%; margin-top:10px"
size="mini"
height="180"
highlight-current-row
:show-header="false"
@row-click="clickEvent"
>
<el-table-column :id="domIdChoose" prop="label" style="margin-left:30px" />
</el-table>
<el-row justify="center" class="button-group">
<el-col :span="10" :offset="2">
<el-button :id="domIdConfirm" type="primary" :loading="loading" :disabled="!isConfirm" @click="commit">
确定</el-button>
</el-col>
<el-col :span="8" :offset="4">
<el-button :id="domIdCancel" @click="cancel"> </el-button>
</el-col>
</el-row>
<notice-info ref="noticeInfo" pop-class="chengdou-03__systerm" />
</el-dialog>
</template>
<script>
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
import { mapGetters } from 'vuex';
export default {
name: 'StandBackStrategy',
components: {
NoticeInfo
},
data() {
return {
dialogShow: false,
loading: false,
strategyList: [],
stationName: '',
stationStrategy: '',
selection: [],
isConfirm: false,
strategyId: '',
tableStyle: {
'border-bottom': 'none'
}
};
},
computed: {
...mapGetters('map', [
'stationList'
]),
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Station.setBackStrategy.menu.domId : '';
},
domIdChoose() {
return this.dialogShow ? OperationEvent.Station.setBackStrategy.choose.domId : '';
},
title() {
return '策略选择';
}
},
methods: {
doShow(operate, selected) {
this.selected = selected;
if (!this.dialogShow) {
const name = selected.optionList.find(ele => ele.id == selected.tbStrategyId).label;
this.stationName = selected.name || '';
this.stationStrategy = selected.tbStrategyId ? name : '无策略折返'; //
this.strategyList = selected.optionList; //
}
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
clickEvent(row, column, event) {
const operate = {
operation: OperationEvent.Station.setBackStrategy.choose.operation
};
this.strategyId = row.id;
this.isConfirm = true;
this.$store.dispatch('trainingNew/next', operate).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
}
});
},
checkTableDataSelction(data) {
const selection = [];
if (data && data.length > 0) {
data.forEach(row => {
if (row.check && !row.disabled) {
selection.push(row);
}
});
}
this.disabledSend = !selection.length;
if (JSON.stringify(selection) !== JSON.stringify(this.selection)) {
this.selection = selection;
}
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
commit() {
if (this.isConfirm) {
this.loading = true;
commitOperate(menuOperate.StationControl.setBackStrategy, {id: this.strategyId}, 2).then(({valid})=>{
this.loading = false;
if (valid) {
this.doClose();
}
}).catch(() => {
this.loading = false;
this.doClose();
this.$refs.noticeInfo.doShow();
});
} else {
this.doClose();
}
},
cancel() {
const operate = {
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('trainingNew/next', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
}
}
};
</script>

View File

@ -8,7 +8,6 @@
<menu-section ref="menuSection" :selected="selected" :work="'dispatchWork'" />
<menu-station ref="menuStation" :selected="selected" :work="'dispatchWork'" />
<menu-train ref="menuTrain" :selected="selected" :work="'dispatchWork'" />
<menu-station-turn-back ref="menuStationTurnBack" :selected="selected" :work="'dispatchWork'" />
<passive-alarm ref="passiveAlarm" />
<passive-contorl ref="passiveControl" pop-class="chengdou-03__systerm" />
@ -25,7 +24,6 @@ import MenuSwitch from './menuSwitch';
import MenuSection from './menuSection';
import MenuStation from './menuStation';
import MenuTrain from './menuTrain';
import MenuStationTurnBack from './menuStationTurnBack.vue';
import PassiveAlarm from './passiveDialog/alarm';
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
@ -42,8 +40,7 @@ export default {
MenuTrain,
PassiveAlarm,
PassiveContorl,
PassiveTimeout,
MenuStationTurnBack
PassiveTimeout
},
props: {
selected: {

View File

@ -2,14 +2,7 @@
<div class="menus" :style="{width: width + 'px'}">
<menu-bar ref="menuBar" :selected="selected" />
<menu-button ref="menuButton" />
<menu-station-stand ref="menuStationStand" :selected="selected" :work="'localWork'" />
<menu-switch ref="menuSwitch" :selected="selected" :work="'localWork'" />
<menu-signal ref="menuSignal" :selected="selected" :work="'localWork'" />
<menu-section ref="menuSection" :selected="selected" :work="'localWork'" />
<menu-station ref="menuStation" :selected="selected" :work="'localWork'" />
<menu-train ref="menuTrain" :selected="selected" :work="'localWork'" />
</div>
</template>
<script>
@ -17,22 +10,12 @@ import { mapGetters } from 'vuex';
import MenuTrain from './menuTrain';
import MenuButton from './menuButton';
import MenuBar from './localWorkMenuBar';
import MenuSignal from './menuSignal';
import MenuStationStand from './menuStationStand';
import MenuSwitch from './menuSwitch';
import MenuSection from './menuSection';
import MenuStation from './menuStation';
export default {
name: 'LocalWorkMenu',
components: {
MenuTrain,
MenuButton,
MenuBar,
MenuSignal,
MenuStationStand,
MenuSwitch,
MenuSection,
MenuStation
MenuBar
},
props: {
selected: {

View File

@ -350,7 +350,7 @@ export default {
}
}
//
if (signal.lockedRouteCode) { //
if (signal.aspect == 'R' && isArrangementRoute) { //
operate.over = true;
operate.cmdType = CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL;
operate.code = deviceList[0].code;
@ -370,8 +370,7 @@ export default {
this.routeList.forEach(item => {
// item.endButtonSignalCode
//
const endSignalCode = item.endButtonSignalCode || item.endSignalCode;
if (item.startSignalCode === deviceList[0].code && endSignalCode === deviceList[1].code) {
if (item.startSignalCode === deviceList[0].code && item.endSignalCode === deviceList[1].code) {
operate.over = true;
operate.cmdType = CMD.Signal.CMD_SIGNAL_SET_ROUTE;
operate.code = deviceList[1].code;
@ -397,28 +396,19 @@ export default {
operation: this.$store.state.menuOperation.buttonOperation,
param: {}
};
let controlMode = '';
const station = this.$store.getters['map/getDeviceByCode'](model.stationCode);
if (station) {
controlMode = station.controlMode;
// if (station.controlMode == 'Local' || station.controlMode == 'Emergency') {
// controlFlag = true;Interlock
// }
}
const list2 = ['Local', 'Emergency'];
if (model._type === 'StationStand' && subType === 'StopJumpLamp' && list2.includes(controlMode)) {
if (model._type === 'StationStand' && subType === 'StopJumpLamp') {
operate.cmdType = CMD.Stand.CMD_STAND_SET_JUMP_STOP;
operate.param = {standCode: model.code, trainGroupNumber: ''};
operate.code = model.code;
} else if (model._type === 'StationStand' && subType === 'CancelStopJumpLamp' && list2.includes(controlMode)) {
} else if (model._type === 'StationStand' && subType === 'CancelStopJumpLamp') {
operate.cmdType = CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP;
operate.param = {standCode: model.code, trainGroupNumber: ''};
operate.code = model.code;
} else if (model._type === 'AutoTurnBack' && controlMode === 'Interlock') {
} else if (model._type === 'AutoTurnBack' ) {
operate.cmdType = CMD.Signal.CMD_SIGNAL_SET_AUTO_TURN_BACK;
operate.param = {cycleCode: model.cycleCode};
operate.code = model.code;
} else if (model._type === 'AutomaticRoute' && controlMode === 'Interlock') {
} else if (model._type === 'AutomaticRoute') {
const route = this.routeData[model.automaticRouteCode];
operate.cmdType = CMD.Signal.CMD_SIGNAL_SET_CI_AUTO;
operate.param = {signalCode: route.startSignalCode};
@ -446,16 +436,13 @@ export default {
operate.code = model.code;
break;
case 'interconnected':
operate.cmdType = CMD.ControlConvertMenu.CMD_CM_INTERLOCK_CONTROL;
operate.cmdType = CMD.ControlConvertMenu.CMD_CM_EMERGENCY_STATION_CONTROL;
delete operate.over;
operate.subType = 'interconnected';
operate.param = {stationCodes: [model.code]};
operate.code = model.code;
break;
}
} else {
this.$message.info('请检查操作设备或控制权');
return;
}
this.$store.dispatch('trainingNew/next', operate).then(({ valid, response }) => {
//
@ -572,8 +559,7 @@ export default {
};
let flag = false;
this.routeList.forEach(item => {
const endSignalCode = item.endButtonSignalCode || item.endSignalCode;
if (item.startSignalCode === deviceList[0].code && endSignalCode === deviceList[1].code) {
if (item.startSignalCode === deviceList[0].code && item.endSignalCode === deviceList[1].code) {
operate.param = {routeCode: item.code, signalCode: deviceList[0].code};
this.deviceList = [];
flag = true;
@ -719,37 +705,38 @@ export default {
this.handelFunctionButton(model, subType);
} else {
const station = this.$store.getters['map/getDeviceByCode'](model.stationCode);
const list1 = ['Local', 'Emergency', 'Interlock'];
const list2 = ['Local', 'Emergency'];
if (station) {
if (station.controlMode == 'Local' || station.controlMode == 'Emergency') {
if (buttonOperation && this.commandTypeList.includes(model._type)) {
this.deviceList.push(model);
if (buttonOperation === this.Signal.arrangementRoute.button.operation && list1.includes(station.controlMode)) {
if (buttonOperation === this.Signal.arrangementRoute.button.operation) {
this.arrangementRouteOperation(this.deviceList);
} else if (buttonOperation === this.MixinCommand.totalCancel.button.operation) {
this.handelTotalCancel(model, subType);
} else if (buttonOperation === this.Signal.humanTrainRoute.button.operation && list1.includes(station.controlMode)) {
} else if (buttonOperation === this.Signal.humanTrainRoute.button.operation) {
this.handleTotalHumanSolution(model);
} else if (buttonOperation === this.Signal.guide.button.operation && list1.includes(station.controlMode)) {
} else if (buttonOperation === this.Signal.guide.button.operation) {
this.handleGuideRoute(this.deviceList);
} else if ((buttonOperation === this.Signal.atsAutoControl.button.operation || buttonOperation === this.Signal.humanControl.button.operation) && list2.includes(station.controlMode)) {
} else if (buttonOperation === this.Signal.atsAutoControl.button.operation || buttonOperation === this.Signal.humanControl.button.operation) {
this.handelControlRoute(model);
} else if (switchOperation.includes(buttonOperation) && list1.includes(station.controlMode)) {
} else if (switchOperation.includes(buttonOperation)) {
this.handelSwitchOperate(model);
} else if ((buttonOperation === this.MixinCommand.block.button.operation || buttonOperation === this.MixinCommand.unblock.button.operation) && list1.includes(station.controlMode)) {
} else if (buttonOperation === this.MixinCommand.block.button.operation || buttonOperation === this.MixinCommand.unblock.button.operation) {
this.handelBlockOrUnblock(model);
} else if (buttonOperation === this.Station.guideLock.button.operation && station.controlMode === 'Interlock') {
} else if (buttonOperation === this.Station.guideLock.button.operation) {
this.handelGuideLock(model);
} else if (buttonOperation === this.Section.fault.button.operation && list1.includes(station.controlMode)) {
} else if (buttonOperation === this.Section.fault.button.operation) {
this.handelFaultSection(model);
} else {
this.clearOperate();
this.operatemode != OperateMode.FAULT && this.$message.info('请检查操作设备或控制权');
}
} else {
this.clearOperate();
this.operatemode != OperateMode.FAULT && this.$message.info('请检查操作设备或控制权');
}
} else {
this.clearOperate();
this.operatemode != OperateMode.FAULT && this.$message.info('请先切换到站控或紧急站控');
}
}
}
},

View File

@ -1,105 +0,0 @@
<template>
<div>
<pop-menu ref="popMenu" :menu="menu" />
<station-back-strategy ref="stationBackStrategy" />
</div>
</template>
<script>
import PopMenu from '@/components/PopMenu';
import StationBackStrategy from './dialog/stationBackStrategy';
import { mapGetters } from 'vuex';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
export default {
name: 'MenuStationTurnBack',
components: {
PopMenu,
StationBackStrategy
},
props: {
selected: {
type: Object,
default() {
return null;
}
},
work: {
type: String,
default() {
return '';
}
}
},
data() {
return {
menu: [],
menuNormal: [
{
label: '设置折返策略',
handler: this.setBackStrategy,
cmdType: CMD.Station.CMD_STATION_SET_TURN_BACK_STRATEGY
}
],
menuForce: [
]
};
},
computed: {
...mapGetters('training', [
'mode',
'operatemode'
]),
...mapGetters('menuOperation', [
'buttonOperation'
])
},
watch: {
'$store.state.menuOperation.menuCount': function (val) {
if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.StationTurnBack) && !this.buttonOperation) {
this.doShow(this.$store.state.menuOperation.menuPosition);
} else {
this.doClose();
}
}
},
methods: {
initMenu() {
//
this.menu = [];
this.menuNormal.forEach(menuItem => {
menuItem.disabled = menuItem.isDisabled ? menuItem.isDisabled(this.selected, this.work) : false;
menuItem.show = menuItem.isShow ? menuItem.isShow(this.selected, this.work) : true;
this.menu.push(menuItem);
});
//
if (this.operatemode === OperateMode.FAULT) {
this.menu = this.menuForce;
}
},
doShow(point) {
this.initMenu();
if (this.menu && this.menu.length > 0) {
this.setBackStrategy();
}
},
doClose() {
if (this.$refs && this.$refs.popMenu) {
this.$refs.popMenu.close();
}
},
//
setBackStrategy() {
commitOperate(menuOperate.StationControl.setBackStrategy, {stationCode: this.selected.stationCode}, 0).then(({valid, operate})=>{
if (valid) {
this.$refs.stationBackStrategy.doShow(operate, this.selected);
}
});
}
}
};
</script>

View File

@ -277,9 +277,9 @@ export default {
];
} else if (selected._type === 'Signal' && this.popClass === 'nanjing-02__systerm') {
this.faultList = [
{label: '红灯断丝', value: 'R_WIRE_FAULT'},
{label: '绿灯断丝', value: 'G_WIRE_FAULT'},
{label: '黄灯断丝', value: 'Y_WIRE_FAULT'}
{label: '无法开放(非CTC)', value: 'NO_OPEN'},
{label: '编号闪', value: 'LIGHTING_UNIT_FAULT_NAME'},
{label: '机头闪', value: 'LIGHTING_UNIT_FAULT_HEAD'}
];
} else if (selected._type === 'Section' && this.popClass === 'nanjing-02__systerm') {
this.faultList = [

View File

@ -24,7 +24,7 @@
</el-row>
<div style="padding: 10px 15px; border: 1px double lightgray;height: 60px;margin-top: 15px;">
<span class="base-label" style="left:-10px;background:#f0f0f0;">钩锁位置</span>
<div style=" position: relative; top:10px;">
<div style=" position: relative; top:-10px;">
<el-radio-group v-model="normal">
<el-radio :label="true">定位</el-radio>
<el-radio :label="false">反位</el-radio>

View File

@ -299,7 +299,7 @@ export default {
const picture = this.$store.state.map.map.pictureList.find(picture => picture.stationCodes && picture.stationCodes.includes(this.roleDeviceCode) && picture.type === 'lucency');
if (picture) {
this.$jlmap.updateShowStation(list, '');
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap || {});
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
const deviceList = [];
const mapDevice = this.$store.state.map.mapDevice;
for (const deviceCode in mapDevice) {
@ -320,7 +320,7 @@ export default {
if (this.$store.state.map.map && this.$store.state.map.map.pictureList) {
const picture = this.$store.state.map.map.pictureList.find(picture => picture.stationCodes && picture.stationCodes.includes(this.roleDeviceCode) && picture.type === 'chainStation');
if (picture) {
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap || {});
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
const deviceList = [];
const mapDevice = this.$store.state.map.mapDevice;
for (const deviceCode in mapDevice) {

View File

@ -100,7 +100,7 @@ export default {
this.show = true
this.$nextTick(() => {
const picData = this.mapData.pictureList.find(pic => pic.stationCodes.includes(stationCode) && pic.type === 'regionBatchOperation')
this.$store.dispatch('map/setPictureDeviceMap', picData.deviceMap || {})
this.$store.dispatch('map/setPictureDeviceMap', picData.deviceMap)
const list = []
for (const deviceCode in picData.deviceMap) {
list.push(deviceCode)

View File

@ -168,8 +168,7 @@ export default {
routeDataMap: null, // btnCodeList key
routeButtonCodeList: [], // btnCodeList code list
guideLockRightFlag: false,
guideLockLeftFlag: false,
continueSectionFault: false
guideLockLeftFlag: false
};
},
computed: {
@ -291,7 +290,6 @@ export default {
this.clearOperate();
this.guideLockRightFlag = false;
this.guideLockLeftFlag = false;
this.continueSectionFault = false;
}
},
beforeDestroy() {
@ -332,9 +330,6 @@ export default {
if (operate.operationPre === this.Station.powerUnLock.button.operation || operate.cmdType) {
this.clearOperate();
}
if (operate.operationPre === this.Section.fault.button.operation) {
this.continueSectionFault = true;
}
}
}).catch(e =>{
console.error(e);
@ -422,7 +417,6 @@ export default {
operation: operation,
userOperationType: UserOperationType.LEFTCLICK
};
//
const operationList = [this.Signal.humanTrainRoute.button.operation,
this.Section.fault.button.operation,
@ -443,30 +437,12 @@ export default {
// ];
this.$store.dispatch('trainingNew/next', operate).then(({valid}) => {
if (valid) {
if (operation == this.Section.fault.button.operation) {
this.operation = operation;
this.commandTypeList = commandTypeList;
this.$store.dispatch('menuOperation/setButtonOperation', operation);
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
//
if (!this.continueSectionFault) {
operate['operateNext'] = this.Command.close.password.operation;
if (operation === this.Station.powerUnLock.button.operation) {
operate.nextCmdType = CMD.Station.CMD_STATION_POWER_ON_UNLOCK;
operate.param = {stationCode: this.$store.state.training.roleDeviceCode};
}
this.$refs.password.doShow(operate, operationMap[operation]);
}
this.timeNode = this.$store.state.socket.simulationTimeSync;
this.$store.dispatch('training/emitTipFresh');
} else if (operation === this.Command.cancel.clearMbm.operation) {
this.continueSectionFault = false;
if (operation === this.Command.cancel.clearMbm.operation) {
this.commandTypeList = [];
this.$store.dispatch('menuOperation/setButtonOperation', null);
this.guideLockRightFlag = false;
this.guideLockLeftFlag = false;
} else {
this.continueSectionFault = false;
this.operation = operation;
this.commandTypeList = commandTypeList;
this.$store.dispatch('menuOperation/setButtonOperation', operation);
@ -805,9 +781,6 @@ export default {
if (this.selected._event !== MouseEvent.Left || (!model._type && !model._code)) {
return;
}
if (this.continueSectionFault && model._type !== 'Section') {
this.continueSectionFault = false;
}
const buttonOperation = this.$store.state.menuOperation.buttonOperation;
const switchOperation = [
this.Switch.lock.button.operation,

View File

@ -121,9 +121,6 @@ class Theme {
loadDriverAtsWorkMenuComponent(code) {
return Object.assign({}, require(`./components/menus/driverAtsWorMenu`).default);
}
loadAtsWorkMenuComponent(code) {
return Object.assign({}, require(`./${this._mapMenu[code || this._code]}/menus/atsWorkMenu`).default);
}
loadCtcWorkMenuComponent(code) {
if (code == '16') {
return Object.assign({}, require(`./${this._mapMenu[code || this._code]}/menus/ctcWorkMenu`).default);

View File

@ -1,357 +0,0 @@
<template>
<div class="menus" :style="{width: width + 'px'}">
<menu-station-stand ref="menuStationStand" :selected="selected" :work="'atsWork'" />
<menu-signal ref="menuSignal" :selected="selected" :work="'atsWork'" />
<menu-section ref="menuSection" :selected="selected" :work="'atsWork'" />
<menu-train ref="menuTrain" :selected="selected" />
<menu-limit ref="menuLimit" :selected="selected" />
<menu-auto-Trun-route ref="menuAutoTrunRoute" :selected="selected" :work="'atsWork'" />
<passive-alarm ref="passiveAlarm" />
<passive-contorl ref="passiveControl" pop-class="foshan-01__systerm" />
<passive-Timeout ref="passiveTimeout" />
</div>
</template>
<script>
import { mapGetters } from 'vuex';
import MenuStationStand from './menuStationStand';
// import MenuSwitch from './menuSwitch';
import MenuSignal from './menuSignal';
import MenuSection from './menuSection';
import MenuTrain from './menuTrain';
import MenuLimit from './menuLimit';
import MenuAutoTrunRoute from './menuAutoTrunRoute';
import PassiveAlarm from './passiveDialog/alarm';
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
import PassiveTimeout from './passiveDialog/timeout';
export default {
name: 'AtsWorkMenu',
components: {
MenuStationStand,
// MenuSwitch,
MenuSignal,
MenuSection,
MenuTrain,
MenuLimit,
PassiveAlarm,
MenuAutoTrunRoute,
PassiveContorl,
PassiveTimeout
},
props: {
selected: {
type: Object,
default() {
return null;
}
}
},
computed: {
...mapGetters('config', [
'width'
])
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('config/updateMenuBar');
});
}
};
</script>
<style>
.menus .pop-menu {
background: #F0F0F0;
}
.menus .pop-menu span {
color: #000;
}
.menus .pop-menu .is-disabled span {
color: #B4B3B8;
}
.foshan-01__systerm {
overflow: hidden !important;
}
.foshan-01__systerm .el-dialog {
background: linear-gradient(to bottom, #9BB6D3, #B8D0EA);
border: 1px solid rgba(118, 162, 198, 1);
border-radius: 6px;
color: #000;
font-size: 14px;
}
.foshan-01__systerm .el-dialog .el-dialog__header {
padding: 10px;
height: 26px;
}
.foshan-01__systerm .el-dialog .el-dialog__footer {
background: #F0F0F0;
opacity: 1;
}
.foshan-01__systerm .el-dialog .el-dialog__body {
padding: 10px;
margin: 2px;
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
background: #F0F0F0;
opacity: 1;
}
.foshan-01__systerm .el-dialog .el-dialog__title {
position: absolute;
top: 6px;
color: #000;
border-radius: 4px;
padding: 0px 2px;
height: 20px;
line-height: 15px;
font-size: 15px;
}
.foshan-01__systerm .el-dialog .el-dialog__title::before {
content: '';
position: absolute;
top: 0;
left: 0;
filter: blur(7px);
height: 20px;
width: -webkit-fill-available;
background: rgba(190, 190, 190, 0.8);
z-index: -1;
}
.foshan-01__systerm .el-dialog .el-dialog__headerbtn {
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
border: 1px solid #fff;
border-radius: 4px;
top: 5px;
right: 5px;
line-height: 18px;
}
.foshan-01__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
font-size: 16px;
}
.foshan-01__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
.foshan-01__systerm .el-dialog .el-button {
height: 32px;
line-height: 32px;
padding: 0px;
width: 80px;
border: 2px outset #E2E2E2;
border-radius: 0px !important;
color: #000;
background: #F0F0F0;
}
.foshan-01__systerm .el-dialog .expand {
width: 120px;
}
.foshan-01__systerm .el-dialog .el-button:focus span {
border: 1px dashed gray;
}
.foshan-01__systerm .el-dialog .el-button:active {
border: 2px inset #E2E2E2;
}
.foshan-01__systerm .el-dialog .el-button:disabled {
border: 2px inset #E2E2E2;
}
.foshan-01__systerm .el-dialog .el-button:disabled span {
border: 0px;
}
.foshan-01__systerm .el-dialog .el-input {
border: 2px inset #E9E9E9;
}
.foshan-01__systerm .el-dialog .el-input .el-input__inner {
color: #000;
background: #fff !important;
border: 0px;
border-radius: 0px !important;
box-sizing: border-box;
}
.foshan-01__systerm .el-dialog .el-input.is-disabled .el-input__inner {
background: #F0F0F0 !important;
}
.foshan-01__systerm .el-dialog .el-textarea {
border: 2px inset #E9E9E9;
border-radius: 0px;
}
.foshan-01__systerm .el-dialog .el-textarea .el-textarea__inner {
color: #000;
background: #fff !important;
border: 0px;
border-radius: 0px !important;
box-sizing: border-box;
}
.foshan-01__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
background: #F0F0F0 !important;
}
.foshan-01__systerm .el-dialog .el-table--border th.gutter {
background: #EBEADB !important;
}
.foshan-01__systerm .el-dialog .el-table {
border: 2px inset #E9E9E9;
color: #000 !important;
}
.foshan-01__systerm .el-dialog .el-table .cell {
line-height: unset !important;
}
.foshan-01__systerm .el-dialog .el-table th.is-leaf {
background: #F0F0F0 !important;
border-right: 1px solid #BDBDBD !important;
border-bottom: 1px solid #BDBDBD !important;
color: #000 !important;
height: 20px !important;
padding: 0px;
}
.foshan-01__systerm.stand-detain-train .el-dialog .el-table th.is-leaf {
background: #fff !important;
border-right: 1px solid #fff !important;
border-bottom: 1px solid #EBEEF5 !important;
color: #000 !important;
height: 20px !important;
padding: 0px;
}
.foshan-01__systerm.stand-detain-train .el-dialog .el-table th.el-table-column--selection{
border-right: 1px solid #e2e2e2 !important;
}
.foshan-01__systerm.stand-detain-train .el-dialog .el-table .el-table__body-wrapper .el-table__row .el-table-column--selection {
border-right: 1px solid #e2e2e2 !important;
}
.foshan-01__systerm .el-dialog .el-table tr td {
height: 20px !important;
padding: 0px;
}
.foshan-01__systerm .el-dialog .el-table .el-table__empty-text {
top: 15px !important;
line-height: normal;
max-width:60%;
}
.foshan-01__systerm .el-dialog .current-row>td {
background: #3399FF !important;
color: #fff !important;
}
.foshan-01__systerm .el-dialog .el-checkbox__inner {
border: 1px inset #dcdfe6 !important;
}
.foshan-01__systerm .el-dialog .el-checkbox__label {
color: #000 !important;
}
.foshan-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
background: #E6E6E6 !important;
}
.foshan-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
color: #C5C9CC !important;
}
.foshan-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.foshan-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner::after {
position: absolute;
-webkit-box-sizing: content-box;
box-sizing: content-box;
content: "";
border: 1px solid #000;
border-left: 0;
border-top: 0;
height: 7px;
left: 4px;
top: 1px;
}
.foshan-01__systerm .el-dialog .el-radio__inner {
border: 1px inset #dcdfe6 !important;
}
.foshan-01__systerm .el-dialog .el-radio__label {
color: #000 !important;
}
.foshan-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.foshan-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner::after {
width: 4px;
height: 4px;
border-radius: 100%;
background-color: #000 !important;
position: absolute;
left: 50%;
top: 50%;
}
.foshan-01__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
background: #E6E6E6 !important;
}
.foshan-01__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
color: #C5C9CC !important;
}
.foshan-01__systerm .el-dialog .base-label {
background: #F0F0F0;
padding: 0 5px;
position: relative;
left: -15px;
top: -18px;
}
.foshan-01__systerm .el-dialog .el-form-item label {
font-weight: normal !important;
color: #000 !important;
}
.foshan-01__systerm .el-dialog .context {
height: 100px;
border: 2px inset #E2E2E2;
overflow-y: scroll;
}
.foshan-01__systerm .el-dialog .table {
margin-top: 10px;
}
.foshan-01__systerm .el-dialog .notice {
margin-left: 62px;
line-height: 30px;
}
.foshan-01__systerm .el-dialog .button-group {
margin-top: 10px;
}
</style>

View File

@ -65,21 +65,21 @@ export default {
handler: this.active,
cmdType: CMD.Section.CMD_SECTION_ACTIVE,
isDisabled: sectionDevice => sectionDevice.cutOff !== 1,
isShow: (signal, work) => work !== 'atsWork'
isShow: (signal, work) => true
},
{
label: '区段切除',
handler: this.split,
cmdType: CMD.Section.CMD_SECTION_CUT_OFF,
isDisabled: sectionDevice => sectionDevice.cutOff === 1,
isShow: (signal, work) => work !== 'atsWork'
isShow: (signal, work) => true
},
{
label: '设置临时限速',
handler: this.setSpeed,
cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED,
isDisabled: (sectionDevice, work) => false,
isShow: (signal, work) => work !== 'atsWork'
isShow: (signal, work) => true
},
{

View File

@ -68,7 +68,7 @@ export default {
handler: this.arrangementRoute,
cmdType:CMD.Signal.CMD_SIGNAL_SET_ROUTE,
isDisabled: (signal, work) => false,
isShow: (signal, work) => work !== 'atsWork'
isShow: (signal, work) => true
},
{
label: '进路取消',
@ -82,7 +82,7 @@ export default {
handler: this.reopenSignal,
isDisabled: (signal, work) => false,
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL,
isShow: (signal, work) => work !== 'atsWork'
isShow: (signal, work) => true
},
{
label: '进路引导',
@ -96,14 +96,14 @@ export default {
handler: this.humanControl,
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING,
isDisabled: (signal, work) => false,
isShow: (signal, work) => work !== 'atsWork'
isShow: (signal, work) => true
},
{
label: '进路交自动控',
handler: this.atsAutoControl,
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING,
isDisabled: (signal, work) => false,
isShow: (signal, work) => work !== 'atsWork'
isShow: (signal, work) => true
},
{
label: '设置联锁自动进路',
@ -138,7 +138,7 @@ export default {
handler: this.detail,
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL,
isDisabled: (signal, work) => false,
isShow: (signal, work) => work !== 'atsWork'
isShow: (signal, work) => true
}
// Local: [
// // {

View File

@ -97,7 +97,7 @@ export default {
isDisabled: (stand, work) => {
return false;
},
isShow: (stand, work) => { return work !== 'atsWork'; }
isShow: (stand, work) => { return true; }
},
{
label: '强制取消扣车',
@ -153,7 +153,7 @@ export default {
handler: this.detail,
cmdType:CMD.Stand.CMD_STAND_VIEW_STATUS,
isDisabled: (stand, work) => false,
isShow: (stand, work) => work !== 'atsWork'
isShow: (stand, work) => true
}
],
menuForce: [

View File

@ -1,352 +0,0 @@
<template>
<div class="menus" :style="{width: width + 'px'}">
<menu-deplot-button ref="menuDeplotButton" />
<menu-station-stand ref="menuStationStand" :selected="selected" :work="'atsWork'" />
<menu-switch ref="menuSwitch" :selected="selected" :work="'atsWork'" />
<menu-signal ref="menuSignal" :selected="selected" :work="'atsWork'" />
<menu-section ref="menuSection" :selected="selected" :work="'atsWork'" />
<menu-train ref="menuTrain" :selected="selected" :work="'atsWork'" />
<menu-station ref="menuStation" :selected="selected" :work="'atsWork'" />
<passive-alarm ref="passiveAlarm" />
<passive-contorl ref="passiveControl" pop-class="fuzhou-01__systerm" />
<passive-Timeout ref="passiveTimeout" />
</div>
</template>
<script>
import { mapGetters } from 'vuex';
import MenuDeplotButton from './menuDeplotButton';
import MenuSignal from './menuSignal';
import MenuStationStand from './menuStationStand';
import MenuSwitch from './menuSwitch';
import MenuSection from './menuSection';
import MenuTrain from './menuTrain';
import MenuStation from './menuStation';
import PassiveAlarm from './passiveDialog/alarm';
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
import PassiveTimeout from './passiveDialog/timeout';
export default {
name: 'DispatchWorkMenu',
components: {
MenuDeplotButton,
MenuSignal,
MenuSwitch,
MenuSection,
MenuStationStand,
MenuStation,
MenuTrain,
PassiveAlarm,
PassiveContorl,
PassiveTimeout
},
props: {
selected: {
type: Object,
default() {
return {};
}
}
},
computed: {
...mapGetters('config', [
'width'
])
},
watch: {},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('config/updateMenuBar');
const _that = this;
window.onclick = function (e) {
if (!_that.$store.state.training.trainingStart) {
_that.$refs.menuBar && _that.$refs.menuBar.blankClickClose();
}
_that.$refs.menuStationStand.doClose();
_that.$refs.menuSwitch.doClose();
_that.$refs.menuSignal.doClose();
_that.$refs.menuSection.doClose();
_that.$refs.menuTrain.doClose();
_that.$refs.menuStation.doClose();
};
});
},
beforeDestroy() {
window.onclick = function (e) {};
}
};
</script>
<style>
.menus .pop-menu {
background: #F0F0F0;
}
.menus .pop-menu span {
color: #000;
}
.menus .pop-menu .is-disabled span {
color: #B4B3B8;
}
.fuzhou-01__systerm {
overflow: hidden !important;
}
.fuzhou-01__systerm .el-dialog {
background: rgba(100, 100, 100, 0.3);
border: 2px solid rgb(144, 144, 144, 0.8);
border-radius: 6px;
color: #000;
font-size: 14px;
}
.fuzhou-01__systerm .el-dialog .el-dialog__header {
padding: 5px;
height: 26px;
}
.fuzhou-01__systerm .el-dialog .el-dialog__footer {
background: #F0F0F0;
opacity: 1;
}
.fuzhou-01__systerm .el-dialog .el-dialog__body {
padding-top: 10px;
padding-bottom: 10px;
padding-left: 5px;
padding-right: 5px;
margin: 0px 5px 5px;
border: 2px solid rgba(120, 121, 123, 0.5);
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
background: #F0F0F0;
opacity: 1;
}
.fuzhou-01__systerm .el-dialog .el-dialog__title {
position: absolute;
top: 4px;
color: #000;
border-radius: 4px;
padding: 0px 2px;
height: 20px;
line-height: 20px
}
.fuzhou-01__systerm .el-dialog .el-dialog__title::before {
content: '';
position: absolute;
top: 0;
left: 0;
-webkit-filter: blur(10px);
filter: blur(10px);
height: 20px;
width: -webkit-fill-available;
background: rgba(128, 128, 128, 0.8);
z-index: -1;
}
.fuzhou-01__systerm .el-dialog .el-dialog__headerbtn {
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
border: 1px solid #fff;
border-radius: 4px;
top: 4px;
right: 5px;
line-height: 16px;
}
.fuzhou-01__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
font-size: 16px;
}
.fuzhou-01__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
.fuzhou-01__systerm .el-dialog .el-button {
height: 32px;
line-height: 32px;
padding: 0px;
width: 80px;
border: 2px outset #E2E2E2;
border-radius: 0px !important;
color: #000;
background: #F0F0F0;
}
.fuzhou-01__systerm .el-dialog .el-button:focus span {
border: 1px dashed gray;
}
.fuzhou-01__systerm .el-dialog .el-button:active {
border: 2px inset #E2E2E2;
}
.fuzhou-01__systerm .el-dialog .el-button:disabled {
border: 2px inset #E2E2E2;
}
.fuzhou-01__systerm .el-dialog .el-button:disabled span {
border: 0px;
}
.fuzhou-01__systerm .el-dialog .el-input {
border: 2px inset #E9E9E9;
}
.fuzhou-01__systerm .el-dialog .el-input .el-input__inner {
color: #000;
background: #fff !important;
border: 0px;
border-radius: 0px !important;
box-sizing: border-box;
}
.fuzhou-01__systerm .el-dialog .el-input.is-disabled .el-input__inner {
background: #F0F0F0 !important;
}
.fuzhou-01__systerm .el-dialog .el-textarea {
border: 2px inset #E9E9E9;
border-radius: 0px;
}
.fuzhou-01__systerm .el-dialog .el-textarea .el-textarea__inner {
color: #000;
background: #fff !important;
border: 0px;
border-radius: 0px !important;
box-sizing: border-box;
}
.fuzhou-01__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
background: #F0F0F0 !important;
}
.fuzhou-01__systerm .el-dialog .el-table {
border: 2px inset #E9E9E9;
color: #000 !important;
}
.fuzhou-01__systerm .el-dialog .el-table .cell {
line-height: unset !important;
}
.fuzhou-01__systerm .el-dialog .el-table th.is-leaf {
background: #F0F0F0 !important;
border-right: 1px solid #BDBDBD !important;
border-bottom: 1px solid #BDBDBD !important;
color: #000 !important;
height: 20px !important;
padding: 0px;
}
.fuzhou-01__systerm .el-dialog .el-table tr td {
height: 20px !important;
padding: 0px;
}
.fuzhou-01__systerm .el-dialog .el-table .el-table__empty-text {
top: 15px !important;
}
.fuzhou-01__systerm .el-dialog .current-row>td {
background: #3399FF !important;
color: #fff !important;
}
.fuzhou-01__systerm .el-dialog .el-checkbox__inner {
border: 1px inset #dcdfe6 !important;
}
.fuzhou-01__systerm .el-dialog .el-checkbox__label {
color: #000 !important;
}
.fuzhou-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
background: #E6E6E6 !important;
}
.fuzhou-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
color: #C5C9CC !important;
}
.fuzhou-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.fuzhou-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner::after {
position: absolute;
-webkit-box-sizing: content-box;
box-sizing: content-box;
content: "";
border: 1px solid #000;
border-left: 0;
border-top: 0;
height: 7px;
left: 4px;
top: 1px;
}
.fuzhou-01__systerm .el-dialog .el-radio__inner {
border: 1px inset #dcdfe6 !important;
}
.fuzhou-01__systerm .el-dialog .el-radio__label {
color: #000 !important;
}
.fuzhou-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.fuzhou-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner::after {
width: 4px;
height: 4px;
border-radius: 100%;
background-color: #000 !important;
position: absolute;
left: 50%;
top: 50%;
}
.fuzhou-01__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
background: #E6E6E6 !important;
}
.fuzhou-01__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
color: #C5C9CC !important;
}
.fuzhou-01__systerm .el-dialog .base-label {
background: rgb(240 240 240);
position: relative;
}
.fuzhou-01__systerm .el-dialog .el-form-item label {
font-weight: normal !important;
color: #000 !important;
}
.fuzhou-01__systerm .el-dialog .context {
height: 100px;
border: 2px inset #E2E2E2;
overflow-y: scroll;
}
.fuzhou-01__systerm .el-dialog .table {
margin-top: 10px;
}
.fuzhou-01__systerm .el-dialog .notice {
margin-left: 62px;
line-height: 30px;
}
.fuzhou-01__systerm .el-dialog .button-group {
margin-top: 10px;
}
</style>

View File

@ -46,20 +46,20 @@ export default {
data() {
return {
menuNormal: [
// {
// title: this.$t('menu.menuBar.system'),
// operate: OperationEvent.Command.mBar.system,
// click: this.undeveloped,
// children: [
// ]
// },
// {
// title: this.$t('menu.menuBar.view'),
// operate: OperationEvent.Command.mBar.check,
// click: this.undeveloped,
// children: [
// ]
// },
{
title: this.$t('menu.menuBar.system'),
operate: OperationEvent.Command.mBar.system,
click: this.undeveloped,
children: [
]
},
{
title: this.$t('menu.menuBar.view'),
operate: OperationEvent.Command.mBar.check,
click: this.undeveloped,
children: [
]
},
{
title: this.$t('menu.menuBar.refresh'),
operate: OperationEvent.Command.mBar.fresh,
@ -70,7 +70,7 @@ export default {
{
title: this.$t('menu.menuBar.display'),
operate: OperationEvent.Command.mBar.view,
// click: this.undeveloped,
click: this.undeveloped,
children: [
{
title: this.$t('menu.menuBar.setTrainIdDisplay'),
@ -89,13 +89,13 @@ export default {
}
]
},
// {
// title: this.$t('menu.menuBar.stationMapSwitch'),
// operate: '',
// click: this.undeveloped,
// children: [
// ]
// },
{
title: this.$t('menu.menuBar.stationMapSwitch'),
operate: '',
click: this.undeveloped,
children: [
]
},
{
title: this.$t('menu.menuBar.planCarOperation'),
operate: OperationEvent.Command.mBar.planTrain,
@ -117,13 +117,13 @@ export default {
}
]
},
// {
// title: this.$t('menu.menuBar.trainNumberMaintenance'),
// operate: '',
// click: this.undeveloped,
// children: [
// ]
// },
{
title: this.$t('menu.menuBar.trainNumberMaintenance'),
operate: '',
click: this.undeveloped,
children: [
]
},
{
title: this.$t('menu.menuBar.controlModeSwitch'),
operate: OperationEvent.Command.mBar.remoteControl,
@ -147,27 +147,27 @@ export default {
}
]
},
// {
// title: this.$t('menu.menuBar.requestOperationArea'),
// operate: OperationEvent.Command.mBar.requestZone,
// click: this.undeveloped,
// children: [
// ]
// },
// {
// title: this.$t('menu.menuBar.schedulingLog'),
// operate: '',
// click: this.undeveloped,
// children: [
// ]
// },
// {
// title: this.$t('menu.menuBar.systemAnalysis'),
// operate: '',
// click: this.undeveloped,
// children: [
// ]
// },
{
title: this.$t('menu.menuBar.requestOperationArea'),
operate: OperationEvent.Command.mBar.requestZone,
click: this.undeveloped,
children: [
]
},
{
title: this.$t('menu.menuBar.schedulingLog'),
operate: '',
click: this.undeveloped,
children: [
]
},
{
title: this.$t('menu.menuBar.systemAnalysis'),
operate: '',
click: this.undeveloped,
children: [
]
},
{
title: this.$t('menu.menuBar.userManage'),
operate: OperationEvent.Command.mBar.userManage,
@ -179,13 +179,13 @@ export default {
}
]
},
// {
// title: this.$t('menu.menuBar.historyQuery'),
// operate: OperationEvent.Command.mBar.historyQuery,
// click: this.undeveloped,
// children: [
// ]
// },
{
title: this.$t('menu.menuBar.historyQuery'),
operate: OperationEvent.Command.mBar.historyQuery,
click: this.undeveloped,
children: [
]
},
{
title: this.$t('menu.menuBar.help'),
operate: OperationEvent.Command.mBar.help,

View File

@ -37,20 +37,20 @@ export default {
data() {
return {
menuNormal: [
// {
// title: this.$t('menu.menuBar.system'),
// operate: OperationEvent.Command.mBar.system,
// click: this.undeveloped,
// children: [
// ]
// },
// {
// title: this.$t('menu.menuBar.view'),
// operate: OperationEvent.Command.mBar.check,
// click: this.undeveloped,
// children: [
// ]
// },
{
title: this.$t('menu.menuBar.system'),
operate: OperationEvent.Command.mBar.system,
click: this.undeveloped,
children: [
]
},
{
title: this.$t('menu.menuBar.view'),
operate: OperationEvent.Command.mBar.check,
click: this.undeveloped,
children: [
]
},
{
title: this.$t('menu.menuBar.refresh'),
operate: OperationEvent.Command.mBar.fresh,
@ -61,7 +61,7 @@ export default {
{
title: this.$t('menu.menuBar.display'),
operate: OperationEvent.Command.mBar.view,
// click: this.undeveloped,
click: this.undeveloped,
children: [
{
title: this.$t('menu.menuBar.setTrainIdDisplay'),
@ -80,17 +80,17 @@ export default {
}
]
},
// {
// title: this.$t('menu.menuBar.stationMapSwitch'),
// operate: '',
// click: this.undeveloped,
// children: [
// ]
// },
{
title: this.$t('menu.menuBar.stationMapSwitch'),
operate: '',
click: this.undeveloped,
children: [
]
},
{
title: this.$t('menu.menuBar.controlModeSwitch'),
operate: OperationEvent.Command.mBar.remoteControl,
// click: this.undeveloped,
click: this.undeveloped,
children: [
{
title: this.$t('menu.menuBar.toStationControl'),
@ -110,20 +110,20 @@ export default {
// }
]
},
// {
// title: this.$t('menu.menuBar.requestOperationArea'),
// operate: OperationEvent.Command.mBar.requestZone,
// click: this.undeveloped,
// children: [
// ]
// },
// {
// title: this.$t('menu.menuBar.historyQuery'),
// operate: OperationEvent.Command.mBar.historyQuery,
// click: this.undeveloped,
// children: [
// ]
// },
{
title: this.$t('menu.menuBar.requestOperationArea'),
operate: OperationEvent.Command.mBar.requestZone,
click: this.undeveloped,
children: [
]
},
{
title: this.$t('menu.menuBar.historyQuery'),
operate: OperationEvent.Command.mBar.historyQuery,
click: this.undeveloped,
children: [
]
},
{
title: this.$t('menu.menuBar.userManage'),
operate: OperationEvent.Command.mBar.userManage,

View File

@ -63,28 +63,28 @@ export default {
handler: this.fault,
cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK,
isDisabled: (section, work) => false,
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
isShow: (section, work) => ['01', '02', '03'].includes(section.type)
},
{
label: this.$t('menu.menuSection.sectionResection'),
handler: this.split,
cmdType: CMD.Section.CMD_SECTION_CUT_OFF,
isDisabled: (section, work) => section.cutOff === 1,
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
isShow: (section, work) => ['01', '02', '03'].includes(section.type)
},
{
label: this.$t('menu.menuSection.sectionActive'),
handler: this.active,
cmdType: CMD.Section.CMD_SECTION_ACTIVE,
isDisabled: (section, work) => section.cutOff !== 1,
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
isShow: (section, work) => ['01', '02', '03'].includes(section.type)
},
{
label: '计轴预复位',
handler: this.axlePreReset,
cmdType: CMD.Section.CMD_SECTION_AXIS_PRE_RESET,
isDisabled: (section, work) => false,
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
isShow: (section, work) => ['01', '02', '03'].includes(section.type)
},
{
label: this.$t('menu.menuSection.sectionBlockade'),
@ -92,28 +92,28 @@ export default {
cmdType: CMD.Section.CMD_SECTION_BLOCK,
// isDisabled: section => section.blockade === 1,
isDisabled: (section, work) => section.blockade === 1,
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
isShow: (section, work) => ['01', '02', '03'].includes(section.type)
},
{
label: this.$t('menu.menuSection.sectionUnblock'),
handler: this.unlock,
cmdType: CMD.Section.CMD_SECTION_UNBLOCK,
isDisabled: (section, work) => section.blockade !== 1,
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
isShow: (section, work) => ['01', '02', '03'].includes(section.type)
},
{
label: '设置限速',
handler: this.setSpeed,
cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED,
isDisabled: (section, work) => section.speedUpLimit > 0,
isShow: (section, work) => section.type === '02' && work !== 'atsWork'
isShow: (section, work) => section.type === '02'
},
{
label: '取消限速',
handler: this.cancelSpeed,
cmdType: CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED,
isDisabled: (section, work) => section.speedUpLimit <= 0,
isShow: (section, work) => section.type === '02' && work !== 'atsWork'
isShow: (section, work) => section.type === '02'
}
],
menuForce: [

View File

@ -67,42 +67,42 @@ export default {
handler: this.arrangementRoute,
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE,
isDisabled: (signal, work) => false,
isShow: (signal, work) => work !== 'atsWork'
isShow: (signal, work) => true
},
{
label: this.$t('menu.menuSignal.routeCancel'),
handler: this.cancelTrainRoute,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE,
isDisabled: (signal, work) => false,
isShow: (signal, work) => work !== 'atsWork'
isShow: (signal, work) => true
},
{
label: this.$t('menu.menuSignal.signalBlock'),
handler: this.lock,
cmdType: CMD.Signal.CMD_SIGNAL_BLOCK,
isDisabled: (signal, work) => signal.blockade === 1,
isShow: (signal, work) => work !== 'atsWork'
isShow: (signal, work) => true
},
{
label: this.$t('menu.menuSignal.signalDeblock'),
handler: this.unlock,
cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK,
isDisabled: (signal, work) => signal.blockade !== 1,
isShow: (signal, work) => work !== 'atsWork'
isShow: (signal, work) => true
},
{
label: this.$t('menu.menuSignal.signalReopen'),
handler: this.reopenSignal,
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL,
isDisabled: (signal, work) => false,
isShow: (signal, work) => work !== 'atsWork'
isShow: (signal, work) => true
},
{
label: this.$t('menu.menuSignal.signalOff'),
handler: this.signalClose,
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL,
isDisabled: (signal, work) => false,
isShow: (signal, work) => work !== 'atsWork'
isShow: (signal, work) => true
},
{
label: '进路引导',
@ -165,7 +165,7 @@ export default {
handler: this.detail,
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL,
isDisabled: (signal, work) => false,
isShow: (signal, work) => work !== 'atsWork'
isShow: (signal, work) => true
}
],
menuForce: [

View File

@ -95,21 +95,21 @@ export default {
handler: this.cancelDetainTrainForce,
cmdType:CMD.Stand.CMD_STAND_FORCE_CANCEL_HOLD_TRAIN,
isDisabled: (stand, work) => false,
isShow: (stand, work) => work !== 'atsWork'
isShow: (stand, work) => true
},
{
label: this.$t('menu.menuStationStand.jumpStop'),
handler: this.setJumpStop,
cmdType:CMD.Stand.CMD_STAND_SET_JUMP_STOP,
isDisabled: (stand, work) => stand.allSkip !== 0,
isShow: (stand, work) => work !== 'atsWork'
isShow: (stand, work) => true
},
{
label: this.$t('menu.menuStationStand.cancelJumpStop'),
handler: this.cancelJumpStop,
cmdType:CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP,
isDisabled: (stand, work) => stand.allSkip !== 1 && stand.assignSkip !== 1,
isShow: (stand, work) => work !== 'atsWork'
isShow: (stand, work) => true
},
{
label: this.$t('menu.menuStationStand.setStopTime'),
@ -144,7 +144,7 @@ export default {
handler: this.detail,
cmdType:CMD.Stand.CMD_STAND_VIEW_STATUS,
isDisabled: (stand, work) => false,
isShow: (stand, work) => work !== 'atsWork'
isShow: (stand, work) => true
}
],
menuForce: [

View File

@ -59,77 +59,77 @@ export default {
handler: this.lock,
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK,
isDisabled: (switchDevice, work) => switchDevice.singleLock === 1,
isShow: (switchDevice, work) => work !== 'atsWork'
isShow: (switchDevice, work) => true
},
{
label: '道岔单解',
handler: this.unlock,
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK,
isDisabled: (switchDevice, work) => switchDevice.singleLock !== 1,
isShow: (switchDevice, work) => work !== 'atsWork'
isShow: (switchDevice, work) => true
},
{
label: '道岔封锁',
handler: this.block,
cmdType: CMD.Switch.CMD_SWITCH_BLOCK,
isDisabled: (switchDevice, work) => switchDevice.blockade === 1,
isShow: (switchDevice, work) => work !== 'atsWork'
isShow: (switchDevice, work) => true
},
{
label: '道岔解封',
handler: this.unblock,
cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK,
isDisabled: (switchDevice, work) => switchDevice.blockade !== 1,
isShow: (switchDevice, work) => work !== 'atsWork'
isShow: (switchDevice, work) => true
},
{
label: '道岔转动',
handler: this.switchTurnout,
cmdType: CMD.Switch.CMD_SWITCH_TURN,
isDisabled: (switchDevice, work) => false,
isShow: (switchDevice, work) => work !== 'atsWork'
isShow: (switchDevice, work) => true
},
{
label: '故障解锁',
handler: this.fault,
cmdType: CMD.Switch.CMD_SWITCH_FAULT_UNLOCK,
isDisabled: (switchDevice, work) => false,
isShow: (switchDevice, work) => work !== 'atsWork'
isShow: (switchDevice, work) => true
},
{
label: '计轴预复位',
handler: this.axlePreReset,
cmdType: CMD.Switch.CMD_SWITCH_AXLE_PRE_RESET,
isDisabled: (switchDevice, work) => false,
isShow: (switchDevice, work) => work !== 'atsWork'
isShow: (switchDevice, work) => true
},
{
label: this.$t('menu.menuSwitch.sectionResection'),
handler: this.split,
cmdType: CMD.Switch.CMD_SWITCH_CUT_OFF,
isDisabled: (switchDevice, work) => false,
isShow: (switchDevice, work) => work !== 'atsWork'
isShow: (switchDevice, work) => true
},
{
label: this.$t('menu.menuSwitch.sectionActive'),
handler: this.active,
cmdType: CMD.Switch.CMD_SWITCH_ACTIVE,
isDisabled: (switchDevice, work) => false,
isShow: (switchDevice, work) => work !== 'atsWork'
isShow: (switchDevice, work) => true
},
{
label: '设置限速',
handler: this.setSpeed,
cmdType: CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED,
isDisabled: (switchDevice, work) => false,
isShow: (switchDevice, work) => work !== 'atsWork'
isShow: (switchDevice, work) => true
},
{
label: '取消限速',
handler: this.cancelSpeed,
cmdType: CMD.Switch.CMD_SWITCH_CANCEL_LIMIT_SPEED,
isDisabled: (switchDevice, work) => false,
isShow: (switchDevice, work) => work !== 'atsWork'
isShow: (switchDevice, work) => true
}
],
menuForce: [

View File

@ -152,11 +152,11 @@ export default {
}
],
menuSpeed: [
// {
// label: this.$t('menu.menuTrain.confirmRunToFrontStation'),
// handler: this.undeveloped,
// cmdType:CMD.Train.CMD_TRAIN_MANUAL_LIMIT_DRIVE
// }
{
label: this.$t('menu.menuTrain.confirmRunToFrontStation'),
handler: this.undeveloped,
cmdType:CMD.Train.CMD_TRAIN_MANUAL_LIMIT_DRIVE
}
]
};
},

View File

@ -1,366 +0,0 @@
<template>
<div class="menus" :style="{width: width + 'px', height: '100%'}">
<menu-station-stand ref="menuStationStand" :selected="selected" work="atsWork" />
<menu-train ref="menuTrain" :selected="selected" work="atsWork" />
<menu-signal ref="menuSignal" :selected="selected" work="atsWork" />
<menu-switch ref="menuSwitch" :selected="selected" work="atsWork" />
<menu-section ref="menuSection" :selected="selected" work="atsWork" />
<menu-station ref="menuStation" :selected="selected" work="atsWork" />
<menu-button ref="menuButton" :selected="selected" work="atsWork" />
<passive-alarm ref="passiveAlarm" />
<passive-contorl ref="passiveControl" pop-class="haerbin-01__systerm" />
<passive-Timeout ref="passiveTimeout" />
</div>
</template>
<script>
import { mapGetters } from 'vuex';
import MenuTrain from './menuTrain';
import MenuButton from './menuButton';
import MenuSignal from './menuSignal';
import MenuSwitch from './menuSwitch';
import MenuSection from './menuSection';
import MenuStation from './menuStation';
import MenuStationStand from './menuStationStand';
import PassiveAlarm from './passiveDialog/alarm';
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
import PassiveTimeout from './passiveDialog/timeout';
export default {
name: 'Menus',
components: {
MenuButton,
MenuTrain,
MenuSignal,
MenuSwitch,
MenuSection,
MenuStation,
MenuStationStand,
PassiveAlarm,
PassiveContorl,
PassiveTimeout
},
props: {
selected: {
type: Object,
default() {
return null;
}
}
},
computed: {
...mapGetters('config', [
'width'
])
},
watch: {
isShowBar(val) {
val && this.$store.dispatch('config/updateMenuBar');
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('config/updateMenuBar');
});
}
};
</script>
<style>
.menus {
height: 100%;
}
.menus .pop-menu {
background: #F0F0F0;
}
.menus .pop-menu span {
color: #000;
}
.menus .pop-menu .is-disabled span {
color: #B4B3B8;
}
.haerbin-01__systerm {
overflow: hidden !important;
}
.haerbin-01__systerm .el-dialog {
background: rgba(100, 100, 100, 0.3);
border: 2px solid rgb(144, 144, 144, 0.8);
border-radius: 6px;
color: #000;
font-size: 14px;
}
.haerbin-01__systerm .el-dialog .el-dialog__header {
padding: 5px;
height: 26px;
}
.haerbin-01__systerm .el-dialog .el-dialog__footer {
background: #F0F0F0;
opacity: 1;
}
.haerbin-01__systerm .el-dialog .el-dialog__body {
padding-top: 10px;
padding-bottom: 10px;
padding-left: 5px;
padding-right: 5px;
margin: 0px 5px 5px;
border: 2px solid rgba(120, 121, 123, 0.5);
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
background: #F0F0F0;
opacity: 1;
}
.haerbin-01__systerm .el-dialog .el-dialog__title {
position: absolute;
top: 4px;
color: #000;
border-radius: 4px;
padding: 0px 2px;
height: 20px;
line-height: 20px
}
.haerbin-01__systerm .el-dialog .el-dialog__title::before {
content: '';
position: absolute;
top: 0;
left: 0;
-webkit-filter: blur(10px);
filter: blur(10px);
height: 20px;
width: -webkit-fill-available;
background: rgba(128, 128, 128, 0.8);
z-index: -1;
}
.haerbin-01__systerm .el-dialog .el-dialog__headerbtn {
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
border: 1px solid #fff;
border-radius: 4px;
top: 4px;
right: 5px;
line-height: 16px;
}
.haerbin-01__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
font-size: 16px;
}
.haerbin-01__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
.haerbin-01__systerm .el-dialog .el-button {
height: 32px;
line-height: 32px;
padding: 0px;
width: 80px;
border: 2px outset #E2E2E2;
border-radius: 0px !important;
color: #000;
background: #F0F0F0;
}
.haerbin-01__systerm .el-dialog .el-button:focus span {
border: 1px dashed gray;
}
.haerbin-01__systerm .el-dialog .el-button:active {
border: 2px inset #E2E2E2;
}
.haerbin-01__systerm .el-dialog .el-button:disabled {
border: 2px inset #E2E2E2;
}
.haerbin-01__systerm .el-dialog .el-button:disabled span {
border: 0px;
}
.haerbin-01__systerm .el-dialog .el-input {
border: 2px inset #E9E9E9;
}
.haerbin-01__systerm .el-dialog .el-input .el-input__inner {
color: #000;
background: #fff !important;
border: 0px;
border-radius: 0px !important;
box-sizing: border-box;
}
.haerbin-01__systerm .el-dialog .el-input.is-disabled .el-input__inner {
background: #F0F0F0 !important;
}
.haerbin-01__systerm .el-dialog .el-textarea {
border: 2px inset #E9E9E9;
border-radius: 0px;
}
.haerbin-01__systerm .el-dialog .el-textarea .el-textarea__inner {
color: #000;
background: #fff !important;
border: 0px;
border-radius: 0px !important;
box-sizing: border-box;
}
.haerbin-01__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
background: #F0F0F0 !important;
}
.haerbin-01__systerm .el-dialog .el-table {
border: 2px inset #E9E9E9;
color: #000 !important;
}
.haerbin-01__systerm .el-dialog .el-table .cell {
line-height: unset !important;
}
.haerbin-01__systerm .el-dialog .el-table th.is-leaf {
background: #F0F0F0 !important;
border-right: 1px solid #BDBDBD !important;
border-bottom: 1px solid #BDBDBD !important;
color: #000 !important;
height: 20px !important;
padding: 0px;
}
.haerbin-01__systerm .el-dialog .el-table tr td {
height: 20px !important;
padding: 0px;
}
.haerbin-01__systerm .el-dialog .el-table .el-table__empty-text {
top: 15px !important;
}
.haerbin-01__systerm .el-dialog .current-row>td {
background: #3399FF !important;
color: #fff !important;
}
.haerbin-01__systerm .el-dialog .el-checkbox__inner {
border: 1px inset #dcdfe6 !important;
}
.haerbin-01__systerm .el-dialog .el-checkbox__label {
color: #000 !important;
}
.haerbin-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
background: #E6E6E6 !important;
}
.haerbin-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
color: #C5C9CC !important;
}
.haerbin-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.haerbin-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner::after {
position: absolute;
-webkit-box-sizing: content-box;
box-sizing: content-box;
content: "";
border: 1px solid #000;
border-left: 0;
border-top: 0;
height: 7px;
left: 4px;
top: 1px;
}
.haerbin-01__systerm .el-dialog .el-radio__inner {
border: 1px inset #dcdfe6 !important;
}
.haerbin-01__systerm .el-dialog .el-radio__label {
color: #000 !important;
}
.haerbin-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.haerbin-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner::after {
width: 4px;
height: 4px;
border-radius: 100%;
background-color: #000 !important;
position: absolute;
left: 50%;
top: 50%;
}
.haerbin-01__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
background: #E6E6E6 !important;
}
.haerbin-01__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
color: #C5C9CC !important;
}
.haerbin-01__systerm .el-dialog .base-label {
background: rgba(0, 0, 0, x);
position: relative;
left: -15px;
top: -18px;
}
.haerbin-01__systerm .el-dialog .el-form-item label {
font-weight: normal !important;
color: #000 !important;
}
.haerbin-01__systerm .el-dialog .context {
height: 100px;
border: 2px inset #E2E2E2;
overflow-y: scroll;
}
.haerbin-01__systerm .el-dialog .table {
margin-top: 10px;
}
.haerbin-01__systerm .el-dialog .notice {
margin-left: 62px;
line-height: 30px;
}
.haerbin-01__systerm .el-dialog .button-group {
margin-top: 10px;
}
.haerbin-01__systerm .nav-border .el-button {
height: 20px;
line-height: 20px;
padding: 0px;
width: 80px;
border: 1px solid #1F313F;
font-size: 12px;
border-radius: 5px !important;
color: #000;
background: #FFFFFF;
}
.haerbin-01__systerm .nav-border-other .el-button {
height: 20px;
line-height: 20px;
padding: 0px;
width: 80px;
border: 1px solid #1F313F;
font-size: 12px;
border-radius: 5px !important;
}
</style>

View File

@ -1,434 +0,0 @@
<template>
<div class="menus" :style="{width: width + 'px', height: '100%'}">
<menu-station-stand ref="menuStationStand" :selected="selected" />
<menu-signal ref="menuSignal" :selected="selected" />
<menu-switch ref="menuSwitch" :selected="selected" />
<menu-section ref="menuSection" :selected="selected" />
<menu-station ref="menuStation" :selected="selected" />
<menu-button ref="menuButton" :selected="selected" />
<passive-alarm ref="passiveAlarm" />
<passive-control ref="passiveControl" pop-class="haerbin-01__systerm" />
<passive-timeout ref="passiveTimeout" />
<pop-menu ref="popMenu" :menu="menu" />
<set-fault ref="setFault" pop-class="nanjing-02__systerm" />
</div>
</template>
<script>
import { mapGetters } from 'vuex';
import PopMenu from '@/components/PopMenu';
import MenuSignal from './menuSignal';
import MenuSwitch from './menuSwitch';
import MenuSection from './menuSection';
import MenuStation from './menuStation';
import MenuStationStand from './menuStationStand';
import PassiveAlarm from './passiveDialog/alarm';
import PassiveControl from '@/jmapNew/theme/components/menus/passiveDialog/control';
import PassiveTimeout from './passiveDialog/timeout';
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
import CMD from '@/scripts/cmdPlugin/CommandEnum';
import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
import { menuOperate, commitOperate } from '@/jmapNew/theme/components/utils/menuOperate';
export default {
name: 'Menus',
components: {
MenuSignal,
MenuSwitch,
MenuSection,
MenuStation,
MenuStationStand,
PassiveAlarm,
PassiveControl,
PassiveTimeout,
PopMenu,
SetFault
},
props: {
selected: {
type: Object,
default() {
return null;
}
}
},
data() {
return {
loginActive: false,
inputStr: '',
menu: [
{
label: '设置故障',
handler: this.setStoppage,
cmdType: CMD.Fault.CMD_SET_FAULT
},
{
label: '取消故障',
handler: this.cancelStoppage,
cmdType: CMD.Fault.CMD_CANCEL_FAULT
},
{
label: 'ATP重启',
handler: this.atpRestart,
cmdType: CMD.Fault.CMD_SET_FAULT
}
]
};
},
computed: {
...mapGetters('config', [
'width'
]),
...mapGetters('menuOperation', [
'buttonOperation'
]),
...mapGetters('training', [
'operatemode'
])
},
watch: {
'$store.state.menuOperation.menuCount': function (val) {
if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Cancel) && !this.buttonOperation && this.operatemode === OperateMode.FAULT) {
this.doShow(this.$store.state.menuOperation.menuPosition);
} else {
this.doClose();
}
}
},
methods: {
clickEvent() {
const self = this;
window.onclick = function (e) {
self.doClose();
};
},
doShow(point) {
this.clickEvent();
if (this.$refs && this.$refs.popMenu && this.menu && this.menu.length) {
this.$refs.popMenu.resetShowPosition(point);
}
},
//
setStoppage() {
commitOperate(menuOperate.Common.setFault, { code: 'Server' }, 0).then(({valid, operate})=>{
if (valid) {
this.$refs.setFault.doShow(menuOperate.Common.setFault, { _type: 'Server' });
}
});
},
//
cancelStoppage() {
commitOperate(menuOperate.Common.cancelFault, { code: 'Server' }, 0).then(({valid, operate})=>{
if (valid) {
this.$refs.setFault.doShow(menuOperate.Common.cancelFault, { _type: 'Server' });
}
});
},
atpRestart() {
const step = {
over: true,
operation: menuOperate.Server.atpRestart.operation,
cmdType: menuOperate.Server.atpRestart.cmdType
};
this.$store.dispatch('trainingNew/next', step).then(({ valid }) => {
if (valid) {
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
this.doClose();
}
}).catch((error) => {
this.doClose();
this.$messageBox(error.message || 'ATP重启失败');
});
},
doClose() {
if (this.$refs && this.$refs.popMenu) {
this.$refs.popMenu.close();
}
}
}
};
</script>
<style>
.menus .pop-menu {
background: #F0F0F0;
}
.menus .pop-menu span {
color: #000;
}
.menus .pop-menu .is-disabled span {
color: #B4B3B8;
}
.haerbin-01__systerm {
overflow: hidden !important;
}
.haerbin-01__systerm .el-dialog {
background: rgba(100, 100, 100, 0.3);
border: 2px solid rgb(144, 144, 144, 0.8);
border-radius: 6px;
color: #000;
font-size: 14px;
}
.haerbin-01__systerm .el-dialog .el-dialog__header {
padding: 5px;
height: 26px;
}
.haerbin-01__systerm .el-dialog .el-dialog__footer {
background: #F0F0F0;
opacity: 1;
}
.haerbin-01__systerm .el-dialog .el-dialog__body {
padding-top: 10px;
padding-bottom: 10px;
padding-left: 5px;
padding-right: 5px;
margin: 0px 5px 5px;
border: 2px solid rgba(120, 121, 123, 0.5);
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
background: #F0F0F0;
opacity: 1;
}
.haerbin-01__systerm .el-dialog .el-dialog__title {
position: absolute;
top: 4px;
color: #000;
border-radius: 4px;
padding: 0px 2px;
height: 20px;
line-height: 20px
}
.haerbin-01__systerm .el-dialog .el-dialog__title::before {
content: '';
position: absolute;
top: 0;
left: 0;
-webkit-filter: blur(10px);
filter: blur(10px);
height: 20px;
width: -webkit-fill-available;
background: rgba(128, 128, 128, 0.8);
z-index: -1;
}
.haerbin-01__systerm .el-dialog .el-dialog__headerbtn {
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
border: 1px solid #fff;
border-radius: 4px;
top: 4px;
right: 5px;
line-height: 16px;
}
.haerbin-01__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
font-size: 16px;
}
.haerbin-01__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
.haerbin-01__systerm .el-dialog .el-button {
padding: 0px;
width: 80px;
border: 2px outset #E2E2E2;
border-radius: 0px !important;
color: #000;
background: #F0F0F0;
}
.haerbin-01__systerm .el-dialog .el-button:focus span {
border: 1px dashed gray;
}
.haerbin-01__systerm .el-dialog .el-button:active {
border: 2px inset #E2E2E2;
}
.haerbin-01__systerm .el-dialog .el-button:disabled {
border: 2px inset #E2E2E2;
}
.haerbin-01__systerm .el-dialog .el-button:disabled span {
border: 0px;
}
.haerbin-01__systerm .el-dialog .el-input {
border: 2px inset #E9E9E9;
}
.haerbin-01__systerm .el-dialog .el-input .el-input__inner {
color: #000;
background: #fff !important;
border: 0px;
border-radius: 0px !important;
box-sizing: border-box;
}
.haerbin-01__systerm .el-dialog .el-input.is-disabled .el-input__inner {
background: #F0F0F0 !important;
}
.haerbin-01__systerm .el-dialog .el-textarea {
border: 2px inset #E9E9E9;
border-radius: 0px;
}
.haerbin-01__systerm .el-dialog .el-textarea .el-textarea__inner {
color: #000;
background: #fff !important;
border: 0px;
border-radius: 0px !important;
box-sizing: border-box;
}
.haerbin-01__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
background: #F0F0F0 !important;
}
.haerbin-01__systerm .el-dialog .el-table {
border: 2px inset #E9E9E9;
color: #000 !important;
}
.haerbin-01__systerm .el-dialog .el-table .cell {
line-height: unset !important;
}
.haerbin-01__systerm .el-dialog .el-table th.is-leaf {
background: #F0F0F0 !important;
border-right: 1px solid #BDBDBD !important;
border-bottom: 1px solid #BDBDBD !important;
color: #000 !important;
height: 20px !important;
padding: 0px;
}
.haerbin-01__systerm .el-dialog .el-table tr td {
height: 20px !important;
padding: 0px;
}
.haerbin-01__systerm .el-dialog .el-table .el-table__empty-text {
top: 15px !important;
}
.haerbin-01__systerm .el-dialog .current-row>td {
background: #3399FF !important;
color: #fff !important;
}
.haerbin-01__systerm .el-dialog .el-checkbox__inner {
border: 1px inset #dcdfe6 !important;
}
.haerbin-01__systerm .el-dialog .el-checkbox__label {
color: #000 !important;
}
.haerbin-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
background: #E6E6E6 !important;
}
.haerbin-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
color: #C5C9CC !important;
}
.haerbin-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.haerbin-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner::after {
position: absolute;
-webkit-box-sizing: content-box;
box-sizing: content-box;
content: "";
border: 1px solid #000;
border-left: 0;
border-top: 0;
height: 7px;
left: 4px;
top: 1px;
}
.haerbin-01__systerm .el-dialog .el-radio__inner {
border: 1px inset #dcdfe6 !important;
}
.haerbin-01__systerm .el-dialog .el-radio__label {
color: #000 !important;
}
.haerbin-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.haerbin-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner::after {
width: 4px;
height: 4px;
border-radius: 100%;
background-color: #000 !important;
position: absolute;
left: 50%;
top: 50%;
}
.haerbin-01__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
background: #E6E6E6 !important;
}
.haerbin-01__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
color: #C5C9CC !important;
}
.haerbin-01__systerm .el-dialog .base-label {
background: rgba(0, 0, 0, x);
position: relative;
left: -15px;
top: -18px;
}
.haerbin-01__systerm .el-dialog .el-form-item label {
font-weight: normal !important;
color: #000 !important;
}
.haerbin-01__systerm .el-dialog .context {
height: 100px;
border: 2px inset #E2E2E2;
overflow-y: scroll;
}
.haerbin-01__systerm .el-dialog .table {
margin-top: 10px;
}
.haerbin-01__systerm .el-dialog .notice {
margin-left: 62px;
line-height: 30px;
}
.haerbin-01__systerm .el-dialog .button-group {
margin-top: 10px;
}
.haerbin-01__systerm .el-button {
height: 20px;
line-height: 20px;
padding: 0px;
width: 80px;
border: 1px solid #1F313F;
font-size: 12px;
border-radius: 1px !important;
color: #000;
}
</style>

View File

@ -664,9 +664,9 @@ export default {
this.param = { routeCode: this.route.code };
}
this.tempData = [];
// this.selectRouteList.forEach(el => {
// this.tempData.push(el);
// });
this.selectRouteList.forEach(el => {
this.tempData.push(el);
});
},
//
checkSignal() {
@ -786,10 +786,6 @@ export default {
}
});
this.tempData = [...overlapList];
} else if (row.cmdType === CMD.Signal.CMD_SIGNAL_SET_ROUTE || row.cmdType === CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE) {
this.selectRouteList.forEach(el => {
this.tempData.push(el);
});
}
if (this.tempData.length) {

View File

@ -740,9 +740,9 @@ export default {
this.param = { routeCode: this.route.code };
}
this.tempData = [];
// this.selectRouteList.forEach(el => {
// this.tempData.push(el);
// });
this.selectRouteList.forEach(el => {
this.tempData.push(el);
});
},
//
checkSignal() {
@ -862,10 +862,6 @@ export default {
}
});
this.tempData = [...overlapList];
} else if (row.cmdType === CMD.Signal.CMD_SIGNAL_SET_ROUTE || row.cmdType === CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE) {
this.selectRouteList.forEach(el => {
this.tempData.push(el);
});
}
if (this.tempData.length) {

View File

@ -1,435 +0,0 @@
<template>
<div class="menus" :style="{width: width + 'px'}">
<menu-axle-reset ref="menuAxleReset" :selected="selected" :work="work" />
<menu-auto-trun-route ref="menuAutoTrunRoute" :selected="selected" :work="work" />
<menu-station-stand ref="menuStationStand" :selected="selected" :work="work" />
<menu-station-control ref="menuStationControl" :selected="selected" :work="work" />
<menu-station-turn-back ref="menuStationTurnBack" :selected="selected" :work="work" />
<menu-switch ref="menuSwitch" :selected="selected" :work="work" />
<menu-signal ref="menuSignal" :selected="selected" :work="work" />
<menu-section ref="menuSection" :selected="selected" :work="work" />
<menu-train ref="menuTrain" :selected="selected" :work="work" />
<menu-station ref="menuStation" :selected="selected" :work="work" />
<menu-limit ref="menuLimit" :selected="selected" :work="work" />
<menu-station-light ref="menuStationLight" :selected="selected" :work="work" />
<menu-station-pre-reset ref="menuStationPreReset" :selected="selected" :work="work" />
<!--<passive-alarm ref="passiveAlarm" />-->
<passive-contorl ref="passiveControl" pop-class="ningbo-01__systerm" :selected="selected" />
<alarm-detail ref="alarmDetail" />
<!--<passive-Timeout ref="passiveTimeout" />-->
</div>
</template>
<script>
import { mapGetters } from 'vuex';
import MenuSignal from './menuSignal';
import MenuAxleReset from './menuAxleReset';
import MenuAutoTrunRoute from './menuAutoTrunRoute';
import MenuStationStand from './menuStationStand';
import MenuStationControl from './menuStationControl';
import MenuSwitch from './menuSwitch';
import MenuSection from './menuSection';
import MenuTrain from './menuTrain';
import MenuStation from './menuStation';
import MenuLimit from './menuLimit';
import MenuStationTurnBack from './menuStationTurnBack';
import MenuStationLight from './menuStationLight';
import MenuStationPreReset from './menuStationPreReset';
// import PassiveAlarm from './passiveDialog/alarm';
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
// import PassiveTimeout from './passiveDialog/timeout';
import AlarmDetail from './alarmDetail';
export default {
name: 'AtsWorkMenu',
components: {
MenuAxleReset,
MenuAutoTrunRoute,
MenuSignal,
MenuSwitch,
MenuSection,
MenuStationStand,
MenuStationControl,
MenuStation,
MenuTrain,
MenuStationTurnBack,
MenuLimit,
// PassiveAlarm,
PassiveContorl,
MenuStationLight,
MenuStationPreReset,
AlarmDetail
// PassiveTimeout
},
props: {
selected: {
type: Object,
default() {
return null;
}
}
},
data() {
return {
work: 'atsWork'
};
},
computed: {
...mapGetters('config', [
'width'
])
},
watch: {
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('config/updateMenuBar');
const _that = this;
window.onclick = function (e) {
if (!_that.$store.state.training.trainingStart) {
_that.$refs.menuBar && _that.$refs.menuBar.blankClickClose();
}
_that.$refs.menuAxleReset.doClose();
_that.$refs.menuAutoTrunRoute.doClose();
_that.$refs.menuStationStand.doClose();
_that.$refs.menuStationControl.doClose();
_that.$refs.menuStationTurnBack.doClose();
_that.$refs.menuSwitch.doClose();
_that.$refs.menuSignal.doClose();
_that.$refs.menuSection.doClose();
_that.$refs.menuTrain.doClose();
_that.$refs.menuStation.doClose();
_that.$refs.menuLimit.doClose();
_that.$refs.menuStationLight.doClose();
_that.$refs.menuStationPreReset.doClose();
};
});
this.$root.$on('dialogOpen', e => {
if (this.selected == e &&
this.selected &&
this.selected.instance &&
this.selected.instance.mouseEvent) {
this.selected.instance.__over = true;
this.selected.instance.mouseEvent.mouseover();
}
});
this.$root.$on('dialogClose', e => {
if (this.selected == e &&
this.selected &&
this.selected.instance &&
this.selected.instance.mouseEvent) {
this.selected.instance.__over = false;
this.selected.instance.__down = false;
this.selected.instance.mouseEvent.mouseout();
this.$jlmap.clearEvent();
}
});
},
beforeDestroy() {
this.$root.$off('dialogOpen');
this.$root.$off('dialogClose');
window.onclick = function (e) {};
}
};
</script>
<style>
.menus{
height:0px;
}
.menus .pop-menu {
background: #F0F0F0;
}
.menus .pop-menu span {
color: #000;
}
.menus .pop-menu .is-disabled span {
color: #B4B3B8;
}
.ningbo-01__systerm {
overflow: hidden !important;
}
.ningbo-01__systerm .el-dialog {
background: rgba(100, 100, 100, 0.3);
border: 2px solid rgba(144, 144, 144, 0.8);
border-radius: 6px;
color: #000;
font-size: 14px;
}
.ningbo-01__systerm .el-dialog .el-dialog__header {
padding: 10px;
height: 26px;
}
.ningbo-01__systerm .el-dialog .el-dialog__footer {
background: #F0F0F0;
opacity: 1;
}
.ningbo-01__systerm .el-dialog .el-dialog__body {
padding: 10px;
margin: 5px;
border: 2px solid rgba(120, 121, 123, 0.5);
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
background: #F0F0F0;
opacity: 1;
}
.ningbo-01__systerm .el-dialog .el-dialog__title {
position: absolute;
top: 6px;
color: #000;
border-radius: 4px;
padding: 0px 2px;
height: 20px;
line-height: 20px
}
.ningbo-01__systerm .el-dialog .el-dialog__title::before {
content: '';
position: absolute;
top: 0;
left: 0;
filter: blur(7px);
height: 20px;
width: -webkit-fill-available;
background: rgba(190, 190, 190, 0.8);
z-index: -1;
}
.ningbo-01__systerm .el-dialog .el-dialog__headerbtn {
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
border: 1px solid #fff;
border-radius: 4px;
top: 5px;
right: 5px;
line-height: 18px;
}
.ningbo-01__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
font-size: 16px;
}
.ningbo-01__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
.ningbo-01__systerm .el-dialog .el-button {
height: 32px;
line-height: 32px;
padding: 0px;
width: 80px;
border: 2px outset #E2E2E2;
border-radius: 0px !important;
color: #000;
background: #F0F0F0;
}
.ningbo-01__systerm .el-dialog .expand {
width: 120px;
}
.ningbo-01__systerm .el-dialog .el-button:focus span {
border: 1px dashed gray;
}
.ningbo-01__systerm .el-dialog .el-button:active {
border: 2px inset #E2E2E2;
}
.ningbo-01__systerm .el-dialog .el-button:disabled {
border: 2px inset #E2E2E2;
}
.ningbo-01__systerm .el-dialog .el-button:disabled span {
border: 0px;
}
.ningbo-01__systerm .el-dialog .el-input {
border: 2px inset #E9E9E9;
}
.ningbo-01__systerm .el-dialog .el-input .el-input__inner {
color: #000;
background: #fff !important;
border: 0px;
border-radius: 0px !important;
box-sizing: border-box;
}
.ningbo-01__systerm .el-dialog .el-input.is-disabled .el-input__inner {
background: #F0F0F0 !important;
}
.ningbo-01__systerm .el-dialog .el-textarea {
border: 2px inset #E9E9E9;
border-radius: 0px;
}
.ningbo-01__systerm .el-dialog .el-textarea .el-textarea__inner {
color: #000;
background: #fff !important;
border: 0px;
border-radius: 0px !important;
box-sizing: border-box;
}
.ningbo-01__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
background: #F0F0F0 !important;
}
.ningbo-01__systerm .el-dialog .el-table--border th.gutter {
background: #EBEADB !important;
}
.ningbo-01__systerm .el-dialog .el-table {
border: 2px inset #E9E9E9;
color: #000 !important;
}
.ningbo-01__systerm .el-dialog .el-table .cell {
line-height: unset !important;
}
.ningbo-01__systerm .el-dialog .el-table th.is-leaf {
background: #F0F0F0 !important;
border-right: 1px solid #BDBDBD !important;
border-bottom: 1px solid #BDBDBD !important;
color: #000 !important;
height: 20px !important;
padding: 0px;
}
.ningbo-01__systerm.stand-detain-train .el-dialog .el-table th.is-leaf {
background: #fff !important;
border-right: 1px solid #fff !important;
border-bottom: 1px solid #EBEEF5 !important;
color: #000 !important;
height: 20px !important;
padding: 0px;
}
.ningbo-01__systerm.stand-detain-train .el-dialog .el-table th.el-table-column--selection{
border-right: 1px solid #e2e2e2 !important;
}
.ningbo-01__systerm.stand-detain-train .el-dialog .el-table .el-table__body-wrapper .el-table__row .el-table-column--selection {
border-right: 1px solid #e2e2e2 !important;
}
.ningbo-01__systerm .el-dialog .el-table tr td {
height: 20px !important;
padding: 0px;
}
.ningbo-01__systerm .el-dialog .el-table .el-table__empty-text {
top: 15px !important;
}
.ningbo-01__systerm .el-dialog .current-row>td {
background: #3399FF !important;
color: #fff !important;
}
.ningbo-01__systerm .el-dialog .el-checkbox__inner {
border: 1px inset #dcdfe6 !important;
}
.ningbo-01__systerm .el-dialog .el-checkbox__label {
color: #000 !important;
}
.ningbo-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
background: #E6E6E6 !important;
}
.ningbo-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
color: #C5C9CC !important;
}
.ningbo-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.ningbo-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner::after {
position: absolute;
-webkit-box-sizing: content-box;
box-sizing: content-box;
content: "";
border: 1px solid #000;
border-left: 0;
border-top: 0;
height: 7px;
left: 4px;
top: 1px;
}
.ningbo-01__systerm .el-dialog .el-radio__inner {
border: 1px inset #dcdfe6 !important;
}
.ningbo-01__systerm .el-dialog .el-radio__label {
color: #000 !important;
}
.ningbo-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.ningbo-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner::after {
width: 4px;
height: 4px;
border-radius: 100%;
background-color: #000 !important;
position: absolute;
left: 50%;
top: 50%;
}
.ningbo-01__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
background: #E6E6E6 !important;
}
.ningbo-01__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
color: #C5C9CC !important;
}
.ningbo-01__systerm .el-dialog .base-label {
background: #F0F0F0;
padding: 0 5px;
position: relative;
left: -15px;
top: -18px;
}
.ningbo-01__systerm .el-dialog .el-form-item label {
font-weight: normal !important;
color: #000 !important;
}
.ningbo-01__systerm .el-dialog .context {
height: 100px;
border: 2px inset #E2E2E2;
overflow-y: scroll;
}
.ningbo-01__systerm .el-dialog .table {
margin-top: 10px;
}
.ningbo-01__systerm .el-dialog .notice {
margin-left: 62px;
line-height: 30px;
}
.ningbo-01__systerm .el-dialog .button-group {
margin-top: 10px;
}
</style>

View File

@ -100,7 +100,7 @@ export default {
isDisabled: (section, work) => {
return section.cutOff !== 1;
},
isShow: (section, work) => ['01', '02'].includes(section.type) && work !== 'atsWork'
isShow: (section, work) => ['01', '02'].includes(section.type)
},
{
label: '区段跟踪切除',
@ -109,7 +109,7 @@ export default {
isDisabled: (section, work) => {
return section.cutOff === 1;
},
isShow: (section, work) => ['01', '02'].includes(section.type) && work !== 'atsWork'
isShow: (section, work) => ['01', '02'].includes(section.type)
},
{
label: '确认计轴有效',

View File

@ -69,20 +69,17 @@ export default {
{
label: '排列进路',
handler: this.arrangementRoute,
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE,
isShow: (selected, work) => work !== 'atsWork'
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
},
{
label: '取消列车进路',
handler: this.cancelTrainRoute,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE,
isShow: (selected, work) => work !== 'atsWork'
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
},
{
label: '人解列车进路', //
handler: this.humanTrainRoute,
cmdType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE,
isShow: (selected, work) => work !== 'atsWork'
cmdType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE
},
{
type: 'separator',
@ -94,8 +91,7 @@ export default {
isDisabled: (signal, work) => {
return signal.fleetMode === 1;
},
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO,
isShow: (selected, work) => work !== 'atsWork'
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
},
{
label: '取消自动通过进路',
@ -103,8 +99,7 @@ export default {
isDisabled: (signal, work) => {
return signal.fleetMode !== 1;
},
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO,
isShow: (selected, work) => work !== 'atsWork'
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
},
{
type: 'separator',
@ -113,8 +108,7 @@ export default {
{
label: '信号重开',
handler: this.reopenSignal,
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL,
isShow: (selected, work) => work !== 'atsWork'
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
},
{
label: '封锁',
@ -147,20 +141,17 @@ export default {
{
label: '进路交人工控',
handler: this.humanControl,
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING,
isShow: (selected, work) => work !== 'atsWork'
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING
},
{
label: '进路交自动控',
handler: this.atsAutoControl,
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING,
isShow: (selected, work) => work !== 'atsWork'
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
},
{
label: '查询进路控制状态',
handler: this.detail,
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL,
isShow: (selected, work) => work !== 'atsWork'
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL
}
],
menuForce: [

View File

@ -44,8 +44,7 @@ export default {
cmdType: CMD.ControlConvertMenu.CMD_CM_EMERGENCY_STATION_CONTROL,
isDisabled: (selected, work) => {
return selected.controlMode == 'Emergency';
},
isShow: (selected, work) => work !== 'atsWork'
}
},
{
label: '请求站控',
@ -53,8 +52,7 @@ export default {
cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL,
isDisabled: (selected, work) => {
return selected.controlMode == 'Local';
},
isShow: (selected, work) => work !== 'atsWork'
}
},
{
label: '请求遥控',
@ -62,8 +60,7 @@ export default {
cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL,
isDisabled: (selected, work) => {
return selected.controlMode == 'Center';
},
isShow: (selected, work) => work !== 'atsWork'
}
}
],
menuForce: [

View File

@ -106,8 +106,7 @@ export default {
cmdType:CMD.Stand.CMD_STAND_EARLY_DEPART,
isDisabled: (stand, work) => {
return stand.trainParking !== 1;
},
isShow: (selected, work) => work !== 'atsWork'
}
},
{
label: '设置跳停',
@ -164,8 +163,7 @@ export default {
{
label: '站台详细信息',
handler: this.detail,
cmdType:CMD.Stand.CMD_STAND_VIEW_STATUS,
isShow: (selected, work) => work !== 'atsWork'
cmdType:CMD.Stand.CMD_STAND_VIEW_STATUS
}
],
menuForce: [

View File

@ -67,8 +67,7 @@ export default {
cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION,
isDisabled: (station, work) => {
return station.normalPosition === 1;
},
isShow: (selected, work) => work !== 'atsWork'
}
},
{
label: '反操',
@ -76,8 +75,7 @@ export default {
cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION,
isDisabled: (station, work) => {
return station.reversePosition === 1;
},
isShow: (selected, work) => work !== 'atsWork'
}
},
{
label: '道岔单锁',

View File

@ -1,435 +0,0 @@
<template>
<div class="menus __socpe" :style="{width: width + 'px'}">
<menu-station-stand ref="menuStationStand" :selected="selected" :work="work" />
<menu-switch ref="menuSwitch" :selected="selected" :work="work" :init-cache-map="initCacheMap" :init-info="initInfo" :update-done="updateDone" @onUpdateDone="onUpdateDone" @onChangeInitInfo="onChangeInitInfo" />
<menu-signal ref="menuSignal" :selected="selected" :work="work" :init-cache-map="initCacheMap" :init-info="initInfo" :update-done="updateDone" @onUpdateDone="onUpdateDone" @onChangeInitInfo="onChangeInitInfo" />
<menu-section ref="menuSection" :selected="selected" :work="work" :init-cache-map="initCacheMap" :init-info="initInfo" :update-done="updateDone" @onUpdateDone="onUpdateDone" @onChangeInitInfo="onChangeInitInfo" />
<menu-train ref="menuTrain" :selected="selected" :work="work" />
<menu-station ref="menuStation" :selected="selected" :work="work" :init-cache-map="initCacheMap" :init-info="initInfo" :update-done="updateDone" @onUpdateDone="onUpdateDone" @onChangeInitInfo="onChangeInitInfo" />
<menu-limit ref="menuLimit" :selected="selected" :work="work" />
<!--<passive-alarm ref="passiveAlarm" />-->
<passive-contorl ref="passiveControl" pop-class="ningbo-01__systerm" :selected="selected" :work="work" />
<!--<passive-Timeout ref="passiveTimeout" />-->
</div>
</template>
<script>
import { mapGetters } from 'vuex';
import MenuSignal from './menuSignal';
import MenuStationStand from './menuStationStand';
import MenuSwitch from './menuSwitch';
import MenuSection from './menuSection';
import MenuTrain from './menuTrain';
import MenuStation from './menuStation';
import MenuLimit from './menuLimit';
// import PassiveAlarm from './passiveDialog/alarm';
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
// import PassiveTimeout from './passiveDialog/timeout';
export default {
name: 'AtsWorkMenu',
components: {
MenuSignal,
MenuSwitch,
MenuSection,
MenuStationStand,
MenuStation,
MenuTrain,
MenuLimit,
// PassiveAlarm,
PassiveContorl
// PassiveTimeout
},
props: {
selected: {
type: Object,
default() {
return null;
}
}
},
data() {
return {
initCacheMap: {},
initInfo: {},
updateDone: 0,
work: 'atsWork'
};
},
computed: {
...mapGetters('config', [
'width'
])
},
watch: {
isShowBar(val) {
val && this.$store.dispatch('config/updateMenuBar');
},
'$store.state.map.mapStateLoadedCount': function () {
this.$store.dispatch('map/flushMapRef');
}
},
mounted() {
this.$root.$on('iniCacheMap', (cmd, cacheMap) => {
this.initCacheMap[cmd] = cacheMap;
});
this.$root.$on('appendCache', (cmd, code, cache) => {
if (!this.initCacheMap[cmd]) {
this.initCacheMap[cmd] = {};
}
this.initCacheMap[cmd][code] = cache;
});
this.$root.$on('removeCache', (cmd, code) => {
if (this.initCacheMap[cmd]) {
delete this.initCacheMap[cmd][code];
}
});
this.$nextTick(() => {
this.$store.dispatch('config/updateMenuBar');
const _that = this;
window.onclick = function (e) {
if (!_that.$store.state.training.trainingStart) {
_that.$refs.menuBar && _that.$refs.menuBar.blankClickClose();
}
_that.$refs.menuStationStand.doClose();
_that.$refs.menuSwitch.doClose();
_that.$refs.menuSignal.doClose();
_that.$refs.menuSection.doClose();
_that.$refs.menuTrain.doClose();
_that.$refs.menuStation.doClose();
_that.$refs.menuLimit.doClose();
};
});
},
beforeDestroy() {
this.$root.$off('iniCacheMap');
this.$root.$off('appendCache');
this.$root.$off('removeCache');
window.onclick = function (e) {};
},
methods: {
onUpdateDone() {
this.updateDone++;
},
onChangeInitInfo(initSelect, initParams) {
this.initInfo = {
initSelect,
initParams
};
this.updateDone++;
}
}
};
</script>
<style>
.menus{
height:0px;
}
.menus .pop-menu {
background: #F0F0F0;
}
.menus .pop-menu span {
color: #000;
}
.menus .pop-menu .is-disabled span {
color: #B4B3B8;
}
.ningbo-01__systerm {
overflow: hidden !important;
}
.ningbo-01__systerm .el-dialog {
background: rgba(100, 100, 100, 0.3);
border: 2px solid rgba(144, 144, 144, 0.8);
border-radius: 6px;
color: #000;
font-size: 14px;
}
.ningbo-01__systerm .el-dialog .el-dialog__header {
padding: 10px;
height: 26px;
}
.ningbo-01__systerm .el-dialog .el-dialog__footer {
background: #F0F0F0;
opacity: 1;
}
.ningbo-01__systerm .el-dialog .el-dialog__body {
padding: 10px;
margin: 5px;
border: 2px solid rgba(120, 121, 123, 0.5);
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
background: #F0F0F0;
opacity: 1;
}
.ningbo-01__systerm .el-dialog .el-dialog__title {
position: absolute;
top: 6px;
color: #000;
border-radius: 4px;
padding: 0px 2px;
height: 20px;
line-height: 20px
}
.ningbo-01__systerm .el-dialog .el-dialog__title::before {
content: '';
position: absolute;
top: 0;
left: 0;
filter: blur(7px);
height: 20px;
width: -webkit-fill-available;
background: rgba(190, 190, 190, 0.8);
z-index: -1;
}
.ningbo-01__systerm .el-dialog .el-dialog__headerbtn {
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
border: 1px solid #fff;
border-radius: 4px;
top: 5px;
right: 5px;
line-height: 18px;
}
.ningbo-01__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
font-size: 16px;
}
.ningbo-01__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
.ningbo-01__systerm .el-dialog .el-button {
height: 32px;
line-height: 32px;
padding: 0px;
width: 80px;
border: 2px outset #E2E2E2;
border-radius: 0px !important;
color: #000;
background: #F0F0F0;
}
.ningbo-01__systerm .el-dialog .expand {
width: 120px;
}
.ningbo-01__systerm .el-dialog .el-button:focus span {
border: 1px dashed gray;
}
.ningbo-01__systerm .el-dialog .el-button:active {
border: 2px inset #E2E2E2;
}
.ningbo-01__systerm .el-dialog .el-button:disabled {
border: 2px inset #E2E2E2;
}
.ningbo-01__systerm .el-dialog .el-button:disabled span {
border: 0px;
}
.ningbo-01__systerm .el-dialog .el-input {
border: 2px inset #E9E9E9;
}
.ningbo-01__systerm .el-dialog .el-input .el-input__inner {
color: #000;
background: #fff !important;
border: 0px;
border-radius: 0px !important;
box-sizing: border-box;
}
.ningbo-01__systerm .el-dialog .el-input.is-disabled .el-input__inner {
background: #F0F0F0 !important;
}
.ningbo-01__systerm .el-dialog .el-textarea {
border: 2px inset #E9E9E9;
border-radius: 0px;
}
.ningbo-01__systerm .el-dialog .el-textarea .el-textarea__inner {
color: #000;
background: #fff !important;
border: 0px;
border-radius: 0px !important;
box-sizing: border-box;
}
.ningbo-01__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
background: #F0F0F0 !important;
}
.ningbo-01__systerm .el-dialog .el-table--border th.gutter {
background: #EBEADB !important;
}
.ningbo-01__systerm .el-dialog .el-table {
border: 2px inset #E9E9E9;
color: #000 !important;
}
.ningbo-01__systerm .el-dialog .el-table .cell {
line-height: unset !important;
}
.ningbo-01__systerm .el-dialog .el-table th.is-leaf {
background: #F0F0F0 !important;
border-right: 1px solid #BDBDBD !important;
border-bottom: 1px solid #BDBDBD !important;
color: #000 !important;
height: 20px !important;
padding: 0px;
}
.ningbo-01__systerm.stand-detain-train .el-dialog .el-table th.is-leaf {
background: #fff !important;
border-right: 1px solid #fff !important;
border-bottom: 1px solid #EBEEF5 !important;
color: #000 !important;
height: 20px !important;
padding: 0px;
}
.ningbo-01__systerm.stand-detain-train .el-dialog .el-table th.el-table-column--selection{
border-right: 1px solid #e2e2e2 !important;
}
.ningbo-01__systerm.stand-detain-train .el-dialog .el-table .el-table__body-wrapper .el-table__row .el-table-column--selection {
border-right: 1px solid #e2e2e2 !important;
}
.ningbo-01__systerm .el-dialog .el-table tr td {
height: 20px !important;
padding: 0px;
}
.ningbo-01__systerm .el-dialog .el-table .el-table__empty-text {
top: 15px !important;
}
.ningbo-01__systerm .el-dialog .current-row>td {
background: #3399FF !important;
color: #fff !important;
}
.ningbo-01__systerm .el-dialog .el-checkbox__inner {
border: 1px inset #dcdfe6 !important;
}
.ningbo-01__systerm .el-dialog .el-checkbox__label {
color: #000 !important;
}
.ningbo-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
background: #E6E6E6 !important;
}
.ningbo-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
color: #C5C9CC !important;
}
.ningbo-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.ningbo-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner::after {
position: absolute;
-webkit-box-sizing: content-box;
box-sizing: content-box;
content: "";
border: 1px solid #000;
border-left: 0;
border-top: 0;
height: 7px;
left: 4px;
top: 1px;
}
.ningbo-01__systerm .el-dialog .el-radio__inner {
border: 1px inset #dcdfe6 !important;
}
.ningbo-01__systerm .el-dialog .el-radio__label {
color: #000 !important;
}
.ningbo-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.ningbo-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner::after {
width: 4px;
height: 4px;
border-radius: 100%;
background-color: #000 !important;
position: absolute;
left: 50%;
top: 50%;
}
.ningbo-01__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
background: #E6E6E6 !important;
}
.ningbo-01__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
color: #C5C9CC !important;
}
.ningbo-01__systerm .el-dialog .base-label {
background: #F0F0F0;
padding: 0 5px;
position: relative;
left: -15px;
top: -18px;
}
.ningbo-01__systerm .el-dialog .el-form-item label {
font-weight: normal !important;
color: #000 !important;
}
.ningbo-01__systerm .el-dialog .context {
height: 100px;
border: 2px inset #E2E2E2;
overflow-y: scroll;
}
.ningbo-01__systerm .el-dialog .table {
margin-top: 10px;
}
.ningbo-01__systerm .el-dialog .notice {
margin-left: 62px;
line-height: 30px;
}
.ningbo-01__systerm .el-dialog .button-group {
margin-top: 10px;
}
</style>
<style lang="scss">
.__socpe {
.el-dialog,
.el-dialog__wrapper {
// pointer-events: none !important;
}
.el-dialog__header,
.el-dialog__body {
pointer-events: all !important;
}
}
</style>

View File

@ -42,8 +42,7 @@ export default {
{
label: '取消全线临时限速',
handler: this.cancelSpeed,
cmdType: CMD.LimitControl.CMD_CANCEL_ALL_LIMIT_SPEED,
isShow: (selected, work) => work !== 'atsWork'
cmdType: CMD.LimitControl.CMD_CANCEL_ALL_LIMIT_SPEED
}
]
};

View File

@ -81,14 +81,12 @@ export default {
{
label: '初始化',
operate: OperationEvent.Command.commandNingBo3.line_section_open_init,
handler: this.handlerInitOpen,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerInitOpen
},
{
label: '确定/取消',
operate: OperationEvent.Command.commandNingBo3.line_section_open_sure,
handler: this.handlerOpen,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerOpen
}
]
},
@ -98,14 +96,12 @@ export default {
{
label: '初始化',
operate: OperationEvent.Command.commandNingBo3.line_section_close_init,
handler: this.handlerInitClose,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerInitClose
},
{
label: '确定/取消',
operate: OperationEvent.Command.commandNingBo3.line_section_close_sure,
handler: this.handlerClose,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerClose
}
]
},
@ -118,14 +114,12 @@ export default {
{
label: '初始化',
operate: OperationEvent.Command.commandNingBo3.line_section_setSpeed_init,
handler: this.handlerInitSetLimit,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerInitSetLimit
},
{
label: '确定/取消',
operate: OperationEvent.Command.commandNingBo3.line_section_setSpeed_sure,
handler: this.handlerSetLimit,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerSetLimit
}
]
},
@ -135,14 +129,12 @@ export default {
{
label: '初始化',
operate: OperationEvent.Command.commandNingBo3.line_section_clearSpeed_init,
handler: this.handlerInitCancelLimit,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerInitCancelLimit
},
{
label: '确定/取消',
operate: OperationEvent.Command.commandNingBo3.line_section_clearSpeed_sure,
handler: this.handlerCancelLimit,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerCancelLimit
}
]
}
@ -151,8 +143,7 @@ export default {
{
label: '显示',
operate: OperationEvent.Command.commandNingBo3.line_section_detail,
handler: this.handlerDetail,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerDetail
}
],
menuForce: [

View File

@ -87,20 +87,17 @@ export default {
{
label: '初始化',
operate: OperationEvent.Signal.guide.initMenu,
handler: this.handlerInitGuide,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerInitGuide
},
{
label: '确定/取消',
operate: OperationEvent.Signal.guide.menu,
handler: this.handlerGuide,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerGuide
},
{
label: '清除',
operate: OperationEvent.Signal.cancelGuide.menu,
handler: this.handlerCancelGuide,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerCancelGuide
}
]
@ -111,14 +108,12 @@ export default {
{
label: '初始化',
operate: OperationEvent.Signal.lock.initMenu,
handler: this.handlerInitAllowLock,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerInitAllowLock
},
{
label: '确定/取消',
operate: OperationEvent.Signal.lock.menu,
handler: this.handlerAllowLock,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerAllowLock
}
]
},
@ -128,21 +123,18 @@ export default {
{
label: '命令',
operate: OperationEvent.Signal.arrangementRoute.menu,
handler: this.handlerRouteCommand,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerRouteCommand
},
{
label: '显示',
children: [
{
label: 'CBTC进路信息',
handler: this.undeveloped,
isShow: (selected, work) => work !== 'atsWork'
handler: this.undeveloped
},
{
label: '后备进路信息',
handler: this.undeveloped,
isShow: (selected, work) => work !== 'atsWork'
handler: this.undeveloped
}
]
}
@ -152,8 +144,7 @@ export default {
label: '信号指示模式',
operate: OperationEvent.Signal.reopenSignal.menu,
handler: this.handlerSignalModel,
cmdType: '',
isShow: (selected, work) => work !== 'atsWork'
cmdType: ''
},
{
label: '封锁',
@ -161,14 +152,12 @@ export default {
{
label: '初始化',
operate: OperationEvent.Command.commandNingBo3.line_signal_block_init,
handler: this.handlerInitBlock,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerInitBlock
},
{
label: '确认/取消',
operate: OperationEvent.Command.commandNingBo3.line_signal_block_sure,
handler: this.handlerBlock,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerBlock
}
]
},
@ -178,22 +167,19 @@ export default {
{
label: '初始化',
operate: OperationEvent.Command.commandNingBo3.line_signal_unblock_init,
handler: this.handlerInitUnblock,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerInitUnblock
},
{
label: '确认/取消',
operate: OperationEvent.Command.commandNingBo3.line_signal_unblock_sure,
handler: this.handlerUnblock,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerUnblock
}
]
},
{
label: '显示',
operate: OperationEvent.Command.commandNingBo3.line_signal_detail,
handler: this.handlerDetail,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerDetail
}
],
menuForce: [

View File

@ -60,38 +60,32 @@ export default {
{
label: '开放/关闭',
operate: OperationEvent.Command.commandNingBo3.line_stand_openOrClose,
handler: this.handlerOpenOrClose,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerOpenOrClose
},
{
label: '设置/取消扣车',
operate: OperationEvent.Command.commandNingBo3.line_stand_holdOrNot,
handler: this.handlerDetain,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerDetain
},
{
label: '设置站间列车数量',
operate: OperationEvent.Command.commandNingBo3.line_stand_trainNum,
handler: this.undeveloped,
isShow: (selected, work) => work !== 'atsWork'
handler: this.undeveloped
},
{
label: '分配停站时间',
operate: OperationEvent.Command.commandNingBo3.line_stand_stopTime,
handler: this.handlerAllocateTime,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerAllocateTime
},
{
label: '授权转移',
operate: OperationEvent.Command.commandNingBo3.line_stand_transfer,
handler: this.handlerStationTransfer,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerStationTransfer
},
{
label: '显示',
operate: OperationEvent.Command.commandNingBo3.line_stand_detail,
handler: this.handlerDetail,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerDetail
}
],
menuForce: [
@ -218,3 +212,9 @@ export default {
this.$alert('实现中......', '提示', {
confirmButtonText: '确定',
callback: action => {
}
});
}
}
};
</script>

View File

@ -72,8 +72,7 @@ export default {
{
label: '命令',
operate: OperationEvent.Command.commandNingBo3.line_switch_cmd,
handler: this.handlerCommand,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerCommand
},
{
@ -82,14 +81,12 @@ export default {
{
label: '初始化',
operate: OperationEvent.Command.commandNingBo3.line_switch_block_init,
handler: this.handlerInitBlock,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerInitBlock
},
{
label: '确定/取消',
operate: OperationEvent.Command.commandNingBo3.line_switch_block_sure,
handler: this.handlerBlock,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerBlock
}
]
},
@ -99,14 +96,12 @@ export default {
{
label: '初始化',
operate: OperationEvent.Command.commandNingBo3.line_switch_unblock_init,
handler: this.handlerInitUnblock,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerInitUnblock
},
{
label: '确定/取消',
operate: OperationEvent.Command.commandNingBo3.line_switch_unblock_sure,
handler: this.handlerUnblock,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerUnblock
}
]
},
@ -116,23 +111,20 @@ export default {
{
label: '请求或授权/取消',
operate: OperationEvent.Command.commandNingBo3.line_switch_empower_init,
handler: this.handlerActive,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerActive
},
{
label: '显示',
disabled: true,
operate: OperationEvent.Command.commandNingBo3.line_switch_empower_sure,
handler: this.undeveloped,
isShow: (selected, work) => work !== 'atsWork'
handler: this.undeveloped
}
]
},
{
label: '显示',
operate: OperationEvent.Command.commandNingBo3.line_switch_detail,
handler: this.handlerDetail,
isShow: (selected, work) => work !== 'atsWork'
handler: this.handlerDetail
}
],
menuForce: [

View File

@ -1,360 +0,0 @@
<template>
<div class="menus" :style="{width: width + 'px'}">
<menu-station-stand ref="menuStationStand" :selected="selected" :work="'atsWork'" />
<menu-station-turn-back ref="menuStationTurnBack" :selected="selected" :work="'atsWork'" />
<menu-switch ref="menuSwitch" :selected="selected" :work="'atsWork'" />
<menu-signal ref="menuSignal" :selected="selected" :work="'atsWork'" />
<menu-section ref="menuSection" :selected="selected" :work="'atsWork'" />
<menu-train ref="menuTrain" :selected="selected" :work="'atsWork'" />
<menu-station ref="menuStation" :selected="selected" :work="'atsWork'" />
<menu-power ref="menuPower" :selected="selected" :work="'atsWork'" />
<passive-contorl ref="passiveControl" pop-class="race-01__systerm" />
</div>
</template>
<script>
import { mapGetters } from 'vuex';
import MenuSignal from './menuSignal';
import MenuStationStand from './menuStationStand';
import MenuSwitch from './menuSwitch';
import MenuSection from './menuSection';
import MenuTrain from './menuTrain';
import MenuStation from './menuStation';
import MenuStationTurnBack from './menuStationTurnBack';
import MenuPower from './menuPower';
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
export default {
name: 'AtsWork',
components: {
MenuSignal,
MenuSwitch,
MenuSection,
MenuStationStand,
MenuStation,
MenuTrain,
MenuStationTurnBack,
MenuPower,
PassiveContorl
},
props: {
selected: {
type: Object,
default() {
return null;
}
}
},
computed: {
...mapGetters('config', [
'width'
])
},
watch: {
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('config/updateMenuBar');
});
}
};
</script>
<style>
.menus{
height:0px;
}
.menus .pop-menu {
background: #F0F0F0;
}
.menus .pop-menu span {
color: #000;
}
.menus .pop-menu .is-disabled span {
color: #B4B3B8;
}
.race-01__systerm {
overflow: hidden !important;
}
.race-01__systerm .el-dialog {
background: rgba(100, 100, 100, 0.3);
border: 2px solid rgba(144, 144, 144, 0.8);
border-radius: 6px;
color: #000;
font-size: 14px;
}
.race-01__systerm .el-dialog .el-dialog__header {
padding: 10px;
height: 26px;
}
.race-01__systerm .el-dialog .el-dialog__footer {
background: #F0F0F0;
opacity: 1;
}
.race-01__systerm .el-dialog .el-dialog__body {
padding: 10px;
margin: 5px;
border: 2px solid rgba(120, 121, 123, 0.5);
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
background: #F0F0F0;
opacity: 1;
}
.race-01__systerm .el-dialog .el-dialog__title {
position: absolute;
top: 6px;
color: #000;
border-radius: 4px;
padding: 0px 2px;
height: 20px;
line-height: 20px
}
.race-01__systerm .el-dialog .el-dialog__title::before {
content: '';
position: absolute;
top: 0;
left: 0;
filter: blur(7px);
height: 20px;
width: -webkit-fill-available;
background: rgba(190, 190, 190, 0.8);
z-index: -1;
}
.race-01__systerm .el-dialog .el-dialog__headerbtn {
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
border: 1px solid #fff;
border-radius: 4px;
top: 5px;
right: 5px;
line-height: 18px;
}
.race-01__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
font-size: 16px;
}
.race-01__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
.race-01__systerm .el-dialog .el-button {
height: 32px;
line-height: 32px;
padding: 0px;
width: 80px;
border: 2px outset #E2E2E2;
border-radius: 0px !important;
color: #000;
background: #F0F0F0;
}
.race-01__systerm .el-dialog .expand {
width: 120px;
}
.race-01__systerm .el-dialog .el-button:focus span {
border: 1px dashed gray;
}
.race-01__systerm .el-dialog .el-button:active {
border: 2px inset #E2E2E2;
}
.race-01__systerm .el-dialog .el-button:disabled {
border: 2px inset #E2E2E2;
}
.race-01__systerm .el-dialog .el-button:disabled span {
border: 0px;
}
.race-01__systerm .el-dialog .el-input {
border: 2px inset #E9E9E9;
}
.race-01__systerm .el-dialog .el-input .el-input__inner {
color: #000;
background: #fff !important;
border: 0px;
border-radius: 0px !important;
box-sizing: border-box;
}
.race-01__systerm .el-dialog .el-input.is-disabled .el-input__inner {
background: #F0F0F0 !important;
}
.race-01__systerm .el-dialog .el-textarea {
border: 2px inset #E9E9E9;
border-radius: 0px;
}
.race-01__systerm .el-dialog .el-textarea .el-textarea__inner {
color: #000;
background: #fff !important;
border: 0px;
border-radius: 0px !important;
box-sizing: border-box;
}
.race-01__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
background: #F0F0F0 !important;
}
.race-01__systerm .el-dialog .el-table--border th.gutter {
background: #EBEADB !important;
}
.race-01__systerm .el-dialog .el-table {
border: 2px inset #E9E9E9;
color: #000 !important;
}
.race-01__systerm .el-dialog .el-table .cell {
line-height: unset !important;
}
.race-01__systerm .el-dialog .el-table th.is-leaf {
background: #F0F0F0 !important;
border-right: 1px solid #BDBDBD !important;
border-bottom: 1px solid #BDBDBD !important;
color: #000 !important;
height: 20px !important;
padding: 0px;
}
.race-01__systerm.stand-detain-train .el-dialog .el-table th.is-leaf {
background: #fff !important;
border-right: 1px solid #fff !important;
border-bottom: 1px solid #EBEEF5 !important;
color: #000 !important;
height: 20px !important;
padding: 0px;
}
.race-01__systerm.stand-detain-train .el-dialog .el-table th.el-table-column--selection{
border-right: 1px solid #e2e2e2 !important;
}
.race-01__systerm.stand-detain-train .el-dialog .el-table .el-table__body-wrapper .el-table__row .el-table-column--selection {
border-right: 1px solid #e2e2e2 !important;
}
.race-01__systerm .el-dialog .el-table tr td {
height: 20px !important;
padding: 0px;
}
.race-01__systerm .el-dialog .el-table .el-table__empty-text {
top: 15px !important;
}
.race-01__systerm .el-dialog .current-row>td {
background: #3399FF !important;
color: #fff !important;
}
.race-01__systerm .el-dialog .el-checkbox__inner {
border: 1px inset #dcdfe6 !important;
}
.race-01__systerm .el-dialog .el-checkbox__label {
color: #000 !important;
}
.race-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
background: #E6E6E6 !important;
}
.race-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
color: #C5C9CC !important;
}
.race-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.race-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner::after {
position: absolute;
-webkit-box-sizing: content-box;
box-sizing: content-box;
content: "";
border: 1px solid #000;
border-left: 0;
border-top: 0;
height: 7px;
left: 4px;
top: 1px;
}
.race-01__systerm .el-dialog .el-radio__inner {
border: 1px inset #dcdfe6 !important;
}
.race-01__systerm .el-dialog .el-radio__label {
color: #000 !important;
}
.race-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.race-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner::after {
width: 4px;
height: 4px;
border-radius: 100%;
background-color: #000 !important;
position: absolute;
left: 50%;
top: 50%;
}
.race-01__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
background: #E6E6E6 !important;
}
.race-01__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
color: #C5C9CC !important;
}
.race-01__systerm .el-dialog .base-label {
background: #F0F0F0;
padding: 0 5px;
position: relative;
left: -15px;
top: -18px;
}
.race-01__systerm .el-dialog .el-form-item label {
font-weight: normal !important;
color: #000 !important;
}
.race-01__systerm .el-dialog .context {
height: 100px;
border: 2px inset #E2E2E2;
overflow-y: scroll;
}
.race-01__systerm .el-dialog .table {
margin-top: 10px;
}
.race-01__systerm .el-dialog .notice {
margin-left: 62px;
line-height: 30px;
}
.race-01__systerm .el-dialog .button-group {
margin-top: 10px;
}
</style>

View File

@ -71,14 +71,14 @@ export default {
handler: this.active,
cmdType: CMD.Section.CMD_SECTION_ACTIVE,
isDisabled: (section, work) => false,
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
isShow: (section, work) => ['01', '02', '03'].includes(section.type)
},
{
label: '区段跟踪切除',
handler: this.split,
cmdType: CMD.Section.CMD_SECTION_CUT_OFF,
isDisabled: (section, work) => false,
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
isShow: (section, work) => ['01', '02', '03'].includes(section.type)
},
{
label: '区段封锁',

View File

@ -64,7 +64,7 @@ export default {
handler: this.arrangementRoute,
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE,
isDisabled: (signal, work) => false,
isShow: (signal, work) => work !== 'atsWork',
isShow: (signal, work) => true,
isAvailableInOtherControlMode: true
},
{
@ -72,7 +72,7 @@ export default {
handler: this.cancelTrainRoute,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE,
isDisabled: (signal, work) => false,
isShow: (signal, work) => work !== 'atsWork',
isShow: (signal, work) => true,
isAvailableInOtherControlMode: true
},
{
@ -80,7 +80,7 @@ export default {
handler: this.reopenSignal,
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL,
isDisabled: (signal, work) => false,
isShow: (signal, work) => work !== 'atsWork'
isShow: (signal, work) => true
},
{
label: '信号机引导办理',
@ -94,7 +94,7 @@ export default {
handler: this.humanTrainRoute,
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_GUIDE,
isDisabled: (signal, work) => false,
isShow: (signal, work) => work !== 'atsWork'
isShow: (signal, work) => true
},
{
label: '信号封锁',
@ -129,7 +129,7 @@ export default {
handler: this.humanControl,
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING,
isDisabled: (signal, work) => false,
isShow: (signal, work) => work !== 'atsWork',
isShow: (signal, work) => true,
isAvailableInOtherControlMode: true
},
{
@ -137,7 +137,7 @@ export default {
handler: this.atsAutoControl,
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING,
isDisabled: (signal, work) => false,
isShow: (signal, work) => work !== 'atsWork',
isShow: (signal, work) => true,
isAvailableInOtherControlMode: true
},
{
@ -159,7 +159,7 @@ export default {
handler: this.detail,
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL,
isDisabled: (signal, work) => false,
isShow: (signal, work) => work !== 'atsWork'
isShow: (signal, work) => true
}
],
menuForce: [

View File

@ -91,7 +91,7 @@ export default {
handler: this.execKeyOperationTest,
cmdType: CMD.Station.CMD_STATION_KEY_OPERATION_TEST,
isDisabled: (station, work) => false,
isShow: (station, work) => work !== 'atsWork'
isShow: (station, work) => true
}
],
menuForce: [

View File

@ -155,7 +155,7 @@ export default {
handler: this.detail,
cmdType: CMD.Stand.CMD_STAND_VIEW_STATUS,
isDisabled: (stand, work) => false,
isShow: (stand, work) => work !== 'atsWork'
isShow: (stand, work) => true
}
],
menuForce: [

View File

@ -61,14 +61,14 @@ export default {
handler: this.locate,
cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION,
isDisabled: (switchDevice, work) => switchDevice.normalPosition === 1,
isShow: (switchDevice, work) => work !== 'atsWork'
isShow: (switchDevice, work) => true
},
{
label: '反操',
handler: this.reverse,
cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION,
isDisabled: (switchDevice, work) => switchDevice.reversePosition === 1,
isShow: (switchDevice, work) => work !== 'atsWork'
isShow: (switchDevice, work) => true
},
{
label: '道岔单锁',
@ -153,7 +153,7 @@ export default {
handler: this.undeveloped,
cmdType: CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED,
isDisabled: (switchDevice, work) => false,
isShow: (switchDevice, work) => work !== 'atsWork'
isShow: (switchDevice, work) => true
}
],
menuForce: [

View File

@ -1,491 +0,0 @@
<template>
<div class="menus" :style="{width: width + 'px'}">
<menu-station-stand ref="menuStationStand" :selected="selected" :work="work" />
<menu-switch ref="menuSwitch" :selected="selected" :work="work" />
<menu-signal ref="menuSignal" :selected="selected" :work="work" />
<menu-section ref="menuSection" :selected="selected" :work="work" />
<menu-train ref="menuTrain" :selected="selected" :work="work" />
<menu-station ref="menuStation" :selected="selected" :work="work" />
<menu-station-turn-back ref="menuStationTurnBack" :selected="selected" :work="work" />
<passive-alarm ref="passiveAlarm" />
<passive-contorl ref="passiveControl" pop-class="xian-01__systerm" />
<passive-Timeout ref="passiveTimeout" />
<pop-menu ref="popMenu" :menu="menu" pop-class="preview_new_pop" />
</div>
</template>
<script>
import { DeviceMenu } from '@/scripts/ConstDic';
import { mapGetters } from 'vuex';
import MenuSignal from './menuSignal';
import MenuStationStand from './menuStationStand';
import MenuSwitch from './menuSwitch';
import MenuSection from './menuSection';
import MenuTrain from './menuTrain';
import MenuStation from './menuStation';
import MenuStationTurnBack from './menuStationTurnBack';
import PassiveAlarm from './passiveDialog/alarm';
import PassiveContorl from '@/jmapNew/theme/components/menus/passiveDialog/control';
import PassiveTimeout from './passiveDialog/timeout';
import PopMenu from '@/components/PopMenu';
export default {
name: 'AtsWorkMenu',
components: {
MenuSignal,
MenuSwitch,
MenuSection,
MenuStationStand,
MenuStation,
MenuTrain,
PassiveAlarm,
MenuStationTurnBack,
PassiveContorl,
PassiveTimeout,
PopMenu
},
props: {
selected: {
type: Object,
default() {
return null;
}
}
},
data() {
return {
menu: [],
menuNormal: [],
work: 'atsWork'
};
},
computed: {
...mapGetters('config', [
'width'
])
},
watch: {
'$store.state.menuOperation.menuCount': function (val) {
// && this.$store.state.training.prdType == '02'
if (this.$store.getters['menuOperation/checkDialogIsOpen'](DeviceMenu.Cancel)) {
this.popDoShow(this.$store.state.menuOperation.menuPosition);
} else {
this.popDoClose();
}
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('config/updateMenuBar');
const _that = this;
window.onclick = function (e) {
if (!_that.$store.state.training.trainingStart) {
_that.$refs.menuBar && _that.$refs.menuBar.blankClickClose();
}
_that.$refs.menuStationStand.doClose();
_that.$refs.menuSwitch.doClose();
_that.$refs.menuSignal.doClose();
_that.$refs.menuSection.doClose();
_that.$refs.menuTrain.doClose();
_that.$refs.menuStation.doClose();
_that.$refs.menuStationTurnBack.doClose();
};
});
},
beforeDestroy() {
window.onclick = function (e) {};
},
methods:{
popClickEvent() {
const self = this;
window.onclick = function (e) {
self.popDoClose();
};
},
popDoShow(point) {
this.popClickEvent();
this.initMenu();
if (this.$refs && this.$refs.popMenu && this.menu && this.menu.length) {
this.$refs.popMenu.resetShowPosition(point);
}
},
initMenu() {
this.menuNormal = [];
if (this.work === 'dispatchWork') {
this.$store.state.map.map.stationList.forEach(station => {
if (station.relStationCodeList && station.relStationCodeList.length) {
const node = {
label: station.name,
children: []
};
const relStationCodeList = [...station.relStationCodeList];
// relStationCodeList.push(station.code);
relStationCodeList.sort((a, b) => {
const stationA = this.$store.getters['map/getDeviceByCode'](a);
const stationB = this.$store.getters['map/getDeviceByCode'](b);
return stationA.kmRange - stationB.kmRange;
});
relStationCodeList.forEach(item => {
const next = this.$store.getters['map/getDeviceByCode'](item);
node.children.push({
code: next.code,
label: next.name,
handler: this.mapLocation
});
});
this.menuNormal.push(node);
}
});
} else if (this.work === 'localWork') {
const roleDeviceCode = this.$store.state.training.roleDeviceCode;
const displayList = this.$store.state.map.map.displayList;
const display = displayList && displayList.find(each=>{
return each.stationCodeList.includes(roleDeviceCode);
});
if (display) {
const codeList = [...display.switchStationCodeList];
let relStationCodeList = [];
let ciStaionCode = '';
codeList.sort((a, b) => {
const stationA = this.$store.getters['map/getDeviceByCode'](a);
const stationB = this.$store.getters['map/getDeviceByCode'](b);
if (stationA.relStationCodeList && stationA.relStationCodeList.length > 0 && relStationCodeList.length <= 0) {
relStationCodeList = [...stationA.relStationCodeList];
ciStaionCode = stationA.code;
relStationCodeList.push(stationA.code);
}
return stationA.kmRange - stationB.kmRange;
});
const ciStaion = this.$store.getters['map/getDeviceByCode'](ciStaionCode);
const currentNode = {label: ciStaion.name, children: []};
codeList.forEach(code=>{
let node;
const station = this.$store.getters['map/getDeviceByCode'](code);
if (station.depot) {
return;
}
if (relStationCodeList.includes(code)) {
currentNode.children.push({label: station.name, code: station.code, handler: this.mapLocation});
if (currentNode.children.length == relStationCodeList.length) {
this.menuNormal.push(currentNode);
}
} else {
node = {label: station.name, code: station.code, handler: this.mapLocation};
this.menuNormal.push(node);
}
});
}
}
this.menu = [...this.menuNormal];
},
popDoClose() {
if (this.$refs && this.$refs.popMenu) {
this.$refs.popMenu.close();
}
},
//
mapLocation(item) {
if (item) {
this.$store.dispatch('training/updateOffsetStationCode', { offsetStationCode: item.code });
this.popDoClose();
}
}
}
};
</script>
<style>
.menus {
position: absolute;
top: 0;
}
.menus .pop-menu {
background: #F0F0F0;
}
.menus .pop-menu span {
color: #000;
}
.menus .pop-menu .is-disabled span {
color: #B4B3B8;
}
.xian-01__systerm {
overflow: hidden !important;
}
.xian-01__systerm.pop-menu{
padding: 0;
padding-left: 20px;
}
.xian-01__systerm.pop-menu .container{
border-left: 1px solid #ccc;
}
.xian-01__systerm.pop-menu .dsp-block {
display: block;
text-align: left;
width: 100%;
border-radius: unset;
border: 1px solid transparent;
color: #000;
padding: 6px 6px;
border-left: 1px solid #bdbcbc;
}
.xian-01__systerm .el-dialog {
background: rgba(100, 100, 100, 0.3);
border: 2px solid rgb(144, 144, 144, 0.8);
border-radius: 6px;
color: #000;
font-size: 14px;
}
.xian-01__systerm .el-dialog .el-dialog__header {
padding: 5px;
height: 26px;
}
.xian-01__systerm .el-dialog .el-dialog__footer {
background: #F0F0F0;
opacity: 1;
}
.xian-01__systerm .el-dialog .el-dialog__body {
padding-top: 10px;
padding-bottom: 10px;
padding-left: 5px;
padding-right: 5px;
margin: 0px 5px 5px;
border: 2px solid rgba(120, 121, 123, 0.5);
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
background: #F0F0F0;
opacity: 1;
}
.xian-01__systerm .el-dialog .el-dialog__title {
position: absolute;
top: 4px;
color: #000;
border-radius: 4px;
padding: 0px 2px;
height: 20px;
line-height: 20px
}
.xian-01__systerm .el-dialog .el-dialog__title::before {
content: '';
position: absolute;
top: 0;
left: 0;
-webkit-filter: blur(10px);
filter: blur(10px);
height: 20px;
width: -webkit-fill-available;
background: rgba(128, 128, 128, 0.8);
z-index: -1;
}
.xian-01__systerm .el-dialog .el-dialog__headerbtn {
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
border: 1px solid #fff;
border-radius: 4px;
top: 4px;
right: 5px;
line-height: 16px;
}
.xian-01__systerm .el-dialog .el-dialog__headerbtn .el-icon-close:before {
font-size: 16px;
}
.xian-01__systerm .el-dialog .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
.xian-01__systerm .el-dialog .el-button {
height: 32px;
line-height: 32px;
padding: 0px;
width: 80px;
border: 2px outset #E2E2E2;
border-radius: 0px !important;
color: #000;
background: #F0F0F0;
}
.xian-01__systerm .el-dialog .el-button:focus span {
border: 1px dashed gray;
}
.xian-01__systerm .el-dialog .el-button:active {
border: 2px inset #E2E2E2;
}
.xian-01__systerm .el-dialog .el-button:disabled {
border: 2px inset #E2E2E2;
}
.xian-01__systerm .el-dialog .el-button:disabled span {
border: 0px;
}
.xian-01__systerm .el-dialog .el-input {
border: 2px inset #E9E9E9;
}
.xian-01__systerm .el-dialog .el-input .el-input__inner {
color: #000;
background: #fff !important;
border: 0px;
border-radius: 0px !important;
box-sizing: border-box;
}
.xian-01__systerm .el-dialog .el-input.is-disabled .el-input__inner {
background: #F0F0F0 !important;
}
.xian-01__systerm .el-dialog .el-textarea {
border: 2px inset #E9E9E9;
border-radius: 0px;
}
.xian-01__systerm .el-dialog .el-textarea .el-textarea__inner {
color: #000;
background: #fff !important;
border: 0px;
border-radius: 0px !important;
box-sizing: border-box;
}
.xian-01__systerm .el-dialog .el-textarea.is-disabled .el-textarea__inner {
background: #F0F0F0 !important;
}
.xian-01__systerm .el-dialog .el-table {
border: 2px inset #E9E9E9;
color: #000 !important;
}
.xian-01__systerm .el-dialog .el-table .cell {
line-height: unset !important;
}
.xian-01__systerm .el-dialog .el-table th.is-leaf {
background: #F0F0F0 !important;
border-right: 1px solid #BDBDBD !important;
border-bottom: 1px solid #BDBDBD !important;
color: #000 !important;
height: 20px !important;
padding: 0px;
}
.xian-01__systerm .el-dialog .el-table tr td {
height: 20px !important;
padding: 0px;
}
.xian-01__systerm .el-dialog .el-table .el-table__empty-text {
top: 15px !important;
}
.xian-01__systerm .el-dialog .current-row>td {
background: #3399FF !important;
color: #fff !important;
}
.xian-01__systerm .el-dialog .el-checkbox__inner {
border: 1px inset #dcdfe6 !important;
}
.xian-01__systerm .el-dialog .el-checkbox__label {
color: #000 !important;
}
.xian-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
background: #E6E6E6 !important;
}
.xian-01__systerm .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
color: #C5C9CC !important;
}
.xian-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.xian-01__systerm .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner::after {
position: absolute;
-webkit-box-sizing: content-box;
box-sizing: content-box;
content: "";
border: 1px solid #000;
border-left: 0;
border-top: 0;
height: 7px;
left: 4px;
top: 1px;
}
.xian-01__systerm .el-dialog .el-radio__inner {
border: 1px inset #dcdfe6 !important;
}
.xian-01__systerm .el-dialog .el-radio__label {
color: #000 !important;
}
.xian-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.xian-01__systerm .el-dialog .el-radio__input.is-checked .el-radio__inner::after {
width: 4px;
height: 4px;
border-radius: 100%;
background-color: #000 !important;
position: absolute;
left: 50%;
top: 50%;
}
.xian-01__systerm .el-dialog .el-radio.is-disabled .el-radio__inner {
background: #E6E6E6 !important;
}
.xian-01__systerm .el-dialog .el-radio.is-disabled .el-radio__label {
color: #C5C9CC !important;
}
.xian-01__systerm .el-dialog .base-label {
background: rgb(240 240 240);
position: relative;
}
.xian-01__systerm .el-dialog .el-form-item label {
font-weight: normal !important;
color: #000 !important;
}
.xian-01__systerm .el-dialog .context {
height: 100px;
border: 2px inset #E2E2E2;
overflow-y: scroll;
}
.xian-01__systerm .el-dialog .table {
margin-top: 10px;
}
.xian-01__systerm .el-dialog .notice {
margin-left: 62px;
line-height: 30px;
}
.xian-01__systerm .el-dialog .button-group {
margin-top: 10px;
}
</style>

View File

@ -68,7 +68,7 @@ export default {
return section.blockade === 1;
}
},
isShow: (section, work) => ['01', '02'].includes(section.type) && work !== 'atsWork'
isShow: (section, work) => ['01', '02'].includes(section.type)
},
{
label: '区段解封',
@ -81,7 +81,7 @@ export default {
return section.blockade !== 1;
}
},
isShow: (section, work) => ['01', '02'].includes(section.type) && work !== 'atsWork'
isShow: (section, work) => ['01', '02'].includes(section.type)
},
{
label: '故障解锁',
@ -90,7 +90,7 @@ export default {
isDisabled: (section, work) => {
return false;
},
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
isShow: (section, work) => ['01', '02', '03'].includes(section.type)
},
{
label: '设置限速',
@ -99,7 +99,7 @@ export default {
isDisabled: (section, work) => {
return false;
},
isShow: (section, work) => section.type === '02' && work !== 'atsWork'
isShow: (section, work) => section.type === '02'
},
{
label: '取消限速',
@ -108,7 +108,7 @@ export default {
isDisabled: (section, work) => {
return false;
},
isShow: (section, work) => section.type === '02' && work !== 'atsWork'
isShow: (section, work) => section.type === '02'
},
{
label: '区段切除',

View File

@ -68,9 +68,6 @@ export default {
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE,
isDisabled: (signal, work) => {
return false;
},
isShow: (signal, work) => {
return work !== 'atsWork';
}
},
{
@ -79,9 +76,6 @@ export default {
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE,
isDisabled: (signal, work) => {
return false;
},
isShow: (signal, work) => {
return work !== 'atsWork';
}
},
{
@ -94,9 +88,6 @@ export default {
} else {
return signal.blockade === 1;
}
},
isShow: (signal, work) => {
return work !== 'atsWork';
}
},
{
@ -109,9 +100,6 @@ export default {
} else {
return signal.blockade !== 1;
}
},
isShow: (signal, work) => {
return work !== 'atsWork';
}
},
{
@ -120,9 +108,6 @@ export default {
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL,
isDisabled: (signal, work) => {
return false;
},
isShow: (signal, work) => {
return work !== 'atsWork';
}
},
{
@ -131,9 +116,6 @@ export default {
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL,
isDisabled: (signal, work) => {
return false;
},
isShow: (signal, work) => {
return work !== 'atsWork';
}
},
{
@ -142,9 +124,6 @@ export default {
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE,
isDisabled: (signal, work) => {
return false;
},
isShow: (signal, work) => {
return work !== 'atsWork';
}
},
{

View File

@ -63,9 +63,6 @@ export default {
} else {
return switchDevice.singleLock === 1;
}
},
isShow: (switchDevice, work) => {
return work !== 'atsWork';
}
},
{
@ -78,9 +75,6 @@ export default {
} else {
return switchDevice.singleLock !== 1;
}
},
isShow: (switchDevice, work) => {
return work !== 'atsWork';
}
},
{
@ -93,9 +87,6 @@ export default {
} else {
return switchDevice.blockade === 1;
}
},
isShow: (switchDevice, work) => {
return work !== 'atsWork';
}
},
{
@ -108,9 +99,6 @@ export default {
} else {
return switchDevice.blockade !== 1;
}
},
isShow: (switchDevice, work) => {
return work !== 'atsWork';
}
},
{
@ -119,9 +107,6 @@ export default {
cmdType:CMD.Switch.CMD_SWITCH_TURN,
isDisabled: (switchDevice, work) => {
return false;
},
isShow: (switchDevice, work) => {
return work !== 'atsWork';
}
},
{
@ -130,9 +115,6 @@ export default {
cmdType:CMD.Switch.CMD_SWITCH_FAULT_UNLOCK,
isDisabled: (switchDevice, work) => {
return false;
},
isShow: (switchDevice, work) => {
return work !== 'atsWork';
}
},
// {
@ -174,9 +156,6 @@ export default {
cmdType:CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED,
isDisabled: (switchDevice, work) => {
return false;
},
isShow: (switchDevice, work) => {
return work !== 'atsWork';
}
},
{
@ -185,9 +164,6 @@ export default {
cmdType:CMD.Switch.CMD_SWITCH_CANCEL_LIMIT_SPEED,
isDisabled: (switchDevice, work) => {
return false;
},
isShow: (switchDevice, work) => {
return work !== 'atsWork';
}
}
],

View File

@ -1,550 +0,0 @@
<template>
<div class="xian-02__menus" :style="{width: width + 'px'}">
<!-- <menu-axle-reset ref="menuAxleReset" :selected="selected" /> -->
<menu-cancel ref="menuCancel" />
<!-- <menu-auto-trun-route ref="menuAutoTrunRoute" :selected="selected" /> -->
<!-- <menu-station-control ref="menuStationControl" :selected="selected" /> -->
<menu-switch ref="menuSwitch" :selected="selected" :work="'atsWork'" />
<menu-signal ref="menuSignal" :selected="selected" :work="'atsWork'" />
<menu-section ref="menuSection" :selected="selected" :work="'atsWork'" />
<menu-train ref="menuTrain" :selected="selected" :work="'atsWork'" />
<menu-station ref="menuStation" :selected="selected" :work="'atsWork'" />
<!-- <menu-limit ref="menuLimit" :selected="selected" /> -->
<passive-contorl ref="passiveControl" :work="'atsWork'" />
<menu-request ref="menuRequest" />
<menu-station-stand ref="menuStationStand" :selected="selected" :work="'atsWork'" @popMenuStationStand="popMenuStationStand" @totalMenuEvent="totalMenuEvent" />
<pop-station-stand ref="popStationStand" :selected="selected" :work="'atsWork'" @closeMenuStationStand="closeMenuStationStand" />
</div>
</template>
<script>
import { mapGetters } from 'vuex';
import MenuSignal from './menuSignal';
// import MenuAxleReset from './menuAxleReset';
// import MenuAutoTrunRoute from './menuAutoTrunRoute';
// import MenuStationControl from './menuStationControl';
import MenuSwitch from './menuSwitch';
import MenuSection from './menuSection';
import MenuTrain from './menuTrain';
import MenuStation from './menuStation';
// import MenuLimit from './menuLimit';
import MenuCancel from './menuCancel';
import PassiveContorl from './passiveDialog/control';
import MenuStationStand from './menuStationStand';
import PopStationStand from './popStationStand';
import MenuRequest from './menuRequest';
export default {
name: 'Menus',
components: {
// MenuAxleReset,
// MenuAutoTrunRoute,
MenuSignal,
MenuSwitch,
MenuSection,
// MenuStationControl,
MenuStation,
MenuTrain,
// MenuLimit,
MenuStationStand,
MenuCancel,
PassiveContorl,
PopStationStand,
MenuRequest
},
props: {
selected: {
type: Object,
default() {
return null;
}
}
},
computed: {
...mapGetters('config', [
'width'
])
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('config/updateMenuBar');
});
},
methods: {
popMenuStationStand(param) {
this.$refs.popStationStand.doShow(param.position, param.type);
},
closeMenuStationStand() {
this.$refs.menuStationStand.doClose();
},
totalMenuEvent(param) {
this.$refs.menuCancel.doShow(param);
}
}
};
</script>
<style>
.xian-02__menus .pop-menu {
background: #78e2ad;
padding: 0;
}
.xian-02__menus .pop-menu .el-popover{
background: #78e2ad;
}
.xian-02__menus .pop-menu span {
color: #000;
}
.xian-02__menus .pop-menu .is-disabled span {
color: #B4B3B8;
}
.xian-02__system {
overflow: hidden !important;
}
.xian-02__pop_tip_station{
padding: 0 !important;
margin-left: 1px !important;
background: #78e2ad !important;
border: 1px solid transparent;
border-radius: 0;
}
.xian-02__pop_tip_station:hover{
border: 1px solid #6B736A;
}
.xian-02__system .el-dialog {
background: #9da5ff;
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
border: 1px solid #9da5ff;
border-radius: 6px;
font-size: 13px !important;
color: #000;
}
.xian-02__system .el-dialog span {
font-size: 13px !important;
line-height: 22px;
}
.xian-02__system .el-dialog .el-dialog__footer {
background: #5F9EA0;
opacity: 1;
}
.xian-02__system .el-dialog .el-dialog__body {
padding: 20px;
margin: 0px 3px 3px;
border: 2px solid rgba(120, 121, 123, 0.5);
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
background: #5F9EA0;
opacity: 1;
}
.xian-02__system .station-stand .el-dialog__body {
background: #000;
color: #E8E8E8;
}
.xian-02__menus .stand-stop-time .el-dialog__body {
padding: 20px;
margin: 0px 3px 3px;
border: 2px solid rgba(120, 121, 123, 0.5);
box-shadow: 1px hsla(240, 0%, 100%, 0.5) inset;
background: #5F9EA0;
opacity: 1;
}
.xian-02__system .el-dialog .el-dialog__title {
font-size: 18px;
color: #fff;
}
.xian-02__system .el-dialog .el-dialog__header {
padding: 2px 1px;
}
.xian-02__system .el-dialog .el-dialog__headerbtn {
background: linear-gradient(#CD98A0, #C27D6E, #B63022, #C68770);
border: 1px solid #fff;
border-radius: 4px;
top: 2px;
right: 3px;
line-height: 16px;
}
.xian-02__system .el-dialog .el-dialog__headerbtn .el-icon-close:before {
font-size: 16px;
}
.xian-02__system .el-dialog .el-dialog__headerbtn .el-dialog__close {
color: #fff;
}
.xian-02__system .el-dialog .el-button {
height: 24px;
line-height: 22px;
padding: 0px;
width: 80px;
border: 2px outset #B7D4D5;
border-radius: 0 !important;
color: #000;
background: #5F9EA0;
}
.xian-02__system .el-dialog .expand {
width: 120px;
}
.xian-02__system .el-dialog .el-button:focus span {
border: 1px dashed #315253;
}
.xian-02__system .el-dialog .el-button:active {
border: 2px inset #B7D4D5;
}
.xian-02__system .el-dialog .el-button:disabled {
border: 2px inset #B7D4D5;
}
.xian-02__system .el-dialog .el-button:disabled span {
border: 0px;
}
.xian-02__system .el-select-dropdown__item {
background: #5F9EA0;
}
.xian-02__system .el-select-dropdown__list {
background: #5F9EA0;
}
.xian-02__select-option .el-select-dropdown__item{
background: #5F9EA0;
}
.xian-02__select-option .el-scrollbar__wrap {
background-color: #5F9EA0;
overflow: hidden;
overflow-y: scroll;
}
.xian-02__select-option{
border-style: solid;
border-width: 1px;
border-color: #335658 #99C1C3 #99C1C3 #335658;
border-radius: 0;
background:#5F9EA0;
}
.xian-02__select-option .el-scrollbar{
border-style: solid;
border-width: 1px;
border-color: #467576 #A0C6C7 #A0C6C7 #467576;
border-radius: 0;
}
.xian-02__select-option .el-select-dropdown__item.selected{
color: #fff;
}
.xian-02__select-option .el-select-dropdown__item{
color: #000;
}
.xian-02__system .el-dialog .el-transfer-panel{
border-style: solid;
border-width: 1px;
border-color: #467576 #A0C6C7 #A0C6C7 #467576;
border-radius: 0;
background: #5F9EA0;
}
.xian-02__system .el-dialog .el-transfer .el-button{
width: 40px;
}
.xian-02__system .el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span {
color: #000;
}
.xian-02__system .el-dialog .el-transfer-panel .el-transfer-panel__header {
background: #5F9EA0;
border-bottom: 1px solid #467576;
}
.xian-02__system .el-dialog .el-transfer-panel .el-transfer-panel__empty {
color: #5F9EA0;
}
.xian-02__system .el-dialog .el-input {
border-style:solid;
border-width: 1px;
border-color: #335658 #99C1C3 #99C1C3 #335658;
height: 22px !important;
line-height: 22px !important;
background: #5F9EA0;
}
.xian-02__system .el-dialog .el-input__inner {
color: #000;
background: #5F9EA0 !important;
border-style:solid;
border-width: 1px;
border-color: #467576 #A0C6C7 #A0C6C7 #467576;
border-radius: 0px !important;
box-sizing: border-box;
height: 22px !important;
line-height: 22px !important;
}
/*.xian-02__system .el-dialog .el-input.is-disabled .el-input__inner {*/
/*background: #F0F0F0 !important;*/
/*}*/
.xian-02__system .el-dialog .el-textarea {
border-style:solid;
border-width: 1px;
border-color: #335658 #99C1C3 #99C1C3 #335658;
border-radius: 0;
}
.xian-02__system .el-dialog .el-textarea .el-textarea__inner {
color: #000;
background: #5F9EA0 !important;
border-style:solid;
border-width: 1px;
border-color: #467576 #A0C6C7 #A0C6C7 #467576;
border-radius: 0px !important;
box-sizing: border-box;
}
.xian-02__system .el-dialog .el-textarea.is-disabled .el-textarea__inner {
background: #F0F0F0 !important;
}
.xian-02__system .el-dialog .el-table--border th.gutter {
background: #EBEADB !important;
}
.xian-02__system .el-dialog .el-table {
border: 2px inset #E9E9E9;
color: #000 !important;
}
.xian-02__system .el-dialog .el-table .cell {
height: 22px;
line-height: 22px;
}
.xian-02__system .el-dialog .el-table th.is-leaf {
background: #F0F0F0 !important;
border-right: 1px solid #BDBDBD !important;
border-bottom: 1px solid #BDBDBD !important;
color: #000 !important;
height: 20px !important;
padding: 0px;
}
.xian-02__system .el-dialog .el-table tr td {
height: 20px !important;
padding: 0px;
}
.xian-02__system .el-dialog .el-table .el-table__empty-text {
top: 15px !important;
}
.xian-02__system .el-dialog .current-row>td {
background: #3399FF !important;
color: #fff !important;
}
.xian-02__system .el-dialog .el-checkbox__inner {
border: 1px inset #dcdfe6 !important;
}
.xian-02__system .el-dialog .el-checkbox__label {
color: #000 !important;
}
.xian-02__system .el-dialog .el-checkbox.is-disabled .el-checkbox__inner {
background: #E6E6E6 !important;
}
.xian-02__system .el-dialog .el-checkbox.is-disabled .el-checkbox__label {
color: #C5C9CC !important;
}
.xian-02__system .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.xian-02__system .el-dialog .el-checkbox__input.is-checked .el-checkbox__inner::after {
position: absolute;
-webkit-box-sizing: content-box;
box-sizing: content-box;
content: "";
border: 1px solid #000;
border-left: 0;
border-top: 0;
height: 7px;
left: 4px;
top: 1px;
}
.xian-02__system .el-dialog .el-radio__inner {
border: 1px inset #dcdfe6 !important;
}
.xian-02__system .el-dialog .el-radio__label {
color: #000 !important;
}
.xian-02__system .el-dialog .el-radio__input.is-checked .el-radio__inner {
background: #fff !important;
border: 1px inset #dcdfe6 !important;
}
.xian-02__system .el-dialog .el-radio__input.is-checked .el-radio__inner::after {
width: 4px;
height: 4px;
border-radius: 100%;
background-color: #000 !important;
position: absolute;
left: 50%;
top: 50%;
}
.xian-02__system .el-dialog .el-radio.is-disabled .el-radio__inner {
background: #E6E6E6 !important;
}
.xian-02__system .el-dialog .el-radio.is-disabled .el-radio__label {
color: #C5C9CC !important;
}
.xian-02__system .el-dialog .base-label {
background: #5F9EA0;
position: relative;
left: -15px;
top: -18px;
}
.xian-02__system .el-dialog .el-form-item label {
font-weight: normal !important;
color: #000 !important;
}
.xian-02__system .el-dialog .context {
height: 100px;
border: 2px inset #E2E2E2;
overflow-y: scroll;
}
.xian-02__system .el-dialog .table {
margin-top: 10px;
}
.xian-02__system .el-dialog .notice {
margin-left: 62px;
line-height: 30px;
}
.xian-02__system .el-dialog .button-group {
margin-top: 20px;
}
.xian-02__system.request_box .content-box .el-table__body-wrapper .el-table__row{
background: #000;
height: 30px;
color: #518E86;
}
.xian-02__system.request_box .content-box .el-table__body-wrapper .el-table__row.hover-row td{
background: #d5ecf7;
}
.xian-02__system.request_box .content-box .el-table__body-wrapper .el-table__row.current-row td{
background: #d5ecf7;
}
.xian-02__system .el-select .el-input__suffix {
display: flex;
justify-self: center;
align-items: center;
}
.xian-02__system .el-select .is-focus .el-input__suffix {
display: flex;
justify-self: center;
align-items: center;
}
.xian-02__system .el-scrollbar__thumb {
border-style:solid;
border-width: 1px;
border-color: #335658 #99C1C3 #99C1C3 #335658;
background: #518E86;
}
.xian-02__system.train-updatePlan .el-dialog__body,
.xian-02__system.train-alertor .el-dialog__body,
.xian-02__system.train-runLevel .el-dialog__body {
color: #000!important;
}
.xian-02__system.train-runLevel .train-run-level-radio_box .el-radio__inner{
border-radius: 0;
transform: rotate(45deg);
width: 12px;
border: none!important;
height: 12px;
background: #508F86;
border-color: #9ABFB2 #284743 #284743 #9ABFB2 !important;
border-width: 2px!important;
border-style: solid!important;
}
.xian-02__system.train-runLevel .train-run-level-radio_box .is-checked .el-radio__inner{
background: #DEF003!important;
border-color: #284743 #9ABFB2 #9ABFB2 #284743 !important;
border-width: 2px!important;
border-style: solid!important;
}
.xian-02__system.train-runLevel .train-run-level-radio_box .is-checked .el-radio__inner::after{
width: 0px!important;
height: 0px!important;
}
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel {
width: 45%;
float: left;
}
.xian-02__system.train-updatePlan .el-dialog .el-transfer{
overflow: hidden;
height: 190px;
padding: 10px;
padding-top: 0;
}
.xian-02__system.train-updatePlan .el-dialog .el-transfer__buttons {
width: 10%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
float: left;
padding: 0;
height: 100%;
}
.xian-02__system.train-updatePlan .el-dialog .el-transfer__buttons .el-button {
margin: 0;
margin-bottom: 10px;
}
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel .el-transfer-panel__header {
height: 0;
overflow: hidden;
border: 0;
}
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel__item .el-checkbox__input {
display: none;
}
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel .el-transfer-panel__list,
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel .el-transfer-panel__body{
height: 165px;
overflow: auto;
}
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel__item.is-checked {
background: gray;
}
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel__list {
overflow: auto;
}
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel__item{
width: 100%;
margin: 0;
padding-left: 3px;
height: 22px;
}
.xian-02__system.train-updatePlan .el-dialog .el-transfer-panel__item .el-checkbox__label {
padding: 0;
}
</style>

View File

@ -56,9 +56,6 @@ export default {
} else {
return signal.lock === 1;
}
},
isShow: (signal, work) => {
return work !== 'atsWork';
}
},
{
@ -71,9 +68,6 @@ export default {
} else {
return signal.lock !== 1;
}
},
isShow: (signal, work) => {
return work !== 'atsWork';
}
},
{
@ -86,9 +80,6 @@ export default {
} else {
return signal.fleetMode === 1;
}
},
isShow: (signal, work) => {
return work !== 'atsWork';
}
},
{
@ -101,9 +92,6 @@ export default {
} else {
return signal.fleetMode !== 1;
}
},
isShow: (signal, work) => {
return work !== 'atsWork';
}
},
{
@ -116,9 +104,6 @@ export default {
} else {
return signal.blockade === 1;
}
},
isShow: (signal, work) => {
return work !== 'atsWork';
}
},
{
@ -131,9 +116,6 @@ export default {
} else {
return signal.blockade !== 1;
}
},
isShow: (signal, work) => {
return work !== 'atsWork';
}
},
{
@ -142,9 +124,6 @@ export default {
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE,
isDisabled: (signal, work) => {
return false;
},
isShow: (signal, work) => {
return work !== 'atsWork';
}
},
// disabled
@ -152,9 +131,6 @@ export default {
label: '设备标签',
disabled: true,
isDisabled: (signal, work) => true,
isShow: (signal, work) => {
return work !== 'atsWork';
},
children: [
{
label: '创建设备标签',
@ -184,9 +160,6 @@ export default {
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL,
isDisabled: (signal, work) => {
return false;
},
isShow: (signal, work) => {
return work !== 'atsWork';
}
}
],

View File

@ -58,10 +58,7 @@ export default {
} else {
return station.controlMode === 'Center';
}
},
isShow: (station, work) => {
return work !== 'atsWork';
}
}
},
{
// disabled
@ -75,7 +72,7 @@ export default {
return station.apply2TheControlMode !== 'Local';
}
},
isShow: (station, work) => work !== 'atsWork'
isShow: (station, work) => true
},
{
label: '取消',
@ -89,7 +86,7 @@ export default {
}
},
isShow: (station, work) => {
return work !== 'atsWork';
return true;
}
},
// /** */
@ -106,7 +103,7 @@ export default {
}
},
isShow: (station, work) => {
return work !== 'atsWork';
return true;
}
}
]

View File

@ -66,8 +66,7 @@ export default {
} else {
return station.normalPosition === 1;
}
},
isShow: (station, work) => work !== 'atsWork'
}
},
{
label: '道岔反位',
@ -79,8 +78,7 @@ export default {
} else {
return station.reversePosition === 1;
}
},
isShow: (station, work) => work !== 'atsWork'
}
},
{
label: '道岔单锁',
@ -92,8 +90,7 @@ export default {
} else {
return station.singleLock === 1;
}
},
isShow: (station, work) => work !== 'atsWork'
}
},
{
label: '道岔单解',
@ -105,8 +102,7 @@ export default {
} else {
return station.singleLock !== 1;
}
},
isShow: (station, work) => work !== 'atsWork'
}
},
{
// disabled

View File

@ -28,11 +28,6 @@ import '@/directive/verticalDrag/index.js';
import '@/directive/waves/index.js';
import messages from '@/i18n/index';
import VideoPlayer from 'vue-video-player/src';
import 'vue-video-player/src/custom-theme.css';
import 'video.js/dist/video-js.css';
Vue.use(VideoPlayer);
Vue.use(ElementUI);
Vue.use(VueI18n);
Vue.config.devtools = true; // 开发环境显示vue控制台

View File

@ -3,12 +3,12 @@ import store from '@/store/index';
import router from './router/index';
import NProgress from 'nprogress';
import 'nprogress/nprogress.css';
import { setToken, getToken, getSessionStorage, setSessionStorage, removeToken } from '@/utils/auth';
import { setToken, getToken, getSessionStorage, setSessionStorage } from '@/utils/auth';
import { getFrontProjectConfigByLogin} from '@/api/projectConfig';
import localStore from 'storejs';
import { handlerUrl } from '@/utils/baseUrl';
const whiteList = ['/login', '/design/login', '/loginNew', '/gzzbxy/relay', '/authorization', '/AUSline', '/AUStool', '/demo', '/thirdLogin', '/cgyLogin']; // 不重定向白名单
const whiteList = ['/login', '/design/login', '/loginNew', '/gzzbxy/relay', '/authorization', '/AUSline', '/AUStool', '/demo', '/thirdLogin']; // 不重定向白名单
// 登录路径判断获取
function getRouteInfo(to) {
@ -83,10 +83,7 @@ function handleRoute(to, next, loginPath) {
// store.dispatch('subscribe', {header, type: getSessionStorage('project')});
// }
// }
router.beforeEach(async (to, from, next) => {
if (to.path == '/thirdLogin') { // 到第三方登录页面时先删除之前的token
removeToken();
}
router.beforeEach( async (to, from, next) => {
// 判断第三方登陆
if (to.query.thirdJump) {
setToken(to.query.key);

View File

@ -220,7 +220,6 @@ const UserRulesManage = () => import('@/views/userRulesManage/index');
const AuthorityTransfer = () => import('@/views/authorityTransfer/index');
const CreateDistribute = () => import('@/views/authorityTransfer/create/index');
const ThirdJumpSim = () => import('@/views/newMap/display/thirdJump');
const CgyLogin = () => import('@/views/thirdLogin/cgyLogin');
const TmsPage = () => import('@/views/jlmap3d/drive/sceneview/tmsPage');
const ContestSubjectManage = () => import('@/views/contestDataManage/contestSubjectManage/ContestSubjectManage');
@ -431,11 +430,6 @@ export const constantRoutes = [
component: ThirdJumpSim,
hidden: true
},
{
path: '/cgyLogin',
component: CgyLogin,
hidden: true
},
{
path: '/404',
component: Errpr404,

View File

@ -205,8 +205,7 @@ export default {
{ label: '站台PIS', value: 'PIS_STAND' },
{ label: '列车PIS', value: 'PIS_TRAIN' },
{ label: '乘客PIS', value: 'PIS' },
{ label: 'TMS', value: 'TMS' },
{ label: 'PA', value: 'PA' }
{ label: 'TMS', value: 'TMS' }
],
responderTypeList: [{ name: '固定应答器', value: 'FB' }, { name: '可变应答器', value: 'VB' }, { name: '填充应答器', value: 'IB' }],
loadRuleList: [

View File

@ -407,8 +407,7 @@ export const ClientList = [
{ label: '运行图预览', value: 'diagramPreview' },
{ label: '运行图编制', value: 'diagramEdit' },
{ label: '乘客信息发布系统', value: 'pisScreen' },
{ label: 'TMS', value: 'tms' },
{ label: 'PA', value: 'paScreen' }
{ label: 'TMS', value: 'tms' }
];
/** 实训类型list */
export const TrainingTypeList = [

View File

@ -122,7 +122,7 @@ class Handler {
const group = router.currentRoute.query.group;
const stepInfo = store.state.trainingNew.stepInfo;
endTrainingStep(group, stepInfo.id).then(resp => {
// store.dispatch('trainingNew/clearOperateOrder');
store.dispatch('trainingNew/clearOperateOrder');
}).catch(e => {
console.error('进入下一步失败!', e);
});

View File

@ -1,4 +1,4 @@
import { objectIsEqualSp } from '@/utils/date';
import { objectIsEqual } from '@/utils/date';
import Handler from './newHandler.js';
import { ScriptMode } from '@/scripts/ConstDic';
import store from '@/store/index';
@ -50,9 +50,9 @@ class ValidateHandler {
}
}
if (linkDataFlag) {
return objectIsEqualSp(param1, param2) || objectIsEqualSp(linkParam, param2);
return objectIsEqual(param1, param2) || objectIsEqual(linkParam, param2);
} else {
return objectIsEqualSp(param1, param2);
return objectIsEqual(param1, param2);
}
}
// 判断实训操作正确性

View File

@ -629,6 +629,13 @@ const map = {
return [];
}
},
stationCircleList: state => {
if (state.nccData) {
return state.nccData.stationCircleList || [];
} else {
return [];
}
},
// trainDetails: (state) => {
// return state.trainDetails;
// },
@ -882,7 +889,7 @@ const map = {
if (station.ciStation) {
const centrailzedList = [station.code];
state.stationControlMap[station.code] = centrailzedList;
station.relStationCodeList && station.relStationCodeList.forEach(relStationCode => {
station.relStationCodeList.forEach(relStationCode => {
state.stationControlMap[relStationCode] = centrailzedList;
if (state.mapDevice[relStationCode].centralized && !centrailzedList.includes(relStationCode)) {
centrailzedList.push(relStationCode);

View File

@ -83,7 +83,6 @@ const training = {
if (store.state.training.myMemberId == state.stepInfo.memberId) {
state.stepRecord.push({ stepId: state.stepInfo.id, success: false, clientOperations: [] });
}
state.operateOrder = 0;
Handler.judgeIsTextSendOperation();
},
clearStepInfo: (state, stepInfo) => {

View File

@ -121,44 +121,3 @@ export function objectIsEqual(obj1, obj2) {
}
return true;
}
export function checkUndefinedOrNull(key) {
if (key === '' || key === undefined || key === null) {
return false;
}
return true;
}
export function checkTwo(k1, k2) {
console.log(checkUndefinedOrNull(k1), checkUndefinedOrNull(k2), '----', k1, k2);
return checkUndefinedOrNull(k1) || checkUndefinedOrNull(k2);
}
/* 对象是否相等(undefined和空字符串空对象空数组认为相同) */
export function objectIsEqualSp(obj1, obj2) {
if (!(obj1 instanceof Object)) {
return false;
} else if (!(obj2 instanceof Object)) {
return false;
}
// 仅过滤值为null的项
const arr1 = Object.keys(obj1).filter(key => { return obj1[key] != null; });
const arr2 = Object.keys(obj2).filter(key => { return obj2[key] != null; });
// if (arr1.length !== arr2.length) {
// return false;
// }
for (const key of arr1) {
const index = arr2.findIndex(item => item === key);
arr2.splice(index, 1);
if (obj1[key] instanceof Object && obj2[key] instanceof Object) {
if (!objectIsEqualSp(obj1[key], obj2[key])) {
return false;
}
} else if (obj1[key] !== obj2[key] && checkTwo(obj1[key], obj2[key])) {
return false;
}
}
for (const key of arr2) {
if (obj1[key] !== obj2[key] && checkTwo(obj1[key], obj2[key])) {
return false;
}
}
return true;
}

View File

@ -35,7 +35,7 @@ export function getTopic(type, group, param) {
topic = `/queue/simulation/${group}/iscs/gate/${param.stationCode}`;
break;
case 'TMS':
topic = `/queue/simulation/${group}/train/${param.groupNumber}/tms`;
topic = `/queue/simulation/${group}/train/001/tms`;
break;
case 'PIS_STAND':
topic = `/queue/simulation/${group}/standPis/${param.standCode}`;

View File

@ -1,116 +0,0 @@
<template>
<el-dialog v-dialogDrag :title="sceneName" :visible.sync="dialogVisible" width="50%" :before-close="handleClose" center :close-on-click-modal="false">
<div>
<video-player
ref="videoPlayer"
:playsinline="false"
:options="playOptions"
@play="onPlayerPlay($event)"
@pause="onPlayerPause($event)"
/>
</div>
</el-dialog>
</template>
<script>
import { getContextSenceDetail } from '@/api/contest';
export default {
data() {
return {
dialogVisible: false,
sceneName:'播放视频',
playedTime: '',
currentTime: 0,
maxTime: 0,
playOptions: {
height: '200px',
width: '100%',
playbackRates: [1.0],
autoplay: false,
muted: false,
loop: false,
preload: 'auto',
language: 'zh-CN',
aspectRatio: '16:9',
fluid: true,
sources: [
{
type: 'video/mp4',
src: ''
}
],
poster: '',
notSupportedMessage: '此视频暂无法播放,请稍后再试',
controlBar: {
currentTimeDisplay: true,
progressControl: true,
playbackRateMenuButton: true,
timeDivider: true,
durationDisplay: true,
remainingTimeDisplay: true,
fullscreenToggle: true
}
}
};
},
computed: {
urlPrefix() {
return this.$store.state.user.ossUrl;
}
},
methods: {
doShow(sceneId) {
getContextSenceDetail(sceneId).then((res) => {
this.dialogVisible = true;
this.playOptions.sources[0].src = `${this.urlPrefix}/${res.data.scene.url}`;
this.sceneName = res.data.name;
}).catch(error => {
this.$message.error(error.message);
});
},
handleClose() {
this.$refs.videoPlayer.player.pause();
this.dialogVisible = false;
},
onPlayerPlay(player) {
let playTime = 0;
if (
Number(Math.floor(this.playedTime)) ===
Number(Math.floor(player.duration()))
) {
this.playedTime = 0;
playTime = 0;
} else if (
Number(Math.floor(player.currentTime())) !==
Number(Math.floor(this.playedTime))
) {
playTime = this.playedTime;
player.currentTime(playTime);
}
},
onPlayerPause(player) {
this.playedTime = player.currentTime();
}
}
};
</script>
<style lang="scss" scoped>
/deep/{
.el-dialog__title {
color:#fff;
}
.el-dialog__header{
background: linear-gradient(to bottom, #01468B, #00172E);
}
.el-dialog__body{
padding: 0 !important;
}
.video-js .vjs-big-play-button {
top: 50% !important;
left: 50% !important;
transform: translate(-50%, -50%);
background-color: black;
}
}
</style>

View File

@ -44,30 +44,24 @@
</div>
<div style="text-align: center;margin-top: 15px;">
<el-button v-show="nowData.ruleId" v-loading="loading" type="primary" @click="showScoreRule">评分表</el-button>
<el-button v-show="nowData.sceneId&&nowData.scenetype=='Local'" v-loading="loading" type="primary" @click="startTask">开始任务</el-button>
<el-button v-show="nowData.sceneId&&nowData.scenetype=='Link'" v-loading="loading" type="primary" @click="startThreeTask">开始任务</el-button>
<el-button v-show="nowData.sceneId&&nowData.scenetype=='Video'" type="primary" @click="playSceneVideo">播放视频</el-button>
<el-button v-show="nowData.sceneId" v-loading="loading" type="primary" @click="startTask">开始任务</el-button>
<el-button v-loading="loading" type="primary" :disabled="nowKey === taskList.length-1" @click="nextTask">下一任务</el-button>
</div>
</el-card>
</el-col>
<score-rule ref="scoreRule" />
<play-Video ref="playVideo" />
</el-row>
</template>
<script>
import { getTaskTree, getContextSenceDetail} from '@/api/contest';
import { createSimulationNoFunction } from '@/api/simulation';
import { getToken } from '@/utils/auth';
import { getPublishMapInfo } from '@/api/jmap/map';
import ScoreRule from './scoreRule';
import PlayVideo from './PlayVideo';
export default {
name: 'ContestDetail',
components: {
ScoreRule,
PlayVideo
ScoreRule
},
data() {
return {
@ -151,9 +145,6 @@ export default {
this.nowKey++;
this.nowData = this.taskList[this.nowKey];
},
playSceneVideo() {
this.$refs.playVideo.doShow(this.nowData.sceneId);
},
startTask() {
this.loading = true;
try {
@ -182,17 +173,6 @@ export default {
this.loading = false;
}
},
startThreeTask() {
this.loading = true;
getContextSenceDetail(this.nowData.sceneId).then((res) => {
const url = res.data.scene.url;
const token = getToken();
window.open(`${url}${token}`, '_blank');
this.loading = false;
}).catch(error => {
this.$message.error(error.message);
});
},
showScoreRule() {
this.$refs.scoreRule.doShow(this.nowData.ruleId);
},

View File

@ -235,14 +235,6 @@ export default {
border: solid 1px #01468B;
}
/deep/{
table {
border-collapse: collapse;
border: 2px solid #fff;
}
td, th {
border: 1px solid #fff;
padding: 8px;
}
.el-tree-node__content{
background-color: transparent !important;
}

View File

@ -1,20 +1,13 @@
<template>
<div>
<query-list-page ref="user" :card-padding="10" :pager-config="pagerConfig" :query-form="queryForm" :query-list="queryList" />
<upload-Video ref="uploadVideo" @reloadTable="reloadTable" />
<add-three ref="upThree" @reloadTable="reloadTable" />
</div>
</template>
<script>
import { queryContestSencePaged, deleteContestSence } from '@/api/contest';
import UploadVideo from './UploadVideo';
import addThree from './addThree';
export default {
name: 'ContestSeasonManage',
components: {
UploadVideo, addThree
},
data() {
return {
pagerConfig: {
@ -35,7 +28,7 @@ export default {
type: 'select',
label: '类 型',
config: {
data: [{label: '二维', value: 'Local'}, {label: '三维', value: 'Link'}, {label: '视频', value: 'Video'}]
data: [{label: '二维', value: 'Local'}, {label: '三维', value: 'Link'}]
}
}
}
@ -57,15 +50,7 @@ export default {
title: '类 型',
prop: 'type',
type: 'tag',
columnValue: (row) => {
if (row.type === 'Local') {
return '二维';
} else if (row.type === 'Link') {
return '三维';
} else {
return '视频';
}
},
columnValue: (row) => { return row.type === 'Local' ? '二维' : '三维'; },
tagType: (row) => { return ''; }
},
{
@ -87,20 +72,10 @@ export default {
title: '操 作',
width: '320',
buttons: [
{
name: '编辑',
handleClick: this.doEdit,
showControl: row => {
return row.type == 'Video';
}
},
{
name: '编辑',
handleClick: this.doEditLink,
showControl: row => {
return row.type == 'Link';
}
},
// {
// name: '',
// handleClick: this.doEdit
// },
{
name: '删 除',
handleClick: this.doDelete,
@ -108,11 +83,10 @@ export default {
}
]
}
],
actions: [
{ text: '上 传', handler: this.doUpload },
{ text: '添 加', handler: this.doUpThree }
]
// actions: [
// { text: ' ', handler: this.doCreate }
// ]
}
};
},
@ -120,17 +94,11 @@ export default {
reloadTable() {
this.queryList.reload();
},
doUpload() {
this.$refs.uploadVideo.doShow();
doCreate() {
// this.$refs.addSeason.doShow();
},
doEdit(index, row) {
this.$refs.uploadVideo.doShow(row.id);
},
doUpThree() {
this.$refs.upThree.doShow();
},
doEditLink(index, row) {
this.$refs.upThree.doShow(row.id);
doEdit(row) {
// this.$refs.addSeason.doShow(row);
},
doDelete(index, row) {
this.$confirm('该操作将删除竞赛场景,是否继续?', '提 示', {

View File

@ -1,238 +0,0 @@
<template>
<el-dialog v-dialogDrag :visible="show" width="500px" center :close-on-click-modal="false" title="上传视频" :before-close="doClose" destroy-on-close>
<div v-if="formData.id==''||formData.reUpLoad" class="wrapper">
<label v-show="showUpload" for="file">
<el-card shadow="hover" class="card">
<i class="el-icon-upload" />
</el-card>
</label>
<input id="file" ref="file" style="display: none;" type="file" @change="onUploadChange">
<div v-show="!showUpload" class="preview" @mouseenter="showDelete = true" @mouseleave="showDelete = false">
<el-card shadow="hover" class="card">
<div class="file-type">{{ fileType }}</div>
<div class="file-name">{{ formData.fileName }}</div>
<div v-show="showDelete" class="delete" @click="handleDelete">
<i class="el-icon-delete-solid" />
</div>
</el-card>
</div>
</div>
<el-form ref="form" :model="formData" inline :rules="rules">
<el-form-item label="场景名字" required prop="title">
<el-input v-model="formData.title" />
</el-form-item>
<el-form-item v-if="formData.id" label="是否重新上传" prop="reUpLoad">
<el-checkbox v-model="formData.reUpLoad" />
</el-form-item>
<el-form-item v-if="formData.id==''||formData.reUpLoad" label="文件名" required prop="fileName">
<el-input v-model="formData.fileName" />
</el-form-item>
</el-form>
<div v-if="!showUpload" class="path-display">
<span>文件存储路径: </span>
<code>{{ `${urlPrefix}/${formData.directory}/${formData.fileName}` }}</code>
</div>
<footer>
<el-button v-if="formData.id==''" type="primary" size="small" @click="handleUpload">上传</el-button>
<el-button v-if="formData.id" type="primary" size="small" @click="doSave">确定</el-button>
<el-button size="small" @click="doClose">取消</el-button>
</footer>
</el-dialog>
</template>
<script>
import { getUploadUrl } from '@/api/projectConfig';
import { checkIsExist } from '@/api/management/fileManage';
import { saveSceneVideo, getContextSenceDetail, editSceneVideo } from '@/api/contest';
export default {
name: 'UploadVideo',
data() {
return {
show: false,
showUpload: true,
showDelete: false,
fileType: '',
formData: {
id:'',
reUpLoad:false,
directory: 'Video',
title: '',
fileName: ''
},
rules: {
title: [{ required: true, message: '请输入场景名字', trigger: 'blur' }],
fileName: [{ required: true, message: '请输入文件名', trigger: 'blur' }]
}
};
},
computed: {
urlPrefix() {
return this.$store.state.user.ossUrl;
}
},
methods: {
doShow(sceneId) {
this.show = true;
if (sceneId) {
getContextSenceDetail(sceneId).then((res) => {
this.formData.id = res.data.id;
this.formData.title = res.data.name;
this.formData.fileName = res.data.scene.fileName;
}).catch(error => {
this.$message.error(error.message);
});
}
},
doClose() {
this.show = false;
this.handleDelete();
},
onUploadChange(e) {
const fileList = e.target.files;
if (!fileList.length) return;
this.showUpload = false;
const fileName = fileList[0].name;
this.formData.fileName = fileName;
const devideIndex = fileName.lastIndexOf('.');
this.formData.title = fileName.slice(0, devideIndex);
this.fileType = fileList[0].type.split('/').pop();
},
doSave() {
const data = {name:this.formData.title, type:this.formData.directory,
scene:{url:`${this.formData.directory}/${this.formData.fileName}`, fileName:this.formData.fileName}};
if (!this.formData.reUpLoad) {
editSceneVideo(this.formData.id, data).then((res) => {
this.$message.success('编辑成功');
this.doClose();
this.$emit('reloadTable');
}).catch(error => {
this.$message.error(error.message);
});
} else {
this.handleUpload();
}
},
handleUpload() {
const form = this.$refs.form;
const file = this.$refs.file.files[0];
const params = {
directory: this.formData.directory,
fileName: this.formData.fileName
};
const execUpload = () => {
getUploadUrl({ ...params, method: 'PUT' }).then(res => {
const url = res.data;
const xhr = new XMLHttpRequest();
xhr.open('PUT', url);
xhr.upload.onload = () => {
const data = {name:this.formData.title, type:this.formData.directory,
scene:{url:`${this.formData.directory}/${this.formData.fileName}`, fileName:this.formData.fileName}};
if (!this.formData.id) {
saveSceneVideo(data).then(res => {
this.$message.success('上传成功');
this.doClose();
this.$emit('reloadTable');
});
} else {
editSceneVideo(this.formData.id, data).then((res) => {
this.$message.success('编辑且重新上传成功');
this.doClose();
this.$emit('reloadTable');
}).catch(error => {
this.$message.error(error.message);
});
}
};
xhr.send(file);
});
};
form.validate().then(valid => {
if (valid && file.size > 0) {
checkIsExist(params).then(resp => {
if (!resp.data) {
execUpload();
} else {
this.$confirm('该目录下有同名文件, 是否覆盖?', this.$t('global.tips'), {
confirmButtonText: this.$t('global.confirm'),
cancelButtonText: this.$t('global.cancel'),
type: 'warning'
}).then(execUpload);
}
});
}
});
},
handleDelete() {
if (this.formData.id == '' || this.formData.reUpLoad) {
this.$refs.file.value = '';
}
this.showUpload = true;
this.formData.id = '';
this.formData.reUpLoad = false;
this.formData.title = '';
this.formData.fileName = '';
this.formData.directory = '';
this.fileType = '';
}
}
};
</script>
<style lang="scss" scoped>
footer {
display: flex;
justify-content: space-evenly;
margin-top: 20px;
}
.block {
user-select: none;
padding: 5px;
color: #909399;
}
.wrapper {
display: flex;
justify-content: center;
margin-bottom: 20px;
.card {
display: flex;
justify-content: center;
align-items: center;
position: relative;
color: #909399;
cursor: pointer;
width: 150px;
height: 150px;
.el-icon-upload {
font-size: 4em;
}
.file-type {
text-align: center;
font-size: 4rem;
line-height: 6rem;
}
.file-name {
line-height: 1.2em;
text-align: center;
}
.delete {
position: absolute;
display: flex;
justify-content: center;
align-items: center;
top: 0;
left: 0%;
width: 100%;
height: 100%;
background-color: #000000;
opacity: 0.5;
transition-duration: 1s;
transition-property: all;
font-size: 3em;
}
}
}
.path-display {
margin-top: 10px;
}
</style>

View File

@ -1,108 +0,0 @@
<template>
<el-dialog v-dialogDrag :title="title" :visible.sync="dialogVisible" width="500px" :before-close="handleClose" center :close-on-click-modal="false">
<el-form ref="ruleForm" :model="formModel" :rules="rules" label-width="100px">
<el-form-item label="场景名称:" prop="name">
<el-input v-model="formModel.name" style="width: 350px;" />
</el-form-item>
<el-form-item label="场景url:" prop="url">
<el-input v-model="formModel.url" type="textarea" style="width:350px;" />
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button v-loading="loading" type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button>
<el-button @click="handleClose">{{ $t('global.cancel') }}</el-button>
</span>
</el-dialog>
</template>
<script>
import { saveSceneVideo, editSceneVideo, getContextSenceDetail } from '@/api/contest';
export default {
name: 'AddContestTask',
data() {
return {
dialogVisible: false,
formModel: {
id: '',
name: '',
url: ''
},
loading: false
};
},
computed: {
rules() {
const crules = {
name: [
{ required: true, message: '请输入场景名称', trigger: 'blur' }
],
url: [
{ required: true, message: '请输入场景url', trigger: 'blur' }
]
};
return crules;
},
title() {
return this.formModel.id ? '修改三维场景' : '新建三维场景';
}
},
methods:{
doShow(sceneId) {
this.dialogVisible = true;
if (sceneId) {
this.formModel.id = sceneId;
getContextSenceDetail(sceneId).then((res) => {
this.formModel.name = res.data.name;
this.formModel.url = res.data.scene.url;
}).catch(error => {
this.$message.error(error.message);
});
} else {
this.formModel = {
id: '',
name: '',
url: ''
};
}
},
handleClose() {
this.formModel = {
id: '',
name: '',
url: ''
};
this.dialogVisible = false;
this.loading = false;
},
doSave() {
this.$refs.ruleForm.validate((valid) => {
if (valid) {
this.loading = true;
const data = { name:this.formModel.name, type:'Link',
scene:{url:this.formModel.url}};
if (this.formModel.id) {
editSceneVideo(this.formModel.id, data).then(() => {
this.$message.success('修改三维场景成功!');
this.handleClose();
this.$emit('reloadTable');
}).catch(error => {
this.$message.error(error.message);
this.loading = false;
});
} else {
saveSceneVideo(data).then(() => {
this.$message.success('创建三维场景成功!');
this.handleClose();
this.$emit('reloadTable');
}).catch(error => {
this.$message.error(error.message);
this.loading = false;
});
}
}
});
}
}
};
</script>

View File

@ -1,20 +1,81 @@
<template>
<el-dialog v-dialogDrag v-loading="loading" destroy-on-close title="编辑赛季内容" :visible.sync="dialogVisible" width="80%" :before-close="handleClose" center :close-on-click-modal="false">
<div style="border: 1px solid #ccc;">
<Toolbar
style="border-bottom: 1px solid #ccc"
:editor="editor"
:default-config="toolbarConfig"
:mode="mode"
/>
<Editor
v-model="seasonContent"
style="height: 500px; overflow-y: hidden;"
:default-config="editorConfig"
:mode="mode"
@onCreated="onCreated"
/>
<el-dialog v-dialogDrag v-loading="loading" title="编辑赛季内容" :visible.sync="dialogVisible" width="80%" :before-close="handleClose" center :close-on-click-modal="false">
<!-- <quill-editor-->
<!-- :ref="'contentInput'"-->
<!-- v-model="seasonContent"-->
<!-- style="width: 80%;margin-left: 10%;margin-top: 10px;"-->
<!-- :margin-bottom="20"-->
<!-- editor-type="default"-->
<!-- :no-handle-p="true"-->
<!-- :height="450"-->
<!-- placeholder="请输入"-->
<!-- />-->
<div v-if="editor">
<button :disabled="!editor.can().chain().focus().toggleBold().run()" :class="{ 'is-active': editor.isActive('bold') }" @click="editor.chain().focus().toggleBold().run()">
bold
</button>
<button :disabled="!editor.can().chain().focus().toggleItalic().run()" :class="{ 'is-active': editor.isActive('italic') }" @click="editor.chain().focus().toggleItalic().run()">
italic
</button>
<button :disabled="!editor.can().chain().focus().toggleStrike().run()" :class="{ 'is-active': editor.isActive('strike') }" @click="editor.chain().focus().toggleStrike().run()">
strike
</button>
<button :disabled="!editor.can().chain().focus().toggleCode().run()" :class="{ 'is-active': editor.isActive('code') }" @click="editor.chain().focus().toggleCode().run()">
code
</button>
<button @click="editor.chain().focus().unsetAllMarks().run()">
clear marks
</button>
<button @click="editor.chain().focus().clearNodes().run()">
clear nodes
</button>
<button :class="{ 'is-active': editor.isActive('paragraph') }" @click="editor.chain().focus().setParagraph().run()">
paragraph
</button>
<button :class="{ 'is-active': editor.isActive('heading', { level: 1 }) }" @click="editor.chain().focus().toggleHeading({ level: 1 }).run()">
h1
</button>
<button :class="{ 'is-active': editor.isActive('heading', { level: 2 }) }" @click="editor.chain().focus().toggleHeading({ level: 2 }).run()">
h2
</button>
<button :class="{ 'is-active': editor.isActive('heading', { level: 3 }) }" @click="editor.chain().focus().toggleHeading({ level: 3 }).run()">
h3
</button>
<button :class="{ 'is-active': editor.isActive('heading', { level: 4 }) }" @click="editor.chain().focus().toggleHeading({ level: 4 }).run()">
h4
</button>
<button :class="{ 'is-active': editor.isActive('heading', { level: 5 }) }" @click="editor.chain().focus().toggleHeading({ level: 5 }).run()">
h5
</button>
<button :class="{ 'is-active': editor.isActive('heading', { level: 6 }) }" @click="editor.chain().focus().toggleHeading({ level: 6 }).run()">
h6
</button>
<button :class="{ 'is-active': editor.isActive('bulletList') }" @click="editor.chain().focus().toggleBulletList().run()">
bullet list
</button>
<button :class="{ 'is-active': editor.isActive('orderedList') }" @click="editor.chain().focus().toggleOrderedList().run()">
ordered list
</button>
<button :class="{ 'is-active': editor.isActive('codeBlock') }" @click="editor.chain().focus().toggleCodeBlock().run()">
code block
</button>
<button :class="{ 'is-active': editor.isActive('blockquote') }" @click="editor.chain().focus().toggleBlockquote().run()">
blockquote
</button>
<button @click="editor.chain().focus().setHorizontalRule().run()">
horizontal rule
</button>
<button @click="editor.chain().focus().setHardBreak().run()">
hard break
</button>
<button :disabled="!editor.can().chain().focus().undo().run()" @click="editor.chain().focus().undo().run()">
undo
</button>
<button :disabled="!editor.can().chain().focus().redo().run()" @click="editor.chain().focus().redo().run()">
redo
</button>
</div>
<editor-content :editor="editor" />
<span slot="footer" class="dialog-footer">
<el-button v-loading="loading" type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button>
<el-button @click="handleClose">{{ $t('global.cancel') }}</el-button>
@ -24,32 +85,71 @@
<script>
import { editSeasonContent, getSeasonContent } from '@/api/contest';
// import QuillEditor from '@/components/QuillEditor/index';
import '@wangeditor/editor/dist/css/style.css';
import { Editor, Toolbar } from '@wangeditor/editor-for-vue';
import { Editor, EditorContent } from '@tiptap/vue-2';
import StarterKit from '@tiptap/starter-kit';
import ExtensionColor from '@tiptap/extension-color';
import ExtensionTable from '@tiptap/extension-table';
import ExtensionTableHeader from '@tiptap/extension-table-header';
import ExtensionTableRow from '@tiptap/extension-table-row';
import ExtensionTableCell from '@tiptap/extension-table-cell';
import ExtensionTextStyle from '@tiptap/extension-text-style';
import ExtensionTextAlign from '@tiptap/extension-text-align';
export default {
name: 'EditContent',
components: { Editor, Toolbar },
components: {
EditorContent
},
data() {
return {
dialogVisible: false,
seasonContent:'',
id: '',
loading: false,
editor: null,
toolbarConfig: { },
editorConfig: { placeholder: '请输入内容...' },
mode: 'default' // or 'simple'
editor: null
};
},
mounted() {
ExtensionTextAlign.configure({
types: ['heading', 'paragraph']
});
ExtensionTable.configure({
HTMLAttributes: {
class: 'my-custom-class'
}
});
ExtensionTableHeader.configure({
HTMLAttributes: {
class: 'my-custom-class1'
}
});
ExtensionTableCell.configure({
HTMLAttributes: {
class: 'my-custom-class'
}
});
this.editor = new Editor({
content: '',
extensions: [
StarterKit,
ExtensionTextStyle,
ExtensionColor,
ExtensionTable,
ExtensionTableHeader,
ExtensionTableRow,
ExtensionTableCell,
ExtensionTextAlign
],
onUpdate: () => {
}
});
},
beforeDestroy() {
const editor = this.editor;
if (editor == null) return;
editor.destroy(); //
this.editor.destroy();
},
methods:{
onCreated(editor) {
this.editor = Object.seal(editor); // Object.seal()
},
doShow(row) {
this.dialogVisible = true;
if (row) {
@ -57,6 +157,7 @@ export default {
this.id = row.id;
getSeasonContent(row.id).then(resp => {
this.seasonContent = resp.data.html || '';
this.editor.commands.setContent( this.seasonContent, false);
this.loading = false;
}).catch(e => {
this.loading = false;
@ -71,7 +172,7 @@ export default {
this.loading = false;
},
doSave() {
editSeasonContent(this.id, {htmlContent: this.seasonContent}).then(resp => {
editSeasonContent(this.id, {htmlContent: this.editor.getHTML()}).then(resp => {
this.handleClose();
this.$message.success('修改内容成功!');
}).catch(e => {
@ -81,4 +182,67 @@ export default {
}
};
</script>
<style scoped>
.my-custom-class{
border: 1px solid #5B6163;
}
.my-custom-class1 {
border: 1px solid #5B6163;
background-color: #ccc;
}
.tiptap {
> * + * {
margin-top: 0.75em;
}
ul,
ol {
padding: 0 1rem;
}
h1,
h2,
h3,
h4,
h5,
h6 {
line-height: 1.1;
}
code {
background-color: rgba(#616161, 0.1);
color: #616161;
}
pre {
background: #0D0D0D;
color: #FFF;
font-family: 'JetBrainsMono', monospace;
padding: 0.75rem 1rem;
border-radius: 0.5rem;
code {
color: inherit;
padding: 0;
background: none;
font-size: 0.8rem;
}
}
img {
max-width: 100%;
height: auto;
}
blockquote {
padding-left: 1rem;
border-left: 2px solid rgba(#0D0D0D, 0.1);
}
hr {
border: none;
border-top: 2px solid rgba(#0D0D0D, 0.1);
margin: 2rem 0;
}
}
</style>

View File

@ -131,7 +131,7 @@ export default {
picture = this.$store.state.map.map.pictureList.find(picture => picture.type === 'bigScreen');
}
if (picture) {
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap || {});
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
const deviceList = [];
const mapDevice = this.$store.state.map.mapDevice;
for (const deviceCode in mapDevice) {

View File

@ -58,7 +58,7 @@ export default {
mapPublishList: [],
pageTreeMap: {
'01': [],
'63': [
'49': [
{
// 线 线 线 线
name: '电力监控系统',

View File

@ -471,11 +471,7 @@ export default {
const audio = document.getElementById(position.toLowerCase() + '_voice');
if (!audio) { return; }
audio.pause();
if(info.url.startsWith('http')) {
audio.src = info.url;
} else {
audio.src = this.$store.state.user.ossUrl + info.url;
}
audio.src = this.$store.state.user.ossUrl + info.url;
audio.play();
const _that = this;
audio.addEventListener('ended', function() {

View File

@ -86,7 +86,7 @@ import { getByGroupStationList } from '@/api/jmap/map';
import { getToken } from '@/utils/auth';
// import { getSessionStorage } from '@/utils/auth';
import { creatSubscribe, clearSubscribe, displayTopic} from '@/utils/stomp';
import { destroySimulationByAdmin } from '@/api/simulation';
import { clearSimulation } from '@/api/simulation';
import alarmConfig from './stationConfig/dialog/alarm';
import incidentConfig from './stationConfig/dialog/incident';
@ -117,27 +117,27 @@ export default {
id: 'substation',
type: 'interface'
},
// {
// name: '',
// mode: 'energyDetected',
// id: 'energyDetected',
// type: 'interface'
// }
{
name: '能耗检测管理系统',
mode: 'energyDetected',
id: 'energyDetected',
type: 'interface'
}
] },
environment:{name:'环境与设备监控系统', type:'totalSystem', id: 'environment', active:false, icon:iscs_icon3,
children:[
// {
// name: '',
// mode: 'environmentOne',
// id: 'environmentOne',
// type: 'interface'
// },
// {
// name: '',
// mode: 'environmentTwo',
// id: 'environmentTwo',
// type: 'interface'
// },
{
name: '车站模式管理器',
mode: 'environmentOne',
id: 'environmentOne',
type: 'interface'
},
{
name: '时间管理器',
mode: 'environmentTwo',
id: 'environmentTwo',
type: 'interface'
},
{
name: '隧道通风系统',
mode: 'environmentThree',
@ -257,32 +257,32 @@ export default {
]},
signalSystem:{name:'信号系统', type:'totalSystem', id: 'signalSystem', mode: 'signalSystem', active:false, icon:iscs_icon7,
children:[
// {
// name: 'TIS',
// mode: 'tis',
// id: 'tis',
// type: 'interface',
// disabled: true
// },
{
name: 'TIS管理器',
mode: 'tis',
id: 'tis',
type: 'interface',
disabled: true
},
{
name: '列车时刻表',
mode: 'schedule',
id: 'schedule',
type: 'interface'
},
// {
// name: '',
// mode: 'signal',
// id: 'signal',
// type: 'interface'
// },
// {
// name: '线',
// mode: 'allLineSignal',
// id: 'allLineSignal',
// type: 'interface',
// disabled: true
// }
{
name: '信号系统',
mode: 'signal',
id: 'signal',
type: 'interface'
},
{
name: '全线信号系统界面',
mode: 'allLineSignal',
id: 'allLineSignal',
type: 'interface',
disabled: true
}
]},
communication:{name:'通信', type:'totalSystem', id: 'communication', active:false, icon:iscs_icon7,
children:[
@ -365,7 +365,7 @@ export default {
res.data.forEach(station => {
if (!station.depot && station.visible) {
const param = {
name: station.name,
name: station.runPlanName.includes('站') ? station.runPlanName : `${station.runPlanName}`,
id: station.code
};
@ -492,16 +492,13 @@ export default {
this.$store.dispatch('LogOut').then(() => {
location.reload();
});
} else if(this.$store.state.training.simulationCreator){
destroySimulationByAdmin(this.$route.query.group).then(resp => {
history.go(-1);
} else {
clearSimulation(this.$route.query.group).then(resp => {
this.$router.push({ path: `/trainingPlatform` });
}).catch(()=> {
this.$message.error('清除仿真失败!');
});
} else {
history.go(-1);
}
}
},
quit() {
window.close();

View File

@ -305,18 +305,7 @@ export default {
iscsDeviceMap: {},
iscsDeviceList: [],
iscsDeviceState: {},
deviceMap: {
LCD:{},
UP_STAND: {},
DOWN_STAND: {},
ADMINISTRATIVE_AREA: {},
GATE: {},
TRANSFER_CHANNEL: {},
PROPERTY: {},
OVERPASS1: {},
OVERPASS2: {},
LED: {}
},
deviceMap: {},
timedList: []
};
},
@ -347,7 +336,7 @@ export default {
}
const device = this.iscsDeviceMap[item.code];
if (device) {
const oldState = parseInt(this.deviceMap[device.position] ? this.deviceMap[device.position].state : 0);
const oldState = parseInt(this.deviceMap[device.position].state);
const newState = parseInt(item.state);
const div = document.getElementById(device.position);
if (!oldState || oldState > newState) {
@ -488,19 +477,15 @@ export default {
const audio = document.getElementById(position.toLowerCase() + '_voice');
if (!audio) { return; }
audio.pause();
if(info.url.startsWith('http')) {
audio.src = info.url;
} else {
audio.src = this.$store.state.user.ossUrl + info.url;
}
audio.src = this.$store.state.user.ossUrl + info.url;
audio.play();
// const _that = this;
// audio.addEventListener('ended', function() {
// const device = _that.iscsDeviceMap[info.code];
// const div = document.getElementById(device.position);
// _that.$set(_that.deviceMap[device.position], 'state', '0');
// div.style.background = '#CCCCCC';
// }, false);
const _that = this;
audio.addEventListener('ended', function() {
const device = _that.iscsDeviceMap[info.code];
const div = document.getElementById(device.position);
_that.$set(_that.deviceMap[device.position], 'state', '0');
div.style.background = '#CCCCCC';
}, false);
}
},
setTimerBroadcast() {
@ -616,10 +601,10 @@ export default {
type: 'BGM'
};
sendCommandNew(this.$route.query.group, 'ISCS_PA_Play', params).then(resp => {
const bgmUrl = this.$store.state.user.ossUrl + this.bgmResources[0].url;
const audio = document.getElementById('voice');
audio.src = bgmUrl;
audio.play();
// const bgmUrl = this.$store.state.user.resourcesUrl + this.bgmResources[0].url;
// const audio = document.getElementById('voice');
// audio.src = bgmUrl;
// audio.play();
}).catch(() => {
this.$message.error('背景音乐播放失败!');
});
@ -641,11 +626,11 @@ export default {
sendCommandNew(this.$route.query.group, 'ISCS_PA_Stop_Playing', { iscsDeviceCodes: iscsDeviceCodes }).then(resp => {
positionList.forEach(elem => {
const audio = document.getElementById(elem.toLowerCase() + '_voice');
audio && audio.pause();
audio.pause();
});
const audio = document.getElementById('voice');
audio.pause();
}).catch((e) => {
}).catch(() => {
this.$message.error('背景音乐终止播放失败!');
});
},
@ -715,7 +700,7 @@ export default {
type: this.videoMode
};
sendCommandNew(this.$route.query.group, 'ISCS_PA_Play', params).then(resp => {
// this.voiceUrl = this.$store.state.user.ossUrl + this.resourcesList[this.messageIndex].url;
// this.voiceUrl = this.$store.state.user.resourcesUrl + this.resourcesList[this.messageIndex].url;
// const audio = document.getElementById('voice');
// audio.src = this.voiceUrl;
// audio.play();

View File

@ -24,6 +24,7 @@ export default {
};
},
mounted() {
},
methods:{
selectIscsPane(param) {

View File

@ -62,9 +62,6 @@ export default {
watch:{
'mode':function() {
this.getInitData();
},
'stationId':function() {
this.getInitData();
}
},
mounted() {
@ -97,7 +94,6 @@ export default {
getInitData() {
let userInterface = '';
this.system = 'environment';
console.log(this.stationName, '====')
if (this.mode == 'environmentThree') {
this.title = this.stationName + ' 隧道通风系统';
this.scaleRate = window.innerWidth / 2000;

View File

@ -47,9 +47,6 @@ export default {
watch:{
'mode':function() {
this.getInitData();
},
'stationId':function() {
this.getInitData();
}
},
mounted() {

View File

@ -33,7 +33,6 @@ import PidsEmergency from '../config/pis/emergencyRelease';
import PidsMain from '../config/pis/mainScreen';
import PidsPreview from '../config/pis/timePreview';
import PidsLcd from '../config/pis/lcdControl';
import { EventBus } from '@/scripts/event-bus';
export default {
name:'StationConfig',
@ -68,14 +67,6 @@ export default {
]
};
},
mounted() {
EventBus.$on('iscsModeChange', (type) => {
this.mode = type;
});
},
beforeDestroy() {
EventBus.$off('iscsModeChange',(type) => {this.mode = type});
},
methods:{
showPane(param) {
this.mode = param.type;

Some files were not shown because too many files have changed in this diff Show More