Compare commits
249 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
99fc3ffcfb | ||
|
0d34d83747 | ||
|
4e37183818 | ||
|
92c66ab4d6 | ||
|
5a7c5fdbeb | ||
|
ae826ac205 | ||
|
84b9f52c8f | ||
|
526fd047e7 | ||
|
529c122278 | ||
|
5b1362f94b | ||
|
2d1da55ffc | ||
|
97e121a65a | ||
|
327533c003 | ||
|
e9a71a1116 | ||
|
8a80a7d732 | ||
|
cbdfc57243 | ||
|
8fbaa85b99 | ||
|
5c81fc4dcf | ||
|
b0ef9e5242 | ||
|
f14d998f19 | ||
|
f2efa437df | ||
|
32430607dd | ||
|
a1c8b4f662 | ||
|
954ee991fa | ||
|
13f16e5570 | ||
|
5470a32bb7 | ||
|
eff99d3609 | ||
|
60e7a09d69 | ||
|
45fbdf0dd7 | ||
|
904434caf3 | ||
|
9045d2a118 | ||
|
1f9541eb31 | ||
|
10e27697fb | ||
|
acf3109c0b | ||
|
a21524b839 | ||
|
2b8116afd3 | ||
|
478261512c | ||
|
f66844bc27 | ||
|
364bd1e539 | ||
|
0c4c5bebb0 | ||
|
22a2e11517 | ||
|
4841ebdda7 | ||
|
0147f270f2 | ||
|
916bc645ed | ||
|
37e0779d23 | ||
|
081d5bf630 | ||
|
27418dc041 | ||
|
cef55a4c6b | ||
|
869c86b94d | ||
|
dc2165733e | ||
|
0c5bba7c0f | ||
|
ef9165faa4 | ||
|
ae74123f18 | ||
|
b1baeaabcd | ||
|
91a8410dc2 | ||
|
c97def5fca | ||
|
31376bc221 | ||
|
5be2cea1ca | ||
|
dda44c870f | ||
|
5548806ea5 | ||
|
3fc31777a2 | ||
|
d5eb68ea1c | ||
|
bd10b05228 | ||
|
2b13ff0a5a | ||
|
5212b6417a | ||
|
5666af96cc | ||
|
6b3d83979d | ||
|
a21e880a18 | ||
|
27129e8b21 | ||
|
6c3b06c4a0 | ||
|
d1f8927355 | ||
|
f1e6121a8f | ||
|
8f14259db7 | ||
|
2c79bd847f | ||
db8f007ca8 | |||
8d4e0d2a89 | |||
abdce5a30d | |||
86aaa5d5b1 | |||
|
06aef16a5d | ||
|
506fcd481b | ||
|
7971fce1b6 | ||
|
fdaf9d81f8 | ||
|
29d5474e40 | ||
|
720546f99b | ||
|
21e5b5b659 | ||
|
0b92511070 | ||
|
b57ea909b4 | ||
|
991121f9d8 | ||
|
f134ea6b5f | ||
|
2b3b7c189d | ||
|
51e700a2ad | ||
|
a763880dac | ||
|
f4e0552a61 | ||
|
e9facb70f5 | ||
|
71ed5445c3 | ||
|
f0cea7706c | ||
|
8a15cd0d1c | ||
|
aeb581dced | ||
|
5ea69acaf8 | ||
|
6dbe1dc14c | ||
|
7b07b17e13 | ||
|
bb453012c8 | ||
|
cf94b2570d | ||
|
2ae715a936 | ||
|
3e5996aee4 | ||
|
8cf496c2ae | ||
|
31f1192de0 | ||
|
13aefab82b | ||
|
47c5168e4b | ||
|
4804cebfcd | ||
|
1ecab822f4 | ||
|
a9f18f6d61 | ||
|
c33c50005c | ||
|
56eea551fb | ||
|
007548623d | ||
|
4c67af284c | ||
|
684f32c481 | ||
|
2ef158851d | ||
|
f9c47cbac6 | ||
|
8fbddfe40d | ||
910082305d | |||
|
0598da9a2d | ||
|
ac096dd663 | ||
|
ee58c53b83 | ||
|
8e34a0f267 | ||
|
6b18628b7c | ||
|
42779dc952 | ||
|
3855087abd | ||
|
ca329a4db7 | ||
|
e32d8f9b6b | ||
|
23975cd271 | ||
|
f4e27a6e31 | ||
|
4424137da9 | ||
|
ac82fad041 | ||
fd5af534af | |||
|
06e4bb93c7 | ||
|
8a966ac5ae | ||
|
5eb2a3f80c | ||
|
e1bf3dbcea | ||
|
67ea7ef5ae | ||
|
3fc6f13c6a | ||
|
ce62a19aa0 | ||
|
d09e415720 | ||
|
503c4c4ed3 | ||
fff07141b6 | |||
80178a80f6 | |||
1d824c135e | |||
|
1318ecb97a | ||
|
e3857a75d0 | ||
|
f3ae97f7f8 | ||
|
b472601fbc | ||
|
d0a6b8e951 | ||
|
dd45877e1c | ||
|
b6edc4913b | ||
|
5c72107b90 | ||
|
c4028ee8c6 | ||
|
a7b0609389 | ||
|
204aef1583 | ||
|
c563fe8efa | ||
|
1b1ddad29e | ||
|
7fa5b1d62e | ||
|
e353289594 | ||
|
210a7d0fdd | ||
|
a373d21deb | ||
|
f2039927db | ||
|
c020d69150 | ||
|
f27fd63e29 | ||
|
857472ba72 | ||
|
1aca150711 | ||
|
8593174685 | ||
|
2bb8c6df92 | ||
|
54fb5eb47a | ||
|
95b6d019dd | ||
|
ed1c4c0e53 | ||
|
6fd16fcc95 | ||
|
8ec88a84a2 | ||
|
8e7b653bd3 | ||
|
710dd576d4 | ||
|
3e3d3622dc | ||
|
916688b47c | ||
|
1c2912285b | ||
|
47e87c0457 | ||
|
910e0c5712 | ||
|
00866bde38 | ||
|
da4020e8c6 | ||
|
bf1d744b34 | ||
|
c9dd8752c1 | ||
|
22064af280 | ||
|
d9a06f3f1e | ||
|
a03b16e60a | ||
|
6897cb6c0b | ||
|
082c075290 | ||
|
3a35705576 | ||
|
313c587314 | ||
|
401e09cdee | ||
|
b35ca66983 | ||
|
24d64b91ac | ||
|
c5d4e425e4 | ||
|
f9f05f12fd | ||
|
e47e38003e | ||
|
6802e297a8 | ||
ef7c7601b8 | |||
5dda532435 | |||
76de50fc6a | |||
|
ff9101233c | ||
44363cc3e8 | |||
|
577c1f7141 | ||
|
fa8f5dca6c | ||
|
d2cf5489b3 | ||
|
1fe561222c | ||
|
3e60f4b8e1 | ||
|
131e70c729 | ||
|
a8ce60f33e | ||
|
15cf33c850 | ||
|
d568be81ec | ||
|
0929b54f9d | ||
|
215dab7074 | ||
|
013e667452 | ||
b05cedd44c | |||
b73395f840 | |||
|
b9fa32a96a | ||
0cb4088f6c | |||
|
7677fa4607 | ||
|
226744e7f7 | ||
|
ad47f33d16 | ||
|
bf1886a534 | ||
|
f61785fc5e | ||
|
d82ab8f93c | ||
|
62be008849 | ||
|
25c8ddd667 | ||
|
62e0f34ef6 | ||
|
03611598e1 | ||
|
fc9c148753 | ||
|
87dc324d74 | ||
|
e5240b10ca | ||
|
f876c33603 | ||
|
a56505a3d0 | ||
|
ecb4c2569e | ||
|
6ed22109af | ||
|
7fbe309f70 | ||
|
c8ba0b63b7 | ||
|
3fdff6d329 | ||
|
38b1beeef5 | ||
|
4431fe9dd4 | ||
|
5bf48a83f0 | ||
|
204995be22 | ||
|
958a469ba7 | ||
|
c1698252aa | ||
000cbada55 |
52
.gitea/workflows/CICD_local_test.yaml
Normal file
52
.gitea/workflows/CICD_local_test.yaml
Normal file
@ -0,0 +1,52 @@
|
||||
---
|
||||
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
|
52
.gitea/workflows/CICD_master.yaml
Normal file
52
.gitea/workflows/CICD_master.yaml
Normal file
@ -0,0 +1,52 @@
|
||||
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
1
.gitignore
vendored
@ -4,7 +4,6 @@ dist/
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
package-lock.json
|
||||
tests/**/coverage/
|
||||
src/utils/baseUrl.js*
|
||||
|
||||
|
@ -19,6 +19,8 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@stomp/stompjs": "^5.4.4",
|
||||
"@wangeditor/editor": "^5.1.23",
|
||||
"@wangeditor/editor-for-vue": "^1.0.2",
|
||||
"axios": "^0.18.0",
|
||||
"dayjs": "^1.11.5",
|
||||
"echarts": "^4.7.0",
|
||||
@ -44,6 +46,7 @@
|
||||
"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",
|
||||
|
@ -332,6 +332,31 @@ 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
|
||||
|
@ -344,3 +344,13 @@ export function queryTagList(data) {
|
||||
data
|
||||
});
|
||||
}
|
||||
/**
|
||||
* 获取试卷创建者list
|
||||
*/
|
||||
export function queryPaperCreatorList(data) {
|
||||
return request({
|
||||
url: `/api/v2/paper/composition/list/creatorInfo`,
|
||||
method: 'POST',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
@ -323,3 +323,11 @@ export function isExistEmail(params) {
|
||||
});
|
||||
}
|
||||
|
||||
// 成工院第三方登录
|
||||
export function cgyThirdLogin(data) {
|
||||
return request({
|
||||
url: '/api/login/cgy/third',
|
||||
method: 'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
@ -346,14 +346,15 @@ class SkinCode extends defaultStyle {
|
||||
|
||||
this[deviceType.StationTurnBack] = { // 站后折返
|
||||
lamp: {
|
||||
fill: '#f1f1f1', // 填充色
|
||||
radiusR: 7 // 控制灯大小
|
||||
fill: '#ccc', // 填充色
|
||||
radiusR: 6,
|
||||
otherFill: '#0F0' // 控制灯大小
|
||||
},
|
||||
text: {
|
||||
titleTextShow: false,
|
||||
fontWeight: 580,
|
||||
fontSize: 10,
|
||||
distance: 10
|
||||
distance: 5
|
||||
},
|
||||
rect: {
|
||||
fill: 'rgba(0,0,0,0)',
|
||||
|
@ -847,18 +847,16 @@ class SkinCode extends defaultStyle {
|
||||
trainBody: {
|
||||
fontFamily: 'consolas',
|
||||
trainBodyLineWidth: 1, // 车身line宽
|
||||
changeTrainWidth: true, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度
|
||||
changeTrainWidth: false, // 是否根据车身上车组号、服务号、车次号、目的地码显示情况改变列车长度
|
||||
specialTrainType: [
|
||||
{
|
||||
type: '03',
|
||||
serviceNumber: '---',
|
||||
// nameFormat: 'groupNumber:serviceNumber'
|
||||
nameFormat:'tripNumber'
|
||||
nameFormat: 'groupNumber:serviceNumber'
|
||||
},
|
||||
{
|
||||
type: '03',
|
||||
// nameFormat: 'serviceNumber:trainNumber'
|
||||
nameFormat:'tripNumber'
|
||||
nameFormat: 'serviceNumber:trainNumber'
|
||||
}
|
||||
], // 特殊列车类型需设置显示格式
|
||||
lrPadding: 4, // 两边间隔
|
||||
@ -956,15 +954,15 @@ class SkinCode extends defaultStyle {
|
||||
directionType: [
|
||||
{
|
||||
type: 1,
|
||||
lineLShow: false,
|
||||
lineRShow: false,
|
||||
lineLShow: true,
|
||||
lineRShow: true,
|
||||
arrowLShow: false,
|
||||
arrowRShow: true
|
||||
},
|
||||
{
|
||||
type: 0,
|
||||
lineLShow: false,
|
||||
lineRShow: false,
|
||||
lineLShow: true,
|
||||
lineRShow: true,
|
||||
arrowLShow: true,
|
||||
arrowRShow: false
|
||||
}
|
||||
|
@ -189,6 +189,13 @@ class SkinCode extends defaultStyle {
|
||||
},
|
||||
lowButton:{
|
||||
display: false // 现地 信号机按钮
|
||||
},
|
||||
transmission: { // 传输信号机
|
||||
fillColor: '#f00',
|
||||
fillColorVirtual: '#f00',
|
||||
sideLength: 20,
|
||||
textColor: '#fff',
|
||||
strokeColor: '#00FFFF'
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -233,6 +233,13 @@ class SkinCode extends defaultStyle {
|
||||
fontSize: 12,
|
||||
distance: 20,
|
||||
defaultText: 'E'
|
||||
},
|
||||
transmission: { // 传输信号机
|
||||
fillColor: '#f00',
|
||||
fillColorVirtual: '#f00',
|
||||
sideLength: 20,
|
||||
textColor: '#fff',
|
||||
strokeColor: '#00FFFF'
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -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) {
|
||||
if (device && device._type !== deviceType.Switch && device._type !== deviceType.Train && device._type !== deviceType.TrainWindow) {
|
||||
const pictureDevice = store.getters['map/getPictureDeviceByCode'](item);
|
||||
device._pictureHide = pictureDevice ? pictureDevice.pictureHide : false;
|
||||
this.$painter.updatePicture(device);
|
||||
|
@ -847,6 +847,15 @@ 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;
|
||||
}
|
||||
}
|
||||
|
||||
@ -922,8 +931,8 @@ class Signal extends Group {
|
||||
// 隐藏自动信号和自动进路
|
||||
setAutoClose() {
|
||||
if (this.style.Signal.auto.autoRouteType != 'text') {
|
||||
this.sigAuto.hide();
|
||||
this.sigAuto.setColor(this.style.backgroundColor);
|
||||
this.sigAuto && this.sigAuto.hide();
|
||||
this.sigAuto && this.sigAuto.setColor(this.style.backgroundColor);
|
||||
} else {
|
||||
this.sigName.setColor(this.style.Signal.text.defaultColor);
|
||||
}
|
||||
|
@ -166,6 +166,11 @@ 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() {
|
||||
|
@ -326,9 +326,9 @@ export default class Switch extends Group {
|
||||
}
|
||||
|
||||
this.name.getTextRect().animateStyle(true)
|
||||
.when(0, { textFill: this.style.backgroundColor })
|
||||
.when(0, { textFill: this.style.transparentColor })
|
||||
.when(1000, { textFill: this.style.Switch.text.borderColor })
|
||||
.when(2000, { textFill: this.style.backgroundColor })
|
||||
.when(2000, { textFill: this.style.transparentColor })
|
||||
.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.backgroundColor });
|
||||
this.name.getTextRect().setStyle({ fill: this.style.transparentColor });
|
||||
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.backgroundColor });
|
||||
this.name.getTextRect().setStyle({ fill: this.style.transparentColor });
|
||||
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.backgroundColor });
|
||||
this.name.getTextRect().setStyle({ fill: this.style.transparentColor });
|
||||
this.setTextColor(this.style.Switch.text.fpLockColor);
|
||||
}
|
||||
}
|
||||
|
373
src/jmapNew/theme/beijing_01/menus/atsWorkMenu.vue
Normal file
373
src/jmapNew/theme/beijing_01/menus/atsWorkMenu.vue
Normal file
@ -0,0 +1,373 @@
|
||||
<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>
|
435
src/jmapNew/theme/chengdu_01/menus/atsWorkMenu.vue
Normal file
435
src/jmapNew/theme/chengdu_01/menus/atsWorkMenu.vue
Normal file
@ -0,0 +1,435 @@
|
||||
<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>
|
@ -52,7 +52,8 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '取消进路',
|
||||
@ -60,7 +61,8 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '开放自动进路',
|
||||
@ -68,7 +70,8 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '关闭自动进路',
|
||||
@ -76,7 +79,8 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '终端信号封锁',
|
||||
@ -84,7 +88,8 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_BLOCK,
|
||||
isDisabled: (signal, work) => {
|
||||
return signal.blockade !== 0;
|
||||
}
|
||||
},
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '终端信号解封',
|
||||
@ -92,7 +97,8 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK,
|
||||
isDisabled: (signal, work) => {
|
||||
return signal.blockade === 0;
|
||||
}
|
||||
},
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '引导信号',
|
||||
@ -100,7 +106,8 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '设备标签',
|
||||
@ -113,7 +120,8 @@ export default {
|
||||
cmdType: '',
|
||||
show: false
|
||||
}
|
||||
]
|
||||
],
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '模拟',
|
||||
|
@ -66,7 +66,8 @@ export default {
|
||||
} else {
|
||||
return switchDevice.normalPosition === 1;
|
||||
}
|
||||
}
|
||||
},
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '道岔反位',
|
||||
@ -78,7 +79,8 @@ export default {
|
||||
} else {
|
||||
return switchDevice.reversePosition === 1;
|
||||
}
|
||||
}
|
||||
},
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '道岔单锁',
|
||||
@ -90,7 +92,8 @@ export default {
|
||||
} else {
|
||||
return switchDevice.singleLock !== 0;
|
||||
}
|
||||
}
|
||||
},
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '道岔单解',
|
||||
@ -102,7 +105,8 @@ export default {
|
||||
} else {
|
||||
return switchDevice.singleLock !== 1;
|
||||
}
|
||||
}
|
||||
},
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
346
src/jmapNew/theme/chengdu_03/menus/atsWorkMenu.vue
Normal file
346
src/jmapNew/theme/chengdu_03/menus/atsWorkMenu.vue
Normal file
@ -0,0 +1,346 @@
|
||||
<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>
|
@ -0,0 +1,174 @@
|
||||
<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>
|
@ -8,6 +8,7 @@
|
||||
<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" />
|
||||
@ -24,6 +25,7 @@ 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';
|
||||
@ -40,7 +42,8 @@ export default {
|
||||
MenuTrain,
|
||||
PassiveAlarm,
|
||||
PassiveContorl,
|
||||
PassiveTimeout
|
||||
PassiveTimeout,
|
||||
MenuStationTurnBack
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
|
@ -2,7 +2,14 @@
|
||||
<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>
|
||||
@ -10,12 +17,22 @@ 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
|
||||
MenuBar,
|
||||
MenuSignal,
|
||||
MenuStationStand,
|
||||
MenuSwitch,
|
||||
MenuSection,
|
||||
MenuStation
|
||||
},
|
||||
props: {
|
||||
selected: {
|
||||
|
@ -350,7 +350,7 @@ export default {
|
||||
}
|
||||
}
|
||||
// 如果该信号机红灯亮 而且 所属区段左右两侧区段锁闭 执行信号重启操作
|
||||
if (signal.aspect == 'R' && isArrangementRoute) { // 信号重启
|
||||
if (signal.lockedRouteCode) { // 信号重启
|
||||
operate.over = true;
|
||||
operate.cmdType = CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL;
|
||||
operate.code = deviceList[0].code;
|
||||
@ -370,7 +370,8 @@ export default {
|
||||
this.routeList.forEach(item => {
|
||||
// item.endButtonSignalCode
|
||||
// 起始信号机 和 结束信号机按钮 过滤进路
|
||||
if (item.startSignalCode === deviceList[0].code && item.endSignalCode === deviceList[1].code) {
|
||||
const endSignalCode = item.endButtonSignalCode || item.endSignalCode;
|
||||
if (item.startSignalCode === deviceList[0].code && endSignalCode === deviceList[1].code) {
|
||||
operate.over = true;
|
||||
operate.cmdType = CMD.Signal.CMD_SIGNAL_SET_ROUTE;
|
||||
operate.code = deviceList[1].code;
|
||||
@ -396,19 +397,28 @@ export default {
|
||||
operation: this.$store.state.menuOperation.buttonOperation,
|
||||
param: {}
|
||||
};
|
||||
if (model._type === 'StationStand' && subType === 'StopJumpLamp') {
|
||||
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)) {
|
||||
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') {
|
||||
} else if (model._type === 'StationStand' && subType === 'CancelStopJumpLamp' && list2.includes(controlMode)) {
|
||||
operate.cmdType = CMD.Stand.CMD_STAND_CANCEL_JUMP_STOP;
|
||||
operate.param = {standCode: model.code, trainGroupNumber: ''};
|
||||
operate.code = model.code;
|
||||
} else if (model._type === 'AutoTurnBack' ) {
|
||||
} else if (model._type === 'AutoTurnBack' && controlMode === 'Interlock') {
|
||||
operate.cmdType = CMD.Signal.CMD_SIGNAL_SET_AUTO_TURN_BACK;
|
||||
operate.param = {cycleCode: model.cycleCode};
|
||||
operate.code = model.code;
|
||||
} else if (model._type === 'AutomaticRoute') {
|
||||
} else if (model._type === 'AutomaticRoute' && controlMode === 'Interlock') {
|
||||
const route = this.routeData[model.automaticRouteCode];
|
||||
operate.cmdType = CMD.Signal.CMD_SIGNAL_SET_CI_AUTO;
|
||||
operate.param = {signalCode: route.startSignalCode};
|
||||
@ -436,13 +446,16 @@ export default {
|
||||
operate.code = model.code;
|
||||
break;
|
||||
case 'interconnected':
|
||||
operate.cmdType = CMD.ControlConvertMenu.CMD_CM_EMERGENCY_STATION_CONTROL;
|
||||
operate.cmdType = CMD.ControlConvertMenu.CMD_CM_INTERLOCK_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 }) => {
|
||||
// 判断是否需要 弹窗密码框
|
||||
@ -559,7 +572,8 @@ export default {
|
||||
};
|
||||
let flag = false;
|
||||
this.routeList.forEach(item => {
|
||||
if (item.startSignalCode === deviceList[0].code && item.endSignalCode === deviceList[1].code) {
|
||||
const endSignalCode = item.endButtonSignalCode || item.endSignalCode;
|
||||
if (item.startSignalCode === deviceList[0].code && endSignalCode === deviceList[1].code) {
|
||||
operate.param = {routeCode: item.code, signalCode: deviceList[0].code};
|
||||
this.deviceList = [];
|
||||
flag = true;
|
||||
@ -705,38 +719,37 @@ 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) {
|
||||
if (buttonOperation === this.Signal.arrangementRoute.button.operation && list1.includes(station.controlMode)) {
|
||||
this.arrangementRouteOperation(this.deviceList);
|
||||
} else if (buttonOperation === this.MixinCommand.totalCancel.button.operation) {
|
||||
this.handelTotalCancel(model, subType);
|
||||
} else if (buttonOperation === this.Signal.humanTrainRoute.button.operation) {
|
||||
} else if (buttonOperation === this.Signal.humanTrainRoute.button.operation && list1.includes(station.controlMode)) {
|
||||
this.handleTotalHumanSolution(model);
|
||||
} else if (buttonOperation === this.Signal.guide.button.operation) {
|
||||
} else if (buttonOperation === this.Signal.guide.button.operation && list1.includes(station.controlMode)) {
|
||||
this.handleGuideRoute(this.deviceList);
|
||||
} else if (buttonOperation === this.Signal.atsAutoControl.button.operation || buttonOperation === this.Signal.humanControl.button.operation) {
|
||||
} else if ((buttonOperation === this.Signal.atsAutoControl.button.operation || buttonOperation === this.Signal.humanControl.button.operation) && list2.includes(station.controlMode)) {
|
||||
this.handelControlRoute(model);
|
||||
} else if (switchOperation.includes(buttonOperation)) {
|
||||
} else if (switchOperation.includes(buttonOperation) && list1.includes(station.controlMode)) {
|
||||
this.handelSwitchOperate(model);
|
||||
} else if (buttonOperation === this.MixinCommand.block.button.operation || buttonOperation === this.MixinCommand.unblock.button.operation) {
|
||||
} else if ((buttonOperation === this.MixinCommand.block.button.operation || buttonOperation === this.MixinCommand.unblock.button.operation) && list1.includes(station.controlMode)) {
|
||||
this.handelBlockOrUnblock(model);
|
||||
} else if (buttonOperation === this.Station.guideLock.button.operation) {
|
||||
} else if (buttonOperation === this.Station.guideLock.button.operation && station.controlMode === 'Interlock') {
|
||||
this.handelGuideLock(model);
|
||||
} else if (buttonOperation === this.Section.fault.button.operation) {
|
||||
} else if (buttonOperation === this.Section.fault.button.operation && list1.includes(station.controlMode)) {
|
||||
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('请先切换到站控或紧急站控');
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
105
src/jmapNew/theme/chengdu_03/menus/menuStationTurnBack.vue
Normal file
105
src/jmapNew/theme/chengdu_03/menus/menuStationTurnBack.vue
Normal file
@ -0,0 +1,105 @@
|
||||
<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>
|
@ -277,9 +277,9 @@ export default {
|
||||
];
|
||||
} else if (selected._type === 'Signal' && this.popClass === 'nanjing-02__systerm') {
|
||||
this.faultList = [
|
||||
{label: '无法开放(非CTC)', value: 'NO_OPEN'},
|
||||
{label: '编号闪', value: 'LIGHTING_UNIT_FAULT_NAME'},
|
||||
{label: '机头闪', value: 'LIGHTING_UNIT_FAULT_HEAD'}
|
||||
{label: '红灯断丝', value: 'R_WIRE_FAULT'},
|
||||
{label: '绿灯断丝', value: 'G_WIRE_FAULT'},
|
||||
{label: '黄灯断丝', value: 'Y_WIRE_FAULT'}
|
||||
];
|
||||
} else if (selected._type === 'Section' && this.popClass === 'nanjing-02__systerm') {
|
||||
this.faultList = [
|
||||
|
@ -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>
|
||||
|
@ -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) {
|
||||
|
@ -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)
|
||||
|
@ -168,7 +168,8 @@ export default {
|
||||
routeDataMap: null, // btnCodeList 为key
|
||||
routeButtonCodeList: [], // btnCodeList 拼接code list
|
||||
guideLockRightFlag: false,
|
||||
guideLockLeftFlag: false
|
||||
guideLockLeftFlag: false,
|
||||
continueSectionFault: false
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@ -290,6 +291,7 @@ export default {
|
||||
this.clearOperate();
|
||||
this.guideLockRightFlag = false;
|
||||
this.guideLockLeftFlag = false;
|
||||
this.continueSectionFault = false;
|
||||
}
|
||||
},
|
||||
beforeDestroy() {
|
||||
@ -330,6 +332,9 @@ 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);
|
||||
@ -417,6 +422,7 @@ export default {
|
||||
operation: operation,
|
||||
userOperationType: UserOperationType.LEFTCLICK
|
||||
};
|
||||
|
||||
// 以下 会弹出密码框 (总人解,区故解) 铅封按钮
|
||||
const operationList = [this.Signal.humanTrainRoute.button.operation,
|
||||
this.Section.fault.button.operation,
|
||||
@ -437,12 +443,30 @@ export default {
|
||||
// ];
|
||||
this.$store.dispatch('trainingNew/next', operate).then(({valid}) => {
|
||||
if (valid) {
|
||||
if (operation === this.Command.cancel.clearMbm.operation) {
|
||||
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;
|
||||
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);
|
||||
@ -781,6 +805,9 @@ 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,
|
||||
|
@ -121,6 +121,9 @@ 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);
|
||||
|
357
src/jmapNew/theme/foshan_01/menus/atsWorkMenu.vue
Normal file
357
src/jmapNew/theme/foshan_01/menus/atsWorkMenu.vue
Normal file
@ -0,0 +1,357 @@
|
||||
<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>
|
@ -65,21 +65,21 @@ export default {
|
||||
handler: this.active,
|
||||
cmdType: CMD.Section.CMD_SECTION_ACTIVE,
|
||||
isDisabled: sectionDevice => sectionDevice.cutOff !== 1,
|
||||
isShow: (signal, work) => true
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '区段切除',
|
||||
handler: this.split,
|
||||
cmdType: CMD.Section.CMD_SECTION_CUT_OFF,
|
||||
isDisabled: sectionDevice => sectionDevice.cutOff === 1,
|
||||
isShow: (signal, work) => true
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '设置临时限速',
|
||||
handler: this.setSpeed,
|
||||
cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED,
|
||||
isDisabled: (sectionDevice, work) => false,
|
||||
isShow: (signal, work) => true
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
|
||||
},
|
||||
{
|
||||
|
@ -68,7 +68,7 @@ export default {
|
||||
handler: this.arrangementRoute,
|
||||
cmdType:CMD.Signal.CMD_SIGNAL_SET_ROUTE,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => true
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '进路取消',
|
||||
@ -82,7 +82,7 @@ export default {
|
||||
handler: this.reopenSignal,
|
||||
isDisabled: (signal, work) => false,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL,
|
||||
isShow: (signal, work) => true
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
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) => true
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '进路交自动控',
|
||||
handler: this.atsAutoControl,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => true
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '设置联锁自动进路',
|
||||
@ -138,7 +138,7 @@ export default {
|
||||
handler: this.detail,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => true
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
}
|
||||
// Local: [
|
||||
// // {
|
||||
|
@ -97,7 +97,7 @@ export default {
|
||||
isDisabled: (stand, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (stand, work) => { return true; }
|
||||
isShow: (stand, work) => { return work !== 'atsWork'; }
|
||||
},
|
||||
{
|
||||
label: '强制取消扣车',
|
||||
@ -153,7 +153,7 @@ export default {
|
||||
handler: this.detail,
|
||||
cmdType:CMD.Stand.CMD_STAND_VIEW_STATUS,
|
||||
isDisabled: (stand, work) => false,
|
||||
isShow: (stand, work) => true
|
||||
isShow: (stand, work) => work !== 'atsWork'
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
352
src/jmapNew/theme/fuzhou_01/menus/atsWorkMenu.vue
Normal file
352
src/jmapNew/theme/fuzhou_01/menus/atsWorkMenu.vue
Normal file
@ -0,0 +1,352 @@
|
||||
<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>
|
@ -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,
|
||||
|
@ -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,
|
||||
|
@ -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)
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
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)
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
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)
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
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)
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
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)
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
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)
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '设置限速',
|
||||
handler: this.setSpeed,
|
||||
cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED,
|
||||
isDisabled: (section, work) => section.speedUpLimit > 0,
|
||||
isShow: (section, work) => section.type === '02'
|
||||
isShow: (section, work) => section.type === '02' && work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '取消限速',
|
||||
handler: this.cancelSpeed,
|
||||
cmdType: CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED,
|
||||
isDisabled: (section, work) => section.speedUpLimit <= 0,
|
||||
isShow: (section, work) => section.type === '02'
|
||||
isShow: (section, work) => section.type === '02' && work !== 'atsWork'
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -67,42 +67,42 @@ export default {
|
||||
handler: this.arrangementRoute,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => true
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: this.$t('menu.menuSignal.routeCancel'),
|
||||
handler: this.cancelTrainRoute,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => true
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: this.$t('menu.menuSignal.signalBlock'),
|
||||
handler: this.lock,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_BLOCK,
|
||||
isDisabled: (signal, work) => signal.blockade === 1,
|
||||
isShow: (signal, work) => true
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: this.$t('menu.menuSignal.signalDeblock'),
|
||||
handler: this.unlock,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK,
|
||||
isDisabled: (signal, work) => signal.blockade !== 1,
|
||||
isShow: (signal, work) => true
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: this.$t('menu.menuSignal.signalReopen'),
|
||||
handler: this.reopenSignal,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => true
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: this.$t('menu.menuSignal.signalOff'),
|
||||
handler: this.signalClose,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => true
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '进路引导',
|
||||
@ -165,7 +165,7 @@ export default {
|
||||
handler: this.detail,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => true
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -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) => true
|
||||
isShow: (stand, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
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) => true
|
||||
isShow: (stand, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
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) => true
|
||||
isShow: (stand, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
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) => true
|
||||
isShow: (stand, work) => work !== 'atsWork'
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -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) => true
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '道岔单解',
|
||||
handler: this.unlock,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK,
|
||||
isDisabled: (switchDevice, work) => switchDevice.singleLock !== 1,
|
||||
isShow: (switchDevice, work) => true
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '道岔封锁',
|
||||
handler: this.block,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_BLOCK,
|
||||
isDisabled: (switchDevice, work) => switchDevice.blockade === 1,
|
||||
isShow: (switchDevice, work) => true
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '道岔解封',
|
||||
handler: this.unblock,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK,
|
||||
isDisabled: (switchDevice, work) => switchDevice.blockade !== 1,
|
||||
isShow: (switchDevice, work) => true
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '道岔转动',
|
||||
handler: this.switchTurnout,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_TURN,
|
||||
isDisabled: (switchDevice, work) => false,
|
||||
isShow: (switchDevice, work) => true
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '故障解锁',
|
||||
handler: this.fault,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_FAULT_UNLOCK,
|
||||
isDisabled: (switchDevice, work) => false,
|
||||
isShow: (switchDevice, work) => true
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '计轴预复位',
|
||||
handler: this.axlePreReset,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_AXLE_PRE_RESET,
|
||||
isDisabled: (switchDevice, work) => false,
|
||||
isShow: (switchDevice, work) => true
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: this.$t('menu.menuSwitch.sectionResection'),
|
||||
handler: this.split,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_CUT_OFF,
|
||||
isDisabled: (switchDevice, work) => false,
|
||||
isShow: (switchDevice, work) => true
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: this.$t('menu.menuSwitch.sectionActive'),
|
||||
handler: this.active,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_ACTIVE,
|
||||
isDisabled: (switchDevice, work) => false,
|
||||
isShow: (switchDevice, work) => true
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '设置限速',
|
||||
handler: this.setSpeed,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED,
|
||||
isDisabled: (switchDevice, work) => false,
|
||||
isShow: (switchDevice, work) => true
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '取消限速',
|
||||
handler: this.cancelSpeed,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_CANCEL_LIMIT_SPEED,
|
||||
isDisabled: (switchDevice, work) => false,
|
||||
isShow: (switchDevice, work) => true
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -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
|
||||
// }
|
||||
]
|
||||
};
|
||||
},
|
||||
|
366
src/jmapNew/theme/haerbin_01/menus/atsWorkMenu.vue
Normal file
366
src/jmapNew/theme/haerbin_01/menus/atsWorkMenu.vue
Normal file
@ -0,0 +1,366 @@
|
||||
<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>
|
434
src/jmapNew/theme/nanjing_02/menus/atsWorkMenu.vue
Normal file
434
src/jmapNew/theme/nanjing_02/menus/atsWorkMenu.vue
Normal file
@ -0,0 +1,434 @@
|
||||
<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>
|
@ -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,6 +786,10 @@ 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) {
|
||||
|
@ -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,6 +862,10 @@ 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) {
|
||||
|
435
src/jmapNew/theme/ningbo_01/menus/atsWorkMenu.vue
Normal file
435
src/jmapNew/theme/ningbo_01/menus/atsWorkMenu.vue
Normal file
@ -0,0 +1,435 @@
|
||||
<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>
|
@ -100,7 +100,7 @@ export default {
|
||||
isDisabled: (section, work) => {
|
||||
return section.cutOff !== 1;
|
||||
},
|
||||
isShow: (section, work) => ['01', '02'].includes(section.type)
|
||||
isShow: (section, work) => ['01', '02'].includes(section.type) && work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '区段跟踪切除',
|
||||
@ -109,7 +109,7 @@ export default {
|
||||
isDisabled: (section, work) => {
|
||||
return section.cutOff === 1;
|
||||
},
|
||||
isShow: (section, work) => ['01', '02'].includes(section.type)
|
||||
isShow: (section, work) => ['01', '02'].includes(section.type) && work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '确认计轴有效',
|
||||
|
@ -69,17 +69,20 @@ export default {
|
||||
{
|
||||
label: '排列进路',
|
||||
handler: this.arrangementRoute,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '取消列车进路',
|
||||
handler: this.cancelTrainRoute,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '人解列车进路', // 信号机引导取消
|
||||
handler: this.humanTrainRoute,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
type: 'separator',
|
||||
@ -91,7 +94,8 @@ export default {
|
||||
isDisabled: (signal, work) => {
|
||||
return signal.fleetMode === 1;
|
||||
},
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '取消自动通过进路',
|
||||
@ -99,7 +103,8 @@ export default {
|
||||
isDisabled: (signal, work) => {
|
||||
return signal.fleetMode !== 1;
|
||||
},
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
type: 'separator',
|
||||
@ -108,7 +113,8 @@ export default {
|
||||
{
|
||||
label: '信号重开',
|
||||
handler: this.reopenSignal,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '封锁',
|
||||
@ -141,17 +147,20 @@ export default {
|
||||
{
|
||||
label: '进路交人工控',
|
||||
handler: this.humanControl,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '进路交自动控',
|
||||
handler: this.atsAutoControl,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '查询进路控制状态',
|
||||
handler: this.detail,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -44,7 +44,8 @@ export default {
|
||||
cmdType: CMD.ControlConvertMenu.CMD_CM_EMERGENCY_STATION_CONTROL,
|
||||
isDisabled: (selected, work) => {
|
||||
return selected.controlMode == 'Emergency';
|
||||
}
|
||||
},
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '请求站控',
|
||||
@ -52,7 +53,8 @@ export default {
|
||||
cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL,
|
||||
isDisabled: (selected, work) => {
|
||||
return selected.controlMode == 'Local';
|
||||
}
|
||||
},
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '请求遥控',
|
||||
@ -60,7 +62,8 @@ export default {
|
||||
cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL,
|
||||
isDisabled: (selected, work) => {
|
||||
return selected.controlMode == 'Center';
|
||||
}
|
||||
},
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -106,7 +106,8 @@ export default {
|
||||
cmdType:CMD.Stand.CMD_STAND_EARLY_DEPART,
|
||||
isDisabled: (stand, work) => {
|
||||
return stand.trainParking !== 1;
|
||||
}
|
||||
},
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '设置跳停',
|
||||
@ -163,7 +164,8 @@ export default {
|
||||
{
|
||||
label: '站台详细信息',
|
||||
handler: this.detail,
|
||||
cmdType:CMD.Stand.CMD_STAND_VIEW_STATUS
|
||||
cmdType:CMD.Stand.CMD_STAND_VIEW_STATUS,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -67,7 +67,8 @@ export default {
|
||||
cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION,
|
||||
isDisabled: (station, work) => {
|
||||
return station.normalPosition === 1;
|
||||
}
|
||||
},
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '反操',
|
||||
@ -75,7 +76,8 @@ export default {
|
||||
cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION,
|
||||
isDisabled: (station, work) => {
|
||||
return station.reversePosition === 1;
|
||||
}
|
||||
},
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '道岔单锁',
|
||||
|
435
src/jmapNew/theme/ningbo_03/menus/atsWorkMenu.vue
Normal file
435
src/jmapNew/theme/ningbo_03/menus/atsWorkMenu.vue
Normal file
@ -0,0 +1,435 @@
|
||||
<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>
|
@ -42,7 +42,8 @@ export default {
|
||||
{
|
||||
label: '取消全线临时限速',
|
||||
handler: this.cancelSpeed,
|
||||
cmdType: CMD.LimitControl.CMD_CANCEL_ALL_LIMIT_SPEED
|
||||
cmdType: CMD.LimitControl.CMD_CANCEL_ALL_LIMIT_SPEED,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
]
|
||||
};
|
||||
|
@ -81,12 +81,14 @@ export default {
|
||||
{
|
||||
label: '初始化',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_section_open_init,
|
||||
handler: this.handlerInitOpen
|
||||
handler: this.handlerInitOpen,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '确定/取消',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_section_open_sure,
|
||||
handler: this.handlerOpen
|
||||
handler: this.handlerOpen,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -96,12 +98,14 @@ export default {
|
||||
{
|
||||
label: '初始化',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_section_close_init,
|
||||
handler: this.handlerInitClose
|
||||
handler: this.handlerInitClose,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '确定/取消',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_section_close_sure,
|
||||
handler: this.handlerClose
|
||||
handler: this.handlerClose,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -114,12 +118,14 @@ export default {
|
||||
{
|
||||
label: '初始化',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_section_setSpeed_init,
|
||||
handler: this.handlerInitSetLimit
|
||||
handler: this.handlerInitSetLimit,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '确定/取消',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_section_setSpeed_sure,
|
||||
handler: this.handlerSetLimit
|
||||
handler: this.handlerSetLimit,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -129,12 +135,14 @@ export default {
|
||||
{
|
||||
label: '初始化',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_section_clearSpeed_init,
|
||||
handler: this.handlerInitCancelLimit
|
||||
handler: this.handlerInitCancelLimit,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '确定/取消',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_section_clearSpeed_sure,
|
||||
handler: this.handlerCancelLimit
|
||||
handler: this.handlerCancelLimit,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -143,7 +151,8 @@ export default {
|
||||
{
|
||||
label: '显示',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_section_detail,
|
||||
handler: this.handlerDetail
|
||||
handler: this.handlerDetail,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -87,17 +87,20 @@ export default {
|
||||
{
|
||||
label: '初始化',
|
||||
operate: OperationEvent.Signal.guide.initMenu,
|
||||
handler: this.handlerInitGuide
|
||||
handler: this.handlerInitGuide,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '确定/取消',
|
||||
operate: OperationEvent.Signal.guide.menu,
|
||||
handler: this.handlerGuide
|
||||
handler: this.handlerGuide,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '清除',
|
||||
operate: OperationEvent.Signal.cancelGuide.menu,
|
||||
handler: this.handlerCancelGuide
|
||||
handler: this.handlerCancelGuide,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
]
|
||||
|
||||
@ -108,12 +111,14 @@ export default {
|
||||
{
|
||||
label: '初始化',
|
||||
operate: OperationEvent.Signal.lock.initMenu,
|
||||
handler: this.handlerInitAllowLock
|
||||
handler: this.handlerInitAllowLock,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '确定/取消',
|
||||
operate: OperationEvent.Signal.lock.menu,
|
||||
handler: this.handlerAllowLock
|
||||
handler: this.handlerAllowLock,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -123,18 +128,21 @@ export default {
|
||||
{
|
||||
label: '命令',
|
||||
operate: OperationEvent.Signal.arrangementRoute.menu,
|
||||
handler: this.handlerRouteCommand
|
||||
handler: this.handlerRouteCommand,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '显示',
|
||||
children: [
|
||||
{
|
||||
label: 'CBTC进路信息',
|
||||
handler: this.undeveloped
|
||||
handler: this.undeveloped,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '后备进路信息',
|
||||
handler: this.undeveloped
|
||||
handler: this.undeveloped,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
]
|
||||
}
|
||||
@ -144,7 +152,8 @@ export default {
|
||||
label: '信号指示模式',
|
||||
operate: OperationEvent.Signal.reopenSignal.menu,
|
||||
handler: this.handlerSignalModel,
|
||||
cmdType: ''
|
||||
cmdType: '',
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '封锁',
|
||||
@ -152,12 +161,14 @@ export default {
|
||||
{
|
||||
label: '初始化',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_signal_block_init,
|
||||
handler: this.handlerInitBlock
|
||||
handler: this.handlerInitBlock,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '确认/取消',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_signal_block_sure,
|
||||
handler: this.handlerBlock
|
||||
handler: this.handlerBlock,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -167,19 +178,22 @@ export default {
|
||||
{
|
||||
label: '初始化',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_signal_unblock_init,
|
||||
handler: this.handlerInitUnblock
|
||||
handler: this.handlerInitUnblock,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '确认/取消',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_signal_unblock_sure,
|
||||
handler: this.handlerUnblock
|
||||
handler: this.handlerUnblock,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '显示',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_signal_detail,
|
||||
handler: this.handlerDetail
|
||||
handler: this.handlerDetail,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -60,32 +60,38 @@ export default {
|
||||
{
|
||||
label: '开放/关闭',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_stand_openOrClose,
|
||||
handler: this.handlerOpenOrClose
|
||||
handler: this.handlerOpenOrClose,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '设置/取消扣车',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_stand_holdOrNot,
|
||||
handler: this.handlerDetain
|
||||
handler: this.handlerDetain,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '设置站间列车数量',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_stand_trainNum,
|
||||
handler: this.undeveloped
|
||||
handler: this.undeveloped,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '分配停站时间',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_stand_stopTime,
|
||||
handler: this.handlerAllocateTime
|
||||
handler: this.handlerAllocateTime,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '授权转移',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_stand_transfer,
|
||||
handler: this.handlerStationTransfer
|
||||
handler: this.handlerStationTransfer,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '显示',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_stand_detail,
|
||||
handler: this.handlerDetail
|
||||
handler: this.handlerDetail,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
@ -212,9 +218,3 @@ export default {
|
||||
this.$alert('实现中......', '提示', {
|
||||
confirmButtonText: '确定',
|
||||
callback: action => {
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
@ -72,7 +72,8 @@ export default {
|
||||
{
|
||||
label: '命令',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_switch_cmd,
|
||||
handler: this.handlerCommand
|
||||
handler: this.handlerCommand,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
|
||||
},
|
||||
{
|
||||
@ -81,12 +82,14 @@ export default {
|
||||
{
|
||||
label: '初始化',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_switch_block_init,
|
||||
handler: this.handlerInitBlock
|
||||
handler: this.handlerInitBlock,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '确定/取消',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_switch_block_sure,
|
||||
handler: this.handlerBlock
|
||||
handler: this.handlerBlock,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -96,12 +99,14 @@ export default {
|
||||
{
|
||||
label: '初始化',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_switch_unblock_init,
|
||||
handler: this.handlerInitUnblock
|
||||
handler: this.handlerInitUnblock,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '确定/取消',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_switch_unblock_sure,
|
||||
handler: this.handlerUnblock
|
||||
handler: this.handlerUnblock,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -111,20 +116,23 @@ export default {
|
||||
{
|
||||
label: '请求或授权/取消',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_switch_empower_init,
|
||||
handler: this.handlerActive
|
||||
handler: this.handlerActive,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '显示',
|
||||
disabled: true,
|
||||
operate: OperationEvent.Command.commandNingBo3.line_switch_empower_sure,
|
||||
handler: this.undeveloped
|
||||
handler: this.undeveloped,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
label: '显示',
|
||||
operate: OperationEvent.Command.commandNingBo3.line_switch_detail,
|
||||
handler: this.handlerDetail
|
||||
handler: this.handlerDetail,
|
||||
isShow: (selected, work) => work !== 'atsWork'
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
360
src/jmapNew/theme/race_01/menus/atsWorkMenu.vue
Normal file
360
src/jmapNew/theme/race_01/menus/atsWorkMenu.vue
Normal file
@ -0,0 +1,360 @@
|
||||
<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>
|
@ -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)
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '区段跟踪切除',
|
||||
handler: this.split,
|
||||
cmdType: CMD.Section.CMD_SECTION_CUT_OFF,
|
||||
isDisabled: (section, work) => false,
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type)
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '区段封锁',
|
||||
|
@ -64,7 +64,7 @@ export default {
|
||||
handler: this.arrangementRoute,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => true,
|
||||
isShow: (signal, work) => work !== 'atsWork',
|
||||
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) => true,
|
||||
isShow: (signal, work) => work !== 'atsWork',
|
||||
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) => true
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '信号机引导办理',
|
||||
@ -94,7 +94,7 @@ export default {
|
||||
handler: this.humanTrainRoute,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_GUIDE,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => true
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
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) => true,
|
||||
isShow: (signal, work) => work !== 'atsWork',
|
||||
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) => true,
|
||||
isShow: (signal, work) => work !== 'atsWork',
|
||||
isAvailableInOtherControlMode: true
|
||||
},
|
||||
{
|
||||
@ -159,7 +159,7 @@ export default {
|
||||
handler: this.detail,
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL,
|
||||
isDisabled: (signal, work) => false,
|
||||
isShow: (signal, work) => true
|
||||
isShow: (signal, work) => work !== 'atsWork'
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -91,7 +91,7 @@ export default {
|
||||
handler: this.execKeyOperationTest,
|
||||
cmdType: CMD.Station.CMD_STATION_KEY_OPERATION_TEST,
|
||||
isDisabled: (station, work) => false,
|
||||
isShow: (station, work) => true
|
||||
isShow: (station, work) => work !== 'atsWork'
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -155,7 +155,7 @@ export default {
|
||||
handler: this.detail,
|
||||
cmdType: CMD.Stand.CMD_STAND_VIEW_STATUS,
|
||||
isDisabled: (stand, work) => false,
|
||||
isShow: (stand, work) => true
|
||||
isShow: (stand, work) => work !== 'atsWork'
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
@ -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) => true
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '反操',
|
||||
handler: this.reverse,
|
||||
cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION,
|
||||
isDisabled: (switchDevice, work) => switchDevice.reversePosition === 1,
|
||||
isShow: (switchDevice, work) => true
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
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) => true
|
||||
isShow: (switchDevice, work) => work !== 'atsWork'
|
||||
}
|
||||
],
|
||||
menuForce: [
|
||||
|
491
src/jmapNew/theme/xian_01/menus/atsWorkMenu.vue
Normal file
491
src/jmapNew/theme/xian_01/menus/atsWorkMenu.vue
Normal file
@ -0,0 +1,491 @@
|
||||
<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>
|
@ -68,7 +68,7 @@ export default {
|
||||
return section.blockade === 1;
|
||||
}
|
||||
},
|
||||
isShow: (section, work) => ['01', '02'].includes(section.type)
|
||||
isShow: (section, work) => ['01', '02'].includes(section.type) && work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '区段解封',
|
||||
@ -81,7 +81,7 @@ export default {
|
||||
return section.blockade !== 1;
|
||||
}
|
||||
},
|
||||
isShow: (section, work) => ['01', '02'].includes(section.type)
|
||||
isShow: (section, work) => ['01', '02'].includes(section.type) && work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '故障解锁',
|
||||
@ -90,7 +90,7 @@ export default {
|
||||
isDisabled: (section, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type)
|
||||
isShow: (section, work) => ['01', '02', '03'].includes(section.type) && work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '设置限速',
|
||||
@ -99,7 +99,7 @@ export default {
|
||||
isDisabled: (section, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (section, work) => section.type === '02'
|
||||
isShow: (section, work) => section.type === '02' && work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '取消限速',
|
||||
@ -108,7 +108,7 @@ export default {
|
||||
isDisabled: (section, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (section, work) => section.type === '02'
|
||||
isShow: (section, work) => section.type === '02' && work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '区段切除',
|
||||
|
@ -68,6 +68,9 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -76,6 +79,9 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -88,6 +94,9 @@ export default {
|
||||
} else {
|
||||
return signal.blockade === 1;
|
||||
}
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -100,6 +109,9 @@ export default {
|
||||
} else {
|
||||
return signal.blockade !== 1;
|
||||
}
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -108,6 +120,9 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -116,6 +131,9 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -124,6 +142,9 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -63,6 +63,9 @@ export default {
|
||||
} else {
|
||||
return switchDevice.singleLock === 1;
|
||||
}
|
||||
},
|
||||
isShow: (switchDevice, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -75,6 +78,9 @@ export default {
|
||||
} else {
|
||||
return switchDevice.singleLock !== 1;
|
||||
}
|
||||
},
|
||||
isShow: (switchDevice, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -87,6 +93,9 @@ export default {
|
||||
} else {
|
||||
return switchDevice.blockade === 1;
|
||||
}
|
||||
},
|
||||
isShow: (switchDevice, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -99,6 +108,9 @@ export default {
|
||||
} else {
|
||||
return switchDevice.blockade !== 1;
|
||||
}
|
||||
},
|
||||
isShow: (switchDevice, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -107,6 +119,9 @@ export default {
|
||||
cmdType:CMD.Switch.CMD_SWITCH_TURN,
|
||||
isDisabled: (switchDevice, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (switchDevice, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -115,6 +130,9 @@ export default {
|
||||
cmdType:CMD.Switch.CMD_SWITCH_FAULT_UNLOCK,
|
||||
isDisabled: (switchDevice, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (switchDevice, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
// {
|
||||
@ -156,6 +174,9 @@ export default {
|
||||
cmdType:CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED,
|
||||
isDisabled: (switchDevice, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (switchDevice, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -164,6 +185,9 @@ export default {
|
||||
cmdType:CMD.Switch.CMD_SWITCH_CANCEL_LIMIT_SPEED,
|
||||
isDisabled: (switchDevice, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (switchDevice, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
}
|
||||
],
|
||||
|
550
src/jmapNew/theme/xian_02/menus/atsWorkMenu.vue
Normal file
550
src/jmapNew/theme/xian_02/menus/atsWorkMenu.vue
Normal file
@ -0,0 +1,550 @@
|
||||
<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>
|
@ -56,6 +56,9 @@ export default {
|
||||
} else {
|
||||
return signal.lock === 1;
|
||||
}
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -68,6 +71,9 @@ export default {
|
||||
} else {
|
||||
return signal.lock !== 1;
|
||||
}
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -80,6 +86,9 @@ export default {
|
||||
} else {
|
||||
return signal.fleetMode === 1;
|
||||
}
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -92,6 +101,9 @@ export default {
|
||||
} else {
|
||||
return signal.fleetMode !== 1;
|
||||
}
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -104,6 +116,9 @@ export default {
|
||||
} else {
|
||||
return signal.blockade === 1;
|
||||
}
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -116,6 +131,9 @@ export default {
|
||||
} else {
|
||||
return signal.blockade !== 1;
|
||||
}
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -124,6 +142,9 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
// 暂无功能,先disabled掉
|
||||
@ -131,6 +152,9 @@ export default {
|
||||
label: '设备标签',
|
||||
disabled: true,
|
||||
isDisabled: (signal, work) => true,
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
},
|
||||
children: [
|
||||
{
|
||||
label: '创建设备标签',
|
||||
@ -160,6 +184,9 @@ export default {
|
||||
cmdType: CMD.Signal.CMD_SIGNAL_DETAIL,
|
||||
isDisabled: (signal, work) => {
|
||||
return false;
|
||||
},
|
||||
isShow: (signal, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
}
|
||||
],
|
||||
|
@ -58,7 +58,10 @@ export default {
|
||||
} else {
|
||||
return station.controlMode === 'Center';
|
||||
}
|
||||
}
|
||||
},
|
||||
isShow: (station, work) => {
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
{
|
||||
// 暂无功能,先disabled
|
||||
@ -72,7 +75,7 @@ export default {
|
||||
return station.apply2TheControlMode !== 'Local';
|
||||
}
|
||||
},
|
||||
isShow: (station, work) => true
|
||||
isShow: (station, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '取消',
|
||||
@ -86,7 +89,7 @@ export default {
|
||||
}
|
||||
},
|
||||
isShow: (station, work) => {
|
||||
return true;
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
},
|
||||
// /** 紧急站控 */
|
||||
@ -103,7 +106,7 @@ export default {
|
||||
}
|
||||
},
|
||||
isShow: (station, work) => {
|
||||
return true;
|
||||
return work !== 'atsWork';
|
||||
}
|
||||
}
|
||||
]
|
||||
|
@ -66,7 +66,8 @@ export default {
|
||||
} else {
|
||||
return station.normalPosition === 1;
|
||||
}
|
||||
}
|
||||
},
|
||||
isShow: (station, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '道岔反位',
|
||||
@ -78,7 +79,8 @@ export default {
|
||||
} else {
|
||||
return station.reversePosition === 1;
|
||||
}
|
||||
}
|
||||
},
|
||||
isShow: (station, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '道岔单锁',
|
||||
@ -90,7 +92,8 @@ export default {
|
||||
} else {
|
||||
return station.singleLock === 1;
|
||||
}
|
||||
}
|
||||
},
|
||||
isShow: (station, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
label: '道岔单解',
|
||||
@ -102,7 +105,8 @@ export default {
|
||||
} else {
|
||||
return station.singleLock !== 1;
|
||||
}
|
||||
}
|
||||
},
|
||||
isShow: (station, work) => work !== 'atsWork'
|
||||
},
|
||||
{
|
||||
// 暂无功能,先disabled掉
|
||||
|
@ -28,6 +28,11 @@ 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控制台
|
||||
|
@ -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 } from '@/utils/auth';
|
||||
import { setToken, getToken, getSessionStorage, setSessionStorage, removeToken } 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']; // 不重定向白名单
|
||||
const whiteList = ['/login', '/design/login', '/loginNew', '/gzzbxy/relay', '/authorization', '/AUSline', '/AUStool', '/demo', '/thirdLogin', '/cgyLogin']; // 不重定向白名单
|
||||
|
||||
// 登录路径判断获取
|
||||
function getRouteInfo(to) {
|
||||
@ -83,7 +83,10 @@ function handleRoute(to, next, loginPath) {
|
||||
// store.dispatch('subscribe', {header, type: getSessionStorage('project')});
|
||||
// }
|
||||
// }
|
||||
router.beforeEach( async (to, from, next) => {
|
||||
router.beforeEach(async (to, from, next) => {
|
||||
if (to.path == '/thirdLogin') { // 到第三方登录页面时先删除之前的token
|
||||
removeToken();
|
||||
}
|
||||
// 判断第三方登陆
|
||||
if (to.query.thirdJump) {
|
||||
setToken(to.query.key);
|
||||
|
@ -220,6 +220,7 @@ 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');
|
||||
@ -430,6 +431,11 @@ export const constantRoutes = [
|
||||
component: ThirdJumpSim,
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '/cgyLogin',
|
||||
component: CgyLogin,
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '/404',
|
||||
component: Errpr404,
|
||||
|
@ -205,7 +205,8 @@ export default {
|
||||
{ label: '站台PIS', value: 'PIS_STAND' },
|
||||
{ label: '列车PIS', value: 'PIS_TRAIN' },
|
||||
{ label: '乘客PIS', value: 'PIS' },
|
||||
{ label: 'TMS', value: 'TMS' }
|
||||
{ label: 'TMS', value: 'TMS' },
|
||||
{ label: 'PA', value: 'PA' }
|
||||
],
|
||||
responderTypeList: [{ name: '固定应答器', value: 'FB' }, { name: '可变应答器', value: 'VB' }, { name: '填充应答器', value: 'IB' }],
|
||||
loadRuleList: [
|
||||
|
@ -407,7 +407,8 @@ export const ClientList = [
|
||||
{ label: '运行图预览', value: 'diagramPreview' },
|
||||
{ label: '运行图编制', value: 'diagramEdit' },
|
||||
{ label: '乘客信息发布系统', value: 'pisScreen' },
|
||||
{ label: 'TMS', value: 'tms' }
|
||||
{ label: 'TMS', value: 'tms' },
|
||||
{ label: 'PA', value: 'paScreen' }
|
||||
];
|
||||
/** 实训类型list */
|
||||
export const TrainingTypeList = [
|
||||
|
@ -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);
|
||||
});
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { objectIsEqual } from '@/utils/date';
|
||||
import { objectIsEqualSp } 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 objectIsEqual(param1, param2) || objectIsEqual(linkParam, param2);
|
||||
return objectIsEqualSp(param1, param2) || objectIsEqualSp(linkParam, param2);
|
||||
} else {
|
||||
return objectIsEqual(param1, param2);
|
||||
return objectIsEqualSp(param1, param2);
|
||||
}
|
||||
}
|
||||
// 判断实训操作正确性
|
||||
|
@ -629,13 +629,6 @@ const map = {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
stationCircleList: state => {
|
||||
if (state.nccData) {
|
||||
return state.nccData.stationCircleList || [];
|
||||
} else {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
// trainDetails: (state) => {
|
||||
// return state.trainDetails;
|
||||
// },
|
||||
@ -889,7 +882,7 @@ const map = {
|
||||
if (station.ciStation) {
|
||||
const centrailzedList = [station.code];
|
||||
state.stationControlMap[station.code] = centrailzedList;
|
||||
station.relStationCodeList.forEach(relStationCode => {
|
||||
station.relStationCodeList && station.relStationCodeList.forEach(relStationCode => {
|
||||
state.stationControlMap[relStationCode] = centrailzedList;
|
||||
if (state.mapDevice[relStationCode].centralized && !centrailzedList.includes(relStationCode)) {
|
||||
centrailzedList.push(relStationCode);
|
||||
|
@ -83,6 +83,7 @@ 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) => {
|
||||
|
@ -121,3 +121,44 @@ 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;
|
||||
}
|
||||
|
@ -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/001/tms`;
|
||||
topic = `/queue/simulation/${group}/train/${param.groupNumber}/tms`;
|
||||
break;
|
||||
case 'PIS_STAND':
|
||||
topic = `/queue/simulation/${group}/standPis/${param.standCode}`;
|
||||
|
116
src/views/contest/PlayVideo.vue
Normal file
116
src/views/contest/PlayVideo.vue
Normal file
@ -0,0 +1,116 @@
|
||||
<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>
|
@ -44,24 +44,30 @@
|
||||
</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" v-loading="loading" type="primary" @click="startTask">开始任务</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-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
|
||||
ScoreRule,
|
||||
PlayVideo
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -145,6 +151,9 @@ export default {
|
||||
this.nowKey++;
|
||||
this.nowData = this.taskList[this.nowKey];
|
||||
},
|
||||
playSceneVideo() {
|
||||
this.$refs.playVideo.doShow(this.nowData.sceneId);
|
||||
},
|
||||
startTask() {
|
||||
this.loading = true;
|
||||
try {
|
||||
@ -173,6 +182,17 @@ 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);
|
||||
},
|
||||
|
@ -235,6 +235,14 @@ 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;
|
||||
}
|
||||
|
@ -1,13 +1,20 @@
|
||||
<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: {
|
||||
@ -28,7 +35,7 @@ export default {
|
||||
type: 'select',
|
||||
label: '类 型',
|
||||
config: {
|
||||
data: [{label: '二维', value: 'Local'}, {label: '三维', value: 'Link'}]
|
||||
data: [{label: '二维', value: 'Local'}, {label: '三维', value: 'Link'}, {label: '视频', value: 'Video'}]
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -50,7 +57,15 @@ export default {
|
||||
title: '类 型',
|
||||
prop: 'type',
|
||||
type: 'tag',
|
||||
columnValue: (row) => { return row.type === 'Local' ? '二维' : '三维'; },
|
||||
columnValue: (row) => {
|
||||
if (row.type === 'Local') {
|
||||
return '二维';
|
||||
} else if (row.type === 'Link') {
|
||||
return '三维';
|
||||
} else {
|
||||
return '视频';
|
||||
}
|
||||
},
|
||||
tagType: (row) => { return ''; }
|
||||
},
|
||||
{
|
||||
@ -72,10 +87,20 @@ export default {
|
||||
title: '操 作',
|
||||
width: '320',
|
||||
buttons: [
|
||||
// {
|
||||
// name: '编辑',
|
||||
// handleClick: this.doEdit
|
||||
// },
|
||||
{
|
||||
name: '编辑',
|
||||
handleClick: this.doEdit,
|
||||
showControl: row => {
|
||||
return row.type == 'Video';
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '编辑',
|
||||
handleClick: this.doEditLink,
|
||||
showControl: row => {
|
||||
return row.type == 'Link';
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '删 除',
|
||||
handleClick: this.doDelete,
|
||||
@ -83,10 +108,11 @@ export default {
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
actions: [
|
||||
{ text: '上 传', handler: this.doUpload },
|
||||
{ text: '添 加', handler: this.doUpThree }
|
||||
]
|
||||
// actions: [
|
||||
// { text: '添 加', handler: this.doCreate }
|
||||
// ]
|
||||
}
|
||||
};
|
||||
},
|
||||
@ -94,11 +120,17 @@ export default {
|
||||
reloadTable() {
|
||||
this.queryList.reload();
|
||||
},
|
||||
doCreate() {
|
||||
// this.$refs.addSeason.doShow();
|
||||
doUpload() {
|
||||
this.$refs.uploadVideo.doShow();
|
||||
},
|
||||
doEdit(row) {
|
||||
// this.$refs.addSeason.doShow(row);
|
||||
doEdit(index, row) {
|
||||
this.$refs.uploadVideo.doShow(row.id);
|
||||
},
|
||||
doUpThree() {
|
||||
this.$refs.upThree.doShow();
|
||||
},
|
||||
doEditLink(index, row) {
|
||||
this.$refs.upThree.doShow(row.id);
|
||||
},
|
||||
doDelete(index, row) {
|
||||
this.$confirm('该操作将删除竞赛场景,是否继续?', '提 示', {
|
||||
|
238
src/views/contestDataManage/contestSceneManage/UploadVideo.vue
Normal file
238
src/views/contestDataManage/contestSceneManage/UploadVideo.vue
Normal file
@ -0,0 +1,238 @@
|
||||
<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>
|
108
src/views/contestDataManage/contestSceneManage/addThree.vue
Normal file
108
src/views/contestDataManage/contestSceneManage/addThree.vue
Normal file
@ -0,0 +1,108 @@
|
||||
<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>
|
||||
|
@ -1,15 +1,20 @@
|
||||
<template>
|
||||
<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="请输入"
|
||||
/>
|
||||
<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"
|
||||
/>
|
||||
</div>
|
||||
<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>
|
||||
@ -18,21 +23,33 @@
|
||||
</template>
|
||||
<script>
|
||||
import { editSeasonContent, getSeasonContent } from '@/api/contest';
|
||||
import QuillEditor from '@/components/QuillEditor/index';
|
||||
// import QuillEditor from '@/components/QuillEditor/index';
|
||||
import '@wangeditor/editor/dist/css/style.css';
|
||||
import { Editor, Toolbar } from '@wangeditor/editor-for-vue';
|
||||
export default {
|
||||
name: 'EditContent',
|
||||
components: {
|
||||
QuillEditor
|
||||
},
|
||||
components: { Editor, Toolbar },
|
||||
data() {
|
||||
return {
|
||||
dialogVisible: false,
|
||||
seasonContent:'',
|
||||
id: '',
|
||||
loading: false
|
||||
loading: false,
|
||||
editor: null,
|
||||
toolbarConfig: { },
|
||||
editorConfig: { placeholder: '请输入内容...' },
|
||||
mode: 'default' // or 'simple'
|
||||
};
|
||||
},
|
||||
beforeDestroy() {
|
||||
const editor = this.editor;
|
||||
if (editor == null) return;
|
||||
editor.destroy(); // 组件销毁时,及时销毁编辑器
|
||||
},
|
||||
methods:{
|
||||
onCreated(editor) {
|
||||
this.editor = Object.seal(editor); // 一定要用 Object.seal() ,否则会报错
|
||||
},
|
||||
doShow(row) {
|
||||
this.dialogVisible = true;
|
||||
if (row) {
|
||||
|
@ -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) {
|
||||
|
@ -58,7 +58,7 @@ export default {
|
||||
mapPublishList: [],
|
||||
pageTreeMap: {
|
||||
'01': [],
|
||||
'49': [
|
||||
'63': [
|
||||
{
|
||||
// 牵引降压混合变电所主接线图 变电所接线图 降压变电所主接线图 解除网图 混合变电所主接线图
|
||||
name: '电力监控系统',
|
||||
|
@ -471,7 +471,11 @@ export default {
|
||||
const audio = document.getElementById(position.toLowerCase() + '_voice');
|
||||
if (!audio) { return; }
|
||||
audio.pause();
|
||||
audio.src = this.$store.state.user.ossUrl + info.url;
|
||||
if(info.url.startsWith('http')) {
|
||||
audio.src = info.url;
|
||||
} else {
|
||||
audio.src = this.$store.state.user.ossUrl + info.url;
|
||||
}
|
||||
audio.play();
|
||||
const _that = this;
|
||||
audio.addEventListener('ended', function() {
|
||||
|
@ -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 { clearSimulation } from '@/api/simulation';
|
||||
import { destroySimulationByAdmin } 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.runPlanName.includes('站') ? station.runPlanName : `${station.runPlanName}站`,
|
||||
name: station.name,
|
||||
id: station.code
|
||||
};
|
||||
|
||||
@ -492,13 +492,16 @@ export default {
|
||||
this.$store.dispatch('LogOut').then(() => {
|
||||
location.reload();
|
||||
});
|
||||
} else {
|
||||
clearSimulation(this.$route.query.group).then(resp => {
|
||||
this.$router.push({ path: `/trainingPlatform` });
|
||||
} else if(this.$store.state.training.simulationCreator){
|
||||
destroySimulationByAdmin(this.$route.query.group).then(resp => {
|
||||
history.go(-1);
|
||||
}).catch(()=> {
|
||||
this.$message.error('清除仿真失败!');
|
||||
});
|
||||
}
|
||||
} else {
|
||||
history.go(-1);
|
||||
}
|
||||
|
||||
},
|
||||
quit() {
|
||||
window.close();
|
||||
|
@ -305,7 +305,18 @@ export default {
|
||||
iscsDeviceMap: {},
|
||||
iscsDeviceList: [],
|
||||
iscsDeviceState: {},
|
||||
deviceMap: {},
|
||||
deviceMap: {
|
||||
LCD:{},
|
||||
UP_STAND: {},
|
||||
DOWN_STAND: {},
|
||||
ADMINISTRATIVE_AREA: {},
|
||||
GATE: {},
|
||||
TRANSFER_CHANNEL: {},
|
||||
PROPERTY: {},
|
||||
OVERPASS1: {},
|
||||
OVERPASS2: {},
|
||||
LED: {}
|
||||
},
|
||||
timedList: []
|
||||
};
|
||||
},
|
||||
@ -336,7 +347,7 @@ export default {
|
||||
}
|
||||
const device = this.iscsDeviceMap[item.code];
|
||||
if (device) {
|
||||
const oldState = parseInt(this.deviceMap[device.position].state);
|
||||
const oldState = parseInt(this.deviceMap[device.position] ? this.deviceMap[device.position].state : 0);
|
||||
const newState = parseInt(item.state);
|
||||
const div = document.getElementById(device.position);
|
||||
if (!oldState || oldState > newState) {
|
||||
@ -477,15 +488,19 @@ export default {
|
||||
const audio = document.getElementById(position.toLowerCase() + '_voice');
|
||||
if (!audio) { return; }
|
||||
audio.pause();
|
||||
audio.src = this.$store.state.user.ossUrl + info.url;
|
||||
if(info.url.startsWith('http')) {
|
||||
audio.src = info.url;
|
||||
} else {
|
||||
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() {
|
||||
@ -601,10 +616,10 @@ export default {
|
||||
type: 'BGM'
|
||||
};
|
||||
sendCommandNew(this.$route.query.group, 'ISCS_PA_Play', params).then(resp => {
|
||||
// const bgmUrl = this.$store.state.user.resourcesUrl + this.bgmResources[0].url;
|
||||
// const audio = document.getElementById('voice');
|
||||
// audio.src = bgmUrl;
|
||||
// audio.play();
|
||||
const bgmUrl = this.$store.state.user.ossUrl + this.bgmResources[0].url;
|
||||
const audio = document.getElementById('voice');
|
||||
audio.src = bgmUrl;
|
||||
audio.play();
|
||||
}).catch(() => {
|
||||
this.$message.error('背景音乐播放失败!');
|
||||
});
|
||||
@ -626,11 +641,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.pause();
|
||||
audio && audio.pause();
|
||||
});
|
||||
const audio = document.getElementById('voice');
|
||||
audio.pause();
|
||||
}).catch(() => {
|
||||
}).catch((e) => {
|
||||
this.$message.error('背景音乐终止播放失败!');
|
||||
});
|
||||
},
|
||||
@ -700,7 +715,7 @@ export default {
|
||||
type: this.videoMode
|
||||
};
|
||||
sendCommandNew(this.$route.query.group, 'ISCS_PA_Play', params).then(resp => {
|
||||
// this.voiceUrl = this.$store.state.user.resourcesUrl + this.resourcesList[this.messageIndex].url;
|
||||
// this.voiceUrl = this.$store.state.user.ossUrl + this.resourcesList[this.messageIndex].url;
|
||||
// const audio = document.getElementById('voice');
|
||||
// audio.src = this.voiceUrl;
|
||||
// audio.play();
|
||||
|
@ -24,7 +24,6 @@ export default {
|
||||
};
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
methods:{
|
||||
selectIscsPane(param) {
|
||||
|
@ -62,6 +62,9 @@ export default {
|
||||
watch:{
|
||||
'mode':function() {
|
||||
this.getInitData();
|
||||
},
|
||||
'stationId':function() {
|
||||
this.getInitData();
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
@ -94,6 +97,7 @@ 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;
|
||||
|
@ -47,6 +47,9 @@ export default {
|
||||
watch:{
|
||||
'mode':function() {
|
||||
this.getInitData();
|
||||
},
|
||||
'stationId':function() {
|
||||
this.getInitData();
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
|
@ -33,6 +33,7 @@ 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',
|
||||
@ -67,6 +68,14 @@ 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
Loading…
Reference in New Issue
Block a user