Compare commits

..

2 Commits
master ... test

Author SHA1 Message Date
joylink_zhaoerwei
332577b03a 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 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 91a8410dc2
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Wed Apr 24 10:58:02 2024 +0800

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

commit c97def5fca
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Mon Apr 22 17:15:20 2024 +0800

    没有综合演练不显示联机

commit 31376bc221
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Mon Apr 22 16:09:03 2024 +0800

    道岔钩锁调整

commit 5be2cea1ca
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Mon Apr 22 15:52:58 2024 +0800

    列车pis和站台pis调整

commit dda44c870f
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Mon Apr 22 09:31:41 2024 +0800

    pa客户端车站选择禁用

commit 5548806ea5
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Sun Apr 21 17:49:03 2024 +0800

    pa客户端调整&标准线未开放调整

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

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

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

    实时广播问题调整&注释iscs信号系统&stationNav换成车站名称&iscs点击修改mode

commit bd10b05228
Author: fan <fanyuhong@joylink.club>
Date:   Wed Apr 17 17:08:47 2024 +0800

    iscs调整

commit 2b13ff0a5a
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Thu Apr 11 19:19:19 2024 +0800

    提示调整

commit 5212b6417a
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Thu Apr 11 19:04:50 2024 +0800

    推出考试销毁提交事件

commit 5666af96cc
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Thu Apr 11 18:17:14 2024 +0800

    createId为空删除参数

commit 6b3d83979d
Author: fan <fanyuhong@joylink.club>
Date:   Thu Apr 11 11:45:51 2024 +0800

    接口调整

commit a21e880a18
Author: fan <fanyuhong@joylink.club>
Date:   Thu Apr 11 11:20:28 2024 +0800

    考试调整

commit 27129e8b21
Author: fan <fanyuhong@joylink.club>
Date:   Thu Apr 11 11:10:03 2024 +0800

    试卷调整

commit 6c3b06c4a0
Author: fan <fanyuhong@joylink.club>
Date:   Wed Apr 10 14:33:10 2024 +0800

    考试管理调整

commit d1f8927355
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Mon Apr 8 16:39:33 2024 +0800

    南京二信号机故障调整again

commit f1e6121a8f
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Mon Apr 8 16:05:24 2024 +0800

    南京二信号机故障调整&南京二进路排列方式调整

commit 8f14259db7
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Fri Mar 29 11:14:08 2024 +0800

    客户端调整

commit 2c79bd847f
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Wed Mar 27 13:38:05 2024 +0800

    subTypeParam参数调整

commit db8f007ca8
Author: soul-walker <walkersxq@163.com>
Date:   Tue Mar 26 19:44:28 2024 +0800

    修改任务及步骤名称

commit 8d4e0d2a89
Author: soul-walker <walkersxq@163.com>
Date:   Tue Mar 26 17:57:39 2024 +0800

    修改yaml格式错误(tab换成空格)

commit abdce5a30d
Author: soul-walker <walkersxq@163.com>
Date:   Tue Mar 26 17:31:03 2024 +0800

    修改工作流文件名
    添加公网构建发布工作流

commit 86aaa5d5b1
Author: soul-walker <walkersxq@163.com>
Date:   Tue Mar 26 17:13:36 2024 +0800

    测试yarn build
    local-test分支构建发布工作流

commit 06aef16a5d
Author: joylink_zhaoerwei <Bob_Engineer@163.com>
Date:   Thu Mar 21 17:28:59 2024 +0800

    Squashed commit of the following:

    commit 6e6737a7c6
    Author: joylink_zhaoerwei <Bob_Engineer@163.com>
    Date:   Thu Mar 21 16:57:58 2024 +0800

        播放视频调整

commit 506fcd481b
Merge: fdaf9d81f 7971fce1b
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Tue Mar 12 11:16:44 2024 +0800

    Merge remote-tracking branch 'origin/test'

commit fdaf9d81f8
Merge: 29d5474e4 720546f99
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Tue Mar 12 10:34:45 2024 +0800

    Merge remote-tracking branch 'origin/test'

commit 29d5474e40
Merge: 47c5168e4 8a15cd0d1
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Tue Mar 12 10:33:51 2024 +0800

    Merge branch 'master' of https://git.code.tencent.com/lian-cbtc/jl-client

commit 8a15cd0d1c
Merge: aeb581dce bb8678e48
Author: fan <fanyuhong@joylink.club>
Date:   Fri Mar 8 19:05:37 2024 +0800

    Merge remote-tracking branch 'origin/test'

commit aeb581dced
Merge: 5ea69acaf ee36444dc
Author: fan <fanyuhong@joylink.club>
Date:   Fri Mar 8 15:46:16 2024 +0800

    Merge remote-tracking branch 'origin/test'

commit 5ea69acaf8
Merge: 6dbe1dc14 b2989b0eb
Author: fan <fanyuhong@joylink.club>
Date:   Fri Mar 8 11:29:24 2024 +0800

    Merge remote-tracking branch 'origin/test'

commit 6dbe1dc14c
Merge: 7b07b17e1 a1ed6248b
Author: fan <fanyuhong@joylink.club>
Date:   Fri Mar 8 09:33:28 2024 +0800

    Merge remote-tracking branch 'origin/test'

commit 7b07b17e13
Merge: bb453012c c7a622ead
Author: fan <fanyuhong@joylink.club>
Date:   Fri Mar 8 09:33:09 2024 +0800

    Merge remote-tracking branch 'origin/test'

commit bb453012c8
Merge: cf94b2570 e5c38220a
Author: fan <fanyuhong@joylink.club>
Date:   Wed Mar 6 09:41:39 2024 +0800

    Merge remote-tracking branch 'origin/test'

commit cf94b2570d
Merge: 2ae715a93 ce1be2d1c
Author: fan <fanyuhong@joylink.club>
Date:   Tue Mar 5 15:04:26 2024 +0800

    Merge remote-tracking branch 'origin/test'

commit 2ae715a936
Merge: 3e5996aee 7de898980
Author: fan <fanyuhong@joylink.club>
Date:   Tue Mar 5 13:53:17 2024 +0800

    Merge remote-tracking branch 'origin/test'

commit 3e5996aee4
Merge: 8cf496c2a bdec36100
Author: fan <fanyuhong@joylink.club>
Date:   Tue Mar 5 13:52:28 2024 +0800

    Merge remote-tracking branch 'origin/test'

commit 8cf496c2ae
Merge: 31f1192de 0444ef9c4
Author: fan <fanyuhong@joylink.club>
Date:   Mon Mar 4 17:05:56 2024 +0800

    Merge remote-tracking branch 'origin/test'

commit 31f1192de0
Merge: 13aefab82 c60127798
Author: fan <fanyuhong@joylink.club>
Date:   Mon Mar 4 09:20:30 2024 +0800

    Merge remote-tracking branch 'origin/test'

commit 13aefab82b
Merge: 4804cebfc 32866bab9
Author: fan <fanyuhong@joylink.club>
Date:   Thu Feb 29 10:42:02 2024 +0800

    Merge remote-tracking branch 'origin/test'

commit 47c5168e4b
Merge: 4804cebfc 5564e354b
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Mon Feb 19 13:28:54 2024 +0800

    Merge remote-tracking branch 'origin/test'

commit 4804cebfcd
Merge: 1ecab822f d8219cc2e
Author: fan <fanyuhong@joylink.club>
Date:   Tue Jan 16 09:36:39 2024 +0800

    Merge remote-tracking branch 'origin/test'

commit 1ecab822f4
Author: fan <fanyuhong@joylink.club>
Date:   Tue Dec 5 10:34:14 2023 +0800

    浙大网新操作调整

commit a9f18f6d61
Merge: c33c50005 3cb71dce3
Author: fan <fanyuhong@joylink.club>
Date:   Mon Dec 4 17:55:44 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit c33c50005c
Merge: 56eea551f ef230ae27
Author: fan <fanyuhong@joylink.club>
Date:   Thu Nov 30 17:54:51 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit 56eea551fb
Merge: 007548623 19fde5c7f
Author: fan <fanyuhong@joylink.club>
Date:   Thu Nov 16 15:08:19 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit 007548623d
Author: fan <fanyuhong@joylink.club>
Date:   Thu Nov 2 17:02:16 2023 +0800

    Revert "乘客信息发布系统拆分"

    This reverts commit 4c67af284c.

commit 4c67af284c
Author: fan <fanyuhong@joylink.club>
Date:   Thu Nov 2 16:59:37 2023 +0800

    乘客信息发布系统拆分

commit 684f32c481
Merge: 2ef158851 597d4ea7d
Author: fan <fanyuhong@joylink.club>
Date:   Tue Oct 31 17:51:57 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit 2ef158851d
Merge: f9c47cbac e795ba157
Author: fan <fanyuhong@joylink.club>
Date:   Wed Oct 25 14:05:58 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit f9c47cbac6
Merge: 8fbddfe40 efbd29a70
Author: fan <fanyuhong@joylink.club>
Date:   Wed Oct 25 10:36:11 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit 8fbddfe40d
Merge: 910082305 ca183eed7
Author: fan <fanyuhong@joylink.club>
Date:   Mon Oct 23 16:42:09 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit 910082305d
Merge: 0598da9a2 16d9ee72b
Author: joylink_zhangsai <1021828630@qq.com>
Date:   Wed Sep 27 18:11:19 2023 +0800

    Merge branch 'test'

    # Conflicts:
    #	src/views/newMap/display/terminals/index.vue

commit 0598da9a2d
Author: fan <fanyuhong@joylink.club>
Date:   Wed Sep 27 15:46:10 2023 +0800

    实训问题修复

commit ac096dd663
Merge: ee58c53b8 fbdb48dc0
Author: fan <fanyuhong@joylink.club>
Date:   Wed Sep 20 14:51:28 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit ee58c53b83
Merge: 8e34a0f26 0600abc0c
Author: fan <fanyuhong@joylink.club>
Date:   Mon Jun 12 10:13:52 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit 8e34a0f267
Merge: 6b18628b7 a8e2c9ef3
Author: fan <fanyuhong@joylink.club>
Date:   Thu Jun 8 13:27:05 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit 6b18628b7c
Merge: 42779dc95 d232546e8
Author: fan <fanyuhong@joylink.club>
Date:   Wed Jun 7 18:01:28 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit 42779dc952
Merge: 3855087ab 9aab60fe9
Author: fan <fanyuhong@joylink.club>
Date:   Tue Jun 6 10:09:00 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit 3855087abd
Merge: ca329a4db 928b38081
Author: fan <fanyuhong@joylink.club>
Date:   Thu Jun 1 18:15:18 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit ca329a4db7
Merge: e32d8f9b6 b863211cc
Author: fan <fanyuhong@joylink.club>
Date:   Tue May 30 17:55:25 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit e32d8f9b6b
Merge: 23975cd27 7ebc8dbf1
Author: fan <fanyuhong@joylink.club>
Date:   Fri May 26 17:59:19 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit 23975cd271
Merge: f4e27a6e3 adf75ebc1
Author: fan <fanyuhong@joylink.club>
Date:   Fri May 26 17:43:20 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit f4e27a6e31
Merge: 4424137da 3d63abcdb
Author: fan <fanyuhong@joylink.club>
Date:   Fri May 26 17:18:59 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit 4424137da9
Merge: ac82fad04 18b578041
Author: fan <fanyuhong@joylink.club>
Date:   Fri May 26 15:56:44 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit ac82fad041
Merge: fd5af534a edcdd8989
Author: fan <fanyuhong@joylink.club>
Date:   Fri May 26 15:34:23 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit fd5af534af
Merge: 06e4bb93c 9426ece04
Author: joylink_zhangsai <1021828630@qq.com>
Date:   Wed May 24 19:19:48 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit 06e4bb93c7
Author: fan <fanyuhong@joylink.club>
Date:   Mon May 22 11:18:37 2023 +0800

    Revert "Revert "修改新会话实训问题""

    This reverts commit 7fa5b1d62e.

commit 8a966ac5ae
Author: fan <fanyuhong@joylink.club>
Date:   Mon May 22 11:18:16 2023 +0800

    Revert "Revert "群消息已读""

    This reverts commit 204aef15

commit 5eb2a3f80c
Author: fan <fanyuhong@joylink.club>
Date:   Mon May 22 11:18:02 2023 +0800

    Revert "Revert "NCC行调名称调整成NCC调度""

    This reverts commit a7b0609389.

commit e1bf3dbcea
Author: fan <fanyuhong@joylink.club>
Date:   Mon May 22 11:16:59 2023 +0800

    Revert "Revert "添加角色NCC行调""

    This reverts commit 5c72107b

commit 67ea7ef5ae
Author: fan <fanyuhong@joylink.club>
Date:   Mon May 22 11:16:27 2023 +0800

    Revert "Revert "Squashed commit of the following:""

    This reverts commit b6edc491

commit 3fc6f13c6a
Merge: ce62a19aa bc6ad0226
Author: fan <fanyuhong@joylink.club>
Date:   Sat May 20 18:13:52 2023 +0800

    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

commit ce62a19aa0
Author: dongq107 <58670809@qq.com>
Date:   Thu May 18 15:12:31 2023 +0800

    到第三方登录页面时先删除之前的token

commit d09e415720
Author: dongq107 <58670809@qq.com>
Date:   Thu May 18 14:12:51 2023 +0800

    第三方登录必需调接口

commit 503c4c4ed3
Author: fan <fanyuhong@joylink.club>
Date:   Thu May 11 15:21:46 2023 +0800

    扬工院教学管理隐藏班级管理

commit fff07141b6
Author: joylink_zhangsai <1021828630@qq.com>
Date:   Sat May 6 19:00:17 2023 +0800

    修改错误的冲突合并

commit 80178a80f6
Merge: 1d824c135 e35328959
Author: joylink_zhangsai <1021828630@qq.com>
Date:   Sat May 6 18:37:26 2023 +0800

    Merge remote-tracking branch 'origin/master'

    # Conflicts:
    #	src/jmapNew/painter.js

commit 1d824c135e
Merge: 8e7b653bd 1318ecb97
Author: joylink_zhangsai <1021828630@qq.com>
Date:   Sat May 6 18:35:52 2023 +0800

    Merge remote-tracking branch 'origin/test_revert5.6'

commit 1318ecb97a
Merge: e3857a75d f3ae97f7f
Author: Yuan <yuanliyedefy@gmail.com>
Date:   Sat May 6 18:03:37 2023 +0800

    Merge branch 'test_revert5.6' of git.code.tencent.com:lian-cbtc/jl-client into test_revert5.6

commit e3857a75d0
Author: Yuan <yuanliyedefy@gmail.com>
Date:   Sat May 6 18:03:32 2023 +0800

    bugfix - 试卷规则标签选项

commit f3ae97f7f8
Author: joylink_zhaoerwei <Bob_Engineer@163.com>
Date:   Sat May 6 17:26:09 2023 +0800

    故障提示NCC

commit b472601fbc
Author: Yuan <yuanliyedefy@gmail.com>
Date:   Sat May 6 16:22:15 2023 +0800

    bugfix - 查看规则时标签字段未填充

    (cherry picked from commit 2e51c9ee4c)

commit d0a6b8e951
Author: dong <58670809@qq.com>
Date:   Sat May 6 16:17:38 2023 +0800

    切换考试时实训模式弹窗关闭

commit dd45877e1c
Author: dong <58670809@qq.com>
Date:   Sat May 6 16:01:16 2023 +0800

    实训标签只可添加,不能删除

commit b6edc4913b
Author: fan <fanyuhong@joylink.club>
Date:   Sat May 6 10:54:30 2023 +0800

    Revert "Squashed commit of the following:"

    This reverts commit 77560336

commit 5c72107b90
Author: fan <fanyuhong@joylink.club>
Date:   Sat May 6 10:53:25 2023 +0800

    Revert "添加角色NCC行调"

    This reverts commit 6d848115b3.

commit c4028ee8c6
Author: fan <fanyuhong@joylink.club>
Date:   Sat May 6 10:53:15 2023 +0800

    Revert "会话群代码调整"

    This reverts commit 79fbb8d071.

commit a7b0609389
Author: fan <fanyuhong@joylink.club>
Date:   Sat May 6 10:53:02 2023 +0800

    Revert "NCC行调名称调整成NCC调度"

    This reverts commit fcae8539d9.

commit 204aef1583
Author: fan <fanyuhong@joylink.club>
Date:   Sat May 6 10:52:15 2023 +0800

    Revert "群消息已读"

    This reverts commit 0805383f

commit c563fe8efa
Author: fan <fanyuhong@joylink.club>
Date:   Sat May 6 10:49:24 2023 +0800

    Revert "会话群代码调整"

    This reverts commit 2d15eee9f8.

commit 1b1ddad29e
Author: fan <fanyuhong@joylink.club>
Date:   Sat May 6 10:49:05 2023 +0800

    Revert "修改语音最长秒数"

    This reverts commit 20de76047b.

commit 7fa5b1d62e
Author: fan <fanyuhong@joylink.club>
Date:   Sat May 6 10:48:54 2023 +0800

    Revert "修改新会话实训问题"

    This reverts commit eb4cd6ab4a.

commit e353289594
Author: fan <fanyuhong@joylink.club>
Date:   Fri May 5 09:32:34 2023 +0800

    第三方登录增加组织选择

commit 210a7d0fdd
Author: fan <fanyuhong@joylink.club>
Date:   Thu Apr 27 13:21:50 2023 +0800

    第三方登录页项目配置调整

commit a373d21deb
Author: fan <fanyuhong@joylink.club>
Date:   Thu Apr 27 09:23:21 2023 +0800

    线路数据设置归属项目管理项目数据通过接口查询

commit f2039927db
Author: dong <58670809@qq.com>
Date:   Wed Apr 19 10:42:38 2023 +0800

    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

        去掉实训管理查询项缓存

commit c020d69150
Author: dong <58670809@qq.com>
Date:   Mon Apr 17 14:51:08 2023 +0800

    Squashed commit of the following:

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

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

commit f27fd63e29
Author: dong <58670809@qq.com>
Date:   Mon Apr 17 13:28:06 2023 +0800

    Squashed commit of the following:

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

        修改弹窗没有高度问题

commit 857472ba72
Author: dong <58670809@qq.com>
Date:   Fri Apr 14 16:26:57 2023 +0800

    Squashed commit of the following:

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

        去掉实训管理查询项缓存

commit 1aca150711
Merge: 859317468 dff6b0f54
Author: fan <fanyuhong@joylink.club>
Date:   Fri Apr 14 13:09:38 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit 8593174685
Merge: 2bb8c6df9 0e1dcbb5f
Author: fan <fanyuhong@joylink.club>
Date:   Thu Apr 13 16:23:01 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit 2bb8c6df92
Author: dong <58670809@qq.com>
Date:   Wed Apr 12 18:34:06 2023 +0800

    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

        【删除注释】

commit 54fb5eb47a
Author: dong <58670809@qq.com>
Date:   Fri Apr 7 15:27:22 2023 +0800

    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

        【删除注释】

commit 95b6d019dd
Merge: ed1c4c0e5 2b6fa6a9f
Author: fan <fanyuhong@joylink.club>
Date:   Thu Apr 6 17:32:19 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit ed1c4c0e53
Merge: 6fd16fcc9 770de3c73
Author: fan <fanyuhong@joylink.club>
Date:   Thu Mar 23 17:51:52 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit 6fd16fcc95
Author: fan <fanyuhong@joylink.club>
Date:   Mon Mar 13 15:01:59 2023 +0800

    三方跳转调整

commit 8ec88a84a2
Merge: 8e7b653bd 4aa047458
Author: fan <fanyuhong@joylink.club>
Date:   Fri Mar 10 09:37:53 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit 8e7b653bd3
Author: fan <fanyuhong@joylink.club>
Date:   Wed Mar 1 15:51:05 2023 +0800

    设备管理配置调整

commit 710dd576d4
Merge: 3e3d3622d dd0fd1972
Author: fan <fanyuhong@joylink.club>
Date:   Sat Feb 18 12:21:53 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit 3e3d3622dc
Merge: 916688b47 85ca94a66
Author: fan <fanyuhong@joylink.club>
Date:   Fri Feb 17 18:17:00 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit 916688b47c
Merge: 1c2912285 2bec6887f
Author: dong <58670809@qq.com>
Date:   Mon Jan 16 18:04:58 2023 +0800

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

commit 1c2912285b
Merge: 47e87c045 d671daa67
Author: dong <58670809@qq.com>
Date:   Mon Jan 16 15:52:07 2023 +0800

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

commit 47e87c0457
Merge: 910e0c571 9fe37f4c6
Author: dong <58670809@qq.com>
Date:   Mon Jan 16 14:20:18 2023 +0800

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

commit 910e0c5712
Author: fan <fanyuhong@joylink.club>
Date:   Mon Jan 16 10:08:07 2023 +0800

    北京一号线折返策略

commit 00866bde38
Merge: da4020e8c 1ae99e90d
Author: fan <fanyuhong@joylink.club>
Date:   Fri Jan 13 18:50:42 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit da4020e8c6
Merge: bf1d744b3 9700682a2
Author: fan <fanyuhong@joylink.club>
Date:   Fri Jan 13 18:48:27 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit bf1d744b34
Merge: c9dd8752c aee86e802
Author: fan <fanyuhong@joylink.club>
Date:   Fri Jan 13 18:14:05 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit c9dd8752c1
Merge: 22064af28 36adbaeda
Author: dong <58670809@qq.com>
Date:   Fri Jan 13 16:09:21 2023 +0800

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

commit 22064af280
Merge: d9a06f3f1 e28b1f333
Author: dong <58670809@qq.com>
Date:   Fri Jan 13 13:30:50 2023 +0800

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

commit d9a06f3f1e
Merge: a03b16e60 3054160b1
Author: fan <fanyuhong@joylink.club>
Date:   Fri Jan 13 13:11:24 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit a03b16e60a
Merge: 6897cb6c0 c3db4d4c2
Author: fan <fanyuhong@joylink.club>
Date:   Wed Jan 11 17:49:25 2023 +0800

    Merge remote-tracking branch 'origin/test'

commit 6897cb6c0b
Merge: 082c07529 58bcd7223
Author: fan <fanyuhong@joylink.club>
Date:   Tue Jan 10 18:01:34 2023 +0800

    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

commit 082c075290
Author: fan <fanyuhong@joylink.club>
Date:   Mon Nov 21 18:50:20 2022 +0800

    成都工业跳转调度大赛

commit 3a35705576
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Sun Nov 20 14:24:36 2022 +0800

    苏安院调整

commit 313c587314
Author: fan <fanyuhong@joylink.club>
Date:   Fri Oct 28 14:20:56 2022 +0800

    三方跳转不设置子系统节点

commit 401e09cdee
Author: fan <fanyuhong@joylink.club>
Date:   Thu Oct 27 18:45:09 2022 +0800

    代码调整

commit b35ca66983
Author: fan <fanyuhong@joylink.club>
Date:   Thu Oct 27 16:53:14 2022 +0800

    京津冀职业发展联盟

commit 24d64b91ac
Merge: c5d4e425e 802f4abbc
Author: fan <fanyuhong@joylink.club>
Date:   Sat Oct 8 18:44:43 2022 +0800

    Merge remote-tracking branch 'origin/test'

    # Conflicts:
    #	src/views/newMap/mapDraftPicture/createPicture.vue

commit c5d4e425e4
Author: fan <fanyuhong@joylink.club>
Date:   Thu Sep 8 09:14:21 2022 +0800

    红河财经 隐藏案例

commit f9f05f12fd
Author: fan <fanyuhong@joylink.club>
Date:   Thu Sep 1 16:09:49 2022 +0800

    红河财经CCTV调整

commit e47e38003e
Author: fan <fanyuhong@joylink.club>
Date:   Thu Aug 25 15:10:26 2022 +0800

    大屏显示调整

commit 6802e297a8
Merge: ef7c7601b 832d26709
Author: fan <fanyuhong@joylink.club>
Date:   Wed Aug 24 18:03:36 2022 +0800

    Merge remote-tracking branch 'origin/test'

commit ef7c7601b8
Merge: 5dda53243 9341b3f80
Author: joylink_zhangsai <1021828630@qq.com>
Date:   Thu Aug 4 21:09:33 2022 +0800

    Merge remote-tracking branch 'origin/test'

commit 5dda532435
Merge: 76de50fc6 ff9101233
Author: joylink_zhangsai <1021828630@qq.com>
Date:   Thu Aug 4 21:09:10 2022 +0800

    Merge remote-tracking branch 'origin/master'

commit 76de50fc6a
Merge: 44363cc3e e20e21253
Author: joylink_zhangsai <1021828630@qq.com>
Date:   Thu Aug 4 21:08:53 2022 +0800

    Merge remote-tracking branch 'origin/test'

    # Conflicts:
    #	src/jmapNew/theme/datie_02/menus/menuButton.vue

commit ff9101233c
Merge: 44363cc3e 93a4010ea
Author: fan <fanyuhong@joylink.club>
Date:   Tue Jul 26 18:08:14 2022 +0800

    Merge remote-tracking branch 'origin/test'

    # Conflicts:
    #	src/jmapNew/theme/datie_02/menus/menuButton.vue

commit 44363cc3e8
Merge: 577c1f714 a9bd7ef94
Author: joylink_zhangsai <1021828630@qq.com>
Date:   Thu Jul 21 18:09:03 2022 +0800

    Merge remote-tracking branch 'origin/test'

    # Conflicts:
    #	src/jmapNew/config/skinCode/datie_02.js

commit 577c1f7141
Author: fan <fanyuhong@joylink.club>
Date:   Wed Jul 20 10:05:22 2022 +0800

    长兴技术=》长兴技师

commit fa8f5dca6c
Merge: d2cf5489b fbf6e5fa2
Author: Yuan <yuanliyedefy@gmail.com>
Date:   Fri Jul 15 18:17:16 2022 +0800

    Merge branch 'test'

commit d2cf5489b3
Merge: 1fe561222 dd935f0ae
Author: fan <fanyuhong@joylink.club>
Date:   Thu Jul 14 18:15:52 2022 +0800

    Merge remote-tracking branch 'origin/test'

commit 1fe561222c
Merge: 3e60f4b8e 012c8e713
Author: fan <fanyuhong@joylink.club>
Date:   Tue Jul 5 18:03:57 2022 +0800

    Merge remote-tracking branch 'origin/test'

commit 3e60f4b8e1
Merge: 131e70c72 8b3c7eadc
Author: fan <fanyuhong@joylink.club>
Date:   Mon Jun 27 18:08:41 2022 +0800

    Merge remote-tracking branch 'origin/test'

commit 131e70c729
Author: fan <fanyuhong@joylink.club>
Date:   Mon Jun 27 13:22:25 2022 +0800

    子系统栏显示调整

commit a8ce60f33e
Author: fan <fanyuhong@joylink.club>
Date:   Mon Jun 27 13:08:46 2022 +0800

    子系统栏显示调整

commit 15cf33c850
Merge: d568be81e 80361b40a
Author: fan <fanyuhong@joylink.club>
Date:   Tue Jun 21 13:22:00 2022 +0800

    Merge remote-tracking branch 'origin/test'

commit d568be81ec
Merge: 0929b54f9 58427fb83
Author: fan <fanyuhong@joylink.club>
Date:   Mon Jun 20 17:47:12 2022 +0800

    Merge remote-tracking branch 'origin/test'

commit 0929b54f9d
Author: fan <18706759286@163.com>
Date:   Mon Jun 6 16:43:11 2022 +0800

    实训双击问题调整

commit 215dab7074
Merge: 013e66745 93c5bc4fb
Author: fan <18706759286@163.com>
Date:   Mon May 30 17:44:09 2022 +0800

    Merge remote-tracking branch 'origin/test'

    # Conflicts:
    #	src/jmapNew/theme/datie_02/menus/menuTrain.vue

commit 013e667452
Author: fan <18706759286@163.com>
Date:   Mon May 30 17:34:44 2022 +0800

    实训仿真结束 退出实训界面

commit b05cedd44c
Merge: b73395f84 b9fa32a96
Author: joylink_zhangsai <1021828630@qq.com>
Date:   Fri May 20 18:24:36 2022 +0800

    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

commit b73395f840
Merge: 0cb4088f6 e6876ee7f
Author: joylink_zhangsai <1021828630@qq.com>
Date:   Fri May 20 18:24:17 2022 +0800

    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

commit b9fa32a96a
Merge: 7677fa460 a69e27f43
Author: joylink_cuiweidong <364937672@qq.com>
Date:   Thu May 12 11:38:28 2022 +0800

    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

commit 0cb4088f6c
Merge: 000cbada5 7677fa460
Author: joylink_zhangsai <1021828630@qq.com>
Date:   Thu May 12 11:08:12 2022 +0800

    Merge remote-tracking branch 'origin/master'

commit 7677fa4607
Author: joylink_cuiweidong <364937672@qq.com>
Date:   Tue Apr 19 19:18:31 2022 +0800

    代码调整

commit 226744e7f7
Author: joylink_cuiweidong <364937672@qq.com>
Date:   Tue Apr 19 14:07:27 2022 +0800

    代码调整

commit ad47f33d16
Author: joylink_cuiweidong <364937672@qq.com>
Date:   Tue Apr 19 14:03:06 2022 +0800

    代码调整

commit bf1886a534
Author: joylink_cuiweidong <364937672@qq.com>
Date:   Tue Apr 19 13:45:00 2022 +0800

    代码调整

commit f61785fc5e
Author: joylink_cuiweidong <364937672@qq.com>
Date:   Mon Apr 18 18:54:21 2022 +0800

    代码调整

commit d82ab8f93c
Author: joylink_cuiweidong <364937672@qq.com>
Date:   Mon Apr 18 18:43:39 2022 +0800

    代码调整

commit 62be008849
Author: joylink_cuiweidong <364937672@qq.com>
Date:   Mon Apr 18 17:13:54 2022 +0800

    代码调整

commit 25c8ddd667
Author: joylink_cuiweidong <364937672@qq.com>
Date:   Mon Apr 18 17:10:12 2022 +0800

    代码调整

commit 62e0f34ef6
Author: joylink_cuiweidong <364937672@qq.com>
Date:   Mon Apr 18 15:41:37 2022 +0800

    代码调整

commit 03611598e1
Author: joylink_cuiweidong <364937672@qq.com>
Date:   Mon Apr 18 14:40:05 2022 +0800

    成绩统计代码调整

commit fc9c148753
Author: joylink_cuiweidong <364937672@qq.com>
Date:   Mon Apr 18 09:28:37 2022 +0800

    学生统计信息代码调整

commit 87dc324d74
Author: joylink_cuiweidong <364937672@qq.com>
Date:   Fri Apr 15 18:45:08 2022 +0800

    代码调整

commit e5240b10ca
Author: joylink_cuiweidong <364937672@qq.com>
Date:   Fri Apr 15 15:26:12 2022 +0800

    代码调整

commit f876c33603
Author: joylink_cuiweidong <364937672@qq.com>
Date:   Fri Apr 15 14:46:24 2022 +0800

    学生统计页面添加

commit a56505a3d0
Author: joylink_cuiweidong <364937672@qq.com>
Date:   Thu Apr 14 17:18:26 2022 +0800

    成绩统计 代码调整

commit ecb4c2569e
Author: joylink_cuiweidong <364937672@qq.com>
Date:   Wed Apr 13 17:26:50 2022 +0800

    学生单次考试成绩 页面添加

commit 6ed22109af
Author: fan <18706759286@163.com>
Date:   Mon Apr 18 14:57:12 2022 +0800

    大铁线路调整2

commit 7fbe309f70
Author: fan <18706759286@163.com>
Date:   Fri Apr 15 16:49:11 2022 +0800

    大铁线路调整

commit c8ba0b63b7
Merge: 3fdff6d32 adc9f3816
Author: fan <18706759286@163.com>
Date:   Fri Mar 25 14:00:34 2022 +0800

    Merge remote-tracking branch 'origin/test'

commit 3fdff6d329
Merge: 38b1beeef 92d192cfe
Author: fan <18706759286@163.com>
Date:   Tue Mar 15 10:06:37 2022 +0800

    Merge remote-tracking branch 'origin/test'

commit 38b1beeef5
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Thu Jan 20 19:07:15 2022 +0800

    iscs调整

commit 4431fe9dd4
Merge: 5bf48a83f 4b3376ec2
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Thu Jan 20 18:02:40 2022 +0800

    Merge remote-tracking branch 'origin/test'

commit 5bf48a83f0
Merge: 204995be2 62f22d0c7
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Wed Jan 5 17:58:55 2022 +0800

    Merge remote-tracking branch 'origin/test'

    # Conflicts:
    #	.env.production

commit 204995be22
Merge: 958a469ba c4e9ab234
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Wed Dec 29 14:04:20 2021 +0800

    Merge remote-tracking branch 'origin/test'

commit 958a469ba7
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Wed Dec 29 10:21:08 2021 +0800

    ip调整

commit c1698252aa
Author: joylink_fanyuhong <18706759286@163.com>
Date:   Wed Dec 29 10:04:07 2021 +0800

    正式ip调整

commit 000cbada55
Merge: 9a37c1f97 253408b86
Author: joylink_zhangsai <1021828630@qq.com>
Date:   Tue Oct 26 18:48:57 2021 +0800

    Merge remote-tracking branch 'origin/test'
2024-05-27 17:23:35 +08:00
joylink_zhaoerwei
6e6737a7c6 播放视频调整 2024-03-21 16:57:58 +08:00
85 changed files with 783 additions and 6358 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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

View File

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

View File

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

@ -103,9 +103,9 @@
<div id="doorpick" class="ebpanebutton2" style="top:33%;left:70%;">
<img class="ebbuttonimg2" :src="zuoimg" />
<img class="ebbuttonimg2" :src="niuimg" :style="{transform: atpOn ? 'rotate(0deg)':'rotate(45deg)'}"/>
<img class="ebbuttonimg2" :src="niuimg" @click=""/>
<div class="tfbutton" style="font-size:10px;top:5px;left:33px;" @click="atpclick(false)">正常</div>
<div class="tfbutton" style="font-size:10px;top:13px;left:50px;" @click="atpclick(true)">切除</div>
<div class="tfbutton" style="font-size:10px;top:13px;left:50px;" @click="atpclick(false)">切除</div>
<div style="font-size:10px;" :style="{position:'absolute',width:'70px',height:'20px',position:'absolute',top:'70px',left:'5px'}" >
<div :style="{height:'10px',backgroundColor:'#000',color:' #fff'}">
ATP切除
@ -171,10 +171,6 @@
groupNum: {
type: String,
default: null
},
atpOn: {
type: Boolean,
default: false
}
},
data() {
@ -228,6 +224,7 @@
}
}
},
atpclick: function (type){
let data = {
groupNumber:this.groupNum,

View File

@ -51,7 +51,7 @@
<Drive-Mmi v-if="mmishow" ref="mmiui" />
<Drive-Tms v-if="tmsshow" ref="tmsui" />
<Drive-Control v-if="dcontrolshow" ref="dcontrol" :group-num="groupnum" :user-role="userrole" />
<Equip-Box v-if="equipboxshow" :group-num="groupnum" :atpOn="atpOn" ref="equipbox" />
<Equip-Box v-if="equipboxshow" :group-num="groupnum" />
<psl v-if="pslShow" ref="psl" pop-class="xian-01__systerm" />
</div>
@ -140,8 +140,7 @@ export default {
value: '',
topid:null,
nowdrive:null,
takeOver: false,
atpOn: false
takeOver: false
};
},
computed: {
@ -419,9 +418,6 @@ export default {
if (this.$refs.mmiui) {
this.$refs.mmiui.updatetrainstatus(newdata);
}
if(newdata.hasOwnProperty('atpOn')){
this.atpOn = newdata.atpOn;
}
updatabuttonlight(newdata);
},

View File

@ -8,7 +8,7 @@
<td>网压</td>
<td>网流</td>
<td>速度</td>
<td>牵引/制动级位111</td>
<td>牵引/制动级位</td>
<td>里程标</td>
<td>下一站</td>
<td>目的站</td>
@ -143,7 +143,7 @@
</div>
</td></template
>
<template v-else-if="k === '交流输出电压111'">
<template v-else-if="k === '交流输出电压'">
<td v-for="(item, j) in v" :key="j">
{{ item }}
</td></template
@ -230,7 +230,6 @@ export default {
data() {
return {
localStatic: JL3D_LOCAL_STATIC,
groupNumber: '001',
trainInfo: {
voltage: 1600,
current: 317,
@ -262,14 +261,6 @@ export default {
}
};
},
watch: {
'$store.state.training.roleDeviceCode': function (val) {
if(val) {
this.unsubscribe();
this.subscribe();
}
}
},
mounted() {
this.group = this.$route.query.group;
this.subscribe();
@ -284,8 +275,7 @@ export default {
methods: {
subscribe() {
const header = { group: this.group || "", "X-Token": getToken() };
this.groupNumber = this.$store.state.training.roleDeviceCode
creatSubscribe(getTopic("TMS", this.group, { groupNumber: this.groupNumber }), header, msg => {
creatSubscribe(getTopic("TMS", this.group), header, msg => {
let res = JSON.parse(msg.body);
console.log(res);
console.log(res.parkingBreakPressure);
@ -325,7 +315,7 @@ export default {
});
},
unsubscribe() {
clearSubscribe(getTopic("TMS", this.group, { groupNumber: this.groupNumber }));
clearSubscribe(getTopic("TMS", this.group));
},
setTractionWave(flag) {
if (timer) {

View File

@ -227,9 +227,7 @@ export default {
this.logout();
// });
} else if (this.$route.query.third) {
if (this.$route.query.thirdOpen) {
window.close();
} else if (this.$route.query.project === 'cgy' || this.$route.query.project === 'drts') {
if (this.$route.query.project === 'cgy' || this.$route.query.project === 'drts') {
window.parent.postMessage('back', '*');
} else {
window.close();

View File

@ -1,74 +0,0 @@
<template>
<div>
<component :is="menus" :selected="selected" />
<station-diagram ref="stationDiagram" @setSelected="setSelected" />
</div>
</template>
<script>
import StationDiagram from '../stationDiagram/index';
// import {covertMemberData} from '@/utils/simulation';
// import {mapGetters} from 'vuex';
import { clearSubscribe, getTopic} from '@/utils/stomp';
export default {
name: 'AtsWork',
components: {
StationDiagram
},
data() {
return {
menus: null,
selected: null,
currentDriver:''
};
},
computed: {
mapData() {
return this.$store.state.map.map;
},
group() {
return this.$route.query.group;
},
mapDevice() {
return this.$store.state.map.mapDevice;
},
},
watch: {
//
'$store.state.map.mapDataLoadedCount': function () {
const lineCode = this.$jlmap.lineCode;
if (lineCode) {
this.menus = this.$theme.loadAtsWorkMenuComponent(lineCode);
}
},
'$store.state.map.initJlmapLoadedCount': function (val) {
this.handleDispatchWorkData();
},
},
beforeDestroy() {
clearSubscribe(getTopic('ATS_STATUS', this.group));
},
methods: {
setSelected(val) {
this.selected = val;
},
handleDispatchWorkData() {
const logicData = {routeData:this.$store.state.map.routeData, autoReentryData: this.$store.state.map.autoReentryData};
const repaint = this.$store.state.map.initJlmapLoadedCount === 1;
const width = this.$store.state.app.width;
const height = this.$store.state.app.height;
this.$store.dispatch('config/resize', { width, height });
this.$jlmap.resize({ width, height });
this.$nextTick(()=>{
this.$jlmap.setMap(this.mapData, this.mapDevice, logicData, repaint);
});
}
}
};
</script>
<style lang="scss">
.changeDriver{
position: absolute;
left: 42%;
top: 30px;
}
</style>

View File

@ -49,7 +49,7 @@ export default {
if (this.mapData && this.mapData.pictureList) {
const 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

@ -1,456 +1,456 @@
<template>
<div>
<el-row>
<!-- <el-col :span="3" style="height: 28px;line-height: 28px;">
<el-radio v-model="addModel.forward" :label="true">{{ $t('planMonitor.addToTheFront') }}</el-radio>
</el-col> -->
<el-col :span="3" style="margin-left: 10px;height: 28px;line-height: 28px;">
<span>{{ $t('planMonitor.tripNumber')+$t('global.colon') }}</span>
</el-col>
<el-col :span="5">
<el-select v-model="addModel.tripNumber" size="mini" :placeholder="this.$t('global.choose')" disabled>
<el-option
v-for="item in tripNumberList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-col>
<el-col :span="3" style="margin-left: 20px;height: 28px;line-height: 28px;">
<span>{{ $t('global.startTime')+$t('global.colon') }}</span>
</el-col>
<el-col :span="5">
<el-time-picker v-model="addModel.startTime" size="mini" value-format="HH:mm:ss" :clearable="false" :picker-options="{selectableRange:'02:00:00-23:59:59'}" />
</el-col>
</el-row>
<el-row style="margin-top: 5px;height: 28px;line-height: 28px;">
<!-- <el-col :span="3">
<el-radio v-model="addModel.forward" :label="false">{{ $t('planMonitor.addToTheEnd') }}</el-radio>
</el-col> -->
<!-- <el-col :span="3" style="margin-left: 10px;height: 28px;line-height: 28px;">
<span>{{ $t('planMonitor.defaultStopTime') }}</span>
</el-col>
<el-col :span="5">
<el-input-number v-model="defaultStopTime" placeholder="请输入时间" size="mini" :controls="false" :min="0" /> -->
<!-- <el-select v-model="defaultStopTime" size="mini" :placeholder="this.$t('global.choose')">
<el-option
v-for="item in defaultStopTimeList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select> -->
<!-- </el-col> -->
<el-col :span="3" style="margin-left:10px;height: 28px;line-height: 28px;">
<!-- {{ $t('planMonitor.defaultRunLevel') }} -->
<span>运行等级</span>
</el-col>
<el-col :span="5">
<el-select v-model="defaultSpeedLevel" size="mini" :placeholder="this.$t('global.choose')">
<el-option
v-for="item in defaultSpeedLevelList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-col>
</el-row>
<el-row style="margin-bottom: 5px;">
{{ $t('planMonitor.crossRailway')+$t('global.colon') }}
</el-row>
<el-row>
<el-table
v-loading="tableLoading"
:data="routingList"
border
highlight-current-row
:height="230"
@row-click="handleClick"
>
<el-table-column
prop="startStationCode"
:label="this.$t('planMonitor.startingStation')"
:filters="startStationFilters"
:filter-method="filterStartStation"
column-key="startStationCode"
>
<template slot-scope="scope">
{{ formatName(scope.row.startStationCode) }}
</template>
</el-table-column>
<el-table-column prop="startSectionCode" :label="this.$t('planMonitor.startingSection')" width="95">
<template slot-scope="scope">
{{ formatName(scope.row.startSectionCode) }}
</template>
</el-table-column>
<el-table-column
prop="endStationCode"
:label="this.$t('planMonitor.terminal')"
:filters="endStationFilters"
:filter-method="filterEndStation"
column-key="endStationCode"
>
<template slot-scope="scope">
{{ formatName(scope.row.endStationCode) }}
</template>
</el-table-column>
<el-table-column prop="endSectionCode" :label="this.$t('planMonitor.endingSection')" width="95">
<template slot-scope="scope">
{{ formatName(scope.row.endSectionCode) }}
</template>
</el-table-column>
<el-table-column prop="routingType" label="交路类型">
<template slot-scope="scope">
{{ routingTypeMap[scope.row.routingType] }}
</template>
</el-table-column>
<el-table-column label="类别" width="240">
<template slot-scope="scope">
{{ `${frontMap[String(scope.row.startTbFront)]} - ${frontMap[String(scope.row.endTbFront)]}` }}
</template>
</el-table-column>
<el-table-column prop="remarks" width="auto" :label="this.$t('planMonitor.description')" />
</el-table>
</el-row>
<el-row style=" margin-bottom: 5px;margin-top: 10px;">
{{ '经停转换轨 / 站台轨'+$t('global.colon') }}
</el-row>
<el-row>
<el-table v-loading="routeLoading" :data="addModel.arriveConfigList" border :height="230">
<el-table-column prop="stationCode" :label="this.$t('planMonitor.station')" width="160">
<template slot-scope="scope">
{{ formatName(scope.row.stationCode) }}
</template>
</el-table-column>
<el-table-column prop="sectionCode" :label="this.$t('planMonitor.section')" width="95">
<template slot-scope="scope">
{{ formatName(scope.row.sectionCode) }}
</template>
</el-table-column>
<!-- prop="arriveTime" -->
<el-table-column :label="this.$t('planMonitor.arriveTime')" width="100px">
<template v-if="scope.$index!=0" slot-scope="scope">
{{ scope.row.arriveTime }}
</template>
</el-table-column>
<!-- prop="stopTime" -->
<el-table-column :label="this.$t('planMonitor.stopTime')" width="100px">
<template v-if="scope.$index!=0&&scope.$index!=addModel.arriveConfigList.length-1" slot-scope="scope">
{{ scope.row.stopTime+'s' }}
<!-- <el-input v-model="scope.row.stopTime" placeholder="请输入时间" size="mini" @input="changeStopTime(scope.$index, scope.row.stopTime)" /> -->
</template>
</el-table-column>
<el-table-column :label="this.$t('planMonitor.departureTime')" width="100px">
<template v-if="scope.$index!=addModel.arriveConfigList.length-1" slot-scope="scope">
{{ scope.row.departureTime }}
</template>
</el-table-column>
<el-table-column :label="this.$t('planMonitor.runLevel')">
<template slot-scope="scope">
<span style="font-size:13px;">{{ scope.row.speedLevel }}</span>
<span>{{ '('+scope.row.speedLevelTime+'s)' }}</span>
<!-- <el-input v-model="scope.row.speedLevelTime" style="width:70px" placeholder="请输入运行等级" size="mini" @input="changeSpeedLevelTime(scope.$index, scope.row.speedLevelTime)" /> -->
</template>
</el-table-column>
</el-table>
</el-row>
<!-- <el-row>
<el-col :offset="16">
<el-checkbox v-model="showDefault">{{ $t('planMonitor.showDefaultStopTimeAndRunLevel') }}</el-checkbox>
</el-col>
</el-row> -->
<div style="text-align:center;margin-top:15px;">
<el-button size="medium" @click="doClose">{{ $t('global.cancel') }}</el-button>
<el-button type="primary" size="medium" @click="handleCommit">{{ $t('global.confirm') }}</el-button>
</div>
</div>
</template>
<script>
import { listUserRoutingData, addPlanTrip, getMapStationRunUser, getStationStopTime, querySectionListByRouting } from '@/api/runplan';
import { getRunplanConfig } from '@/api/jmap/mapdraft';
import { formatTime, formatName } from '@/jmapNew/theme/parser/util';
export default {
name: 'AddTask',
components: {
},
data() {
return {
tableLoading:false,
routeLoading:false,
isPlan: false,
loadRunPlanId:'',
// showDefault: true,
stopStationMap: {},
stopTimeMap:{},
params: {},
routingList: [],
startStationFilters:[],
endStationFilters:[],
// defaultStopTime: '30',
defaultSpeedLevel: 'l3',
reentryData: {},
addModel: {
routingCode: '',
endStationCode: '',
startStationCode: '',
startTime: '02:00:00',
endTime: '',
arriveConfigList: [],
tripNumber: '',
planId: '',
serviceNumber: '',
startTbFront: false,
endTbFront: false
},
tripNumberList: [{ value: '', label: this.$t('planMonitor.automatic') }],
defaultSpeedLevelList: [
{ value: 'l1', label: '等级一' },
{ value: 'l2', label: '等级二' },
{ value: 'l3', label: '等级三'},
{ value: 'l4', label: '等级四' },
{ value: 'l5', label: '等级五' }
],
routingTypeMap: {
OUTBOUND: '出库',
INBOUND: '入库',
LOOP: '环路'
},
frontMap: {
'true': '折返轨(站前)',
'false': '折返轨(站后)',
'undefined': '转换轨',
'null': '转换轨'
}
};
},
watch: {
'addModel.routingCode': function (val) {
if (val) {
this.computedDetailList('routingCode');
}
},
'addModel.startTime': function () {
this.computedDetailList();
},
'defaultSpeedLevel': function () {
this.computedDetailList('defaultSpeedLevel');
}
},
methods: {
loadInitData(params) {
this.loadRunPlanId = params.loadRunPlanId;
this.isPlan = params.isPlan;
this.addModel.serviceNumber = params.serviceNumber;
this.addModel.planId = this.$route.query.planId || this.loadRunPlanId;
this.addModel.arriveConfigList = [];
const mapId = this.$route.query.mapId;
if (mapId) {
this.tableLoading = true;
getRunplanConfig(mapId).then(resp => {
const data = resp.data;
this.reentryData = data.config.reentryData;
});
listUserRoutingData(mapId).then(resp => {
this.routingList = resp.data;
const startStationFilterMap = {};
const endStationFilterMap = {};
this.routingList.forEach(routing=>{
if (!startStationFilterMap[routing.startStationCode]) {
startStationFilterMap[routing.startStationCode] = {text:formatName(routing.startStationCode), value:routing.startStationCode};
}
if (!endStationFilterMap[routing.endStationCode]) {
endStationFilterMap[routing.endStationCode] = {text:formatName(routing.endStationCode), value:routing.endStationCode};
}
});
this.startStationFilters = Object.values(startStationFilterMap).sort((a, b)=>{
const startStationA = this.$store.getters['map/getDeviceByCode'](a.value);
const startStationB = this.$store.getters['map/getDeviceByCode'](b.value);
return startStationA.kmRange - startStationB.kmRange;
});
this.endStationFilters = Object.values(endStationFilterMap).sort((a, b)=>{
const endStationA = this.$store.getters['map/getDeviceByCode'](a.value);
const endStationB = this.$store.getters['map/getDeviceByCode'](b.value);
return endStationA.kmRange - endStationB.kmRange;
});
this.tableLoading = false;
});
getMapStationRunUser(mapId).then(resp =>{
const list = resp.data.list;
list.forEach(elem => {
this.stopStationMap[[elem.startSectionCode, elem.endSectionCode].toString()] = elem;
});
getStationStopTime(mapId).then(response=>{
const stopTimeList = response.data.list;
stopTimeList.forEach(element=>{
this.stopTimeMap[element.stationCode] = {parkingTime:element.parkingTime};
});
});
});
}
},
filterStartStation(value, row) {
return row.startStationCode == value;
},
filterEndStation(value, row) {
return row.endStationCode == value;
},
doClose() {
this.$emit('doClose');
},
formatName(code) {
return formatName(code);
},
computedTimeByString(timeStr) {
const bTime = +new Date(`2019-01-01 00:00:00`);
const eTime = +new Date(`2019-01-01 ${timeStr}`);
return Number(eTime) - Number(bTime);
},
compuntedRunTime(list, index, runLevel) {
let runTime = 0;
if ((index == 0 && String(this.addModel.startTbFront) == false) ||
(index == list.length - 1 && String(this.addModel.endTbFront) == false)) {
return 0;
}
if (index < list.length - 1) {
const stopStationObj = this.stopStationMap[[list[index].sectionCode, list[index + 1].sectionCode].toString()];
if (stopStationObj) {
if (stopStationObj.runPlanLevelVO) {
runTime = parseInt(stopStationObj.runPlanLevelVO[runLevel]);
} else if (stopStationObj[runLevel]) {
runTime = parseInt(stopStationObj[runLevel]);
} else {
this.$messageBox(this.$t('planMonitor.addTaskHint1') + stopStationObj.startSectionCode + this.$t('planMonitor.addTaskHint2') + stopStationObj.endSectionCode + this.$t('planMonitor.addTaskHint3'));
}
}
}
return runTime;
},
computedDetailList(type = null) {
if (this.addModel.routingCode) {
let tempTime = this.computedTimeByString(this.addModel.startTime) / 1000;
const list = Object.assign([], this.addModel.arriveConfigList);
const runLevel = this.defaultSpeedLevel || 'l1'; //
list.forEach((elem, index) => {
if (type == 'routingCode') {
if (index == 0 || index == list.length - 1) {
elem.stopTime = 0;
} else if (this.stopTimeMap[elem.stationCode]) {
elem.stopTime = this.stopTimeMap[elem.stationCode].parkingTime;
} else {
elem.stopTime = 0;
}
}
tempTime = tempTime || this.computedTimeByString('23:59:59') / 1000 + 1;
elem.arriveTime = formatTime(tempTime);
if (index == list.length - 1 && String(this.addModel.endTbFront) == 'true') {
const data = this.reentryData[list[index].stationCode] || {};
elem.departureTime = formatTime(tempTime + elem.stopTime + data.tbFront || 0);
} else {
elem.departureTime = formatTime(tempTime + elem.stopTime);
}
const runLevelObj = this.defaultSpeedLevelList.find(speedLevel=>{ return speedLevel.value == runLevel; });
const realRunlevel = this.compuntedRunTime(list, index, runLevel);
elem.speedLevelTime = realRunlevel;
elem.speedLevel = runLevelObj.label;
let fronTime = 0;
if (index == 0 && String(this.addModel.startTbFront) == 'false') {
const data = this.reentryData[elem.stationCode] || {};
fronTime = data.tbTo || 0;
} else if (index == list.length - 2 && String(this.addModel.endTbFront) == 'false') {
const data = this.reentryData[list[index + 1].stationCode] || {};
fronTime = data.tbTo || 0;
} else if (index == list.length - 1 && String(this.addModel.endTbFront) == 'true') {
const data = this.reentryData[list[index].stationCode] || {};
fronTime = data.tbFront || 0;
}
tempTime = tempTime + fronTime + elem.stopTime + elem.speedLevelTime;
});
this.addModel.endTime = formatTime(tempTime - list[list.length - 1].stopTime);
}
},
handleClick(row, column, event) {
this.routeLoading = true;
const arriveConfigList = [];
querySectionListByRouting(row.id).then(resp=>{
resp.data.forEach((parkSectionCode, index)=>{
arriveConfigList.push({arriveTime:'', departureTime:'', sectionCode:parkSectionCode.sectionCode, stationCode:parkSectionCode.stationCode});
});
this.$set(this.addModel, 'arriveConfigList', arriveConfigList);
this.addModel.startStationCode = row.startStationCode;
this.addModel.endStationCode = row.endStationCode;
this.addModel.endSectionCode = row.endSectionCode;
this.addModel.startSectionCode = row.startSectionCode;
this.addModel.routingCode = row.id;
this.addModel.startTbFront = row.startTbFront;
this.addModel.endTbFront = row.endTbFront;
this.computedDetailList('routingCode');
this.routeLoading = false;
});
},
handleCommit() {
if (this.addModel.arriveConfigList.length > 0) {
if (this.isPlan) {
//
this.$emit('dispatchOperate', { dialogName: 'editPlanningTrain', operate: 'handleConfirmAddTask', params: Object.assign({}, this.addModel) });
this.addModel.routingCode = '';
} else {
//
delete this.addModel.tripNumber;
addPlanTrip(this.addModel).then(resp => {
// this.$emit('dispatchOperate', {
// dialogName: 'openRunPlan', operate: 'loadRunPlanData', params: Object.assign({refresh: true}, this.$route.query)
// });
this.$store.dispatch('runPlan/refresh');
this.$message.success(this.$t('tip.addTaskSuccessfully'));
}).catch((error) => {
this.$messageBox(this.$t('tip.addTaskFailed') + ': ' + error.message);
});
}
this.doClose();
} else {
this.$messageBox('请选择交路');
}
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
@import "src/styles/mixin.scss";
/deep/ {
.el-row {
margin-bottom: 5px !important;
}
}
.add-task{
/deep/ {
.el-dialog__body{
padding: 0 20px;
}
.dialog-footer{
display: flex;
justify-content: center;
}
}
}
</style>
<template>
<div>
<el-row>
<!-- <el-col :span="3" style="height: 28px;line-height: 28px;">
<el-radio v-model="addModel.forward" :label="true">{{ $t('planMonitor.addToTheFront') }}</el-radio>
</el-col> -->
<el-col :span="3" style="margin-left: 10px;height: 28px;line-height: 28px;">
<span>{{ $t('planMonitor.tripNumber')+$t('global.colon') }}</span>
</el-col>
<el-col :span="5">
<el-select v-model="addModel.tripNumber" size="mini" :placeholder="this.$t('global.choose')" disabled>
<el-option
v-for="item in tripNumberList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-col>
<el-col :span="3" style="margin-left: 20px;height: 28px;line-height: 28px;">
<span>{{ $t('global.startTime')+$t('global.colon') }}</span>
</el-col>
<el-col :span="5">
<el-time-picker v-model="addModel.startTime" size="mini" value-format="HH:mm:ss" :clearable="false" :picker-options="{selectableRange:'02:00:00-23:59:59'}" />
</el-col>
</el-row>
<el-row style="margin-top: 5px;height: 28px;line-height: 28px;">
<!-- <el-col :span="3">
<el-radio v-model="addModel.forward" :label="false">{{ $t('planMonitor.addToTheEnd') }}</el-radio>
</el-col> -->
<!-- <el-col :span="3" style="margin-left: 10px;height: 28px;line-height: 28px;">
<span>{{ $t('planMonitor.defaultStopTime') }}</span>
</el-col>
<el-col :span="5">
<el-input-number v-model="defaultStopTime" placeholder="请输入时间" size="mini" :controls="false" :min="0" /> -->
<!-- <el-select v-model="defaultStopTime" size="mini" :placeholder="this.$t('global.choose')">
<el-option
v-for="item in defaultStopTimeList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select> -->
<!-- </el-col> -->
<el-col :span="3" style="margin-left:10px;height: 28px;line-height: 28px;">
<!-- {{ $t('planMonitor.defaultRunLevel') }} -->
<span>运行等级</span>
</el-col>
<el-col :span="5">
<el-select v-model="defaultSpeedLevel" size="mini" :placeholder="this.$t('global.choose')">
<el-option
v-for="item in defaultSpeedLevelList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-col>
</el-row>
<el-row style="margin-bottom: 5px;">
{{ $t('planMonitor.crossRailway')+$t('global.colon') }}
</el-row>
<el-row>
<el-table
v-loading="tableLoading"
:data="routingList"
border
highlight-current-row
:height="230"
@row-click="handleClick"
>
<el-table-column
prop="startStationCode"
:label="this.$t('planMonitor.startingStation')"
:filters="startStationFilters"
:filter-method="filterStartStation"
column-key="startStationCode"
>
<template slot-scope="scope">
{{ formatName(scope.row.startStationCode) }}
</template>
</el-table-column>
<el-table-column prop="startSectionCode" :label="this.$t('planMonitor.startingSection')" width="95">
<template slot-scope="scope">
{{ formatName(scope.row.startSectionCode) }}
</template>
</el-table-column>
<el-table-column
prop="endStationCode"
:label="this.$t('planMonitor.terminal')"
:filters="endStationFilters"
:filter-method="filterEndStation"
column-key="endStationCode"
>
<template slot-scope="scope">
{{ formatName(scope.row.endStationCode) }}
</template>
</el-table-column>
<el-table-column prop="endSectionCode" :label="this.$t('planMonitor.endingSection')" width="95">
<template slot-scope="scope">
{{ formatName(scope.row.endSectionCode) }}
</template>
</el-table-column>
<el-table-column prop="routingType" label="交路类型">
<template slot-scope="scope">
{{ routingTypeMap[scope.row.routingType] }}
</template>
</el-table-column>
<el-table-column label="类别" width="240">
<template slot-scope="scope">
{{ `${frontMap[String(scope.row.startTbFront)]} - ${frontMap[String(scope.row.endTbFront)]}` }}
</template>
</el-table-column>
<el-table-column prop="remarks" width="auto" :label="this.$t('planMonitor.description')" />
</el-table>
</el-row>
<el-row style=" margin-bottom: 5px;margin-top: 10px;">
{{ '经停转换轨 / 站台轨'+$t('global.colon') }}
</el-row>
<el-row>
<el-table v-loading="routeLoading" :data="addModel.arriveConfigList" border :height="230">
<el-table-column prop="stationCode" :label="this.$t('planMonitor.station')" width="160">
<template slot-scope="scope">
{{ formatName(scope.row.stationCode) }}
</template>
</el-table-column>
<el-table-column prop="sectionCode" :label="this.$t('planMonitor.section')" width="95">
<template slot-scope="scope">
{{ formatName(scope.row.sectionCode) }}
</template>
</el-table-column>
<!-- prop="arriveTime" -->
<el-table-column :label="this.$t('planMonitor.arriveTime')" width="100px">
<template v-if="scope.$index!=0" slot-scope="scope">
{{ scope.row.arriveTime }}
</template>
</el-table-column>
<!-- prop="stopTime" -->
<el-table-column :label="this.$t('planMonitor.stopTime')" width="100px">
<template v-if="scope.$index!=0&&scope.$index!=addModel.arriveConfigList.length-1" slot-scope="scope">
{{ scope.row.stopTime+'s' }}
<!-- <el-input v-model="scope.row.stopTime" placeholder="请输入时间" size="mini" @input="changeStopTime(scope.$index, scope.row.stopTime)" /> -->
</template>
</el-table-column>
<el-table-column :label="this.$t('planMonitor.departureTime')" width="100px">
<template v-if="scope.$index!=addModel.arriveConfigList.length-1" slot-scope="scope">
{{ scope.row.departureTime }}
</template>
</el-table-column>
<el-table-column :label="this.$t('planMonitor.runLevel')">
<template slot-scope="scope">
<span style="font-size:13px;">{{ scope.row.speedLevel }}</span>
<span>{{ '('+scope.row.speedLevelTime+'s)' }}</span>
<!-- <el-input v-model="scope.row.speedLevelTime" style="width:70px" placeholder="请输入运行等级" size="mini" @input="changeSpeedLevelTime(scope.$index, scope.row.speedLevelTime)" /> -->
</template>
</el-table-column>
</el-table>
</el-row>
<!-- <el-row>
<el-col :offset="16">
<el-checkbox v-model="showDefault">{{ $t('planMonitor.showDefaultStopTimeAndRunLevel') }}</el-checkbox>
</el-col>
</el-row> -->
<div style="text-align:center;margin-top:15px;">
<el-button size="medium" @click="doClose">{{ $t('global.cancel') }}</el-button>
<el-button type="primary" size="medium" @click="handleCommit">{{ $t('global.confirm') }}</el-button>
</div>
</div>
</template>
<script>
import { listUserRoutingData, addPlanTrip, getMapStationRunUser, getStationStopTime, querySectionListByRouting } from '@/api/runplan';
import { getRunplanConfig } from '@/api/jmap/mapdraft';
import { formatTime, formatName } from '@/jmapNew/theme/parser/util';
export default {
name: 'AddTask',
components: {
},
data() {
return {
tableLoading:false,
routeLoading:false,
isPlan: false,
loadRunPlanId:'',
// showDefault: true,
stopStationMap: {},
stopTimeMap:{},
params: {},
routingList: [],
startStationFilters:[],
endStationFilters:[],
// defaultStopTime: '30',
defaultSpeedLevel: 'l3',
reentryData: {},
addModel: {
routingCode: '',
endStationCode: '',
startStationCode: '',
startTime: '02:00:00',
endTime: '',
arriveConfigList: [],
tripNumber: '',
planId: '',
serviceNumber: '',
startTbFront: false,
endTbFront: false
},
tripNumberList: [{ value: '', label: this.$t('planMonitor.automatic') }],
defaultSpeedLevelList: [
{ value: 'l1', label: '等级一' },
{ value: 'l2', label: '等级二' },
{ value: 'l3', label: '等级三'},
{ value: 'l4', label: '等级四' },
{ value: 'l5', label: '等级五' }
],
routingTypeMap: {
OUTBOUND: '出库',
INBOUND: '入库',
LOOP: '环路'
},
frontMap: {
'true': '折返轨(站前)',
'false': '折返轨(站后)',
'undefined': '转换轨',
'null': '转换轨'
}
};
},
watch: {
'addModel.routingCode': function (val) {
if (val) {
this.computedDetailList('routingCode');
}
},
'addModel.startTime': function () {
this.computedDetailList();
},
'defaultSpeedLevel': function () {
this.computedDetailList('defaultSpeedLevel');
}
},
methods: {
loadInitData(params) {
this.loadRunPlanId = params.loadRunPlanId;
this.isPlan = params.isPlan;
this.addModel.serviceNumber = params.serviceNumber;
this.addModel.planId = this.$route.query.planId || this.loadRunPlanId;
this.addModel.arriveConfigList = [];
const mapId = this.$route.query.mapId;
if (mapId) {
this.tableLoading = true;
getRunplanConfig(mapId).then(resp => {
const data = resp.data;
this.reentryData = data.config.reentryData;
});
listUserRoutingData(mapId).then(resp => {
this.routingList = resp.data;
const startStationFilterMap = {};
const endStationFilterMap = {};
this.routingList.forEach(routing=>{
if (!startStationFilterMap[routing.startStationCode]) {
startStationFilterMap[routing.startStationCode] = {text:formatName(routing.startStationCode), value:routing.startStationCode};
}
if (!endStationFilterMap[routing.endStationCode]) {
endStationFilterMap[routing.endStationCode] = {text:formatName(routing.endStationCode), value:routing.endStationCode};
}
});
this.startStationFilters = Object.values(startStationFilterMap).sort((a, b)=>{
const startStationA = this.$store.getters['map/getDeviceByCode'](a.value);
const startStationB = this.$store.getters['map/getDeviceByCode'](b.value);
return startStationA.kmRange - startStationB.kmRange;
});
this.endStationFilters = Object.values(endStationFilterMap).sort((a, b)=>{
const endStationA = this.$store.getters['map/getDeviceByCode'](a.value);
const endStationB = this.$store.getters['map/getDeviceByCode'](b.value);
return endStationA.kmRange - endStationB.kmRange;
});
this.tableLoading = false;
});
getMapStationRunUser(mapId).then(resp =>{
const list = resp.data.list;
list.forEach(elem => {
this.stopStationMap[[elem.startSectionCode, elem.endSectionCode].toString()] = elem;
});
getStationStopTime(mapId).then(response=>{
const stopTimeList = response.data.list;
stopTimeList.forEach(element=>{
this.stopTimeMap[element.stationCode] = {parkingTime:element.parkingTime};
});
});
});
}
},
filterStartStation(value, row) {
return row.startStationCode == value;
},
filterEndStation(value, row) {
return row.endStationCode == value;
},
doClose() {
this.$emit('doClose');
},
formatName(code) {
return formatName(code);
},
computedTimeByString(timeStr) {
const bTime = +new Date(`2019-01-01 00:00:00`);
const eTime = +new Date(`2019-01-01 ${timeStr}`);
return Number(eTime) - Number(bTime);
},
compuntedRunTime(list, index, runLevel) {
let runTime = 0;
if ((index == 0 && String(this.addModel.startTbFront) == false) ||
(index == list.length - 1 && String(this.addModel.endTbFront) == false)) {
return 0;
}
if (index < list.length - 1) {
const stopStationObj = this.stopStationMap[[list[index].sectionCode, list[index + 1].sectionCode].toString()];
if (stopStationObj) {
if (stopStationObj.runPlanLevelVO) {
runTime = parseInt(stopStationObj.runPlanLevelVO[runLevel]);
} else if (stopStationObj[runLevel]) {
runTime = parseInt(stopStationObj[runLevel]);
} else {
this.$messageBox(this.$t('planMonitor.addTaskHint1') + stopStationObj.startSectionCode + this.$t('planMonitor.addTaskHint2') + stopStationObj.endSectionCode + this.$t('planMonitor.addTaskHint3'));
}
}
}
return runTime;
},
computedDetailList(type = null) {
if (this.addModel.routingCode) {
let tempTime = this.computedTimeByString(this.addModel.startTime) / 1000;
const list = Object.assign([], this.addModel.arriveConfigList);
const runLevel = this.defaultSpeedLevel || 'l1'; //
list.forEach((elem, index) => {
if (type == 'routingCode') {
if (index == 0 || index == list.length - 1) {
elem.stopTime = 0;
} else if (this.stopTimeMap[elem.stationCode]) {
elem.stopTime = this.stopTimeMap[elem.stationCode].parkingTime;
} else {
elem.stopTime = 0;
}
}
tempTime = tempTime || this.computedTimeByString('23:59:59') / 1000 + 1;
elem.arriveTime = formatTime(tempTime);
if (index == list.length - 1 && String(this.addModel.endTbFront) == 'true') {
const data = this.reentryData[list[index].stationCode] || {};
elem.departureTime = formatTime(tempTime + elem.stopTime + data.tbFront || 0);
} else {
elem.departureTime = formatTime(tempTime + elem.stopTime);
}
const runLevelObj = this.defaultSpeedLevelList.find(speedLevel=>{ return speedLevel.value == runLevel; });
const realRunlevel = this.compuntedRunTime(list, index, runLevel);
elem.speedLevelTime = realRunlevel;
elem.speedLevel = runLevelObj.label;
let fronTime = 0;
if (index == 0 && String(this.addModel.startTbFront) == 'false') {
const data = this.reentryData[elem.stationCode] || {};
fronTime = data.tbTo || 0;
} else if (index == list.length - 2 && String(this.addModel.endTbFront) == 'false') {
const data = this.reentryData[list[index + 1].stationCode] || {};
fronTime = data.tbTo || 0;
} else if (index == list.length - 1 && String(this.addModel.endTbFront) == 'true') {
const data = this.reentryData[list[index].stationCode] || {};
fronTime = data.tbFront || 0;
}
tempTime = tempTime + fronTime + elem.stopTime + elem.speedLevelTime;
});
this.addModel.endTime = formatTime(tempTime - list[list.length - 1].stopTime);
}
},
handleClick(row, column, event) {
this.routeLoading = true;
const arriveConfigList = [];
querySectionListByRouting(row.id).then(resp=>{
resp.data.forEach((parkSectionCode, index)=>{
arriveConfigList.push({arriveTime:'', departureTime:'', sectionCode:parkSectionCode.sectionCode, stationCode:parkSectionCode.stationCode});
});
this.$set(this.addModel, 'arriveConfigList', arriveConfigList);
this.addModel.startStationCode = row.startStationCode;
this.addModel.endStationCode = row.endStationCode;
this.addModel.endSectionCode = row.endSectionCode;
this.addModel.startSectionCode = row.startSectionCode;
this.addModel.routingCode = row.id;
this.addModel.startTbFront = row.startTbFront;
this.addModel.endTbFront = row.endTbFront;
this.computedDetailList('routingCode');
this.routeLoading = false;
});
},
handleCommit() {
if (this.addModel.arriveConfigList.length > 0) {
if (this.isPlan) {
//
this.$emit('dispatchOperate', { dialogName: 'editPlanningTrain', operate: 'handleConfirmAddTask', params: Object.assign({}, this.addModel) });
this.addModel.routingCode = '';
} else {
//
delete this.addModel.tripNumber;
addPlanTrip(this.addModel).then(resp => {
// this.$emit('dispatchOperate', {
// dialogName: 'openRunPlan', operate: 'loadRunPlanData', params: Object.assign({refresh: true}, this.$route.query)
// });
this.$emit('refresh');
this.$message.success(this.$t('tip.addTaskSuccessfully'));
}).catch((error) => {
this.$messageBox(this.$t('tip.addTaskFailed') + ': ' + error.message);
});
}
this.doClose();
} else {
this.$messageBox('请选择交路');
}
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
@import "src/styles/mixin.scss";
/deep/ {
.el-row {
margin-bottom: 5px !important;
}
}
.add-task{
/deep/ {
.el-dialog__body{
padding: 0 20px;
}
.dialog-footer{
display: flex;
justify-content: center;
}
}
}
</style>

View File

@ -1,97 +1,97 @@
<template>
<div>
<el-row>
<el-radio v-model="model.deleteBefore" :label="true">{{ $t('planMonitor.deleteAllPreviousTasks') }}</el-radio>
</el-row>
<el-row>
<el-radio v-model="model.deleteBefore" :label="false">{{ $t('planMonitor.deleteAllSubsequentTasks') }}</el-radio>
</el-row>
<div style="text-align:center;margin-top:15px;">
<el-button size="medium" @click="doClose">{{ $t('global.cancel') }}</el-button>
<el-button type="primary" size="medium" @click="handleCommit">{{ $t('global.confirm') }}</el-button>
</div>
</div>
</template>
<script>
import { deletePlanTrip } from '@/api/runplan';
export default {
name: 'DeleteTask',
components: {
},
data() {
return {
isPlan: false,
loadRunPlanId:'',
model: {
routingCode: '',
deleteBefore: false,
tripNumber: '',
serviceNumber: ''
}
};
},
mounted() {
},
methods: {
loadInitData(params) {
this.loadRunPlanId = params.loadRunPlanId;
this.isPlan = params.isPlan;
this.model.taskIndex = params.taskIndex;
this.model.tripNumber = params.tripNumber;
this.model.serviceNumber = params.serviceNumber;
this.model.routingCode = params.routingCode;
},
doClose() {
this.$emit('doClose');
},
handleCommit() {
if (this.isPlan) {
//
this.$emit('dispatchOperate', { dialogName: 'editPlanningTrain', operate: 'handleConfirmDeleteTask', params: this.model });
} else {
//
const model = {
planId: this.$route.query.planId || this.loadRunPlanId,
SDTNumber: `${this.model.serviceNumber}${this.model.tripNumber}`,
deleteBefore: this.model.deleteBefore
};
deletePlanTrip(model).then(resp => {
this.$store.dispatch('runPlan/setSelected', {});
this.$store.dispatch('runPlan/setDraftSelected', {});
this.$store.dispatch('runPlan/refresh');
// this.$emit('dispatchOperate', {
// dialogName: 'openRunPlan', operate: 'loadRunPlanData', params: Object.assign({refresh: true}, this.$route.query)
// });
this.$message.success(this.$t('tip.deleteTaskSuccessfully'));
}).catch(() => {
this.$messageBox(this.$t('tip.deleteTaskFailed'));
});
}
this.doClose();
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
@import "src/styles/mixin.scss";
/deep/ {
.el-row {
margin: 10px;
}
}
.delete-task{
/deep/ {
.el-dialog__body{
padding: 0 20px;
}
.dialog-footer{
display: flex;
justify-content: center;
}
}
}
</style>
<template>
<div>
<el-row>
<el-radio v-model="model.deleteBefore" :label="true">{{ $t('planMonitor.deleteAllPreviousTasks') }}</el-radio>
</el-row>
<el-row>
<el-radio v-model="model.deleteBefore" :label="false">{{ $t('planMonitor.deleteAllSubsequentTasks') }}</el-radio>
</el-row>
<div style="text-align:center;margin-top:15px;">
<el-button size="medium" @click="doClose">{{ $t('global.cancel') }}</el-button>
<el-button type="primary" size="medium" @click="handleCommit">{{ $t('global.confirm') }}</el-button>
</div>
</div>
</template>
<script>
import { deletePlanTrip } from '@/api/runplan';
export default {
name: 'DeleteTask',
components: {
},
data() {
return {
isPlan: false,
loadRunPlanId:'',
model: {
routingCode: '',
deleteBefore: false,
tripNumber: '',
serviceNumber: ''
}
};
},
mounted() {
},
methods: {
loadInitData(params) {
this.loadRunPlanId = params.loadRunPlanId;
this.isPlan = params.isPlan;
this.model.taskIndex = params.taskIndex;
this.model.tripNumber = params.tripNumber;
this.model.serviceNumber = params.serviceNumber;
this.model.routingCode = params.routingCode;
},
doClose() {
this.$emit('doClose');
},
handleCommit() {
if (this.isPlan) {
//
this.$emit('dispatchOperate', { dialogName: 'editPlanningTrain', operate: 'handleConfirmDeleteTask', params: this.model });
} else {
//
const model = {
planId: this.$route.query.planId || this.loadRunPlanId,
SDTNumber: `${this.model.serviceNumber}${this.model.tripNumber}`,
deleteBefore: this.model.deleteBefore
};
deletePlanTrip(model).then(resp => {
this.$store.dispatch('runPlan/setSelected', {});
this.$store.dispatch('runPlan/setDraftSelected', {});
this.$emit('refresh');
// this.$emit('dispatchOperate', {
// dialogName: 'openRunPlan', operate: 'loadRunPlanData', params: Object.assign({refresh: true}, this.$route.query)
// });
this.$message.success(this.$t('tip.deleteTaskSuccessfully'));
}).catch(() => {
this.$messageBox(this.$t('tip.deleteTaskFailed'));
});
}
this.doClose();
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
@import "src/styles/mixin.scss";
/deep/ {
.el-row {
margin: 10px;
}
}
.delete-task{
/deep/ {
.el-dialog__body{
padding: 0 20px;
}
.dialog-footer{
display: flex;
justify-content: center;
}
}
}
</style>

View File

@ -714,14 +714,6 @@ export default {
confirmPublish() {
publishRunPlanAllUser(this.loadRunPlanId, this.publishName || this.loadRunPlanName).then(resp => {
this.$message.success(this.$t('tip.publishRunPlanSuccess'));
if (resp.data && resp.data.length > 0) {
let message = '';
resp.data.forEach(msg => message += (msg + ';'))
this.$confirm(message, this.$t('global.tips'), {
confirmButtonText: this.$t('global.confirm'),
showCancelButton: false
})
}
this.publishVisible = false;
}).catch(() => {
this.$messageBox(this.$t('tip.publishRunPlanFail'));

View File

@ -97,7 +97,7 @@ export default {
list.push(this.mapDevice[key]);
deviceList.push(key);
}
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap || {});
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
setTimeout(() => {
this.$jlmap.updatePicture(deviceList);
const trainingDetail = this.$store.state.trainingNew.trainingDetail;

View File

@ -61,7 +61,7 @@ export default {
if (this.mapData && this.mapData.pictureList) {
const 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

@ -40,7 +40,6 @@
<driver-ats-work v-if="picture=='driverAtsWork'" ref="driverAtsWork" />
<pis-screen v-if="picture=='pisScreen'" ref="pisScreen" />
<pa-screen v-if="picture =='paScreen'" ref="paScreen" />
<ats-work v-if="picture=='atsWork'" ref="atsWork"/>
<terminal-menu
v-show="menuShow"
ref="terminalMenu"
@ -94,7 +93,6 @@ import LineMonitor from './lineMonitor';
import PisScreen from './pisScreen';
import TmsPage from '@/views/jlmap3d/drive/sceneview/tmsPage';
import PaScreen from './paScreen';
import AtsWork from './atsWork.vue';
export default {
name: 'Index',
@ -136,8 +134,7 @@ export default {
LineMonitor,
PisScreen,
TmsPage,
PaScreen,
AtsWork
PaScreen
},
data() {
return {

View File

@ -82,7 +82,7 @@ export default {
deviceList.push(key);
}
this.$jlmap.updateShowStation(list);
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap || {});
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
setTimeout(() => {
this.$jlmap.updatePicture(deviceList);
this.$jlmap.updateTransform(picture.scaling, picture.origin);

View File

@ -89,7 +89,7 @@ export default {
list.push(this.mapDevice[key]);
deviceList.push(key);
}
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap || {});
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
setTimeout(() => {
this.$jlmap.updatePicture(deviceList);
const trainingDetail = this.$store.state.trainingNew.trainingDetail;

View File

@ -117,7 +117,7 @@ export default {
deviceList.push(key);
}
this.$jlmap.updateShowStation(list);
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap || {});
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
setTimeout(() => {
this.$jlmap.updatePicture(deviceList);
const trainingDetail = this.$store.state.trainingNew.trainingDetail;

View File

@ -106,7 +106,7 @@ export default {
dispatchingCommand: ['DISPATCHER'],
trainTicket: ['STATION_SUPERVISOR', 'STATION_ASSISTANT', 'DRIVER'],
registerBook: ['STATION_SUPERVISOR', 'STATION_MASTER', 'STATION_WORKER', 'ELECTRIC_DISPATCHER', 'STATION_ELECTRIC_WORKER'],
diagramLoad: ['DISPATCHER', 'STATION_SUPERVISOR'],
diagramLoad: ['DISPATCHER'],
driverAtsWork: ['DRIVER'],
diagramPreview: ['DISPATCHER', 'STATION_SUPERVISOR', 'DRIVER', 'NCC_DISPATCHER'],
diagramEdit: [],
@ -123,8 +123,7 @@ export default {
baSiDi: ['DISPATCHER'],
troWork:['DISPATCHER'],
troDetailWork: ['DISPATCHER'],
maintainerSelect: ['MAINTAINER'],
atsWork: ['MAINTAINER']
maintainerSelect: ['MAINTAINER']
};
if (client && client.type && map[client.type]) {
const role = this.$store.state.training.roles;
@ -206,11 +205,7 @@ export default {
//
const trainingDesign = this.$store.state.training.domConfig ? this.$store.state.training.domConfig.trainingDesign : false;
const terminal = this.findTerminalFromMap(trainingDesign ? 'driverAtsWork' : 'drivingPlan');
if (this.$route.query.type === 'TMS') {
this.changePictureShow(this.findTerminalFromMap('tms'));
} else {
this.changePictureShow(terminal);
}
this.changePictureShow(terminal);
} else if (this.roles === 'NCC_DISPATCHER') {
const terminal = this.findTerminalFromMap('nccWork');
this.changePictureShow(terminal);

View File

@ -92,7 +92,7 @@ export default {
deviceList.push(key);
}
this.$jlmap.updateShowStation(list);
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap || {});
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
this.$jlmap.updatePicture(deviceList);
this.$jlmap.updateTransform(picture.scaling, picture.origin);
this.$store.dispatch('map/setShowCentralizedStationCode', this.centralizedStationMap[this.roleDeviceCode]);

View File

@ -118,7 +118,7 @@ export default {
list.push(this.mapDevice[key]);
deviceList.push(key);
}
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap || {});
this.$store.dispatch('map/setPictureDeviceMap', picture.deviceMap);
setTimeout(() => {
this.$jlmap.updatePicture(deviceList);
const trainingDetail = this.$store.state.trainingNew.trainingDetail;

View File

@ -48,7 +48,7 @@ export default {
if (this.mapData && this.mapData.pictureList) {
const 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

@ -15,7 +15,6 @@
style="width: 100%"
>
<el-table-column prop="desc" label="步骤" />
<el-table-column prop="role" label="操作人员" />
<el-table-column prop="success" label="操作结果" width="100">
<template slot-scope="scope">
<span>{{ scope.row.success?'正确':'错误' }}</span>
@ -23,7 +22,7 @@
</el-table-column>
<el-table-column prop="score" label="得分" width="100">
<template slot-scope="scope">
<span>{{ scope.row.score }}</span>
<span>{{ scope.row.score || 0 }}</span>
</template>
</el-table-column>
</el-table>
@ -55,11 +54,7 @@ export default {
if (scoreList && scoreList.length) {
scoreList.forEach(score => {
const step = this.stepList.find(step => step.id == score.stepId);
const role = this.$store.state.training.memberData[parseInt(step.memberId)];
if (!score.hasOwnProperty('score')) {
score.score = '/';
}
this.tableData.push({ ...score, role: role.labelName, desc: step.description });
this.tableData.push({ ...score, desc: step.description });
});
}
this.dialogVisible = true;
@ -71,17 +66,17 @@ export default {
if (index === 0) {
sums[index] = '合计';
return;
} else if (index === 2) {
const scoringRuleList = this.$store.state.trainingNew.scoringRules;
} else if (index === 1) {
const MyMemberId = this.$store.state.training.myMemberId;
const scoringRuleList = this.$store.state.trainingNew.scoringRules.find(rule => rule.memberId == MyMemberId );
let total = 0;
if (scoringRuleList && scoringRuleList.length) {
scoringRuleList.forEach(item => {
total += item.fullMarks;
if (scoringRuleList && scoringRuleList.details && scoringRuleList.details.length) {
scoringRuleList.details.forEach(item => {
total += item.score;
});
}
sums[index] = total;
sums[index] = total;
} else if (index === 3) {
} else if (index === 2) {
const values = data.map(item => Number(item[column.property]));
sums[index] = values.reduce((prev, curr) => {
const value = Number(curr);

View File

@ -58,10 +58,9 @@ export default {
},
methods: {
initLoadPage() {
let trainingType = this.$store.state.training.domConfig ? this.$store.state.training.domConfig.trainingType : '';
trainingType = trainingType ? trainingType.toLowerCase() : null;
const trainingType = this.$store.state.training.domConfig ? this.$store.state.training.domConfig.trainingType : '';
// labels: ['', '']
const data = {mapId: this.mapId, type: trainingType};
const data = {mapId: this.mapId, type: trainingType.toLowerCase()};
if (this.$route.query.labels) {
const labels = this.$route.query.labels.split('-');
const labelMap = { loc: '现地', dis: '行调', section: '区段', signal: '信号机', switch: '道岔', stand: '站台', station: '车站', control: '控制权' };

View File

@ -22,8 +22,7 @@ export default {
x: 0,
y: 0
},
tip: '',
timetamp: 0
tip: ''
};
},
computed: {
@ -48,8 +47,7 @@ export default {
awaitOperateFlag = !document.getElementById(OperationEvent.StationControl.requestStationControl.awaitAlarm.domId);
}
if (val && this.trainingDetail && this.trainingDetail.type === 'SINGLE' && val.memberId == this.myMemberId && !awaitOperateFlag) {
this.timetamp = new Date().getTime();
this.tipInit(this.timetamp);
this.tipInit();
} else {
this.tip = '';
this.popShow = false;
@ -58,8 +56,7 @@ export default {
},
'$store.state.trainingNew.voiceStepIndex': function(val) {
if (val > -1 && this.trainingDetail && this.trainingDetail.type === 'SINGLE') {
this.timetamp = new Date().getTime();
this.tipInit(this.timetamp);
this.tipInit();
} else {
this.tip = '';
this.popShow = false;
@ -79,11 +76,9 @@ export default {
this.position = { x: 0, y: 0 };
},
'$store.state.training.tipEvent': function (val) {
const timetamp = new Date().getTime();
this.timetamp = timetamp;
setTimeout(() => {
if (this.tip) {
this.tipInit(timetamp);
this.tipInit();
}
}, 10);
},
@ -92,15 +87,13 @@ export default {
const stepInfo = this.$store.state.trainingNew.stepInfo;
const domId = OperationEvent.StationControl.requestStationControl.awaitAlarm.operation;
if (val && val.sourceMemberId == this.$store.state.training.myMemberId && stepInfo && stepInfo.tipPosition && stepInfo.tipPosition.domId === domId) {
const timetamp = new Date().getTime();
this.timetamp = timetamp;
setTimeout(() => { this.tipInit(timetamp); }, 10);
setTimeout(() => { this.tipInit(); }, 10);
}
}
}
},
methods: {
async tipInit(timetamp) {
async tipInit() {
if (this.teachMode === ScriptMode.TEACH) {
this.tipShow = true;
const offset = this.$store.state.config.canvasOffset;
@ -120,34 +113,28 @@ export default {
x: position.x + offset.x,
y: position.y + offset.y - distance
};
this.popTipShow(timetamp);
this.popTipShow();
}
} else if (stepInfo.tipPosition && stepInfo.tipPosition.domId) {
const position = await this.getOtherTipPoint(stepInfo.tipPosition);
if (position) {
this.position = position;
this.position.y -= distance;
this.popTipShow(timetamp);
this.popTipShow();
} else {
this.popTipHide(timetamp);
this.popTipHide();
}
} else {
this.popTipHide(timetamp);
this.popTipHide();
}
} else {
this.tipShow = false;
}
},
popTipShow(timetamp) {
if (this.timetamp !== timetamp) {
return;
}
popTipShow() {
this.popShow = true;
},
popTipHide(timetamp) {
if (this.timetamp !== timetamp) {
return;
}
popTipHide() {
this.popShow = false;
},
//

View File

@ -451,7 +451,7 @@ export default {
this.$refs.mapOperate.pictureChanged(pictureName);
const pictureModel = this.$store.state.map.map.pictureList.find(elem => elem.name == pictureName);
const deviceMap = pictureModel ? pictureModel.deviceMap : {};
this.$store.dispatch('map/setPictureDeviceMap', deviceMap || {});
this.$store.dispatch('map/setPictureDeviceMap', deviceMap);
const deviceList = [];
const map = this.$store.state.map.map;
const mapDevice = this.$store.state.map.mapDevice;

View File

@ -1199,13 +1199,7 @@ export default {
deviceCode: ''
};
memberMap[this.generationForm.systemType].push(memberEnvironmentDispatcher);
const memberScheduling = {
id: this.getMemberId(this.generationForm.systemType),
name: '',
type: 'SCHEDULING',
deviceCode: ''
};
memberMap[this.generationForm.systemType].push(memberScheduling);
}
this.$message.success('一键生成成功!');
this.resetForm();

View File

@ -239,12 +239,6 @@ export default {
code: 'diagramLoad',
isShow: () => type === 'METRO'
},
{
name: 'ATS工作站',
code: 'atsWork',
isShow: () => type === 'METRO'
},
{
name: '司机ATS工作站',
@ -375,11 +369,6 @@ export default {
name: '列车PIS',
code: 'pisTrain',
isShow: () => type === 'METRO'
},
{
name: '运行图测试',
code: 'testRunplan',
isShow: () => type === 'METRO'
}
];
const terminalList = commonTerminals(type);

View File

@ -717,13 +717,6 @@ export default {
confirmPublish() {
publishRunPlanAllUser(this.loadRunPlanId, this.publishName || this.loadRunPlanName).then(resp => {
this.$message.success(this.$t('tip.publishRunPlanSuccess'));
if (resp.data && resp.data.length > 0) {
let message = '';
resp.data.forEach(msg => message += (msg + ';'))
this.$confirm(message, this.$t('global.tips'), {
confirmButtonText: this.$t('global.confirm')
})
}
this.publishVisible = false;
}).catch(() => {
this.$messageBox(this.$t('tip.publishRunPlanFail'));

View File

@ -27,13 +27,13 @@ export default {
}
},
mounted() {
const appId = this.$route.query.app_id;
const sessionId = this.$route.query.session_id;
const appId = this.$route.query.appId;
const sessionId = this.$route.query.sessionId;
const timeStamp = this.$route.query.timeStamp;
const account = this.$route.query.user_name;
const name = this.$route.query.nick_name;
const account = this.$route.query.account;
const name = this.$route.query.name;
const parentAccount = this.$route.query.parentAccount;
const functionId = this.$route.query.systemId;
const functionId = this.$route.query.functionId;
if (appId && account && name) {
const data = {
appId,
@ -63,8 +63,7 @@ export default {
async enterSimulation() {
const query = {
third: true,
project: 'cgy',
thirdOpen: true
query: 'cgy'
};
const resp = await getMapFunctioById(this.$route.query.systemId);
query.mapId = resp.data.mapId;