openatc-components 0.2.80 → 0.2.81

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 (58) hide show
  1. package/package/kisscomps/components/BoardCard/BoardCard.vue +0 -4
  2. package/package/kisscomps/components/ChannelRealtimeIntersection/ChannelRealtimeIntersection.vue +101 -0
  3. package/package/kisscomps/components/ChannelRealtimeIntersection/index.js +2 -0
  4. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +34 -4
  5. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/sidewalk.svg +535 -0
  6. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +105 -9
  7. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +19 -19
  8. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +19 -19
  9. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +8 -8
  10. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +8 -8
  11. package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +13 -1
  12. package/package/kisscomps/components/PatternStatus/PatternStatus.vue +17 -94
  13. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +5 -98
  14. package/package/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +11 -7
  15. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +9 -5
  16. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +7 -5
  17. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +41 -10
  18. package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +9 -5
  19. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +1 -1
  20. package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +12 -8
  21. package/package/kisscomps/components/Stages/index.vue +2 -1
  22. package/package/kisscomps/components/patternList/patternList.vue +0 -4
  23. package/package/kisscomps/index.js +2 -0
  24. package/package/kissui.min.js +1 -1
  25. package/package.json +1 -1
  26. package/src/api/cross.js +4 -0
  27. package/src/api/template.js +4 -0
  28. package/src/i18n/language/zh.js +2 -2
  29. package/src/kisscomps/components/BoardCard/BoardCard.vue +0 -4
  30. package/src/kisscomps/components/ChannelRealtimeIntersection/ChannelRealtimeIntersection.vue +101 -0
  31. package/src/kisscomps/components/ChannelRealtimeIntersection/index.js +2 -0
  32. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +34 -4
  33. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/sidewalk.svg +535 -0
  34. package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +105 -9
  35. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +19 -19
  36. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +19 -19
  37. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +8 -8
  38. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +8 -8
  39. package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +13 -1
  40. package/src/kisscomps/components/PatternStatus/PatternStatus.vue +17 -94
  41. package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +5 -98
  42. package/src/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +11 -7
  43. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +9 -5
  44. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +7 -5
  45. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +41 -10
  46. package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +9 -5
  47. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +1 -1
  48. package/src/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +12 -8
  49. package/src/kisscomps/components/Stages/index.vue +2 -1
  50. package/src/kisscomps/components/patternList/patternList.vue +0 -4
  51. package/src/kisscomps/index.js +2 -0
  52. package/src/router/index.js +1 -1
  53. package/src/views/intersection.vue +76 -28
  54. package/src/views/overView.vue +1 -1
  55. package/static/styles/commonkanban.scss +3 -3
  56. package/static/styles/overview.scss +2 -2
  57. package/static/styles/schemeconfig.scss +38 -23
  58. package/src/node_modules/.package_versions.json +0 -1
@@ -240,10 +240,12 @@ export default {
240
240
  default: ''
241
241
  },
242
242
  choosedDirection: {
243
- type: Array
243
+ type: Array,
244
+ default: () => []
244
245
  },
245
246
  choosedPedDirection: {
246
- type: Array
247
+ type: Array,
248
+ default: () => []
247
249
  },
248
250
  isVipRoute: { // 区分普通路口和VIP路口,如果是vip路口(特勤路线和分组管控),才需要获取通道和处理通道冲突,并显示已选方向
249
251
  type: Boolean,
@@ -256,6 +258,10 @@ export default {
256
258
  isThirdSignal: {
257
259
  type: Boolean,
258
260
  default: false
261
+ },
262
+ channelType: {
263
+ type: Boolean,
264
+ default: false
259
265
  }
260
266
  },
261
267
  // computed: {
@@ -273,10 +279,21 @@ export default {
273
279
  handler: function (val, oldVal) {
274
280
  // 路口状态数据
275
281
  this.statusData = JSON.parse(JSON.stringify(val))
276
- this.phaseStatusList = val.phase
277
- this.overlapStatusList = val.overlap
278
282
  // 默认显示相位数据(包括黄闪、全红、关灯状态下,或者匝道,均不做比对跟随相位的处理)
279
283
  this.drawDefaultPhaseIcon()
284
+
285
+ if (this.channelType) {
286
+ // 通道路口图状态数据
287
+ this.channelStatusList = val.channellamp
288
+ this.createChannelStatusMap()
289
+ this.getChannelPhaseStatus()
290
+ this.getChannelPedStatus()
291
+ return
292
+ }
293
+
294
+ // 模版路口图状态数据
295
+ this.phaseStatusList = val.phase
296
+ this.overlapStatusList = val.overlap
280
297
  if (val.control === 1 || val.control === 2 || val.control === 3) {
281
298
  // 黄闪、全红、关灯属于特殊控制,优先级最高,直接改变灯色,不用判断phase里的type,也不需要考虑跟随相位的灯色优先级
282
299
  if (val.control === 1) {
@@ -375,7 +392,9 @@ export default {
375
392
  comdirePhaseData: [], // 对比相同方向车道相位数据后,被删减的唯一direction的数组
376
393
  comdireOverlapPhaseData: [], // 对比相同方向车道跟随相位数据后,被删减的唯一direction的数组
377
394
  busPhaseData: [], // 公交相位数据
378
- comdireBusPhaseData: [] // 对比相同方向公交车道数据后,被删减的唯一direction的数组
395
+ comdireBusPhaseData: [], // 对比相同方向公交车道数据后,被删减的唯一direction的数组
396
+ channelStatusMap: new Map(), // 通道实时状态映射
397
+ channelStatusList: [] // 通道实时状态列表
379
398
  }
380
399
  },
381
400
  methods: {
@@ -669,6 +688,10 @@ export default {
669
688
  this.getChannelInfo()
670
689
  return
671
690
  }
691
+ if (this.channelType) {
692
+ this.getChannelInfo()
693
+ return
694
+ }
672
695
  this.crossInfo = res.data.data.param
673
696
  if (this.mainType === '100' || this.mainType === '101' || this.mainType === '104') {
674
697
  // 城市道路加载车道相位坐标和人行道坐标
@@ -966,19 +989,33 @@ export default {
966
989
  },
967
990
  handleRepeatRealdir (channelList) {
968
991
  // 按realdir去掉重复方向的数据
992
+ let dirChannelList = channelList.filter(ele => ele.type === 0 || ele.type === 1 || ele.type === 3)
993
+ let pedDirChannelList = channelList.filter(ele => ele.type === 2)
969
994
  let map = new Map()
970
- channelList.forEach(ele => {
995
+ let map2 = new Map()
996
+ dirChannelList.forEach(ele => {
971
997
  ele.realdir.forEach(dir => {
972
998
  if (map.get(dir) === undefined) {
973
999
  map.set(dir, ele)
974
1000
  }
975
1001
  })
976
1002
  })
1003
+ pedDirChannelList.forEach(ele => {
1004
+ ele.realdir.forEach(dir => {
1005
+ if (map2.get(dir) === undefined) {
1006
+ map2.set(dir, ele)
1007
+ }
1008
+ })
1009
+ })
977
1010
  let arr = Array.from(map)
1011
+ let pedarr = Array.from(map2)
978
1012
  let newarr = []
979
1013
  arr.forEach(ele => {
980
1014
  newarr.push(ele[1])
981
1015
  })
1016
+ pedarr.forEach(ele => {
1017
+ newarr.push(ele[1])
1018
+ })
982
1019
  // console.log(newarr)
983
1020
  return newarr
984
1021
  },
@@ -1010,12 +1047,17 @@ export default {
1010
1047
  ele.realdir.forEach((dir, index) => {
1011
1048
  // 行人相位
1012
1049
  if (this.sidewalkDir.indexOf(dir) === -1 && this.PhaseDataModel.getSidePos(dir)) {
1013
- this.sidewalkPhaseData.push({
1050
+ let obj = {
1014
1051
  key: this.CrossDiagramMgr.getUniqueKey('pedphase') + `-${this.agentId}`,
1015
1052
  channelid: ele.id, // 通道id
1016
1053
  id: dir,
1017
1054
  name: this.PhaseDataModel.getSidePos(dir).name
1018
- })
1055
+ }
1056
+ if (this.channelType) {
1057
+ obj.left = this.PhaseDataModel.getSidePos(dir).x
1058
+ obj.top = this.PhaseDataModel.getSidePos(dir).y
1059
+ }
1060
+ this.sidewalkPhaseData.push(obj)
1019
1061
  }
1020
1062
  })
1021
1063
  realpeddirarr = Array.from(new Set(realpeddirarr.concat(ele.realdir)))
@@ -1030,7 +1072,7 @@ export default {
1030
1072
  async drawPhaseIcon () {
1031
1073
  const targetIds = [4, 8, 12, 16] // 掉头相位后画
1032
1074
  this.LanePhaseData = this.LanePhaseData.filter(item => !targetIds.includes(item.id)).concat(this.LanePhaseData.filter(item => targetIds.includes(item.id)))
1033
- if (!this.isThirdSignal) {
1075
+ if (!this.isThirdSignal && this.isVipRoute) {
1034
1076
  await this.getConflictList()
1035
1077
  this.handleClickedPhase()
1036
1078
  this.compLanePhaseData = JSON.parse(JSON.stringify(this.LanePhaseData))
@@ -1140,6 +1182,60 @@ export default {
1140
1182
  // console.log(this.LanePhaseData)
1141
1183
  }
1142
1184
  })
1185
+ },
1186
+ createChannelStatusMap () {
1187
+ // 生成相位id和相位状态对应数据结构
1188
+ this.channelStatusList.map(channel => {
1189
+ let channelId = channel.id
1190
+ let channelInfo = {
1191
+ light: channel.light
1192
+ }
1193
+ this.channelStatusMap.set(channelId, channelInfo)
1194
+ })
1195
+ },
1196
+ getChannelPhaseStatus () {
1197
+ // 通道相位机动车状态
1198
+ this.comdirePhaseData = []
1199
+ let curLanePhaseData = []
1200
+ for (let i = 0; i < this.LanePhaseData.length; i++) {
1201
+ let curPhaseStatus = this.channelStatusMap.get(this.LanePhaseData[i].channelid)
1202
+ if (!curPhaseStatus) continue
1203
+ const data = {
1204
+ ...this.LanePhaseData[i],
1205
+ type: curPhaseStatus.light,
1206
+ color: this.ColorMap.get(curPhaseStatus.light),
1207
+ flag: 'phasechannel' // 车道相位数据标识
1208
+ }
1209
+ curLanePhaseData.push(data)
1210
+ }
1211
+ this.LanePhaseData = JSON.parse(JSON.stringify(curLanePhaseData))
1212
+ this.compLanePhaseData = JSON.parse(JSON.stringify(this.LanePhaseData))
1213
+ },
1214
+ getChannelPedStatus () {
1215
+ // 通道行人相位状态
1216
+ let curPedStatus = []
1217
+ for (let i = 0; i < this.sidewalkPhaseData.length; i++) {
1218
+ console.log(this.sidewalkPhaseData[i])
1219
+ if (this.sidewalkPhaseData[i].channelid) {
1220
+ let curPhaseStatus = this.channelStatusMap.get(this.sidewalkPhaseData[i].channelid)
1221
+ if (!curPhaseStatus) continue
1222
+ const data = {
1223
+ ...this.sidewalkPhaseData[i],
1224
+ pedtype: curPhaseStatus.light,
1225
+ color: this.ColorMap.get(curPhaseStatus.light),
1226
+ flag: 'pedchannel' // 行人相位数据标识
1227
+ }
1228
+ curPedStatus.push(data)
1229
+ } else {
1230
+ // 无状态的行人道
1231
+ const data = {
1232
+ ...this.sidewalkPhaseData[i],
1233
+ pedtype: undefined
1234
+ }
1235
+ curPedStatus.push(data)
1236
+ }
1237
+ }
1238
+ this.compSidewalkPhaseData = JSON.parse(JSON.stringify(curPedStatus))
1143
1239
  }
1144
1240
  },
1145
1241
  mounted () {
@@ -12,11 +12,11 @@
12
12
  <template>
13
13
  <div :id="Data.key" :style="{position: 'absolute', left: Data.left, top: Data.top}">
14
14
  <div :class="Data.id < 9 ? '' : 'hide'">
15
- <svg v-if="Data.id === 4 || Data.id === 8" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 18.1 14.5" :width="IconLenghDiaoTou" :height="IconWdithDiaoTou">
15
+ <!-- <svg v-if="Data.id === 4 || Data.id === 8" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 18.1 14.5" :width="IconLenghDiaoTou" :height="IconWdithDiaoTou">
16
16
  <path id="东掉头" :class="Data.name === '东掉头' ? '' : 'invisible'" d="M4.876,3.054H8.5V0.039L16.07,4.276,8.411,8.513V5.5H4.792C3.53,5.5,2.436,6.883,2.436,8.513s1.094,3.015,2.357,3.015H18.006v2.444H4.876A5.2,5.2,0,0,1-.005,8.513,5.2,5.2,0,0,1,4.876,3.054Z" transform="translate(0 -0.031)" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
17
17
  <path id="西掉头" :class="Data.name === '西掉头' ? '' : 'invisible'" d="M13.124,10.964H9.5v3.028L1.93,9.736,9.589,5.48V8.508h3.619c1.262,0,2.357-1.391,2.357-3.028S14.47,2.452,13.208,2.452H-0.006V0H13.124c2.693,0,4.881,2.455,4.881,5.483S15.817,10.964,13.124,10.964Z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
18
- </svg>
19
- <svg v-else version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
18
+ </svg> -->
19
+ <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"
20
20
  viewBox="0 0 36 26" style="enable-background:new 0 0 36 26;" xml:space="preserve" :width="IconLengh" :height="IconWdith">
21
21
  <!-- 东相位 -->
22
22
  <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
@@ -24,24 +24,22 @@
24
24
  <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
25
25
  c-1.5,0-2.8-1.3-2.8-2.8V15.8z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
26
26
  <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)"/>
27
- <!-- <path id="东掉头" :class="Data.name === '东掉头' ? '' : 'invisible'" d="M13.6,15.2c0,3.7,2.6,6.7,5.8,6.7H35v-3H19.4c-1.5,0-2.8-1.7-2.8-3.7s1.3-3.7,2.8-3.7h4.3v3.7
28
- l9.1-5.2l-9.1-5.2v3.7h-4.3C16.2,8.5,13.6,11.5,13.6,15.2z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/> -->
27
+ <path id="东掉头" :class="Data.name === '东掉头' ? '' : 'invisible'" d="M1.1,14.5c0,3.7,2.6,6.7,5.8,6.7H35v-3H6.8c-1.5,0-2.8-1.7-2.8-3.7s1.3-3.7,2.8-3.7h4.3v3.7l9.1-5.2l-9-5.2v3.7H6.9C3.7,7.8,1.1,10.8,1.1,14.5z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
29
28
  <!-- 西相位 -->
30
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
31
30
  C27.8,17.6,26.6,18.9,25,18.9L25,18.9z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
32
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
33
32
  c1.5,0,2.8,1.3,2.8,2.8V10.2z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
34
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)"/>
35
- <!-- <path id="西掉头" :class="Data.name === '西掉头' ? '' : 'invisible'" d="M22.4,10.8c0-3.7-2.6-6.7-5.8-6.7H1v3h15.7c1.5,0,2.8,1.7,2.8,3.7s-1.3,3.7-2.8,3.7h-4.3v-3.7
36
- L3.3,16l9,5.3v-3.8h4.3C19.8,17.5,22.4,14.5,22.4,10.8z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/> -->
34
+ <path id="西掉头" :class="Data.name === '西掉头' ? '' : 'invisible'" d="M34.9,10.8c0-3.7-2.6-6.7-5.8-6.7H0.9v3h28.3c1.5,0,2.8,1.7,2.8,3.7s-1.3,3.7-2.8,3.7h-4.3v-3.7L15.8,16l9,5.2v-3.7h4.3C32.3,17.5,34.9,14.5,34.9,10.8z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
37
35
  </svg>
38
36
  </div>
39
37
  <div :class="Data.id >= 9 ? '' : 'hide'">
40
- <svg v-if="Data.id === 12 || Data.id === 16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 14.5 18.1" :width="IconWdithDiaoTou" :height="IconLenghDiaoTou">
38
+ <!-- <svg v-if="Data.id === 12 || Data.id === 16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 14.5 18.1" :width="IconWdithDiaoTou" :height="IconLenghDiaoTou">
41
39
  <path id="南掉头" :class="Data.name === '南掉头' ? '' : 'invisible'" d="M10.946,4.876V8.5h3.015L9.724,16.07,5.487,8.411H8.5V4.792c0-1.262-1.385-2.357-3.015-2.357S2.472,3.53,2.472,4.792V18.006H0.028V4.876A5.2,5.2,0,0,1,5.487-.005,5.2,5.2,0,0,1,10.946,4.876Z" transform="translate(-0.031)" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
42
40
  <path id="北掉头" :class="Data.name === '北掉头' ? '' : 'invisible'" d="M3.036,13.124V9.5H0.008L4.264,1.93,8.52,9.589H5.492v3.619c0,1.262,1.391,2.357,3.028,2.357s3.028-1.094,3.028-2.357V-0.006H14V13.124c0,2.693-2.455,4.881-5.483,4.881S3.036,15.817,3.036,13.124Z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
43
- </svg>
44
- <svg v-else version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
41
+ </svg> -->
42
+ <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"
45
43
  viewBox="0 0 26 36" style="enable-background:new 0 0 26 36;" xml:space="preserve" :width="IconWdith" :height="IconLengh">
46
44
  <!-- 南相位 -->
47
45
  <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
@@ -49,16 +47,14 @@ L3.3,16l9,5.3v-3.8h4.3C19.8,17.5,22.4,14.5,22.4,10.8z" :fill="this.FlashColor ?
49
47
  <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
50
48
  c0-1.5,1.3-2.8,2.8-2.8H10.2z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
51
49
  <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)"/>
52
- <!-- <path id="南掉头" :class="Data.name === '南掉头' ? '' : 'invisible'" d="M10.8,13.6c-3.7,0-6.7,2.6-6.7,5.8V35h3V19.4c0-1.5,1.7-2.8,3.7-2.8s3.7,1.3,3.7,2.8v4.3h-3.7
53
- l5.2,9.1l5.2-9.1h-3.8v-4.3C17.4,16.2,14.4,13.6,10.8,13.6z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/> -->
50
+ <path id="南掉头" :class="Data.name === '南掉头' ? '' : 'invisible'" d="M11.5,1.1c-3.7,0-6.7,2.6-6.7,5.8V35h3V6.8C7.8,5.3,9.5,4,11.5,4s3.7,1.3,3.7,2.8v4.3h-3.7l5.2,9.1l5.2-9h-3.7V6.9C18.2,3.7,15.2,1.1,11.5,1.1z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
54
51
  <!-- 北相位 -->
55
52
  <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
56
53
  C8.4,27.8,7.1,26.6,7.1,25L7.1,25z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
57
54
  <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
58
55
  c0,1.5-1.3,2.8-2.8,2.8H15.8z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
59
56
  <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)"/>
60
- <!-- <path id="北掉头" :class="Data.name === '北掉头' ? '' : 'invisible'" d="M15.2,22.4c3.7,0,6.7-2.6,6.7-5.8V1h-3v15.7c0,1.5-1.7,2.8-3.7,2.8s-3.7-1.3-3.7-2.8v-4.3h3.7
61
- L10,3.3l-5.2,9h3.7v4.3C8.5,19.8,11.5,22.4,15.2,22.4z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/> -->
57
+ <path id="北掉头" :class="Data.name === '北掉头' ? '' : 'invisible'" d="M14.5,34.9c3.7,0,6.7-2.6,6.7-5.8V0.9h-3v28.3c0,1.5-1.7,2.8-3.7,2.8s-3.7-1.3-3.7-2.8v-4.3h3.7l-5.2-9.1l-5.2,9h3.7v4.3C7.8,32.3,10.8,34.9,14.5,34.9z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
62
58
  </svg>
63
59
  </div>
64
60
  </div>
@@ -140,8 +136,9 @@ export default {
140
136
  },
141
137
  methods: {
142
138
  handleClick (e) {
143
- let clickedPath = e.target
144
- // console.log(clickedPath)
139
+ let clickedSvg = e.currentTarget
140
+ // console.log(clickedSvg)
141
+ let clickedPath = clickedSvg.querySelector(`#${this.Data.name}`)
145
142
  if (clickedPath) {
146
143
  // 在这里对找到的元素进行操作
147
144
  if (clickedPath.getAttribute('disabled') === 'true') {
@@ -173,9 +170,12 @@ export default {
173
170
  },
174
171
  IconAddEvent () {
175
172
  let IconDom = document.getElementById(this.Data.key)
176
- let DirDom = IconDom.querySelector(`#${this.Data.name}`)
177
- if (this.clickMode && DirDom.getAttribute('class') !== 'invisible') {
178
- DirDom.addEventListener('click', this.handleClick)
173
+ // let DirDom = IconDom.querySelector(`#${this.Data.name}`)
174
+ // if (this.clickMode && DirDom.getAttribute('class') !== 'invisible') {
175
+ // DirDom.addEventListener('click', this.handleClick)
176
+ // }
177
+ if (this.clickMode) {
178
+ IconDom.addEventListener('click', this.handleClick)
179
179
  }
180
180
  }
181
181
  },
@@ -12,35 +12,33 @@
12
12
  <template>
13
13
  <div :id="Data.key" :style="{position: 'absolute', left: Data.left, top: Data.top}">
14
14
  <div :class="Data.id < 9 ? '' : 'hide'">
15
- <svg v-if="Data.id === 4 || Data.id === 8" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 14" :width="IconLenghDiaoTou" :height="IconWdithDiaoTou">
15
+ <!-- <svg v-if="Data.id === 4 || Data.id === 8" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 14" :width="IconLenghDiaoTou" :height="IconWdithDiaoTou">
16
16
  <path id="东掉头" :class="Data.name === '东掉头' ? '' : 'invisible'" d="M4.876,10.981H8.5v3.042L16.07,9.748,8.411,5.474V8.515H4.792c-1.262,0-2.357-1.4-2.357-3.042S3.53,2.432,4.792,2.432H18.006V-0.034H4.876c-2.693,0-4.881,2.466-4.881,5.508S2.183,10.981,4.876,10.981Z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
17
17
  <path id="西掉头" :class="Data.name === '西掉头' ? '' : 'invisible'" d="M13.124,3.036H9.5V0.008L1.93,4.264,9.589,8.52V5.492h3.619c1.262,0,2.357,1.391,2.357,3.028s-1.094,3.028-2.357,3.028H-0.006V14H13.124c2.693,0,4.881-2.455,4.881-5.483S15.817,3.036,13.124,3.036Z" :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">
18
+ </svg> -->
19
+ <svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 36 26" :width="IconLengh" :height="IconWdith">
20
20
  <!-- 东相位 -->
21
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
22
22
  C8.2,8.4,9.4,7.1,11,7.1L11,7.1z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
23
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
24
24
  c-1.5,0-2.8-1.3-2.8-2.8V15.8z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
25
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)"/>
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)"/> -->
26
+ <path id="东掉头" :class="Data.name === '东掉头' ? '' : 'invisible'" d="M6.9,17.5h4.3v3.7l9-5.2l-9.1-5.2v3.7H6.8c-1.5,0-2.8-1.7-2.8-3.7s1.3-3.7,2.8-3.7H35v-3H6.9c-3.2,0-5.8,3-5.8,6.7C1.1,14.5,3.7,17.5,6.9,17.5z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
28
27
  <!-- 西相位 -->
29
28
  <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
30
29
  C27.8,17.6,26.6,18.9,25,18.9L25,18.9z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
31
30
  <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
32
31
  c1.5,0,2.8,1.3,2.8,2.8V10.2z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
33
32
  <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)"/>
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
+ <path id="西掉头" :class="Data.name === '西掉头' ? '' : 'invisible'" d="M29.1,8.5h-4.3V4.8l-9,5.2l9.1,5.2v-3.7h4.3c1.5,0,2.8,1.7,2.8,3.7s-1.3,3.7-2.8,3.7H0.9v3h28.2c3.2,0,5.8-3,5.8-6.7C34.9,11.5,32.3,8.5,29.1,8.5z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
36
34
  </svg>
37
35
  </div>
38
36
  <div :class="Data.id >= 9 ? '' : 'hide'">
39
- <svg v-if="Data.id === 12 || Data.id === 16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 18" :width="IconWdithDiaoTou" :height="IconLenghDiaoTou">
37
+ <!-- <svg v-if="Data.id === 12 || Data.id === 16" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 14 18" :width="IconWdithDiaoTou" :height="IconLenghDiaoTou">
40
38
  <path id="南掉头" :class="Data.name === '南掉头' ? '' : 'invisible'" d="M3.036,4.876V8.5H0.008L4.264,16.07,8.52,8.411H5.492V4.792c0-1.262,1.391-2.357,3.028-2.357s3.028,1.094,3.028,2.357V18.006H14V4.876C14,2.183,11.548-.005,8.52-0.005S3.036,2.183,3.036,4.876Z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)" />
41
39
  <path id="北掉头" :class="Data.name === '北掉头' ? '' : 'invisible'" d="M10.981,13.124V9.5h3.042L9.748,1.93,5.474,9.589H8.515v3.619c0,1.262-1.4,2.357-3.042,2.357S2.432,14.47,2.432,13.208V-0.006H-0.034V13.124c0,2.693,2.466,4.881,5.508,4.881S10.981,15.817,10.981,13.124Z" :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"
40
+ </svg> -->
41
+ <svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
44
42
  viewBox="0 0 26 36" style="enable-background:new 0 0 26 36;" xml:space="preserve" :width="IconWdith" :height="IconLengh">
45
43
  <!-- 南相位 -->
46
44
  <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
@@ -48,16 +46,14 @@
48
46
  <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
49
47
  c0-1.5,1.3-2.8,2.8-2.8H10.2z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
50
48
  <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)"/>
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)"/> -->
49
+ <path id="南掉头" :class="Data.name === '南掉头' ? '' : 'invisible'" d="M8.5,6.9v4.3H4.8l5.2,9l5.2-9.1h-3.7V6.8c0-1.5,1.7-2.8,3.7-2.8s3.7,1.3,3.7,2.8V35h3V6.9c0-3.2-3-5.8-6.7-5.8C11.5,1.1,8.5,3.7,8.5,6.9z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
53
50
  <!-- 北相位 -->
54
51
  <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
55
52
  C8.4,27.8,7.1,26.6,7.1,25L7.1,25z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
56
53
  <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
57
54
  c0,1.5-1.3,2.8-2.8,2.8H15.8z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
58
55
  <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)"/>
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)"/> -->
56
+ <path id="北掉头" :class="Data.name === '北掉头' ? '' : 'invisible'" d="M17.5,29.1v-4.3h3.7l-5.2-9l-5.2,9.1h3.7v4.3c0,1.5-1.7,2.8-3.7,2.8s-3.7-1.3-3.7-2.8V0.9h-3v28.2c0,3.2,3,5.8,6.7,5.8C14.5,34.9,17.5,32.3,17.5,29.1z" :fill="this.FlashColor ? this.FlashColor : (Data.color ? Data.color : defaultColor)"/>
61
57
  </svg>
62
58
  </div>
63
59
  </div>
@@ -139,8 +135,9 @@ export default {
139
135
  },
140
136
  methods: {
141
137
  handleClick (e) {
142
- let clickedPath = e.target
143
- // console.log(clickedPath)
138
+ let clickedSvg = e.currentTarget
139
+ // console.log(clickedSvg)
140
+ let clickedPath = clickedSvg.querySelector(`#${this.Data.name}`)
144
141
  if (clickedPath) {
145
142
  // 在这里对找到的元素进行操作
146
143
  if (clickedPath.getAttribute('disabled') === 'true') {
@@ -172,9 +169,12 @@ export default {
172
169
  },
173
170
  IconAddEvent () {
174
171
  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)
172
+ // let DirDom = IconDom.querySelector(`#${this.Data.name}`)
173
+ // if (this.clickMode && DirDom.getAttribute('class') !== 'invisible') {
174
+ // DirDom.addEventListener('click', this.handleClick)
175
+ // }
176
+ if (this.clickMode) {
177
+ IconDom.addEventListener('click', this.handleClick)
178
178
  }
179
179
  }
180
180
  },
@@ -24,8 +24,8 @@
24
24
  "id": 4,
25
25
  "name": "东掉头",
26
26
  "ename": "East-Back",
27
- "x": "602px",
28
- "y": "300px"
27
+ "x": "588px",
28
+ "y": "325px"
29
29
  },
30
30
  {
31
31
  "id": 5,
@@ -52,8 +52,8 @@
52
52
  "id": 8,
53
53
  "name": "西掉头",
54
54
  "ename": "West-Back",
55
- "x": "247px",
56
- "y": "333px"
55
+ "x": "244px",
56
+ "y": "300px"
57
57
  },
58
58
  {
59
59
  "id": 9,
@@ -80,8 +80,8 @@
80
80
  "id": 12,
81
81
  "name": "北掉头",
82
82
  "ename": "North-Back",
83
- "x": "412px",
84
- "y": "137px"
83
+ "x": "436px",
84
+ "y": "134px"
85
85
  },
86
86
  {
87
87
  "id": 13,
@@ -108,8 +108,8 @@
108
108
  "id": 16,
109
109
  "name": "南掉头",
110
110
  "ename": "South-Back",
111
- "x": "444px",
112
- "y": "489px"
111
+ "x": "412px",
112
+ "y": "476px"
113
113
  }
114
114
  ]
115
115
  }
@@ -24,8 +24,8 @@
24
24
  "id": 4,
25
25
  "name": "东掉头",
26
26
  "ename": "East-Back",
27
- "x": "604px",
28
- "y": "334px"
27
+ "x": "591px",
28
+ "y": "301px"
29
29
  },
30
30
  {
31
31
  "id": 5,
@@ -52,8 +52,8 @@
52
52
  "id": 8,
53
53
  "name": "西掉头",
54
54
  "ename": "West-Back",
55
- "x": "248px",
56
- "y": "301px"
55
+ "x": "246px",
56
+ "y": "325px"
57
57
  },
58
58
  {
59
59
  "id": 9,
@@ -80,8 +80,8 @@
80
80
  "id": 12,
81
81
  "name": "北掉头",
82
82
  "ename": "North-Back",
83
- "x": "446px",
84
- "y": "138px"
83
+ "x": "412px",
84
+ "y": "135px"
85
85
  },
86
86
  {
87
87
  "id": 13,
@@ -108,8 +108,8 @@
108
108
  "id": 16,
109
109
  "name": "南掉头",
110
110
  "ename": "South-Back",
111
- "x": "412px",
112
- "y": "495px"
111
+ "x": "436px",
112
+ "y": "481px"
113
113
  }
114
114
  ]
115
115
  }
@@ -40,6 +40,7 @@
40
40
  :isVipRoute="isVipRoute"
41
41
  :clickMode="clickMode"
42
42
  :isThirdSignal="isThirdSignal"
43
+ :channelType="channelType"
43
44
  @handleClickCrossIcon="handleClickCrossIcon" />
44
45
  </div>
45
46
  </div>
@@ -125,6 +126,10 @@ export default {
125
126
  isThirdSignal: {
126
127
  type: Boolean,
127
128
  default: false
129
+ },
130
+ channelType: {
131
+ type: Boolean,
132
+ default: false
128
133
  }
129
134
  },
130
135
  watch: {
@@ -143,6 +148,13 @@ export default {
143
148
  this.reset = true
144
149
  }
145
150
  }
151
+ },
152
+ channelType: {
153
+ handler: function (val, oldVal) {
154
+ if (val) {
155
+ this.reset = true
156
+ }
157
+ }
146
158
  }
147
159
  },
148
160
  created () {
@@ -152,7 +164,7 @@ export default {
152
164
  },
153
165
  mounted () {
154
166
  this.getParentSize()
155
- if (this.isVipRoute) {
167
+ if (this.isVipRoute || this.channelType) {
156
168
  this.reset = true
157
169
  }
158
170
  },