openatc-components 0.4.62 → 0.4.63

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 (456) 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/dev.env.js +8 -8
  18. package/config/index.js +94 -94
  19. package/config/prod.env.js +5 -5
  20. package/config/test.env.js +7 -7
  21. package/index.html +12 -12
  22. package/package/kisscomps/components/BoardCard/BoardCard.vue +133 -133
  23. package/package/kisscomps/components/ChannelRealtimeIntersection/ChannelRealtimeIntersection.vue +123 -123
  24. package/package/kisscomps/components/Channelization/Channelization.vue +585 -585
  25. package/package/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  26. package/package/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  27. package/package/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  28. package/package/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +456 -456
  29. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  30. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  31. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  32. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  33. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  34. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  35. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  36. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  37. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  38. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  39. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  40. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  41. package/package/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  42. package/package/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  43. package/package/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  44. package/package/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  45. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  46. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  47. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  48. package/package/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  49. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  50. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  51. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  52. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  53. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  54. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  55. package/package/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  56. package/package/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +1022 -1022
  57. package/package/kisscomps/components/DrawChannelization/drawsvg/index.vue +144 -144
  58. package/package/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  59. package/package/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  60. package/package/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.vue +172 -172
  61. package/package/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  62. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  63. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  64. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  65. package/package/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  66. package/package/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  67. package/package/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  68. package/package/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +162 -162
  69. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +629 -629
  70. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  71. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  72. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  73. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  74. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  75. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  76. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  77. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +1302 -1302
  78. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  79. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +498 -498
  80. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +484 -484
  81. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +488 -488
  82. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +566 -566
  83. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  84. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  85. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  86. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  87. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  88. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  89. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  90. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  91. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  92. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  93. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  94. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +1598 -1598
  95. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +197 -197
  96. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +200 -196
  97. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  98. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  99. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  100. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/effectPos.json +115 -115
  101. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +115 -115
  102. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  103. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  104. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +219 -219
  105. package/package/kisscomps/components/IntersectionMap/crossDirection/utils.js +91 -91
  106. package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +220 -220
  107. package/package/kisscomps/components/IntersectionMapDirSelect/customCrossDiagram.vue +711 -0
  108. package/package/kisscomps/components/IntersectionMapDirSelect/customintersectionmap.vue +188 -0
  109. package/package/kisscomps/components/IntersectionMapDirSelect/index.js +2 -0
  110. package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +534 -534
  111. package/package/kisscomps/components/KanBan/kanban.vue +231 -231
  112. package/package/kisscomps/components/MessageBox/index.vue +96 -96
  113. package/package/kisscomps/components/OverLap/OverLap.vue +237 -237
  114. package/package/kisscomps/components/OverviewComponent/index.vue +853 -853
  115. package/package/kisscomps/components/PatternOptimize/PatternOptimize.vue +329 -329
  116. package/package/kisscomps/components/PatternStatus/PatternStatus.vue +1843 -1843
  117. package/package/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  118. package/package/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  119. package/package/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  120. package/package/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  121. package/package/kisscomps/components/PhaseMarker/index.js +6 -6
  122. package/package/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  123. package/package/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  124. package/package/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  125. package/package/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  126. package/package/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  127. package/package/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  128. package/package/kisscomps/components/PhasePedSelect/index.vue +206 -206
  129. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +1027 -1027
  130. package/package/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +365 -365
  131. package/package/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  132. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  133. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  134. package/package/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  135. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  136. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/icon.vue +470 -470
  137. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +871 -871
  138. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  139. package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  140. package/package/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  141. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +308 -308
  142. package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +1293 -1293
  143. package/package/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  144. package/package/kisscomps/components/SelectCrossPhase/index.vue +418 -418
  145. package/package/kisscomps/components/SelectCrossPhase/utils.js +142 -142
  146. package/package/kisscomps/components/StageBord/StageBord.vue +303 -303
  147. package/package/kisscomps/components/StageOptimize/StageOptimize.vue +367 -367
  148. package/package/kisscomps/components/StageOptimize/index.js +2 -2
  149. package/package/kisscomps/components/StageOptimize/index.vue +310 -0
  150. package/package/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  151. package/package/kisscomps/components/Stages/index.vue +307 -307
  152. package/package/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  153. package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +1041 -1041
  154. package/package/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  155. package/package/kisscomps/components/XiaoKanban/index.vue +122 -122
  156. package/package/kisscomps/components/overView/index.vue +676 -676
  157. package/package/kisscomps/components/patternConfig/index.vue +802 -802
  158. package/package/kisscomps/components/patternConfig/pattern/patternTable.vue +599 -599
  159. package/package/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  160. package/package/kisscomps/components/patternConfig/planContent.vue +604 -604
  161. package/package/kisscomps/components/patternConfig/planMenu.vue +329 -329
  162. package/package/kisscomps/components/patternConfig/utils.js +152 -152
  163. package/package/kisscomps/components/patternList/patternList.vue +606 -606
  164. package/package/kisscomps/index.js +133 -131
  165. package/package/kissui.min.js +1 -1
  166. package/package/static/img/CrossRoadsSvg.66a6236.svg +529 -0
  167. package/package.json +126 -126
  168. package/src/App.vue +24 -24
  169. package/src/EdgeMgr/EdgeModelBase.js +16 -16
  170. package/src/EdgeMgr/controller/crossDiagramMgr.js +125 -125
  171. package/src/api/authapi.js +31 -31
  172. package/src/api/config.js +21 -21
  173. package/src/api/control.js +110 -110
  174. package/src/api/cross.js +62 -62
  175. package/src/api/device.js +135 -135
  176. package/src/api/fault.js +66 -66
  177. package/src/api/index.js +24 -24
  178. package/src/api/login.js +46 -46
  179. package/src/api/optimize.js +72 -72
  180. package/src/api/param.js +165 -165
  181. package/src/api/passwdAssest.js +101 -101
  182. package/src/api/permission.js +33 -33
  183. package/src/api/route.js +171 -171
  184. package/src/api/template.js +27 -27
  185. package/src/assets/font/LICENSE.txt +202 -202
  186. package/src/assets/font/font.css +6 -6
  187. package/src/i18n/index.js +26 -26
  188. package/src/i18n/language/en.js +1493 -1493
  189. package/src/i18n/language/index.js +25 -25
  190. package/src/i18n/language/zh.js +1493 -1493
  191. package/src/icons/demo_index.html +8445 -8445
  192. package/src/icons/iconfont.css +1451 -1451
  193. package/src/icons/iconfont.json +2522 -2522
  194. package/src/icons/index.js +20 -20
  195. package/src/icons/svg/azimuthlocking.svg +26 -26
  196. package/src/icons/svg/bendi.svg +110 -110
  197. package/src/icons/svg/bujin.svg +36 -36
  198. package/src/icons/svg/connectBlue.svg +7 -7
  199. package/src/icons/svg/currentvolume.svg +0 -0
  200. package/src/icons/svg/custom-BRTlane.svg +40 -40
  201. package/src/icons/svg/custom-buslane.svg +40 -40
  202. package/src/icons/svg/custom-detector.svg +12 -12
  203. package/src/icons/svg/custom-east-bottom.svg +32 -32
  204. package/src/icons/svg/custom-east-top.svg +32 -32
  205. package/src/icons/svg/custom-ewped.svg +35 -35
  206. package/src/icons/svg/custom-nonmotorizedlane.svg +40 -40
  207. package/src/icons/svg/custom-north-left.svg +32 -32
  208. package/src/icons/svg/custom-north-right.svg +32 -32
  209. package/src/icons/svg/custom-peddetector.svg +17 -17
  210. package/src/icons/svg/custom-snped.svg +35 -35
  211. package/src/icons/svg/custom-south-left.svg +32 -32
  212. package/src/icons/svg/custom-south-right.svg +32 -32
  213. package/src/icons/svg/custom-tramlane.svg +40 -40
  214. package/src/icons/svg/custom-vehiclebranch.svg +40 -40
  215. package/src/icons/svg/custom-vehiclemainroad.svg +41 -41
  216. package/src/icons/svg/custom-west-bottom.svg +32 -32
  217. package/src/icons/svg/custom-west-top.svg +32 -32
  218. package/src/icons/svg/custom-xlped.svg +14 -14
  219. package/src/icons/svg/custom-xrped.svg +14 -14
  220. package/src/icons/svg/cutRed.svg +7 -7
  221. package/src/icons/svg/cycle.svg +0 -0
  222. package/src/icons/svg/dingzhouqi.svg +34 -34
  223. package/src/icons/svg/ganyingkongzhi.svg +30 -30
  224. package/src/icons/svg/guandeng.svg +81 -81
  225. package/src/icons/svg/huangshan.svg +71 -71
  226. package/src/icons/svg/maincontrol.svg +0 -0
  227. package/src/icons/svg/manualcontrolbackground.svg +51 -51
  228. package/src/icons/svg/manualcontrolbackground1.svg +62 -62
  229. package/src/icons/svg/manualcontrolbackgrounden.svg +62 -62
  230. package/src/icons/svg/model.svg +0 -0
  231. package/src/icons/svg/phasediff.svg +0 -0
  232. package/src/icons/svg/prioritycontrol.svg +21 -21
  233. package/src/icons/svg/quanhong.svg +86 -86
  234. package/src/icons/svg/shanghe.svg +11 -11
  235. package/src/icons/svg/shoudong.svg +103 -103
  236. package/src/icons/svg/tentativeplan.svg +28 -28
  237. package/src/icons/svg/time.svg +0 -0
  238. package/src/icons/svg/wuxianlan.svg +46 -46
  239. package/src/icons/svg/xiala.svg +11 -11
  240. package/src/icons/svg/xingrenguojie.svg +33 -33
  241. package/src/icons/svg/xitong.svg +89 -89
  242. package/src/icons/svg/youxian.svg +41 -41
  243. package/src/icons/svg/zizhukongzhi.svg +43 -43
  244. package/src/kisscomps/components/BoardCard/BoardCard.vue +133 -133
  245. package/src/kisscomps/components/ChannelRealtimeIntersection/ChannelRealtimeIntersection.vue +123 -123
  246. package/src/kisscomps/components/Channelization/Channelization.vue +585 -585
  247. package/src/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  248. package/src/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  249. package/src/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  250. package/src/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +456 -456
  251. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  252. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  253. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  254. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  255. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  256. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  257. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  258. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  259. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  260. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  261. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  262. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  263. package/src/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  264. package/src/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  265. package/src/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  266. package/src/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  267. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  268. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  269. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  270. package/src/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  271. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  272. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  273. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  274. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  275. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  276. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  277. package/src/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  278. package/src/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +1022 -1022
  279. package/src/kisscomps/components/DrawChannelization/drawsvg/index.vue +144 -144
  280. package/src/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  281. package/src/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  282. package/src/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.vue +172 -172
  283. package/src/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  284. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  285. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  286. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  287. package/src/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  288. package/src/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  289. package/src/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  290. package/src/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +162 -162
  291. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +629 -629
  292. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  293. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  294. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  295. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  296. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  297. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  298. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  299. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +1302 -1302
  300. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  301. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +498 -498
  302. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +484 -484
  303. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +488 -488
  304. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +566 -566
  305. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  306. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  307. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  308. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  309. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  310. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  311. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  312. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  313. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  314. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  315. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  316. package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +1598 -1598
  317. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +197 -197
  318. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +200 -196
  319. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  320. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  321. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  322. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/effectPos.json +115 -115
  323. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +115 -115
  324. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  325. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  326. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +219 -219
  327. package/src/kisscomps/components/IntersectionMap/crossDirection/utils.js +91 -91
  328. package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +220 -220
  329. package/src/kisscomps/components/IntersectionMapDirSelect/customCrossDiagram.vue +711 -0
  330. package/src/kisscomps/components/IntersectionMapDirSelect/customintersectionmap.vue +188 -0
  331. package/src/kisscomps/components/IntersectionMapDirSelect/index.js +2 -0
  332. package/src/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +534 -534
  333. package/src/kisscomps/components/KanBan/kanban.vue +231 -231
  334. package/src/kisscomps/components/MessageBox/index.vue +96 -96
  335. package/src/kisscomps/components/OverLap/OverLap.vue +237 -237
  336. package/src/kisscomps/components/OverviewComponent/index.vue +853 -853
  337. package/src/kisscomps/components/PatternOptimize/PatternOptimize.vue +329 -329
  338. package/src/kisscomps/components/PatternStatus/PatternStatus.vue +1843 -1843
  339. package/src/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  340. package/src/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  341. package/src/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  342. package/src/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  343. package/src/kisscomps/components/PhaseMarker/index.js +6 -6
  344. package/src/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  345. package/src/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  346. package/src/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  347. package/src/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  348. package/src/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  349. package/src/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  350. package/src/kisscomps/components/PhasePedSelect/index.vue +206 -206
  351. package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +1027 -1027
  352. package/src/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +365 -365
  353. package/src/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  354. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  355. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  356. package/src/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  357. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  358. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/icon.vue +470 -470
  359. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +871 -871
  360. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  361. package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  362. package/src/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  363. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +308 -308
  364. package/src/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +1293 -1293
  365. package/src/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  366. package/src/kisscomps/components/SelectCrossPhase/index.vue +418 -418
  367. package/src/kisscomps/components/SelectCrossPhase/utils.js +142 -142
  368. package/src/kisscomps/components/StageBord/StageBord.vue +303 -303
  369. package/src/kisscomps/components/StageOptimize/StageOptimize.vue +367 -367
  370. package/src/kisscomps/components/StageOptimize/index.js +2 -2
  371. package/src/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  372. package/src/kisscomps/components/Stages/index.vue +307 -307
  373. package/src/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  374. package/src/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +1041 -1041
  375. package/src/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  376. package/src/kisscomps/components/XiaoKanban/index.vue +122 -122
  377. package/src/kisscomps/components/overView/index.vue +676 -676
  378. package/src/kisscomps/components/patternConfig/index.vue +802 -802
  379. package/src/kisscomps/components/patternConfig/pattern/patternTable.vue +599 -599
  380. package/src/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  381. package/src/kisscomps/components/patternConfig/planContent.vue +604 -604
  382. package/src/kisscomps/components/patternConfig/planMenu.vue +329 -329
  383. package/src/kisscomps/components/patternConfig/utils.js +152 -152
  384. package/src/kisscomps/components/patternList/patternList.vue +606 -606
  385. package/src/kisscomps/index.js +133 -131
  386. package/src/lib/publicjs/ArryListUtil.js +38 -38
  387. package/src/lib/publicjs/HttpurlMgr.js +45 -45
  388. package/src/lib/publicjs/KissApi.js +158 -158
  389. package/src/lib/publicjs/KissWSSub/Heartcheck.js +128 -128
  390. package/src/lib/publicjs/KissWSSub/KissWsSub.js +91 -91
  391. package/src/lib/publicjs/KissWSSub/KissWsSubByType.js +152 -152
  392. package/src/lib/publicjs/KissWSSub/SimuWsSubByType.js +44 -44
  393. package/src/lib/publicjs/KissWSSub/Sub.js +51 -51
  394. package/src/lib/publicjs/KissWSSub/SubChannel.js +119 -119
  395. package/src/lib/publicjs/basecomponents.js +65 -65
  396. package/src/lib/publicjs/localStorage.js +112 -112
  397. package/src/lib/publicjs/objdeepcopy.js +32 -32
  398. package/src/lib/publicjs/pageScroll.js +30 -30
  399. package/src/lib/publicjs/passwdAssest.js +101 -101
  400. package/src/lib/publicjs/styleclassfactory.js +32 -32
  401. package/src/main.js +51 -51
  402. package/src/router/index.js +63 -63
  403. package/src/store/index.js +26 -26
  404. package/src/store/modules/globalParam.js +67 -67
  405. package/src/utils/ControlFormat.js +68 -68
  406. package/src/utils/RingDataModel.js +335 -335
  407. package/src/utils/auth.js +199 -199
  408. package/src/utils/conflct.js +268 -268
  409. package/src/utils/conflictList.js +87 -87
  410. package/src/utils/dateFormat.js +41 -41
  411. package/src/utils/fault.js +196 -196
  412. package/src/utils/faultcode.js +225 -225
  413. package/src/utils/index.js +69 -69
  414. package/src/utils/pedphasedesc.js +119 -119
  415. package/src/utils/phaseList.js +203 -203
  416. package/src/utils/phasedesc.js +144 -144
  417. package/src/utils/responseMessage.js +21 -21
  418. package/src/utils/validate.js +43 -43
  419. package/src/views/customchannelization.vue +49 -49
  420. package/src/views/home.1.vue +479 -479
  421. package/src/views/home.vue +93 -93
  422. package/src/views/intersection.vue +537 -527
  423. package/src/views/intersection2.vue +328 -328
  424. package/src/views/overView.vue +63 -63
  425. package/src/views/patternConfig.vue +14792 -14792
  426. package/src/views/schemeconfig.vue +205 -205
  427. package/static/apiconfig.json +471 -471
  428. package/static/img/CrossRoadsSvg.svg +529 -0
  429. package/static/styles/channelizatioon.scss +433 -433
  430. package/static/styles/common.scss +30 -30
  431. package/static/styles/commonkanban.scss +168 -168
  432. package/static/styles/dark/index.scss +2 -2
  433. package/static/styles/dark/theme/element-dark.scss +44 -44
  434. package/static/styles/index.scss +84 -84
  435. package/static/styles/intersection.scss +180 -180
  436. package/static/styles/light/index.scss +2 -2
  437. package/static/styles/light/theme/element-light.scss +44 -44
  438. package/static/styles/overview.scss +146 -146
  439. package/static/styles/patternConfig.scss +56 -56
  440. package/static/styles/phasePedSelect.scss +71 -71
  441. package/static/styles/schemeconfig.scss +558 -558
  442. package/static/styles/stages.scss +57 -57
  443. package/static/styles/uiComponents.scss +57 -57
  444. package/static/styles/xiaokanban.scss +61 -61
  445. package/static/token.json +2 -2
  446. package/test/e2e/custom-assertions/elementCount.js +27 -27
  447. package/test/e2e/nightwatch.conf.js +46 -46
  448. package/test/e2e/runner.js +48 -48
  449. package/test/e2e/specs/test.js +19 -19
  450. package/test/unit/.eslintrc +7 -7
  451. package/test/unit/jest.conf.js +30 -30
  452. package/test/unit/setup.js +3 -3
  453. package/test/unit/specs/HelloWorld.spec.js +11 -11
  454. package/package/kissui.js +0 -216608
  455. package/pnpm-lock.yaml +0 -16362
  456. package/src/utils/errorcode.js +0 -231
@@ -0,0 +1,711 @@
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
+ <!-- 仅支持基础道路相位方向选择(不包含匝道、公交相位) -->
13
+ <template>
14
+ <div class="crossImg">
15
+ <!-- 右行道路 B-->
16
+ <div class="right-dir-road">
17
+ <div class="centerText" v-if="crossType !== 'Customroads'">
18
+ <!-- 手动刷新 -->
19
+ <div v-if="!isLoaded">
20
+ <RefreshSvg @click.native="refresh"/>
21
+ <span class="text">{{$t('openatccomponents.overview.getintersectionmapagain')}}</span>
22
+ </div>
23
+ </div>
24
+ <!-- 路口底图 -->
25
+ <div class="baseImg">
26
+ <!-- 城市道路 -->
27
+ <CrossRoadsSvg v-if="crossType === 'Crossroads'"/>
28
+ <TShapeEastRoadsSvg v-if="crossType === 'TypeT-east'"/>
29
+ <TShapeWestRoadsSvg v-if="crossType === 'TypeT-west'"/>
30
+ <TShapeNorthRoadsSvg v-if="crossType === 'TypeT-north'"/>
31
+ <TShapeSouthRoadsSvg v-if="crossType === 'TypeT-south'"/>
32
+ <!-- 其他路口 -->
33
+ <CustomRoadsSvg v-if="crossType === 'Customroads'"/>
34
+ <!-- 匝道 -->
35
+ <!-- <RampEastRoadsSvg v-if="crossType === 'ramp-east'" />
36
+ <RampWestRoadsSvg v-if="crossType === 'ramp-west'" />
37
+ <RampNorthRoadsSvg v-if="crossType === 'ramp-north'" />
38
+ <RampSouthRoadsSvg v-if="crossType === 'ramp-south'" /> -->
39
+ <!-- 路段行人过街 -->
40
+ <PedSectionSNSvg v-if="crossType === 'ped-section-south-north'" />
41
+ <PedSectionEWSvg v-if="crossType === 'ped-section-east-west'" />
42
+ </div>
43
+ <!-- 城市道路状态-->
44
+ <div v-if="mainType === '100' || mainType === '101' || mainType === '104'">
45
+ <!-- 人行道 -->
46
+ <div class="sidewalk" id="sidewalk" v-if="resetflag && isLoaded">
47
+ <SidewalkClickSvg v-if="compSidewalkPhaseData.length" :Data="compSidewalkPhaseData" :clickMode="clickMode" @handleClickSidewalkIcon="handleClickSidewalkIcon" />
48
+ <SidewalkSvg v-else v-for="(side, index) in compSidewalkPhaseData" :key="side.key + '-' + index" :Data="side" :crossType="crossType" />
49
+ </div>
50
+ <!-- 车道相位 -->
51
+ <div v-if="resetflag" class="phaseIcon">
52
+ <PhaseIconSvg v-for="(item, index) in compLanePhaseData" :key="item.key + '-' + index" :Data="item" :customClick="clickMode" :clickMode="clickMode" @handleClickPhaseIcon="handleClickPhaseIcon" />
53
+ </div>
54
+ <!-- 公交相位 -->
55
+ <!-- <div v-if="resetflag" class="busIcon">
56
+ <BusMapSvg v-for="(item, index) in comdireBusPhaseData" :key="'Busmap-' + item.key + '-' + index" :Data="item" />
57
+ <PhaseIconSvg v-for="(item, index) in comdireBusPhaseData" :key="item.key + '-' + index" :Data="item"/>
58
+ </div> -->
59
+ </div>
60
+ <!-- 匝道状态 -->
61
+ <!-- 车道相位 -->
62
+ <!-- <div v-if="resetflag && mainType === '103'">
63
+ <RampPhaseIconSvg v-for="(item, index) in LanePhaseData" :key="item.key + '-' + index" :Data="item" />
64
+ </div> -->
65
+ </div>
66
+ <!-- 右行道路 E-->
67
+ </div>
68
+ </template>
69
+ <script>
70
+ import PhaseIconSvg from '../IntersectionMap/crossDirection/phaseIcon/phaseIconSvg'
71
+ import PhaseDataModel from '../IntersectionMap/crossDirection/utils'
72
+ import { getIntersectionInfo } from '../../../api/template.js'
73
+ import { uploadSingleTscParam } from '../../../api/param.js'
74
+ import CrossRoadsSvg from '../IntersectionMap/crossDirection/baseImg/CrossRoadsSvg'
75
+ import TShapeEastRoadsSvg from '../IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg'
76
+ import TShapeWestRoadsSvg from '../IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue'
77
+ import TShapeNorthRoadsSvg from '../IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue'
78
+ import TShapeSouthRoadsSvg from '../IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue'
79
+ import CustomRoadsSvg from '../IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue'
80
+ import RefreshSvg from '../IntersectionMap/crossDirection/baseImg/refreshSvg'
81
+ import SidewalkSvg from '../IntersectionMap/crossDirection/baseImg/SidewalkSvg'
82
+ import SidewalkClickSvg from '../IntersectionMap/crossDirection/baseImg/SidewalkClickSvg'
83
+ import RampEastRoadsSvg from '../IntersectionMap/crossDirection/baseImg/RampEastSvg'
84
+ import RampWestRoadsSvg from '../IntersectionMap/crossDirection/baseImg/RampWestSvg'
85
+ import RampNorthRoadsSvg from '../IntersectionMap/crossDirection/baseImg/RampNorthSvg'
86
+ import RampSouthRoadsSvg from '../IntersectionMap/crossDirection/baseImg/RampSouthSvg'
87
+ import RampPhaseIconSvg from '../IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg'
88
+ import PedSectionEWSvg from '../IntersectionMap/crossDirection/baseImg/PedSectionEWSvg'
89
+ import PedSectionSNSvg from '../IntersectionMap/crossDirection/baseImg/PedSectionSNSvg'
90
+ // import { mapState } from 'vuex'
91
+ import LCrossRoadsSvg from '../IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg'
92
+ import LTShapeEastRoadsSvg from '../IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg'
93
+ import LTShapeWestRoadsSvg from '../IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue'
94
+ import LTShapeNorthRoadsSvg from '../IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue'
95
+ import LTShapeSouthRoadsSvg from '../IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue'
96
+ import LPhaseIconSvg from '../IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg'
97
+ import CrossDiagramMgr from '../../../EdgeMgr/controller/crossDiagramMgr.js'
98
+ import BusMapSvg from '../IntersectionMap/crossDirection/busIcon/busMapSvg'
99
+ import { getMessageByCode } from '../../../utils/responseMessage.js'
100
+
101
+ export default {
102
+ name: 'crossDiagram',
103
+ components: {
104
+ PhaseIconSvg,
105
+ CrossRoadsSvg,
106
+ TShapeEastRoadsSvg,
107
+ TShapeWestRoadsSvg,
108
+ TShapeNorthRoadsSvg,
109
+ TShapeSouthRoadsSvg,
110
+ CustomRoadsSvg,
111
+ RefreshSvg,
112
+ SidewalkSvg,
113
+ RampEastRoadsSvg,
114
+ RampWestRoadsSvg,
115
+ RampNorthRoadsSvg,
116
+ RampSouthRoadsSvg,
117
+ RampPhaseIconSvg,
118
+ PedSectionEWSvg,
119
+ PedSectionSNSvg,
120
+ LCrossRoadsSvg,
121
+ LTShapeEastRoadsSvg,
122
+ LTShapeWestRoadsSvg,
123
+ LTShapeNorthRoadsSvg,
124
+ LTShapeSouthRoadsSvg,
125
+ LPhaseIconSvg,
126
+ BusMapSvg,
127
+ SidewalkClickSvg
128
+ },
129
+ props: {
130
+ agentId: {
131
+ type: String
132
+ },
133
+ isShowMessage: {
134
+ type: Boolean,
135
+ default: true
136
+ },
137
+ choosedDirection: {
138
+ type: Array,
139
+ default: () => []
140
+ },
141
+ choosedPedDirection: {
142
+ type: Array,
143
+ default: () => []
144
+ },
145
+ clickMode: {
146
+ type: Boolean,
147
+ default: false
148
+ },
149
+ channelType: {
150
+ type: Boolean,
151
+ default: false
152
+ }
153
+ },
154
+ watch: {
155
+ tempType: {
156
+ handler: function (val) {
157
+ this.getCrossType()
158
+ }
159
+ },
160
+ agentId: {
161
+ handler: function (val1, val2) {
162
+ if (val1 !== val2) {
163
+ this.init()
164
+ }
165
+ },
166
+ immediate: true
167
+ }
168
+ },
169
+ data () {
170
+ return {
171
+ LanePhaseData: [], // 车道相位数据
172
+ overlapLanePhaseData: [], // 车道跟随相位数据
173
+ ColorMap: new Map([[0, '#828282'], [1, '#ff2828'], [2, '#f7b500'], [3, '#77fb65'], [4, '#77fb65'], [5, '#f7b500']]), // 当前相位状态 --- 0:关灯, 1:红, 2:黄, 3:绿, 4:绿闪, 5:黄闪
174
+ SidewalkColorMap: new Map([[0, '#828282'], [1, '#e24b4b'], [3, '#7bd66b']]),
175
+ tempType: '', // 模版类型
176
+ mainType: '101', // 路口形状
177
+ mainDirection: '000', // 路口方向
178
+ crossType: '', // 路口底图类型
179
+ isLoaded: false, // 是否成功加载底图
180
+ sidewalkPhaseData: [], // 行人相位
181
+ overlapsidewalkPhaseData: [], // 行人跟随相位
182
+ resetflag: true, // 离线后,控制行人相位、车道相位reset标识
183
+ compLanePhaseData: [], // 对比车道相位和车道跟随相位后,显示的数据
184
+ compSidewalkPhaseData: [], // // 对比行人相位和车道跟随相位后,显示的数据
185
+ comdirePhaseData: [], // 对比相同方向车道相位数据后,被删减的唯一direction的数组
186
+ comdireOverlapPhaseData: [], // 对比相同方向车道跟随相位数据后,被删减的唯一direction的数组
187
+ busPhaseData: [], // 公交相位数据
188
+ comdireBusPhaseData: [], // 对比相同方向公交车道数据后,被删减的唯一direction的数组
189
+ channelStatusMap: new Map(), // 通道实时状态映射
190
+ channelStatusList: [], // 通道实时状态列表
191
+ phaseDirMap: new Map(),
192
+ contrloType: 'ring'
193
+ }
194
+ },
195
+ methods: {
196
+ init () {
197
+ this.CrossDiagramMgr = new CrossDiagramMgr()
198
+ this.PhaseDataModel = new PhaseDataModel()
199
+ this.getIntersectionInfo() // 获取路口信息
200
+ },
201
+ drawDefaultPhaseIcon () {
202
+ this.compLanePhaseData = JSON.parse(JSON.stringify(this.CrossDiagramMgr.compare(this.LanePhaseData, this.overlapLanePhaseData, 'type', 'nostatus')))
203
+ this.compSidewalkPhaseData = JSON.parse(JSON.stringify(this.CrossDiagramMgr.compare(this.sidewalkPhaseData, this.overlapsidewalkPhaseData, 'pedtype', 'nostatus')))
204
+ this.comdireBusPhaseData = JSON.parse(JSON.stringify(this.busPhaseData))
205
+ console.log(this.LanePhaseData)
206
+ console.log(this.overlapLanePhaseData)
207
+ console.log('###################', this.compLanePhaseData)
208
+ },
209
+ getIntersectionInfo () {
210
+ // 获取路口信息
211
+ this.contrloType = 'ring'
212
+ const agentid = this.agentId
213
+ getIntersectionInfo(agentid).then(res => {
214
+ if (!res.data.success) {
215
+ this.isLoaded = false
216
+ let commomMsg = this.$t('openatccomponents.overview.signalID') + ' : ' + agentid
217
+ let msg = getMessageByCode(res.data.code, this.$i18n.locale)
218
+ if (res.data.data) {
219
+ // 子类型错误
220
+ let childErrorCode = res.data.data.errorCode
221
+ if (childErrorCode) {
222
+ let childerror = getMessageByCode(res.data.data.errorCode, this.$i18n.locale)
223
+ msg = msg + ' - ' + childerror
224
+ }
225
+ }
226
+ msg = msg + ' - ' + commomMsg
227
+ // this.isShowMessage && this.$message.error(msg)
228
+ if (this.isShowMessage) {
229
+ console.log(msg)
230
+ }
231
+ return
232
+ }
233
+ this.isLoaded = true
234
+ this.tempType = res.data.data.type
235
+ // 获取车道相位、行人相位信息(坐标、名称)
236
+ this.mainType = this.tempType.split('-')[0]
237
+ this.mainDirection = this.tempType.split('-')[1]
238
+ if (this.channelType) {
239
+ this.getChannelInfo()
240
+ return
241
+ }
242
+ this.getTempCrossInfo(res)
243
+ // 显示阶段的判断条件
244
+ this.allPatternList = res.data.data.param.patternList
245
+ if (this.allPatternList[0].rings === undefined || this.allPatternList[0].rings.length === 0) {
246
+ this.contrloType = 'stage'
247
+ } else if (this.allPatternList[0].contrloType === 'stage') {
248
+ this.contrloType = 'stage'
249
+ } else {
250
+ this.contrloType = 'ring'
251
+ }
252
+ })
253
+ },
254
+ getTempCrossInfo (res) {
255
+ this.crossInfo = res.data.data.param
256
+ this.crossInfo.phaseList.forEach(cross => this.phaseDirMap.set(cross.id, {direction: cross.direction, peddirection: cross.peddirection}))
257
+ if (this.mainType === '100' || this.mainType === '101' || this.mainType === '104') {
258
+ // 城市道路加载车道相位坐标和人行道坐标
259
+ this.getPhasePos()
260
+ this.getOverlapPhasePos()
261
+ this.getPedPhasePos()
262
+ this.getOverlapPedPhasePos()
263
+ }
264
+ this.inneChoosedDirection = [...this.choosedDirection]
265
+ this.inneChoosedPedDirection = [...this.choosedPedDirection]
266
+ this.drawDefaultPhaseIcon()
267
+ },
268
+ getBusPos () {
269
+ // 公交相位信息
270
+ this.busPhaseData = []
271
+ this.crossInfo.phaseList.forEach((ele, i) => {
272
+ if (ele.controltype >= 3 && ele.controltype <= 6) {
273
+ ele.direction.forEach((dir, index) => {
274
+ // 车道相位
275
+ this.busPhaseData.push({
276
+ key: this.CrossDiagramMgr.getUniqueKey('busphase'),
277
+ phaseid: ele.id, // 相位id,用于对应相位状态
278
+ id: dir, // 接口返回的dir字段,对应前端定义的相位方向id,唯一标识
279
+ name: this.PhaseDataModel.getBusPhasePos(dir).name,
280
+ left: this.PhaseDataModel.getBusPhasePos(dir).x,
281
+ top: this.PhaseDataModel.getBusPhasePos(dir).y,
282
+ busleft: this.PhaseDataModel.getBusMapPos(dir).x,
283
+ bustop: this.PhaseDataModel.getBusMapPos(dir).y,
284
+ controltype: ele.controltype
285
+ })
286
+ })
287
+ }
288
+ })
289
+ // 去掉重复方向的数据
290
+ this.busPhaseData = Array.from(new Set(this.busPhaseData.map(item => item.id)))
291
+ .map(id => this.busPhaseData.find(item => item.id === id))
292
+ },
293
+ getPhasePos () {
294
+ // 车道相位信息
295
+ this.LanePhaseData = []
296
+ this.crossInfo.phaseList.forEach((ele, i) => {
297
+ if (ele.controltype === undefined || ele.controltype <= 2) {
298
+ ele.direction.forEach((dir, index) => {
299
+ // 车道相位
300
+ this.LanePhaseData.push({
301
+ key: this.CrossDiagramMgr.getUniqueKey('phase'),
302
+ phaseid: ele.id, // 相位id,用于对应相位状态
303
+ id: dir, // 接口返回的dir字段,对应前端定义的相位方向id,唯一标识
304
+ name: this.PhaseDataModel.getPhase(dir).name,
305
+ left: this.PhaseDataModel.getPhase(dir).x,
306
+ top: this.PhaseDataModel.getPhase(dir).y
307
+ })
308
+ })
309
+ }
310
+ })
311
+ // 去掉重复方向的数据
312
+ this.LanePhaseData = Array.from(new Set(this.LanePhaseData.map(item => item.id)))
313
+ .map(id => this.LanePhaseData.find(item => item.id === id))
314
+ },
315
+ getOverlapPhasePos () {
316
+ // 车道跟随相位信息
317
+ if (!this.crossInfo.overlaplList) return
318
+ this.overlapLanePhaseData = []
319
+ this.crossInfo.overlaplList.forEach((ele, i) => {
320
+ if (ele.direction) {
321
+ ele.direction.forEach((dir, index) => {
322
+ this.overlapLanePhaseData.push({
323
+ key: this.CrossDiagramMgr.getUniqueKey('overlapphase'),
324
+ phaseid: ele.id, // 相位id,用于对应相位状态
325
+ id: dir, // 接口返回的dir字段,对应前端定义的相位方向id,唯一标识
326
+ name: this.PhaseDataModel.getPhase(dir).name,
327
+ left: this.PhaseDataModel.getPhase(dir).x,
328
+ top: this.PhaseDataModel.getPhase(dir).y
329
+ })
330
+ })
331
+ }
332
+ })
333
+ // 去掉重复方向的数据
334
+ this.overlapLanePhaseData = Array.from(new Set(this.overlapLanePhaseData.map(item => item.id)))
335
+ .map(id => this.overlapLanePhaseData.find(item => item.id === id))
336
+ },
337
+ getRampPhasePos () {
338
+ // 匝道车道相位信息
339
+ this.LanePhaseData = []
340
+ this.crossInfo.phaseList.forEach((ele, i) => {
341
+ ele.direction.forEach((dir, index) => {
342
+ if (ele.controltype === 0) {
343
+ this.handleRampPhasePosData(`${i}-${index}`, ele, dir, this.PhaseDataModel.getMainPhasePos)
344
+ }
345
+ if (ele.controltype === 1) {
346
+ this.handleRampPhasePosData(`${i}-${index}`, ele, dir, this.PhaseDataModel.getSidePhasePos)
347
+ }
348
+ })
349
+ })
350
+ // 去掉重复方向的数据
351
+ this.LanePhaseData = Array.from(new Set(this.LanePhaseData.map(item => item.id)))
352
+ .map(id => this.LanePhaseData.find(item => item.id === id))
353
+ },
354
+ handleRampPhasePosData (key, phase, dir) {
355
+ let posInfo = phase.controltype === 0 ? this.PhaseDataModel.getMainPhasePos(dir) : this.PhaseDataModel.getSidePhasePos(dir)
356
+ this.LanePhaseData.push({
357
+ key,
358
+ controlType: phase.controltype,
359
+ phaseid: phase.id, // 相位id,用于对应相位状态
360
+ id: dir, // 接口返回的dir字段,对应前端定义的相位方向id,唯一标识
361
+ name: posInfo.name,
362
+ left: posInfo.x,
363
+ top: posInfo.y
364
+ })
365
+ },
366
+ getPedPhasePos () {
367
+ // 行人相位信息
368
+ this.sidewalkPhaseData = []
369
+ this.crossInfo.phaseList.forEach((ele, i) => {
370
+ if (ele.peddirection) {
371
+ ele.peddirection.forEach((dir, index) => {
372
+ // 行人相位
373
+ if (this.PhaseDataModel.getSidePos(dir)) {
374
+ let key = this.CrossDiagramMgr.getUniqueKey('pedphase')
375
+ this.sidewalkPhaseData.push({
376
+ key,
377
+ phaseid: ele.id, // 相位id,用于对应相位状态
378
+ id: dir,
379
+ name: this.PhaseDataModel.getSidePos(dir).name,
380
+ left: this.PhaseDataModel.getSidePos(dir).x,
381
+ top: this.PhaseDataModel.getSidePos(dir).y
382
+ })
383
+ }
384
+ })
385
+ }
386
+ })
387
+ // 去掉重复方向的数据
388
+ this.sidewalkPhaseData = Array.from(new Set(this.sidewalkPhaseData.map(item => item.id)))
389
+ .map(id => this.sidewalkPhaseData.find(item => item.id === id))
390
+ },
391
+ getOverlapPedPhasePos () {
392
+ // 行人跟随相位信息
393
+ if (!this.crossInfo.overlaplList) return
394
+ this.overlapsidewalkPhaseData = []
395
+ this.crossInfo.overlaplList.forEach((ele, i) => {
396
+ if (ele.peddirection) {
397
+ ele.peddirection.forEach((dir, index) => {
398
+ if (this.PhaseDataModel.getSidePos(dir)) {
399
+ this.overlapsidewalkPhaseData.push({
400
+ key: this.CrossDiagramMgr.getUniqueKey('overlappedphase'),
401
+ phaseid: ele.id, // 相位id,用于对应相位状态
402
+ id: dir,
403
+ name: this.PhaseDataModel.getSidePos(dir).name,
404
+ left: this.PhaseDataModel.getSidePos(dir).x,
405
+ top: this.PhaseDataModel.getSidePos(dir).y
406
+ })
407
+ }
408
+ })
409
+ }
410
+ })
411
+ // 去掉重复方向的数据
412
+ this.overlapsidewalkPhaseData = Array.from(new Set(this.overlapsidewalkPhaseData.map(item => item.id)))
413
+ .map(id => this.overlapsidewalkPhaseData.find(item => item.id === id))
414
+ },
415
+ getCrossType () {
416
+ // 路口类型对应底图决策
417
+ if (this.mainType === '101') {
418
+ // 十字路口
419
+ this.crossType = 'Crossroads'
420
+ }
421
+ if (this.mainType === '100') {
422
+ // T型路口
423
+ switch (this.mainDirection) {
424
+ case '001': this.crossType = 'TypeT-east'
425
+ break
426
+ case '002': this.crossType = 'TypeT-south'
427
+ break
428
+ case '003': this.crossType = 'TypeT-west'
429
+ break
430
+ case '004': this.crossType = 'TypeT-north'
431
+ break
432
+ }
433
+ }
434
+ if (this.mainType === '103') {
435
+ // 匝道
436
+ switch (this.mainDirection) {
437
+ case '001': this.crossType = 'ramp-east'
438
+ break
439
+ case '002': this.crossType = 'ramp-south'
440
+ break
441
+ case '003': this.crossType = 'ramp-west'
442
+ break
443
+ case '004': this.crossType = 'ramp-north'
444
+ break
445
+ }
446
+ }
447
+ if (this.mainType === '104') {
448
+ // 路段行人过街
449
+ switch (this.mainDirection) {
450
+ case '005': this.crossType = 'ped-section-east-west'
451
+ break
452
+ case '006': this.crossType = 'ped-section-south-north'
453
+ break
454
+ }
455
+ }
456
+ if (this.mainType === '999') {
457
+ // 其他路口
458
+ this.crossType = 'Customroads'
459
+ }
460
+ },
461
+ refresh () {
462
+ this.getIntersectionInfo()
463
+ },
464
+ getChannelInfo () {
465
+ uploadSingleTscParam('channel', this.agentId).then(data => {
466
+ let res = data.data
467
+ if (!res.success) {
468
+ if (res.code === '4003') {
469
+ // this.isShowMessage && this.$message.error(this.$t('openatccomponents.errorTip.devicenotonline'))
470
+ if (this.isShowMessage) {
471
+ console.log(this.$t('openatccomponents.errorTip.devicenotonline'))
472
+ }
473
+ return
474
+ }
475
+ // this.isShowMessage && this.$message.error(getMessageByCode(data.data.code, this.$i18n.locale))
476
+ if (this.isShowMessage) {
477
+ console.log(getMessageByCode(data.data.code, this.$i18n.locale))
478
+ }
479
+ return
480
+ }
481
+ let channelList = res.data.data.channelList.filter(ele => ele.type !== undefined)
482
+ this.channelList = this.handleRepeatRealdir(channelList)
483
+ console.log('this.channelList', this.channelList)
484
+ this.handleChannelDirection()
485
+ })
486
+ },
487
+ handleRepeatRealdir (channelList) {
488
+ // 按realdir去掉重复方向的数据
489
+ let dirChannelList = channelList.filter(ele => ele.realdir !== undefined && (ele.type === 0 || ele.type === 1 || ele.type === 3))
490
+ let pedDirChannelList = channelList.filter(ele => ele.realdir !== undefined && ele.type === 2)
491
+ let map = new Map()
492
+ let map2 = new Map()
493
+ dirChannelList.forEach(ele => {
494
+ ele.realdir.forEach(dir => {
495
+ if (map.get(dir) === undefined) {
496
+ map.set(dir, ele)
497
+ }
498
+ })
499
+ })
500
+ pedDirChannelList.forEach(ele => {
501
+ ele.realdir.forEach(dir => {
502
+ if (map2.get(dir) === undefined) {
503
+ map2.set(dir, ele)
504
+ }
505
+ })
506
+ })
507
+ let arr = Array.from(map)
508
+ let pedarr = Array.from(map2)
509
+ let newarr = []
510
+ arr.forEach(ele => {
511
+ ele[1].realdir = [ele[0]]
512
+ let obj = {
513
+ ...ele[1],
514
+ realdir: [ele[0]]
515
+ }
516
+ newarr.push(obj)
517
+ })
518
+ pedarr.forEach(ele => {
519
+ ele[1].realdir = [ele[0]]
520
+ let obj = {
521
+ ...ele[1],
522
+ realdir: [ele[0]]
523
+ }
524
+ newarr.push(obj)
525
+ })
526
+ // console.log(newarr)
527
+ return newarr
528
+ },
529
+ handleChannelDirection () {
530
+ this.LanePhaseData = []
531
+ this.sidewalkPhaseData = []
532
+ this.sidewalkDir = []
533
+ let realphasedirarr = []
534
+ let realpeddirarr = []
535
+ this.channelList.forEach((ele, i) => {
536
+ if (ele.type === 0 || ele.type === 1 || ele.type === 3) {
537
+ if (ele.realdir) {
538
+ ele.realdir.forEach((dir, index) => {
539
+ // 车道相位(通道类型是机动车,非机动车,公交时,对应相位机动车)
540
+ this.LanePhaseData.push({
541
+ key: this.CrossDiagramMgr.getUniqueKey('phase'),
542
+ channelid: ele.id, // 通道id
543
+ id: dir, // 接口返回的dir字段,对应前端定义的相位方向id,唯一标识
544
+ name: this.PhaseDataModel.getPhase(dir).name,
545
+ left: this.PhaseDataModel.getPhase(dir).x,
546
+ top: this.PhaseDataModel.getPhase(dir).y
547
+ })
548
+ })
549
+ realphasedirarr = Array.from(new Set(realphasedirarr.concat(ele.realdir)))
550
+ }
551
+ }
552
+ if (ele.type === 2) {
553
+ if (ele.realdir) {
554
+ ele.realdir.forEach((dir, index) => {
555
+ // 行人相位
556
+ if (this.sidewalkDir.indexOf(dir) === -1 && this.PhaseDataModel.getSidePos(dir)) {
557
+ let obj = {
558
+ key: this.CrossDiagramMgr.getUniqueKey('pedphase') + `-${this.agentId}`,
559
+ channelid: ele.id, // 通道id
560
+ id: dir,
561
+ name: this.PhaseDataModel.getSidePos(dir).name
562
+ }
563
+ if (this.channelType) {
564
+ obj.left = this.PhaseDataModel.getSidePos(dir).x
565
+ obj.top = this.PhaseDataModel.getSidePos(dir).y
566
+ }
567
+ this.sidewalkPhaseData.push(obj)
568
+ }
569
+ })
570
+ realpeddirarr = Array.from(new Set(realpeddirarr.concat(ele.realdir)))
571
+ this.sidewalkDir = Array.from(new Set([...this.sidewalkDir.concat(ele.realdir)]))
572
+ }
573
+ }
574
+ })
575
+ this.inneChoosedDirection = this.choosedDirection.filter(dir => realphasedirarr.indexOf(dir) !== -1)
576
+ this.inneChoosedPedDirection = this.choosedPedDirection.filter(dir => realpeddirarr.indexOf(dir) !== -1)
577
+ this.drawPhaseIcon()
578
+ },
579
+ async drawPhaseIcon () {
580
+ const targetIds = [4, 8, 12, 16] // 掉头相位后画
581
+ this.LanePhaseData = this.LanePhaseData.filter(item => !targetIds.includes(item.id)).concat(this.LanePhaseData.filter(item => targetIds.includes(item.id)))
582
+ this.handleClickedPhase()
583
+ this.compLanePhaseData = JSON.parse(JSON.stringify(this.LanePhaseData))
584
+ this.handleClickedPedPhase()
585
+ this.compSidewalkPhaseData = JSON.parse(JSON.stringify(this.sidewalkPhaseData))
586
+ },
587
+ handleClickedPhase () {
588
+ for (let index = 0; index < this.LanePhaseData.length; index++) {
589
+ const element = this.LanePhaseData[index]
590
+ if (!this.inneChoosedDirection) return
591
+ if (this.inneChoosedDirection.indexOf(element.id) !== -1) {
592
+ element.clicked = true
593
+ }
594
+ }
595
+ },
596
+
597
+ handleClickPhaseIcon (key, action) {
598
+ let curClickedPhase = {}
599
+ if (action === 'clicked') {
600
+ for (let index = 0; index < this.LanePhaseData.length; index++) {
601
+ const element = this.LanePhaseData[index]
602
+ if (element.key === key) {
603
+ element.clicked = true
604
+ curClickedPhase = JSON.parse(JSON.stringify(element))
605
+ }
606
+ }
607
+ }
608
+ if (action === 'cancle') {
609
+ for (let index = 0; index < this.LanePhaseData.length; index++) {
610
+ const element = this.LanePhaseData[index]
611
+ if (element.key === key) {
612
+ delete element.clicked
613
+ }
614
+ }
615
+ }
616
+ this.compLanePhaseData = JSON.parse(JSON.stringify(this.LanePhaseData))
617
+ let clickedDirection = this.compLanePhaseData.filter(ele => ele.clicked && !ele.disabled)
618
+ this.inneChoosedDirection = clickedDirection.map(ele => ele.id)
619
+ this.EmitAllChoosedDirection(curClickedPhase)
620
+ },
621
+ handleClickedPedPhase () {
622
+ // 排他
623
+ for (let index = 0; index < this.sidewalkPhaseData.length; index++) {
624
+ const element = this.sidewalkPhaseData[index]
625
+ delete element.clicked
626
+ }
627
+ for (let index = 0; index < this.sidewalkPhaseData.length; index++) {
628
+ const element = this.sidewalkPhaseData[index]
629
+ if (!this.inneChoosedPedDirection) return
630
+ if (this.inneChoosedPedDirection.indexOf(element.id) !== -1) {
631
+ element.clicked = true
632
+ }
633
+ }
634
+ },
635
+ handleClickSidewalkIcon (data, curChoosePed) {
636
+ this.clickedPedDirection = data.filter(ele => ele.clicked && !ele.disabled)
637
+ this.inneChoosedPedDirection = this.clickedPedDirection.map(ele => ele.id)
638
+ this.EmitAllChoosedDirection(curChoosePed)
639
+ },
640
+ EmitAllChoosedDirection (curClickedPhase) {
641
+ let allChoosedDir = {
642
+ direction: this.inneChoosedDirection,
643
+ peddirection: this.inneChoosedPedDirection
644
+ }
645
+ this.$emit('handleClickCrossIcon', allChoosedDir, curClickedPhase)
646
+ this.drawPhaseIcon()
647
+ }
648
+ },
649
+ mounted () {
650
+ // this.init()
651
+ }
652
+ }
653
+ </script>
654
+ <style scoped>
655
+ .invisible {
656
+ visibility: hidden;
657
+ }
658
+ .crossImg{
659
+ position: relative;
660
+ width: 870px;
661
+ height: 650px;
662
+ left: 50%;
663
+ transform: translateX(-50%);
664
+ }
665
+ .centerText {
666
+ position: absolute;
667
+ width: 140px;
668
+ height: 140px;
669
+ left: 50%;
670
+ top: 50%;
671
+ transform: translateX(-50%) translateY(-50%);
672
+ /* text-align: center; */
673
+ z-index: 9;
674
+ display: flex;
675
+ align-items: center;
676
+ /* padding-left: 16px; */
677
+ }
678
+ .phaseCountdown {
679
+ line-height: 42PX;
680
+ font-size: 18px;
681
+ font-weight: normal;
682
+ font-stretch: normal;
683
+ letter-spacing: 0px;
684
+ color: #fff;
685
+ width: 150px;
686
+ margin: 0 auto;
687
+ }
688
+ .countdownBg {
689
+ border-radius: 10PX;
690
+ background-color: rgba(94, 90, 90, 0.8);
691
+ padding-left: 14PX;
692
+ padding-top: 10PX;
693
+ padding-bottom: 10PX;
694
+ }
695
+ .centerText .text {
696
+ display: inline-block;
697
+ color: #299BCC;
698
+ margin-top: 20PX;
699
+ }
700
+ .merge-direction-icon {
701
+ width: 80PX;
702
+ height: 80PX;
703
+ margin: 0 auto;
704
+ }
705
+
706
+ .baseImg {
707
+ width: 100%;
708
+ height: 650px;
709
+ position: relative;
710
+ }
711
+ </style>