openatc-components 0.4.62 → 0.4.64

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 +702 -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 +702 -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 +547 -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,702 @@
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
+ },
245
+ getTempCrossInfo (res) {
246
+ this.crossInfo = res.data.data.param
247
+ this.crossInfo.phaseList.forEach(cross => this.phaseDirMap.set(cross.id, {direction: cross.direction, peddirection: cross.peddirection}))
248
+ if (this.mainType === '100' || this.mainType === '101' || this.mainType === '104') {
249
+ // 城市道路加载车道相位坐标和人行道坐标
250
+ this.getPhasePos()
251
+ this.getOverlapPhasePos()
252
+ this.getPedPhasePos()
253
+ this.getOverlapPedPhasePos()
254
+ }
255
+ this.inneChoosedDirection = [...this.choosedDirection]
256
+ this.inneChoosedPedDirection = [...this.choosedPedDirection]
257
+ this.drawDefaultPhaseIcon()
258
+ },
259
+ getBusPos () {
260
+ // 公交相位信息
261
+ this.busPhaseData = []
262
+ this.crossInfo.phaseList.forEach((ele, i) => {
263
+ if (ele.controltype >= 3 && ele.controltype <= 6) {
264
+ ele.direction.forEach((dir, index) => {
265
+ // 车道相位
266
+ this.busPhaseData.push({
267
+ key: this.CrossDiagramMgr.getUniqueKey('busphase'),
268
+ phaseid: ele.id, // 相位id,用于对应相位状态
269
+ id: dir, // 接口返回的dir字段,对应前端定义的相位方向id,唯一标识
270
+ name: this.PhaseDataModel.getBusPhasePos(dir).name,
271
+ left: this.PhaseDataModel.getBusPhasePos(dir).x,
272
+ top: this.PhaseDataModel.getBusPhasePos(dir).y,
273
+ busleft: this.PhaseDataModel.getBusMapPos(dir).x,
274
+ bustop: this.PhaseDataModel.getBusMapPos(dir).y,
275
+ controltype: ele.controltype
276
+ })
277
+ })
278
+ }
279
+ })
280
+ // 去掉重复方向的数据
281
+ this.busPhaseData = Array.from(new Set(this.busPhaseData.map(item => item.id)))
282
+ .map(id => this.busPhaseData.find(item => item.id === id))
283
+ },
284
+ getPhasePos () {
285
+ // 车道相位信息
286
+ this.LanePhaseData = []
287
+ this.crossInfo.phaseList.forEach((ele, i) => {
288
+ if (ele.controltype === undefined || ele.controltype <= 2) {
289
+ ele.direction.forEach((dir, index) => {
290
+ // 车道相位
291
+ this.LanePhaseData.push({
292
+ key: this.CrossDiagramMgr.getUniqueKey('phase'),
293
+ phaseid: ele.id, // 相位id,用于对应相位状态
294
+ id: dir, // 接口返回的dir字段,对应前端定义的相位方向id,唯一标识
295
+ name: this.PhaseDataModel.getPhase(dir).name,
296
+ left: this.PhaseDataModel.getPhase(dir).x,
297
+ top: this.PhaseDataModel.getPhase(dir).y
298
+ })
299
+ })
300
+ }
301
+ })
302
+ // 去掉重复方向的数据
303
+ this.LanePhaseData = Array.from(new Set(this.LanePhaseData.map(item => item.id)))
304
+ .map(id => this.LanePhaseData.find(item => item.id === id))
305
+ },
306
+ getOverlapPhasePos () {
307
+ // 车道跟随相位信息
308
+ if (!this.crossInfo.overlaplList) return
309
+ this.overlapLanePhaseData = []
310
+ this.crossInfo.overlaplList.forEach((ele, i) => {
311
+ if (ele.direction) {
312
+ ele.direction.forEach((dir, index) => {
313
+ this.overlapLanePhaseData.push({
314
+ key: this.CrossDiagramMgr.getUniqueKey('overlapphase'),
315
+ phaseid: ele.id, // 相位id,用于对应相位状态
316
+ id: dir, // 接口返回的dir字段,对应前端定义的相位方向id,唯一标识
317
+ name: this.PhaseDataModel.getPhase(dir).name,
318
+ left: this.PhaseDataModel.getPhase(dir).x,
319
+ top: this.PhaseDataModel.getPhase(dir).y
320
+ })
321
+ })
322
+ }
323
+ })
324
+ // 去掉重复方向的数据
325
+ this.overlapLanePhaseData = Array.from(new Set(this.overlapLanePhaseData.map(item => item.id)))
326
+ .map(id => this.overlapLanePhaseData.find(item => item.id === id))
327
+ },
328
+ getRampPhasePos () {
329
+ // 匝道车道相位信息
330
+ this.LanePhaseData = []
331
+ this.crossInfo.phaseList.forEach((ele, i) => {
332
+ ele.direction.forEach((dir, index) => {
333
+ if (ele.controltype === 0) {
334
+ this.handleRampPhasePosData(`${i}-${index}`, ele, dir, this.PhaseDataModel.getMainPhasePos)
335
+ }
336
+ if (ele.controltype === 1) {
337
+ this.handleRampPhasePosData(`${i}-${index}`, ele, dir, this.PhaseDataModel.getSidePhasePos)
338
+ }
339
+ })
340
+ })
341
+ // 去掉重复方向的数据
342
+ this.LanePhaseData = Array.from(new Set(this.LanePhaseData.map(item => item.id)))
343
+ .map(id => this.LanePhaseData.find(item => item.id === id))
344
+ },
345
+ handleRampPhasePosData (key, phase, dir) {
346
+ let posInfo = phase.controltype === 0 ? this.PhaseDataModel.getMainPhasePos(dir) : this.PhaseDataModel.getSidePhasePos(dir)
347
+ this.LanePhaseData.push({
348
+ key,
349
+ controlType: phase.controltype,
350
+ phaseid: phase.id, // 相位id,用于对应相位状态
351
+ id: dir, // 接口返回的dir字段,对应前端定义的相位方向id,唯一标识
352
+ name: posInfo.name,
353
+ left: posInfo.x,
354
+ top: posInfo.y
355
+ })
356
+ },
357
+ getPedPhasePos () {
358
+ // 行人相位信息
359
+ this.sidewalkPhaseData = []
360
+ this.crossInfo.phaseList.forEach((ele, i) => {
361
+ if (ele.peddirection) {
362
+ ele.peddirection.forEach((dir, index) => {
363
+ // 行人相位
364
+ if (this.PhaseDataModel.getSidePos(dir)) {
365
+ let key = this.CrossDiagramMgr.getUniqueKey('pedphase')
366
+ this.sidewalkPhaseData.push({
367
+ key,
368
+ phaseid: ele.id, // 相位id,用于对应相位状态
369
+ id: dir,
370
+ name: this.PhaseDataModel.getSidePos(dir).name,
371
+ left: this.PhaseDataModel.getSidePos(dir).x,
372
+ top: this.PhaseDataModel.getSidePos(dir).y
373
+ })
374
+ }
375
+ })
376
+ }
377
+ })
378
+ // 去掉重复方向的数据
379
+ this.sidewalkPhaseData = Array.from(new Set(this.sidewalkPhaseData.map(item => item.id)))
380
+ .map(id => this.sidewalkPhaseData.find(item => item.id === id))
381
+ },
382
+ getOverlapPedPhasePos () {
383
+ // 行人跟随相位信息
384
+ if (!this.crossInfo.overlaplList) return
385
+ this.overlapsidewalkPhaseData = []
386
+ this.crossInfo.overlaplList.forEach((ele, i) => {
387
+ if (ele.peddirection) {
388
+ ele.peddirection.forEach((dir, index) => {
389
+ if (this.PhaseDataModel.getSidePos(dir)) {
390
+ this.overlapsidewalkPhaseData.push({
391
+ key: this.CrossDiagramMgr.getUniqueKey('overlappedphase'),
392
+ phaseid: ele.id, // 相位id,用于对应相位状态
393
+ id: dir,
394
+ name: this.PhaseDataModel.getSidePos(dir).name,
395
+ left: this.PhaseDataModel.getSidePos(dir).x,
396
+ top: this.PhaseDataModel.getSidePos(dir).y
397
+ })
398
+ }
399
+ })
400
+ }
401
+ })
402
+ // 去掉重复方向的数据
403
+ this.overlapsidewalkPhaseData = Array.from(new Set(this.overlapsidewalkPhaseData.map(item => item.id)))
404
+ .map(id => this.overlapsidewalkPhaseData.find(item => item.id === id))
405
+ },
406
+ getCrossType () {
407
+ // 路口类型对应底图决策
408
+ if (this.mainType === '101') {
409
+ // 十字路口
410
+ this.crossType = 'Crossroads'
411
+ }
412
+ if (this.mainType === '100') {
413
+ // T型路口
414
+ switch (this.mainDirection) {
415
+ case '001': this.crossType = 'TypeT-east'
416
+ break
417
+ case '002': this.crossType = 'TypeT-south'
418
+ break
419
+ case '003': this.crossType = 'TypeT-west'
420
+ break
421
+ case '004': this.crossType = 'TypeT-north'
422
+ break
423
+ }
424
+ }
425
+ if (this.mainType === '103') {
426
+ // 匝道
427
+ switch (this.mainDirection) {
428
+ case '001': this.crossType = 'ramp-east'
429
+ break
430
+ case '002': this.crossType = 'ramp-south'
431
+ break
432
+ case '003': this.crossType = 'ramp-west'
433
+ break
434
+ case '004': this.crossType = 'ramp-north'
435
+ break
436
+ }
437
+ }
438
+ if (this.mainType === '104') {
439
+ // 路段行人过街
440
+ switch (this.mainDirection) {
441
+ case '005': this.crossType = 'ped-section-east-west'
442
+ break
443
+ case '006': this.crossType = 'ped-section-south-north'
444
+ break
445
+ }
446
+ }
447
+ if (this.mainType === '999') {
448
+ // 其他路口
449
+ this.crossType = 'Customroads'
450
+ }
451
+ },
452
+ refresh () {
453
+ this.getIntersectionInfo()
454
+ },
455
+ getChannelInfo () {
456
+ uploadSingleTscParam('channel', this.agentId).then(data => {
457
+ let res = data.data
458
+ if (!res.success) {
459
+ if (res.code === '4003') {
460
+ // this.isShowMessage && this.$message.error(this.$t('openatccomponents.errorTip.devicenotonline'))
461
+ if (this.isShowMessage) {
462
+ console.log(this.$t('openatccomponents.errorTip.devicenotonline'))
463
+ }
464
+ return
465
+ }
466
+ // this.isShowMessage && this.$message.error(getMessageByCode(data.data.code, this.$i18n.locale))
467
+ if (this.isShowMessage) {
468
+ console.log(getMessageByCode(data.data.code, this.$i18n.locale))
469
+ }
470
+ return
471
+ }
472
+ let channelList = res.data.data.channelList.filter(ele => ele.type !== undefined)
473
+ this.channelList = this.handleRepeatRealdir(channelList)
474
+ console.log('this.channelList', this.channelList)
475
+ this.handleChannelDirection()
476
+ })
477
+ },
478
+ handleRepeatRealdir (channelList) {
479
+ // 按realdir去掉重复方向的数据
480
+ let dirChannelList = channelList.filter(ele => ele.realdir !== undefined && (ele.type === 0 || ele.type === 1 || ele.type === 3))
481
+ let pedDirChannelList = channelList.filter(ele => ele.realdir !== undefined && ele.type === 2)
482
+ let map = new Map()
483
+ let map2 = new Map()
484
+ dirChannelList.forEach(ele => {
485
+ ele.realdir.forEach(dir => {
486
+ if (map.get(dir) === undefined) {
487
+ map.set(dir, ele)
488
+ }
489
+ })
490
+ })
491
+ pedDirChannelList.forEach(ele => {
492
+ ele.realdir.forEach(dir => {
493
+ if (map2.get(dir) === undefined) {
494
+ map2.set(dir, ele)
495
+ }
496
+ })
497
+ })
498
+ let arr = Array.from(map)
499
+ let pedarr = Array.from(map2)
500
+ let newarr = []
501
+ arr.forEach(ele => {
502
+ ele[1].realdir = [ele[0]]
503
+ let obj = {
504
+ ...ele[1],
505
+ realdir: [ele[0]]
506
+ }
507
+ newarr.push(obj)
508
+ })
509
+ pedarr.forEach(ele => {
510
+ ele[1].realdir = [ele[0]]
511
+ let obj = {
512
+ ...ele[1],
513
+ realdir: [ele[0]]
514
+ }
515
+ newarr.push(obj)
516
+ })
517
+ // console.log(newarr)
518
+ return newarr
519
+ },
520
+ handleChannelDirection () {
521
+ this.LanePhaseData = []
522
+ this.sidewalkPhaseData = []
523
+ this.sidewalkDir = []
524
+ let realphasedirarr = []
525
+ let realpeddirarr = []
526
+ this.channelList.forEach((ele, i) => {
527
+ if (ele.type === 0 || ele.type === 1 || ele.type === 3) {
528
+ if (ele.realdir) {
529
+ ele.realdir.forEach((dir, index) => {
530
+ // 车道相位(通道类型是机动车,非机动车,公交时,对应相位机动车)
531
+ this.LanePhaseData.push({
532
+ key: this.CrossDiagramMgr.getUniqueKey('phase'),
533
+ channelid: ele.id, // 通道id
534
+ id: dir, // 接口返回的dir字段,对应前端定义的相位方向id,唯一标识
535
+ name: this.PhaseDataModel.getPhase(dir).name,
536
+ left: this.PhaseDataModel.getPhase(dir).x,
537
+ top: this.PhaseDataModel.getPhase(dir).y
538
+ })
539
+ })
540
+ realphasedirarr = Array.from(new Set(realphasedirarr.concat(ele.realdir)))
541
+ }
542
+ }
543
+ if (ele.type === 2) {
544
+ if (ele.realdir) {
545
+ ele.realdir.forEach((dir, index) => {
546
+ // 行人相位
547
+ if (this.sidewalkDir.indexOf(dir) === -1 && this.PhaseDataModel.getSidePos(dir)) {
548
+ let obj = {
549
+ key: this.CrossDiagramMgr.getUniqueKey('pedphase') + `-${this.agentId}`,
550
+ channelid: ele.id, // 通道id
551
+ id: dir,
552
+ name: this.PhaseDataModel.getSidePos(dir).name
553
+ }
554
+ if (this.channelType) {
555
+ obj.left = this.PhaseDataModel.getSidePos(dir).x
556
+ obj.top = this.PhaseDataModel.getSidePos(dir).y
557
+ }
558
+ this.sidewalkPhaseData.push(obj)
559
+ }
560
+ })
561
+ realpeddirarr = Array.from(new Set(realpeddirarr.concat(ele.realdir)))
562
+ this.sidewalkDir = Array.from(new Set([...this.sidewalkDir.concat(ele.realdir)]))
563
+ }
564
+ }
565
+ })
566
+ this.inneChoosedDirection = this.choosedDirection.filter(dir => realphasedirarr.indexOf(dir) !== -1)
567
+ this.inneChoosedPedDirection = this.choosedPedDirection.filter(dir => realpeddirarr.indexOf(dir) !== -1)
568
+ this.drawPhaseIcon()
569
+ },
570
+ async drawPhaseIcon () {
571
+ const targetIds = [4, 8, 12, 16] // 掉头相位后画
572
+ this.LanePhaseData = this.LanePhaseData.filter(item => !targetIds.includes(item.id)).concat(this.LanePhaseData.filter(item => targetIds.includes(item.id)))
573
+ this.handleClickedPhase()
574
+ this.compLanePhaseData = JSON.parse(JSON.stringify(this.LanePhaseData))
575
+ this.handleClickedPedPhase()
576
+ this.compSidewalkPhaseData = JSON.parse(JSON.stringify(this.sidewalkPhaseData))
577
+ },
578
+ handleClickedPhase () {
579
+ for (let index = 0; index < this.LanePhaseData.length; index++) {
580
+ const element = this.LanePhaseData[index]
581
+ if (!this.inneChoosedDirection) return
582
+ if (this.inneChoosedDirection.indexOf(element.id) !== -1) {
583
+ element.clicked = true
584
+ }
585
+ }
586
+ },
587
+
588
+ handleClickPhaseIcon (key, action) {
589
+ let curClickedPhase = {}
590
+ if (action === 'clicked') {
591
+ for (let index = 0; index < this.LanePhaseData.length; index++) {
592
+ const element = this.LanePhaseData[index]
593
+ if (element.key === key) {
594
+ element.clicked = true
595
+ curClickedPhase = JSON.parse(JSON.stringify(element))
596
+ }
597
+ }
598
+ }
599
+ if (action === 'cancle') {
600
+ for (let index = 0; index < this.LanePhaseData.length; index++) {
601
+ const element = this.LanePhaseData[index]
602
+ if (element.key === key) {
603
+ delete element.clicked
604
+ }
605
+ }
606
+ }
607
+ this.compLanePhaseData = JSON.parse(JSON.stringify(this.LanePhaseData))
608
+ let clickedDirection = this.compLanePhaseData.filter(ele => ele.clicked && !ele.disabled)
609
+ this.inneChoosedDirection = clickedDirection.map(ele => ele.id)
610
+ this.EmitAllChoosedDirection(curClickedPhase)
611
+ },
612
+ handleClickedPedPhase () {
613
+ // 排他
614
+ for (let index = 0; index < this.sidewalkPhaseData.length; index++) {
615
+ const element = this.sidewalkPhaseData[index]
616
+ delete element.clicked
617
+ }
618
+ for (let index = 0; index < this.sidewalkPhaseData.length; index++) {
619
+ const element = this.sidewalkPhaseData[index]
620
+ if (!this.inneChoosedPedDirection) return
621
+ if (this.inneChoosedPedDirection.indexOf(element.id) !== -1) {
622
+ element.clicked = true
623
+ }
624
+ }
625
+ },
626
+ handleClickSidewalkIcon (data, curChoosePed) {
627
+ this.clickedPedDirection = data.filter(ele => ele.clicked && !ele.disabled)
628
+ this.inneChoosedPedDirection = this.clickedPedDirection.map(ele => ele.id)
629
+ this.EmitAllChoosedDirection(curChoosePed)
630
+ },
631
+ EmitAllChoosedDirection (curClickedPhase) {
632
+ let allChoosedDir = {
633
+ direction: this.inneChoosedDirection,
634
+ peddirection: this.inneChoosedPedDirection
635
+ }
636
+ this.$emit('handleClickCrossIcon', allChoosedDir, curClickedPhase)
637
+ this.drawPhaseIcon()
638
+ }
639
+ },
640
+ mounted () {
641
+ // this.init()
642
+ }
643
+ }
644
+ </script>
645
+ <style scoped>
646
+ .invisible {
647
+ visibility: hidden;
648
+ }
649
+ .crossImg{
650
+ position: relative;
651
+ width: 870px;
652
+ height: 650px;
653
+ left: 50%;
654
+ transform: translateX(-50%);
655
+ }
656
+ .centerText {
657
+ position: absolute;
658
+ width: 140px;
659
+ height: 140px;
660
+ left: 50%;
661
+ top: 50%;
662
+ transform: translateX(-50%) translateY(-50%);
663
+ /* text-align: center; */
664
+ z-index: 9;
665
+ display: flex;
666
+ align-items: center;
667
+ /* padding-left: 16px; */
668
+ }
669
+ .phaseCountdown {
670
+ line-height: 42PX;
671
+ font-size: 18px;
672
+ font-weight: normal;
673
+ font-stretch: normal;
674
+ letter-spacing: 0px;
675
+ color: #fff;
676
+ width: 150px;
677
+ margin: 0 auto;
678
+ }
679
+ .countdownBg {
680
+ border-radius: 10PX;
681
+ background-color: rgba(94, 90, 90, 0.8);
682
+ padding-left: 14PX;
683
+ padding-top: 10PX;
684
+ padding-bottom: 10PX;
685
+ }
686
+ .centerText .text {
687
+ display: inline-block;
688
+ color: #299BCC;
689
+ margin-top: 20PX;
690
+ }
691
+ .merge-direction-icon {
692
+ width: 80PX;
693
+ height: 80PX;
694
+ margin: 0 auto;
695
+ }
696
+
697
+ .baseImg {
698
+ width: 100%;
699
+ height: 650px;
700
+ position: relative;
701
+ }
702
+ </style>