Compare commits

...

249 Commits

Author SHA1 Message Date
joylink_fanyuhong
99fc3ffcfb Merge remote-tracking branch 'origin/develop'
All checks were successful
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 8m29s
2024-09-30 14:35:00 +08:00
joylink_fanyuhong
0d34d83747 现地工作站添加运行图加载 2024-09-30 14:33:11 +08:00
joylink_fanyuhong
4e37183818 Merge remote-tracking branch 'origin/develop'
All checks were successful
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 6m37s
2024-09-30 09:32:05 +08:00
joylink_fanyuhong
92c66ab4d6 画面管理处理设备map为空 2024-09-29 14:11:41 +08:00
joylink_fanyuhong
5a7c5fdbeb 成都三号线折返进路办理调整 2024-09-29 14:11:09 +08:00
joylink_fanyuhong
ae826ac205 成都三号线折返进路排列调整 2024-09-27 11:03:20 +08:00
joylink_fanyuhong
84b9f52c8f 信号重启逻辑判断调整 2024-09-26 19:34:02 +08:00
joylink_fanyuhong
526fd047e7 成都三设备样式调整 2024-09-26 18:12:26 +08:00
joylink_fanyuhong
529c122278 成都三号线添加站后折返操作 2024-09-26 17:54:59 +08:00
joylink_fanyuhong
5b1362f94b 成都三号线现地仿真操作控制权判断调整 2024-09-26 16:10:09 +08:00
joylink_fanyuhong
2d1da55ffc 草稿地图成员一键生成添加派班员 2024-09-26 15:15:44 +08:00
joylink_fanyuhong
97e121a65a 成都三号线连锁控调整 2024-09-26 13:42:03 +08:00
joylink_fanyuhong
327533c003 Merge remote-tracking branch 'origin/develop'
All checks were successful
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 11m23s
2024-09-24 11:22:39 +08:00
joylink_fanyuhong
e9a71a1116 成都三号线调整 2024-09-24 11:22:16 +08:00
joylink_fanyuhong
8a80a7d732 Merge remote-tracking branch 'origin/develop'
All checks were successful
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 8m31s
2024-09-24 11:11:40 +08:00
joylink_fanyuhong
cbdfc57243 成都三号线现地仿真无特殊操作调整 2024-09-24 10:59:08 +08:00
joylink_fanyuhong
8fbaa85b99 Merge remote-tracking branch 'origin/develop'
All checks were successful
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 11m22s
2024-09-19 09:10:22 +08:00
joylink_fanyuhong
5c81fc4dcf 实训测验统计得分调整 2024-09-18 14:00:17 +08:00
joylink_fanyuhong
b0ef9e5242 实训总分统计调整 2024-09-18 13:30:36 +08:00
joylink_fanyuhong
f14d998f19 Merge remote-tracking branch 'origin/develop'
All checks were successful
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 8m32s
2024-09-14 13:58:04 +08:00
joylink_fanyuhong
f2efa437df 实训消失问题调整2 2024-09-14 13:50:40 +08:00
joylink_fanyuhong
32430607dd 实训提示消失问题调整 2024-09-14 11:30:31 +08:00
joylink_fanyuhong
a1c8b4f662 Merge remote-tracking branch 'origin/develop'
All checks were successful
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 9m44s
2024-09-13 09:27:49 +08:00
joylink_fanyuhong
954ee991fa 实训列表调整 2024-09-11 13:44:23 +08:00
joylink_fanyuhong
13f16e5570 f仿真重置后清楚区故解连续操作状态 2024-09-11 11:18:26 +08:00
joylink_fanyuhong
5470a32bb7 成工院大铁标准线实训测验模式结束后弹出的结果优化 2024-09-11 09:37:17 +08:00
joylink_fanyuhong
eff99d3609 成工院大铁标准站区故解连续操作问题 2024-09-10 16:21:03 +08:00
joylink_fanyuhong
60e7a09d69 Merge remote-tracking branch 'origin/develop'
All checks were successful
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 9m4s
2024-09-10 12:01:42 +08:00
joylink_fanyuhong
45fbdf0dd7 设备柜 atp切除状态同步 2024-09-10 12:01:14 +08:00
joylink_fanyuhong
904434caf3 Merge remote-tracking branch 'origin/develop'
All checks were successful
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 7m18s
2024-09-10 10:47:00 +08:00
joylink_fanyuhong
9045d2a118 司机驾驶切除ATP调整 2024-09-10 10:37:45 +08:00
joylink_fanyuhong
1f9541eb31 Merge branch 'develop'
All checks were successful
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 13m8s
2024-08-20 17:13:02 +08:00
joylink_fanyuhong
10e27697fb 代码调整 2024-08-20 15:16:56 +08:00
joylink_fanyuhong
acf3109c0b 添加ats客户端 只能操作特殊操作 2024-08-20 15:13:45 +08:00
joylink_fanyuhong
a21524b839 Merge branch 'develop'
All checks were successful
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 10m57s
2024-08-19 18:42:03 +08:00
joylink_fanyuhong
2b8116afd3 现地客户端列车显示问题调整 2024-08-16 23:09:34 +08:00
joylink_fanyuhong
478261512c Merge remote-tracking branch 'origin/develop'
All checks were successful
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 7m48s
2024-08-16 09:59:38 +08:00
joylink_fanyuhong
f66844bc27 实训调整 2024-08-15 15:35:43 +08:00
joylink_fanyuhong
364bd1e539 tms订阅调整 2024-06-28 14:04:27 +08:00
joylink_fanyuhong
0c4c5bebb0 运行图编制问题调整 2024-06-24 19:40:07 +08:00
joylink_fanyuhong
22a2e11517 发布信息提示 2024-06-24 18:43:00 +08:00
joylink_fanyuhong
4841ebdda7 TMS切换客户端调整 2024-06-24 18:20:30 +08:00
joylink_fanyuhong
0147f270f2 Merge remote-tracking branch 'origin/develop'
All checks were successful
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 7m6s
2024-06-18 15:56:31 +08:00
joylink_fanyuhong
916bc645ed 添加运行图测试客户端 2024-06-18 15:36:57 +08:00
joylink_fanyuhong
37e0779d23 成都工业学院第三方新开页面关闭调整 2024-06-04 11:42:34 +08:00
joylink_fanyuhong
081d5bf630 成都工业学院登录调整 2024-06-04 11:17:37 +08:00
joylink_zhaoerwei
27418dc041 Squashed commit of the following:
All checks were successful
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 10m24s
commit 1b0ddc2740
Author: joylink_zhaoerwei <Bob_Engineer@163.com>
Date:   Mon May 27 17:39:39 2024 +0800

    Squashed commit of the following:

    commit cef55a4c6b
    Author: joylink_zhaoerwei <Bob_Engineer@163.com>
    Date:   Mon May 27 17:09:01 2024 +0800

        三维url调整

    commit 869c86b94d
    Author: joylink_zhaoerwei <Bob_Engineer@163.com>
    Date:   Mon May 27 16:57:01 2024 +0800

        更改三维地址

    commit dc2165733e
    Author: joylink_zhaoerwei <Bob_Engineer@163.com>
    Date:   Mon May 27 16:33:48 2024 +0800

        场景添加三维场景,实训中可根据url打开三维场景(待测试)

commit 7d774db362
Merge: b66515eba 0c5bba7c0
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Tue May 21 16:48:35 2024 +0800

    Merge remote-tracking branch 'origin/develop' into local-test

commit 0c5bba7c0f
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Tue May 21 16:47:37 2024 +0800

    传输信号机调整

commit ef9165faa4
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Thu May 16 15:43:56 2024 +0800

    third

commit ae74123f18
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Wed May 8 09:17:37 2024 +0800

    成都工学院第三方登录调整

commit b1baeaabcd
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Tue May 7 15:46:29 2024 +0800

    成都工业学院第三方登录调整

commit b66515ebad
Merge: 5cf57c4d2 91a8410dc
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Wed Apr 24 11:01:32 2024 +0800

    Merge remote-tracking branch 'origin/develop' into local-test

commit 91a8410dc2
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Wed Apr 24 10:58:02 2024 +0800

    道岔名称背景颜色更换透明色

commit 5cf57c4d2f
Merge: 5ca4f2be8 c97def5fc
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Mon Apr 22 17:16:40 2024 +0800

    Merge remote-tracking branch 'origin/develop' into local-test

commit 5ca4f2be8d
Merge: 66a376298 31376bc22
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Mon Apr 22 16:10:23 2024 +0800

    Merge remote-tracking branch 'origin/develop' into local-test

commit 66a3762987
Merge: 9dab09e4d 5be2cea1c
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Mon Apr 22 15:53:54 2024 +0800

    Merge remote-tracking branch 'origin/develop' into local-test

commit 9dab09e4d0
Merge: b8f90509e dda44c870
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Mon Apr 22 09:33:42 2024 +0800

    Merge remote-tracking branch 'origin/develop' into local-test

commit b8f90509eb
Merge: 26d9cc892 5548806ea
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Sun Apr 21 17:51:33 2024 +0800

    Merge remote-tracking branch 'origin/develop' into local-test

commit 26d9cc892f
Merge: ce8d3f453 3fc31777a
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Fri Apr 19 22:27:07 2024 +0800

    Merge remote-tracking branch 'origin/develop' into local-test

commit ce8d3f4531
Author: fan <fanyuhong@joylink.club>
Date:   Fri Apr 19 22:25:43 2024 +0800

    iscs退出仿真调整&iscs绘制地图调整

commit 98662ec177
Author: fan <fanyuhong@joylink.club>
Date:   Fri Apr 19 18:25:09 2024 +0800

    实时广播问题调整&注释iscs信号系统&stationNav换成车站名称&iscs点击修改mode
2024-05-27 18:06:53 +08:00
joylink_zhaoerwei
cef55a4c6b 三维url调整 2024-05-27 17:09:01 +08:00
joylink_zhaoerwei
869c86b94d 更改三维地址 2024-05-27 16:57:01 +08:00
joylink_zhaoerwei
dc2165733e 场景添加三维场景,实训中可根据url打开三维场景(待测试) 2024-05-27 16:33:48 +08:00
joylink_fanyuhong
0c5bba7c0f 传输信号机调整 2024-05-21 16:47:37 +08:00
joylink_fanyuhong
ef9165faa4 third 2024-05-16 15:43:56 +08:00
joylink_fanyuhong
ae74123f18 成都工学院第三方登录调整 2024-05-08 09:17:37 +08:00
joylink_fanyuhong
b1baeaabcd 成都工业学院第三方登录调整 2024-05-07 15:46:29 +08:00
joylink_fanyuhong
91a8410dc2 道岔名称背景颜色更换透明色 2024-04-24 11:00:44 +08:00
joylink_fanyuhong
c97def5fca 没有综合演练不显示联机
All checks were successful
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 7m34s
2024-04-22 17:15:20 +08:00
joylink_fanyuhong
31376bc221 道岔钩锁调整
All checks were successful
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 7m29s
2024-04-22 16:09:03 +08:00
joylink_fanyuhong
5be2cea1ca 列车pis和站台pis调整
All checks were successful
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 7m30s
2024-04-22 15:52:58 +08:00
joylink_fanyuhong
dda44c870f pa客户端车站选择禁用
All checks were successful
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 6m54s
2024-04-22 09:31:41 +08:00
joylink_fanyuhong
5548806ea5 pa客户端调整&标准线未开放调整
All checks were successful
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 8m54s
2024-04-21 17:49:03 +08:00
fan
3fc31777a2 iscs退出仿真调整&iscs绘制地图调整
All checks were successful
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 14m22s
2024-04-19 22:26:30 +08:00
fan
d5eb68ea1c 实时广播问题调整&注释iscs信号系统&stationNav换成车站名称&iscs点击修改mode 2024-04-19 20:10:06 +08:00
fan
bd10b05228 iscs调整
All checks were successful
local-test分支构建发布到本地服务器 / Build-Publish (push) Successful in 8m28s
2024-04-17 17:08:47 +08:00
joylink_fanyuhong
2b13ff0a5a 提示调整 2024-04-11 19:19:19 +08:00
joylink_fanyuhong
5212b6417a 推出考试销毁提交事件 2024-04-11 19:04:50 +08:00
joylink_fanyuhong
5666af96cc createId为空删除参数 2024-04-11 18:17:14 +08:00
fan
6b3d83979d 接口调整 2024-04-11 11:45:51 +08:00
fan
a21e880a18 考试调整 2024-04-11 11:20:28 +08:00
fan
27129e8b21 试卷调整 2024-04-11 11:10:03 +08:00
fan
6c3b06c4a0 考试管理调整 2024-04-10 14:33:10 +08:00
joylink_fanyuhong
d1f8927355 南京二信号机故障调整again 2024-04-08 16:39:33 +08:00
joylink_fanyuhong
f1e6121a8f 南京二信号机故障调整&南京二进路排列方式调整 2024-04-08 16:05:24 +08:00
joylink_fanyuhong
8f14259db7 客户端调整
All checks were successful
local-test分支构建发布到本地服务器 / Build-Publish (push) Successful in 6m38s
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 6m54s
2024-03-29 11:14:08 +08:00
joylink_fanyuhong
2c79bd847f subTypeParam参数调整 2024-03-27 13:38:05 +08:00
db8f007ca8 修改任务及步骤名称
All checks were successful
local-test分支构建发布到本地服务器 / Build-Publish (push) Successful in 8m29s
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 7m29s
2024-03-26 19:44:28 +08:00
8d4e0d2a89 修改yaml格式错误(tab换成空格)
All checks were successful
local-test分支构建发布到本地服务器 / Build-Publish (push) Successful in 7m20s
2024-03-26 17:57:39 +08:00
abdce5a30d 修改工作流文件名
添加公网构建发布工作流
2024-03-26 17:31:03 +08:00
86aaa5d5b1 测试yarn build
local-test分支构建发布工作流
2024-03-26 17:13:36 +08:00
joylink_zhaoerwei
06aef16a5d Squashed commit of the following:
commit 6e6737a7c6
Author: joylink_zhaoerwei <Bob_Engineer@163.com>
Date:   Thu Mar 21 16:57:58 2024 +0800

    播放视频调整
2024-03-21 17:28:59 +08:00
joylink_fanyuhong
506fcd481b Merge remote-tracking branch 'origin/test' 2024-03-12 11:16:44 +08:00
joylink_fanyuhong
7971fce1b6 url调整 2024-03-12 11:16:26 +08:00
joylink_fanyuhong
fdaf9d81f8 Merge remote-tracking branch 'origin/test' 2024-03-12 10:34:45 +08:00
joylink_fanyuhong
29d5474e40 Merge branch 'master' of https://git.code.tencent.com/lian-cbtc/jl-client 2024-03-12 10:33:51 +08:00
joylink_fanyuhong
720546f99b Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/jl-client into test 2024-03-12 10:31:36 +08:00
joylink_fanyuhong
21e5b5b659 对象校验调整&&客户端初始化调整 2024-03-12 10:31:16 +08:00
joylink_zhaoerwei
0b92511070 修改表格颜色 2024-03-12 09:52:57 +08:00
joylink_fanyuhong
b57ea909b4 pa调整 2024-03-12 09:18:34 +08:00
joylink_fanyuhong
991121f9d8 pa调整 2024-03-11 18:59:56 +08:00
joylink_fanyuhong
f134ea6b5f Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/jl-client into test 2024-03-11 18:05:05 +08:00
joylink_fanyuhong
2b3b7c189d pa放开语音播放 2024-03-11 18:04:39 +08:00
joylink_zhaoerwei
51e700a2ad 视频播放调整 2024-03-11 17:30:28 +08:00
joylink_zhaoerwei
a763880dac 微调 2024-03-11 16:28:53 +08:00
joylink_zhaoerwei
f4e0552a61 场景视频的上传编辑与播放 2024-03-11 16:03:35 +08:00
joylink_fanyuhong
e9facb70f5 调整:新增pa客戶端 2024-03-11 15:45:29 +08:00
joylink_fanyuhong
71ed5445c3 调整:iscs进入加载动画出不来 2024-03-11 10:44:12 +08:00
joylink_fanyuhong
f0cea7706c 赛季内容编辑器调整 2024-03-11 09:57:48 +08:00
fan
8a15cd0d1c Merge remote-tracking branch 'origin/test' 2024-03-08 19:05:37 +08:00
fan
aeb581dced Merge remote-tracking branch 'origin/test' 2024-03-08 15:46:16 +08:00
fan
5ea69acaf8 Merge remote-tracking branch 'origin/test' 2024-03-08 11:29:24 +08:00
fan
6dbe1dc14c Merge remote-tracking branch 'origin/test' 2024-03-08 09:33:28 +08:00
fan
7b07b17e13 Merge remote-tracking branch 'origin/test' 2024-03-08 09:33:09 +08:00
fan
bb453012c8 Merge remote-tracking branch 'origin/test' 2024-03-06 09:41:39 +08:00
fan
cf94b2570d Merge remote-tracking branch 'origin/test' 2024-03-05 15:04:26 +08:00
fan
2ae715a936 Merge remote-tracking branch 'origin/test' 2024-03-05 13:53:17 +08:00
fan
3e5996aee4 Merge remote-tracking branch 'origin/test' 2024-03-05 13:52:28 +08:00
fan
8cf496c2ae Merge remote-tracking branch 'origin/test' 2024-03-04 17:05:56 +08:00
fan
31f1192de0 Merge remote-tracking branch 'origin/test' 2024-03-04 09:20:30 +08:00
fan
13aefab82b Merge remote-tracking branch 'origin/test' 2024-02-29 10:42:02 +08:00
joylink_fanyuhong
47c5168e4b Merge remote-tracking branch 'origin/test' 2024-02-19 13:28:54 +08:00
fan
4804cebfcd Merge remote-tracking branch 'origin/test' 2024-01-16 09:36:39 +08:00
fan
1ecab822f4 浙大网新操作调整 2023-12-05 10:34:14 +08:00
fan
a9f18f6d61 Merge remote-tracking branch 'origin/test' 2023-12-04 17:55:44 +08:00
fan
c33c50005c Merge remote-tracking branch 'origin/test' 2023-11-30 17:54:51 +08:00
fan
56eea551fb Merge remote-tracking branch 'origin/test' 2023-11-16 15:08:19 +08:00
fan
007548623d Revert "乘客信息发布系统拆分"
This reverts commit 4c67af284c.
2023-11-02 17:02:16 +08:00
fan
4c67af284c 乘客信息发布系统拆分 2023-11-02 16:59:37 +08:00
fan
684f32c481 Merge remote-tracking branch 'origin/test' 2023-10-31 17:51:57 +08:00
fan
2ef158851d Merge remote-tracking branch 'origin/test' 2023-10-25 14:05:58 +08:00
fan
f9c47cbac6 Merge remote-tracking branch 'origin/test' 2023-10-25 10:36:11 +08:00
fan
8fbddfe40d Merge remote-tracking branch 'origin/test' 2023-10-23 16:42:09 +08:00
910082305d Merge branch 'test'
# Conflicts:
#	src/views/newMap/display/terminals/index.vue
2023-09-27 18:11:19 +08:00
fan
0598da9a2d 实训问题修复 2023-09-27 15:46:10 +08:00
fan
ac096dd663 Merge remote-tracking branch 'origin/test' 2023-09-20 14:51:28 +08:00
fan
ee58c53b83 Merge remote-tracking branch 'origin/test' 2023-06-12 10:13:52 +08:00
fan
8e34a0f267 Merge remote-tracking branch 'origin/test' 2023-06-08 13:27:05 +08:00
fan
6b18628b7c Merge remote-tracking branch 'origin/test' 2023-06-07 18:01:28 +08:00
fan
42779dc952 Merge remote-tracking branch 'origin/test' 2023-06-06 10:09:00 +08:00
fan
3855087abd Merge remote-tracking branch 'origin/test' 2023-06-01 18:15:18 +08:00
fan
ca329a4db7 Merge remote-tracking branch 'origin/test' 2023-05-30 17:55:25 +08:00
fan
e32d8f9b6b Merge remote-tracking branch 'origin/test' 2023-05-26 17:59:19 +08:00
fan
23975cd271 Merge remote-tracking branch 'origin/test' 2023-05-26 17:43:20 +08:00
fan
f4e27a6e31 Merge remote-tracking branch 'origin/test' 2023-05-26 17:18:59 +08:00
fan
4424137da9 Merge remote-tracking branch 'origin/test' 2023-05-26 15:56:44 +08:00
fan
ac82fad041 Merge remote-tracking branch 'origin/test' 2023-05-26 15:34:23 +08:00
fd5af534af Merge remote-tracking branch 'origin/test' 2023-05-24 19:19:48 +08:00
fan
06e4bb93c7 Revert "Revert "修改新会话实训问题""
This reverts commit 7fa5b1d62e.
2023-05-22 11:18:37 +08:00
fan
8a966ac5ae Revert "Revert "群消息已读""
This reverts commit 204aef15
2023-05-22 11:18:16 +08:00
fan
5eb2a3f80c Revert "Revert "NCC行调名称调整成NCC调度""
This reverts commit a7b0609389.
2023-05-22 11:18:02 +08:00
fan
e1bf3dbcea Revert "Revert "添加角色NCC行调""
This reverts commit 5c72107b
2023-05-22 11:16:59 +08:00
fan
67ea7ef5ae Revert "Revert "Squashed commit of the following:""
This reverts commit b6edc491
2023-05-22 11:16:27 +08:00
fan
3fc6f13c6a Merge remote-tracking branch 'origin/test'
# Conflicts:
#	src/store/modules/map.js
#	src/views/newMap/display/index.vue
#	src/views/newMap/display/newChat/chatContent.vue
#	src/views/newMap/display/newChat/chatDialog.vue
#	src/views/newMap/display/newChat/editGroup.vue
#	src/views/newMap/newMapdraft/mapoperate/simulationMember/index.vue
#	src/views/organization/index.vue
#	src/views/publish/examRule/draft/editRule.vue
2023-05-20 18:13:52 +08:00
dongq107
ce62a19aa0 到第三方登录页面时先删除之前的token 2023-05-18 15:12:31 +08:00
dongq107
d09e415720 第三方登录必需调接口 2023-05-18 14:12:51 +08:00
fan
503c4c4ed3 扬工院教学管理隐藏班级管理 2023-05-11 15:22:37 +08:00
fff07141b6 修改错误的冲突合并 2023-05-06 19:00:17 +08:00
80178a80f6 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	src/jmapNew/painter.js
2023-05-06 18:37:26 +08:00
1d824c135e Merge remote-tracking branch 'origin/test_revert5.6' 2023-05-06 18:35:52 +08:00
Yuan
1318ecb97a Merge branch 'test_revert5.6' of git.code.tencent.com:lian-cbtc/jl-client into test_revert5.6 2023-05-06 18:03:37 +08:00
Yuan
e3857a75d0 bugfix - 试卷规则标签选项 2023-05-06 18:03:32 +08:00
joylink_zhaoerwei
f3ae97f7f8 故障提示NCC 2023-05-06 17:26:09 +08:00
Yuan
b472601fbc bugfix - 查看规则时标签字段未填充
(cherry picked from commit 2e51c9ee4c)
2023-05-06 16:31:37 +08:00
dong
d0a6b8e951 切换考试时实训模式弹窗关闭 2023-05-06 16:17:38 +08:00
dong
dd45877e1c 实训标签只可添加,不能删除 2023-05-06 16:01:16 +08:00
fan
b6edc4913b Revert "Squashed commit of the following:"
This reverts commit 77560336
2023-05-06 10:54:30 +08:00
fan
5c72107b90 Revert "添加角色NCC行调"
This reverts commit 6d848115b3.
2023-05-06 10:53:25 +08:00
fan
c4028ee8c6 Revert "会话群代码调整"
This reverts commit 79fbb8d071.
2023-05-06 10:53:15 +08:00
fan
a7b0609389 Revert "NCC行调名称调整成NCC调度"
This reverts commit fcae8539d9.
2023-05-06 10:53:02 +08:00
fan
204aef1583 Revert "群消息已读"
This reverts commit 0805383f
2023-05-06 10:52:15 +08:00
fan
c563fe8efa Revert "会话群代码调整"
This reverts commit 2d15eee9f8.
2023-05-06 10:49:24 +08:00
fan
1b1ddad29e Revert "修改语音最长秒数"
This reverts commit 20de76047b.
2023-05-06 10:49:05 +08:00
fan
7fa5b1d62e Revert "修改新会话实训问题"
This reverts commit eb4cd6ab4a.
2023-05-06 10:48:54 +08:00
fan
e353289594 第三方登录增加组织选择 2023-05-05 09:33:54 +08:00
fan
210a7d0fdd 第三方登录页项目配置调整 2023-04-27 13:23:14 +08:00
fan
a373d21deb 线路数据设置归属项目管理项目数据通过接口查询 2023-04-27 13:23:07 +08:00
dong
f2039927db Squashed commit of the following:
commit d082dc2fbc
Author: dong <58670809@qq.com>
Date:   Wed Apr 19 10:41:17 2023 +0800

    修改收令单位不显示调度命令问题

commit c52925960c
Merge: a3bc0de08 1f5d891c5
Author: joylink_zhangsai <1021828630@qq.com>
Date:   Tue Apr 18 16:25:03 2023 +0800

    Merge remote-tracking branch 'origin/test' into test

commit a3bc0de08a
Author: joylink_zhangsai <1021828630@qq.com>
Date:   Tue Apr 18 16:24:34 2023 +0800

    处理列车异常显示问题 by fan

commit 1f5d891c55
Author: dong <58670809@qq.com>
Date:   Mon Apr 17 14:40:39 2023 +0800

    修改苏电院交控线路顶部菜单展开后没法收回去问题

commit 0d50ac586b
Author: dong <58670809@qq.com>
Date:   Mon Apr 17 13:26:39 2023 +0800

    修改弹窗没有高度问题

commit 73c9c0777e
Author: dong <58670809@qq.com>
Date:   Fri Apr 14 16:25:38 2023 +0800

    去掉实训管理查询项缓存
2023-04-19 10:42:38 +08:00
dong
c020d69150 Squashed commit of the following:
commit 1f5d891c55
Author: dong <58670809@qq.com>
Date:   Mon Apr 17 14:40:39 2023 +0800

    修改苏电院交控线路顶部菜单展开后没法收回去问题
2023-04-17 14:51:08 +08:00
dong
f27fd63e29 Squashed commit of the following:
commit 0d50ac586b
Author: dong <58670809@qq.com>
Date:   Mon Apr 17 13:26:39 2023 +0800

    修改弹窗没有高度问题
2023-04-17 13:28:06 +08:00
dong
857472ba72 Squashed commit of the following:
commit 73c9c0777e
Author: dong <58670809@qq.com>
Date:   Fri Apr 14 16:25:38 2023 +0800

    去掉实训管理查询项缓存
2023-04-14 16:26:57 +08:00
fan
1aca150711 Merge remote-tracking branch 'origin/test' 2023-04-14 13:09:38 +08:00
fan
8593174685 Merge remote-tracking branch 'origin/test' 2023-04-13 16:23:01 +08:00
dong
2bb8c6df92 Squashed commit of the following:
commit 30763300ac
Author: dong <58670809@qq.com>
Date:   Wed Apr 12 18:31:39 2023 +0800

    修改前端配置带id

commit cde33feb22
Author: fan <fanyuhong@joylink.club>
Date:   Wed Apr 12 18:07:47 2023 +0800

    宁波三进路选择表示样式不取消

commit 34a94e2c6d
Author: fan <fanyuhong@joylink.club>
Date:   Wed Apr 12 17:58:11 2023 +0800

    区域选择界面调整

commit 52af1d994b
Author: fan <fanyuhong@joylink.club>
Date:   Wed Apr 12 13:33:03 2023 +0800

    系统管理-教学考试数据管理

commit 6187b449c1
Author: dong <58670809@qq.com>
Date:   Fri Apr 7 15:22:33 2023 +0800

    代码调整

commit 074453ece7
Author: weizhihong <weizhihong@joylink.club>
Date:   Fri Mar 31 16:52:08 2023 +0800

    【删除注释】
2023-04-12 18:34:06 +08:00
dong
54fb5eb47a Squashed commit of the following:
commit 6187b449c1
Author: dong <58670809@qq.com>
Date:   Fri Apr 7 15:22:33 2023 +0800

    代码调整

commit 074453ece7
Author: weizhihong <weizhihong@joylink.club>
Date:   Fri Mar 31 16:52:08 2023 +0800

    【删除注释】
2023-04-07 15:27:22 +08:00
fan
95b6d019dd Merge remote-tracking branch 'origin/test' 2023-04-06 17:32:19 +08:00
fan
ed1c4c0e53 Merge remote-tracking branch 'origin/test' 2023-03-23 17:51:52 +08:00
fan
6fd16fcc95 三方跳转调整 2023-03-13 15:23:19 +08:00
fan
8ec88a84a2 Merge remote-tracking branch 'origin/test' 2023-03-10 09:37:53 +08:00
fan
8e7b653bd3 设备管理配置调整 2023-03-01 15:53:20 +08:00
fan
710dd576d4 Merge remote-tracking branch 'origin/test' 2023-02-18 12:21:53 +08:00
fan
3e3d3622dc Merge remote-tracking branch 'origin/test' 2023-02-17 18:17:00 +08:00
dong
916688b47c Merge remote-tracking branch 'remotes/origin/test' 2023-01-16 18:04:58 +08:00
dong
1c2912285b Merge remote-tracking branch 'remotes/origin/test' 2023-01-16 15:52:07 +08:00
dong
47e87c0457 Merge remote-tracking branch 'remotes/origin/test' 2023-01-16 14:20:18 +08:00
fan
910e0c5712 北京一号线折返策略 2023-01-16 10:08:07 +08:00
fan
00866bde38 Merge remote-tracking branch 'origin/test' 2023-01-13 18:50:42 +08:00
fan
da4020e8c6 Merge remote-tracking branch 'origin/test' 2023-01-13 18:48:27 +08:00
fan
bf1d744b34 Merge remote-tracking branch 'origin/test' 2023-01-13 18:14:05 +08:00
dong
c9dd8752c1 Merge remote-tracking branch 'remotes/origin/test' 2023-01-13 16:09:21 +08:00
dong
22064af280 Merge remote-tracking branch 'remotes/origin/test' 2023-01-13 13:30:50 +08:00
fan
d9a06f3f1e Merge remote-tracking branch 'origin/test' 2023-01-13 13:11:24 +08:00
fan
a03b16e60a Merge remote-tracking branch 'origin/test' 2023-01-11 17:49:25 +08:00
fan
6897cb6c0b Merge remote-tracking branch 'origin/test'
# Conflicts:
#	src/scripts/ProjectConfig.js
#	src/utils/baseUrl.js
#	src/views/login/index.vue
#	src/views/newMap/displayBaSiDi/index.vue
#	src/views/newMap/displayCity/demonMenu.vue
#	src/views/newMap/displayCity/index.vue
#	src/views/system/deviceManage/index.vue
#	src/views/trainingPlatform/demonList.vue
2023-01-10 18:01:34 +08:00
fan
082c075290 成都工业跳转调度大赛 2022-11-21 18:52:54 +08:00
joylink_fanyuhong
3a35705576 苏安院调整 2022-11-20 14:28:28 +08:00
fan
313c587314 三方跳转不设置子系统节点 2022-10-28 14:21:35 +08:00
fan
401e09cdee 代码调整 2022-10-27 18:45:09 +08:00
fan
b35ca66983 京津冀职业发展联盟 2022-10-27 17:53:58 +08:00
fan
24d64b91ac Merge remote-tracking branch 'origin/test'
# Conflicts:
#	src/views/newMap/mapDraftPicture/createPicture.vue
2022-10-08 18:44:43 +08:00
fan
c5d4e425e4 红河财经 隐藏案例 2022-09-08 09:46:32 +08:00
fan
f9f05f12fd 红河财经CCTV调整 2022-09-01 16:14:55 +08:00
fan
e47e38003e 大屏显示调整 2022-08-25 15:10:26 +08:00
fan
6802e297a8 Merge remote-tracking branch 'origin/test' 2022-08-24 18:03:36 +08:00
ef7c7601b8 Merge remote-tracking branch 'origin/test' 2022-08-04 21:09:33 +08:00
5dda532435 Merge remote-tracking branch 'origin/master' 2022-08-04 21:09:10 +08:00
76de50fc6a Merge remote-tracking branch 'origin/test'
# Conflicts:
#	src/jmapNew/theme/datie_02/menus/menuButton.vue
2022-08-04 21:08:53 +08:00
fan
ff9101233c Merge remote-tracking branch 'origin/test'
# Conflicts:
#	src/jmapNew/theme/datie_02/menus/menuButton.vue
2022-07-26 18:08:14 +08:00
44363cc3e8 Merge remote-tracking branch 'origin/test'
# Conflicts:
#	src/jmapNew/config/skinCode/datie_02.js
2022-07-21 18:09:03 +08:00
fan
577c1f7141 长兴技术=》长兴技师 2022-07-20 10:06:46 +08:00
Yuan
fa8f5dca6c Merge branch 'test' 2022-07-15 18:17:16 +08:00
fan
d2cf5489b3 Merge remote-tracking branch 'origin/test' 2022-07-14 18:15:52 +08:00
fan
1fe561222c Merge remote-tracking branch 'origin/test' 2022-07-05 18:03:57 +08:00
fan
3e60f4b8e1 Merge remote-tracking branch 'origin/test' 2022-06-27 18:08:41 +08:00
fan
131e70c729 子系统栏显示调整 2022-06-27 13:22:43 +08:00
fan
a8ce60f33e 子系统栏显示调整 2022-06-27 13:10:02 +08:00
fan
15cf33c850 Merge remote-tracking branch 'origin/test' 2022-06-21 13:22:00 +08:00
fan
d568be81ec Merge remote-tracking branch 'origin/test' 2022-06-20 17:47:12 +08:00
fan
0929b54f9d 实训双击问题调整 2022-06-06 16:51:06 +08:00
fan
215dab7074 Merge remote-tracking branch 'origin/test'
# Conflicts:
#	src/jmapNew/theme/datie_02/menus/menuTrain.vue
2022-05-30 17:44:09 +08:00
fan
013e667452 实训仿真结束 退出实训界面 2022-05-30 17:38:16 +08:00
b05cedd44c Merge remote-tracking branch 'origin/master'
# Conflicts:
#	src/jmapNew/config/skinCode/datie_02.js
#	src/jmapNew/theme/datie_02/menus/menuButton.vue
#	src/jmapNew/theme/datie_02/menus/menuTrain.vue
2022-05-20 18:24:36 +08:00
b73395f840 Merge remote-tracking branch 'origin/test'
# Conflicts:
#	src/jmapNew/config/skinCode/datie_02.js
#	src/jmapNew/constant/deviceRender.js
#	src/jmapNew/constant/deviceType.js
#	src/jmapNew/parser/parser-graph.js
#	src/jmapNew/shape/graph/SaidLamp/EPickOrDepartArrow.js
#	src/jmapNew/shape/graph/SaidLamp/index.js
#	src/jmapNew/shape/graph/SignalButton/index.js
#	src/jmapNew/shape/graph/Station/index.js
#	src/jmapNew/shape/graph/index.js
#	src/jmapNew/theme/datie_02/menus/dialog/childDialog/passwordInputBox.vue
#	src/jmapNew/theme/datie_02/menus/index.vue
#	src/jmapNew/theme/datie_02/menus/menuButton.vue
#	src/jmapNew/theme/datie_02/menus/menuSection.vue
#	src/jmapNew/theme/datie_02/menus/menuSignal.vue
#	src/jmapNew/theme/datie_02/menus/menuStation.vue
#	src/jmapNew/theme/datie_02/menus/menuStationStand.vue
#	src/jmapNew/theme/datie_02/menus/menuSwitch.vue
#	src/jmapNew/theme/datie_02/menus/menuTrain.vue
#	src/jmapNew/theme/factory.js
#	src/scripts/cmdPlugin/OperationHandler.js
#	src/views/newMap/newMapdraft/mapoperate/controlLamp.vue
#	src/views/newMap/newMapdraft/mapoperate/models.js
#	src/views/newMap/newMapdraft/mapoperate/signalButton.vue
2022-05-20 18:24:17 +08:00
joylink_cuiweidong
b9fa32a96a Merge remote-tracking branch 'remotes/origin/test'
# Conflicts:
#	src/jmapNew/config/skinCode/datie_02.js
#	src/jmapNew/constant/deviceRender.js
#	src/jmapNew/constant/deviceType.js
#	src/jmapNew/parser/parser-graph.js
#	src/jmapNew/shape/graph/SaidLamp/EPickOrDepartArrow.js
#	src/jmapNew/shape/graph/SaidLamp/index.js
#	src/jmapNew/shape/graph/SignalButton/index.js
#	src/jmapNew/shape/graph/Station/index.js
#	src/jmapNew/shape/graph/index.js
#	src/jmapNew/theme/datie_02/menus/dialog/childDialog/passwordInputBox.vue
#	src/jmapNew/theme/datie_02/menus/index.vue
#	src/jmapNew/theme/datie_02/menus/menuButton.vue
#	src/jmapNew/theme/datie_02/menus/menuSection.vue
#	src/jmapNew/theme/datie_02/menus/menuSignal.vue
#	src/jmapNew/theme/datie_02/menus/menuStation.vue
#	src/jmapNew/theme/datie_02/menus/menuStationStand.vue
#	src/jmapNew/theme/datie_02/menus/menuSwitch.vue
#	src/jmapNew/theme/datie_02/menus/menuTrain.vue
#	src/jmapNew/theme/factory.js
#	src/scripts/cmdPlugin/OperationHandler.js
#	src/views/newMap/newMapdraft/mapoperate/controlLamp.vue
#	src/views/newMap/newMapdraft/mapoperate/models.js
#	src/views/newMap/newMapdraft/mapoperate/signalButton.vue
2022-05-12 11:38:28 +08:00
0cb4088f6c Merge remote-tracking branch 'origin/master' 2022-05-12 11:08:12 +08:00
joylink_cuiweidong
7677fa4607 代码调整 2022-05-12 11:03:35 +08:00
joylink_cuiweidong
226744e7f7 代码调整 2022-05-12 11:01:33 +08:00
joylink_cuiweidong
ad47f33d16 代码调整 2022-05-12 11:01:31 +08:00
joylink_cuiweidong
bf1886a534 代码调整 2022-05-12 11:01:31 +08:00
joylink_cuiweidong
f61785fc5e 代码调整 2022-05-12 11:01:30 +08:00
joylink_cuiweidong
d82ab8f93c 代码调整 2022-05-12 11:01:29 +08:00
joylink_cuiweidong
62be008849 代码调整 2022-05-12 11:01:28 +08:00
joylink_cuiweidong
25c8ddd667 代码调整 2022-05-12 11:01:27 +08:00
joylink_cuiweidong
62e0f34ef6 代码调整 2022-05-12 10:58:58 +08:00
joylink_cuiweidong
03611598e1 成绩统计代码调整 2022-05-12 10:57:23 +08:00
joylink_cuiweidong
fc9c148753 学生统计信息代码调整 2022-05-12 10:56:12 +08:00
joylink_cuiweidong
87dc324d74 代码调整 2022-05-12 10:55:50 +08:00
joylink_cuiweidong
e5240b10ca 代码调整 2022-05-12 10:54:35 +08:00
joylink_cuiweidong
f876c33603 学生统计页面添加 2022-05-12 10:54:08 +08:00
joylink_cuiweidong
a56505a3d0 成绩统计 代码调整 2022-05-12 10:52:48 +08:00
joylink_cuiweidong
ecb4c2569e 学生单次考试成绩 页面添加 2022-05-12 10:50:33 +08:00
fan
6ed22109af 大铁线路调整2 2022-04-18 14:57:12 +08:00
fan
7fbe309f70 大铁线路调整 2022-04-15 16:49:11 +08:00
fan
c8ba0b63b7 Merge remote-tracking branch 'origin/test' 2022-03-25 14:00:34 +08:00
fan
3fdff6d329 Merge remote-tracking branch 'origin/test' 2022-03-15 10:06:37 +08:00
joylink_fanyuhong
38b1beeef5 iscs调整 2022-01-20 19:07:15 +08:00
joylink_fanyuhong
4431fe9dd4 Merge remote-tracking branch 'origin/test' 2022-01-20 18:02:40 +08:00
joylink_fanyuhong
5bf48a83f0 Merge remote-tracking branch 'origin/test'
# Conflicts:
#	.env.production
2022-01-05 17:58:55 +08:00
joylink_fanyuhong
204995be22 Merge remote-tracking branch 'origin/test' 2021-12-29 14:04:20 +08:00
joylink_fanyuhong
958a469ba7 ip调整 2021-12-29 10:21:08 +08:00
joylink_fanyuhong
c1698252aa 正式ip调整 2021-12-29 10:04:07 +08:00
000cbada55 Merge remote-tracking branch 'origin/test' 2021-10-26 18:48:57 +08:00
145 changed files with 21301 additions and 1127 deletions

View 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

View 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
View File

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

View File

@ -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",

View File

@ -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

View File

@ -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
})
}

View File

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

View File

@ -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)',

View File

@ -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
}

View File

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

View File

@ -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'
}
};

View File

@ -440,7 +440,7 @@ class Jlmap {
const trainList = [];
list.forEach(item => {
const device = this.mapDevice[item];
if (device && device._type !== deviceType.Switch && device._type !== deviceType.Train) {
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);

View File

@ -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);
}

View File

@ -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() {

View File

@ -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);
}
}

View 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>

View 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>

View File

@ -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: '模拟',

View File

@ -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: [

View 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>

View File

@ -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>

View File

@ -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: {

View File

@ -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: {

View File

@ -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('请先切换到站控或紧急站控');
}
}
}
},

View 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>

View File

@ -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 = [

View File

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

View File

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

View File

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

View File

@ -168,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,

View File

@ -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);

View 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>

View File

@ -65,21 +65,21 @@ export default {
handler: this.active,
cmdType: CMD.Section.CMD_SECTION_ACTIVE,
isDisabled: sectionDevice => sectionDevice.cutOff !== 1,
isShow: (signal, work) => 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'
},
{

View File

@ -68,7 +68,7 @@ export default {
handler: this.arrangementRoute,
cmdType:CMD.Signal.CMD_SIGNAL_SET_ROUTE,
isDisabled: (signal, work) => false,
isShow: (signal, work) => 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: [
// // {

View File

@ -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: [

View 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>

View File

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

View File

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

View File

@ -63,28 +63,28 @@ export default {
handler: this.fault,
cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK,
isDisabled: (section, work) => false,
isShow: (section, work) => ['01', '02', '03'].includes(section.type)
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: [

View File

@ -67,42 +67,42 @@ export default {
handler: this.arrangementRoute,
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE,
isDisabled: (signal, work) => false,
isShow: (signal, work) => 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: [

View File

@ -95,21 +95,21 @@ export default {
handler: this.cancelDetainTrainForce,
cmdType:CMD.Stand.CMD_STAND_FORCE_CANCEL_HOLD_TRAIN,
isDisabled: (stand, work) => false,
isShow: (stand, work) => 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: [

View File

@ -59,77 +59,77 @@ export default {
handler: this.lock,
cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK,
isDisabled: (switchDevice, work) => switchDevice.singleLock === 1,
isShow: (switchDevice, work) => 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: [

View File

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

View File

@ -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>

View 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>

View File

@ -664,9 +664,9 @@ export default {
this.param = { routeCode: this.route.code };
}
this.tempData = [];
this.selectRouteList.forEach(el => {
this.tempData.push(el);
});
// this.selectRouteList.forEach(el => {
// this.tempData.push(el);
// });
},
//
checkSignal() {
@ -786,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) {

View File

@ -740,9 +740,9 @@ export default {
this.param = { routeCode: this.route.code };
}
this.tempData = [];
this.selectRouteList.forEach(el => {
this.tempData.push(el);
});
// this.selectRouteList.forEach(el => {
// this.tempData.push(el);
// });
},
//
checkSignal() {
@ -862,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) {

View 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>

View File

@ -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: '确认计轴有效',

View File

@ -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: [

View File

@ -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: [

View File

@ -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: [

View File

@ -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: '道岔单锁',

View 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>

View File

@ -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'
}
]
};

View File

@ -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: [

View File

@ -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: [

View File

@ -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>

View File

@ -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: [

View 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>

View File

@ -71,14 +71,14 @@ export default {
handler: this.active,
cmdType: CMD.Section.CMD_SECTION_ACTIVE,
isDisabled: (section, work) => false,
isShow: (section, work) => ['01', '02', '03'].includes(section.type)
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: '区段封锁',

View File

@ -64,7 +64,7 @@ export default {
handler: this.arrangementRoute,
cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE,
isDisabled: (signal, work) => false,
isShow: (signal, work) => 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: [

View File

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

View File

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

View File

@ -61,14 +61,14 @@ export default {
handler: this.locate,
cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION,
isDisabled: (switchDevice, work) => switchDevice.normalPosition === 1,
isShow: (switchDevice, work) => 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: [

View 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>

View File

@ -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: '区段切除',

View File

@ -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';
}
},
{

View File

@ -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';
}
}
],

View 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>

View File

@ -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';
}
}
],

View File

@ -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';
}
}
]

View File

@ -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

View File

@ -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控制台

View File

@ -3,12 +3,12 @@ import store from '@/store/index';
import router from './router/index';
import NProgress from 'nprogress';
import 'nprogress/nprogress.css';
import { setToken, getToken, getSessionStorage, setSessionStorage } 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);

View File

@ -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,

View File

@ -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: [

View File

@ -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 = [

View File

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

View File

@ -1,4 +1,4 @@
import { 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);
}
}
// 判断实训操作正确性

View File

@ -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);

View File

@ -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) => {

View File

@ -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;
}

View File

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

View 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>

View File

@ -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);
},

View File

@ -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;
}

View File

@ -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('该操作将删除竞赛场景,是否继续?', '提 示', {

View 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>

View 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>

View File

@ -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) {

View File

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

View File

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

View File

@ -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() {

View File

@ -86,7 +86,7 @@ import { getByGroupStationList } from '@/api/jmap/map';
import { getToken } from '@/utils/auth';
// import { getSessionStorage } from '@/utils/auth';
import { creatSubscribe, clearSubscribe, displayTopic} from '@/utils/stomp';
import { 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();

View File

@ -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();

View File

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

View File

@ -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;

View File

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

View File

@ -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