openatc-components 0.2.70 → 0.2.72

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 (37) hide show
  1. package/package/kisscomps/components/BoardCard/BoardCard.vue +0 -4
  2. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PatternWalkSvg.vue +429 -0
  3. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +65 -11
  4. package/package/kisscomps/components/PatternStatus/PatternStatus.vue +17 -94
  5. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +5 -98
  6. package/package/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +11 -7
  7. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +9 -5
  8. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +7 -5
  9. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +41 -10
  10. package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +9 -5
  11. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +1 -1
  12. package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +12 -8
  13. package/package/kisscomps/components/Stages/index.vue +2 -1
  14. package/package/kisscomps/components/patternList/patternList.vue +0 -4
  15. package/package/kissui.min.js +1 -1
  16. package/package.json +1 -1
  17. package/src/api/cross.js +4 -0
  18. package/src/api/template.js +4 -0
  19. package/src/i18n/language/zh.js +2 -2
  20. package/src/kisscomps/components/BoardCard/BoardCard.vue +0 -4
  21. package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +65 -11
  22. package/src/kisscomps/components/PatternStatus/PatternStatus.vue +17 -94
  23. package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +5 -98
  24. package/src/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +11 -7
  25. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +9 -5
  26. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +7 -5
  27. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +41 -10
  28. package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +9 -5
  29. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +1 -1
  30. package/src/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +12 -8
  31. package/src/kisscomps/components/Stages/index.vue +2 -1
  32. package/src/kisscomps/components/patternList/patternList.vue +0 -4
  33. package/src/views/overView.vue +1 -1
  34. package/static/styles/commonkanban.scss +3 -3
  35. package/static/styles/overview.scss +2 -2
  36. package/static/styles/schemeconfig.scss +38 -23
  37. package/src/node_modules/.package_versions.json +0 -1
@@ -12,7 +12,6 @@
12
12
  :controlPhase="controlPhase"
13
13
  :localPatternList="localPatternList"
14
14
  :showCondition="showCondition"
15
- :patternType="patternType"
16
15
  :contrloType="contrloType"
17
16
  :allPatternList="allPatternList"
18
17
  :stagesChange="stagesChange"
@@ -88,9 +87,6 @@ export default {
88
87
  patternId: {
89
88
  type: Number
90
89
  },
91
- patternType: {
92
- type: String
93
- },
94
90
  agentId: {
95
91
  type: String
96
92
  },
@@ -0,0 +1,429 @@
1
+ /* eslint-disable no-tabs */
2
+ /**
3
+ * Copyright (c) 2020 kedacom
4
+ * OpenATC is licensed under Mulan PSL v2.
5
+ * You can use this software according to the terms and conditions of the Mulan PSL v2.
6
+ * You may obtain a copy of Mulan PSL v2 at:
7
+ * http://license.coscl.org.cn/MulanPSL2
8
+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
9
+ * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
10
+ * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
11
+ * See the Mulan PSL v2 for more details.
12
+ **/
13
+ <template>
14
+ <div :style="{position: 'absolute'}">
15
+ <!-- , left: Data.left?Data.left:'2px', top: Data.top -->
16
+ <svg
17
+ :width="Width"
18
+ :height="Height"
19
+ version="1.1"
20
+ id="图层_1"
21
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
22
+ viewBox="0 0 34 34"
23
+ style="enable-background:new 0 0 34 34;"
24
+ xml:space="preserve">
25
+ <g id="路段行人过街-东西"
26
+ :class="status[0].isshow? '' : 'invisible'">
27
+ <rect x="19.9" y="14.2" class="st1" width="1.6" height="5.6"/>
28
+ <rect x="17.4" y="14.2" class="st1" width="1.6" height="5.6"/>
29
+ <rect x="22.4" y="14.2" class="st1" width="1.6" height="5.6"/>
30
+ <rect x="24.9" y="14.2" class="st1" width="1.6" height="5.6"/>
31
+ <rect x="27.4" y="14.2" class="st1" width="1.6" height="5.6"/>
32
+ <rect x="29.9" y="14.2" class="st1" width="1.6" height="5.6"/>
33
+ <rect x="32.4" y="14.2" class="st1" width="1.6" height="5.6"/>
34
+ <rect x="7.5" y="14.2" class="st1" width="1.6" height="5.6"/>
35
+ <rect x="5" y="14.2" class="st1" width="1.6" height="5.6"/>
36
+ <rect x="2.5" y="14.2" class="st1" width="1.6" height="5.6"/>
37
+ <rect x="0" y="14.2" class="st1" width="1.6" height="5.6"/>
38
+ <rect x="10" y="14.2" class="st1" width="1.6" height="5.6"/>
39
+ <rect x="12.5" y="14.2" class="st1" width="1.6" height="5.6"/>
40
+ <rect x="14.9" y="14.2" class="st1" width="1.6" height="5.6"/>
41
+ </g>
42
+ <g id="路段行人过街-南北" class="st0"
43
+ :class="status[1].isshow? '' : 'invisible'">
44
+ >
45
+ <rect x="14.2" y="19.9" class="st1" width="5.6" height="1.6"/>
46
+ <rect x="14.2" y="17.4" class="st1" width="5.6" height="1.6"/>
47
+ <rect x="14.2" y="22.4" class="st1" width="5.6" height="1.6"/>
48
+ <rect x="14.2" y="24.9" class="st1" width="5.6" height="1.6"/>
49
+ <rect x="14.2" y="27.4" class="st1" width="5.6" height="1.6"/>
50
+ <rect x="14.2" y="29.9" class="st1" width="5.6" height="1.6"/>
51
+ <rect x="14.2" y="32.4" class="st1" width="5.6" height="1.6"/>
52
+ <rect x="14.2" y="7.5" class="st1" width="5.6" height="1.6"/>
53
+ <rect x="14.2" y="5" class="st1" width="5.6" height="1.6"/>
54
+ <rect x="14.2" y="2.5" class="st1" width="5.6" height="1.6"/>
55
+ <rect x="14.2" y="0" class="st1" width="5.6" height="1.6"/>
56
+ <rect x="14.2" y="10" class="st1" width="5.6" height="1.6"/>
57
+ <rect x="14.2" y="12.5" class="st1" width="5.6" height="1.6"/>
58
+ <rect x="14.2" y="14.9" class="st1" width="5.6" height="1.6"/>
59
+ </g>
60
+ <g id="斜向行人1" class="st0"
61
+ :class="status[2].isshow? '' : 'invisible'">
62
+ >
63
+ <rect x="14.2" y="16.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -7.0438 17.0053)" class="st1" width="5.6" height="1.6"/>
64
+ <rect x="12.4" y="14.4" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -6.3149 15.2456)" class="st1" width="5.6" height="1.6"/>
65
+ <rect x="15.9" y="17.9" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -7.7727 18.7651)" class="st1" width="5.6" height="1.6"/>
66
+ <rect x="17.7" y="19.7" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.5017 20.5248)" class="st1" width="5.6" height="1.6"/>
67
+ <rect x="19.5" y="21.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.2306 22.2845)" class="st1" width="5.6" height="1.6"/>
68
+ <rect x="21.2" y="23.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -9.9595 24.0443)" class="st1" width="5.6" height="1.6"/>
69
+ <rect x="23" y="25" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -10.6884 25.804)" class="st1" width="5.6" height="1.6"/>
70
+ <rect x="24.7" y="26.7" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -11.4128 27.5531)" class="st1" width="5.6" height="1.6"/>
71
+ <rect x="26.5" y="28.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -12.1418 29.3128)" class="st1" width="5.6" height="1.6"/>
72
+ <rect x="28.3" y="30.3" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -12.8707 31.0725)" class="st1" width="5.6" height="1.6"/>
73
+ <rect x="5.4" y="7.4" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -3.3993 8.2067)" class="st1" width="5.6" height="1.6"/>
74
+ <rect x="3.6" y="5.6" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -2.6704 6.4469)" class="st1" width="5.6" height="1.6"/>
75
+ <rect x="1.9" y="3.9" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -1.9415 4.6872)" class="st1" width="5.6" height="1.6"/>
76
+ <rect x="0.1" y="2.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -1.2126 2.9275)" class="st1" width="5.6" height="1.6"/>
77
+ <rect x="7.1" y="9.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -4.1282 9.9664)" class="st1" width="5.6" height="1.6"/>
78
+ <rect x="8.9" y="10.9" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -4.8571 11.7261)" class="st1" width="5.6" height="1.6"/>
79
+ <rect x="10.7" y="12.7" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -5.586 13.4859)" class="st1" width="5.6" height="1.6"/>
80
+ </g>
81
+ <g id="斜向行人2" class="st0"
82
+ :class="status[3].isshow? '' : 'invisible'"
83
+ >
84
+ <rect x="16.2" y="14.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -7.047 16.9978)" class="st1" width="1.6" height="5.6"/>
85
+ <rect x="17.9" y="12.4" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -5.2872 17.7267)" class="st1" width="1.6" height="5.6"/>
86
+ <rect x="14.4" y="15.9" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.8067 16.2689)" class="st1" width="1.6" height="5.6"/>
87
+ <rect x="12.7" y="17.7" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -10.5664 15.54)" class="st1" width="1.6" height="5.6"/>
88
+
89
+ <rect x="10.9" y="19.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -12.3262 14.8111)" class="st1" width="1.6" height="5.6"/>
90
+ <rect x="9.1" y="21.2" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -14.0859 14.0822)" class="st1" width="1.6" height="5.6"/>
91
+ <rect x="7.4" y="23" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -15.8456 13.3533)" class="st1" width="1.6" height="5.6"/>
92
+ <rect x="5.6" y="24.7" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -17.5947 12.6288)" class="st1" width="1.6" height="5.6"/>
93
+ <rect x="3.9" y="26.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -19.3544 11.8999)" class="st1" width="1.6" height="5.6"/>
94
+ <rect x="2.1" y="28.3" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -21.1142 11.171)" class="st1" width="1.6" height="5.6"/>
95
+ <rect x="25" y="5.4" transform="matrix(0.7071 -0.7071 0.7071 0.7071 1.7517 20.6423)" class="st1" width="1.6" height="5.6"/>
96
+ <rect x="26.7" y="3.6" transform="matrix(0.7071 -0.7071 0.7071 0.7071 3.5114 21.3712)" class="st1" width="1.6" height="5.6"/>
97
+ <rect x="28.5" y="1.9" transform="matrix(0.7071 -0.7071 0.7071 0.7071 5.2712 22.1001)" class="st1" width="1.6" height="5.6"/>
98
+ <rect x="30.3" y="0.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 7.0309 22.829)" class="st1" width="1.6" height="5.6"/>
99
+
100
+ <rect x="23.2" y="7.1" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -8.040609e-03 19.9134)" class="st1" width="1.6" height="5.6"/>
101
+ <rect x="21.5" y="8.9" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -1.7678 19.1845)" class="st1" width="1.6" height="5.6"/>
102
+ <rect x="19.7" y="10.7" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -3.5275 18.4556)" class="st1" width="1.6" height="5.6"/>
103
+ </g>
104
+ <g id="北行人"
105
+ :class="status[4].isshow? '' : 'invisible'"
106
+ class="st0">
107
+ <rect x="19.9" class="st1" width="1.6" height="5.6"/>
108
+ <rect x="17.4" class="st1" width="1.6" height="5.6"/>
109
+ <rect x="22.4" class="st1" width="1.6" height="5.6"/>
110
+ <rect x="24.9" class="st1" width="1.6" height="5.6"/>
111
+ <rect x="27.4" class="st1" width="1.6" height="5.6"/>
112
+ <rect x="29.9" class="st1" width="1.6" height="5.6"/>
113
+ <rect x="32.4" class="st1" width="1.6" height="5.6"/>
114
+ <rect x="7.5" class="st1" width="1.6" height="5.6"/>
115
+ <rect x="5" class="st1" width="1.6" height="5.6"/>
116
+ <rect x="2.5" class="st1" width="1.6" height="5.6"/>
117
+ <rect x="0" class="st1" width="1.6" height="5.6"/>
118
+ <rect x="10" class="st1" width="1.6" height="5.6"/>
119
+ <rect x="12.5" class="st1" width="1.6" height="5.6"/>
120
+ <rect x="14.9" class="st1" width="1.6" height="5.6"/>
121
+ </g>
122
+ <g id="南行人"
123
+ :class="status[5].isshow? '' : 'invisible'"
124
+ class="st0">
125
+ <rect x="19.9" y="28.4" class="st1" width="1.6" height="5.6"/>
126
+ <rect x="17.4" y="28.4" class="st1" width="1.6" height="5.6"/>
127
+ <rect x="22.4" y="28.4" class="st1" width="1.6" height="5.6"/>
128
+ <rect x="24.9" y="28.4" class="st1" width="1.6" height="5.6"/>
129
+ <rect x="27.4" y="28.4" class="st1" width="1.6" height="5.6"/>
130
+ <rect x="29.9" y="28.4" class="st1" width="1.6" height="5.6"/>
131
+ <rect x="32.4" y="28.4" class="st1" width="1.6" height="5.6"/>
132
+ <rect x="7.5" y="28.4" class="st1" width="1.6" height="5.6"/>
133
+ <rect x="5" y="28.4" class="st1" width="1.6" height="5.6"/>
134
+ <rect x="2.5" y="28.4" class="st1" width="1.6" height="5.6"/>
135
+ <rect x="0" y="28.4" class="st1" width="1.6" height="5.6"/>
136
+ <rect x="10" y="28.4" class="st1" width="1.6" height="5.6"/>
137
+ <rect x="12.5" y="28.4" class="st1" width="1.6" height="5.6"/>
138
+ <rect x="14.9" y="28.4" class="st1" width="1.6" height="5.6"/>
139
+ </g>
140
+ <g id="东行人"
141
+ :class="status[6].isshow? '' : 'invisible'"
142
+ class="st0">
143
+ <rect x="28.4" y="19.9" class="st1" width="5.6" height="1.6"/>
144
+ <rect x="28.4" y="17.4" class="st1" width="5.6" height="1.6"/>
145
+ <rect x="28.4" y="22.4" class="st1" width="5.6" height="1.6"/>
146
+ <rect x="28.4" y="24.9" class="st1" width="5.6" height="1.6"/>
147
+ <rect x="28.4" y="27.4" class="st1" width="5.6" height="1.6"/>
148
+ <rect x="28.4" y="29.9" class="st1" width="5.6" height="1.6"/>
149
+ <rect x="28.4" y="32.4" class="st1" width="5.6" height="1.6"/>
150
+ <rect x="28.4" y="7.5" class="st1" width="5.6" height="1.6"/>
151
+ <rect x="28.4" y="5" class="st1" width="5.6" height="1.6"/>
152
+ <rect x="28.4" y="2.5" class="st1" width="5.6" height="1.6"/>
153
+ <rect x="28.4" y="0" class="st1" width="5.6" height="1.6"/>
154
+ <rect x="28.4" y="10" class="st1" width="5.6" height="1.6"/>
155
+ <rect x="28.4" y="12.5" class="st1" width="5.6" height="1.6"/>
156
+ <rect x="28.4" y="14.9" class="st1" width="5.6" height="1.6"/>
157
+ </g>
158
+ <g id="西行人"
159
+ :class="status[7].isshow? '' : 'invisible'"
160
+ class="st0">
161
+ <rect y="19.9" class="st1" width="5.6" height="1.6"/>
162
+ <rect y="17.4" class="st1" width="5.6" height="1.6"/>
163
+ <rect y="22.4" class="st1" width="5.6" height="1.6"/>
164
+ <rect y="24.9" class="st1" width="5.6" height="1.6"/>
165
+ <rect y="27.4" class="st1" width="5.6" height="1.6"/>
166
+ <rect y="29.9" class="st1" width="5.6" height="1.6"/>
167
+ <rect y="32.4" class="st1" width="5.6" height="1.6"/>
168
+ <rect y="7.5" class="st1" width="5.6" height="1.6"/>
169
+ <rect y="5" class="st1" width="5.6" height="1.6"/>
170
+ <rect y="2.5" class="st1" width="5.6" height="1.6"/>
171
+ <rect y="0" class="st1" width="5.6" height="1.6"/>
172
+ <rect y="10" class="st1" width="5.6" height="1.6"/>
173
+ <rect y="12.5" class="st1" width="5.6" height="1.6"/>
174
+ <rect y="14.9" class="st1" width="5.6" height="1.6"/>
175
+ </g>
176
+ <g id="二次过街-西" class="st0">
177
+ <g id="西下"
178
+ :class="status[8].isshow? '' : 'invisible'"
179
+ >
180
+ <rect y="19.9" class="st1" width="5.6" height="1.6"/>
181
+ <rect y="22.4" class="st1" width="5.6" height="1.6"/>
182
+ <rect y="24.9" class="st1" width="5.6" height="1.6"/>
183
+ <rect y="27.4" class="st1" width="5.6" height="1.6"/>
184
+ <rect y="29.9" class="st1" width="5.6" height="1.6"/>
185
+ <rect y="32.4" class="st1" width="5.6" height="1.6"/>
186
+ </g>
187
+ <g id="西上"
188
+ :class="status[9].isshow? '' : 'invisible'"
189
+ >
190
+ <rect y="7.5" class="st1" width="5.6" height="1.6"/>
191
+ <rect y="5" class="st1" width="5.6" height="1.6"/>
192
+ <rect y="2.5" class="st1" width="5.6" height="1.6"/>
193
+ <rect y="0" class="st1" width="5.6" height="1.6"/>
194
+ <rect y="10" class="st1" width="5.6" height="1.6"/>
195
+ <rect y="12.5" class="st1" width="5.6" height="1.6"/>
196
+ </g>
197
+ </g>
198
+ <g id="二次过街-东" class="st0">
199
+ <g id="东上"
200
+ :class="status[10].isshow? '' : 'invisible'"
201
+ >
202
+ <rect x="28.4" y="12.5" class="st1" width="5.6" height="1.6"/>
203
+ <rect x="28.4" y="10" class="st1" width="5.6" height="1.6"/>
204
+ <rect x="28.4" y="7.5" class="st1" width="5.6" height="1.6"/>
205
+ <rect x="28.4" y="5" class="st1" width="5.6" height="1.6"/>
206
+ <rect x="28.4" y="2.5" class="st1" width="5.6" height="1.6"/>
207
+ <rect x="28.4" y="0" class="st1" width="5.6" height="1.6"/>
208
+ </g>
209
+ <g id="东下"
210
+ :class="status[11].isshow? '' : 'invisible'"
211
+ >
212
+ <rect x="28.4" y="24.9" class="st1" width="5.6" height="1.6"/>
213
+ <rect x="28.4" y="27.4" class="st1" width="5.6" height="1.6"/>
214
+ <rect x="28.4" y="29.9" class="st1" width="5.6" height="1.6"/>
215
+ <rect x="28.4" y="32.4" class="st1" width="5.6" height="1.6"/>
216
+ <rect x="28.4" y="22.4" class="st1" width="5.6" height="1.6"/>
217
+ <rect x="28.4" y="19.9" class="st1" width="5.6" height="1.6"/>
218
+ </g>
219
+ </g>
220
+ <g id="二次过街-南" class="st0">
221
+ <g id="南右"
222
+ :class="status[12].isshow? '' : 'invisible'"
223
+ >
224
+ <rect x="19.9" y="28.4" class="st1" width="1.6" height="5.6"/>
225
+ <rect x="22.4" y="28.4" class="st1" width="1.6" height="5.6"/>
226
+ <rect x="24.9" y="28.4" class="st1" width="1.6" height="5.6"/>
227
+ <rect x="27.4" y="28.4" class="st1" width="1.6" height="5.6"/>
228
+ <rect x="29.9" y="28.4" class="st1" width="1.6" height="5.6"/>
229
+ <rect x="32.4" y="28.4" class="st1" width="1.6" height="5.6"/>
230
+ </g>
231
+ <g id="南左"
232
+ :class="status[13].isshow? '' : 'invisible'"
233
+ >
234
+ <rect x="7.5" y="28.4" class="st1" width="1.6" height="5.6"/>
235
+ <rect x="5" y="28.4" class="st1" width="1.6" height="5.6"/>
236
+ <rect x="2.5" y="28.4" class="st1" width="1.6" height="5.6"/>
237
+ <rect x="0" y="28.4" class="st1" width="1.6" height="5.6"/>
238
+ <rect x="10" y="28.4" class="st1" width="1.6" height="5.6"/>
239
+ <rect x="12.5" y="28.4" class="st1" width="1.6" height="5.6"/>
240
+ </g>
241
+ </g>
242
+ <g id="二次过街-北_1_" class="st0">
243
+ <g id="北右_1_"
244
+ :class="status[14].isshow? '' : 'invisible'"
245
+ >
246
+ <rect x="19.9" class="st1" width="1.6" height="5.6"/>
247
+ <rect x="22.4" class="st1" width="1.6" height="5.6"/>
248
+ <rect x="24.9" class="st1" width="1.6" height="5.6"/>
249
+ <rect x="27.4" class="st1" width="1.6" height="5.6"/>
250
+ <rect x="29.9" class="st1" width="1.6" height="5.6"/>
251
+ <rect x="32.4" class="st1" width="1.6" height="5.6"/>
252
+ </g>
253
+ <g id="北左_1_"
254
+ :class="status[15].isshow? '' : 'invisible'"
255
+ >
256
+ <rect x="7.5" class="st1" width="1.6" height="5.6"/>
257
+ <rect x="5" class="st1" width="1.6" height="5.6"/>
258
+ <rect x="2.5" class="st1" width="1.6" height="5.6"/>
259
+ <rect x="0" class="st1" width="1.6" height="5.6"/>
260
+ <rect x="10" class="st1" width="1.6" height="5.6"/>
261
+ <rect x="12.5" class="st1" width="1.6" height="5.6"/>
262
+ </g>
263
+ </g>
264
+ </svg>
265
+ </div>
266
+ </template>
267
+ <script>
268
+ export default {
269
+ name: 'PatternWalkSvg',
270
+ data () {
271
+ return {
272
+ status: [
273
+ {
274
+ id: 1,
275
+ name: '东西路段人行横道',
276
+ isshow: false,
277
+ color: '#0096ba'
278
+ },
279
+ {
280
+ id: 2,
281
+ name: '南北路段人行横道',
282
+ isshow: false,
283
+ color: '#0096ba'
284
+ },
285
+ {
286
+ id: 3,
287
+ name: 'X人行横道-\\',
288
+ isshow: false,
289
+ color: '#0096ba'
290
+ },
291
+ {
292
+ id: 4,
293
+ name: 'X人行横道-/',
294
+ isshow: false,
295
+ color: '#0096ba'
296
+ },
297
+ {
298
+ id: 5,
299
+ name: '北人行横道',
300
+ isshow: false,
301
+ color: '#0096ba'
302
+ },
303
+ {
304
+ id: 6,
305
+ name: '南人行横道',
306
+ isshow: false,
307
+ color: '#0096ba'
308
+ },
309
+ {
310
+ id: 7,
311
+ name: '东人行横道',
312
+ isshow: false,
313
+ color: '#0096ba'
314
+ },
315
+ {
316
+ id: 8,
317
+ name: '西人行横道',
318
+ isshow: false,
319
+ color: '#0096ba'
320
+ },
321
+ {
322
+ id: 9,
323
+ name: '西人行横道-下',
324
+ isshow: false,
325
+ color: '#0096ba'
326
+ },
327
+ {
328
+ id: 10,
329
+ name: '西人行横道-上',
330
+ isshow: false,
331
+ color: '#0096ba'
332
+ },
333
+ {
334
+ id: 11,
335
+ name: '东人行横道-上',
336
+ isshow: false,
337
+ color: '#0096ba'
338
+ },
339
+ {
340
+ id: 12,
341
+ name: '东人行横道-下',
342
+ isshow: false,
343
+ color: '#0096ba'
344
+ },
345
+ {
346
+ id: 13,
347
+ name: '南人行横道-右',
348
+ isshow: false,
349
+ color: '#0096ba'
350
+ },
351
+ {
352
+ id: 14,
353
+ name: '南人行横道-左',
354
+ isshow: false,
355
+ color: '#0096ba'
356
+ },
357
+ {
358
+ id: 15,
359
+ name: '北人行横道-右',
360
+ isshow: false,
361
+ color: '#0096ba'
362
+ },
363
+ {
364
+ id: 16,
365
+ name: '北人行横道-左',
366
+ isshow: false,
367
+ color: '#0096ba'
368
+ }
369
+ ]
370
+ }
371
+ },
372
+ props: {
373
+ sidewalkPhaseData: {
374
+ type: Array
375
+ },
376
+ showWalk: {
377
+ type: Array
378
+ },
379
+ Width: {
380
+ type: String,
381
+ default: '34px'
382
+ },
383
+ Height: {
384
+ type: String,
385
+ default: '34px'
386
+ },
387
+ Data: {
388
+ type: Object
389
+ }
390
+ },
391
+ watch: {
392
+ sidewalkPhaseData: {
393
+ handler: function () {
394
+ this.getShow()
395
+ },
396
+ deep: true // 深度监听
397
+ },
398
+ showWalk: {
399
+ handler: function () {
400
+ this.getShow()
401
+ },
402
+ deep: true // 深度监听
403
+ }
404
+ },
405
+ created () {
406
+ this.getShow()
407
+ },
408
+ methods: {
409
+ getShow () {
410
+ console.log(this.sidewalkPhaseData, this.showWalk)
411
+ if (!this.sidewalkPhaseData) return
412
+ for (let i = 0; i < this.sidewalkPhaseData.length; i++) {
413
+ for (let j = 0; j < this.status.length; j++) {
414
+ if (this.sidewalkPhaseData[i].name === this.status[j].name && this.showWalk.includes(this.sidewalkPhaseData[i].id)) {
415
+ this.status[j].isshow = true
416
+ }
417
+ }
418
+ }
419
+ }
420
+ }
421
+ }
422
+ </script>
423
+ <style scoped>
424
+ .invisible {
425
+ visibility: hidden;
426
+ }
427
+ .st0{opacity:0.5;}
428
+ .st1{fill-rule:evenodd;clip-rule:evenodd;fill:#303133;}
429
+ </style>
@@ -32,11 +32,14 @@
32
32
  <div class="right-dir-road" v-if="roadDir === 'right'">
33
33
  <div class="centerText" v-if="crossType !== 'Customroads' && isHasPhase">
34
34
  <!-- 相位倒计时 -->
35
- <div class="phaseCountdown" v-show="isShowInterval" v-if="isLoaded && isHasPhase" :class="{'countdownBg': isLoaded}">
35
+ <div class="phaseCountdown" v-show="isShowInterval" v-if="isLoaded && isHasPhase && isHasCountdown" :class="{'countdownBg': isLoaded}">
36
36
  <div v-for="curPhase in phaseCountdownList" :key="curPhase.id" :style="{color: curPhase.phaseCountdownColor}">
37
- <div v-if="curPhase.phaseCountdown !== -1">
38
- <span style="float: left;font-size: 20px;color: #fff;width: 70px;">{{$t('openatccomponents.overview.phase')}}{{curPhase.id}}:</span>
39
- <span style="float: left;">{{curPhase.phaseCountdown}}</span>
37
+ <div v-if="curPhase.phaseCountdown !== undefined && curPhase.phaseCountdown !== -1" style="overflow: hidden;margin-bottom: 4px;">
38
+ <span style="float: left;width: 33px;height: 33px;position: relative;border: 1px solid rgba(255, 255, 255, 0.1);margin-right: 7px;">
39
+ <xdr-dir-selector :Data="xdrData" :Datas="xdrpedData" Width="42px" Height="42px" Widths="42px" Heights="42px" :showlist="curPhase.showlist" :roadDirection="roadDirection"></xdr-dir-selector>
40
+ </span>
41
+ <span style="float: left;color: #fff;margin-right: 10px;width: 30px;">P{{curPhase.id}}:</span>
42
+ <span style="float: left;font-size: 20px;">{{curPhase.phaseCountdown}}</span>
40
43
  </div>
41
44
  </div>
42
45
  </div>
@@ -375,7 +378,16 @@ export default {
375
378
  comdirePhaseData: [], // 对比相同方向车道相位数据后,被删减的唯一direction的数组
376
379
  comdireOverlapPhaseData: [], // 对比相同方向车道跟随相位数据后,被删减的唯一direction的数组
377
380
  busPhaseData: [], // 公交相位数据
378
- comdireBusPhaseData: [] // 对比相同方向公交车道数据后,被删减的唯一direction的数组
381
+ comdireBusPhaseData: [], // 对比相同方向公交车道数据后,被删减的唯一direction的数组
382
+ phaseDirMap: new Map(),
383
+ xdrData: {
384
+ left: '5px',
385
+ top: '4px'
386
+ },
387
+ xdrpedData: {
388
+ left: '1px',
389
+ top: '1px'
390
+ }
379
391
  }
380
392
  },
381
393
  methods: {
@@ -627,6 +639,7 @@ export default {
627
639
  getCurPhaseCountdown () {
628
640
  // 获取当前相位倒计时颜色
629
641
  this.phaseCountdownList = []
642
+ this.isHasCountdown = false
630
643
  this.curPhase.forEach(curP => {
631
644
  this.phaseStatusList.forEach(phaseInfo => {
632
645
  if (phaseInfo.id === curP) {
@@ -634,11 +647,35 @@ export default {
634
647
  countdownObj.id = phaseInfo.id
635
648
  countdownObj.phaseCountdown = phaseInfo.countdown
636
649
  countdownObj.phaseCountdownColor = this.ColorMap.get(phaseInfo.type)
650
+ let curphasedir = this.phaseDirMap.get(phaseInfo.id)
651
+ if (curphasedir !== undefined) {
652
+ countdownObj.showlist = curphasedir.direction.map(dir => {
653
+ return {
654
+ id: dir,
655
+ peddirection: this.getshowped(curphasedir.peddirection),
656
+ color: '#fff'
657
+ }
658
+ })
659
+ } else {
660
+ countdownObj.showlist = []
661
+ }
662
+
637
663
  this.phaseCountdownList.push(countdownObj)
664
+ if (phaseInfo.countdown !== undefined && phaseInfo.countdown !== -1) {
665
+ this.isHasCountdown = true
666
+ }
638
667
  }
639
668
  })
640
669
  })
641
670
  },
671
+ getshowped (peddirection) {
672
+ let peddirarr = peddirection.map(peddir => ({
673
+ id: peddir,
674
+ name: this.PhaseDataModel.getSidePos(peddir).name,
675
+ color: 'rgba(255, 255, 255, 0.4)'
676
+ }))
677
+ return peddirarr
678
+ },
642
679
  getIntersectionInfo () {
643
680
  // 获取路口信息
644
681
  const agentid = this.agentId || '0'
@@ -670,6 +707,7 @@ export default {
670
707
  return
671
708
  }
672
709
  this.crossInfo = res.data.data.param
710
+ this.crossInfo.phaseList.forEach(cross => this.phaseDirMap.set(cross.id, {direction: cross.direction, peddirection: cross.peddirection}))
673
711
  if (this.mainType === '100' || this.mainType === '101' || this.mainType === '104') {
674
712
  // 城市道路加载车道相位坐标和人行道坐标
675
713
  this.getPhasePos()
@@ -966,19 +1004,33 @@ export default {
966
1004
  },
967
1005
  handleRepeatRealdir (channelList) {
968
1006
  // 按realdir去掉重复方向的数据
1007
+ let dirChannelList = channelList.filter(ele => ele.type === 0 || ele.type === 1 || ele.type === 3)
1008
+ let pedDirChannelList = channelList.filter(ele => ele.type === 2)
969
1009
  let map = new Map()
970
- channelList.forEach(ele => {
1010
+ let map2 = new Map()
1011
+ dirChannelList.forEach(ele => {
971
1012
  ele.realdir.forEach(dir => {
972
1013
  if (map.get(dir) === undefined) {
973
1014
  map.set(dir, ele)
974
1015
  }
975
1016
  })
976
1017
  })
1018
+ pedDirChannelList.forEach(ele => {
1019
+ ele.realdir.forEach(dir => {
1020
+ if (map2.get(dir) === undefined) {
1021
+ map2.set(dir, ele)
1022
+ }
1023
+ })
1024
+ })
977
1025
  let arr = Array.from(map)
1026
+ let pedarr = Array.from(map2)
978
1027
  let newarr = []
979
1028
  arr.forEach(ele => {
980
1029
  newarr.push(ele[1])
981
1030
  })
1031
+ pedarr.forEach(ele => {
1032
+ newarr.push(ele[1])
1033
+ })
982
1034
  // console.log(newarr)
983
1035
  return newarr
984
1036
  },
@@ -1172,8 +1224,8 @@ export default {
1172
1224
  /* padding-left: 16px; */
1173
1225
  }
1174
1226
  .phaseCountdown {
1175
- line-height: 40px;
1176
- font-size: 30px;
1227
+ line-height: 32PX;
1228
+ font-size: 14px;
1177
1229
  font-weight: normal;
1178
1230
  font-stretch: normal;
1179
1231
  letter-spacing: 0px;
@@ -1182,14 +1234,16 @@ export default {
1182
1234
  margin: 0 auto;
1183
1235
  }
1184
1236
  .countdownBg {
1185
- border-radius: 10px;
1237
+ border-radius: 10PX;
1186
1238
  background-color: rgba(94, 90, 90, 0.8);
1187
- padding-left: 16px;
1239
+ padding-left: 16PX;
1240
+ padding-top: 10PX;
1241
+ padding-bottom: 10PX;
1188
1242
  }
1189
1243
  .centerText .text {
1190
1244
  display: inline-block;
1191
1245
  color: #299BCC;
1192
- margin-top: 20px;
1246
+ margin-top: 20PX;
1193
1247
  }
1194
1248
 
1195
1249
  .baseImg {