openatc-components 0.1.189 → 0.1.191

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/package/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +436 -0
  2. package/package/kisscomps/components/DirectionListConfiguration/index.js +2 -0
  3. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -0
  4. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -0
  5. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -0
  6. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -0
  7. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -0
  8. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-pedeastward.vue +35 -0
  9. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-pednorthward.vue +30 -0
  10. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-pedsouthward.vue +35 -0
  11. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-pedwestward.vue +41 -0
  12. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -0
  13. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -0
  14. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -0
  15. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -0
  16. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -0
  17. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -0
  18. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -0
  19. package/package/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -0
  20. package/package/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +127 -0
  21. package/package/kisscomps/components/IntersectionDirectionSelection/index.js +2 -0
  22. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +0 -1
  23. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PatternWalkSvg.vue +429 -0
  24. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +1272 -0
  25. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +239 -16
  26. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +88 -14
  27. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +88 -15
  28. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +24 -8
  29. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +24 -8
  30. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +50 -2
  31. package/package/kisscomps/components/IntersectionMap/crossDirection/utils.js +6 -0
  32. package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +28 -1
  33. package/package/kisscomps/index.js +5 -1
  34. package/package/kissui.min.js +1 -1
  35. package/package.json +1 -1
  36. package/src/EdgeMgr/controller/crossDiagramMgr.js +5 -1
  37. package/src/api/param.js +11 -0
  38. package/src/icons/demo_index.html +8146 -0
  39. package/src/icons/iconfont.css +219 -3
  40. package/src/icons/iconfont.js +1 -1
  41. package/src/icons/iconfont.json +378 -0
  42. package/src/icons/iconfont.ttf +0 -0
  43. package/src/icons/iconfont.woff +0 -0
  44. package/src/icons/iconfont.woff2 +0 -0
  45. package/src/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +436 -0
  46. package/src/kisscomps/components/DirectionListConfiguration/index.js +2 -0
  47. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -0
  48. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -0
  49. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -0
  50. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -0
  51. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -0
  52. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-pedeastward.vue +35 -0
  53. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-pednorthward.vue +30 -0
  54. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-pedsouthward.vue +35 -0
  55. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-pedwestward.vue +41 -0
  56. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -0
  57. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -0
  58. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -0
  59. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -0
  60. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -0
  61. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -0
  62. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -0
  63. package/src/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -0
  64. package/src/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +127 -0
  65. package/src/kisscomps/components/IntersectionDirectionSelection/index.js +2 -0
  66. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +0 -1
  67. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +1272 -0
  68. package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +239 -16
  69. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +88 -14
  70. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +88 -15
  71. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +24 -8
  72. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +24 -8
  73. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +50 -2
  74. package/src/kisscomps/components/IntersectionMap/crossDirection/utils.js +6 -0
  75. package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +28 -1
  76. package/src/kisscomps/index.js +5 -1
  77. package/src/utils/conflct.js +233 -0
  78. package/src/utils/conflictList.js +87 -0
  79. package/src/utils/phasedesc.js +37 -17
  80. package/src/views/intersection.vue +62 -12
  81. package/src/views/overView.vue +1 -1
  82. package/static/styles/uiComponents.scss +52 -0
  83. package/src/node_modules/.package_versions.json +0 -1
@@ -10,30 +10,37 @@
10
10
  * See the Mulan PSL v2 for more details.
11
11
  **/
12
12
  <template>
13
- <div :style="{position: 'absolute', left: Data.left, top: Data.top}">
13
+ <div :id="Data.key" :style="{position: 'absolute', left: Data.left, top: Data.top}">
14
14
  <div :class="Data.id < 9 ? '' : 'hide'">
15
- <svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
16
- viewBox="0 0 36 26" style="enable-background:new 0 0 36 26;" xml:space="preserve" :width="IconLengh" :height="IconWdith">
15
+ <svg v-if="Data.id === 4 || Data.id === 8" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18.11 14.47" :width="IconLenghDiaoTou" :height="IconWdithDiaoTou">
16
+ <path id="东掉头" :class="Data.name === '东掉头' ? '' : 'invisible'" d="M4.91,11.34H8.55v3.13l7.7-4.4-7.7-4.4V8.8H4.91c-1.27,0-2.37-1.44-2.37-3.13s1.1-3.13,2.37-3.13h13.2V0H4.91C2.2,0,0,2.54,0,5.67S2.2,11.34,4.91,11.34Z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
17
+ <path id="西掉头" :class="Data.name === '西掉头' ? '' : 'invisible'" d="M13.2,3.22H9.56V0L2,4.48l7.7,4.4V5.75h3.63c1.27,0,2.37,1.44,2.37,3.13S14.55,12,13.28,12H0v2.53H13.2c2.71,0,4.91-2.53,4.91-5.67S15.91,3.22,13.2,3.22Z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
18
+ </svg>
19
+ <svg v-else xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 36 26" :width="IconLengh" :height="IconWdith">
17
20
  <!-- 东相位 -->
18
21
  <path id="东左转" :class="Data.name === '东左转' ? '' : 'invisible'" d="M11,7.1h24v-3H10.9c-3.1,0-5.7,2.6-5.8,5.7l-0.4,2.9L1,12.2l3.9,9.7l6.5-8.2l-3.7-0.5l0.5-3.3
19
22
  C8.2,8.4,9.4,7.1,11,7.1L11,7.1z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
20
23
  <path id="东右转" :class="Data.name === '东右转' ? '' : 'invisible'" d="M8.1,15.8l-0.4-3l3.7-0.5L4.9,4.1L1,13.8l3.7-0.5l0.4,2.9c0,3.2,2.6,5.7,5.8,5.7H35v-3H10.9
21
24
  c-1.5,0-2.8-1.3-2.8-2.8V15.8z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
22
25
  <polygon id="东直行" :class="Data.name === '东直行' ? '' : 'invisible'" points="35,11.5 10.1,11.5 10.1,7.8 0.9,13 10.1,18.2 10.1,14.5 35,14.5 " :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
23
- <path id="东掉头" :class="Data.name === '东掉头' ? '' : 'invisible'" d="M19.4,17.5h4.3v3.7l9.1-5.2l-9.1-5.2v3.7h-4.3c-1.5,0-2.8-1.7-2.8-3.7s1.3-3.7,2.8-3.7H35v-3H19.4
24
- c-3.2,0-5.8,3-5.8,6.7C13.6,14.5,16.2,17.5,19.4,17.5z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
26
+ <!-- <path id="东掉头" :class="Data.name === '东掉头' ? '' : 'invisible'" d="M19.4,17.5h4.3v3.7l9.1-5.2l-9.1-5.2v3.7h-4.3c-1.5,0-2.8-1.7-2.8-3.7s1.3-3.7,2.8-3.7H35v-3H19.4
27
+ c-3.2,0-5.8,3-5.8,6.7C13.6,14.5,16.2,17.5,19.4,17.5z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/> -->
25
28
  <!-- 西相位 -->
26
29
  <path id="西左转" :class="Data.name === '西左转' ? '' : 'invisible'" d="M25,18.9H1v3h24.1c3.1,0,5.7-2.6,5.8-5.7l0.4-2.9l3.7,0.5l-3.9-9.7l-6.5,8.2l3.7,0.5l-0.5,3.3
27
30
  C27.8,17.6,26.6,18.9,25,18.9L25,18.9z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
28
31
  <path id="西右转" :class="Data.name === '西右转' ? '' : 'invisible'" d="M27.9,10.2l0.4,3l-3.7,0.5l6.5,8.2l3.9-9.7l-3.7,0.5l-0.4-2.9c0-3.2-2.6-5.7-5.8-5.7H1v3h24.1
29
32
  c1.5,0,2.8,1.3,2.8,2.8V10.2z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
30
33
  <polygon id="西直行" :class="Data.name === '西直行' ? '' : 'invisible'" points="1,14.5 26,14.5 26,18.2 35.1,13 26,7.8 26,11.5 1,11.5 " :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
31
- <path id="西掉头" :class="Data.name === '西掉头' ? '' : 'invisible'" d="M16.6,8.5h-4.3V4.7L3.3,10l9.1,5.2v-3.7h4.3c1.5,0,2.8,1.7,2.8,3.7s-1.3,3.7-2.8,3.7H1v3h15.6
32
- c3.2,0,5.8-3,5.8-6.7C22.4,11.5,19.8,8.5,16.6,8.5z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
34
+ <!-- <path id="西掉头" :class="Data.name === '西掉头' ? '' : 'invisible'" d="M16.6,8.5h-4.3V4.7L3.3,10l9.1,5.2v-3.7h4.3c1.5,0,2.8,1.7,2.8,3.7s-1.3,3.7-2.8,3.7H1v3h15.6
35
+ c3.2,0,5.8-3,5.8-6.7C22.4,11.5,19.8,8.5,16.6,8.5z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/> -->
33
36
  </svg>
34
37
  </div>
35
38
  <div :class="Data.id >= 9 ? '' : 'hide'">
36
- <svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
39
+ <svg v-if="Data.id === 12 || Data.id === 16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14.47 18.11" :width="IconWdithDiaoTou" :height="IconLenghDiaoTou">
40
+ <path id="南掉头" :class="Data.name === '南掉头' ? '' : 'invisible'" d="M3.22,4.91V8.55H0l4.4,7.7,4.4-7.7H5.67V4.91c0-1.27,1.44-2.37,3.13-2.37s3.13,1.1,3.13,2.37v13.2h2.54V4.91C14.47,2.2,11.93,0,8.8,0S3.22,2.2,3.22,4.91Z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)" />
41
+ <path id="北掉头" :class="Data.name === '北掉头' ? '' : 'invisible'" d="M11.34,13.2V9.56h3.13L10.07,2l-4.4,7.7H8.8v3.63c0,1.27-1.44,2.37-3.13,2.37s-3.13-1.1-3.13-2.37V0H0V13.2c0,2.71,2.54,4.91,5.67,4.91S11.34,15.91,11.34,13.2Z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)" />
42
+ </svg>
43
+ <svg v-else xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
37
44
  viewBox="0 0 26 36" style="enable-background:new 0 0 26 36;" xml:space="preserve" :width="IconWdith" :height="IconLengh">
38
45
  <!-- 南相位 -->
39
46
  <path id="南左转" :class="Data.name === '南左转' ? '' : 'invisible'" d="M18.9,11v24h3V10.9c0-3.1-2.6-5.7-5.7-5.8l-2.9-0.4L13.8,1L4.1,4.9l8.2,6.5l0.5-3.7l3.3,0.5
@@ -41,16 +48,16 @@
41
48
  <path id="南右转" :class="Data.name === '南右转' ? '' : 'invisible'" d="M10.2,8.1l3-0.4l0.5,3.7l8.2-6.5L12.2,1l0.5,3.7L9.8,5.1c-3.2,0-5.7,2.6-5.7,5.8V35h3V10.9
42
49
  c0-1.5,1.3-2.8,2.8-2.8H10.2z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
43
50
  <polygon id="南直行" :class="Data.name === '南直行' ? '' : 'invisible'" points="14.5,35 14.5,10.1 18.2,10.1 13,0.9 7.8,10.1 11.5,10.1 11.5,35 " :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
44
- <path id="南掉头" :class="Data.name === '南掉头' ? '' : 'invisible'" d="M8.5,19.4v4.3H4.7l5.2,9.1l5.2-9.1h-3.7v-4.3c0-1.5,1.7-2.8,3.7-2.8s3.7,1.3,3.7,2.8V35h3V19.4
45
- c0-3.2-3-5.8-6.7-5.8C11.5,13.6,8.5,16.2,8.5,19.4z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
51
+ <!-- <path id="南掉头" :class="Data.name === '南掉头' ? '' : 'invisible'" d="M8.5,19.4v4.3H4.7l5.2,9.1l5.2-9.1h-3.7v-4.3c0-1.5,1.7-2.8,3.7-2.8s3.7,1.3,3.7,2.8V35h3V19.4
52
+ c0-3.2-3-5.8-6.7-5.8C11.5,13.6,8.5,16.2,8.5,19.4z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/> -->
46
53
  <!-- 北相位 -->
47
54
  <path id="北左转" :class="Data.name === '北左转' ? '' : 'invisible'" d="M7.1,25V1h-3v24.1c0,3.1,2.6,5.7,5.7,5.8l2.9,0.4L12.2,35l9.7-3.9l-8.2-6.5l-0.5,3.7l-3.3-0.5
48
55
  C8.4,27.8,7.1,26.6,7.1,25L7.1,25z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
49
56
  <path id="北右转" :class="Data.name === '北右转' ? '' : 'invisible'" d="M15.8,27.9l-3,0.4l-0.5-3.7l-8.2,6.5l9.7,3.9l-0.5-3.7l2.9-0.4c3.2,0,5.7-2.6,5.7-5.8V1h-3v24.1
50
57
  c0,1.5-1.3,2.8-2.8,2.8H15.8z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
51
58
  <polygon id="北直行" :class="Data.name === '北直行' ? '' : 'invisible'" points="11.5,0.9 11.5,25.9 7.8,25.9 13,35 18.2,25.9 14.5,25.9 14.5,0.9 " :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
52
- <path id="北掉头" :class="Data.name === '北掉头' ? '' : 'invisible'" d="M17.5,16.6v-4.3h3.7L16,3.3l-5.2,9.1h3.7v4.3c0,1.5-1.7,2.8-3.7,2.8s-3.7-1.3-3.7-2.8V1h-3v15.6
53
- c0,3.2,3,5.8,6.7,5.8C14.5,22.4,17.5,19.8,17.5,16.6z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
59
+ <!-- <path id="北掉头" :class="Data.name === '北掉头' ? '' : 'invisible'" d="M17.5,16.6v-4.3h3.7L16,3.3l-5.2,9.1h3.7v4.3c0,1.5-1.7,2.8-3.7,2.8s-3.7-1.3-3.7-2.8V1h-3v15.6
60
+ c0,3.2,3,5.8,6.7,5.8C14.5,22.4,17.5,19.8,17.5,16.6z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/> -->
54
61
  </svg>
55
62
  </div>
56
63
  </div>
@@ -64,12 +71,17 @@ export default {
64
71
  FlashColor: undefined,
65
72
  GreenColor: '#77fb65',
66
73
  YellowColor: '#f7b500',
67
- lastStatus: ''
74
+ lastStatus: '',
75
+ clickedColor: '#299bcc',
76
+ disabledColor: '#828282'
68
77
  }
69
78
  },
70
79
  watch: {
71
80
  Data: {
72
81
  handler: function (val) {
82
+ if (this.isVipRoute) {
83
+ this.handleStatus()
84
+ }
73
85
  if (this.lastStatus === '') {
74
86
  if (val.type === 4 || val.type === '黄闪') {
75
87
  // 绿闪:绿-》灰-》绿 循环效果
@@ -105,12 +117,73 @@ export default {
105
117
  type: String,
106
118
  default: '22px'
107
119
  },
120
+ IconLenghDiaoTou: {
121
+ type: String,
122
+ default: '18.11px'
123
+ },
124
+ IconWdithDiaoTou: {
125
+ type: String,
126
+ default: '14.47px'
127
+ },
108
128
  Data: {
109
129
  type: Object
130
+ },
131
+ clickMode: {
132
+ type: Boolean,
133
+ default: false
134
+ },
135
+ isVipRoute: {
136
+ type: Boolean,
137
+ default: false
110
138
  }
111
139
  },
112
- methods: {},
113
- mounted () {}
140
+ methods: {
141
+ handleClick (e) {
142
+ let clickedPath = e.target
143
+ // console.log(clickedPath)
144
+ if (clickedPath) {
145
+ // 在这里对找到的元素进行操作
146
+ if (clickedPath.getAttribute('disabled') === 'true') {
147
+ return
148
+ }
149
+ if (clickedPath.getAttribute('fill') === this.clickedColor) {
150
+ clickedPath.setAttribute('fill', '#fff')
151
+ this.$emit('handleClickPhaseIcon', this.Data.key, 'cancle')
152
+ } else {
153
+ clickedPath.setAttribute('fill', this.clickedColor)
154
+ this.$emit('handleClickPhaseIcon', this.Data.key, 'clicked')
155
+ }
156
+ }
157
+ },
158
+ handleStatus () {
159
+ let IconDom = document.getElementById(this.Data.key)
160
+ let DirDom = IconDom.querySelector(`#${this.Data.name}`)
161
+ if (this.Data.clicked === true) {
162
+ DirDom.setAttribute('fill', this.clickedColor)
163
+ }
164
+ if (this.clickMode && this.Data.disabled === true) {
165
+ DirDom.setAttribute('fill', this.disabledColor)
166
+ DirDom.setAttribute('disabled', 'true')
167
+ }
168
+ if (this.Data.disabled === undefined && this.Data.clicked === undefined) {
169
+ DirDom.setAttribute('fill', this.defaultColor)
170
+ DirDom.removeAttribute('disabled')
171
+ }
172
+ },
173
+ IconAddEvent () {
174
+ let IconDom = document.getElementById(this.Data.key)
175
+ let DirDom = IconDom.querySelector(`#${this.Data.name}`)
176
+ if (this.clickMode && DirDom.getAttribute('class') !== 'invisible') {
177
+ DirDom.addEventListener('click', this.handleClick)
178
+ }
179
+ }
180
+ },
181
+ mounted () {
182
+ if (this.isVipRoute) {
183
+ this.handleStatus()
184
+ this.IconAddEvent()
185
+ }
186
+ }
114
187
  }
115
188
  </script>
116
189
  <style scoped>
@@ -2,98 +2,114 @@
2
2
  "phaseList": [{
3
3
  "id": 1,
4
4
  "name": "东直行",
5
+ "ename": "East-Straight",
5
6
  "x": "588px",
6
7
  "y": "267px"
7
8
  },
8
9
  {
9
10
  "id": 2,
10
11
  "name": "东左转",
12
+ "ename": "East-Left",
11
13
  "x": "588px",
12
14
  "y": "297px"
13
15
  },
14
16
  {
15
17
  "id": 3,
16
18
  "name": "东右转",
19
+ "ename": "East-Right",
17
20
  "x": "588px",
18
21
  "y": "238px"
19
22
  },
20
23
  {
21
24
  "id": 4,
22
25
  "name": "东掉头",
23
- "x": "588px",
24
- "y": "297px"
26
+ "ename": "East-Back",
27
+ "x": "601px",
28
+ "y": "297.8px"
25
29
  },
26
30
  {
27
31
  "id": 5,
28
32
  "name": "西直行",
33
+ "ename": "West-Straight",
29
34
  "x": "244px",
30
35
  "y": "359px"
31
36
  },
32
37
  {
33
38
  "id": 6,
34
39
  "name": "西左转",
40
+ "ename": "West-Left",
35
41
  "x": "244px",
36
42
  "y": "329px"
37
43
  },
38
44
  {
39
45
  "id": 7,
40
46
  "name": "西右转",
47
+ "ename": "West-Right",
41
48
  "x": "244px",
42
49
  "y": "388px"
43
50
  },
44
51
  {
45
52
  "id": 8,
46
53
  "name": "西掉头",
47
- "x": "244px",
48
- "y": "329px"
54
+ "ename": "West-Back",
55
+ "x": "246px",
56
+ "y": "330.8px"
49
57
  },
50
58
  {
51
59
  "id": 9,
52
60
  "name": "北直行",
61
+ "ename": "North-Straight",
53
62
  "x": "379px",
54
63
  "y": "134px"
55
64
  },
56
65
  {
57
66
  "id": 10,
58
67
  "name": "北左转",
68
+ "ename": "North-Left",
59
69
  "x": "408px",
60
70
  "y": "134px"
61
71
  },
62
72
  {
63
73
  "id": 11,
64
74
  "name": "北右转",
75
+ "ename": "North-Right",
65
76
  "x": "348px",
66
77
  "y": "134px"
67
78
  },
68
79
  {
69
80
  "id": 12,
70
81
  "name": "北掉头",
71
- "x": "408px",
72
- "y": "134px"
82
+ "ename": "North-Back",
83
+ "x": "411px",
84
+ "y": "136px"
73
85
  },
74
86
  {
75
87
  "id": 13,
76
88
  "name": "南直行",
89
+ "ename": "South-Straight",
77
90
  "x": "470px",
78
91
  "y": "476px"
79
92
  },
80
93
  {
81
94
  "id": 14,
82
95
  "name": "南左转",
96
+ "ename": "South-Left",
83
97
  "x": "440px",
84
98
  "y": "476px"
85
99
  },
86
100
  {
87
101
  "id": 15,
88
102
  "name": "南右转",
103
+ "ename": "South-Right",
89
104
  "x": "500px",
90
105
  "y": "476px"
91
106
  },
92
107
  {
93
108
  "id": 16,
94
109
  "name": "南掉头",
95
- "x": "440px",
96
- "y": "476px"
110
+ "ename": "South-Back",
111
+ "x": "444px",
112
+ "y": "490px"
97
113
  }
98
114
  ]
99
115
  }
@@ -2,98 +2,114 @@
2
2
  "phaseList": [{
3
3
  "id": 1,
4
4
  "name": "东直行",
5
+ "ename": "East-Straight",
5
6
  "x": "591px",
6
7
  "y": "359px"
7
8
  },
8
9
  {
9
10
  "id": 2,
10
11
  "name": "东左转",
12
+ "ename": "East-Left",
11
13
  "x": "591px",
12
14
  "y": "388px"
13
15
  },
14
16
  {
15
17
  "id": 3,
16
18
  "name": "东右转",
19
+ "ename": "East-Right",
17
20
  "x": "591px",
18
21
  "y": "330px"
19
22
  },
20
23
  {
21
24
  "id": 4,
22
25
  "name": "东掉头",
23
- "x": "591px",
24
- "y": "330px"
26
+ "ename": "East-Back",
27
+ "x": "605px",
28
+ "y": "331px"
25
29
  },
26
30
  {
27
31
  "id": 5,
28
32
  "name": "西直行",
33
+ "ename": "West-Straight",
29
34
  "x": "246px",
30
35
  "y": "267px"
31
36
  },
32
37
  {
33
38
  "id": 6,
34
39
  "name": "西左转",
40
+ "ename": "West-Left",
35
41
  "x": "246px",
36
42
  "y": "238px"
37
43
  },
38
44
  {
39
45
  "id": 7,
40
46
  "name": "西右转",
47
+ "ename": "West-Right",
41
48
  "x": "246px",
42
49
  "y": "297px"
43
50
  },
44
51
  {
45
52
  "id": 8,
46
53
  "name": "西掉头",
47
- "x": "246px",
48
- "y": "297px"
54
+ "ename": "West-Back",
55
+ "x": "248px",
56
+ "y": "299px"
49
57
  },
50
58
  {
51
59
  "id": 9,
52
60
  "name": "北直行",
61
+ "ename": "North-Straight",
53
62
  "x": "471px",
54
63
  "y": "135px"
55
64
  },
56
65
  {
57
66
  "id": 10,
58
67
  "name": "北左转",
68
+ "ename": "North-Left",
59
69
  "x": "500px",
60
70
  "y": "135px"
61
71
  },
62
72
  {
63
73
  "id": 11,
64
74
  "name": "北右转",
75
+ "ename": "North-Right",
65
76
  "x": "442px",
66
77
  "y": "135px"
67
78
  },
68
79
  {
69
80
  "id": 12,
70
81
  "name": "北掉头",
71
- "x": "442px",
72
- "y": "135px"
82
+ "ename": "North-Back",
83
+ "x": "446px",
84
+ "y": "138px"
73
85
  },
74
86
  {
75
87
  "id": 13,
76
88
  "name": "南直行",
89
+ "ename": "South-Straight",
77
90
  "x": "379px",
78
91
  "y": "481px"
79
92
  },
80
93
  {
81
94
  "id": 14,
82
95
  "name": "南左转",
96
+ "ename": "South-Left",
83
97
  "x": "349px",
84
98
  "y": "481px"
85
99
  },
86
100
  {
87
101
  "id": 15,
88
102
  "name": "南右转",
103
+ "ename": "South-Right",
89
104
  "x": "408px",
90
105
  "y": "481px"
91
106
  },
92
107
  {
93
108
  "id": 16,
94
109
  "name": "南掉头",
95
- "x": "408px",
96
- "y": "481px"
110
+ "ename": "South-Back",
111
+ "x": "411px",
112
+ "y": "495px"
97
113
  }
98
114
  ]
99
115
  }
@@ -2,96 +2,144 @@
2
2
  "sideList": [{
3
3
  "id": 1,
4
4
  "name": "东人行横道",
5
+ "ename": "East-Pedestrian",
6
+ "desc": "东行人",
7
+ "svgid": "东行人",
5
8
  "x": "310px",
6
9
  "y": "198px"
7
10
  },
8
11
  {
9
12
  "id": 2,
10
13
  "name": "西人行横道",
14
+ "ename": "West-Pedestrian",
15
+ "desc": "西行人",
16
+ "svgid": "西行人",
11
17
  "x": "310px",
12
18
  "y": "198px"
13
19
  },
14
20
  {
15
21
  "id": 3,
16
22
  "name": "南人行横道",
23
+ "ename": "South-Pedestrian",
24
+ "desc": "南行人",
25
+ "svgid": "南行人",
17
26
  "x": "310px",
18
27
  "y": "198px"
19
28
  },
20
29
  {
21
30
  "id": 4,
22
31
  "name": "北人行横道",
32
+ "ename": "North-Pedestrian",
33
+ "desc": "北行人",
34
+ "svgid": "北行人",
23
35
  "x": "310px",
24
36
  "y": "198px"
25
37
  },
26
38
  {
27
39
  "id": 5,
28
40
  "name": "东人行横道-上",
41
+ "ename": "East-Top-Pedestrian",
42
+ "desc": "东行人上",
43
+ "svgid": "东行人上",
29
44
  "x": "310px",
30
45
  "y": "198px"
31
46
  },
32
47
  {
33
48
  "id": 6,
34
49
  "name": "东人行横道-下",
50
+ "ename": "East-Bottom-Pedestrian",
51
+ "desc": "东行人下",
52
+ "svgid": "东行人下",
35
53
  "x": "310px",
36
54
  "y": "198px"
37
55
  },
38
56
  {
39
57
  "id": 7,
40
58
  "name": "西人行横道-上",
59
+ "ename": "West-Top-Pedestrian",
60
+ "desc": "西行人上",
61
+ "svgid": "西行人上",
41
62
  "x": "310px",
42
63
  "y": "198px"
43
64
  },
44
65
  {
45
66
  "id": 8,
46
67
  "name": "西人行横道-下",
68
+ "ename": "West-Bottom-Pedestrian",
69
+ "desc": "西行人下",
70
+ "svgid": "西行人下",
47
71
  "x": "310px",
48
72
  "y": "198px"
49
73
  },
50
74
  {
51
75
  "id": 9,
52
76
  "name": "南人行横道-左",
77
+ "ename": "South-Left-Pedestrian",
78
+ "desc": "南行人左",
79
+ "svgid": "南行人左",
53
80
  "x": "310px",
54
81
  "y": "198px"
55
82
  },
56
83
  {
57
84
  "id": 10,
58
85
  "name": "南人行横道-右",
86
+ "ename": "South-Right-Pedestrian",
87
+ "desc": "南行人右",
88
+ "svgid": "南行人右",
59
89
  "x": "310px",
60
90
  "y": "198px"
61
91
  },
62
92
  {
63
93
  "id": 11,
64
94
  "name": "北人行横道-左",
95
+ "ename": "North-Left-Pedestrian",
96
+ "desc": "北行人左",
97
+ "svgid": "北行人左",
65
98
  "x": "310px",
66
99
  "y": "198px"
67
100
  },
68
101
  {
69
102
  "id": 12,
70
103
  "name": "北人行横道-右",
104
+ "ename": "North-Right-Pedestrian",
105
+ "desc": "北行人右",
106
+ "svgid": "北行人右",
71
107
  "x": "310px",
72
108
  "y": "198px"
73
109
  },
74
110
  {
75
111
  "id": 13,
76
112
  "name": "X人行横道-/",
113
+ "ename": "X-/-Pedestrian",
114
+ "desc": "/行人",
115
+ "svgid": "斜杠行人",
77
116
  "x": "310px",
78
117
  "y": "198px"
79
118
  },
80
119
  {
81
120
  "id": 14,
82
121
  "name": "X人行横道-\\",
122
+ "ename": "X-\\-Pedestrian",
123
+ "desc": "\\行人",
124
+ "svgid": "反斜杠行人",
83
125
  "x": "310px",
84
126
  "y": "198px"
85
127
  },
86
128
  {
87
129
  "id": 15,
88
- "name": "东西路段人行横道",
130
+ "name": "南北路段人行横道",
131
+ "ename": "East-West-Pedestrian",
132
+ "desc": "南北路段行人",
133
+ "svgid": "南北路段行人",
89
134
  "x": "310px",
90
135
  "y": "198px"
91
136
  },
92
137
  {
93
138
  "id": 16,
94
- "name": "南北路段人行横道",
139
+ "name": "东西路段人行横道",
140
+ "ename": "South-North-Pedestrian",
141
+ "desc": "东西路段行人",
142
+ "svgid": "东西路段行人",
95
143
  "x": "310px",
96
144
  "y": "198px"
97
145
  },
@@ -48,6 +48,12 @@ export default class PhaseDataModel {
48
48
  x: phase.x,
49
49
  y: phase.y
50
50
  }
51
+ if (phase.ename) {
52
+ value.ename = phase.ename
53
+ }
54
+ if (phase.desc) {
55
+ value.desc = phase.desc
56
+ }
51
57
  phaseMap.set(phase.id, value)
52
58
  })
53
59
  }
@@ -34,7 +34,13 @@
34
34
  :modeName="modeName"
35
35
  :controlName="controlName"
36
36
  :stateName="stateName"
37
- :roadDirection="roadDirection" />
37
+ :roadDirection="roadDirection"
38
+ :choosedDirection="choosedDirection"
39
+ :choosedPedDirection="choosedPedDirection"
40
+ :isVipRoute="isVipRoute"
41
+ :clickMode="clickMode"
42
+ :isThirdSignal="isThirdSignal"
43
+ @handleClickCrossIcon="handleClickCrossIcon" />
38
44
  </div>
39
45
  </div>
40
46
  </template>
@@ -101,6 +107,24 @@ export default {
101
107
  stateName: {
102
108
  type: String,
103
109
  default: ''
110
+ },
111
+ choosedDirection: {
112
+ type: Array
113
+ },
114
+ choosedPedDirection: {
115
+ type: Array
116
+ },
117
+ isVipRoute: { // 区分普通路口和VIP路口,如果是vip路口(特勤路线和分组管控),才需要获取通道和处理通道冲突,并显示已选方向
118
+ type: Boolean,
119
+ default: false
120
+ },
121
+ clickMode: { // 是否开启点击模式
122
+ type: Boolean,
123
+ default: false
124
+ },
125
+ isThirdSignal: {
126
+ type: Boolean,
127
+ default: false
104
128
  }
105
129
  },
106
130
  watch: {
@@ -154,6 +178,9 @@ export default {
154
178
  if (token && token !== '') {
155
179
  setToken(token)
156
180
  }
181
+ },
182
+ handleClickCrossIcon (allChoosedDir, curClickedPhase) {
183
+ this.$emit('handleClickCrossIcon', allChoosedDir, curClickedPhase)
157
184
  }
158
185
  },
159
186
  destroyed () {
@@ -28,6 +28,8 @@ import PhaseDirectionText from './components/PhaseDirectionText/index'
28
28
  import PhaseDirectionSelect from './components/PhaseDirectionSelect/index'
29
29
  import patternConfig from './components/patternConfig/index.vue'
30
30
  import XiaoKanBan from './components/XiaoKanBan/index.vue'
31
+ import DirectionListConfiguration from './components/DirectionListConfiguration/index.js'
32
+ import IntersectionDirectionSelection from './components/IntersectionDirectionSelection/index.js'
31
33
  import { setToken, setHost, setIsCheckPermission, setUserRoles, setPermissions } from '../utils/auth.js'
32
34
  import componentsGlobalParam from '../store/modules/globalParam'
33
35
 
@@ -65,7 +67,9 @@ const components = {
65
67
  PhaseDirectionText,
66
68
  patternConfig,
67
69
  XiaoKanBan,
68
- PhaseDirectionSelect
70
+ PhaseDirectionSelect,
71
+ DirectionListConfiguration,
72
+ IntersectionDirectionSelection
69
73
  }
70
74
 
71
75
  const language = {