openatc-components 0.5.16 → 0.5.17

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 (390) hide show
  1. package/.babelrc +18 -18
  2. package/.editorconfig +9 -9
  3. package/.eslintignore +5 -5
  4. package/.eslintrc.js +31 -31
  5. package/.postcssrc.js +10 -10
  6. package/README.md +30 -30
  7. package/build/build.js +41 -41
  8. package/build/check-versions.js +54 -54
  9. package/build/package.config.js +58 -58
  10. package/build/package.dev.config.js +107 -107
  11. package/build/package.prod.config.js +160 -160
  12. package/build/utils.js +101 -101
  13. package/build/vue-loader.conf.js +22 -22
  14. package/build/webpack.base.conf.js +120 -120
  15. package/build/webpack.dev.conf.js +95 -95
  16. package/build/webpack.prod.conf.js +149 -149
  17. package/config/prod.env.js +5 -5
  18. package/config/test.env.js +7 -7
  19. package/index.html +12 -12
  20. package/package/kisscomps/components/Channelization/Channelization.vue +585 -585
  21. package/package/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  22. package/package/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  23. package/package/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  24. package/package/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +2 -2
  25. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  26. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  27. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  28. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  29. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  30. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  31. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  32. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  33. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  34. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  35. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  36. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  37. package/package/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  38. package/package/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  39. package/package/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  40. package/package/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  41. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  42. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  43. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  44. package/package/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  45. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  46. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  47. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  48. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  49. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  50. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  51. package/package/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  52. package/package/kisscomps/components/DrawChannelization/drawsvg/index.vue +144 -144
  53. package/package/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  54. package/package/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  55. package/package/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  56. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  57. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  58. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  59. package/package/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  60. package/package/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  61. package/package/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  62. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +629 -629
  63. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  64. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  65. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  66. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  67. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  68. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  69. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  70. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  71. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +498 -498
  72. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +484 -484
  73. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +488 -488
  74. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +566 -566
  75. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  76. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  77. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  78. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  79. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  80. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  81. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  82. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  83. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  84. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  85. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  86. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  87. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  88. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  89. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +16 -0
  90. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  91. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  92. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +16 -0
  93. package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +534 -534
  94. package/package/kisscomps/components/KanBan/kanban.vue +231 -231
  95. package/package/kisscomps/components/MessageBox/index.vue +96 -96
  96. package/package/kisscomps/components/OverviewComponent/index.vue +7 -33
  97. package/package/kisscomps/components/PatternOptimize/PatternOptimize.vue +329 -329
  98. package/package/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  99. package/package/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  100. package/package/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  101. package/package/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  102. package/package/kisscomps/components/PhaseMarker/index.js +6 -6
  103. package/package/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  104. package/package/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  105. package/package/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  106. package/package/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  107. package/package/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  108. package/package/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  109. package/package/kisscomps/components/PhasePedSelect/index.vue +206 -206
  110. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +7 -30
  111. package/package/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +365 -365
  112. package/package/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  113. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  114. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  115. package/package/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  116. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  117. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  118. package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  119. package/package/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  120. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +308 -308
  121. package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +0 -19
  122. package/package/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  123. package/package/kisscomps/components/SelectCrossPhase/index.vue +1 -1
  124. package/package/kisscomps/components/StageOptimize/StageOptimize.vue +367 -367
  125. package/package/kisscomps/components/StageOptimize/index.js +2 -2
  126. package/package/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  127. package/package/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  128. package/package/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  129. package/package/kisscomps/components/XiaoKanban/index.vue +122 -122
  130. package/package/kisscomps/components/overView/index.vue +7 -30
  131. package/package/kisscomps/components/patternConfig/index.vue +4 -12
  132. package/package/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  133. package/package/kisscomps/components/patternConfig/planContent.vue +604 -604
  134. package/package/kisscomps/components/patternConfig/planMenu.vue +329 -329
  135. package/package/kisscomps/components/patternConfig/utils.js +84 -152
  136. package/package/kisscomps/index.js +6 -2
  137. package/package/kissui.js +216608 -0
  138. package/package/kissui.min.js +1 -1
  139. package/package.json +1 -1
  140. package/pnpm-lock.yaml +16362 -0
  141. package/src/App.vue +20 -24
  142. package/src/EdgeMgr/EdgeModelBase.js +16 -16
  143. package/src/EdgeMgr/controller/crossDiagramMgr.js +125 -125
  144. package/src/api/authapi.js +31 -31
  145. package/src/api/config.js +21 -21
  146. package/src/api/control.js +110 -110
  147. package/src/api/device.js +135 -135
  148. package/src/api/fault.js +66 -66
  149. package/src/api/index.js +24 -24
  150. package/src/api/login.js +46 -46
  151. package/src/api/optimize.js +72 -72
  152. package/src/api/passwdAssest.js +101 -101
  153. package/src/api/permission.js +33 -33
  154. package/src/api/route.js +171 -171
  155. package/src/assets/font/LICENSE.txt +202 -202
  156. package/src/assets/font/font.css +6 -6
  157. package/src/i18n/index.js +26 -26
  158. package/src/i18n/language/en.js +113 -27
  159. package/src/i18n/language/index.js +31 -25
  160. package/src/i18n/language/ru.js +1563 -0
  161. package/src/i18n/language/zh.js +113 -27
  162. package/src/icons/index.js +20 -20
  163. package/src/icons/svg/azimuthlocking.svg +26 -26
  164. package/src/icons/svg/bendi.svg +110 -110
  165. package/src/icons/svg/bujin.svg +36 -36
  166. package/src/icons/svg/connectBlue.svg +7 -7
  167. package/src/icons/svg/currentvolume.svg +0 -0
  168. package/src/icons/svg/custom-BRTlane.svg +40 -40
  169. package/src/icons/svg/custom-buslane.svg +40 -40
  170. package/src/icons/svg/custom-detector.svg +12 -12
  171. package/src/icons/svg/custom-east-bottom.svg +32 -32
  172. package/src/icons/svg/custom-east-top.svg +32 -32
  173. package/src/icons/svg/custom-ewped.svg +35 -35
  174. package/src/icons/svg/custom-nonmotorizedlane.svg +40 -40
  175. package/src/icons/svg/custom-north-left.svg +32 -32
  176. package/src/icons/svg/custom-north-right.svg +32 -32
  177. package/src/icons/svg/custom-peddetector.svg +17 -17
  178. package/src/icons/svg/custom-snped.svg +35 -35
  179. package/src/icons/svg/custom-south-left.svg +32 -32
  180. package/src/icons/svg/custom-south-right.svg +32 -32
  181. package/src/icons/svg/custom-tramlane.svg +40 -40
  182. package/src/icons/svg/custom-vehiclebranch.svg +40 -40
  183. package/src/icons/svg/custom-vehiclemainroad.svg +41 -41
  184. package/src/icons/svg/custom-west-bottom.svg +32 -32
  185. package/src/icons/svg/custom-west-top.svg +32 -32
  186. package/src/icons/svg/custom-xlped.svg +14 -14
  187. package/src/icons/svg/custom-xrped.svg +14 -14
  188. package/src/icons/svg/cutRed.svg +7 -7
  189. package/src/icons/svg/cycle.svg +0 -0
  190. package/src/icons/svg/dingzhouqi.svg +34 -34
  191. package/src/icons/svg/ganyingkongzhi.svg +30 -30
  192. package/src/icons/svg/guandeng.svg +81 -81
  193. package/src/icons/svg/huangshan.svg +71 -71
  194. package/src/icons/svg/maincontrol.svg +0 -0
  195. package/src/icons/svg/manualcontrolbackground.svg +51 -51
  196. package/src/icons/svg/manualcontrolbackground1.svg +62 -62
  197. package/src/icons/svg/manualcontrolbackgrounden.svg +62 -62
  198. package/src/icons/svg/model.svg +0 -0
  199. package/src/icons/svg/phasediff.svg +0 -0
  200. package/src/icons/svg/prioritycontrol.svg +21 -21
  201. package/src/icons/svg/quanhong.svg +86 -86
  202. package/src/icons/svg/shanghe.svg +11 -11
  203. package/src/icons/svg/shoudong.svg +103 -103
  204. package/src/icons/svg/tentativeplan.svg +28 -28
  205. package/src/icons/svg/time.svg +0 -0
  206. package/src/icons/svg/wuxianlan.svg +46 -46
  207. package/src/icons/svg/xiala.svg +11 -11
  208. package/src/icons/svg/xingrenguojie.svg +33 -33
  209. package/src/icons/svg/xitong.svg +89 -89
  210. package/src/icons/svg/youxian.svg +41 -41
  211. package/src/icons/svg/zizhukongzhi.svg +43 -43
  212. package/src/kisscomps/components/Channelization/Channelization.vue +585 -585
  213. package/src/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  214. package/src/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  215. package/src/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  216. package/src/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +2 -2
  217. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  218. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  219. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  220. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  221. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  222. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  223. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  224. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  225. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  226. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  227. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  228. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  229. package/src/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  230. package/src/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  231. package/src/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  232. package/src/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  233. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  234. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  235. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  236. package/src/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  237. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  238. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  239. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  240. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  241. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  242. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  243. package/src/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  244. package/src/kisscomps/components/DrawChannelization/drawsvg/index.vue +144 -144
  245. package/src/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  246. package/src/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  247. package/src/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  248. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  249. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  250. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  251. package/src/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  252. package/src/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  253. package/src/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  254. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +629 -629
  255. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  256. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  257. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  258. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  259. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  260. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  261. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  262. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  263. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +498 -498
  264. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +484 -484
  265. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +488 -488
  266. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +566 -566
  267. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  268. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  269. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  270. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  271. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  272. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  273. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  274. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  275. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  276. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  277. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  278. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  279. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  280. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  281. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +16 -0
  282. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  283. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  284. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +16 -0
  285. package/src/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +534 -534
  286. package/src/kisscomps/components/KanBan/kanban.vue +231 -231
  287. package/src/kisscomps/components/MessageBox/index.vue +96 -96
  288. package/src/kisscomps/components/OverviewComponent/index.vue +7 -33
  289. package/src/kisscomps/components/PatternOptimize/PatternOptimize.vue +329 -329
  290. package/src/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  291. package/src/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  292. package/src/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  293. package/src/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  294. package/src/kisscomps/components/PhaseMarker/index.js +6 -6
  295. package/src/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  296. package/src/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  297. package/src/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  298. package/src/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  299. package/src/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  300. package/src/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  301. package/src/kisscomps/components/PhasePedSelect/index.vue +206 -206
  302. package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +7 -30
  303. package/src/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +365 -365
  304. package/src/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  305. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  306. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  307. package/src/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  308. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  309. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  310. package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  311. package/src/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  312. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +308 -308
  313. package/src/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +0 -19
  314. package/src/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  315. package/src/kisscomps/components/SelectCrossPhase/index.vue +1 -1
  316. package/src/kisscomps/components/StageOptimize/StageOptimize.vue +367 -367
  317. package/src/kisscomps/components/StageOptimize/index.js +2 -2
  318. package/src/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  319. package/src/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  320. package/src/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  321. package/src/kisscomps/components/XiaoKanban/index.vue +122 -122
  322. package/src/kisscomps/components/overView/index.vue +7 -30
  323. package/src/kisscomps/components/patternConfig/index.vue +4 -12
  324. package/src/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  325. package/src/kisscomps/components/patternConfig/planContent.vue +604 -604
  326. package/src/kisscomps/components/patternConfig/planMenu.vue +329 -329
  327. package/src/kisscomps/components/patternConfig/utils.js +84 -152
  328. package/src/kisscomps/index.js +6 -2
  329. package/src/lib/publicjs/ArryListUtil.js +38 -38
  330. package/src/lib/publicjs/HttpurlMgr.js +45 -45
  331. package/src/lib/publicjs/KissApi.js +158 -158
  332. package/src/lib/publicjs/KissWSSub/Heartcheck.js +128 -128
  333. package/src/lib/publicjs/KissWSSub/KissWsSub.js +91 -91
  334. package/src/lib/publicjs/KissWSSub/KissWsSubByType.js +152 -152
  335. package/src/lib/publicjs/KissWSSub/SimuWsSubByType.js +44 -44
  336. package/src/lib/publicjs/KissWSSub/Sub.js +51 -51
  337. package/src/lib/publicjs/KissWSSub/SubChannel.js +119 -119
  338. package/src/lib/publicjs/basecomponents.js +65 -65
  339. package/src/lib/publicjs/localStorage.js +112 -112
  340. package/src/lib/publicjs/objdeepcopy.js +32 -32
  341. package/src/lib/publicjs/pageScroll.js +30 -30
  342. package/src/lib/publicjs/passwdAssest.js +101 -101
  343. package/src/lib/publicjs/styleclassfactory.js +32 -32
  344. package/src/store/index.js +26 -26
  345. package/src/store/modules/globalParam.js +67 -67
  346. package/src/utils/ControlFormat.js +14 -36
  347. package/src/utils/RingDataModel.js +335 -335
  348. package/src/utils/auth.js +199 -199
  349. package/src/utils/conflictList.js +87 -87
  350. package/src/utils/dateFormat.js +41 -41
  351. package/src/utils/fault.js +20 -72
  352. package/src/utils/faultcode.js +130 -182
  353. package/src/utils/index.js +69 -69
  354. package/src/utils/pedphasedesc.js +80 -105
  355. package/src/utils/phaseList.js +203 -203
  356. package/src/utils/phasedesc.js +133 -115
  357. package/src/utils/responseMessage.js +24 -21
  358. package/src/utils/validate.js +43 -43
  359. package/src/views/home.1.vue +479 -479
  360. package/src/views/home.vue +93 -93
  361. package/src/views/intersection2.vue +328 -328
  362. package/src/views/overView.vue +63 -63
  363. package/src/views/patternConfig.vue +2 -2
  364. package/src/views/schemeconfig.vue +1 -1
  365. package/static/styles/channelizatioon.scss +433 -433
  366. package/static/styles/common.scss +30 -30
  367. package/static/styles/commonkanban.scss +168 -168
  368. package/static/styles/dark/index.scss +2 -2
  369. package/static/styles/dark/theme/element-dark.scss +44 -44
  370. package/static/styles/index.scss +84 -84
  371. package/static/styles/intersection.scss +180 -180
  372. package/static/styles/light/index.scss +2 -2
  373. package/static/styles/light/theme/element-light.scss +44 -44
  374. package/static/styles/patternConfig.scss +56 -56
  375. package/static/styles/phasePedSelect.scss +71 -71
  376. package/static/styles/stages.scss +57 -57
  377. package/static/styles/xiaokanban.scss +61 -61
  378. package/static/token.json +2 -2
  379. package/test/e2e/custom-assertions/elementCount.js +27 -27
  380. package/test/e2e/nightwatch.conf.js +46 -46
  381. package/test/e2e/runner.js +48 -48
  382. package/test/e2e/specs/test.js +19 -19
  383. package/test/unit/.eslintrc +7 -7
  384. package/test/unit/jest.conf.js +30 -30
  385. package/test/unit/setup.js +3 -3
  386. package/test/unit/specs/HelloWorld.spec.js +11 -11
  387. package/package/kisscomps/components/OptimizeKanban/index.js +0 -2
  388. package/package/kisscomps/components/OptimizeKanban/index.vue +0 -369
  389. package/package/kisscomps/components/StageOptimize/index.vue +0 -310
  390. package/src/node_modules/.package_versions.json +0 -1
@@ -1,368 +1,368 @@
1
- /**
2
- * Copyright (c) 2020 kedacom
3
- * OpenATC is licensed under Mulan PSL v2.
4
- * You can use this software according to the terms and conditions of the Mulan PSL v2.
5
- * You may obtain a copy of Mulan PSL v2 at:
6
- * http://license.coscl.org.cn/MulanPSL2
7
- * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
8
- * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
9
- * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
10
- * See the Mulan PSL v2 for more details.
11
- **/
12
- <template>
13
- <div v-if="reset" class="motorway-icon">
14
- <!-- <div class="phaseText" :style="{'left': Data.x - Data.w / 2 - 10 + 'px', 'top': Data.y - Data.h / 2 - 10 + 'px', 'transform': 'rotate('+ Data.angle+'deg)' }">{{Data.phaselabel}}</div> -->
15
- <drr
16
- :style="{'z-index': chooseIndex === Data.index ? 9 : 0}"
17
- :id="'motor-'+ Data.index"
18
- :x="item.x"
19
- :y="item.y"
20
- :w="item.w"
21
- :h="item.h"
22
- :selected="chooseIndex === Data.index"
23
- :selectable="isSeletable"
24
- :angle="item.angle"
25
- :aspectRatio="true"
26
- @select="handleSelectIcon(item)"
27
- @dragstop="boxDragStop(item, ...arguments)"
28
- @resizestop="boxResizeStop(item, ...arguments)"
29
- @rotatestop="boxRotateStop(item, ...arguments)"
30
- >
31
- <div
32
- class="phaseText"
33
- style="top: -28px;"
34
- :style="{'marginLeft': Data.w / 2 + 'px', 'transform': `translateX(-50%) rotate(${-item.angle}deg)` }"
35
- >{{Data.phaselabel}}</div>
36
-
37
- <svg
38
- xmlns="http://www.w3.org/2000/svg"
39
- viewBox="0 0 27.07 89.36"
40
- xml:space="preserve"
41
- :width="IconW"
42
- :height="IconH"
43
- >
44
- <!-- 渠化图手动绘制图标 -->
45
- <g v-if="UsageMode === 'draw'">
46
- <g v-for="(name, index) in iconnameArr" :key="index">
47
- <path
48
- id="直行"
49
- :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
50
- :class="name === '直行' ? '' : 'invisible'"
51
- d="M15,36H12.35V7.7H9.09L13.65,0l4.43,7.7H15V36H12.35" />
52
- <path
53
- id="左转"
54
- :class="name === '左转' ? '' : 'invisible'"
55
- :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
56
- d="M12.55,17.69V36h2.54V17.56a5,5,0,0,0-4.83-5L7.85,12.2,8.23,9,.09,12.45,7,18l.38-3.2,2.8.39a2.61,2.61,0,0,1,2.41,2.55Zm0,0V36h2.54V17.56M12.55,36h2.54m-2.54-4.28V36h2.54V31.72"
57
- />
58
- <path
59
- id="右转"
60
- :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
61
- :class="name === '右转' ? '' : 'invisible'"
62
- d="M14.61,17.69V36H12.07V17.56a5,5,0,0,1,4.83-5l2.41-.38L18.93,9l8.14,3.44L20.2,18l-.38-3.2-2.8.39a2.61,2.61,0,0,0-2.41,2.55Zm0-.13V36H12.07V17.44M14.61,36H12.07m2.54,0H12.07V31.72"
63
- />
64
- <path
65
- id="掉头"
66
- :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
67
- :class="name === '掉头' ? '' : 'invisible'"
68
- d="M12.08,36h2.54m-2.54,0h2.54m-2.54,0h2.54M3.18,24.69V28.4H0l4.45,7.68L8.9,28.4H5.72V24.69c0-1.28,1.4-2.43,3.18-2.43s3.18,1.15,3.18,2.43V36h2.54V24.69c0-2.69-2.54-5-5.72-5S3.18,22,3.18,24.69Z"
69
- />
70
- <!-- 特殊车道类型 -->
71
- <path
72
- id="sideroad"
73
- v-if="Data.controltype === 1"
74
- :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
75
- d="M21,70.57l-6,0c3-2.65,5.45-7.64,4.46-10.93-1.15-3.29-4.61-6.34-11.68-7.56C11.58,52.24,28.28,53.72,21,70.57ZM8,52.34c5.73,1.48,9.54,4.41,9.39,8.39-.22,3.66-4.22,8.3-6.29,9.91-5.85,0-6.87,0-6.87,0S23,57.56,8,52.34Z"
76
- />
77
- <path
78
- id="bus-back"
79
- v-if="Data.controltype === 3 && Data.flip === true"
80
- :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
81
- d="M8.08,82.61V80.67A3,3,0,0,0,11,77.55a3.08,3.08,0,0,0-2.87-3.11V58.22A3,3,0,0,0,11,55.1,3.08,3.08,0,0,0,8.08,52V46.15a.74.74,0,0,1,.75-.78h4.24l.5,1h3.74a2.28,2.28,0,0,1,2.25,2.33V84.69a4.18,4.18,0,0,1-4,4.67H9.7C9.33,87.94,8.58,84.43,8.08,82.61Zm9.86-32v-1.3a.73.73,0,0,0-.75-.77H10.08a.73.73,0,0,0-.75.77v1.17a.73.73,0,0,0,.75.78l7.11.13A.74.74,0,0,0,17.94,50.56Zm-.5,9.86a.67.67,0,0,0,.62-.64V53.42a.68.68,0,0,0-.62-.65H14.82a.69.69,0,0,0-.63.65v6.36a.68.68,0,0,0,.63.64Zm0,8.7a.68.68,0,0,0,.62-.65V62.11a.68.68,0,0,0-.62-.65H14.82a.69.69,0,0,0-.63.65v6.36a.69.69,0,0,0,.63.65Zm0,8.82a.68.68,0,0,0,.62-.65V70.81a.68.68,0,0,0-.62-.65H14.82a.69.69,0,0,0-.63.65v6.48a.69.69,0,0,0,.63.65Zm0,8.83a.68.68,0,0,0,.62-.65V79.76a.68.68,0,0,0-.62-.65H14.82a.69.69,0,0,0-.63.65v6.36a.69.69,0,0,0,.63.65ZM10.08,55.23a2.47,2.47,0,0,1-2.25,2.34,2.34,2.34,0,1,1,2.25-2.34Zm-3.87,0a1.76,1.76,0,0,0,1.62,1.69,1.68,1.68,0,0,0,1.62-1.69,1.53,1.53,0,0,0-1.62-1.68A1.68,1.68,0,0,0,6.21,55.23Zm3.87,22.45a2.25,2.25,0,1,1-2.25-2.33A2.29,2.29,0,0,1,10.08,77.68Zm-3.87,0a1.78,1.78,0,0,0,1.62,1.69,1.69,1.69,0,0,0,0-3.37A1.68,1.68,0,0,0,6.21,77.68Z"
82
- />
83
- <path
84
- id="bus-front"
85
- v-if="Data.controltype === 3 && Data.flip === false"
86
- :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
87
- d="M19.43,82.59v-2a3,3,0,0,1-2.87-3.11,3.09,3.09,0,0,1,2.87-3.12V58.19a3,3,0,0,1-2.87-3.11A3.09,3.09,0,0,1,19.43,52V46.12a.73.73,0,0,0-.75-.77H14.44l-.5,1H10.2A2.28,2.28,0,0,0,8,48.72v36a4.18,4.18,0,0,0,4,4.67h5.86C18.19,87.91,18.93,84.41,19.43,82.59ZM9.58,50.54v-1.3a.73.73,0,0,1,.75-.78h7.11a.74.74,0,0,1,.75.78v1.17a.74.74,0,0,1-.75.78l-7.11.12A.73.73,0,0,1,9.58,50.54Zm.5,9.86a.69.69,0,0,1-.63-.65V53.39a.69.69,0,0,1,.63-.65H12.7a.68.68,0,0,1,.62.65v6.36a.68.68,0,0,1-.62.65Zm0,8.69a.68.68,0,0,1-.63-.65V62.09a.69.69,0,0,1,.63-.65H12.7a.68.68,0,0,1,.62.65v6.35a.67.67,0,0,1-.62.65Zm0,8.83a.69.69,0,0,1-.63-.65V70.78a.69.69,0,0,1,.63-.65H12.7a.68.68,0,0,1,.62.65v6.49a.68.68,0,0,1-.62.65Zm0,8.82a.68.68,0,0,1-.63-.64V79.74a.69.69,0,0,1,.63-.65H12.7a.68.68,0,0,1,.62.65V86.1a.68.68,0,0,1-.62.64Zm7.36-31.53a2.46,2.46,0,0,0,2.24,2.33,2.34,2.34,0,1,0-2.24-2.33Zm3.86,0a1.76,1.76,0,0,1-1.62,1.69,1.68,1.68,0,0,1-1.62-1.69,1.54,1.54,0,0,1,1.62-1.69A1.68,1.68,0,0,1,21.3,55.21ZM17.44,77.66a2.25,2.25,0,1,0,2.24-2.34A2.28,2.28,0,0,0,17.44,77.66Zm3.86,0a1.78,1.78,0,0,1-1.62,1.69,1.69,1.69,0,1,1,1.62-1.69Z"
88
- />
89
- <path
90
- id="brt-front"
91
- v-if="Data.controltype === 4 && Data.flip === false"
92
- :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
93
- d="M8.94,49.63H19.73v2.12H8.94v3.13H6.74V46.51h2.2Zm8.25,8,2.54-1.28v2.54L16.9,60.43A18.2,18.2,0,0,0,15,61.56a1.78,1.78,0,0,0-.53.63,2.83,2.83,0,0,0-.14,1.07v.43h5.42v2.13h-13V61.34a6.2,6.2,0,0,1,.35-2.45,2.65,2.65,0,0,1,1.22-1.21,4.16,4.16,0,0,1,2.06-.48,3.85,3.85,0,0,1,2.46.73A3.19,3.19,0,0,1,14,60a5.56,5.56,0,0,1,1.08-1.13A15.89,15.89,0,0,1,17.19,57.63Zm-5.6,2a2,2,0,0,0-1-.25,1.85,1.85,0,0,0-1,.25A1.2,1.2,0,0,0,9,60.3,8,8,0,0,0,8.94,62v1.66h3.29V62.12a8.28,8.28,0,0,0-.12-1.84A1.2,1.2,0,0,0,11.59,59.64ZM14,69.23a3.49,3.49,0,0,1,2-.53,4.11,4.11,0,0,1,2.4.67A2.8,2.8,0,0,1,19.57,71a16.84,16.84,0,0,1,.16,3v3.58h-13V73.3a6.54,6.54,0,0,1,.32-2.43,2.66,2.66,0,0,1,1.13-1.18A3.46,3.46,0,0,1,10,69.21a3.45,3.45,0,0,1,1.7.41,2.76,2.76,0,0,1,1.12,1.07A2.78,2.78,0,0,1,14,69.23Zm-4.54,2.3a1.06,1.06,0,0,0-.45.61,12.39,12.39,0,0,0-.09,2V75.4h3V74a14.58,14.58,0,0,0-.05-1.56,1.32,1.32,0,0,0-.46-.85,1.56,1.56,0,0,0-1-.31A1.65,1.65,0,0,0,9.44,71.53Zm5.35-.37a1.29,1.29,0,0,0-.57.71,6.86,6.86,0,0,0-.15,1.81V75.4h3.46v-2a6.1,6.1,0,0,0-.14-1.67,1.23,1.23,0,0,0-.54-.62,1.84,1.84,0,0,0-1-.25A1.85,1.85,0,0,0,14.79,71.16Z"
94
- />
95
- <path
96
- id="brt-back"
97
- v-if="Data.controltype === 4 && Data.flip === true"
98
- :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
99
- d="M17.88,77.55H7.09V75.43H17.88V72.3h2.19v8.37H17.88Zm-8.26-8L7.09,70.83V68.29l2.83-1.54a16.63,16.63,0,0,0,1.91-1.13,1.53,1.53,0,0,0,.53-.63,2.79,2.79,0,0,0,.15-1.07v-.43H7.09V61.36h13v4.48a6.11,6.11,0,0,1-.35,2.46,2.65,2.65,0,0,1-1.21,1.2,4.17,4.17,0,0,1-2.07.48A3.9,3.9,0,0,1,14,69.26a3.24,3.24,0,0,1-1.17-2.06,5.11,5.11,0,0,1-1.09,1.13A14.26,14.26,0,0,1,9.62,69.55Zm5.61-2a1.86,1.86,0,0,0,1,.25,1.73,1.73,0,0,0,1-.25,1.21,1.21,0,0,0,.52-.66,8.72,8.72,0,0,0,.1-1.73V63.49h-3.3v1.57a8.05,8.05,0,0,0,.13,1.84A1.16,1.16,0,0,0,15.23,67.54ZM12.84,58a3.54,3.54,0,0,1-2,.53,4.1,4.1,0,0,1-2.39-.67,2.76,2.76,0,0,1-1.21-1.6,15.86,15.86,0,0,1-.16-3V49.66h13v4.22a6.59,6.59,0,0,1-.31,2.43,2.71,2.71,0,0,1-1.13,1.18,3.71,3.71,0,0,1-3.52.07A2.64,2.64,0,0,1,14,56.49,2.88,2.88,0,0,1,12.84,58Zm4.54-2.3a1,1,0,0,0,.44-.61,12.39,12.39,0,0,0,.09-2V51.78h-3v1.4c0,.84,0,1.36,0,1.56a1.33,1.33,0,0,0,.47.85,1.53,1.53,0,0,0,1,.31A1.66,1.66,0,0,0,17.38,55.65ZM12,56a1.37,1.37,0,0,0,.56-.72,6.32,6.32,0,0,0,.16-1.81V51.78H9.29v2a6.21,6.21,0,0,0,.13,1.66A1.19,1.19,0,0,0,10,56a1.88,1.88,0,0,0,1,.25A1.94,1.94,0,0,0,12,56Z"
100
- />
101
- <path
102
- id="rail-back"
103
- v-if="Data.controltype === 5 && Data.flip === true"
104
- :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
105
- d="M4.74,88V44.25a.81.81,0,0,1,.63-.64.69.69,0,0,1,.65.64V88a.69.69,0,0,1-.65.64A.68.68,0,0,1,4.74,88Zm2.81-1.8V47.85c-.38-1.41,2.05-2.44,3.33-2.44a8,8,0,0,1,7.92,8v4.11l.64-1c0-.13.13-.13.39-.13s.13.13.38.13l1.54,4a.78.78,0,0,1-.13.52.74.74,0,0,1-.51-.13l-1.28-3.35-.77,1.29V86.17a.74.74,0,0,1-.77.77h-10A.74.74,0,0,1,7.55,86.17ZM15,53a1.1,1.1,0,0,0,1-1,2.9,2.9,0,0,0-2.94-3H9.47a.9.9,0,0,0-1,.9V52a1.1,1.1,0,0,0,1,1Zm.38,5a.69.69,0,0,0,.64-.64V55.18a.68.68,0,0,0-.64-.64H12.54v.13a.68.68,0,0,0-.64.64v2.06a.69.69,0,0,0,.64.64Zm0,3.86a.69.69,0,0,0,.64-.65v-2a.69.69,0,0,0-.64-.65H12.54a.69.69,0,0,0-.64.65v2a.69.69,0,0,0,.64.65Zm0,4a.68.68,0,0,0,.64-.64V63.15a.69.69,0,0,0-.64-.64H12.54a.68.68,0,0,0-.64.64v2.06a.69.69,0,0,0,.64.64Zm0,4.24a.68.68,0,0,0,.64-.64V67.39a.69.69,0,0,0-.64-.64H12.54a.69.69,0,0,0-.64.64v2.06a.68.68,0,0,0,.64.64Zm0,4a.69.69,0,0,0,.64-.64V71.38a.68.68,0,0,0-.64-.64H12.54a.68.68,0,0,0-.64.64v2.06a.69.69,0,0,0,.64.64Zm0,3.73a.69.69,0,0,0,.64-.64V75.24a.69.69,0,0,0-.64-.65H12.54a.52.52,0,0,0-.64.52v2.06a.69.69,0,0,0,.64.64Zm0,4.37a.69.69,0,0,0,.64-.64V79.48a.68.68,0,0,0-.64-.64H12.54a.68.68,0,0,0-.64.64v2.06a.69.69,0,0,0,.64.64Zm0,3.86a.69.69,0,0,0,.64-.65v-2a.69.69,0,0,0-.64-.65H12.54a.69.69,0,0,0-.64.65v2a.69.69,0,0,0,.64.65Z"
106
- />
107
- <path
108
- id="rail-front"
109
- v-if="Data.controltype === 5 && Data.flip === false"
110
- :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
111
- d="M22,88V44.3a.84.84,0,0,0-.64-.64.69.69,0,0,0-.64.64V88a.69.69,0,0,0,.64.64A.69.69,0,0,0,22,88Zm-2.82-1.8V47.9c.39-1.41-2-2.44-3.32-2.44a8,8,0,0,0-7.93,8v4.12l-.64-1c0-.13-.13-.13-.38-.13s-.13.13-.39.13L5,60.5A.78.78,0,0,0,5.1,61a.77.77,0,0,0,.51-.13l1.28-3.34.76,1.28V86.22a.74.74,0,0,0,.77.77h10A.74.74,0,0,0,19.16,86.22ZM11.75,53.05a1.11,1.11,0,0,1-1-1,2.91,2.91,0,0,1,2.94-3h3.59a.91.91,0,0,1,1,.9V52a1.11,1.11,0,0,1-1,1Zm-.39,5a.69.69,0,0,1-.64-.64V55.23a.69.69,0,0,1,.64-.64h2.82v.13a.69.69,0,0,1,.64.64v2.06a.69.69,0,0,1-.64.64Zm0,3.86a.69.69,0,0,1-.64-.65V59.22a.7.7,0,0,1,.64-.65h2.82a.69.69,0,0,1,.64.65v2.05a.7.7,0,0,1-.64.65Zm0,4a.69.69,0,0,1-.64-.64V63.2a.69.69,0,0,1,.64-.64h2.82a.69.69,0,0,1,.64.64v2.06a.69.69,0,0,1-.64.64Zm0,4.25a.69.69,0,0,1-.64-.65v-2a.7.7,0,0,1,.64-.65h2.82a.69.69,0,0,1,.64.65v2a.7.7,0,0,1-.64.65Zm0,4a.69.69,0,0,1-.64-.64V71.43a.69.69,0,0,1,.64-.64h2.82a.69.69,0,0,1,.64.64v2.06a.69.69,0,0,1-.64.64Zm0,3.73a.69.69,0,0,1-.64-.64V75.29a.69.69,0,0,1,.64-.64h2.82a.51.51,0,0,1,.64.51v2.06a.69.69,0,0,1-.64.64Zm0,4.37a.69.69,0,0,1-.64-.64V79.53a.69.69,0,0,1,.64-.64h2.82a.69.69,0,0,1,.64.64v2.06a.69.69,0,0,1-.64.64Zm0,3.86a.69.69,0,0,1-.64-.64V83.39a.69.69,0,0,1,.64-.64h2.82a.69.69,0,0,1,.64.64v2.06a.69.69,0,0,1-.64.64Z"
112
- />
113
- <path
114
- id="bike-back"
115
- v-if="Data.controltype === 6 && Data.flip === true"
116
- :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
117
- d="M15.38,69.56a4.48,4.48,0,0,0-.17-1.21l2.41-1.14,1.17.46v.68a.7.7,0,0,0,.22.5.74.74,0,0,0,.51.2.71.71,0,0,0,.72-.71v-2.9a.71.71,0,0,0-.21-.5.75.75,0,0,0-.52-.2.72.72,0,0,0-.72.7v.71L18.38,66v-6.9l.76.24c.14.05.34.18.34.29v1.21a.72.72,0,0,0,.73.71.71.71,0,0,0,.72-.71V59.62A1.83,1.83,0,0,0,19.59,58l-4.26-1.32a5.06,5.06,0,0,0,.05-.68,4.57,4.57,0,0,0-4.63-4.5,4.51,4.51,0,1,0,0,9A4.67,4.67,0,0,0,14.89,58l.65.2L10.3,63.33h0l0,0a.49.49,0,0,0-.07.11.25.25,0,0,0,0,.07l.23.08h0l-.25,0a.76.76,0,0,0,0,.15v1.33a4.5,4.5,0,0,0,.6,9,4.57,4.57,0,0,0,4.63-4.5Zm1.55-4.15-4.77-1.9,4.77-4.66ZM11.6,66.58a3.17,3.17,0,0,1,1.68,1.11l-1.69.8Zm3,.49a4.59,4.59,0,0,0-3-1.94V64.8l4.23,1.69Zm-4.46,2.55a.7.7,0,0,0,.34.59.75.75,0,0,0,.71,0L13.87,69a2.86,2.86,0,0,1,.06.58,3.19,3.19,0,0,1-6.37,0,3.11,3.11,0,0,1,2.59-3Zm.72-14.33a.7.7,0,0,0-.55.05.69.69,0,0,0,.11,1.29l3.06.95a3.22,3.22,0,0,1-2.73,1.51A3.1,3.1,0,1,1,13.93,56a2.18,2.18,0,0,1,0,.25Z"
118
- />
119
- <path
120
- id="bike-front"
121
- v-if="Data.controltype === 6 && Data.flip === false"
122
- :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
123
- d="M11.7,69.61a4.23,4.23,0,0,1,.17-1.22L9.44,67.25l-1.17.46v.68a.67.67,0,0,1-.21.5.73.73,0,0,1-1.24-.5V65.47A.71.71,0,0,1,7,65a.77.77,0,0,1,.52-.2.71.71,0,0,1,.72.71v.7L8.68,66V59.1l-.76.23c-.14.05-.35.18-.35.29v1.22a.72.72,0,0,1-.73.71.71.71,0,0,1-.72-.71V59.62A1.83,1.83,0,0,1,7.46,58l4.29-1.33A3.82,3.82,0,0,1,11.7,56a4.65,4.65,0,1,1,4.65,4.53A4.69,4.69,0,0,1,12.19,58l-.66.2,5.27,5.14h0l0,0a.75.75,0,0,1,.07.12s0,0,0,.06l-.23.09h0l.25,0a.61.61,0,0,1,0,.14v1.34a4.54,4.54,0,1,1-5.25,4.49Zm-1.56-4.17,4.79-1.91-4.79-4.68Zm5.35,1.17a3.27,3.27,0,0,0-1.69,1.13l1.7.8Zm-3,.5a4.64,4.64,0,0,1,3-2v-.33l-4.24,1.7ZM17,69.67a.7.7,0,0,1-.34.6.73.73,0,0,1-.7,0L13.21,69a2.86,2.86,0,0,0-.06.58A3.2,3.2,0,1,0,17,66.55Zm-.72-14.39a.77.77,0,0,1,.56,0,.74.74,0,0,1,.36.42.71.71,0,0,1-.48.89l-3.06.94a3.21,3.21,0,0,0,2.74,1.52A3.11,3.11,0,1,0,13.15,56a2.18,2.18,0,0,0,0,.25Z"
124
- />
125
- </g>
126
- </g>
127
- <!-- 展示相位图标 -->
128
- <g v-if="UsageMode === 'show'">
129
- <g v-for="(name, index) in iconnameArr" :key="index">
130
- <path
131
- id="直行"
132
- :class="name === '直行' ? '' : 'invisible'"
133
- :fill="FlashColor ? FlashColor : (Data.color ? Data.color : showDefaultColor)"
134
- d="M15,36H12.35V7.7H9.09L13.65,0l4.43,7.7H15V36H12.35"
135
- ></path>
136
- <path
137
- id="左转"
138
- :class="name === '左转' ? '' : 'invisible'"
139
- :fill="FlashColor ? FlashColor : (Data.color ? Data.color : showDefaultColor)"
140
- d="M12.55,17.69V36h2.54V17.56a5,5,0,0,0-4.83-5L7.85,12.2,8.23,9,.09,12.45,7,18l.38-3.2,2.8.39a2.61,2.61,0,0,1,2.41,2.55Zm0,0V36h2.54V17.56M12.55,36h2.54m-2.54-4.28V36h2.54V31.72"
141
- ></path>
142
- <path
143
- id="右转"
144
- :class="name === '右转' ? '' : 'invisible'"
145
- :fill="FlashColor ? FlashColor : (Data.color ? Data.color : showDefaultColor)"
146
- d="M14.61,17.69V36H12.07V17.56a5,5,0,0,1,4.83-5l2.41-.38L18.93,9l8.14,3.44L20.2,18l-.38-3.2-2.8.39a2.61,2.61,0,0,0-2.41,2.55Zm0-.13V36H12.07V17.44M14.61,36H12.07m2.54,0H12.07V31.72"
147
- ></path>
148
- <path
149
- id="掉头"
150
- :class="name === '掉头' ? '' : 'invisible'"
151
- :fill="FlashColor ? FlashColor : (Data.color ? Data.color : showDefaultColor)"
152
- d="M12.08,36h2.54m-2.54,0h2.54m-2.54,0h2.54M3.18,24.69V28.4H0l4.45,7.68L8.9,28.4H5.72V24.69c0-1.28,1.4-2.43,3.18-2.43s3.18,1.15,3.18,2.43V36h2.54V24.69c0-2.69-2.54-5-5.72-5S3.18,22,3.18,24.69Z"
153
- ></path>
154
- </g>
155
- <g>
156
- <!-- 特殊车道类型 -->
157
- <path
158
- v-if="Data.controltype === 3 && Data.flip === true"
159
- :fill="showDefaultColor"
160
- d="M8.08,82.61V80.67A3,3,0,0,0,11,77.55a3.08,3.08,0,0,0-2.87-3.11V58.22A3,3,0,0,0,11,55.1,3.08,3.08,0,0,0,8.08,52V46.15a.74.74,0,0,1,.75-.78h4.24l.5,1h3.74a2.28,2.28,0,0,1,2.25,2.33V84.69a4.18,4.18,0,0,1-4,4.67H9.7C9.33,87.94,8.58,84.43,8.08,82.61Zm9.86-32v-1.3a.73.73,0,0,0-.75-.77H10.08a.73.73,0,0,0-.75.77v1.17a.73.73,0,0,0,.75.78l7.11.13A.74.74,0,0,0,17.94,50.56Zm-.5,9.86a.67.67,0,0,0,.62-.64V53.42a.68.68,0,0,0-.62-.65H14.82a.69.69,0,0,0-.63.65v6.36a.68.68,0,0,0,.63.64Zm0,8.7a.68.68,0,0,0,.62-.65V62.11a.68.68,0,0,0-.62-.65H14.82a.69.69,0,0,0-.63.65v6.36a.69.69,0,0,0,.63.65Zm0,8.82a.68.68,0,0,0,.62-.65V70.81a.68.68,0,0,0-.62-.65H14.82a.69.69,0,0,0-.63.65v6.48a.69.69,0,0,0,.63.65Zm0,8.83a.68.68,0,0,0,.62-.65V79.76a.68.68,0,0,0-.62-.65H14.82a.69.69,0,0,0-.63.65v6.36a.69.69,0,0,0,.63.65ZM10.08,55.23a2.47,2.47,0,0,1-2.25,2.34,2.34,2.34,0,1,1,2.25-2.34Zm-3.87,0a1.76,1.76,0,0,0,1.62,1.69,1.68,1.68,0,0,0,1.62-1.69,1.53,1.53,0,0,0-1.62-1.68A1.68,1.68,0,0,0,6.21,55.23Zm3.87,22.45a2.25,2.25,0,1,1-2.25-2.33A2.29,2.29,0,0,1,10.08,77.68Zm-3.87,0a1.78,1.78,0,0,0,1.62,1.69,1.69,1.69,0,0,0,0-3.37A1.68,1.68,0,0,0,6.21,77.68Z"
161
- id="bus-back"
162
- ></path>
163
- <path
164
- v-if="Data.controltype === 3 && Data.flip === false"
165
- :fill="showDefaultColor"
166
- d="M19.43,82.59v-2a3,3,0,0,1-2.87-3.11,3.09,3.09,0,0,1,2.87-3.12V58.19a3,3,0,0,1-2.87-3.11A3.09,3.09,0,0,1,19.43,52V46.12a.73.73,0,0,0-.75-.77H14.44l-.5,1H10.2A2.28,2.28,0,0,0,8,48.72v36a4.18,4.18,0,0,0,4,4.67h5.86C18.19,87.91,18.93,84.41,19.43,82.59ZM9.58,50.54v-1.3a.73.73,0,0,1,.75-.78h7.11a.74.74,0,0,1,.75.78v1.17a.74.74,0,0,1-.75.78l-7.11.12A.73.73,0,0,1,9.58,50.54Zm.5,9.86a.69.69,0,0,1-.63-.65V53.39a.69.69,0,0,1,.63-.65H12.7a.68.68,0,0,1,.62.65v6.36a.68.68,0,0,1-.62.65Zm0,8.69a.68.68,0,0,1-.63-.65V62.09a.69.69,0,0,1,.63-.65H12.7a.68.68,0,0,1,.62.65v6.35a.67.67,0,0,1-.62.65Zm0,8.83a.69.69,0,0,1-.63-.65V70.78a.69.69,0,0,1,.63-.65H12.7a.68.68,0,0,1,.62.65v6.49a.68.68,0,0,1-.62.65Zm0,8.82a.68.68,0,0,1-.63-.64V79.74a.69.69,0,0,1,.63-.65H12.7a.68.68,0,0,1,.62.65V86.1a.68.68,0,0,1-.62.64Zm7.36-31.53a2.46,2.46,0,0,0,2.24,2.33,2.34,2.34,0,1,0-2.24-2.33Zm3.86,0a1.76,1.76,0,0,1-1.62,1.69,1.68,1.68,0,0,1-1.62-1.69,1.54,1.54,0,0,1,1.62-1.69A1.68,1.68,0,0,1,21.3,55.21ZM17.44,77.66a2.25,2.25,0,1,0,2.24-2.34A2.28,2.28,0,0,0,17.44,77.66Zm3.86,0a1.78,1.78,0,0,1-1.62,1.69,1.69,1.69,0,1,1,1.62-1.69Z"
167
- id="bus-front"
168
- ></path>
169
- <path
170
- v-if="Data.controltype === 4 && Data.flip === false"
171
- :fill="showDefaultColor"
172
- d="M8.94,49.63H19.73v2.12H8.94v3.13H6.74V46.51h2.2Zm8.25,8,2.54-1.28v2.54L16.9,60.43A18.2,18.2,0,0,0,15,61.56a1.78,1.78,0,0,0-.53.63,2.83,2.83,0,0,0-.14,1.07v.43h5.42v2.13h-13V61.34a6.2,6.2,0,0,1,.35-2.45,2.65,2.65,0,0,1,1.22-1.21,4.16,4.16,0,0,1,2.06-.48,3.85,3.85,0,0,1,2.46.73A3.19,3.19,0,0,1,14,60a5.56,5.56,0,0,1,1.08-1.13A15.89,15.89,0,0,1,17.19,57.63Zm-5.6,2a2,2,0,0,0-1-.25,1.85,1.85,0,0,0-1,.25A1.2,1.2,0,0,0,9,60.3,8,8,0,0,0,8.94,62v1.66h3.29V62.12a8.28,8.28,0,0,0-.12-1.84A1.2,1.2,0,0,0,11.59,59.64ZM14,69.23a3.49,3.49,0,0,1,2-.53,4.11,4.11,0,0,1,2.4.67A2.8,2.8,0,0,1,19.57,71a16.84,16.84,0,0,1,.16,3v3.58h-13V73.3a6.54,6.54,0,0,1,.32-2.43,2.66,2.66,0,0,1,1.13-1.18A3.46,3.46,0,0,1,10,69.21a3.45,3.45,0,0,1,1.7.41,2.76,2.76,0,0,1,1.12,1.07A2.78,2.78,0,0,1,14,69.23Zm-4.54,2.3a1.06,1.06,0,0,0-.45.61,12.39,12.39,0,0,0-.09,2V75.4h3V74a14.58,14.58,0,0,0-.05-1.56,1.32,1.32,0,0,0-.46-.85,1.56,1.56,0,0,0-1-.31A1.65,1.65,0,0,0,9.44,71.53Zm5.35-.37a1.29,1.29,0,0,0-.57.71,6.86,6.86,0,0,0-.15,1.81V75.4h3.46v-2a6.1,6.1,0,0,0-.14-1.67,1.23,1.23,0,0,0-.54-.62,1.84,1.84,0,0,0-1-.25A1.85,1.85,0,0,0,14.79,71.16Z"
173
- id="brt-front"
174
- ></path>
175
- <path
176
- v-if="Data.controltype === 4 && Data.flip === true"
177
- :fill="showDefaultColor"
178
- d="M17.88,77.55H7.09V75.43H17.88V72.3h2.19v8.37H17.88Zm-8.26-8L7.09,70.83V68.29l2.83-1.54a16.63,16.63,0,0,0,1.91-1.13,1.53,1.53,0,0,0,.53-.63,2.79,2.79,0,0,0,.15-1.07v-.43H7.09V61.36h13v4.48a6.11,6.11,0,0,1-.35,2.46,2.65,2.65,0,0,1-1.21,1.2,4.17,4.17,0,0,1-2.07.48A3.9,3.9,0,0,1,14,69.26a3.24,3.24,0,0,1-1.17-2.06,5.11,5.11,0,0,1-1.09,1.13A14.26,14.26,0,0,1,9.62,69.55Zm5.61-2a1.86,1.86,0,0,0,1,.25,1.73,1.73,0,0,0,1-.25,1.21,1.21,0,0,0,.52-.66,8.72,8.72,0,0,0,.1-1.73V63.49h-3.3v1.57a8.05,8.05,0,0,0,.13,1.84A1.16,1.16,0,0,0,15.23,67.54ZM12.84,58a3.54,3.54,0,0,1-2,.53,4.1,4.1,0,0,1-2.39-.67,2.76,2.76,0,0,1-1.21-1.6,15.86,15.86,0,0,1-.16-3V49.66h13v4.22a6.59,6.59,0,0,1-.31,2.43,2.71,2.71,0,0,1-1.13,1.18,3.71,3.71,0,0,1-3.52.07A2.64,2.64,0,0,1,14,56.49,2.88,2.88,0,0,1,12.84,58Zm4.54-2.3a1,1,0,0,0,.44-.61,12.39,12.39,0,0,0,.09-2V51.78h-3v1.4c0,.84,0,1.36,0,1.56a1.33,1.33,0,0,0,.47.85,1.53,1.53,0,0,0,1,.31A1.66,1.66,0,0,0,17.38,55.65ZM12,56a1.37,1.37,0,0,0,.56-.72,6.32,6.32,0,0,0,.16-1.81V51.78H9.29v2a6.21,6.21,0,0,0,.13,1.66A1.19,1.19,0,0,0,10,56a1.88,1.88,0,0,0,1,.25A1.94,1.94,0,0,0,12,56Z"
179
- id="brt-back"
180
- ></path>
181
- <path
182
- v-if="Data.controltype === 5 && Data.flip === true"
183
- :fill="showDefaultColor"
184
- d="M4.74,88V44.25a.81.81,0,0,1,.63-.64.69.69,0,0,1,.65.64V88a.69.69,0,0,1-.65.64A.68.68,0,0,1,4.74,88Zm2.81-1.8V47.85c-.38-1.41,2.05-2.44,3.33-2.44a8,8,0,0,1,7.92,8v4.11l.64-1c0-.13.13-.13.39-.13s.13.13.38.13l1.54,4a.78.78,0,0,1-.13.52.74.74,0,0,1-.51-.13l-1.28-3.35-.77,1.29V86.17a.74.74,0,0,1-.77.77h-10A.74.74,0,0,1,7.55,86.17ZM15,53a1.1,1.1,0,0,0,1-1,2.9,2.9,0,0,0-2.94-3H9.47a.9.9,0,0,0-1,.9V52a1.1,1.1,0,0,0,1,1Zm.38,5a.69.69,0,0,0,.64-.64V55.18a.68.68,0,0,0-.64-.64H12.54v.13a.68.68,0,0,0-.64.64v2.06a.69.69,0,0,0,.64.64Zm0,3.86a.69.69,0,0,0,.64-.65v-2a.69.69,0,0,0-.64-.65H12.54a.69.69,0,0,0-.64.65v2a.69.69,0,0,0,.64.65Zm0,4a.68.68,0,0,0,.64-.64V63.15a.69.69,0,0,0-.64-.64H12.54a.68.68,0,0,0-.64.64v2.06a.69.69,0,0,0,.64.64Zm0,4.24a.68.68,0,0,0,.64-.64V67.39a.69.69,0,0,0-.64-.64H12.54a.69.69,0,0,0-.64.64v2.06a.68.68,0,0,0,.64.64Zm0,4a.69.69,0,0,0,.64-.64V71.38a.68.68,0,0,0-.64-.64H12.54a.68.68,0,0,0-.64.64v2.06a.69.69,0,0,0,.64.64Zm0,3.73a.69.69,0,0,0,.64-.64V75.24a.69.69,0,0,0-.64-.65H12.54a.52.52,0,0,0-.64.52v2.06a.69.69,0,0,0,.64.64Zm0,4.37a.69.69,0,0,0,.64-.64V79.48a.68.68,0,0,0-.64-.64H12.54a.68.68,0,0,0-.64.64v2.06a.69.69,0,0,0,.64.64Zm0,3.86a.69.69,0,0,0,.64-.65v-2a.69.69,0,0,0-.64-.65H12.54a.69.69,0,0,0-.64.65v2a.69.69,0,0,0,.64.65Z"
185
- id="rail-back"
186
- ></path>
187
- <path
188
- v-if="Data.controltype === 5 && Data.flip === false"
189
- :fill="showDefaultColor"
190
- d="M22,88V44.3a.84.84,0,0,0-.64-.64.69.69,0,0,0-.64.64V88a.69.69,0,0,0,.64.64A.69.69,0,0,0,22,88Zm-2.82-1.8V47.9c.39-1.41-2-2.44-3.32-2.44a8,8,0,0,0-7.93,8v4.12l-.64-1c0-.13-.13-.13-.38-.13s-.13.13-.39.13L5,60.5A.78.78,0,0,0,5.1,61a.77.77,0,0,0,.51-.13l1.28-3.34.76,1.28V86.22a.74.74,0,0,0,.77.77h10A.74.74,0,0,0,19.16,86.22ZM11.75,53.05a1.11,1.11,0,0,1-1-1,2.91,2.91,0,0,1,2.94-3h3.59a.91.91,0,0,1,1,.9V52a1.11,1.11,0,0,1-1,1Zm-.39,5a.69.69,0,0,1-.64-.64V55.23a.69.69,0,0,1,.64-.64h2.82v.13a.69.69,0,0,1,.64.64v2.06a.69.69,0,0,1-.64.64Zm0,3.86a.69.69,0,0,1-.64-.65V59.22a.7.7,0,0,1,.64-.65h2.82a.69.69,0,0,1,.64.65v2.05a.7.7,0,0,1-.64.65Zm0,4a.69.69,0,0,1-.64-.64V63.2a.69.69,0,0,1,.64-.64h2.82a.69.69,0,0,1,.64.64v2.06a.69.69,0,0,1-.64.64Zm0,4.25a.69.69,0,0,1-.64-.65v-2a.7.7,0,0,1,.64-.65h2.82a.69.69,0,0,1,.64.65v2a.7.7,0,0,1-.64.65Zm0,4a.69.69,0,0,1-.64-.64V71.43a.69.69,0,0,1,.64-.64h2.82a.69.69,0,0,1,.64.64v2.06a.69.69,0,0,1-.64.64Zm0,3.73a.69.69,0,0,1-.64-.64V75.29a.69.69,0,0,1,.64-.64h2.82a.51.51,0,0,1,.64.51v2.06a.69.69,0,0,1-.64.64Zm0,4.37a.69.69,0,0,1-.64-.64V79.53a.69.69,0,0,1,.64-.64h2.82a.69.69,0,0,1,.64.64v2.06a.69.69,0,0,1-.64.64Zm0,3.86a.69.69,0,0,1-.64-.64V83.39a.69.69,0,0,1,.64-.64h2.82a.69.69,0,0,1,.64.64v2.06a.69.69,0,0,1-.64.64Z"
191
- id="rail-front"
192
- ></path>
193
- <path
194
- v-if="Data.controltype === 6 && Data.flip === true"
195
- :fill="showDefaultColor"
196
- d="M15.38,69.56a4.48,4.48,0,0,0-.17-1.21l2.41-1.14,1.17.46v.68a.7.7,0,0,0,.22.5.74.74,0,0,0,.51.2.71.71,0,0,0,.72-.71v-2.9a.71.71,0,0,0-.21-.5.75.75,0,0,0-.52-.2.72.72,0,0,0-.72.7v.71L18.38,66v-6.9l.76.24c.14.05.34.18.34.29v1.21a.72.72,0,0,0,.73.71.71.71,0,0,0,.72-.71V59.62A1.83,1.83,0,0,0,19.59,58l-4.26-1.32a5.06,5.06,0,0,0,.05-.68,4.57,4.57,0,0,0-4.63-4.5,4.51,4.51,0,1,0,0,9A4.67,4.67,0,0,0,14.89,58l.65.2L10.3,63.33h0l0,0a.49.49,0,0,0-.07.11.25.25,0,0,0,0,.07l.23.08h0l-.25,0a.76.76,0,0,0,0,.15v1.33a4.5,4.5,0,0,0,.6,9,4.57,4.57,0,0,0,4.63-4.5Zm1.55-4.15-4.77-1.9,4.77-4.66ZM11.6,66.58a3.17,3.17,0,0,1,1.68,1.11l-1.69.8Zm3,.49a4.59,4.59,0,0,0-3-1.94V64.8l4.23,1.69Zm-4.46,2.55a.7.7,0,0,0,.34.59.75.75,0,0,0,.71,0L13.87,69a2.86,2.86,0,0,1,.06.58,3.19,3.19,0,0,1-6.37,0,3.11,3.11,0,0,1,2.59-3Zm.72-14.33a.7.7,0,0,0-.55.05.69.69,0,0,0,.11,1.29l3.06.95a3.22,3.22,0,0,1-2.73,1.51A3.1,3.1,0,1,1,13.93,56a2.18,2.18,0,0,1,0,.25Z"
197
- id="bike-back"
198
- ></path>
199
- <path
200
- v-if="Data.controltype === 6 && Data.flip === false"
201
- :fill="showDefaultColor"
202
- d="M11.7,69.61a4.23,4.23,0,0,1,.17-1.22L9.44,67.25l-1.17.46v.68a.67.67,0,0,1-.21.5.73.73,0,0,1-1.24-.5V65.47A.71.71,0,0,1,7,65a.77.77,0,0,1,.52-.2.71.71,0,0,1,.72.71v.7L8.68,66V59.1l-.76.23c-.14.05-.35.18-.35.29v1.22a.72.72,0,0,1-.73.71.71.71,0,0,1-.72-.71V59.62A1.83,1.83,0,0,1,7.46,58l4.29-1.33A3.82,3.82,0,0,1,11.7,56a4.65,4.65,0,1,1,4.65,4.53A4.69,4.69,0,0,1,12.19,58l-.66.2,5.27,5.14h0l0,0a.75.75,0,0,1,.07.12s0,0,0,.06l-.23.09h0l.25,0a.61.61,0,0,1,0,.14v1.34a4.54,4.54,0,1,1-5.25,4.49Zm-1.56-4.17,4.79-1.91-4.79-4.68Zm5.35,1.17a3.27,3.27,0,0,0-1.69,1.13l1.7.8Zm-3,.5a4.64,4.64,0,0,1,3-2v-.33l-4.24,1.7ZM17,69.67a.7.7,0,0,1-.34.6.73.73,0,0,1-.7,0L13.21,69a2.86,2.86,0,0,0-.06.58A3.2,3.2,0,1,0,17,66.55Zm-.72-14.39a.77.77,0,0,1,.56,0,.74.74,0,0,1,.36.42.71.71,0,0,1-.48.89l-3.06.94a3.21,3.21,0,0,0,2.74,1.52A3.11,3.11,0,1,0,13.15,56a2.18,2.18,0,0,0,0,.25Z"
203
- id="bike-front"
204
- ></path>
205
- </g>
206
- </g>
207
- </svg>
208
- </drr>
209
- </div>
210
- </template>
211
- <script>
212
- export default {
213
- name: 'motor-icon-svg',
214
- data () {
215
- return {
216
- defaultColor: '#fff', // 默认状态颜色
217
- highlightColor: '#299BCC', // 选中高亮状态颜色
218
- item: {},
219
- reset: true,
220
- iconnameArr: [],
221
- showDefaultColor: '#fff', // 默认状态颜色
222
- FlashColor: undefined,
223
- GreenColor: '#77fb65',
224
- YellowColor: '#f7b500',
225
- lastType: ''
226
- }
227
- },
228
- watch: {
229
- // item: {
230
- // handler: function (newval, oldval) {
231
- // if (JSON.stringify(oldval) !== '{}') {
232
- // // 更改原数据的位置大小数据
233
- // let data = {
234
- // ...this.Data,
235
- // ...newval
236
- // }
237
- // let fields = Object.keys(newval)
238
- // this.$emit('changeMotorwayItem', data, fields)
239
- // }
240
- // }
241
- // },
242
- Data: {
243
- handler: function (val) {
244
- this.iconnameArr = val.icondirename
245
- if (this.UsageMode === 'draw') {
246
- this.item.x = val.x
247
- this.item.y = val.y
248
- this.item.angle = val.angle
249
- }
250
- if (this.UsageMode === 'show') {
251
- if (this.lastType === '') {
252
- // 绿闪:绿-》灰-》绿 循环效果
253
- if (val.type === 4 || val.type === '黄闪') {
254
- let highlightColor = ''
255
- if (val.type === 4) {
256
- highlightColor = this.GreenColor
257
- }
258
- if (val.type === '黄闪') {
259
- highlightColor = this.YellowColor
260
- }
261
- this.FlashColor = highlightColor
262
- this.GreenIntervalId = setInterval(() => {
263
- this.FlashColor =
264
- !this.FlashColor || this.FlashColor === '#828282'
265
- ? highlightColor
266
- : '#828282'
267
- }, 500)
268
- this.lastType = val.type
269
- }
270
- }
271
- if (
272
- this.GreenIntervalId &&
273
- val.type !== 4 &&
274
- val.type !== '黄闪' &&
275
- val.type !== this.lastType
276
- ) {
277
- clearInterval(this.GreenIntervalId)
278
- this.FlashColor = undefined
279
- this.lastType = ''
280
- }
281
- }
282
- },
283
- deep: true
284
- }
285
- // ,
286
- // chooseIndex: {
287
- // handler: function (val) {
288
- // console.log(this.Data)
289
- // }
290
- // }
291
- },
292
- props: {
293
- Data: {
294
- type: Object
295
- },
296
- isSeletable: {
297
- type: Boolean
298
- },
299
- chooseIndex: {
300
- type: Number
301
- },
302
- UsageMode: {
303
- // 当前图标模式: 绘制draw 展示show
304
- type: String,
305
- default: 'draw'
306
- }
307
- },
308
- methods: {
309
- boxDragStop (origin, final) {
310
- this.item = JSON.parse(JSON.stringify(final))
311
- this.handleChangeData()
312
- },
313
- boxResizeStop (origin, final) {
314
- this.IconW = final.w + 'px'
315
- this.IconH = final.h + 'px'
316
- this.resetSvg()
317
- this.item = JSON.parse(JSON.stringify(final))
318
- this.handleChangeData()
319
- },
320
- boxRotateStop (origin, final) {
321
- this.item = JSON.parse(JSON.stringify(final))
322
- // 第四象限的角度是负值(开源组件接口返回),转化为正值便于理解
323
- if (this.item.angle < 0) {
324
- this.item.angle = this.item.angle + 360
325
- }
326
- this.handleChangeData()
327
- },
328
- resetSvg () {
329
- this.reset = false
330
- this.$nextTick(() => {
331
- this.reset = true
332
- })
333
- },
334
- handleSelectIcon () {
335
- this.$emit('handleSelectIcon', this.Data)
336
- },
337
- handleChangeData () {
338
- let data = {
339
- ...this.Data,
340
- ...this.item
341
- }
342
- let fields = Object.keys(this.item)
343
- this.$emit('changeMotorwayItem', data, fields)
344
- this.handleSelectIcon()
345
- }
346
- },
347
- created () {
348
- this.IconW = this.Data.w
349
- this.IconH = this.Data.h
350
- this.item = {
351
- x: this.Data.x,
352
- y: this.Data.y,
353
- w: this.Data.w,
354
- h: this.Data.h,
355
- angle: this.Data.angle
356
- }
357
- },
358
- mounted () {
359
- // console.log('motor', this.Data)
360
- this.iconnameArr = this.Data.icondirename
361
- }
362
- }
363
- </script>
364
- <style scoped>
365
- .invisible {
366
- visibility: hidden;
367
- }
368
- </style>
1
+ /**
2
+ * Copyright (c) 2020 kedacom
3
+ * OpenATC is licensed under Mulan PSL v2.
4
+ * You can use this software according to the terms and conditions of the Mulan PSL v2.
5
+ * You may obtain a copy of Mulan PSL v2 at:
6
+ * http://license.coscl.org.cn/MulanPSL2
7
+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
8
+ * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
9
+ * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
10
+ * See the Mulan PSL v2 for more details.
11
+ **/
12
+ <template>
13
+ <div v-if="reset" class="motorway-icon">
14
+ <!-- <div class="phaseText" :style="{'left': Data.x - Data.w / 2 - 10 + 'px', 'top': Data.y - Data.h / 2 - 10 + 'px', 'transform': 'rotate('+ Data.angle+'deg)' }">{{Data.phaselabel}}</div> -->
15
+ <drr
16
+ :style="{'z-index': chooseIndex === Data.index ? 9 : 0}"
17
+ :id="'motor-'+ Data.index"
18
+ :x="item.x"
19
+ :y="item.y"
20
+ :w="item.w"
21
+ :h="item.h"
22
+ :selected="chooseIndex === Data.index"
23
+ :selectable="isSeletable"
24
+ :angle="item.angle"
25
+ :aspectRatio="true"
26
+ @select="handleSelectIcon(item)"
27
+ @dragstop="boxDragStop(item, ...arguments)"
28
+ @resizestop="boxResizeStop(item, ...arguments)"
29
+ @rotatestop="boxRotateStop(item, ...arguments)"
30
+ >
31
+ <div
32
+ class="phaseText"
33
+ style="top: -28px;"
34
+ :style="{'marginLeft': Data.w / 2 + 'px', 'transform': `translateX(-50%) rotate(${-item.angle}deg)` }"
35
+ >{{Data.phaselabel}}</div>
36
+
37
+ <svg
38
+ xmlns="http://www.w3.org/2000/svg"
39
+ viewBox="0 0 27.07 89.36"
40
+ xml:space="preserve"
41
+ :width="IconW"
42
+ :height="IconH"
43
+ >
44
+ <!-- 渠化图手动绘制图标 -->
45
+ <g v-if="UsageMode === 'draw'">
46
+ <g v-for="(name, index) in iconnameArr" :key="index">
47
+ <path
48
+ id="直行"
49
+ :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
50
+ :class="name === '直行' ? '' : 'invisible'"
51
+ d="M15,36H12.35V7.7H9.09L13.65,0l4.43,7.7H15V36H12.35" />
52
+ <path
53
+ id="左转"
54
+ :class="name === '左转' ? '' : 'invisible'"
55
+ :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
56
+ d="M12.55,17.69V36h2.54V17.56a5,5,0,0,0-4.83-5L7.85,12.2,8.23,9,.09,12.45,7,18l.38-3.2,2.8.39a2.61,2.61,0,0,1,2.41,2.55Zm0,0V36h2.54V17.56M12.55,36h2.54m-2.54-4.28V36h2.54V31.72"
57
+ />
58
+ <path
59
+ id="右转"
60
+ :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
61
+ :class="name === '右转' ? '' : 'invisible'"
62
+ d="M14.61,17.69V36H12.07V17.56a5,5,0,0,1,4.83-5l2.41-.38L18.93,9l8.14,3.44L20.2,18l-.38-3.2-2.8.39a2.61,2.61,0,0,0-2.41,2.55Zm0-.13V36H12.07V17.44M14.61,36H12.07m2.54,0H12.07V31.72"
63
+ />
64
+ <path
65
+ id="掉头"
66
+ :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
67
+ :class="name === '掉头' ? '' : 'invisible'"
68
+ d="M12.08,36h2.54m-2.54,0h2.54m-2.54,0h2.54M3.18,24.69V28.4H0l4.45,7.68L8.9,28.4H5.72V24.69c0-1.28,1.4-2.43,3.18-2.43s3.18,1.15,3.18,2.43V36h2.54V24.69c0-2.69-2.54-5-5.72-5S3.18,22,3.18,24.69Z"
69
+ />
70
+ <!-- 特殊车道类型 -->
71
+ <path
72
+ id="sideroad"
73
+ v-if="Data.controltype === 1"
74
+ :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
75
+ d="M21,70.57l-6,0c3-2.65,5.45-7.64,4.46-10.93-1.15-3.29-4.61-6.34-11.68-7.56C11.58,52.24,28.28,53.72,21,70.57ZM8,52.34c5.73,1.48,9.54,4.41,9.39,8.39-.22,3.66-4.22,8.3-6.29,9.91-5.85,0-6.87,0-6.87,0S23,57.56,8,52.34Z"
76
+ />
77
+ <path
78
+ id="bus-back"
79
+ v-if="Data.controltype === 3 && Data.flip === true"
80
+ :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
81
+ d="M8.08,82.61V80.67A3,3,0,0,0,11,77.55a3.08,3.08,0,0,0-2.87-3.11V58.22A3,3,0,0,0,11,55.1,3.08,3.08,0,0,0,8.08,52V46.15a.74.74,0,0,1,.75-.78h4.24l.5,1h3.74a2.28,2.28,0,0,1,2.25,2.33V84.69a4.18,4.18,0,0,1-4,4.67H9.7C9.33,87.94,8.58,84.43,8.08,82.61Zm9.86-32v-1.3a.73.73,0,0,0-.75-.77H10.08a.73.73,0,0,0-.75.77v1.17a.73.73,0,0,0,.75.78l7.11.13A.74.74,0,0,0,17.94,50.56Zm-.5,9.86a.67.67,0,0,0,.62-.64V53.42a.68.68,0,0,0-.62-.65H14.82a.69.69,0,0,0-.63.65v6.36a.68.68,0,0,0,.63.64Zm0,8.7a.68.68,0,0,0,.62-.65V62.11a.68.68,0,0,0-.62-.65H14.82a.69.69,0,0,0-.63.65v6.36a.69.69,0,0,0,.63.65Zm0,8.82a.68.68,0,0,0,.62-.65V70.81a.68.68,0,0,0-.62-.65H14.82a.69.69,0,0,0-.63.65v6.48a.69.69,0,0,0,.63.65Zm0,8.83a.68.68,0,0,0,.62-.65V79.76a.68.68,0,0,0-.62-.65H14.82a.69.69,0,0,0-.63.65v6.36a.69.69,0,0,0,.63.65ZM10.08,55.23a2.47,2.47,0,0,1-2.25,2.34,2.34,2.34,0,1,1,2.25-2.34Zm-3.87,0a1.76,1.76,0,0,0,1.62,1.69,1.68,1.68,0,0,0,1.62-1.69,1.53,1.53,0,0,0-1.62-1.68A1.68,1.68,0,0,0,6.21,55.23Zm3.87,22.45a2.25,2.25,0,1,1-2.25-2.33A2.29,2.29,0,0,1,10.08,77.68Zm-3.87,0a1.78,1.78,0,0,0,1.62,1.69,1.69,1.69,0,0,0,0-3.37A1.68,1.68,0,0,0,6.21,77.68Z"
82
+ />
83
+ <path
84
+ id="bus-front"
85
+ v-if="Data.controltype === 3 && Data.flip === false"
86
+ :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
87
+ d="M19.43,82.59v-2a3,3,0,0,1-2.87-3.11,3.09,3.09,0,0,1,2.87-3.12V58.19a3,3,0,0,1-2.87-3.11A3.09,3.09,0,0,1,19.43,52V46.12a.73.73,0,0,0-.75-.77H14.44l-.5,1H10.2A2.28,2.28,0,0,0,8,48.72v36a4.18,4.18,0,0,0,4,4.67h5.86C18.19,87.91,18.93,84.41,19.43,82.59ZM9.58,50.54v-1.3a.73.73,0,0,1,.75-.78h7.11a.74.74,0,0,1,.75.78v1.17a.74.74,0,0,1-.75.78l-7.11.12A.73.73,0,0,1,9.58,50.54Zm.5,9.86a.69.69,0,0,1-.63-.65V53.39a.69.69,0,0,1,.63-.65H12.7a.68.68,0,0,1,.62.65v6.36a.68.68,0,0,1-.62.65Zm0,8.69a.68.68,0,0,1-.63-.65V62.09a.69.69,0,0,1,.63-.65H12.7a.68.68,0,0,1,.62.65v6.35a.67.67,0,0,1-.62.65Zm0,8.83a.69.69,0,0,1-.63-.65V70.78a.69.69,0,0,1,.63-.65H12.7a.68.68,0,0,1,.62.65v6.49a.68.68,0,0,1-.62.65Zm0,8.82a.68.68,0,0,1-.63-.64V79.74a.69.69,0,0,1,.63-.65H12.7a.68.68,0,0,1,.62.65V86.1a.68.68,0,0,1-.62.64Zm7.36-31.53a2.46,2.46,0,0,0,2.24,2.33,2.34,2.34,0,1,0-2.24-2.33Zm3.86,0a1.76,1.76,0,0,1-1.62,1.69,1.68,1.68,0,0,1-1.62-1.69,1.54,1.54,0,0,1,1.62-1.69A1.68,1.68,0,0,1,21.3,55.21ZM17.44,77.66a2.25,2.25,0,1,0,2.24-2.34A2.28,2.28,0,0,0,17.44,77.66Zm3.86,0a1.78,1.78,0,0,1-1.62,1.69,1.69,1.69,0,1,1,1.62-1.69Z"
88
+ />
89
+ <path
90
+ id="brt-front"
91
+ v-if="Data.controltype === 4 && Data.flip === false"
92
+ :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
93
+ d="M8.94,49.63H19.73v2.12H8.94v3.13H6.74V46.51h2.2Zm8.25,8,2.54-1.28v2.54L16.9,60.43A18.2,18.2,0,0,0,15,61.56a1.78,1.78,0,0,0-.53.63,2.83,2.83,0,0,0-.14,1.07v.43h5.42v2.13h-13V61.34a6.2,6.2,0,0,1,.35-2.45,2.65,2.65,0,0,1,1.22-1.21,4.16,4.16,0,0,1,2.06-.48,3.85,3.85,0,0,1,2.46.73A3.19,3.19,0,0,1,14,60a5.56,5.56,0,0,1,1.08-1.13A15.89,15.89,0,0,1,17.19,57.63Zm-5.6,2a2,2,0,0,0-1-.25,1.85,1.85,0,0,0-1,.25A1.2,1.2,0,0,0,9,60.3,8,8,0,0,0,8.94,62v1.66h3.29V62.12a8.28,8.28,0,0,0-.12-1.84A1.2,1.2,0,0,0,11.59,59.64ZM14,69.23a3.49,3.49,0,0,1,2-.53,4.11,4.11,0,0,1,2.4.67A2.8,2.8,0,0,1,19.57,71a16.84,16.84,0,0,1,.16,3v3.58h-13V73.3a6.54,6.54,0,0,1,.32-2.43,2.66,2.66,0,0,1,1.13-1.18A3.46,3.46,0,0,1,10,69.21a3.45,3.45,0,0,1,1.7.41,2.76,2.76,0,0,1,1.12,1.07A2.78,2.78,0,0,1,14,69.23Zm-4.54,2.3a1.06,1.06,0,0,0-.45.61,12.39,12.39,0,0,0-.09,2V75.4h3V74a14.58,14.58,0,0,0-.05-1.56,1.32,1.32,0,0,0-.46-.85,1.56,1.56,0,0,0-1-.31A1.65,1.65,0,0,0,9.44,71.53Zm5.35-.37a1.29,1.29,0,0,0-.57.71,6.86,6.86,0,0,0-.15,1.81V75.4h3.46v-2a6.1,6.1,0,0,0-.14-1.67,1.23,1.23,0,0,0-.54-.62,1.84,1.84,0,0,0-1-.25A1.85,1.85,0,0,0,14.79,71.16Z"
94
+ />
95
+ <path
96
+ id="brt-back"
97
+ v-if="Data.controltype === 4 && Data.flip === true"
98
+ :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
99
+ d="M17.88,77.55H7.09V75.43H17.88V72.3h2.19v8.37H17.88Zm-8.26-8L7.09,70.83V68.29l2.83-1.54a16.63,16.63,0,0,0,1.91-1.13,1.53,1.53,0,0,0,.53-.63,2.79,2.79,0,0,0,.15-1.07v-.43H7.09V61.36h13v4.48a6.11,6.11,0,0,1-.35,2.46,2.65,2.65,0,0,1-1.21,1.2,4.17,4.17,0,0,1-2.07.48A3.9,3.9,0,0,1,14,69.26a3.24,3.24,0,0,1-1.17-2.06,5.11,5.11,0,0,1-1.09,1.13A14.26,14.26,0,0,1,9.62,69.55Zm5.61-2a1.86,1.86,0,0,0,1,.25,1.73,1.73,0,0,0,1-.25,1.21,1.21,0,0,0,.52-.66,8.72,8.72,0,0,0,.1-1.73V63.49h-3.3v1.57a8.05,8.05,0,0,0,.13,1.84A1.16,1.16,0,0,0,15.23,67.54ZM12.84,58a3.54,3.54,0,0,1-2,.53,4.1,4.1,0,0,1-2.39-.67,2.76,2.76,0,0,1-1.21-1.6,15.86,15.86,0,0,1-.16-3V49.66h13v4.22a6.59,6.59,0,0,1-.31,2.43,2.71,2.71,0,0,1-1.13,1.18,3.71,3.71,0,0,1-3.52.07A2.64,2.64,0,0,1,14,56.49,2.88,2.88,0,0,1,12.84,58Zm4.54-2.3a1,1,0,0,0,.44-.61,12.39,12.39,0,0,0,.09-2V51.78h-3v1.4c0,.84,0,1.36,0,1.56a1.33,1.33,0,0,0,.47.85,1.53,1.53,0,0,0,1,.31A1.66,1.66,0,0,0,17.38,55.65ZM12,56a1.37,1.37,0,0,0,.56-.72,6.32,6.32,0,0,0,.16-1.81V51.78H9.29v2a6.21,6.21,0,0,0,.13,1.66A1.19,1.19,0,0,0,10,56a1.88,1.88,0,0,0,1,.25A1.94,1.94,0,0,0,12,56Z"
100
+ />
101
+ <path
102
+ id="rail-back"
103
+ v-if="Data.controltype === 5 && Data.flip === true"
104
+ :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
105
+ d="M4.74,88V44.25a.81.81,0,0,1,.63-.64.69.69,0,0,1,.65.64V88a.69.69,0,0,1-.65.64A.68.68,0,0,1,4.74,88Zm2.81-1.8V47.85c-.38-1.41,2.05-2.44,3.33-2.44a8,8,0,0,1,7.92,8v4.11l.64-1c0-.13.13-.13.39-.13s.13.13.38.13l1.54,4a.78.78,0,0,1-.13.52.74.74,0,0,1-.51-.13l-1.28-3.35-.77,1.29V86.17a.74.74,0,0,1-.77.77h-10A.74.74,0,0,1,7.55,86.17ZM15,53a1.1,1.1,0,0,0,1-1,2.9,2.9,0,0,0-2.94-3H9.47a.9.9,0,0,0-1,.9V52a1.1,1.1,0,0,0,1,1Zm.38,5a.69.69,0,0,0,.64-.64V55.18a.68.68,0,0,0-.64-.64H12.54v.13a.68.68,0,0,0-.64.64v2.06a.69.69,0,0,0,.64.64Zm0,3.86a.69.69,0,0,0,.64-.65v-2a.69.69,0,0,0-.64-.65H12.54a.69.69,0,0,0-.64.65v2a.69.69,0,0,0,.64.65Zm0,4a.68.68,0,0,0,.64-.64V63.15a.69.69,0,0,0-.64-.64H12.54a.68.68,0,0,0-.64.64v2.06a.69.69,0,0,0,.64.64Zm0,4.24a.68.68,0,0,0,.64-.64V67.39a.69.69,0,0,0-.64-.64H12.54a.69.69,0,0,0-.64.64v2.06a.68.68,0,0,0,.64.64Zm0,4a.69.69,0,0,0,.64-.64V71.38a.68.68,0,0,0-.64-.64H12.54a.68.68,0,0,0-.64.64v2.06a.69.69,0,0,0,.64.64Zm0,3.73a.69.69,0,0,0,.64-.64V75.24a.69.69,0,0,0-.64-.65H12.54a.52.52,0,0,0-.64.52v2.06a.69.69,0,0,0,.64.64Zm0,4.37a.69.69,0,0,0,.64-.64V79.48a.68.68,0,0,0-.64-.64H12.54a.68.68,0,0,0-.64.64v2.06a.69.69,0,0,0,.64.64Zm0,3.86a.69.69,0,0,0,.64-.65v-2a.69.69,0,0,0-.64-.65H12.54a.69.69,0,0,0-.64.65v2a.69.69,0,0,0,.64.65Z"
106
+ />
107
+ <path
108
+ id="rail-front"
109
+ v-if="Data.controltype === 5 && Data.flip === false"
110
+ :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
111
+ d="M22,88V44.3a.84.84,0,0,0-.64-.64.69.69,0,0,0-.64.64V88a.69.69,0,0,0,.64.64A.69.69,0,0,0,22,88Zm-2.82-1.8V47.9c.39-1.41-2-2.44-3.32-2.44a8,8,0,0,0-7.93,8v4.12l-.64-1c0-.13-.13-.13-.38-.13s-.13.13-.39.13L5,60.5A.78.78,0,0,0,5.1,61a.77.77,0,0,0,.51-.13l1.28-3.34.76,1.28V86.22a.74.74,0,0,0,.77.77h10A.74.74,0,0,0,19.16,86.22ZM11.75,53.05a1.11,1.11,0,0,1-1-1,2.91,2.91,0,0,1,2.94-3h3.59a.91.91,0,0,1,1,.9V52a1.11,1.11,0,0,1-1,1Zm-.39,5a.69.69,0,0,1-.64-.64V55.23a.69.69,0,0,1,.64-.64h2.82v.13a.69.69,0,0,1,.64.64v2.06a.69.69,0,0,1-.64.64Zm0,3.86a.69.69,0,0,1-.64-.65V59.22a.7.7,0,0,1,.64-.65h2.82a.69.69,0,0,1,.64.65v2.05a.7.7,0,0,1-.64.65Zm0,4a.69.69,0,0,1-.64-.64V63.2a.69.69,0,0,1,.64-.64h2.82a.69.69,0,0,1,.64.64v2.06a.69.69,0,0,1-.64.64Zm0,4.25a.69.69,0,0,1-.64-.65v-2a.7.7,0,0,1,.64-.65h2.82a.69.69,0,0,1,.64.65v2a.7.7,0,0,1-.64.65Zm0,4a.69.69,0,0,1-.64-.64V71.43a.69.69,0,0,1,.64-.64h2.82a.69.69,0,0,1,.64.64v2.06a.69.69,0,0,1-.64.64Zm0,3.73a.69.69,0,0,1-.64-.64V75.29a.69.69,0,0,1,.64-.64h2.82a.51.51,0,0,1,.64.51v2.06a.69.69,0,0,1-.64.64Zm0,4.37a.69.69,0,0,1-.64-.64V79.53a.69.69,0,0,1,.64-.64h2.82a.69.69,0,0,1,.64.64v2.06a.69.69,0,0,1-.64.64Zm0,3.86a.69.69,0,0,1-.64-.64V83.39a.69.69,0,0,1,.64-.64h2.82a.69.69,0,0,1,.64.64v2.06a.69.69,0,0,1-.64.64Z"
112
+ />
113
+ <path
114
+ id="bike-back"
115
+ v-if="Data.controltype === 6 && Data.flip === true"
116
+ :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
117
+ d="M15.38,69.56a4.48,4.48,0,0,0-.17-1.21l2.41-1.14,1.17.46v.68a.7.7,0,0,0,.22.5.74.74,0,0,0,.51.2.71.71,0,0,0,.72-.71v-2.9a.71.71,0,0,0-.21-.5.75.75,0,0,0-.52-.2.72.72,0,0,0-.72.7v.71L18.38,66v-6.9l.76.24c.14.05.34.18.34.29v1.21a.72.72,0,0,0,.73.71.71.71,0,0,0,.72-.71V59.62A1.83,1.83,0,0,0,19.59,58l-4.26-1.32a5.06,5.06,0,0,0,.05-.68,4.57,4.57,0,0,0-4.63-4.5,4.51,4.51,0,1,0,0,9A4.67,4.67,0,0,0,14.89,58l.65.2L10.3,63.33h0l0,0a.49.49,0,0,0-.07.11.25.25,0,0,0,0,.07l.23.08h0l-.25,0a.76.76,0,0,0,0,.15v1.33a4.5,4.5,0,0,0,.6,9,4.57,4.57,0,0,0,4.63-4.5Zm1.55-4.15-4.77-1.9,4.77-4.66ZM11.6,66.58a3.17,3.17,0,0,1,1.68,1.11l-1.69.8Zm3,.49a4.59,4.59,0,0,0-3-1.94V64.8l4.23,1.69Zm-4.46,2.55a.7.7,0,0,0,.34.59.75.75,0,0,0,.71,0L13.87,69a2.86,2.86,0,0,1,.06.58,3.19,3.19,0,0,1-6.37,0,3.11,3.11,0,0,1,2.59-3Zm.72-14.33a.7.7,0,0,0-.55.05.69.69,0,0,0,.11,1.29l3.06.95a3.22,3.22,0,0,1-2.73,1.51A3.1,3.1,0,1,1,13.93,56a2.18,2.18,0,0,1,0,.25Z"
118
+ />
119
+ <path
120
+ id="bike-front"
121
+ v-if="Data.controltype === 6 && Data.flip === false"
122
+ :fill="chooseIndex === Data.index ? highlightColor : defaultColor"
123
+ d="M11.7,69.61a4.23,4.23,0,0,1,.17-1.22L9.44,67.25l-1.17.46v.68a.67.67,0,0,1-.21.5.73.73,0,0,1-1.24-.5V65.47A.71.71,0,0,1,7,65a.77.77,0,0,1,.52-.2.71.71,0,0,1,.72.71v.7L8.68,66V59.1l-.76.23c-.14.05-.35.18-.35.29v1.22a.72.72,0,0,1-.73.71.71.71,0,0,1-.72-.71V59.62A1.83,1.83,0,0,1,7.46,58l4.29-1.33A3.82,3.82,0,0,1,11.7,56a4.65,4.65,0,1,1,4.65,4.53A4.69,4.69,0,0,1,12.19,58l-.66.2,5.27,5.14h0l0,0a.75.75,0,0,1,.07.12s0,0,0,.06l-.23.09h0l.25,0a.61.61,0,0,1,0,.14v1.34a4.54,4.54,0,1,1-5.25,4.49Zm-1.56-4.17,4.79-1.91-4.79-4.68Zm5.35,1.17a3.27,3.27,0,0,0-1.69,1.13l1.7.8Zm-3,.5a4.64,4.64,0,0,1,3-2v-.33l-4.24,1.7ZM17,69.67a.7.7,0,0,1-.34.6.73.73,0,0,1-.7,0L13.21,69a2.86,2.86,0,0,0-.06.58A3.2,3.2,0,1,0,17,66.55Zm-.72-14.39a.77.77,0,0,1,.56,0,.74.74,0,0,1,.36.42.71.71,0,0,1-.48.89l-3.06.94a3.21,3.21,0,0,0,2.74,1.52A3.11,3.11,0,1,0,13.15,56a2.18,2.18,0,0,0,0,.25Z"
124
+ />
125
+ </g>
126
+ </g>
127
+ <!-- 展示相位图标 -->
128
+ <g v-if="UsageMode === 'show'">
129
+ <g v-for="(name, index) in iconnameArr" :key="index">
130
+ <path
131
+ id="直行"
132
+ :class="name === '直行' ? '' : 'invisible'"
133
+ :fill="FlashColor ? FlashColor : (Data.color ? Data.color : showDefaultColor)"
134
+ d="M15,36H12.35V7.7H9.09L13.65,0l4.43,7.7H15V36H12.35"
135
+ ></path>
136
+ <path
137
+ id="左转"
138
+ :class="name === '左转' ? '' : 'invisible'"
139
+ :fill="FlashColor ? FlashColor : (Data.color ? Data.color : showDefaultColor)"
140
+ d="M12.55,17.69V36h2.54V17.56a5,5,0,0,0-4.83-5L7.85,12.2,8.23,9,.09,12.45,7,18l.38-3.2,2.8.39a2.61,2.61,0,0,1,2.41,2.55Zm0,0V36h2.54V17.56M12.55,36h2.54m-2.54-4.28V36h2.54V31.72"
141
+ ></path>
142
+ <path
143
+ id="右转"
144
+ :class="name === '右转' ? '' : 'invisible'"
145
+ :fill="FlashColor ? FlashColor : (Data.color ? Data.color : showDefaultColor)"
146
+ d="M14.61,17.69V36H12.07V17.56a5,5,0,0,1,4.83-5l2.41-.38L18.93,9l8.14,3.44L20.2,18l-.38-3.2-2.8.39a2.61,2.61,0,0,0-2.41,2.55Zm0-.13V36H12.07V17.44M14.61,36H12.07m2.54,0H12.07V31.72"
147
+ ></path>
148
+ <path
149
+ id="掉头"
150
+ :class="name === '掉头' ? '' : 'invisible'"
151
+ :fill="FlashColor ? FlashColor : (Data.color ? Data.color : showDefaultColor)"
152
+ d="M12.08,36h2.54m-2.54,0h2.54m-2.54,0h2.54M3.18,24.69V28.4H0l4.45,7.68L8.9,28.4H5.72V24.69c0-1.28,1.4-2.43,3.18-2.43s3.18,1.15,3.18,2.43V36h2.54V24.69c0-2.69-2.54-5-5.72-5S3.18,22,3.18,24.69Z"
153
+ ></path>
154
+ </g>
155
+ <g>
156
+ <!-- 特殊车道类型 -->
157
+ <path
158
+ v-if="Data.controltype === 3 && Data.flip === true"
159
+ :fill="showDefaultColor"
160
+ d="M8.08,82.61V80.67A3,3,0,0,0,11,77.55a3.08,3.08,0,0,0-2.87-3.11V58.22A3,3,0,0,0,11,55.1,3.08,3.08,0,0,0,8.08,52V46.15a.74.74,0,0,1,.75-.78h4.24l.5,1h3.74a2.28,2.28,0,0,1,2.25,2.33V84.69a4.18,4.18,0,0,1-4,4.67H9.7C9.33,87.94,8.58,84.43,8.08,82.61Zm9.86-32v-1.3a.73.73,0,0,0-.75-.77H10.08a.73.73,0,0,0-.75.77v1.17a.73.73,0,0,0,.75.78l7.11.13A.74.74,0,0,0,17.94,50.56Zm-.5,9.86a.67.67,0,0,0,.62-.64V53.42a.68.68,0,0,0-.62-.65H14.82a.69.69,0,0,0-.63.65v6.36a.68.68,0,0,0,.63.64Zm0,8.7a.68.68,0,0,0,.62-.65V62.11a.68.68,0,0,0-.62-.65H14.82a.69.69,0,0,0-.63.65v6.36a.69.69,0,0,0,.63.65Zm0,8.82a.68.68,0,0,0,.62-.65V70.81a.68.68,0,0,0-.62-.65H14.82a.69.69,0,0,0-.63.65v6.48a.69.69,0,0,0,.63.65Zm0,8.83a.68.68,0,0,0,.62-.65V79.76a.68.68,0,0,0-.62-.65H14.82a.69.69,0,0,0-.63.65v6.36a.69.69,0,0,0,.63.65ZM10.08,55.23a2.47,2.47,0,0,1-2.25,2.34,2.34,2.34,0,1,1,2.25-2.34Zm-3.87,0a1.76,1.76,0,0,0,1.62,1.69,1.68,1.68,0,0,0,1.62-1.69,1.53,1.53,0,0,0-1.62-1.68A1.68,1.68,0,0,0,6.21,55.23Zm3.87,22.45a2.25,2.25,0,1,1-2.25-2.33A2.29,2.29,0,0,1,10.08,77.68Zm-3.87,0a1.78,1.78,0,0,0,1.62,1.69,1.69,1.69,0,0,0,0-3.37A1.68,1.68,0,0,0,6.21,77.68Z"
161
+ id="bus-back"
162
+ ></path>
163
+ <path
164
+ v-if="Data.controltype === 3 && Data.flip === false"
165
+ :fill="showDefaultColor"
166
+ d="M19.43,82.59v-2a3,3,0,0,1-2.87-3.11,3.09,3.09,0,0,1,2.87-3.12V58.19a3,3,0,0,1-2.87-3.11A3.09,3.09,0,0,1,19.43,52V46.12a.73.73,0,0,0-.75-.77H14.44l-.5,1H10.2A2.28,2.28,0,0,0,8,48.72v36a4.18,4.18,0,0,0,4,4.67h5.86C18.19,87.91,18.93,84.41,19.43,82.59ZM9.58,50.54v-1.3a.73.73,0,0,1,.75-.78h7.11a.74.74,0,0,1,.75.78v1.17a.74.74,0,0,1-.75.78l-7.11.12A.73.73,0,0,1,9.58,50.54Zm.5,9.86a.69.69,0,0,1-.63-.65V53.39a.69.69,0,0,1,.63-.65H12.7a.68.68,0,0,1,.62.65v6.36a.68.68,0,0,1-.62.65Zm0,8.69a.68.68,0,0,1-.63-.65V62.09a.69.69,0,0,1,.63-.65H12.7a.68.68,0,0,1,.62.65v6.35a.67.67,0,0,1-.62.65Zm0,8.83a.69.69,0,0,1-.63-.65V70.78a.69.69,0,0,1,.63-.65H12.7a.68.68,0,0,1,.62.65v6.49a.68.68,0,0,1-.62.65Zm0,8.82a.68.68,0,0,1-.63-.64V79.74a.69.69,0,0,1,.63-.65H12.7a.68.68,0,0,1,.62.65V86.1a.68.68,0,0,1-.62.64Zm7.36-31.53a2.46,2.46,0,0,0,2.24,2.33,2.34,2.34,0,1,0-2.24-2.33Zm3.86,0a1.76,1.76,0,0,1-1.62,1.69,1.68,1.68,0,0,1-1.62-1.69,1.54,1.54,0,0,1,1.62-1.69A1.68,1.68,0,0,1,21.3,55.21ZM17.44,77.66a2.25,2.25,0,1,0,2.24-2.34A2.28,2.28,0,0,0,17.44,77.66Zm3.86,0a1.78,1.78,0,0,1-1.62,1.69,1.69,1.69,0,1,1,1.62-1.69Z"
167
+ id="bus-front"
168
+ ></path>
169
+ <path
170
+ v-if="Data.controltype === 4 && Data.flip === false"
171
+ :fill="showDefaultColor"
172
+ d="M8.94,49.63H19.73v2.12H8.94v3.13H6.74V46.51h2.2Zm8.25,8,2.54-1.28v2.54L16.9,60.43A18.2,18.2,0,0,0,15,61.56a1.78,1.78,0,0,0-.53.63,2.83,2.83,0,0,0-.14,1.07v.43h5.42v2.13h-13V61.34a6.2,6.2,0,0,1,.35-2.45,2.65,2.65,0,0,1,1.22-1.21,4.16,4.16,0,0,1,2.06-.48,3.85,3.85,0,0,1,2.46.73A3.19,3.19,0,0,1,14,60a5.56,5.56,0,0,1,1.08-1.13A15.89,15.89,0,0,1,17.19,57.63Zm-5.6,2a2,2,0,0,0-1-.25,1.85,1.85,0,0,0-1,.25A1.2,1.2,0,0,0,9,60.3,8,8,0,0,0,8.94,62v1.66h3.29V62.12a8.28,8.28,0,0,0-.12-1.84A1.2,1.2,0,0,0,11.59,59.64ZM14,69.23a3.49,3.49,0,0,1,2-.53,4.11,4.11,0,0,1,2.4.67A2.8,2.8,0,0,1,19.57,71a16.84,16.84,0,0,1,.16,3v3.58h-13V73.3a6.54,6.54,0,0,1,.32-2.43,2.66,2.66,0,0,1,1.13-1.18A3.46,3.46,0,0,1,10,69.21a3.45,3.45,0,0,1,1.7.41,2.76,2.76,0,0,1,1.12,1.07A2.78,2.78,0,0,1,14,69.23Zm-4.54,2.3a1.06,1.06,0,0,0-.45.61,12.39,12.39,0,0,0-.09,2V75.4h3V74a14.58,14.58,0,0,0-.05-1.56,1.32,1.32,0,0,0-.46-.85,1.56,1.56,0,0,0-1-.31A1.65,1.65,0,0,0,9.44,71.53Zm5.35-.37a1.29,1.29,0,0,0-.57.71,6.86,6.86,0,0,0-.15,1.81V75.4h3.46v-2a6.1,6.1,0,0,0-.14-1.67,1.23,1.23,0,0,0-.54-.62,1.84,1.84,0,0,0-1-.25A1.85,1.85,0,0,0,14.79,71.16Z"
173
+ id="brt-front"
174
+ ></path>
175
+ <path
176
+ v-if="Data.controltype === 4 && Data.flip === true"
177
+ :fill="showDefaultColor"
178
+ d="M17.88,77.55H7.09V75.43H17.88V72.3h2.19v8.37H17.88Zm-8.26-8L7.09,70.83V68.29l2.83-1.54a16.63,16.63,0,0,0,1.91-1.13,1.53,1.53,0,0,0,.53-.63,2.79,2.79,0,0,0,.15-1.07v-.43H7.09V61.36h13v4.48a6.11,6.11,0,0,1-.35,2.46,2.65,2.65,0,0,1-1.21,1.2,4.17,4.17,0,0,1-2.07.48A3.9,3.9,0,0,1,14,69.26a3.24,3.24,0,0,1-1.17-2.06,5.11,5.11,0,0,1-1.09,1.13A14.26,14.26,0,0,1,9.62,69.55Zm5.61-2a1.86,1.86,0,0,0,1,.25,1.73,1.73,0,0,0,1-.25,1.21,1.21,0,0,0,.52-.66,8.72,8.72,0,0,0,.1-1.73V63.49h-3.3v1.57a8.05,8.05,0,0,0,.13,1.84A1.16,1.16,0,0,0,15.23,67.54ZM12.84,58a3.54,3.54,0,0,1-2,.53,4.1,4.1,0,0,1-2.39-.67,2.76,2.76,0,0,1-1.21-1.6,15.86,15.86,0,0,1-.16-3V49.66h13v4.22a6.59,6.59,0,0,1-.31,2.43,2.71,2.71,0,0,1-1.13,1.18,3.71,3.71,0,0,1-3.52.07A2.64,2.64,0,0,1,14,56.49,2.88,2.88,0,0,1,12.84,58Zm4.54-2.3a1,1,0,0,0,.44-.61,12.39,12.39,0,0,0,.09-2V51.78h-3v1.4c0,.84,0,1.36,0,1.56a1.33,1.33,0,0,0,.47.85,1.53,1.53,0,0,0,1,.31A1.66,1.66,0,0,0,17.38,55.65ZM12,56a1.37,1.37,0,0,0,.56-.72,6.32,6.32,0,0,0,.16-1.81V51.78H9.29v2a6.21,6.21,0,0,0,.13,1.66A1.19,1.19,0,0,0,10,56a1.88,1.88,0,0,0,1,.25A1.94,1.94,0,0,0,12,56Z"
179
+ id="brt-back"
180
+ ></path>
181
+ <path
182
+ v-if="Data.controltype === 5 && Data.flip === true"
183
+ :fill="showDefaultColor"
184
+ d="M4.74,88V44.25a.81.81,0,0,1,.63-.64.69.69,0,0,1,.65.64V88a.69.69,0,0,1-.65.64A.68.68,0,0,1,4.74,88Zm2.81-1.8V47.85c-.38-1.41,2.05-2.44,3.33-2.44a8,8,0,0,1,7.92,8v4.11l.64-1c0-.13.13-.13.39-.13s.13.13.38.13l1.54,4a.78.78,0,0,1-.13.52.74.74,0,0,1-.51-.13l-1.28-3.35-.77,1.29V86.17a.74.74,0,0,1-.77.77h-10A.74.74,0,0,1,7.55,86.17ZM15,53a1.1,1.1,0,0,0,1-1,2.9,2.9,0,0,0-2.94-3H9.47a.9.9,0,0,0-1,.9V52a1.1,1.1,0,0,0,1,1Zm.38,5a.69.69,0,0,0,.64-.64V55.18a.68.68,0,0,0-.64-.64H12.54v.13a.68.68,0,0,0-.64.64v2.06a.69.69,0,0,0,.64.64Zm0,3.86a.69.69,0,0,0,.64-.65v-2a.69.69,0,0,0-.64-.65H12.54a.69.69,0,0,0-.64.65v2a.69.69,0,0,0,.64.65Zm0,4a.68.68,0,0,0,.64-.64V63.15a.69.69,0,0,0-.64-.64H12.54a.68.68,0,0,0-.64.64v2.06a.69.69,0,0,0,.64.64Zm0,4.24a.68.68,0,0,0,.64-.64V67.39a.69.69,0,0,0-.64-.64H12.54a.69.69,0,0,0-.64.64v2.06a.68.68,0,0,0,.64.64Zm0,4a.69.69,0,0,0,.64-.64V71.38a.68.68,0,0,0-.64-.64H12.54a.68.68,0,0,0-.64.64v2.06a.69.69,0,0,0,.64.64Zm0,3.73a.69.69,0,0,0,.64-.64V75.24a.69.69,0,0,0-.64-.65H12.54a.52.52,0,0,0-.64.52v2.06a.69.69,0,0,0,.64.64Zm0,4.37a.69.69,0,0,0,.64-.64V79.48a.68.68,0,0,0-.64-.64H12.54a.68.68,0,0,0-.64.64v2.06a.69.69,0,0,0,.64.64Zm0,3.86a.69.69,0,0,0,.64-.65v-2a.69.69,0,0,0-.64-.65H12.54a.69.69,0,0,0-.64.65v2a.69.69,0,0,0,.64.65Z"
185
+ id="rail-back"
186
+ ></path>
187
+ <path
188
+ v-if="Data.controltype === 5 && Data.flip === false"
189
+ :fill="showDefaultColor"
190
+ d="M22,88V44.3a.84.84,0,0,0-.64-.64.69.69,0,0,0-.64.64V88a.69.69,0,0,0,.64.64A.69.69,0,0,0,22,88Zm-2.82-1.8V47.9c.39-1.41-2-2.44-3.32-2.44a8,8,0,0,0-7.93,8v4.12l-.64-1c0-.13-.13-.13-.38-.13s-.13.13-.39.13L5,60.5A.78.78,0,0,0,5.1,61a.77.77,0,0,0,.51-.13l1.28-3.34.76,1.28V86.22a.74.74,0,0,0,.77.77h10A.74.74,0,0,0,19.16,86.22ZM11.75,53.05a1.11,1.11,0,0,1-1-1,2.91,2.91,0,0,1,2.94-3h3.59a.91.91,0,0,1,1,.9V52a1.11,1.11,0,0,1-1,1Zm-.39,5a.69.69,0,0,1-.64-.64V55.23a.69.69,0,0,1,.64-.64h2.82v.13a.69.69,0,0,1,.64.64v2.06a.69.69,0,0,1-.64.64Zm0,3.86a.69.69,0,0,1-.64-.65V59.22a.7.7,0,0,1,.64-.65h2.82a.69.69,0,0,1,.64.65v2.05a.7.7,0,0,1-.64.65Zm0,4a.69.69,0,0,1-.64-.64V63.2a.69.69,0,0,1,.64-.64h2.82a.69.69,0,0,1,.64.64v2.06a.69.69,0,0,1-.64.64Zm0,4.25a.69.69,0,0,1-.64-.65v-2a.7.7,0,0,1,.64-.65h2.82a.69.69,0,0,1,.64.65v2a.7.7,0,0,1-.64.65Zm0,4a.69.69,0,0,1-.64-.64V71.43a.69.69,0,0,1,.64-.64h2.82a.69.69,0,0,1,.64.64v2.06a.69.69,0,0,1-.64.64Zm0,3.73a.69.69,0,0,1-.64-.64V75.29a.69.69,0,0,1,.64-.64h2.82a.51.51,0,0,1,.64.51v2.06a.69.69,0,0,1-.64.64Zm0,4.37a.69.69,0,0,1-.64-.64V79.53a.69.69,0,0,1,.64-.64h2.82a.69.69,0,0,1,.64.64v2.06a.69.69,0,0,1-.64.64Zm0,3.86a.69.69,0,0,1-.64-.64V83.39a.69.69,0,0,1,.64-.64h2.82a.69.69,0,0,1,.64.64v2.06a.69.69,0,0,1-.64.64Z"
191
+ id="rail-front"
192
+ ></path>
193
+ <path
194
+ v-if="Data.controltype === 6 && Data.flip === true"
195
+ :fill="showDefaultColor"
196
+ d="M15.38,69.56a4.48,4.48,0,0,0-.17-1.21l2.41-1.14,1.17.46v.68a.7.7,0,0,0,.22.5.74.74,0,0,0,.51.2.71.71,0,0,0,.72-.71v-2.9a.71.71,0,0,0-.21-.5.75.75,0,0,0-.52-.2.72.72,0,0,0-.72.7v.71L18.38,66v-6.9l.76.24c.14.05.34.18.34.29v1.21a.72.72,0,0,0,.73.71.71.71,0,0,0,.72-.71V59.62A1.83,1.83,0,0,0,19.59,58l-4.26-1.32a5.06,5.06,0,0,0,.05-.68,4.57,4.57,0,0,0-4.63-4.5,4.51,4.51,0,1,0,0,9A4.67,4.67,0,0,0,14.89,58l.65.2L10.3,63.33h0l0,0a.49.49,0,0,0-.07.11.25.25,0,0,0,0,.07l.23.08h0l-.25,0a.76.76,0,0,0,0,.15v1.33a4.5,4.5,0,0,0,.6,9,4.57,4.57,0,0,0,4.63-4.5Zm1.55-4.15-4.77-1.9,4.77-4.66ZM11.6,66.58a3.17,3.17,0,0,1,1.68,1.11l-1.69.8Zm3,.49a4.59,4.59,0,0,0-3-1.94V64.8l4.23,1.69Zm-4.46,2.55a.7.7,0,0,0,.34.59.75.75,0,0,0,.71,0L13.87,69a2.86,2.86,0,0,1,.06.58,3.19,3.19,0,0,1-6.37,0,3.11,3.11,0,0,1,2.59-3Zm.72-14.33a.7.7,0,0,0-.55.05.69.69,0,0,0,.11,1.29l3.06.95a3.22,3.22,0,0,1-2.73,1.51A3.1,3.1,0,1,1,13.93,56a2.18,2.18,0,0,1,0,.25Z"
197
+ id="bike-back"
198
+ ></path>
199
+ <path
200
+ v-if="Data.controltype === 6 && Data.flip === false"
201
+ :fill="showDefaultColor"
202
+ d="M11.7,69.61a4.23,4.23,0,0,1,.17-1.22L9.44,67.25l-1.17.46v.68a.67.67,0,0,1-.21.5.73.73,0,0,1-1.24-.5V65.47A.71.71,0,0,1,7,65a.77.77,0,0,1,.52-.2.71.71,0,0,1,.72.71v.7L8.68,66V59.1l-.76.23c-.14.05-.35.18-.35.29v1.22a.72.72,0,0,1-.73.71.71.71,0,0,1-.72-.71V59.62A1.83,1.83,0,0,1,7.46,58l4.29-1.33A3.82,3.82,0,0,1,11.7,56a4.65,4.65,0,1,1,4.65,4.53A4.69,4.69,0,0,1,12.19,58l-.66.2,5.27,5.14h0l0,0a.75.75,0,0,1,.07.12s0,0,0,.06l-.23.09h0l.25,0a.61.61,0,0,1,0,.14v1.34a4.54,4.54,0,1,1-5.25,4.49Zm-1.56-4.17,4.79-1.91-4.79-4.68Zm5.35,1.17a3.27,3.27,0,0,0-1.69,1.13l1.7.8Zm-3,.5a4.64,4.64,0,0,1,3-2v-.33l-4.24,1.7ZM17,69.67a.7.7,0,0,1-.34.6.73.73,0,0,1-.7,0L13.21,69a2.86,2.86,0,0,0-.06.58A3.2,3.2,0,1,0,17,66.55Zm-.72-14.39a.77.77,0,0,1,.56,0,.74.74,0,0,1,.36.42.71.71,0,0,1-.48.89l-3.06.94a3.21,3.21,0,0,0,2.74,1.52A3.11,3.11,0,1,0,13.15,56a2.18,2.18,0,0,0,0,.25Z"
203
+ id="bike-front"
204
+ ></path>
205
+ </g>
206
+ </g>
207
+ </svg>
208
+ </drr>
209
+ </div>
210
+ </template>
211
+ <script>
212
+ export default {
213
+ name: 'motor-icon-svg',
214
+ data () {
215
+ return {
216
+ defaultColor: '#fff', // 默认状态颜色
217
+ highlightColor: '#299BCC', // 选中高亮状态颜色
218
+ item: {},
219
+ reset: true,
220
+ iconnameArr: [],
221
+ showDefaultColor: '#fff', // 默认状态颜色
222
+ FlashColor: undefined,
223
+ GreenColor: '#77fb65',
224
+ YellowColor: '#f7b500',
225
+ lastType: ''
226
+ }
227
+ },
228
+ watch: {
229
+ // item: {
230
+ // handler: function (newval, oldval) {
231
+ // if (JSON.stringify(oldval) !== '{}') {
232
+ // // 更改原数据的位置大小数据
233
+ // let data = {
234
+ // ...this.Data,
235
+ // ...newval
236
+ // }
237
+ // let fields = Object.keys(newval)
238
+ // this.$emit('changeMotorwayItem', data, fields)
239
+ // }
240
+ // }
241
+ // },
242
+ Data: {
243
+ handler: function (val) {
244
+ this.iconnameArr = val.icondirename
245
+ if (this.UsageMode === 'draw') {
246
+ this.item.x = val.x
247
+ this.item.y = val.y
248
+ this.item.angle = val.angle
249
+ }
250
+ if (this.UsageMode === 'show') {
251
+ if (this.lastType === '') {
252
+ // 绿闪:绿-》灰-》绿 循环效果
253
+ if (val.type === 4 || val.type === '黄闪') {
254
+ let highlightColor = ''
255
+ if (val.type === 4) {
256
+ highlightColor = this.GreenColor
257
+ }
258
+ if (val.type === '黄闪') {
259
+ highlightColor = this.YellowColor
260
+ }
261
+ this.FlashColor = highlightColor
262
+ this.GreenIntervalId = setInterval(() => {
263
+ this.FlashColor =
264
+ !this.FlashColor || this.FlashColor === '#828282'
265
+ ? highlightColor
266
+ : '#828282'
267
+ }, 500)
268
+ this.lastType = val.type
269
+ }
270
+ }
271
+ if (
272
+ this.GreenIntervalId &&
273
+ val.type !== 4 &&
274
+ val.type !== '黄闪' &&
275
+ val.type !== this.lastType
276
+ ) {
277
+ clearInterval(this.GreenIntervalId)
278
+ this.FlashColor = undefined
279
+ this.lastType = ''
280
+ }
281
+ }
282
+ },
283
+ deep: true
284
+ }
285
+ // ,
286
+ // chooseIndex: {
287
+ // handler: function (val) {
288
+ // console.log(this.Data)
289
+ // }
290
+ // }
291
+ },
292
+ props: {
293
+ Data: {
294
+ type: Object
295
+ },
296
+ isSeletable: {
297
+ type: Boolean
298
+ },
299
+ chooseIndex: {
300
+ type: Number
301
+ },
302
+ UsageMode: {
303
+ // 当前图标模式: 绘制draw 展示show
304
+ type: String,
305
+ default: 'draw'
306
+ }
307
+ },
308
+ methods: {
309
+ boxDragStop (origin, final) {
310
+ this.item = JSON.parse(JSON.stringify(final))
311
+ this.handleChangeData()
312
+ },
313
+ boxResizeStop (origin, final) {
314
+ this.IconW = final.w + 'px'
315
+ this.IconH = final.h + 'px'
316
+ this.resetSvg()
317
+ this.item = JSON.parse(JSON.stringify(final))
318
+ this.handleChangeData()
319
+ },
320
+ boxRotateStop (origin, final) {
321
+ this.item = JSON.parse(JSON.stringify(final))
322
+ // 第四象限的角度是负值(开源组件接口返回),转化为正值便于理解
323
+ if (this.item.angle < 0) {
324
+ this.item.angle = this.item.angle + 360
325
+ }
326
+ this.handleChangeData()
327
+ },
328
+ resetSvg () {
329
+ this.reset = false
330
+ this.$nextTick(() => {
331
+ this.reset = true
332
+ })
333
+ },
334
+ handleSelectIcon () {
335
+ this.$emit('handleSelectIcon', this.Data)
336
+ },
337
+ handleChangeData () {
338
+ let data = {
339
+ ...this.Data,
340
+ ...this.item
341
+ }
342
+ let fields = Object.keys(this.item)
343
+ this.$emit('changeMotorwayItem', data, fields)
344
+ this.handleSelectIcon()
345
+ }
346
+ },
347
+ created () {
348
+ this.IconW = this.Data.w
349
+ this.IconH = this.Data.h
350
+ this.item = {
351
+ x: this.Data.x,
352
+ y: this.Data.y,
353
+ w: this.Data.w,
354
+ h: this.Data.h,
355
+ angle: this.Data.angle
356
+ }
357
+ },
358
+ mounted () {
359
+ // console.log('motor', this.Data)
360
+ this.iconnameArr = this.Data.icondirename
361
+ }
362
+ }
363
+ </script>
364
+ <style scoped>
365
+ .invisible {
366
+ visibility: hidden;
367
+ }
368
+ </style>