openatc-components 0.0.1 → 0.0.6

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 (521) hide show
  1. package/.babelrc +18 -18
  2. package/.editorconfig +9 -9
  3. package/.eslintignore +5 -5
  4. package/.eslintrc.js +29 -29
  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 -25
  11. package/build/package.prod.config.js +160 -60
  12. package/build/utils.js +101 -101
  13. package/build/vue-loader.conf.js +22 -22
  14. package/build/webpack.base.conf.js +114 -109
  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 -7
  18. package/config/index.js +90 -76
  19. package/config/prod.env.js +5 -4
  20. package/config/test.env.js +7 -7
  21. package/index.html +12 -12
  22. package/package/kisscomps/components/CommonKanban/CommonKanban.vue +109 -0
  23. package/package/kisscomps/components/CommonKanban/index.js +2 -0
  24. package/package/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +170 -0
  25. package/package/kisscomps/components/FaultDetailModal/index.js +2 -0
  26. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +497 -0
  27. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -0
  28. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PatternWalkSvg.vue +295 -0
  29. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +300 -0
  30. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +288 -0
  31. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +391 -0
  32. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +336 -0
  33. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +345 -0
  34. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +389 -0
  35. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1179 -0
  36. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +402 -0
  37. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +361 -0
  38. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +368 -0
  39. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +475 -0
  40. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +494 -0
  41. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +401 -0
  42. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +360 -0
  43. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +367 -0
  44. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +476 -0
  45. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -0
  46. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -0
  47. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -0
  48. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -0
  49. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -0
  50. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -0
  51. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +857 -0
  52. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +112 -0
  53. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +112 -0
  54. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +111 -0
  55. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -0
  56. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -0
  57. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +99 -0
  58. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +99 -0
  59. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -0
  60. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +99 -0
  61. package/package/kisscomps/components/IntersectionMap/crossDirection/utils.js +77 -0
  62. package/package/kisscomps/components/IntersectionMap/index.js +2 -0
  63. package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +144 -0
  64. package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +273 -0
  65. package/package/kisscomps/components/IntersectionWithInterface/index.js +2 -0
  66. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +751 -0
  67. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +197 -0
  68. package/package/kisscomps/components/SchemeConfig/index.js +2 -0
  69. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +218 -0
  70. package/package/kisscomps/components/SchemeConfig/manualControlModal/index.vue +179 -0
  71. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +297 -0
  72. package/package/kisscomps/components/SvgIcon/SvgIcon.vue +53 -0
  73. package/package/kisscomps/components/SvgIcon/index.js +2 -0
  74. package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +521 -345
  75. package/package/kisscomps/components/XRDDirSelector/index.js +2 -2
  76. package/package/kisscomps/index.js +47 -71
  77. package/package/kissui.min.js +1 -53834
  78. package/package.json +15 -3
  79. package/src/App.vue +24 -25
  80. package/src/EdgeMgr/EdgeModelBase.js +16 -0
  81. package/src/EdgeMgr/controller/crossDiagramMgr.js +120 -0
  82. package/src/EdgeMgr/controller/globalParamsMgr.js +75 -0
  83. package/src/api/authapi.js +31 -0
  84. package/src/api/config.js +21 -0
  85. package/src/api/control.js +76 -0
  86. package/src/api/fault.js +66 -0
  87. package/src/api/index.js +24 -0
  88. package/src/api/login.js +46 -0
  89. package/src/api/optimize.js +72 -0
  90. package/src/api/param.js +154 -0
  91. package/src/api/passwdAssest.js +101 -0
  92. package/src/api/template.js +27 -0
  93. package/src/i18n/index.js +26 -0
  94. package/src/i18n/language/en.js +1108 -0
  95. package/src/i18n/language/index.js +25 -0
  96. package/src/i18n/language/zh.js +1107 -0
  97. package/src/icons/index.js +20 -0
  98. package/src/icons/svg/adaptiveParameter.svg +1 -0
  99. package/src/icons/svg/bendi.svg +110 -0
  100. package/src/icons/svg/bujin.svg +36 -0
  101. package/src/icons/svg/channel.svg +1 -0
  102. package/src/icons/svg/channellock.svg +1 -0
  103. package/src/icons/svg/closephase.svg +1 -0
  104. package/src/icons/svg/connectBlue.svg +7 -0
  105. package/src/icons/svg/control.svg +1 -0
  106. package/src/icons/svg/controlpanel.svg +1 -0
  107. package/src/icons/svg/currentvolume.svg +1 -0
  108. package/src/icons/svg/cutRed.svg +7 -0
  109. package/src/icons/svg/cycle.svg +1 -0
  110. package/src/icons/svg/dailyrecord.svg +1 -0
  111. package/src/icons/svg/date.svg +1 -0
  112. package/src/icons/svg/detector.svg +1 -0
  113. package/src/icons/svg/deviceinfo.svg +1 -0
  114. package/src/icons/svg/dingzhouqi.svg +34 -0
  115. package/src/icons/svg/example.svg +1 -0
  116. package/src/icons/svg/eye.svg +1 -0
  117. package/src/icons/svg/form.svg +1 -0
  118. package/src/icons/svg/ganyingkongzhi.svg +30 -0
  119. package/src/icons/svg/ganyingshixingrenguojie.svg +1 -0
  120. package/src/icons/svg/guandeng.svg +81 -0
  121. package/src/icons/svg/history.svg +1 -0
  122. package/src/icons/svg/huangshan.svg +71 -0
  123. package/src/icons/svg/lockingphase.svg +15 -0
  124. package/src/icons/svg/maincontrol.svg +1 -0
  125. package/src/icons/svg/manualcontrolbackground.svg +51 -0
  126. package/src/icons/svg/manualcontrolbackground1.svg +62 -0
  127. package/src/icons/svg/manualcontrolbackgrounden.svg +62 -0
  128. package/src/icons/svg/model.svg +1 -0
  129. package/src/icons/svg/optimize.svg +1 -0
  130. package/src/icons/svg/overlap.svg +1 -0
  131. package/src/icons/svg/overview.svg +1 -0
  132. package/src/icons/svg/password.svg +1 -0
  133. package/src/icons/svg/pattern.svg +1 -0
  134. package/src/icons/svg/peddetector.svg +1 -0
  135. package/src/icons/svg/phase.svg +1 -0
  136. package/src/icons/svg/phasediff.svg +1 -0
  137. package/src/icons/svg/plan.svg +1 -0
  138. package/src/icons/svg/quanhong.svg +86 -0
  139. package/src/icons/svg/shanghe.svg +11 -0
  140. package/src/icons/svg/shoudong.svg +103 -0
  141. package/src/icons/svg/statistics.svg +1 -0
  142. package/src/icons/svg/system.svg +1 -0
  143. package/src/icons/svg/table.svg +1 -0
  144. package/src/icons/svg/time.svg +1 -0
  145. package/src/icons/svg/tree.svg +1 -0
  146. package/src/icons/svg/user.svg +1 -0
  147. package/src/icons/svg/usermanager.svg +1 -0
  148. package/src/icons/svg/wuxianlan.svg +46 -0
  149. package/src/icons/svg/xiala.svg +11 -0
  150. package/src/icons/svg/xingrenguojie.svg +33 -0
  151. package/src/icons/svg/xitong.svg +89 -0
  152. package/src/icons/svg/youxian.svg +41 -0
  153. package/src/icons/svg/zishiying.svg +1 -0
  154. package/src/icons/svg/zizhukongzhi.svg +43 -0
  155. package/src/kisscomps/components/CommonKanban/CommonKanban.vue +109 -0
  156. package/src/kisscomps/components/CommonKanban/index.js +2 -0
  157. package/src/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +170 -0
  158. package/src/kisscomps/components/FaultDetailModal/index.js +2 -0
  159. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +497 -0
  160. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -0
  161. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PatternWalkSvg.vue +295 -0
  162. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +300 -0
  163. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +288 -0
  164. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +391 -0
  165. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +336 -0
  166. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +345 -0
  167. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +389 -0
  168. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1179 -0
  169. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +402 -0
  170. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +361 -0
  171. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +368 -0
  172. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +475 -0
  173. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +494 -0
  174. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +401 -0
  175. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +360 -0
  176. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +367 -0
  177. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +476 -0
  178. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -0
  179. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -0
  180. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -0
  181. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -0
  182. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -0
  183. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -0
  184. package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +857 -0
  185. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +112 -0
  186. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +112 -0
  187. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +111 -0
  188. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -0
  189. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -0
  190. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +99 -0
  191. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +99 -0
  192. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -0
  193. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +99 -0
  194. package/src/kisscomps/components/IntersectionMap/crossDirection/utils.js +77 -0
  195. package/src/kisscomps/components/IntersectionMap/index.js +2 -0
  196. package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +144 -0
  197. package/src/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +273 -0
  198. package/src/kisscomps/components/IntersectionWithInterface/index.js +2 -0
  199. package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +751 -0
  200. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +197 -0
  201. package/src/kisscomps/components/SchemeConfig/index.js +2 -0
  202. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +218 -0
  203. package/src/kisscomps/components/SchemeConfig/manualControlModal/index.vue +179 -0
  204. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +297 -0
  205. package/src/kisscomps/components/SvgIcon/SvgIcon.vue +53 -0
  206. package/src/kisscomps/components/SvgIcon/index.js +2 -0
  207. package/src/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +521 -345
  208. package/src/kisscomps/components/XRDDirSelector/index.js +2 -2
  209. package/src/kisscomps/index.js +47 -71
  210. package/src/lib/publicjs/ArryListUtil.js +38 -0
  211. package/src/lib/publicjs/HttpurlMgr.js +45 -0
  212. package/src/lib/publicjs/KissApi.js +156 -0
  213. package/src/lib/publicjs/KissWSSub/Heartcheck.js +128 -0
  214. package/src/lib/publicjs/KissWSSub/KissWsSub.js +91 -0
  215. package/src/lib/publicjs/KissWSSub/KissWsSubByType.js +152 -0
  216. package/src/lib/publicjs/KissWSSub/SimuWsSubByType.js +44 -0
  217. package/src/lib/publicjs/KissWSSub/Sub.js +51 -0
  218. package/src/lib/publicjs/KissWSSub/SubChannel.js +119 -0
  219. package/src/lib/publicjs/basecomponents.js +65 -0
  220. package/src/lib/publicjs/localStorage.js +112 -0
  221. package/src/lib/publicjs/objdeepcopy.js +32 -0
  222. package/src/lib/publicjs/pageScroll.js +30 -0
  223. package/src/lib/publicjs/passwdAssest.js +101 -0
  224. package/src/lib/publicjs/styleclassfactory.js +32 -0
  225. package/src/main.js +44 -23
  226. package/src/router/index.js +29 -15
  227. package/src/store/getters.js +29 -0
  228. package/src/store/index.js +36 -0
  229. package/src/store/modules/app.js +54 -0
  230. package/src/store/modules/globalParam.js +196 -0
  231. package/src/store/modules/globalParamModel.js +34 -0
  232. package/src/store/modules/permissionRoutes.js +50 -0
  233. package/src/store/modules/saveAgent.js +35 -0
  234. package/src/store/modules/user.js +133 -0
  235. package/src/utils/auth.js +102 -0
  236. package/src/utils/dateFormat.js +41 -0
  237. package/src/utils/errorcode.js +224 -0
  238. package/src/utils/fault.js +195 -0
  239. package/src/utils/faultcode.js +209 -0
  240. package/src/utils/index.js +69 -0
  241. package/src/utils/pedphasedesc.js +119 -0
  242. package/src/utils/phasedesc.js +124 -0
  243. package/src/utils/responseMessage.js +21 -0
  244. package/src/utils/validate.js +43 -0
  245. package/src/views/home.1.vue +479 -479
  246. package/src/views/home.vue +63 -196
  247. package/src/views/intersection.vue +85 -0
  248. package/src/views/schemeconfig.vue +126 -0
  249. package/static/apiconfig.json +336 -0
  250. package/static/servConfig.json +1 -0
  251. package/static/styles/common.scss +18 -0
  252. package/static/styles/commonkanban.scss +88 -0
  253. package/static/styles/dark/index.scss +3 -0
  254. package/static/styles/dark/theme/element-dark.scss +43 -0
  255. package/static/styles/index.scss +85 -0
  256. package/static/styles/intersection.scss +144 -0
  257. package/static/styles/light/index.scss +3 -0
  258. package/static/styles/light/theme/element-light.scss +43 -0
  259. package/static/styles/schemeconfig.scss +299 -0
  260. package/static/token.json +3 -0
  261. package/test/e2e/custom-assertions/elementCount.js +27 -27
  262. package/test/e2e/nightwatch.conf.js +46 -46
  263. package/test/e2e/runner.js +48 -48
  264. package/test/e2e/specs/test.js +19 -19
  265. package/test/unit/.eslintrc +7 -7
  266. package/test/unit/jest.conf.js +30 -30
  267. package/test/unit/setup.js +3 -3
  268. package/test/unit/specs/HelloWorld.spec.js +11 -11
  269. package/package/kisscomps/components/CircleMenu/KissCircleMenu.vue +0 -398
  270. package/package/kisscomps/components/CircleMenu/index.js +0 -2
  271. package/package/kisscomps/components/DashBoard/MakeGradientColor.js +0 -84
  272. package/package/kisscomps/components/DashBoard/dashboard.js +0 -471
  273. package/package/kisscomps/components/DashBoard/dashboard.vue +0 -57
  274. package/package/kisscomps/components/DashBoard/index.js +0 -2
  275. package/package/kisscomps/components/Horizontal/KissHorizontal.vue +0 -146
  276. package/package/kisscomps/components/Horizontal/index.js +0 -2
  277. package/package/kisscomps/components/HorizontalChildren/KissHorizontalChildren.vue +0 -196
  278. package/package/kisscomps/components/HorizontalChildren/index.js +0 -2
  279. package/package/kisscomps/components/KissCircleMenu/CircleMenu.vue +0 -113
  280. package/package/kisscomps/components/KissCircleMenu/index.js +0 -2
  281. package/package/kisscomps/components/KissCircleMenu/style/index.less +0 -2
  282. package/package/kisscomps/components/KissCircleMenu/style/main/core.less +0 -162
  283. package/package/kisscomps/components/KissCircleMenu/style/main/other.less +0 -94
  284. package/package/kisscomps/components/KissCircleMenu/style/mixin/mixin.less +0 -36
  285. package/package/kisscomps/components/KissCircleMenu/style/var/var.less +0 -21
  286. package/package/kisscomps/components/KissCircleMenu/utils/colorRE.js +0 -5
  287. package/package/kisscomps/components/KissMessageBox/KissMessageBox.vue +0 -108
  288. package/package/kisscomps/components/KissMessageBox/index.js +0 -2
  289. package/package/kisscomps/components/KissSearchInput/index.js +0 -2
  290. package/package/kisscomps/components/KissSearchInput/kisssearchinput.vue +0 -77
  291. package/package/kisscomps/components/KissSimulationProgress/KissSimulationProgress.vue +0 -294
  292. package/package/kisscomps/components/KissSimulationProgress/index.js +0 -2
  293. package/package/kisscomps/components/StatusBar/StatusBar.vue +0 -222
  294. package/package/kisscomps/components/StatusBar/index.js +0 -2
  295. package/package/kisscomps/components/TragResize/index.js +0 -2
  296. package/package/kisscomps/components/TragResize/kissdragresize.vue +0 -536
  297. package/package/kisscomps/components/TragResize/util/dom.js +0 -23
  298. package/package/kisscomps/components/TragResize/util/fns.js +0 -3
  299. package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.1.vue +0 -320
  300. package/package/kisscomps/components/button/index.js +0 -2
  301. package/package/kisscomps/components/button/kissbtn.scss +0 -0
  302. package/package/kisscomps/components/button/kissbutton.vue +0 -168
  303. package/package/kisscomps/components/compass3D/compass.vue +0 -180
  304. package/package/kisscomps/components/compass3D/index.js +0 -2
  305. package/package/kisscomps/components/header/index.js +0 -2
  306. package/package/kisscomps/components/header/kissHead.vue +0 -83
  307. package/package/kisscomps/components/horizontalMenu/index.js +0 -2
  308. package/package/kisscomps/components/horizontalMenu/kissHorizontalMenu.vue +0 -254
  309. package/package/kisscomps/components/image/KissHead/headbg.png +0 -0
  310. package/package/kisscomps/components/image/KissInput/input.png +0 -0
  311. package/package/kisscomps/components/image/KissNavMenu/alart.png +0 -0
  312. package/package/kisscomps/components/image/KissNavMenu/alartselect.png +0 -0
  313. package/package/kisscomps/components/image/KissNavMenu/count.png +0 -0
  314. package/package/kisscomps/components/image/KissNavMenu/countselect.png +0 -0
  315. package/package/kisscomps/components/image/KissNavMenu/cross.png +0 -0
  316. package/package/kisscomps/components/image/KissNavMenu/crossselect.png +0 -0
  317. package/package/kisscomps/components/image/KissNavMenu/help.png +0 -0
  318. package/package/kisscomps/components/image/KissNavMenu/helpselect.png +0 -0
  319. package/package/kisscomps/components/image/KissNavMenu/home.png +0 -0
  320. package/package/kisscomps/components/image/KissNavMenu/homeselect.png +0 -0
  321. package/package/kisscomps/components/image/KissNavMenu/menubg.png +0 -0
  322. package/package/kisscomps/components/image/KissNavMenu/menubgselect.png +0 -0
  323. package/package/kisscomps/components/image/KissNavMenu/net.png +0 -0
  324. package/package/kisscomps/components/image/KissNavMenu/netselect.png +0 -0
  325. package/package/kisscomps/components/image/KissSearchInput/search.png +0 -0
  326. package/package/kisscomps/components/image/KissSearchInput/searchhover.png +0 -0
  327. package/package/kisscomps/components/image/KissSearchInput/searchinput.png +0 -0
  328. package/package/kisscomps/components/image/KissSelect/search.png +0 -0
  329. package/package/kisscomps/components/image/KissSelect/selectbg.png +0 -0
  330. package/package/kisscomps/components/image/KissSelect/selectdown.png +0 -0
  331. package/package/kisscomps/components/image/KissSelect/selectdownhover.png +0 -0
  332. package/package/kisscomps/components/image/KissSelect/selectup.png +0 -0
  333. package/package/kisscomps/components/image/KissSelect/selectuphover.png +0 -0
  334. package/package/kisscomps/components/image/button/btnCenter.png +0 -0
  335. package/package/kisscomps/components/image/button/btnCenterClick.png +0 -0
  336. package/package/kisscomps/components/image/button/btnCenterDisable.png +0 -0
  337. package/package/kisscomps/components/image/button/btnLeft.png +0 -0
  338. package/package/kisscomps/components/image/button/btnLeftClick.png +0 -0
  339. package/package/kisscomps/components/image/button/btnLeftDisable.png +0 -0
  340. package/package/kisscomps/components/image/button/btnRight.png +0 -0
  341. package/package/kisscomps/components/image/button/btnRightClick.png +0 -0
  342. package/package/kisscomps/components/image/button/btnRightDisable.png +0 -0
  343. package/package/kisscomps/components/image/button/btnSingle.png +0 -0
  344. package/package/kisscomps/components/image/button/btnSingleClick.png +0 -0
  345. package/package/kisscomps/components/image/button/btnSingleDisable.png +0 -0
  346. package/package/kisscomps/components/image/mutipletips/chartshowclose.png +0 -0
  347. package/package/kisscomps/components/image/mutipletips/messageshowclose.png +0 -0
  348. package/package/kisscomps/components/image/mutipletips/min.png +0 -0
  349. package/package/kisscomps/components/image/mutipletips/mutiplebglarge.png +0 -0
  350. package/package/kisscomps/components/image/mutipletips/mutiplebgmid.png +0 -0
  351. package/package/kisscomps/components/image/panel/lefticon.png +0 -0
  352. package/package/kisscomps/components/image/phaseHexagon/phasebg.png +0 -0
  353. package/package/kisscomps/components/image/tipdlg/alarmbg.png +0 -0
  354. package/package/kisscomps/components/image/tipdlg/close.png +0 -0
  355. package/package/kisscomps/components/image/tipdlg/closehover.png +0 -0
  356. package/package/kisscomps/components/image/tipdlg/tipsbg.png +0 -0
  357. package/package/kisscomps/components/image/tipdlg/tipsclose.png +0 -0
  358. package/package/kisscomps/components/image/trafficJudgementMenu/bg.png +0 -0
  359. package/package/kisscomps/components/image/trafficJudgementMenu/bgchoosed.png +0 -0
  360. package/package/kisscomps/components/image/trafficJudgementMenu/flow.png +0 -0
  361. package/package/kisscomps/components/image/trafficJudgementMenu/flowClicked.png +0 -0
  362. package/package/kisscomps/components/image/trafficJudgementMenu/greenusage.png +0 -0
  363. package/package/kisscomps/components/image/trafficJudgementMenu/greenusageClicked.png +0 -0
  364. package/package/kisscomps/components/image/trafficJudgementMenu/intensity.png +0 -0
  365. package/package/kisscomps/components/image/trafficJudgementMenu/intensityClicked.png +0 -0
  366. package/package/kisscomps/components/image/trafficJudgementMenu/occupancy.png +0 -0
  367. package/package/kisscomps/components/image/trafficJudgementMenu/occupancyClicked.png +0 -0
  368. package/package/kisscomps/components/image/trafficJudgementMenu/queue.png +0 -0
  369. package/package/kisscomps/components/image/trafficJudgementMenu/queueClicked.png +0 -0
  370. package/package/kisscomps/components/image/trafficJudgementMenu/speed.png +0 -0
  371. package/package/kisscomps/components/image/trafficJudgementMenu/speedClicked.png +0 -0
  372. package/package/kisscomps/components/image/trafficJudgementMenu/trafficJudgement.png +0 -0
  373. package/package/kisscomps/components/input/index.js +0 -2
  374. package/package/kisscomps/components/input/kissinput.vue +0 -57
  375. package/package/kisscomps/components/menu/index.js +0 -2
  376. package/package/kisscomps/components/menu/kissmenu.vue +0 -324
  377. package/package/kisscomps/components/mutipletips/Tdrag.js +0 -585
  378. package/package/kisscomps/components/mutipletips/index.js +0 -2
  379. package/package/kisscomps/components/mutipletips/kissmutipletips.vue +0 -192
  380. package/package/kisscomps/components/panel/index.js +0 -2
  381. package/package/kisscomps/components/panel/kissPanel.vue +0 -151
  382. package/package/kisscomps/components/select/chosen.jquery.min.js +0 -3
  383. package/package/kisscomps/components/select/index.js +0 -2
  384. package/package/kisscomps/components/select/kissselect.vue +0 -527
  385. package/package/kisscomps/components/tablebutton/index.js +0 -2
  386. package/package/kisscomps/components/tablebutton/tablebutton.vue +0 -97
  387. package/package/kisscomps/components/timectrl/KissTimeCtrl.vue +0 -67
  388. package/package/kisscomps/components/timectrl/index.js +0 -2
  389. package/package/kisscomps/components/timectrl/timectrl.css +0 -851
  390. package/package/kisscomps/components/tip/Tdrag.js +0 -585
  391. package/package/kisscomps/components/tip/index.js +0 -2
  392. package/package/kisscomps/components/tip/kisstips.1.vue +0 -154
  393. package/package/kisscomps/components/tip/kisstips.vue +0 -154
  394. package/package/kisscomps/components/tip/kisstips.vue.bak +0 -211
  395. package/package/kissui.js +0 -53758
  396. package/src/kisscomps/components/CircleMenu/KissCircleMenu.vue +0 -398
  397. package/src/kisscomps/components/CircleMenu/index.js +0 -2
  398. package/src/kisscomps/components/DashBoard/MakeGradientColor.js +0 -84
  399. package/src/kisscomps/components/DashBoard/dashboard.js +0 -471
  400. package/src/kisscomps/components/DashBoard/dashboard.vue +0 -57
  401. package/src/kisscomps/components/DashBoard/index.js +0 -2
  402. package/src/kisscomps/components/Horizontal/KissHorizontal.vue +0 -146
  403. package/src/kisscomps/components/Horizontal/index.js +0 -2
  404. package/src/kisscomps/components/HorizontalChildren/KissHorizontalChildren.vue +0 -196
  405. package/src/kisscomps/components/HorizontalChildren/index.js +0 -2
  406. package/src/kisscomps/components/KissCircleMenu/CircleMenu.vue +0 -113
  407. package/src/kisscomps/components/KissCircleMenu/index.js +0 -2
  408. package/src/kisscomps/components/KissCircleMenu/style/index.less +0 -2
  409. package/src/kisscomps/components/KissCircleMenu/style/main/core.less +0 -162
  410. package/src/kisscomps/components/KissCircleMenu/style/main/other.less +0 -94
  411. package/src/kisscomps/components/KissCircleMenu/style/mixin/mixin.less +0 -36
  412. package/src/kisscomps/components/KissCircleMenu/style/var/var.less +0 -21
  413. package/src/kisscomps/components/KissCircleMenu/utils/colorRE.js +0 -5
  414. package/src/kisscomps/components/KissMessageBox/KissMessageBox.vue +0 -108
  415. package/src/kisscomps/components/KissMessageBox/index.js +0 -2
  416. package/src/kisscomps/components/KissSearchInput/index.js +0 -2
  417. package/src/kisscomps/components/KissSearchInput/kisssearchinput.vue +0 -77
  418. package/src/kisscomps/components/KissSimulationProgress/KissSimulationProgress.vue +0 -294
  419. package/src/kisscomps/components/KissSimulationProgress/index.js +0 -2
  420. package/src/kisscomps/components/StatusBar/StatusBar.vue +0 -222
  421. package/src/kisscomps/components/StatusBar/index.js +0 -2
  422. package/src/kisscomps/components/TragResize/index.js +0 -2
  423. package/src/kisscomps/components/TragResize/kissdragresize.vue +0 -536
  424. package/src/kisscomps/components/TragResize/util/dom.js +0 -23
  425. package/src/kisscomps/components/TragResize/util/fns.js +0 -3
  426. package/src/kisscomps/components/XRDDirSelector/XRDDirSelector.1.vue +0 -320
  427. package/src/kisscomps/components/button/index.js +0 -2
  428. package/src/kisscomps/components/button/kissbtn.scss +0 -0
  429. package/src/kisscomps/components/button/kissbutton.vue +0 -168
  430. package/src/kisscomps/components/compass3D/compass.vue +0 -180
  431. package/src/kisscomps/components/compass3D/index.js +0 -2
  432. package/src/kisscomps/components/header/index.js +0 -2
  433. package/src/kisscomps/components/header/kissHead.vue +0 -83
  434. package/src/kisscomps/components/horizontalMenu/index.js +0 -2
  435. package/src/kisscomps/components/horizontalMenu/kissHorizontalMenu.vue +0 -254
  436. package/src/kisscomps/components/image/KissHead/headbg.png +0 -0
  437. package/src/kisscomps/components/image/KissInput/input.png +0 -0
  438. package/src/kisscomps/components/image/KissNavMenu/alart.png +0 -0
  439. package/src/kisscomps/components/image/KissNavMenu/alartselect.png +0 -0
  440. package/src/kisscomps/components/image/KissNavMenu/count.png +0 -0
  441. package/src/kisscomps/components/image/KissNavMenu/countselect.png +0 -0
  442. package/src/kisscomps/components/image/KissNavMenu/cross.png +0 -0
  443. package/src/kisscomps/components/image/KissNavMenu/crossselect.png +0 -0
  444. package/src/kisscomps/components/image/KissNavMenu/help.png +0 -0
  445. package/src/kisscomps/components/image/KissNavMenu/helpselect.png +0 -0
  446. package/src/kisscomps/components/image/KissNavMenu/home.png +0 -0
  447. package/src/kisscomps/components/image/KissNavMenu/homeselect.png +0 -0
  448. package/src/kisscomps/components/image/KissNavMenu/menubg.png +0 -0
  449. package/src/kisscomps/components/image/KissNavMenu/menubgselect.png +0 -0
  450. package/src/kisscomps/components/image/KissNavMenu/net.png +0 -0
  451. package/src/kisscomps/components/image/KissNavMenu/netselect.png +0 -0
  452. package/src/kisscomps/components/image/KissSearchInput/search.png +0 -0
  453. package/src/kisscomps/components/image/KissSearchInput/searchhover.png +0 -0
  454. package/src/kisscomps/components/image/KissSearchInput/searchinput.png +0 -0
  455. package/src/kisscomps/components/image/KissSelect/search.png +0 -0
  456. package/src/kisscomps/components/image/KissSelect/selectbg.png +0 -0
  457. package/src/kisscomps/components/image/KissSelect/selectdown.png +0 -0
  458. package/src/kisscomps/components/image/KissSelect/selectdownhover.png +0 -0
  459. package/src/kisscomps/components/image/KissSelect/selectup.png +0 -0
  460. package/src/kisscomps/components/image/KissSelect/selectuphover.png +0 -0
  461. package/src/kisscomps/components/image/button/btnCenter.png +0 -0
  462. package/src/kisscomps/components/image/button/btnCenterClick.png +0 -0
  463. package/src/kisscomps/components/image/button/btnCenterDisable.png +0 -0
  464. package/src/kisscomps/components/image/button/btnLeft.png +0 -0
  465. package/src/kisscomps/components/image/button/btnLeftClick.png +0 -0
  466. package/src/kisscomps/components/image/button/btnLeftDisable.png +0 -0
  467. package/src/kisscomps/components/image/button/btnRight.png +0 -0
  468. package/src/kisscomps/components/image/button/btnRightClick.png +0 -0
  469. package/src/kisscomps/components/image/button/btnRightDisable.png +0 -0
  470. package/src/kisscomps/components/image/button/btnSingle.png +0 -0
  471. package/src/kisscomps/components/image/button/btnSingleClick.png +0 -0
  472. package/src/kisscomps/components/image/button/btnSingleDisable.png +0 -0
  473. package/src/kisscomps/components/image/mutipletips/chartshowclose.png +0 -0
  474. package/src/kisscomps/components/image/mutipletips/messageshowclose.png +0 -0
  475. package/src/kisscomps/components/image/mutipletips/min.png +0 -0
  476. package/src/kisscomps/components/image/mutipletips/mutiplebglarge.png +0 -0
  477. package/src/kisscomps/components/image/mutipletips/mutiplebgmid.png +0 -0
  478. package/src/kisscomps/components/image/panel/lefticon.png +0 -0
  479. package/src/kisscomps/components/image/phaseHexagon/phasebg.png +0 -0
  480. package/src/kisscomps/components/image/tipdlg/alarmbg.png +0 -0
  481. package/src/kisscomps/components/image/tipdlg/close.png +0 -0
  482. package/src/kisscomps/components/image/tipdlg/closehover.png +0 -0
  483. package/src/kisscomps/components/image/tipdlg/tipsbg.png +0 -0
  484. package/src/kisscomps/components/image/tipdlg/tipsclose.png +0 -0
  485. package/src/kisscomps/components/image/trafficJudgementMenu/bg.png +0 -0
  486. package/src/kisscomps/components/image/trafficJudgementMenu/bgchoosed.png +0 -0
  487. package/src/kisscomps/components/image/trafficJudgementMenu/flow.png +0 -0
  488. package/src/kisscomps/components/image/trafficJudgementMenu/flowClicked.png +0 -0
  489. package/src/kisscomps/components/image/trafficJudgementMenu/greenusage.png +0 -0
  490. package/src/kisscomps/components/image/trafficJudgementMenu/greenusageClicked.png +0 -0
  491. package/src/kisscomps/components/image/trafficJudgementMenu/intensity.png +0 -0
  492. package/src/kisscomps/components/image/trafficJudgementMenu/intensityClicked.png +0 -0
  493. package/src/kisscomps/components/image/trafficJudgementMenu/occupancy.png +0 -0
  494. package/src/kisscomps/components/image/trafficJudgementMenu/occupancyClicked.png +0 -0
  495. package/src/kisscomps/components/image/trafficJudgementMenu/queue.png +0 -0
  496. package/src/kisscomps/components/image/trafficJudgementMenu/queueClicked.png +0 -0
  497. package/src/kisscomps/components/image/trafficJudgementMenu/speed.png +0 -0
  498. package/src/kisscomps/components/image/trafficJudgementMenu/speedClicked.png +0 -0
  499. package/src/kisscomps/components/image/trafficJudgementMenu/trafficJudgement.png +0 -0
  500. package/src/kisscomps/components/input/index.js +0 -2
  501. package/src/kisscomps/components/input/kissinput.vue +0 -57
  502. package/src/kisscomps/components/menu/index.js +0 -2
  503. package/src/kisscomps/components/menu/kissmenu.vue +0 -324
  504. package/src/kisscomps/components/mutipletips/Tdrag.js +0 -585
  505. package/src/kisscomps/components/mutipletips/index.js +0 -2
  506. package/src/kisscomps/components/mutipletips/kissmutipletips.vue +0 -192
  507. package/src/kisscomps/components/panel/index.js +0 -2
  508. package/src/kisscomps/components/panel/kissPanel.vue +0 -151
  509. package/src/kisscomps/components/select/chosen.jquery.min.js +0 -3
  510. package/src/kisscomps/components/select/index.js +0 -2
  511. package/src/kisscomps/components/select/kissselect.vue +0 -527
  512. package/src/kisscomps/components/tablebutton/index.js +0 -2
  513. package/src/kisscomps/components/tablebutton/tablebutton.vue +0 -97
  514. package/src/kisscomps/components/timectrl/KissTimeCtrl.vue +0 -67
  515. package/src/kisscomps/components/timectrl/index.js +0 -2
  516. package/src/kisscomps/components/timectrl/timectrl.css +0 -851
  517. package/src/kisscomps/components/tip/Tdrag.js +0 -585
  518. package/src/kisscomps/components/tip/index.js +0 -2
  519. package/src/kisscomps/components/tip/kisstips.1.vue +0 -154
  520. package/src/kisscomps/components/tip/kisstips.vue +0 -154
  521. package/src/kisscomps/components/tip/kisstips.vue.bak +0 -211
@@ -0,0 +1,857 @@
1
+ /**
2
+ * Copyright (c) 2020 kedacom
3
+ * OpenATC is licensed under Mulan PSL v2.
4
+ * You can use this software according to the terms and conditions of the Mulan PSL v2.
5
+ * You may obtain a copy of Mulan PSL v2 at:
6
+ * http://license.coscl.org.cn/MulanPSL2
7
+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
8
+ * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
9
+ * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
10
+ * See the Mulan PSL v2 for more details.
11
+ **/
12
+ <template>
13
+ <div class="crossImg">
14
+ <!-- 右行道路 B-->
15
+ <div class="right-dir-road" v-if="roadDir === 'right'">
16
+ <div class="centerText" v-if="crossType !== 'Customroads' && isHasPhase">
17
+ <!-- 相位倒计时 -->
18
+ <div class="phaseCountdown" v-show="isShowInterval" v-if="devStatus === 3 && isLoaded && isHasPhase" :class="{'countdownBg': isLoaded}">
19
+ <div v-for="curPhase in phaseCountdownList" :key="curPhase.id" :style="{color: curPhase.phaseCountdownColor}">
20
+ <span style="float: left;font-size: 20px;color: #fff;width: 70px;">{{$t('openatccomponents.overview.phase')}}{{curPhase.id}}:</span>
21
+ <span style="float: left;">{{curPhase.phaseCountdown}}</span>
22
+ </div>
23
+ </div>
24
+ <!-- 手动刷新 -->
25
+ <div v-if="!isLoaded">
26
+ <RefreshSvg @click.native="refresh"/>
27
+ <span class="text">{{$t('openatccomponents.overview.getintersectionmapagain')}}</span>
28
+ </div>
29
+ </div>
30
+ <!-- 路口底图 -->
31
+ <div class="baseImg">
32
+ <!-- 城市道路 -->
33
+ <CrossRoadsSvg v-if="crossType === 'Crossroads'"/>
34
+ <TShapeEastRoadsSvg v-if="crossType === 'TypeT-east'"/>
35
+ <TShapeWestRoadsSvg v-if="crossType === 'TypeT-west'"/>
36
+ <TShapeNorthRoadsSvg v-if="crossType === 'TypeT-north'"/>
37
+ <TShapeSouthRoadsSvg v-if="crossType === 'TypeT-south'"/>
38
+ <!-- 其他路口 -->
39
+ <CustomRoadsSvg v-if="crossType === 'Customroads'"/>
40
+ <!-- 匝道 -->
41
+ <RampEastRoadsSvg v-if="crossType === 'ramp-east'" />
42
+ <RampWestRoadsSvg v-if="crossType === 'ramp-west'" />
43
+ <RampNorthRoadsSvg v-if="crossType === 'ramp-north'" />
44
+ <RampSouthRoadsSvg v-if="crossType === 'ramp-south'" />
45
+ <!-- 路段行人过街 -->
46
+ <PedSectionSNSvg v-if="crossType === 'ped-section-south-north'" />
47
+ <PedSectionEWSvg v-if="crossType === 'ped-section-east-west'" />
48
+ </div>
49
+ <!-- 城市道路状态-->
50
+ <div v-if="mainType === '100' || mainType === '101' || mainType === '104'">
51
+ <!-- 人行道 -->
52
+ <div class="sidewalk" v-if="resetflag && isLoaded">
53
+ <SidewalkSvg v-for="(side, index) in compSidewalkPhaseData" :key="side.key + '-' + index" :Data="side" :crossType="crossType" />
54
+ </div>
55
+ <!-- 车道相位 -->
56
+ <div v-if="resetflag" class="phaseIcon">
57
+ <PhaseIconSvg v-for="(item, index) in compLanePhaseData" :key="item.key + '-' + index" :Data="item"/>
58
+ </div>
59
+ <!-- 公交相位 -->
60
+ <div v-if="resetflag" class="busIcon">
61
+ <BusMapSvg v-for="(item, index) in comdireBusPhaseData" :key="'Busmap-' + item.key + '-' + index" :Data="item" />
62
+ <PhaseIconSvg v-for="(item, index) in comdireBusPhaseData" :key="item.key + '-' + index" :Data="item"/>
63
+ </div>
64
+ </div>
65
+ <!-- 匝道状态 -->
66
+ <!-- 车道相位 -->
67
+ <div v-if="resetflag && mainType === '103'">
68
+ <RampPhaseIconSvg v-for="(item, index) in LanePhaseData" :key="item.key + '-' + index" :Data="item" />
69
+ </div>
70
+ </div>
71
+ <!-- 右行道路 E-->
72
+
73
+ <!-- 左行道路 B-->
74
+ <div class="left-dir-road" v-if="roadDir === 'left'">
75
+ <div class="centerText" v-if="mainType === '100' || mainType === '101'" :class="{'countdownBg': isLoaded}">
76
+ <!-- 相位倒计时 -->
77
+ <div class="phaseCountdown" v-if="devStatus === 3 && isLoaded && isHasPhase">
78
+ <div v-for="curPhase in phaseCountdownList" :key="curPhase.id" :style="{color: curPhase.phaseCountdownColor}">
79
+ <span style="float: left;font-size: 20px;color: #fff;width: 70px;">{{$t('openatccomponents.overview.phase')}}{{curPhase.id}}:</span>
80
+ <span style="float: left;">{{curPhase.phaseCountdown}}</span>
81
+ </div>
82
+ </div>
83
+ <!-- 手动刷新 -->
84
+ <div v-if="!isLoaded">
85
+ <RefreshSvg @click.native="refresh"/>
86
+ <span class="text">{{$t('openatccomponents.overview.getintersectionmapagain')}}</span>
87
+ </div>
88
+ </div>
89
+ <!-- 路口底图 -->
90
+ <div class="baseImg">
91
+ <!-- 城市道路 -->
92
+ <LCrossRoadsSvg v-if="crossType === 'Crossroads'"/>
93
+ <LTShapeEastRoadsSvg v-if="crossType === 'TypeT-east'"/>
94
+ <LTShapeWestRoadsSvg v-if="crossType === 'TypeT-west'"/>
95
+ <LTShapeNorthRoadsSvg v-if="crossType === 'TypeT-north'"/>
96
+ <LTShapeSouthRoadsSvg v-if="crossType === 'TypeT-south'"/>
97
+ <!-- 其他路口 -->
98
+ <CustomRoadsSvg v-if="mainType !== '100' && mainType !== '101'"/>
99
+ </div>
100
+ <!-- 城市道路状态-->
101
+ <div v-if="mainType === '100' || mainType === '101'">
102
+ <!-- 人行道 -->
103
+ <div class="sidewalk" v-if="resetflag && isLoaded">
104
+ <SidewalkSvg v-for="side in compSidewalkPhaseData" :key="side.key" :Data="side" :crossType="crossType" />
105
+ </div>
106
+ <!-- 车道相位 -->
107
+ <div v-if="resetflag" class="phaseIcon">
108
+ <LPhaseIconSvg v-for="item in compLanePhaseData" :key="item.key" :Data="item"/>
109
+ </div>
110
+ <!-- 公交相位 -->
111
+ <div v-if="resetflag" class="busIcon">
112
+ <BusMapSvg v-for="(item, index) in comdireBusPhaseData" :key="'Busmap-' + item.key + '-' + index" :Data="item" />
113
+ <LPhaseIconSvg v-for="(item, index) in comdireBusPhaseData" :key="item.key + '-' + index" :Data="item"/>
114
+ </div>
115
+ </div>
116
+ </div>
117
+ <!-- 左行道路 E-->
118
+ </div>
119
+ </template>
120
+ <script>
121
+ import PhaseIconSvg from './phaseIcon/phaseIconSvg'
122
+ import PhaseDataModel from './utils.js'
123
+ import { getIntersectionInfo } from '../../../../api/template.js'
124
+ import CrossRoadsSvg from './baseImg/CrossRoadsSvg'
125
+ import TShapeEastRoadsSvg from './baseImg/TShapeEastRoadsSvg'
126
+ import TShapeWestRoadsSvg from './baseImg/TShapeWestRoadsSvg.vue'
127
+ import TShapeNorthRoadsSvg from './baseImg/TShapeNorthRoadsSvg.vue'
128
+ import TShapeSouthRoadsSvg from './baseImg/TShapeSouthRoadsSvg.vue'
129
+ import CustomRoadsSvg from './baseImg/CustomRoadsSvg.vue'
130
+ import RefreshSvg from './baseImg/refreshSvg'
131
+ import SidewalkSvg from './baseImg/SidewalkSvg'
132
+ import RampEastRoadsSvg from './baseImg/RampEastSvg'
133
+ import RampWestRoadsSvg from './baseImg/RampWestSvg'
134
+ import RampNorthRoadsSvg from './baseImg/RampNorthSvg'
135
+ import RampSouthRoadsSvg from './baseImg/RampSouthSvg'
136
+ import RampPhaseIconSvg from './phaseIcon/rampPhaseIconSvg'
137
+ import PedSectionEWSvg from './baseImg/PedSectionEWSvg'
138
+ import PedSectionSNSvg from './baseImg/PedSectionSNSvg'
139
+ // import { mapState } from 'vuex'
140
+ import LCrossRoadsSvg from './baseImg/leftroad/LCrossRoadsSvg'
141
+ import LTShapeEastRoadsSvg from './baseImg/leftroad/LTShapeEastRoadsSvg'
142
+ import LTShapeWestRoadsSvg from './baseImg/leftroad/LTShapeWestRoadsSvg.vue'
143
+ import LTShapeNorthRoadsSvg from './baseImg/leftroad/LTShapeNorthRoadsSvg.vue'
144
+ import LTShapeSouthRoadsSvg from './baseImg/leftroad/LTShapeSouthRoadsSvg.vue'
145
+ import LPhaseIconSvg from './phaseIcon/LphaseIconSvg'
146
+ import CrossDiagramMgr from '../../../../EdgeMgr/controller/crossDiagramMgr.js'
147
+ import BusMapSvg from './busIcon/busMapSvg'
148
+ import { getMessageByCode } from '../../../../utils/responseMessage.js'
149
+ export default {
150
+ name: 'crossDiagram',
151
+ components: {
152
+ PhaseIconSvg,
153
+ CrossRoadsSvg,
154
+ TShapeEastRoadsSvg,
155
+ TShapeWestRoadsSvg,
156
+ TShapeNorthRoadsSvg,
157
+ TShapeSouthRoadsSvg,
158
+ CustomRoadsSvg,
159
+ RefreshSvg,
160
+ SidewalkSvg,
161
+ RampEastRoadsSvg,
162
+ RampWestRoadsSvg,
163
+ RampNorthRoadsSvg,
164
+ RampSouthRoadsSvg,
165
+ RampPhaseIconSvg,
166
+ PedSectionEWSvg,
167
+ PedSectionSNSvg,
168
+ LCrossRoadsSvg,
169
+ LTShapeEastRoadsSvg,
170
+ LTShapeWestRoadsSvg,
171
+ LTShapeNorthRoadsSvg,
172
+ LTShapeSouthRoadsSvg,
173
+ LPhaseIconSvg,
174
+ BusMapSvg
175
+ },
176
+ props: {
177
+ crossStatusData: {
178
+ type: Object
179
+ },
180
+ agentId: {
181
+ type: String
182
+ },
183
+ devStatus: {
184
+ type: Number
185
+ },
186
+ isShowInterval: {
187
+ type: Boolean,
188
+ devault: true
189
+ },
190
+ roadDirection: {
191
+ type: String,
192
+ default: 'right'
193
+ }
194
+ },
195
+ // computed: {
196
+ // ...mapState({
197
+ // roadDirection: state => state.globalParam.roadDirection
198
+ // })
199
+ // },
200
+ watch: {
201
+ tempType: {
202
+ handler: function (val) {
203
+ this.getCrossType()
204
+ }
205
+ },
206
+ crossStatusData: {
207
+ handler: function (val, oldVal) {
208
+ // 路口状态数据
209
+ this.statusData = JSON.parse(JSON.stringify(val))
210
+ this.phaseStatusList = val.phase
211
+ this.overlapStatusList = val.overlap
212
+ // 默认显示相位数据(包括黄闪、全红、关灯状态下,或者匝道,均不做比对跟随相位的处理)
213
+ this.compLanePhaseData = JSON.parse(JSON.stringify(this.LanePhaseData))
214
+ this.compSidewalkPhaseData = JSON.parse(JSON.stringify(this.sidewalkPhaseData))
215
+ this.comdireBusPhaseData = JSON.parse(JSON.stringify(this.busPhaseData))
216
+ if (val.control === 1 || val.control === 2 || val.control === 3) {
217
+ // 黄闪、全红、关灯属于特殊控制,优先级最高,直接改变灯色,不用判断phase里的type,也不需要考虑跟随相位的灯色优先级
218
+ this.SpecialControl(val)
219
+ return
220
+ }
221
+ if (!val.phase && !this.overlapStatusList) {
222
+ // 非特殊控制,相位和跟随相位不存在的情况下,灯色恢复默认
223
+ this.handleSpecialControlStatus('默认')
224
+ this.isHasPhase = false
225
+ return
226
+ }
227
+ this.curPhase = val.current_phase
228
+ this.isHasPhase = true
229
+ this.createPhaseStatusMap()
230
+ // 正常情况下,获取车道相位、车道跟随相位、相位倒计时、行人相位、行人跟随相位 的状态
231
+ this.getPhaseStatus()
232
+ this.getOverlapPhaseStatus()
233
+ this.getCurPhaseCountdown()
234
+ this.getBusPhaseStatus()
235
+ if (this.mainType === '100' || this.mainType === '101' || this.mainType === '104') {
236
+ // 城市道路和路段行人过街才显示人行道状态
237
+ this.getpedStatus()
238
+ this.getOverlapPedStatus()
239
+ // 算法对比行人相位与行人跟随相位的状态
240
+ this.comparePedStatus()
241
+ // 算法对比车道相位与车道跟随相位的状态
242
+ this.comparePhaseStatus()
243
+ }
244
+ // console.log('this.phaseStatusMap 相位状态映射', this.phaseStatusMap)
245
+ // console.log('LanePhaseData 车道相位', this.LanePhaseData)
246
+ // console.log('sidewalkPhaseData 行人相位', this.sidewalkPhaseData)
247
+ // console.log('overlapPhaseStatusMap 跟随相位状态映射', this.overlapPhaseStatusMap)
248
+ // console.log('overlapLanePhaseData 车道跟随相位', this.overlapLanePhaseData)
249
+ // console.log('this.overlapsidewalkPhaseData 行人跟随相位', this.overlapsidewalkPhaseData)
250
+ },
251
+ // 深度观察监听
252
+ deep: true
253
+ },
254
+ devStatus: {
255
+ handler: function (val) {
256
+ if (val === 3) return
257
+ this.handleDefaultStatus()
258
+ }
259
+ },
260
+ roadDirection: {
261
+ handler: function (val1, val2) {
262
+ if (val1 !== val2) {
263
+ this.init()
264
+ }
265
+ }
266
+ }
267
+ },
268
+ data () {
269
+ return {
270
+ roadDir: 'right', // 道路行车方向,默认右行
271
+ phaseCountdownList: [], // 相位倒计时列表
272
+ statusData: null, // 信号机状态
273
+ LanePhaseData: [], // 车道相位数据
274
+ overlapLanePhaseData: [], // 车道跟随相位数据
275
+ curPhase: [], // 当前相位列表
276
+ phaseStatusList: [], // 相位状态列表
277
+ phaseStatusMap: new Map(), // 相位状态映射
278
+ overlapPhaseStatusMap: new Map(), // 跟随相位状态映射
279
+ ColorMap: new Map([[0, '#828282'], [1, '#ff2828'], [2, '#f7b500'], [3, '#77fb65'], [4, '#77fb65'], [5, '#f7b500']]), // 当前相位状态 --- 0:关灯, 1:红, 2:黄, 3:绿, 4:绿闪, 5:黄闪
280
+ SidewalkColorMap: new Map([[0, '#828282'], [1, '#e24b4b'], [3, '#7bd66b']]),
281
+ tempType: '', // 模版类型
282
+ mainType: '101', // 路口形状
283
+ mainDirection: '000', // 路口方向
284
+ crossType: '', // 路口底图类型
285
+ isLoaded: false, // 是否成功加载底图
286
+ isHasPhase: true, // 是否有相位状态数据
287
+ phaseControlColorMap: new Map([['黄闪', '#f7b500'], ['全红', '#ff2828'], ['关灯', '#828282'], ['默认', '#fff']]),
288
+ sidewalkPhaseData: [], // 行人相位
289
+ overlapsidewalkPhaseData: [], // 行人跟随相位
290
+ resetflag: true, // 离线后,控制行人相位、车道相位reset标识
291
+ compLanePhaseData: [], // 对比车道相位和车道跟随相位后,显示的数据
292
+ compSidewalkPhaseData: [], // // 对比行人相位和车道跟随相位后,显示的数据
293
+ comdirePhaseData: [], // 对比相同方向车道相位数据后,被删减的唯一direction的数组
294
+ comdireOverlapPhaseData: [], // 对比相同方向车道跟随相位数据后,被删减的唯一direction的数组
295
+ busPhaseData: [], // 公交相位数据
296
+ comdireBusPhaseData: [] // 对比相同方向公交车道数据后,被删减的唯一direction的数组
297
+ }
298
+ },
299
+ methods: {
300
+ init () {
301
+ this.CrossDiagramMgr = new CrossDiagramMgr()
302
+ this.getRoadDirection()
303
+ this.PhaseDataModel = new PhaseDataModel(this.roadDirection)
304
+ this.getIntersectionInfo() // 获取路口信息
305
+ },
306
+ comparePhaseStatus () {
307
+ // 对比车道: 跟随相位和相位的状态数据(此处判断是为了保证被比较的数据direction都是唯一的)
308
+ if (!this.comdirePhaseData && !this.comdireOverlapPhaseData) {
309
+ this.compLanePhaseData = this.CrossDiagramMgr.compare(this.LanePhaseData, this.overlapLanePhaseData, 'type')
310
+ } else if (!this.comdireOverlapPhaseData) {
311
+ this.compLanePhaseData = this.CrossDiagramMgr.compare(this.comdirePhaseData, this.overlapLanePhaseData, 'type')
312
+ } else if (!this.comdirePhaseData) {
313
+ this.compLanePhaseData = this.CrossDiagramMgr.compare(this.LanePhaseData, this.comdireOverlapPhaseData, 'type')
314
+ } else {
315
+ this.compLanePhaseData = this.CrossDiagramMgr.compare(this.comdirePhaseData, this.comdireOverlapPhaseData, 'type')
316
+ }
317
+ },
318
+ comparePedStatus () {
319
+ // 对比人行道: 跟随相位和相位的状态数据
320
+ this.compSidewalkPhaseData = this.CrossDiagramMgr.compare(this.sidewalkPhaseData, this.overlapsidewalkPhaseData, 'pedtype')
321
+ },
322
+ resetPhaseStatus () {
323
+ // 车道相位、行人相位恢复默认状态
324
+ this.resetflag = false
325
+ this.$nextTick(() => {
326
+ this.resetflag = true
327
+ })
328
+ },
329
+ SpecialControl (data) {
330
+ switch (data.control) {
331
+ case 1: this.handleSpecialControlStatus('黄闪')
332
+ break
333
+ case 2: this.handleSpecialControlStatus('全红')
334
+ break
335
+ case 3: this.handleSpecialControlStatus('关灯')
336
+ break
337
+ default: this.handleSpecialControlStatus('默认')
338
+ }
339
+ this.isHasPhase = false
340
+ },
341
+ handleDefaultStatus () {
342
+ // 恢复默认状态
343
+ if (this.compLanePhaseData.length) {
344
+ this.phaseCountdown = ''
345
+ this.phaseCountdownColor = '#fff'
346
+ this.compLanePhaseData.forEach(data => {
347
+ data.color = '#fff'
348
+ })
349
+ }
350
+ if (this.compSidewalkPhaseData.length) {
351
+ this.compSidewalkPhaseData.forEach(data => {
352
+ data.color = '#fff'
353
+ })
354
+ }
355
+ if (this.comdireBusPhaseData.length) {
356
+ this.comdireBusPhaseData.forEach(data => {
357
+ data.color = '#fff'
358
+ })
359
+ }
360
+ this.phaseCountdownList = []
361
+ this.resetPhaseStatus()
362
+ },
363
+ handleSpecialControlStatus (Control) {
364
+ this.resetPhaseStatus()
365
+ // 控制黄闪、全红、关灯、默认情况下的车道相位颜色和倒计时颜色
366
+ if (Control === '默认') {
367
+ // 倒计时恢复默认颜色
368
+ this.phaseCountdownList.forEach(item => {
369
+ item.phaseCountdown = ''
370
+ item.id = ''
371
+ item.phaseCountdownColor = '#fff'
372
+ })
373
+ }
374
+ if (this.compLanePhaseData.length) {
375
+ const compLanePhaseData = this.compLanePhaseData.map(data => ({
376
+ ...data,
377
+ color: this.phaseControlColorMap.get(Control)
378
+ }))
379
+ this.compLanePhaseData = JSON.parse(JSON.stringify(compLanePhaseData))
380
+ }
381
+ if (this.compSidewalkPhaseData.length) {
382
+ const compSidewalkPhaseData = this.compSidewalkPhaseData.map(data => ({
383
+ ...data,
384
+ color: this.phaseControlColorMap.get(Control)
385
+ }))
386
+ this.compSidewalkPhaseData = JSON.parse(JSON.stringify(compSidewalkPhaseData))
387
+ }
388
+ if (this.comdireBusPhaseData.length) {
389
+ const comdireBusPhaseData = this.comdireBusPhaseData.map(data => ({
390
+ ...data,
391
+ color: this.phaseControlColorMap.get(Control)
392
+ }))
393
+ this.comdireBusPhaseData = JSON.parse(JSON.stringify(comdireBusPhaseData))
394
+ }
395
+ },
396
+ createPhaseStatusMap () {
397
+ // 生成相位id和相位状态对应数据结构
398
+ this.phaseStatusList.map(phase => {
399
+ let phaseId = phase.id
400
+ let phaseInfo = {
401
+ type: phase.type,
402
+ phaseCountdown: phase.countdown,
403
+ pedtype: phase.pedtype
404
+ }
405
+ this.phaseStatusMap.set(phaseId, phaseInfo)
406
+ })
407
+ },
408
+ getPhaseStatus () {
409
+ // 得到车道相位状态(颜色)
410
+ this.comdirePhaseData = []
411
+ let curLanePhaseData = []
412
+ for (let i = 0; i < this.LanePhaseData.length; i++) {
413
+ let curPhaseStatus = this.phaseStatusMap.get(this.LanePhaseData[i].phaseid)
414
+ if (!curPhaseStatus) continue
415
+ const data = {
416
+ ...this.LanePhaseData[i],
417
+ type: curPhaseStatus.type,
418
+ color: this.ColorMap.get(curPhaseStatus.type),
419
+ phaseCountdown: curPhaseStatus.phaseCountdown,
420
+ flag: 'phase' // 车道相位数据标识
421
+ }
422
+ curLanePhaseData.push(data)
423
+ }
424
+ this.LanePhaseData = JSON.parse(JSON.stringify(curLanePhaseData))
425
+ // 处理相位数据中,方向direction重复的情况:相同direction下,按照状态的优先级显示该方向的灯色:绿灯(3) > 绿闪(4) > 黄灯(2) > 红灯(1)
426
+ // 如果有相同direction,处理后会改变原数组长度,导致第二次无法正确比较状态,因此需要中间变量存储
427
+ this.comdirePhaseData = JSON.parse(JSON.stringify(this.CrossDiagramMgr.compareRepeatDirection(this.LanePhaseData, 'type', 'phase')))
428
+ },
429
+ getOverlapPhaseStatus () {
430
+ // 得到车道跟随相位状态(颜色)
431
+ this.comdireOverlapPhaseData = []
432
+ if (this.overlapStatusList) {
433
+ this.overlapStatusList.map(phase => {
434
+ let phaseId = phase.id
435
+ let phaseInfo = {
436
+ type: phase.type,
437
+ phaseCountdown: phase.countdown,
438
+ pedtype: phase.pedtype
439
+ }
440
+ this.overlapPhaseStatusMap.set(phaseId, phaseInfo)
441
+ })
442
+ }
443
+ let curLanePhaseData = []
444
+ for (let i = 0; i < this.overlapLanePhaseData.length; i++) {
445
+ let curPhaseStatus = this.overlapPhaseStatusMap.get(this.overlapLanePhaseData[i].phaseid)
446
+ if (!curPhaseStatus) continue
447
+ const data = {
448
+ ...this.overlapLanePhaseData[i],
449
+ type: curPhaseStatus.type,
450
+ color: this.ColorMap.get(curPhaseStatus.type),
451
+ phaseCountdown: curPhaseStatus.phaseCountdown,
452
+ flag: 'overlapphase' // 车道跟随相位数据标识
453
+ }
454
+ curLanePhaseData.push(data)
455
+ }
456
+ this.overlapLanePhaseData = JSON.parse(JSON.stringify(curLanePhaseData))
457
+ // 处理跟随相位数据中,方向direction重复的情况:相同direction下,按照状态的优先级显示该方向的灯色:绿灯(3) > 绿闪(4) > 黄灯(2) > 红灯(1)
458
+ // 如果有相同direction,处理后会改变原数组长度,导致第二次无法正确比较状态,因此需要中间变量存储
459
+ this.comdireOverlapPhaseData = JSON.parse(JSON.stringify(this.CrossDiagramMgr.compareRepeatDirection(this.overlapLanePhaseData, 'type', 'overlapphase')))
460
+ },
461
+ getBusPhaseStatus () {
462
+ // 得到公交车道相位状态(颜色)
463
+ this.comdireBusPhaseData = []
464
+ let curLanePhaseData = []
465
+ for (let i = 0; i < this.busPhaseData.length; i++) {
466
+ let curPhaseStatus = this.phaseStatusMap.get(this.busPhaseData[i].phaseid)
467
+ if (!curPhaseStatus) continue
468
+ const data = {
469
+ ...this.busPhaseData[i],
470
+ type: curPhaseStatus.type,
471
+ color: this.ColorMap.get(curPhaseStatus.type),
472
+ phaseCountdown: curPhaseStatus.phaseCountdown,
473
+ flag: 'busphase' // 车道相位数据标识
474
+ }
475
+ curLanePhaseData.push(data)
476
+ }
477
+ this.busPhaseData = JSON.parse(JSON.stringify(curLanePhaseData))
478
+ // 处理相位数据中,方向direction重复的情况:相同direction下,按照状态的优先级显示该方向的灯色:绿灯(3) > 绿闪(4) > 黄灯(2) > 红灯(1)
479
+ // 如果有相同direction,处理后会改变原数组长度,导致第二次无法正确比较状态,因此需要中间变量存储
480
+ this.comdireBusPhaseData = JSON.parse(JSON.stringify(this.CrossDiagramMgr.compareRepeatDirection(this.busPhaseData, 'type', 'busphase')))
481
+ },
482
+ getCurPhaseCountdown () {
483
+ // 获取当前相位倒计时颜色
484
+ this.phaseCountdownList = []
485
+ this.curPhase.forEach(curP => {
486
+ this.phaseStatusList.forEach(phaseInfo => {
487
+ if (phaseInfo.id === curP) {
488
+ let countdownObj = {}
489
+ countdownObj.id = phaseInfo.id
490
+ countdownObj.phaseCountdown = phaseInfo.countdown
491
+ countdownObj.phaseCountdownColor = this.ColorMap.get(phaseInfo.type)
492
+ this.phaseCountdownList.push(countdownObj)
493
+ }
494
+ })
495
+ })
496
+ },
497
+ getIntersectionInfo () {
498
+ // 获取路口信息
499
+ const agentid = this.agentId || '0'
500
+ getIntersectionInfo(agentid).then(res => {
501
+ if (!res.data.success) {
502
+ this.isLoaded = false
503
+ let parrenterror = getMessageByCode(res.data.code, this.$i18n.locale)
504
+ if (res.data.data) {
505
+ // 子类型错误
506
+ let childErrorCode = res.data.data.errorCode
507
+ if (childErrorCode) {
508
+ let childerror = getMessageByCode(res.data.data.errorCode, this.$i18n.locale)
509
+ this.$message.error(parrenterror + ',' + childerror)
510
+ }
511
+ } else {
512
+ this.$message.error(parrenterror)
513
+ }
514
+ return
515
+ }
516
+ this.isLoaded = true
517
+ this.crossInfo = res.data.data.param
518
+ this.tempType = res.data.data.type
519
+ // 获取车道相位、行人相位信息(坐标、名称)
520
+ this.mainType = this.tempType.split('-')[0]
521
+ this.mainDirection = this.tempType.split('-')[1]
522
+ if (this.mainType === '100' || this.mainType === '101' || this.mainType === '104') {
523
+ // 城市道路加载车道相位坐标和人行道坐标
524
+ this.getPhasePos()
525
+ this.getOverlapPhasePos()
526
+ this.getPedPhasePos()
527
+ this.getOverlapPedPhasePos()
528
+ this.getBusPos()
529
+ }
530
+ if (this.mainType === '103') {
531
+ // 获取匝道道路的主路和支路的相位坐标
532
+ this.getRampPhasePos()
533
+ }
534
+ })
535
+ },
536
+ getBusPos () {
537
+ // 公交相位信息
538
+ this.busPhaseData = []
539
+ this.crossInfo.phaseList.forEach((ele, i) => {
540
+ if (ele.controltype >= 3 && ele.controltype <= 6) {
541
+ ele.direction.forEach((dir, index) => {
542
+ // 车道相位
543
+ this.busPhaseData.push({
544
+ key: this.CrossDiagramMgr.getUniqueKey('busphase'),
545
+ phaseid: ele.id, // 相位id,用于对应相位状态
546
+ id: dir, // 接口返回的dir字段,对应前端定义的相位方向id,唯一标识
547
+ name: this.PhaseDataModel.getBusPhasePos(dir).name,
548
+ left: this.PhaseDataModel.getBusPhasePos(dir).x,
549
+ top: this.PhaseDataModel.getBusPhasePos(dir).y,
550
+ busleft: this.PhaseDataModel.getBusMapPos(dir).x,
551
+ bustop: this.PhaseDataModel.getBusMapPos(dir).y,
552
+ controltype: ele.controltype
553
+ })
554
+ })
555
+ }
556
+ })
557
+ },
558
+ createRandomType () {
559
+ for (var i = 3; i <= 5; i++) {
560
+ return Math.floor(Math.random() * (5 - 3)) + 3
561
+ }
562
+ },
563
+ getPhasePos () {
564
+ // 车道相位信息
565
+ this.LanePhaseData = []
566
+ this.crossInfo.phaseList.forEach((ele, i) => {
567
+ if (ele.controltype === undefined || ele.controltype <= 2) {
568
+ ele.direction.forEach((dir, index) => {
569
+ // 车道相位
570
+ this.LanePhaseData.push({
571
+ key: this.CrossDiagramMgr.getUniqueKey('phase'),
572
+ phaseid: ele.id, // 相位id,用于对应相位状态
573
+ id: dir, // 接口返回的dir字段,对应前端定义的相位方向id,唯一标识
574
+ name: this.PhaseDataModel.getPhase(dir).name,
575
+ left: this.PhaseDataModel.getPhase(dir).x,
576
+ top: this.PhaseDataModel.getPhase(dir).y
577
+ })
578
+ })
579
+ }
580
+ })
581
+ },
582
+ getOverlapPhasePos () {
583
+ // 车道跟随相位信息
584
+ if (!this.crossInfo.overlaplList) return
585
+ this.overlapLanePhaseData = []
586
+ this.crossInfo.overlaplList.forEach((ele, i) => {
587
+ if (ele.direction) {
588
+ ele.direction.forEach((dir, index) => {
589
+ this.overlapLanePhaseData.push({
590
+ key: this.CrossDiagramMgr.getUniqueKey('overlapphase'),
591
+ phaseid: ele.id, // 相位id,用于对应相位状态
592
+ id: dir, // 接口返回的dir字段,对应前端定义的相位方向id,唯一标识
593
+ name: this.PhaseDataModel.getPhase(dir).name,
594
+ left: this.PhaseDataModel.getPhase(dir).x,
595
+ top: this.PhaseDataModel.getPhase(dir).y
596
+ })
597
+ })
598
+ }
599
+ })
600
+ },
601
+ getRampPhasePos () {
602
+ // 匝道车道相位信息
603
+ this.LanePhaseData = []
604
+ this.crossInfo.phaseList.forEach((ele, i) => {
605
+ ele.direction.forEach((dir, index) => {
606
+ if (ele.controltype === 0) {
607
+ this.handleRampPhasePosData(`${i}-${index}`, ele, dir, this.PhaseDataModel.getMainPhasePos)
608
+ }
609
+ if (ele.controltype === 1) {
610
+ this.handleRampPhasePosData(`${i}-${index}`, ele, dir, this.PhaseDataModel.getSidePhasePos)
611
+ }
612
+ })
613
+ })
614
+ },
615
+ handleRampPhasePosData (key, phase, dir) {
616
+ let posInfo = phase.controltype === 0 ? this.PhaseDataModel.getMainPhasePos(dir) : this.PhaseDataModel.getSidePhasePos(dir)
617
+ this.LanePhaseData.push({
618
+ key,
619
+ controlType: phase.controltype,
620
+ phaseid: phase.id, // 相位id,用于对应相位状态
621
+ id: dir, // 接口返回的dir字段,对应前端定义的相位方向id,唯一标识
622
+ name: posInfo.name,
623
+ left: posInfo.x,
624
+ top: posInfo.y
625
+ })
626
+ },
627
+ getPedPhasePos () {
628
+ // 行人相位信息
629
+ this.sidewalkPhaseData = []
630
+ this.crossInfo.phaseList.forEach((ele, i) => {
631
+ if (ele.peddirection) {
632
+ ele.peddirection.forEach((dir, index) => {
633
+ // 行人相位
634
+ if (this.PhaseDataModel.getSidePos(dir)) {
635
+ this.sidewalkPhaseData.push({
636
+ key: this.CrossDiagramMgr.getUniqueKey('pedphase'),
637
+ phaseid: ele.id, // 相位id,用于对应相位状态
638
+ id: dir,
639
+ name: this.PhaseDataModel.getSidePos(dir).name,
640
+ left: this.PhaseDataModel.getSidePos(dir).x,
641
+ top: this.PhaseDataModel.getSidePos(dir).y
642
+ })
643
+ }
644
+ })
645
+ }
646
+ })
647
+ // 行人相位无,也要显示人行横道,与车道相位显示与否逻辑不同
648
+ // this.handleCompleteSidewalkPhase()
649
+ },
650
+ getOverlapPedPhasePos () {
651
+ // 行人跟随相位信息
652
+ if (!this.crossInfo.overlaplList) return
653
+ this.overlapsidewalkPhaseData = []
654
+ this.crossInfo.overlaplList.forEach((ele, i) => {
655
+ if (ele.peddirection) {
656
+ ele.peddirection.forEach((dir, index) => {
657
+ if (this.PhaseDataModel.getSidePos(dir)) {
658
+ this.overlapsidewalkPhaseData.push({
659
+ key: this.CrossDiagramMgr.getUniqueKey('overlappedphase'),
660
+ phaseid: ele.id, // 相位id,用于对应相位状态
661
+ id: dir,
662
+ name: this.PhaseDataModel.getSidePos(dir).name,
663
+ left: this.PhaseDataModel.getSidePos(dir).x,
664
+ top: this.PhaseDataModel.getSidePos(dir).y
665
+ })
666
+ }
667
+ })
668
+ }
669
+ })
670
+ },
671
+ // handleCompleteSidewalkPhase () {
672
+ // // 没有相位状态的车道也要显示,默认白色
673
+ // let hasDirIds = this.sidewalkPhaseData.map(data => data.id)
674
+ // let allIds = []
675
+ // for (let key of this.PhaseDataModel.SidePosMap.keys()) {
676
+ // allIds.push(key)
677
+ // }
678
+ // let diffIds = allIds.filter(function (val) { return hasDirIds.indexOf(val) === -1 })
679
+ // diffIds.forEach(id => {
680
+ // this.sidewalkPhaseData.push({
681
+ // key: `${this.sidewalkPhaseData.length + 1}`,
682
+ // phaseid: undefined, // 相位id,用于对应相位状态
683
+ // id,
684
+ // name: this.PhaseDataModel.getSidePos(id).name,
685
+ // left: this.PhaseDataModel.getSidePos(id).x,
686
+ // top: this.PhaseDataModel.getSidePos(id).y
687
+ // })
688
+ // })
689
+ // },
690
+ getCrossType () {
691
+ // 路口类型对应底图决策
692
+ if (this.mainType === '101') {
693
+ // 十字路口
694
+ this.crossType = 'Crossroads'
695
+ }
696
+ if (this.mainType === '100') {
697
+ // T型路口
698
+ switch (this.mainDirection) {
699
+ case '001': this.crossType = 'TypeT-east'
700
+ break
701
+ case '002': this.crossType = 'TypeT-south'
702
+ break
703
+ case '003': this.crossType = 'TypeT-west'
704
+ break
705
+ case '004': this.crossType = 'TypeT-north'
706
+ break
707
+ }
708
+ }
709
+ if (this.mainType === '103') {
710
+ // 匝道
711
+ switch (this.mainDirection) {
712
+ case '001': this.crossType = 'ramp-east'
713
+ break
714
+ case '002': this.crossType = 'ramp-south'
715
+ break
716
+ case '003': this.crossType = 'ramp-west'
717
+ break
718
+ case '004': this.crossType = 'ramp-north'
719
+ break
720
+ }
721
+ }
722
+ if (this.mainType === '104') {
723
+ // 路段行人过街
724
+ switch (this.mainDirection) {
725
+ case '006': this.crossType = 'ped-section-east-west'
726
+ break
727
+ case '005': this.crossType = 'ped-section-south-north'
728
+ break
729
+ }
730
+ }
731
+ if (this.mainType === '999') {
732
+ // 其他路口
733
+ this.crossType = 'Customroads'
734
+ }
735
+ },
736
+ refresh () {
737
+ this.getIntersectionInfo()
738
+ },
739
+ getpedStatus () {
740
+ // 行人相位状态
741
+ let curPedStatus = []
742
+ for (let i = 0; i < this.sidewalkPhaseData.length; i++) {
743
+ if (this.sidewalkPhaseData[i].phaseid) {
744
+ let curPhaseStatus = this.phaseStatusMap.get(this.sidewalkPhaseData[i].phaseid)
745
+ if (!curPhaseStatus) continue
746
+ const data = {
747
+ ...this.sidewalkPhaseData[i],
748
+ pedtype: curPhaseStatus.pedtype,
749
+ color: this.SidewalkColorMap.get(curPhaseStatus.pedtype),
750
+ flag: 'ped' // 行人相位数据标识
751
+ }
752
+ curPedStatus.push(data)
753
+ } else {
754
+ // 无状态的行人道
755
+ const data = {
756
+ ...this.sidewalkPhaseData[i],
757
+ pedtype: undefined
758
+ }
759
+ curPedStatus.push(data)
760
+ }
761
+ }
762
+ this.sidewalkPhaseData = JSON.parse(JSON.stringify(curPedStatus))
763
+ },
764
+ getOverlapPedStatus () {
765
+ // 行人跟随相位状态
766
+ let curPedStatus = []
767
+ for (let i = 0; i < this.overlapsidewalkPhaseData.length; i++) {
768
+ if (this.overlapsidewalkPhaseData[i].phaseid) {
769
+ let curPhaseStatus = this.overlapPhaseStatusMap.get(this.overlapsidewalkPhaseData[i].phaseid)
770
+ if (!curPhaseStatus) {
771
+ // 无状态的行人道,也显示出来
772
+ const data = {
773
+ ...this.overlapsidewalkPhaseData[i],
774
+ pedtype: undefined
775
+ }
776
+ curPedStatus.push(data)
777
+ continue
778
+ }
779
+ const data = {
780
+ ...this.overlapsidewalkPhaseData[i],
781
+ pedtype: curPhaseStatus.pedtype,
782
+ color: this.SidewalkColorMap.get(curPhaseStatus.pedtype),
783
+ flag: 'overlapped' // 行人跟随相位数据标识
784
+ }
785
+ curPedStatus.push(data)
786
+ } else {
787
+ // 无状态的行人道
788
+ const data = {
789
+ ...this.overlapsidewalkPhaseData[i],
790
+ pedtype: undefined
791
+ }
792
+ curPedStatus.push(data)
793
+ }
794
+ }
795
+ this.overlapsidewalkPhaseData = JSON.parse(JSON.stringify(curPedStatus))
796
+ },
797
+ getRoadDirection () {
798
+ // 获取行车方向(从平台或配置工具的配置文件中读取)
799
+ this.roadDir = this.roadDirection
800
+ }
801
+ },
802
+ mounted () {
803
+ this.init()
804
+ }
805
+ }
806
+ </script>
807
+ <style scoped>
808
+ .invisible {
809
+ visibility: hidden;
810
+ }
811
+ .crossImg{
812
+ position: relative;
813
+ width: 870px;
814
+ height: 650px;
815
+ left: 50%;
816
+ transform: translateX(-50%);
817
+ }
818
+ .centerText {
819
+ position: absolute;
820
+ width: 140px;
821
+ height: 140px;
822
+ left: 50%;
823
+ top: 50%;
824
+ transform: translateX(-50%) translateY(-50%);
825
+ /* text-align: center; */
826
+ z-index: 9;
827
+ display: flex;
828
+ align-items: center;
829
+ /* padding-left: 16px; */
830
+ }
831
+ .phaseCountdown {
832
+ line-height: 40px;
833
+ font-size: 30px;
834
+ font-weight: normal;
835
+ font-stretch: normal;
836
+ letter-spacing: 0px;
837
+ color: #fff;
838
+ width: 150px;
839
+ margin: 0 auto;
840
+ }
841
+ .countdownBg {
842
+ border-radius: 10px;
843
+ background-color: rgba(94, 90, 90, 0.8);
844
+ padding-left: 16px;
845
+ }
846
+ .centerText .text {
847
+ display: inline-block;
848
+ color: #409eff;
849
+ margin-top: 20px;
850
+ }
851
+
852
+ .baseImg {
853
+ width: 100%;
854
+ height: 650px;
855
+ position: relative;
856
+ }
857
+ </style>