openatc-components 0.0.2 → 0.0.3

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