openatc-components 0.5.60 → 0.5.62

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 (346) 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/svg/ped-east-bottom.vue +41 -41
  25. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  26. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  27. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  28. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  29. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  30. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  31. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  32. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  33. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  34. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  35. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  36. package/package/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  37. package/package/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  38. package/package/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  39. package/package/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  40. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  41. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  42. package/package/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  43. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  44. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  45. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  46. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  47. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  48. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  49. package/package/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  50. package/package/kisscomps/components/DrawChannelization/drawsvg/index.vue +144 -144
  51. package/package/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  52. package/package/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  53. package/package/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  54. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  55. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  56. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  57. package/package/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  58. package/package/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  59. package/package/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  60. package/package/kisscomps/components/IntersectionMap/crossDirection/RoadNameEditDialog.vue +96 -0
  61. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +692 -629
  62. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  63. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  64. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  65. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  66. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  67. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  68. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  69. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  70. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +563 -498
  71. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +545 -484
  72. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +550 -488
  73. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +630 -566
  74. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  75. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  76. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  77. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  78. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  79. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  80. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  81. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  82. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  83. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  84. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  85. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +196 -10
  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/rampPos.json +52 -52
  90. package/package/kisscomps/components/KanBan/kanban.vue +231 -231
  91. package/package/kisscomps/components/MessageBox/index.vue +96 -96
  92. package/package/kisscomps/components/PatternOptimize/PatternOptimize.vue +329 -329
  93. package/package/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  94. package/package/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  95. package/package/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  96. package/package/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  97. package/package/kisscomps/components/PhaseMarker/index.js +6 -6
  98. package/package/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  99. package/package/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  100. package/package/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  101. package/package/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  102. package/package/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  103. package/package/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  104. package/package/kisscomps/components/PhasePedSelect/index.vue +206 -206
  105. package/package/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +365 -365
  106. package/package/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  107. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  108. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  109. package/package/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  110. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  111. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  112. package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  113. package/package/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  114. package/package/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  115. package/package/kisscomps/components/StageOptimize/StageOptimize.vue +367 -367
  116. package/package/kisscomps/components/StageOptimize/index.js +2 -2
  117. package/package/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  118. package/package/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  119. package/package/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  120. package/package/kisscomps/components/XiaoKanban/index.vue +122 -122
  121. package/package/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  122. package/package/kisscomps/components/patternConfig/planMenu.vue +329 -329
  123. package/package/kissui.min.js +1 -1
  124. package/package.json +2 -2
  125. package/src/EdgeMgr/EdgeModelBase.js +16 -16
  126. package/src/EdgeMgr/controller/crossDiagramMgr.js +125 -125
  127. package/src/api/authapi.js +31 -31
  128. package/src/api/config.js +21 -21
  129. package/src/api/control.js +117 -110
  130. package/src/api/device.js +135 -135
  131. package/src/api/fault.js +66 -66
  132. package/src/api/index.js +24 -24
  133. package/src/api/login.js +46 -46
  134. package/src/api/optimize.js +72 -72
  135. package/src/api/passwdAssest.js +101 -101
  136. package/src/api/permission.js +33 -33
  137. package/src/api/route.js +171 -171
  138. package/src/assets/font/LICENSE.txt +202 -202
  139. package/src/assets/font/font.css +6 -6
  140. package/src/i18n/index.js +26 -26
  141. package/src/i18n/language/en.js +4 -1
  142. package/src/i18n/language/ru.js +4 -1
  143. package/src/i18n/language/zh.js +4 -1
  144. package/src/icons/index.js +20 -20
  145. package/src/icons/svg/azimuthlocking.svg +26 -26
  146. package/src/icons/svg/bendi.svg +110 -110
  147. package/src/icons/svg/bujin.svg +36 -36
  148. package/src/icons/svg/connectBlue.svg +7 -7
  149. package/src/icons/svg/currentvolume.svg +0 -0
  150. package/src/icons/svg/custom-BRTlane.svg +40 -40
  151. package/src/icons/svg/custom-buslane.svg +40 -40
  152. package/src/icons/svg/custom-detector.svg +12 -12
  153. package/src/icons/svg/custom-east-bottom.svg +32 -32
  154. package/src/icons/svg/custom-east-top.svg +32 -32
  155. package/src/icons/svg/custom-ewped.svg +35 -35
  156. package/src/icons/svg/custom-nonmotorizedlane.svg +40 -40
  157. package/src/icons/svg/custom-north-left.svg +32 -32
  158. package/src/icons/svg/custom-north-right.svg +32 -32
  159. package/src/icons/svg/custom-peddetector.svg +17 -17
  160. package/src/icons/svg/custom-snped.svg +35 -35
  161. package/src/icons/svg/custom-south-left.svg +32 -32
  162. package/src/icons/svg/custom-south-right.svg +32 -32
  163. package/src/icons/svg/custom-tramlane.svg +40 -40
  164. package/src/icons/svg/custom-vehiclebranch.svg +40 -40
  165. package/src/icons/svg/custom-vehiclemainroad.svg +41 -41
  166. package/src/icons/svg/custom-west-bottom.svg +32 -32
  167. package/src/icons/svg/custom-west-top.svg +32 -32
  168. package/src/icons/svg/custom-xlped.svg +14 -14
  169. package/src/icons/svg/custom-xrped.svg +14 -14
  170. package/src/icons/svg/cutRed.svg +7 -7
  171. package/src/icons/svg/cycle.svg +0 -0
  172. package/src/icons/svg/dingzhouqi.svg +34 -34
  173. package/src/icons/svg/ganyingkongzhi.svg +30 -30
  174. package/src/icons/svg/guandeng.svg +81 -81
  175. package/src/icons/svg/huangshan.svg +71 -71
  176. package/src/icons/svg/locked.svg +9 -0
  177. package/src/icons/svg/maincontrol.svg +0 -0
  178. package/src/icons/svg/manualcontrolbackground.svg +51 -51
  179. package/src/icons/svg/manualcontrolbackground1.svg +62 -62
  180. package/src/icons/svg/manualcontrolbackgrounden.svg +62 -62
  181. package/src/icons/svg/model.svg +0 -0
  182. package/src/icons/svg/phasediff.svg +0 -0
  183. package/src/icons/svg/prioritycontrol.svg +21 -21
  184. package/src/icons/svg/quanhong.svg +86 -86
  185. package/src/icons/svg/shanghe.svg +11 -11
  186. package/src/icons/svg/shoudong.svg +103 -103
  187. package/src/icons/svg/tentativeplan.svg +28 -28
  188. package/src/icons/svg/time.svg +0 -0
  189. package/src/icons/svg/wuxianlan.svg +46 -46
  190. package/src/icons/svg/xiala.svg +11 -11
  191. package/src/icons/svg/xingrenguojie.svg +33 -33
  192. package/src/icons/svg/xitong.svg +89 -89
  193. package/src/icons/svg/youxian.svg +41 -41
  194. package/src/icons/svg/zizhukongzhi.svg +43 -43
  195. package/src/kisscomps/components/Channelization/Channelization.vue +585 -585
  196. package/src/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  197. package/src/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  198. package/src/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  199. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  200. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  201. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  202. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  203. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  204. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  205. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  206. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  207. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  208. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  209. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  210. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  211. package/src/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  212. package/src/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  213. package/src/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  214. package/src/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  215. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  216. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  217. package/src/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  218. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  219. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  220. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  221. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  222. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  223. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  224. package/src/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  225. package/src/kisscomps/components/DrawChannelization/drawsvg/index.vue +144 -144
  226. package/src/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  227. package/src/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  228. package/src/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  229. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  230. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  231. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  232. package/src/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  233. package/src/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  234. package/src/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  235. package/src/kisscomps/components/IntersectionMap/crossDirection/RoadNameEditDialog.vue +96 -0
  236. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +692 -629
  237. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  238. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  239. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  240. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  241. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  242. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  243. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  244. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  245. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +563 -498
  246. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +545 -484
  247. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +550 -488
  248. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +630 -566
  249. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  250. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  251. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  252. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  253. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  254. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  255. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  256. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  257. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  258. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  259. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  260. package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +196 -10
  261. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  262. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  263. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  264. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  265. package/src/kisscomps/components/KanBan/kanban.vue +231 -231
  266. package/src/kisscomps/components/MessageBox/index.vue +96 -96
  267. package/src/kisscomps/components/PatternOptimize/PatternOptimize.vue +329 -329
  268. package/src/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  269. package/src/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  270. package/src/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  271. package/src/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  272. package/src/kisscomps/components/PhaseMarker/index.js +6 -6
  273. package/src/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  274. package/src/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  275. package/src/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  276. package/src/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  277. package/src/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  278. package/src/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  279. package/src/kisscomps/components/PhasePedSelect/index.vue +206 -206
  280. package/src/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +365 -365
  281. package/src/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  282. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  283. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  284. package/src/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  285. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  286. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  287. package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  288. package/src/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  289. package/src/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  290. package/src/kisscomps/components/StageOptimize/StageOptimize.vue +367 -367
  291. package/src/kisscomps/components/StageOptimize/index.js +2 -2
  292. package/src/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  293. package/src/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  294. package/src/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  295. package/src/kisscomps/components/XiaoKanban/index.vue +122 -122
  296. package/src/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  297. package/src/kisscomps/components/patternConfig/planMenu.vue +329 -329
  298. package/src/lib/publicjs/ArryListUtil.js +38 -38
  299. package/src/lib/publicjs/HttpurlMgr.js +45 -45
  300. package/src/lib/publicjs/KissApi.js +158 -158
  301. package/src/lib/publicjs/KissWSSub/Heartcheck.js +128 -128
  302. package/src/lib/publicjs/KissWSSub/KissWsSub.js +91 -91
  303. package/src/lib/publicjs/KissWSSub/KissWsSubByType.js +152 -152
  304. package/src/lib/publicjs/KissWSSub/SimuWsSubByType.js +44 -44
  305. package/src/lib/publicjs/KissWSSub/Sub.js +51 -51
  306. package/src/lib/publicjs/KissWSSub/SubChannel.js +119 -119
  307. package/src/lib/publicjs/basecomponents.js +65 -65
  308. package/src/lib/publicjs/localStorage.js +112 -112
  309. package/src/lib/publicjs/objdeepcopy.js +32 -32
  310. package/src/lib/publicjs/pageScroll.js +30 -30
  311. package/src/lib/publicjs/passwdAssest.js +101 -101
  312. package/src/lib/publicjs/styleclassfactory.js +32 -32
  313. package/src/store/index.js +26 -26
  314. package/src/store/modules/globalParam.js +67 -67
  315. package/src/utils/conflictList.js +87 -87
  316. package/src/utils/dateFormat.js +41 -41
  317. package/src/utils/index.js +69 -69
  318. package/src/utils/phaseList.js +203 -203
  319. package/src/utils/validate.js +43 -43
  320. package/src/views/home.1.vue +479 -479
  321. package/src/views/home.vue +93 -93
  322. package/static/apiconfig.json +5 -0
  323. package/static/styles/channelizatioon.scss +433 -433
  324. package/static/styles/common.scss +30 -30
  325. package/static/styles/commonkanban.scss +168 -168
  326. package/static/styles/dark/index.scss +2 -2
  327. package/static/styles/dark/theme/element-dark.scss +44 -44
  328. package/static/styles/index.scss +84 -84
  329. package/static/styles/intersection.scss +185 -181
  330. package/static/styles/light/index.scss +2 -2
  331. package/static/styles/light/theme/element-light.scss +44 -44
  332. package/static/styles/patternConfig.scss +56 -56
  333. package/static/styles/phasePedSelect.scss +71 -71
  334. package/static/styles/stages.scss +57 -57
  335. package/static/styles/xiaokanban.scss +61 -61
  336. package/static/token.json +2 -2
  337. package/test/e2e/custom-assertions/elementCount.js +27 -27
  338. package/test/e2e/nightwatch.conf.js +46 -46
  339. package/test/e2e/runner.js +48 -48
  340. package/test/e2e/specs/test.js +19 -19
  341. package/test/unit/.eslintrc +7 -7
  342. package/test/unit/jest.conf.js +30 -30
  343. package/test/unit/setup.js +3 -3
  344. package/test/unit/specs/HelloWorld.spec.js +11 -11
  345. package/package/kissui.js +0 -216608
  346. package/pnpm-lock.yaml +0 -16362
@@ -1,169 +1,169 @@
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 :style="{position: 'absolute', left: Data.busleft, top: Data.bustop}" class="westbusmap">
14
- <div :class="Data.id >= 5 && Data.id <= 8 ? '' : 'hide'">
15
- <svg
16
- version="1.1"
17
- id="图层_1"
18
- xmlns="http://www.w3.org/2000/svg"
19
- xmlns:xlink="http://www.w3.org/1999/xlink"
20
- x="0px"
21
- y="0px"
22
- viewBox="0 0 91 24"
23
- style="enable-background:new 0 0 91 24;"
24
- xml:space="preserve"
25
- :width="IconLengh"
26
- :height="IconWdith"
27
- >
28
- <g id="有轨电车-西" v-if="Data.controltype === 5">
29
- <path
30
- class="st0"
31
- d="M4,24h83c2.2,0,4-1.8,4-4V4c0-2.2-1.8-4-4-4H4C1.8,0,0,1.8,0,4v16C0,22.2,1.8,24,4,24z"
32
- ></path>
33
- <g>
34
- <path
35
- class="st1"
36
- d="M46.2,13.9L46.2,13.9c0-3.4-2.8-6.2-6.2-6.2h-3.2l0.8-0.5c0.1,0,0.1-0.1,0.1-0.3c0-0.1-0.1-0.1-0.1-0.3
37
- l-3.1-1.2c-0.1,0-0.3,0-0.4,0.1c0,0.1,0,0.3,0.1,0.4l2.6,1l-1,0.6H14.5c-0.4,0-0.6,0.3-0.6,0.6v7.8c0,0.4,0.3,0.6,0.6,0.6h0.4h0.6
38
- h0.9h0.4h0.9h4.9h0.9H24h0.9h4.9h0.9h0.4H32h5.3h0.9h0.4h0.9H40h4.3C45.4,16.7,46.2,14.8,46.2,13.9z M17.2,12.5
39
- c0,0.3-0.3,0.5-0.5,0.5h-1.6c-0.3,0-0.5-0.3-0.5-0.5v-2.2c0-0.3,0.3-0.5,0.5-0.5h1.6c0.3,0,0.5,0.3,0.5,0.5V12.5z M20.2,12.5
40
- c0,0.3-0.3,0.5-0.5,0.5h-1.6c-0.3,0-0.5-0.3-0.5-0.5v-2.2c0-0.3,0.3-0.5,0.5-0.5h1.6c0.3,0,0.5,0.3,0.5,0.5V12.5z M23.5,12.6
41
- c0.1,0.3-0.2,0.5-0.4,0.5h-1.6c-0.3,0-0.5-0.3-0.5-0.5v-2.2c0-0.3,0.3-0.5,0.5-0.5H23c0.3,0,0.5,0.3,0.5,0.5V12.6L23.5,12.6z
42
- M26.5,12.5c0,0.3-0.3,0.5-0.5,0.5h-1.6c-0.3,0-0.5-0.3-0.5-0.5v-2.2c0-0.3,0.3-0.5,0.5-0.5H26c0.3,0,0.5,0.3,0.5,0.5V12.5z
43
- M29.6,12.5c0,0.3-0.3,0.5-0.5,0.5h-1.6c-0.3,0-0.5-0.3-0.5-0.5v-2.2c0-0.3,0.3-0.5,0.5-0.5h1.6c0.3,0,0.5,0.3,0.5,0.5V12.5z
44
- M32.9,12.5c0,0.3-0.3,0.5-0.5,0.5h-1.6c-0.3,0-0.5-0.3-0.5-0.5v-2.2c0-0.3,0.3-0.5,0.5-0.5h1.6c0.3,0,0.5,0.3,0.5,0.5V12.5z
45
- M36,12.5c0,0.3-0.3,0.5-0.5,0.5h-1.6c-0.3,0-0.5-0.3-0.5-0.5v-2.2c0-0.3,0.3-0.5,0.5-0.5h1.6c0.3,0,0.5,0.3,0.5,0.5V12.5z
46
- M39,12.6c0,0.3-0.3,0.5-0.5,0.5h-1.6c-0.3,0-0.5-0.3-0.5-0.5v-2.2c0-0.3,0.3-0.5,0.5-0.5h1.7c0.3,0,0.5,0.3,0.5,0.5v2.2H39z
47
- M43.4,14.9c0.1,0.4-0.3,0.8-0.7,0.8h-1.6c-0.4,0-0.8-0.4-0.8-0.8v-4.3c0-0.4,0.4-0.8,0.8-0.8c1.3,0,2.3,1,2.3,2.3V14.9L43.4,14.9
48
- z"
49
- ></path>
50
- <path
51
- class="st1"
52
- d="M13.1,17.6h34c0.3,0,0.5,0.3,0.5,0.5s-0.3,0.5-0.5,0.5h-34c-0.3,0-0.5-0.3-0.5-0.5S12.8,17.6,13.1,17.6z"
53
- ></path>
54
- </g>
55
- </g>
56
- <g id="公交车-西" v-if="Data.controltype === 3">
57
- <path
58
- class="st0"
59
- d="M4,24h83c2.2,0,4-1.8,4-4V4c0-2.2-1.8-4-4-4H4C1.8,0,0,1.8,0,4v16C0,22.2,1.8,24,4,24z"
60
- ></path>
61
- <g>
62
- <path
63
- class="st1"
64
- d="M38.2,15.8c0,1,0.8,1.8,1.8,1.8s1.8-0.8,1.8-1.8S41,14,40,14C39.2,14,38.2,14.8,38.2,15.8z M38.7,15.8
65
- c0-0.6,0.5-1.3,1.3-1.3s1.3,0.5,1.3,1.3c0,0.6-0.5,1.3-1.3,1.3C39.2,17,38.7,16.4,38.7,15.8z"
66
- ></path>
67
- <path
68
- class="st1"
69
- d="M20.9,15.8c0,1,0.8,1.8,1.8,1.8s1.8-0.8,1.8-1.8S23.7,14,22.7,14S20.9,14.8,20.9,15.8z M21.4,15.8
70
- c0-0.6,0.5-1.3,1.3-1.3c0.6,0,1.3,0.5,1.3,1.3c0,0.6-0.5,1.3-1.3,1.3C22,17.1,21.4,16.4,21.4,15.8z"
71
- ></path>
72
- <path
73
- class="st1"
74
- d="M13.7,9.6v4.7c1.1,0.3,3.8,0.9,5.2,1.3h1.5c0-1.3,1.1-2.3,2.4-2.3s2.3,1,2.4,2.3h12.5c0-1.3,1.1-2.3,2.4-2.3
75
- s2.3,1,2.4,2.3h3.4h0.9H47c0.4,0,0.6-0.3,0.6-0.6v-3.4l-0.8-0.4v-3c0-1-0.8-1.8-1.8-1.8H17.3C15.2,6.3,13.7,7.8,13.7,9.6z M43,8.3
76
- c0-0.4,0.3-0.6,0.6-0.6h1c0.4,0,0.6,0.3,0.6,0.6V14c0,0.4-0.3,0.6-0.6,0.6h-0.9c-0.4,0-0.6-0.3-0.6-0.6L43,8.3L43,8.3z M36,8.1
77
- c0-0.3,0.3-0.5,0.5-0.5h4.9c0.3,0,0.5,0.3,0.5,0.5v2.1c0,0.3-0.3,0.5-0.5,0.5h-4.9c-0.3,0-0.5-0.3-0.5-0.5V8.1z M29.3,8.1
78
- c0-0.3,0.3-0.5,0.5-0.5h4.9c0.3,0,0.5,0.3,0.5,0.5v2.1c0,0.3-0.3,0.5-0.5,0.5h-4.9c-0.3,0-0.5-0.3-0.5-0.5
79
- C29.3,10.2,29.3,8.1,29.3,8.1z M22.5,8.1c0-0.3,0.3-0.5,0.5-0.5h5c0.3,0,0.5,0.3,0.5,0.5v2.1c0,0.3-0.3,0.5-0.5,0.5h-5
80
- c-0.3,0-0.5-0.3-0.5-0.5V8.1z M15.7,8.1c0-0.3,0.3-0.5,0.5-0.5h4.9c0.3,0,0.5,0.3,0.5,0.5v2.1c0,0.3-0.3,0.5-0.5,0.5h-4.9
81
- c-0.3,0-0.5-0.3-0.5-0.5C15.7,10.2,15.7,8.1,15.7,8.1z"
82
- ></path>
83
- </g>
84
- </g>
85
- <g id="BRT-西" v-if="Data.controltype === 4">
86
- <path
87
- class="st0"
88
- d="M4,24h83c2.2,0,4-1.8,4-4V4c0-2.2-1.8-4-4-4H4C1.8,0,0,1.8,0,4v16C0,22.2,1.8,24,4,24z"
89
- ></path>
90
- <g>
91
- <path
92
- class="st1"
93
- d="M16.5,5.6h4.2c1.2,0,2,0.1,2.4,0.3C23.6,6.1,24,6.5,24.3,7c0.3,0.5,0.5,1.1,0.5,1.8c0,0.6-0.1,1.2-0.4,1.7
94
- s-0.6,0.9-1.1,1.1c0.6,0.2,1.1,0.6,1.5,1.1s0.5,1.2,0.5,2c0,0.9-0.2,1.7-0.7,2.4s-1,1-1.6,1.2c-0.4,0.1-1.4,0.2-3,0.2h-3.6V5.6
95
- H16.5z M18.6,7.7v3H20c0.8,0,1.4,0,1.6,0c0.4-0.1,0.6-0.2,0.9-0.5s0.3-0.6,0.3-1s-0.1-0.7-0.3-0.9c-0.2-0.2-0.4-0.4-0.6-0.4
96
- c-0.2-0.1-0.9-0.1-2-0.1h-1.3V7.7z M18.6,12.8v3.4h2c0.9,0,1.4,0,1.7-0.1c0.2-0.1,0.5-0.3,0.6-0.5c0.2-0.3,0.3-0.6,0.3-1
97
- s-0.1-0.8-0.3-1s-0.4-0.5-0.7-0.6c-0.3-0.1-0.9-0.2-1.8-0.2H18.6z"
98
- ></path>
99
- <path
100
- class="st1"
101
- d="M28.3,18.4V5.6h4.5c1.1,0,2,0.1,2.5,0.3s0.9,0.6,1.2,1.2S37,8.4,37,9.2c0,1-0.2,1.8-0.7,2.4
102
- c-0.5,0.6-1.2,1-2.1,1.2c0.5,0.3,0.8,0.7,1.1,1.1S36,15,36.5,16l1.3,2.5h-2.5l-1.5-2.8c-0.6-1-0.9-1.6-1.1-1.9s-0.4-0.4-0.6-0.5
103
- s-0.6-0.1-1.1-0.1h-0.4v5.4h-2.3V18.4z M30.4,11H32c1,0,1.6,0,1.8-0.1s0.5-0.3,0.6-0.5s0.2-0.6,0.2-1s-0.1-0.7-0.2-1
104
- S34,8,33.7,7.9c-0.2-0.1-0.8-0.1-1.7-0.1h-1.7V11H30.4z"
105
- ></path>
106
- <path class="st1" d="M42.4,18.4V7.7h-3.1V5.6h8.4v2.2h-3.1v10.7h-2.2V18.4z"></path>
107
- </g>
108
- </g>
109
- <g id="非机动车-西" v-if="Data.controltype === 6">
110
- <path
111
- class="st0"
112
- d="M4,24h83c2.2,0,4-1.8,4-4V4c0-2.2-1.8-4-4-4H4C1.8,0,0,1.8,0,4v16C0,22.2,1.8,24,4,24z"
113
- ></path>
114
- <path
115
- class="st1"
116
- d="M23.9,15.1c0,2.6,2.1,4.7,4.7,4.7c2.4,0,4.4-1.8,4.7-4.1h1.4c0.1,0,0.1,0,0.1,0v-0.3l0,0l0.1,0.2
117
- c0,0,0,0,0.1,0c0,0,0.1,0,0.1-0.1l0,0l0,0l5.4-5.3l0.2,0.7c-1.6,0.8-2.6,2.4-2.6,4.2c0,2.6,2.1,4.7,4.7,4.7s4.7-2.1,4.7-4.7
118
- s-2.1-4.7-4.7-4.7c-0.2,0-0.5,0-0.7,0.1l-1.4-4.4C40.5,5.6,40,4.7,39,4.7h-1.3C37.4,4.7,37,5,37,5.5s0.3,0.7,0.7,0.7H39
119
- c0.1,0,0.3,0.2,0.3,0.4l0.2,0.8h-7.2L32.1,7h0.7c0.4,0,0.7-0.3,0.7-0.7c0-0.2-0.1-0.4-0.2-0.5S33,5.6,32.8,5.6h-3
120
- c-0.4,0-0.7,0.3-0.7,0.7c0,0.2,0.1,0.4,0.2,0.5S29.6,7,29.8,7h0.7L31,8.2l-1.2,2.5c-0.4-0.1-0.8-0.2-1.3-0.2
121
- C26,10.4,23.9,12.5,23.9,15.1z M39.9,8.8L35,13.7l-2-4.9C33,8.8,39.9,8.8,39.9,8.8z M29.7,14.2l0.8-1.7c0.6,0.4,1,1,1.2,1.7H29.7z
122
- M31.8,9.9l1.8,4.3h-0.3c-0.2-1.3-1-2.4-2-3.1L31.8,9.9z M31.8,15.7c-0.3,1.5-1.6,2.6-3.2,2.6c-1.8,0-3.2-1.5-3.2-3.2
123
- c0-1.8,1.5-3.2,3.2-3.2c0.2,0,0.4,0,0.6,0.1l-1.3,2.7c-0.1,0.2-0.1,0.5,0,0.7s0.4,0.3,0.6,0.3H31.8z M42.6,11.9c0.1,0,0.2,0,0.3,0
124
- c1.8,0,3.2,1.5,3.2,3.2c0,1.8-1.5,3.2-3.2,3.2c-1.8,0-3.2-1.5-3.2-3.2c0-1.1,0.6-2.2,1.6-2.8l1,3.1c0.1,0.4,0.5,0.6,0.9,0.5
125
- c0.2-0.1,0.3-0.2,0.4-0.4s0.1-0.4,0-0.6L42.6,11.9z"
126
- ></path>
127
- </g>
128
- </svg>
129
- </div>
130
- </div>
131
- </template>
132
- <script>
133
- export default {
134
- name: 'westBusSvg',
135
- props: {
136
- IconLengh: {
137
- // 相位图标长度
138
- type: String,
139
- default: '91px'
140
- },
141
- IconWdith: {
142
- // 相位图标宽度
143
- type: String,
144
- default: '24px'
145
- },
146
- Data: {
147
- type: Object
148
- }
149
- },
150
- methods: {},
151
- mounted () {}
152
- }
153
- </script>
154
- <style scoped>
155
- .invisible {
156
- visibility: hidden;
157
- }
158
- .hide {
159
- display: none;
160
- }
161
- .st0 {
162
- opacity: 0.8;
163
- fill: #5f5f5f;
164
- enable-background: new;
165
- }
166
- .st1 {
167
- fill: #ffffff;
168
- }
169
- </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 :style="{position: 'absolute', left: Data.busleft, top: Data.bustop}" class="westbusmap">
14
+ <div :class="Data.id >= 5 && Data.id <= 8 ? '' : 'hide'">
15
+ <svg
16
+ version="1.1"
17
+ id="图层_1"
18
+ xmlns="http://www.w3.org/2000/svg"
19
+ xmlns:xlink="http://www.w3.org/1999/xlink"
20
+ x="0px"
21
+ y="0px"
22
+ viewBox="0 0 91 24"
23
+ style="enable-background:new 0 0 91 24;"
24
+ xml:space="preserve"
25
+ :width="IconLengh"
26
+ :height="IconWdith"
27
+ >
28
+ <g id="有轨电车-西" v-if="Data.controltype === 5">
29
+ <path
30
+ class="st0"
31
+ d="M4,24h83c2.2,0,4-1.8,4-4V4c0-2.2-1.8-4-4-4H4C1.8,0,0,1.8,0,4v16C0,22.2,1.8,24,4,24z"
32
+ ></path>
33
+ <g>
34
+ <path
35
+ class="st1"
36
+ d="M46.2,13.9L46.2,13.9c0-3.4-2.8-6.2-6.2-6.2h-3.2l0.8-0.5c0.1,0,0.1-0.1,0.1-0.3c0-0.1-0.1-0.1-0.1-0.3
37
+ l-3.1-1.2c-0.1,0-0.3,0-0.4,0.1c0,0.1,0,0.3,0.1,0.4l2.6,1l-1,0.6H14.5c-0.4,0-0.6,0.3-0.6,0.6v7.8c0,0.4,0.3,0.6,0.6,0.6h0.4h0.6
38
+ h0.9h0.4h0.9h4.9h0.9H24h0.9h4.9h0.9h0.4H32h5.3h0.9h0.4h0.9H40h4.3C45.4,16.7,46.2,14.8,46.2,13.9z M17.2,12.5
39
+ c0,0.3-0.3,0.5-0.5,0.5h-1.6c-0.3,0-0.5-0.3-0.5-0.5v-2.2c0-0.3,0.3-0.5,0.5-0.5h1.6c0.3,0,0.5,0.3,0.5,0.5V12.5z M20.2,12.5
40
+ c0,0.3-0.3,0.5-0.5,0.5h-1.6c-0.3,0-0.5-0.3-0.5-0.5v-2.2c0-0.3,0.3-0.5,0.5-0.5h1.6c0.3,0,0.5,0.3,0.5,0.5V12.5z M23.5,12.6
41
+ c0.1,0.3-0.2,0.5-0.4,0.5h-1.6c-0.3,0-0.5-0.3-0.5-0.5v-2.2c0-0.3,0.3-0.5,0.5-0.5H23c0.3,0,0.5,0.3,0.5,0.5V12.6L23.5,12.6z
42
+ M26.5,12.5c0,0.3-0.3,0.5-0.5,0.5h-1.6c-0.3,0-0.5-0.3-0.5-0.5v-2.2c0-0.3,0.3-0.5,0.5-0.5H26c0.3,0,0.5,0.3,0.5,0.5V12.5z
43
+ M29.6,12.5c0,0.3-0.3,0.5-0.5,0.5h-1.6c-0.3,0-0.5-0.3-0.5-0.5v-2.2c0-0.3,0.3-0.5,0.5-0.5h1.6c0.3,0,0.5,0.3,0.5,0.5V12.5z
44
+ M32.9,12.5c0,0.3-0.3,0.5-0.5,0.5h-1.6c-0.3,0-0.5-0.3-0.5-0.5v-2.2c0-0.3,0.3-0.5,0.5-0.5h1.6c0.3,0,0.5,0.3,0.5,0.5V12.5z
45
+ M36,12.5c0,0.3-0.3,0.5-0.5,0.5h-1.6c-0.3,0-0.5-0.3-0.5-0.5v-2.2c0-0.3,0.3-0.5,0.5-0.5h1.6c0.3,0,0.5,0.3,0.5,0.5V12.5z
46
+ M39,12.6c0,0.3-0.3,0.5-0.5,0.5h-1.6c-0.3,0-0.5-0.3-0.5-0.5v-2.2c0-0.3,0.3-0.5,0.5-0.5h1.7c0.3,0,0.5,0.3,0.5,0.5v2.2H39z
47
+ M43.4,14.9c0.1,0.4-0.3,0.8-0.7,0.8h-1.6c-0.4,0-0.8-0.4-0.8-0.8v-4.3c0-0.4,0.4-0.8,0.8-0.8c1.3,0,2.3,1,2.3,2.3V14.9L43.4,14.9
48
+ z"
49
+ ></path>
50
+ <path
51
+ class="st1"
52
+ d="M13.1,17.6h34c0.3,0,0.5,0.3,0.5,0.5s-0.3,0.5-0.5,0.5h-34c-0.3,0-0.5-0.3-0.5-0.5S12.8,17.6,13.1,17.6z"
53
+ ></path>
54
+ </g>
55
+ </g>
56
+ <g id="公交车-西" v-if="Data.controltype === 3">
57
+ <path
58
+ class="st0"
59
+ d="M4,24h83c2.2,0,4-1.8,4-4V4c0-2.2-1.8-4-4-4H4C1.8,0,0,1.8,0,4v16C0,22.2,1.8,24,4,24z"
60
+ ></path>
61
+ <g>
62
+ <path
63
+ class="st1"
64
+ d="M38.2,15.8c0,1,0.8,1.8,1.8,1.8s1.8-0.8,1.8-1.8S41,14,40,14C39.2,14,38.2,14.8,38.2,15.8z M38.7,15.8
65
+ c0-0.6,0.5-1.3,1.3-1.3s1.3,0.5,1.3,1.3c0,0.6-0.5,1.3-1.3,1.3C39.2,17,38.7,16.4,38.7,15.8z"
66
+ ></path>
67
+ <path
68
+ class="st1"
69
+ d="M20.9,15.8c0,1,0.8,1.8,1.8,1.8s1.8-0.8,1.8-1.8S23.7,14,22.7,14S20.9,14.8,20.9,15.8z M21.4,15.8
70
+ c0-0.6,0.5-1.3,1.3-1.3c0.6,0,1.3,0.5,1.3,1.3c0,0.6-0.5,1.3-1.3,1.3C22,17.1,21.4,16.4,21.4,15.8z"
71
+ ></path>
72
+ <path
73
+ class="st1"
74
+ d="M13.7,9.6v4.7c1.1,0.3,3.8,0.9,5.2,1.3h1.5c0-1.3,1.1-2.3,2.4-2.3s2.3,1,2.4,2.3h12.5c0-1.3,1.1-2.3,2.4-2.3
75
+ s2.3,1,2.4,2.3h3.4h0.9H47c0.4,0,0.6-0.3,0.6-0.6v-3.4l-0.8-0.4v-3c0-1-0.8-1.8-1.8-1.8H17.3C15.2,6.3,13.7,7.8,13.7,9.6z M43,8.3
76
+ c0-0.4,0.3-0.6,0.6-0.6h1c0.4,0,0.6,0.3,0.6,0.6V14c0,0.4-0.3,0.6-0.6,0.6h-0.9c-0.4,0-0.6-0.3-0.6-0.6L43,8.3L43,8.3z M36,8.1
77
+ c0-0.3,0.3-0.5,0.5-0.5h4.9c0.3,0,0.5,0.3,0.5,0.5v2.1c0,0.3-0.3,0.5-0.5,0.5h-4.9c-0.3,0-0.5-0.3-0.5-0.5V8.1z M29.3,8.1
78
+ c0-0.3,0.3-0.5,0.5-0.5h4.9c0.3,0,0.5,0.3,0.5,0.5v2.1c0,0.3-0.3,0.5-0.5,0.5h-4.9c-0.3,0-0.5-0.3-0.5-0.5
79
+ C29.3,10.2,29.3,8.1,29.3,8.1z M22.5,8.1c0-0.3,0.3-0.5,0.5-0.5h5c0.3,0,0.5,0.3,0.5,0.5v2.1c0,0.3-0.3,0.5-0.5,0.5h-5
80
+ c-0.3,0-0.5-0.3-0.5-0.5V8.1z M15.7,8.1c0-0.3,0.3-0.5,0.5-0.5h4.9c0.3,0,0.5,0.3,0.5,0.5v2.1c0,0.3-0.3,0.5-0.5,0.5h-4.9
81
+ c-0.3,0-0.5-0.3-0.5-0.5C15.7,10.2,15.7,8.1,15.7,8.1z"
82
+ ></path>
83
+ </g>
84
+ </g>
85
+ <g id="BRT-西" v-if="Data.controltype === 4">
86
+ <path
87
+ class="st0"
88
+ d="M4,24h83c2.2,0,4-1.8,4-4V4c0-2.2-1.8-4-4-4H4C1.8,0,0,1.8,0,4v16C0,22.2,1.8,24,4,24z"
89
+ ></path>
90
+ <g>
91
+ <path
92
+ class="st1"
93
+ d="M16.5,5.6h4.2c1.2,0,2,0.1,2.4,0.3C23.6,6.1,24,6.5,24.3,7c0.3,0.5,0.5,1.1,0.5,1.8c0,0.6-0.1,1.2-0.4,1.7
94
+ s-0.6,0.9-1.1,1.1c0.6,0.2,1.1,0.6,1.5,1.1s0.5,1.2,0.5,2c0,0.9-0.2,1.7-0.7,2.4s-1,1-1.6,1.2c-0.4,0.1-1.4,0.2-3,0.2h-3.6V5.6
95
+ H16.5z M18.6,7.7v3H20c0.8,0,1.4,0,1.6,0c0.4-0.1,0.6-0.2,0.9-0.5s0.3-0.6,0.3-1s-0.1-0.7-0.3-0.9c-0.2-0.2-0.4-0.4-0.6-0.4
96
+ c-0.2-0.1-0.9-0.1-2-0.1h-1.3V7.7z M18.6,12.8v3.4h2c0.9,0,1.4,0,1.7-0.1c0.2-0.1,0.5-0.3,0.6-0.5c0.2-0.3,0.3-0.6,0.3-1
97
+ s-0.1-0.8-0.3-1s-0.4-0.5-0.7-0.6c-0.3-0.1-0.9-0.2-1.8-0.2H18.6z"
98
+ ></path>
99
+ <path
100
+ class="st1"
101
+ d="M28.3,18.4V5.6h4.5c1.1,0,2,0.1,2.5,0.3s0.9,0.6,1.2,1.2S37,8.4,37,9.2c0,1-0.2,1.8-0.7,2.4
102
+ c-0.5,0.6-1.2,1-2.1,1.2c0.5,0.3,0.8,0.7,1.1,1.1S36,15,36.5,16l1.3,2.5h-2.5l-1.5-2.8c-0.6-1-0.9-1.6-1.1-1.9s-0.4-0.4-0.6-0.5
103
+ s-0.6-0.1-1.1-0.1h-0.4v5.4h-2.3V18.4z M30.4,11H32c1,0,1.6,0,1.8-0.1s0.5-0.3,0.6-0.5s0.2-0.6,0.2-1s-0.1-0.7-0.2-1
104
+ S34,8,33.7,7.9c-0.2-0.1-0.8-0.1-1.7-0.1h-1.7V11H30.4z"
105
+ ></path>
106
+ <path class="st1" d="M42.4,18.4V7.7h-3.1V5.6h8.4v2.2h-3.1v10.7h-2.2V18.4z"></path>
107
+ </g>
108
+ </g>
109
+ <g id="非机动车-西" v-if="Data.controltype === 6">
110
+ <path
111
+ class="st0"
112
+ d="M4,24h83c2.2,0,4-1.8,4-4V4c0-2.2-1.8-4-4-4H4C1.8,0,0,1.8,0,4v16C0,22.2,1.8,24,4,24z"
113
+ ></path>
114
+ <path
115
+ class="st1"
116
+ d="M23.9,15.1c0,2.6,2.1,4.7,4.7,4.7c2.4,0,4.4-1.8,4.7-4.1h1.4c0.1,0,0.1,0,0.1,0v-0.3l0,0l0.1,0.2
117
+ c0,0,0,0,0.1,0c0,0,0.1,0,0.1-0.1l0,0l0,0l5.4-5.3l0.2,0.7c-1.6,0.8-2.6,2.4-2.6,4.2c0,2.6,2.1,4.7,4.7,4.7s4.7-2.1,4.7-4.7
118
+ s-2.1-4.7-4.7-4.7c-0.2,0-0.5,0-0.7,0.1l-1.4-4.4C40.5,5.6,40,4.7,39,4.7h-1.3C37.4,4.7,37,5,37,5.5s0.3,0.7,0.7,0.7H39
119
+ c0.1,0,0.3,0.2,0.3,0.4l0.2,0.8h-7.2L32.1,7h0.7c0.4,0,0.7-0.3,0.7-0.7c0-0.2-0.1-0.4-0.2-0.5S33,5.6,32.8,5.6h-3
120
+ c-0.4,0-0.7,0.3-0.7,0.7c0,0.2,0.1,0.4,0.2,0.5S29.6,7,29.8,7h0.7L31,8.2l-1.2,2.5c-0.4-0.1-0.8-0.2-1.3-0.2
121
+ C26,10.4,23.9,12.5,23.9,15.1z M39.9,8.8L35,13.7l-2-4.9C33,8.8,39.9,8.8,39.9,8.8z M29.7,14.2l0.8-1.7c0.6,0.4,1,1,1.2,1.7H29.7z
122
+ M31.8,9.9l1.8,4.3h-0.3c-0.2-1.3-1-2.4-2-3.1L31.8,9.9z M31.8,15.7c-0.3,1.5-1.6,2.6-3.2,2.6c-1.8,0-3.2-1.5-3.2-3.2
123
+ c0-1.8,1.5-3.2,3.2-3.2c0.2,0,0.4,0,0.6,0.1l-1.3,2.7c-0.1,0.2-0.1,0.5,0,0.7s0.4,0.3,0.6,0.3H31.8z M42.6,11.9c0.1,0,0.2,0,0.3,0
124
+ c1.8,0,3.2,1.5,3.2,3.2c0,1.8-1.5,3.2-3.2,3.2c-1.8,0-3.2-1.5-3.2-3.2c0-1.1,0.6-2.2,1.6-2.8l1,3.1c0.1,0.4,0.5,0.6,0.9,0.5
125
+ c0.2-0.1,0.3-0.2,0.4-0.4s0.1-0.4,0-0.6L42.6,11.9z"
126
+ ></path>
127
+ </g>
128
+ </svg>
129
+ </div>
130
+ </div>
131
+ </template>
132
+ <script>
133
+ export default {
134
+ name: 'westBusSvg',
135
+ props: {
136
+ IconLengh: {
137
+ // 相位图标长度
138
+ type: String,
139
+ default: '91px'
140
+ },
141
+ IconWdith: {
142
+ // 相位图标宽度
143
+ type: String,
144
+ default: '24px'
145
+ },
146
+ Data: {
147
+ type: Object
148
+ }
149
+ },
150
+ methods: {},
151
+ mounted () {}
152
+ }
153
+ </script>
154
+ <style scoped>
155
+ .invisible {
156
+ visibility: hidden;
157
+ }
158
+ .hide {
159
+ display: none;
160
+ }
161
+ .st0 {
162
+ opacity: 0.8;
163
+ fill: #5f5f5f;
164
+ enable-background: new;
165
+ }
166
+ .st1 {
167
+ fill: #ffffff;
168
+ }
169
+ </style>
@@ -40,6 +40,11 @@
40
40
  Heights="80px"
41
41
  :showlist="mergeShowList"></xdr-dir-selector>
42
42
  </div>
43
+ <!-- 锁定状态 -->
44
+ <div class="locked-status" v-if="isLoaded && isLockStatus">
45
+ <svg-icon icon-class="locked" className="locked-icon"></svg-icon>
46
+ <span class="locked-text">{{$t('openatccomponents.overview.locked')}}</span>
47
+ </div>
43
48
  <!-- 相位倒计时 -->
44
49
  <div class="phaseCountdown" v-show="isShowInterval" v-if="isLoaded && isHasPhase && isHasCountdown && contrloType === 'ring'" :class="{'countdownBg': isLoaded}">
45
50
  <div v-for="curPhase in phaseCountdownList" :key="curPhase.id" :style="{color: curPhase.phaseCountdownColor}">
@@ -69,13 +74,13 @@
69
74
  </div>
70
75
  </div>
71
76
  <!-- 路口底图 -->
72
- <div class="baseImg">
77
+ <div class="baseImg" ref="svgContainer" @click="handleSvgClick">
73
78
  <!-- 城市道路 -->
74
- <CrossRoadsSvg v-if="crossType === 'Crossroads'"/>
75
- <TShapeEastRoadsSvg v-if="crossType === 'TypeT-east'"/>
76
- <TShapeWestRoadsSvg v-if="crossType === 'TypeT-west'"/>
77
- <TShapeNorthRoadsSvg v-if="crossType === 'TypeT-north'"/>
78
- <TShapeSouthRoadsSvg v-if="crossType === 'TypeT-south'"/>
79
+ <CrossRoadsSvg v-if="crossType === 'Crossroads'" :road-names="roadNames" />
80
+ <TShapeEastRoadsSvg v-if="crossType === 'TypeT-east'" :road-names="roadNames"/>
81
+ <TShapeWestRoadsSvg v-if="crossType === 'TypeT-west'" :road-names="roadNames"/>
82
+ <TShapeNorthRoadsSvg v-if="crossType === 'TypeT-north'" :road-names="roadNames"/>
83
+ <TShapeSouthRoadsSvg v-if="crossType === 'TypeT-south'" :road-names="roadNames"/>
79
84
  <!-- 其他路口 -->
80
85
  <CustomRoadsSvg v-if="crossType === 'Customroads'"/>
81
86
  <!-- 匝道 -->
@@ -126,6 +131,11 @@
126
131
  <!-- 左行道路 B-->
127
132
  <div class="left-dir-road" v-if="roadDir === 'left'">
128
133
  <div class="centerText" v-if="crossType !== 'Customroads' && isHasPhase">
134
+ <!-- 锁定状态 -->
135
+ <div class="locked-status" v-if="isLoaded && isLockStatus">
136
+ <svg-icon icon-class="locked" className="locked-icon"></svg-icon>
137
+ <span class="locked-text">{{$t('openatccomponents.overview.locked')}}</span>
138
+ </div>
129
139
  <!-- 相位倒计时 -->
130
140
  <div class="phaseCountdown" v-show="isShowInterval" v-if="isLoaded && isHasPhase && isHasCountdown && contrloType === 'ring'" :class="{'countdownBg': isLoaded}">
131
141
  <div v-for="curPhase in phaseCountdownList" :key="curPhase.id" :style="{color: curPhase.phaseCountdownColor}">
@@ -184,6 +194,13 @@
184
194
  </div>
185
195
  </div>
186
196
  <!-- 左行道路 E-->
197
+ <!-- 路段名称编辑弹窗 -->
198
+ <RoadNameEditDialog
199
+ :visible.sync="dialogVisible"
200
+ :direction="currentEditDirection"
201
+ :current-name="roadNames[currentEditDirection] || ''"
202
+ @confirm="onRoadNameConfirm"
203
+ />
187
204
  </div>
188
205
  </template>
189
206
  <script>
@@ -217,10 +234,13 @@ import LPhaseIconSvg from './phaseIcon/LphaseIconSvg'
217
234
  import CrossDiagramMgr from '../../../../EdgeMgr/controller/crossDiagramMgr.js'
218
235
  import BusMapSvg from './busIcon/busMapSvg'
219
236
  import { getMessageByCode } from '../../../../utils/responseMessage.js'
237
+ // 引入路段名称编辑弹窗组件
238
+ import RoadNameEditDialog from './RoadNameEditDialog.vue'
220
239
 
221
240
  import CrossDirectionConflictList from '../../../../utils/conflictList.js'
222
241
  import RingDataModel from '../../../../utils/RingDataModel.js'
223
242
  import { getValidDirections, getMergeDirections } from '../../../../api/cross.js'
243
+ import { queryDevice, UpdateDevice } from '../../../../api/control.js'
224
244
 
225
245
  export default {
226
246
  name: 'crossDiagram',
@@ -248,7 +268,8 @@ export default {
248
268
  LTShapeSouthRoadsSvg,
249
269
  LPhaseIconSvg,
250
270
  BusMapSvg,
251
- SidewalkClickSvg
271
+ SidewalkClickSvg,
272
+ RoadNameEditDialog
252
273
  },
253
274
  props: {
254
275
  crossStatusData: {
@@ -429,7 +450,19 @@ export default {
429
450
  xdrMData: {
430
451
  left: '18px',
431
452
  top: '18px'
432
- }
453
+ },
454
+ // 路段点击相关数据
455
+ selectedRoad: null, // 当前选中的路段 { direction: 'east', name: '东向路口' }
456
+ roadNames: {
457
+ east: '',
458
+ west: '',
459
+ south: '',
460
+ north: ''
461
+ },
462
+ // 路段名称对话框相关数据
463
+ dialogVisible: false,
464
+ currentEditDirection: '',
465
+ isLockStatus: false // 是否锁定
433
466
  }
434
467
  },
435
468
  methods: {
@@ -454,6 +487,7 @@ export default {
454
487
  },
455
488
  handleTempCrossStatus (val) {
456
489
  // 模版路口图状态数据
490
+ this.isLockStatus = val.control === 4 || val.control === 16 || val.control === 22 // 手动锁定控制时,包含:阶段锁定,相位锁定,通道锁定
457
491
  this.phaseStatusList = val.phase
458
492
  this.overlapStatusList = val.overlap
459
493
  this.laneLampStatusList = val.lanelamp
@@ -524,6 +558,7 @@ export default {
524
558
  this.getRoadDirection()
525
559
  this.PhaseDataModel = new PhaseDataModel(this.roadDirection)
526
560
  this.getIntersectionInfo() // 获取路口信息
561
+ this.queryDevParams() // 获取路口数据
527
562
  },
528
563
  drawDefaultPhaseIcon () {
529
564
  this.compLanePhaseData = JSON.parse(JSON.stringify(this.CrossDiagramMgr.compare(this.LanePhaseData, this.overlapLanePhaseData, 'type', 'nostatus')))
@@ -1717,6 +1752,92 @@ export default {
1717
1752
  ]
1718
1753
  }
1719
1754
  })
1755
+ },
1756
+ // 处理 SVG 点击事件
1757
+ handleSvgClick (event) {
1758
+ // 获取带有 data-road 的元素
1759
+ const roadElement = event.target.closest('[data-road]')
1760
+ if (roadElement) {
1761
+ const direction = roadElement.getAttribute('data-road')
1762
+ // 打开编辑对话框,选中高亮
1763
+ this.openEditDialog(direction)
1764
+ this.highlightRoad(this.currentEditDirection)
1765
+ } else {
1766
+ // 点击空白处,取消选中
1767
+ this.selectedRoad = null
1768
+ this.clearHighlight()
1769
+ }
1770
+ },
1771
+ // 高亮路段
1772
+ highlightRoad (direction) {
1773
+ // 清除高亮
1774
+ this.clearHighlight()
1775
+ // 获取 SVG 容器内的所有元素
1776
+ const svgContainer = this.$refs.svgContainer
1777
+ if (!svgContainer) return
1778
+ // 为指定方向的路段添加高亮类
1779
+ const roadElements = svgContainer.querySelectorAll(`[data-road="${direction}"]`)
1780
+ roadElements.forEach(el => {
1781
+ el.classList.add('road-highlight')
1782
+ })
1783
+ },
1784
+ // 清除高亮
1785
+ clearHighlight () {
1786
+ const svgContainer = this.$refs.svgContainer
1787
+ if (!svgContainer) return
1788
+ const highlightedElements = svgContainer.querySelectorAll('.road-highlight')
1789
+ highlightedElements.forEach(el => {
1790
+ el.classList.remove('road-highlight')
1791
+ })
1792
+ },
1793
+ // 打开编辑对话框
1794
+ openEditDialog (direction) {
1795
+ this.currentEditDirection = direction
1796
+ this.dialogVisible = true
1797
+ },
1798
+ // 确认修改名称
1799
+ onRoadNameConfirm ({ direction, name }) {
1800
+ if (direction) {
1801
+ // 更新 roadNames 对象
1802
+ this.$set(this.roadNames, direction, name)
1803
+ this.updateDevice()
1804
+ this.selectedRoad = {
1805
+ direction: direction,
1806
+ name: name
1807
+ }
1808
+ }
1809
+ },
1810
+ queryDevParams () {
1811
+ queryDevice(this.agentId).then(res => {
1812
+ if (!res.data.success) {
1813
+ this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
1814
+ return
1815
+ }
1816
+ this.devParams = res.data.data
1817
+ if (this.devParams.jsonparam && this.devParams.jsonparam.roadNames) {
1818
+ this.roadNames = {
1819
+ east: this.devParams.jsonparam.roadNames.east || '',
1820
+ west: this.devParams.jsonparam.roadNames.west || '',
1821
+ south: this.devParams.jsonparam.roadNames.south || '',
1822
+ north: this.devParams.jsonparam.roadNames.north || ''
1823
+ }
1824
+ }
1825
+ })
1826
+ },
1827
+ updateDevice () {
1828
+ // console.log(this.roadNames)
1829
+ this.devParams.jsonparam.roadNames = this.roadNames
1830
+ // console.log(this.devParams)
1831
+ UpdateDevice(this.devParams).then(res => {
1832
+ if (!res.data.success) {
1833
+ this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
1834
+ return
1835
+ }
1836
+ this.$message({
1837
+ message: this.$t('openatccomponents.common.updatesuccess'),
1838
+ type: 'success'
1839
+ })
1840
+ })
1720
1841
  }
1721
1842
  },
1722
1843
  mounted () {
@@ -1742,11 +1863,11 @@ export default {
1742
1863
  left: 50%;
1743
1864
  top: 50%;
1744
1865
  transform: translateX(-50%) translateY(-50%);
1745
- /* text-align: center; */
1746
1866
  z-index: 9;
1747
1867
  display: flex;
1868
+ flex-direction: column;
1748
1869
  align-items: center;
1749
- /* padding-left: 16px; */
1870
+ justify-content: center;
1750
1871
  }
1751
1872
  .phaseCountdown {
1752
1873
  line-height: 42PX;
@@ -1764,12 +1885,28 @@ export default {
1764
1885
  padding-left: 14PX;
1765
1886
  padding-top: 10PX;
1766
1887
  padding-bottom: 10PX;
1888
+ width: 100%;
1767
1889
  }
1768
1890
  .centerText .text {
1769
1891
  display: inline-block;
1770
1892
  color: #299BCC;
1771
1893
  margin-top: 20PX;
1772
1894
  }
1895
+ .locked-status {
1896
+ width: 100%;
1897
+ display: block;
1898
+ text-align: center;
1899
+ }
1900
+ .locked-icon {
1901
+ width: 12PX;
1902
+ height: 14PX;
1903
+ }
1904
+ .locked-text {
1905
+ color: #77FB65;
1906
+ font-size: 16PX;
1907
+ line-height: 24PX;
1908
+ }
1909
+
1773
1910
  .merge-direction-icon {
1774
1911
  width: 80PX;
1775
1912
  height: 80PX;
@@ -1781,4 +1918,53 @@ export default {
1781
1918
  height: 650px;
1782
1919
  position: relative;
1783
1920
  }
1921
+
1922
+ /* 新增:路口名称标签样式 */
1923
+ .road-name-label {
1924
+ position: absolute;
1925
+ padding: 8px 16px;
1926
+ background-color: rgba(41, 155, 204, 0.9);
1927
+ color: #fff;
1928
+ font-size: 14px;
1929
+ border-radius: 4px;
1930
+ z-index: 10;
1931
+ pointer-events: none;
1932
+ white-space: nowrap;
1933
+ }
1934
+
1935
+ /* 路口名称位置 - 根据方向定位到路口外侧 */
1936
+ .road-name-label.east {
1937
+ right: 20px;
1938
+ top: 50%;
1939
+ transform: translateY(-50%);
1940
+ }
1941
+
1942
+ .road-name-label.west {
1943
+ left: 20px;
1944
+ top: 50%;
1945
+ transform: translateY(-50%);
1946
+ }
1947
+
1948
+ .road-name-label.south {
1949
+ bottom: 20px;
1950
+ left: 50%;
1951
+ transform: translateX(-50%);
1952
+ }
1953
+
1954
+ .road-name-label.north {
1955
+ top: 20px;
1956
+ left: 50%;
1957
+ transform: translateX(-50%);
1958
+ }
1959
+
1960
+ /* 新增:路段高亮样式 - 使用深度选择器穿透 SVG 组件 */
1961
+ .baseImg ::v-deep .road-highlight {
1962
+ filter: brightness(1.3) drop-shadow(0 0 8px rgba(41, 155, 204, 0.8));
1963
+ cursor: pointer;
1964
+ }
1965
+
1966
+ /* SVG 内部可点击元素的鼠标样式 */
1967
+ .baseImg ::v-deep [data-road] {
1968
+ cursor: pointer;
1969
+ }
1784
1970
  </style>