openatc-components 0.5.11 → 0.5.13

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 (361) hide show
  1. package/.babelrc +18 -18
  2. package/.editorconfig +9 -9
  3. package/.eslintignore +5 -5
  4. package/.eslintrc.js +31 -31
  5. package/.postcssrc.js +10 -10
  6. package/README.md +30 -30
  7. package/build/build.js +41 -41
  8. package/build/check-versions.js +54 -54
  9. package/build/package.config.js +58 -58
  10. package/build/package.dev.config.js +107 -107
  11. package/build/package.prod.config.js +160 -160
  12. package/build/utils.js +101 -101
  13. package/build/vue-loader.conf.js +22 -22
  14. package/build/webpack.base.conf.js +120 -120
  15. package/build/webpack.dev.conf.js +95 -95
  16. package/build/webpack.prod.conf.js +149 -149
  17. package/config/prod.env.js +5 -5
  18. package/config/test.env.js +7 -7
  19. package/index.html +12 -12
  20. package/package/kisscomps/components/Channelization/Channelization.vue +585 -585
  21. package/package/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  22. package/package/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  23. package/package/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  24. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  25. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  26. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  27. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  28. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  29. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  30. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  31. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  32. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  33. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  34. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  35. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  36. package/package/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  37. package/package/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  38. package/package/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  39. package/package/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  40. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  41. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  42. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  43. package/package/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  44. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  45. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  46. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  47. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  48. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  49. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  50. package/package/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  51. package/package/kisscomps/components/DrawChannelization/drawsvg/index.vue +144 -144
  52. package/package/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  53. package/package/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  54. package/package/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  55. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  56. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  57. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  58. package/package/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  59. package/package/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  60. package/package/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  61. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +629 -629
  62. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  63. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  64. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  65. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  66. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  67. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  68. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  69. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +17 -1
  70. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  71. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +498 -498
  72. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +484 -484
  73. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +488 -488
  74. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +566 -566
  75. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  76. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  77. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  78. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  79. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  80. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  81. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  82. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  83. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  84. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  85. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  86. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +61 -2
  87. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +29 -2
  88. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  89. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  90. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  91. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  92. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  93. package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +534 -534
  94. package/package/kisscomps/components/KanBan/kanban.vue +231 -231
  95. package/package/kisscomps/components/MessageBox/index.vue +96 -96
  96. package/package/kisscomps/components/OverviewComponent/index.vue +2 -0
  97. package/package/kisscomps/components/PatternOptimize/PatternOptimize.vue +329 -329
  98. package/package/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  99. package/package/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  100. package/package/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  101. package/package/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  102. package/package/kisscomps/components/PhaseMarker/index.js +6 -6
  103. package/package/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  104. package/package/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  105. package/package/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  106. package/package/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  107. package/package/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  108. package/package/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  109. package/package/kisscomps/components/PhasePedSelect/index.vue +206 -206
  110. package/package/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +365 -365
  111. package/package/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  112. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  113. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  114. package/package/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  115. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  116. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  117. package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  118. package/package/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  119. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +308 -308
  120. package/package/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  121. package/package/kisscomps/components/StageOptimize/StageOptimize.vue +367 -367
  122. package/package/kisscomps/components/StageOptimize/index.js +2 -2
  123. package/package/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  124. package/package/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  125. package/package/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  126. package/package/kisscomps/components/XiaoKanban/index.vue +122 -122
  127. package/package/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  128. package/package/kisscomps/components/patternConfig/planContent.vue +604 -604
  129. package/package/kisscomps/components/patternConfig/planMenu.vue +329 -329
  130. package/package/kissui.min.js +1 -1
  131. package/package.json +1 -1
  132. package/src/EdgeMgr/EdgeModelBase.js +16 -16
  133. package/src/EdgeMgr/controller/crossDiagramMgr.js +125 -125
  134. package/src/api/authapi.js +31 -31
  135. package/src/api/config.js +21 -21
  136. package/src/api/control.js +110 -110
  137. package/src/api/device.js +135 -135
  138. package/src/api/fault.js +66 -66
  139. package/src/api/index.js +24 -24
  140. package/src/api/login.js +46 -46
  141. package/src/api/optimize.js +72 -72
  142. package/src/api/param.js +165 -165
  143. package/src/api/passwdAssest.js +101 -101
  144. package/src/api/permission.js +33 -33
  145. package/src/api/route.js +171 -171
  146. package/src/assets/font/LICENSE.txt +202 -202
  147. package/src/assets/font/font.css +6 -6
  148. package/src/i18n/index.js +26 -26
  149. package/src/i18n/language/en.js +2 -1
  150. package/src/i18n/language/zh.js +2 -1
  151. package/src/icons/index.js +20 -20
  152. package/src/icons/svg/azimuthlocking.svg +26 -26
  153. package/src/icons/svg/bendi.svg +110 -110
  154. package/src/icons/svg/bujin.svg +36 -36
  155. package/src/icons/svg/connectBlue.svg +7 -7
  156. package/src/icons/svg/currentvolume.svg +0 -0
  157. package/src/icons/svg/custom-BRTlane.svg +40 -40
  158. package/src/icons/svg/custom-buslane.svg +40 -40
  159. package/src/icons/svg/custom-detector.svg +12 -12
  160. package/src/icons/svg/custom-east-bottom.svg +32 -32
  161. package/src/icons/svg/custom-east-top.svg +32 -32
  162. package/src/icons/svg/custom-ewped.svg +35 -35
  163. package/src/icons/svg/custom-nonmotorizedlane.svg +40 -40
  164. package/src/icons/svg/custom-north-left.svg +32 -32
  165. package/src/icons/svg/custom-north-right.svg +32 -32
  166. package/src/icons/svg/custom-peddetector.svg +17 -17
  167. package/src/icons/svg/custom-snped.svg +35 -35
  168. package/src/icons/svg/custom-south-left.svg +32 -32
  169. package/src/icons/svg/custom-south-right.svg +32 -32
  170. package/src/icons/svg/custom-tramlane.svg +40 -40
  171. package/src/icons/svg/custom-vehiclebranch.svg +40 -40
  172. package/src/icons/svg/custom-vehiclemainroad.svg +41 -41
  173. package/src/icons/svg/custom-west-bottom.svg +32 -32
  174. package/src/icons/svg/custom-west-top.svg +32 -32
  175. package/src/icons/svg/custom-xlped.svg +14 -14
  176. package/src/icons/svg/custom-xrped.svg +14 -14
  177. package/src/icons/svg/cutRed.svg +7 -7
  178. package/src/icons/svg/cycle.svg +0 -0
  179. package/src/icons/svg/dingzhouqi.svg +34 -34
  180. package/src/icons/svg/ganyingkongzhi.svg +30 -30
  181. package/src/icons/svg/guandeng.svg +81 -81
  182. package/src/icons/svg/huangshan.svg +71 -71
  183. package/src/icons/svg/maincontrol.svg +0 -0
  184. package/src/icons/svg/manualcontrolbackground.svg +51 -51
  185. package/src/icons/svg/manualcontrolbackground1.svg +62 -62
  186. package/src/icons/svg/manualcontrolbackgrounden.svg +62 -62
  187. package/src/icons/svg/model.svg +0 -0
  188. package/src/icons/svg/phasediff.svg +0 -0
  189. package/src/icons/svg/prioritycontrol.svg +21 -21
  190. package/src/icons/svg/quanhong.svg +86 -86
  191. package/src/icons/svg/shanghe.svg +11 -11
  192. package/src/icons/svg/shoudong.svg +103 -103
  193. package/src/icons/svg/tentativeplan.svg +28 -28
  194. package/src/icons/svg/time.svg +0 -0
  195. package/src/icons/svg/wuxianlan.svg +46 -46
  196. package/src/icons/svg/xiala.svg +11 -11
  197. package/src/icons/svg/xingrenguojie.svg +33 -33
  198. package/src/icons/svg/xitong.svg +89 -89
  199. package/src/icons/svg/youxian.svg +41 -41
  200. package/src/icons/svg/zizhukongzhi.svg +43 -43
  201. package/src/kisscomps/components/Channelization/Channelization.vue +585 -585
  202. package/src/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  203. package/src/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  204. package/src/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  205. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  206. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  207. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  208. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  209. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  210. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  211. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  212. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  213. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  214. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  215. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  216. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  217. package/src/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  218. package/src/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  219. package/src/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  220. package/src/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  221. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  222. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  223. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  224. package/src/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  225. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  226. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  227. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  228. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  229. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  230. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  231. package/src/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  232. package/src/kisscomps/components/DrawChannelization/drawsvg/index.vue +144 -144
  233. package/src/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  234. package/src/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  235. package/src/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  236. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  237. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  238. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  239. package/src/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  240. package/src/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  241. package/src/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  242. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +629 -629
  243. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  244. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  245. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  246. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  247. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  248. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  249. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  250. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +17 -1
  251. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  252. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +498 -498
  253. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +484 -484
  254. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +488 -488
  255. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +566 -566
  256. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  257. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  258. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  259. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  260. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  261. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  262. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  263. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  264. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  265. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  266. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  267. package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +61 -2
  268. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +29 -2
  269. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  270. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  271. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  272. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  273. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  274. package/src/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +534 -534
  275. package/src/kisscomps/components/KanBan/kanban.vue +231 -231
  276. package/src/kisscomps/components/MessageBox/index.vue +96 -96
  277. package/src/kisscomps/components/OverviewComponent/index.vue +2 -0
  278. package/src/kisscomps/components/PatternOptimize/PatternOptimize.vue +329 -329
  279. package/src/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  280. package/src/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  281. package/src/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  282. package/src/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  283. package/src/kisscomps/components/PhaseMarker/index.js +6 -6
  284. package/src/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  285. package/src/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  286. package/src/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  287. package/src/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  288. package/src/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  289. package/src/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  290. package/src/kisscomps/components/PhasePedSelect/index.vue +206 -206
  291. package/src/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +365 -365
  292. package/src/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  293. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  294. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  295. package/src/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  296. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  297. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  298. package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  299. package/src/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  300. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +308 -308
  301. package/src/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  302. package/src/kisscomps/components/StageOptimize/StageOptimize.vue +367 -367
  303. package/src/kisscomps/components/StageOptimize/index.js +2 -2
  304. package/src/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  305. package/src/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  306. package/src/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  307. package/src/kisscomps/components/XiaoKanban/index.vue +122 -122
  308. package/src/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  309. package/src/kisscomps/components/patternConfig/planContent.vue +604 -604
  310. package/src/kisscomps/components/patternConfig/planMenu.vue +329 -329
  311. package/src/lib/publicjs/ArryListUtil.js +38 -38
  312. package/src/lib/publicjs/HttpurlMgr.js +45 -45
  313. package/src/lib/publicjs/KissApi.js +158 -158
  314. package/src/lib/publicjs/KissWSSub/Heartcheck.js +128 -128
  315. package/src/lib/publicjs/KissWSSub/KissWsSub.js +91 -91
  316. package/src/lib/publicjs/KissWSSub/KissWsSubByType.js +152 -152
  317. package/src/lib/publicjs/KissWSSub/SimuWsSubByType.js +44 -44
  318. package/src/lib/publicjs/KissWSSub/Sub.js +51 -51
  319. package/src/lib/publicjs/KissWSSub/SubChannel.js +119 -119
  320. package/src/lib/publicjs/basecomponents.js +65 -65
  321. package/src/lib/publicjs/localStorage.js +112 -112
  322. package/src/lib/publicjs/objdeepcopy.js +32 -32
  323. package/src/lib/publicjs/pageScroll.js +30 -30
  324. package/src/lib/publicjs/passwdAssest.js +101 -101
  325. package/src/lib/publicjs/styleclassfactory.js +32 -32
  326. package/src/store/index.js +26 -26
  327. package/src/store/modules/globalParam.js +67 -67
  328. package/src/utils/RingDataModel.js +335 -335
  329. package/src/utils/conflictList.js +87 -87
  330. package/src/utils/dateFormat.js +41 -41
  331. package/src/utils/index.js +69 -69
  332. package/src/utils/phaseList.js +203 -203
  333. package/src/utils/validate.js +43 -43
  334. package/src/views/home.1.vue +479 -479
  335. package/src/views/home.vue +93 -93
  336. package/src/views/intersection2.vue +328 -328
  337. package/src/views/overView.vue +63 -63
  338. package/static/styles/channelizatioon.scss +433 -433
  339. package/static/styles/common.scss +30 -30
  340. package/static/styles/commonkanban.scss +168 -168
  341. package/static/styles/dark/index.scss +2 -2
  342. package/static/styles/dark/theme/element-dark.scss +44 -44
  343. package/static/styles/index.scss +84 -84
  344. package/static/styles/intersection.scss +180 -180
  345. package/static/styles/light/index.scss +2 -2
  346. package/static/styles/light/theme/element-light.scss +44 -44
  347. package/static/styles/patternConfig.scss +56 -56
  348. package/static/styles/phasePedSelect.scss +71 -71
  349. package/static/styles/stages.scss +57 -57
  350. package/static/styles/xiaokanban.scss +61 -61
  351. package/static/token.json +2 -2
  352. package/test/e2e/custom-assertions/elementCount.js +27 -27
  353. package/test/e2e/nightwatch.conf.js +46 -46
  354. package/test/e2e/runner.js +48 -48
  355. package/test/e2e/specs/test.js +19 -19
  356. package/test/unit/.eslintrc +7 -7
  357. package/test/unit/jest.conf.js +30 -30
  358. package/test/unit/setup.js +3 -3
  359. package/test/unit/specs/HelloWorld.spec.js +11 -11
  360. package/package/kissui.js +0 -216608
  361. package/pnpm-lock.yaml +0 -16362
@@ -1,335 +1,335 @@
1
- /**
2
- * Copyright (c) 2020 kedacom
3
- * OpenATC is licensed under Mulan PSL v2.
4
- * You can use i18n 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
- import i18n from '../i18n/index.js'
13
- import PhaseDataModel from '../kisscomps/components/IntersectionMap/crossDirection/utils.js'
14
- import CrossDiagramMgr from '../EdgeMgr/controller/crossDiagramMgr.js'
15
- export default class RingDataModel {
16
- constructor (crossStatusData = {}, phaseList, busPhaseData = []) {
17
- this.crossStatusData = crossStatusData
18
- this.phaseList = phaseList
19
- this.busPhaseData = busPhaseData
20
- this.PhaseDataModel = new PhaseDataModel()
21
- this.CrossDiagramMgr = new CrossDiagramMgr()
22
- }
23
-
24
- initRingPhaseData () {
25
- // 环信息从单独上载相位信息里获取,以免相位锁定后,方案状态数据里没有rings,导致相位锁定控制列表无法显示
26
- let phaseRings = []
27
- let map = {}
28
- let dest = []
29
- for (let i = 0; i < this.phaseList.length; i++) {
30
- let ai = this.phaseList[i]
31
- if (!map[ai.ring]) {
32
- let addphse = this.addPhaseInfo(ai)
33
- dest.push({
34
- num: ai.ring,
35
- phases: [{...ai, ...addphse}]
36
- })
37
- map[ai.ring] = ai
38
- } else {
39
- for (var j = 0; j < dest.length; j++) {
40
- var dj = dest[j]
41
- if (dj.num === ai.ring) {
42
- let addphse = this.addPhaseInfo(ai)
43
- dj.phases.push({...ai, ...addphse})
44
- break
45
- }
46
- }
47
- }
48
- }
49
- phaseRings = JSON.parse(JSON.stringify(dest))
50
- return phaseRings
51
- }
52
-
53
- addPhaseInfo (phase) {
54
- let addphse = {}
55
- addphse.name = i18n.t('openatccomponents.overview.phase') + phase.id
56
- addphse.desc = this.getPhaseDescription(phase)
57
- // 相位锁定选项默认都按照解锁状态显示
58
- addphse.locktype = 0
59
- addphse.close = 0
60
- if (this.crossStatusData !== null && this.crossStatusData.phase) {
61
- // 如果方案状态相位有close字段,这边就需要对应close状态进相位关断控制的选项里
62
- let phaseStatus = this.crossStatusData.phase.filter(ele => ele.id === phase.id)[0]
63
- addphse = {...addphse, ...phaseStatus}
64
- }
65
- return addphse
66
- }
67
-
68
- getPhaseDescription (phaseList) {
69
- let list = []
70
- let peddirections = []
71
- let sidewalkPhaseData = this.getPedPhasePos()
72
- for (let walk of sidewalkPhaseData) {
73
- if (phaseList.peddirection) {
74
- for (let ped of phaseList.peddirection) {
75
- // if (stg === walk.phaseid) {
76
- let obj = {}
77
- obj.name = walk.name
78
- obj.id = walk.id
79
- if (ped === walk.id) {
80
- peddirections.push(obj)
81
- peddirections = Array.from(new Set(peddirections))
82
- }
83
- // }
84
- }
85
- } else {
86
- peddirections = []
87
- }
88
- }
89
- for (let id of phaseList.direction) {
90
- let obj = {}
91
- obj.id = id
92
- obj.peddirection = peddirections
93
- obj.color = '#454545'
94
- list.push(obj)
95
- }
96
- return list
97
- }
98
-
99
- getPedPhasePos () {
100
- // 行人相位信息
101
- this.sidewalkPhaseData = []
102
- this.phaseList.forEach((ele, i) => {
103
- if (ele.peddirection) {
104
- ele.peddirection.forEach((dir, index) => {
105
- // 行人相位
106
- if (this.PhaseDataModel.getSidePos(dir)) {
107
- this.sidewalkPhaseData.push({
108
- key: this.CrossDiagramMgr.getUniqueKey('pedphase'),
109
- phaseid: ele.id, // 相位id,用于对应相位状态
110
- id: dir,
111
- name: this.PhaseDataModel.getSidePos(dir).name
112
- })
113
- }
114
- })
115
- }
116
- })
117
- return this.sidewalkPhaseData
118
- }
119
-
120
- getBusPos () {
121
- // 公交相位信息
122
- this.busPhaseData = []
123
- this.phaseList.forEach((ele, i) => {
124
- if (ele.controltype) {
125
- ele.direction.forEach((dir, index) => {
126
- // 车道相位
127
- this.busPhaseData.push({
128
- // key: this.CrossDiagramMgr.getUniqueKey('busphase'),
129
- phaseid: ele.id, // 相位id,用于对应相位状态
130
- id: dir, // 接口返回的dir字段,对应前端定义的相位方向id,唯一标识
131
- name: this.PhaseDataModel.getBusPhasePos(dir).name,
132
- controltype: ele.controltype
133
- })
134
- })
135
- }
136
- })
137
- let result = []
138
- let obj = {}
139
- for (var i = 0; i < this.busPhaseData.length; i++) {
140
- if (!obj[this.busPhaseData[i].phaseid]) {
141
- result.push(this.busPhaseData[i])
142
- obj[this.busPhaseData[i].phaseid] = true
143
- }
144
- }
145
- this.busPhaseData = result
146
- return this.busPhaseData
147
- }
148
- getlockData () {
149
- let stagesTemp = []
150
- let directionList = []
151
- let sidewalkPhaseData = this.getPedPhasePos()
152
- for (let phase of this.phaseList) {
153
- let tempList = []
154
- directionList = phase.direction
155
- let peddirections = []
156
- if (directionList) {
157
- for (let walk of sidewalkPhaseData) {
158
- for (let ped of phase.peddirection) {
159
- // if (stg === walk.phaseid) {
160
- let obj = {}
161
- obj.name = walk.name
162
- obj.id = walk.id
163
- if (ped === walk.id) {
164
- peddirections.push(obj)
165
- peddirections = Array.from(new Set(peddirections))
166
- }
167
- // }
168
- }
169
- }
170
- } else {
171
- peddirections = []
172
- }
173
- tempList = directionList.map(dir => ({
174
- id: dir,
175
- color: '#606266',
176
- controltype: phase.controltype,
177
- peddirection: peddirections,
178
- sidewalkPhaseData: sidewalkPhaseData
179
- }))
180
- stagesTemp.push(tempList)
181
- }
182
- return stagesTemp
183
- }
184
- getStageData (datatype) {
185
- let data = this.crossStatusData
186
- let stagesTemp = []
187
- let busPhaseData = this.getBusPos()
188
- let sidewalkPhaseData = this.getPedPhasePos()
189
- let stages
190
- // 按阶段数据处理
191
- stages = data.stages
192
- for (let stage of stages) {
193
- let tempList = []
194
- let directionList = []
195
- let currPhaseid = ''
196
- let stageControType = 0
197
- let peddirections = []
198
- let phasetype
199
- for (let stg of stage) {
200
- let phaseMode = data.phase.filter(item => item.id === stg)
201
- phasetype = phaseMode[0].type
202
- let currPhase = this.phaseList.filter((item) => {
203
- return item.id === stg
204
- })[0]
205
- if (!currPhase) continue
206
- if (currPhase !== undefined && phaseMode[0].mode !== 1) {
207
- directionList = [...currPhase.direction, ...directionList]
208
- }
209
- if (currPhase.peddirection) {
210
- for (let walk of sidewalkPhaseData) {
211
- for (let ped of currPhase.peddirection) {
212
- // if (stg === walk.phaseid) {
213
- let obj = {}
214
- obj.name = walk.name
215
- obj.id = walk.id
216
- if (ped === walk.id) {
217
- peddirections.push(obj)
218
- peddirections = Array.from(new Set(peddirections))
219
- }
220
- // }
221
- }
222
- }
223
- } else {
224
- peddirections = []
225
- }
226
- for (let busPhase of busPhaseData) {
227
- if (stg === busPhase.phaseid) {
228
- stageControType = busPhase.controltype
229
- }
230
- }
231
- }
232
- directionList = [...new Set(directionList)]
233
- tempList = directionList.map(dir => {
234
- let temp = {
235
- id: dir,
236
- phaseid: currPhaseid,
237
- color: '#606266',
238
- controltype: stageControType,
239
- peddirection: peddirections,
240
- sidewalkPhaseData: sidewalkPhaseData,
241
- type: phasetype
242
- }
243
- return temp
244
- })
245
- if (directionList.length === 0) {
246
- tempList = [
247
- {
248
- id: -1,
249
- color: '#606266',
250
- controltype: stageControType,
251
- peddirection: peddirections,
252
- sidewalkPhaseData: sidewalkPhaseData,
253
- type: phasetype
254
- }
255
- ]
256
- }
257
- stagesTemp.push(tempList)
258
- }
259
- this.stagesList = JSON.parse(JSON.stringify(stagesTemp))
260
- return this.stagesList
261
- }
262
- getPhaseLegendData () {
263
- let data = this.crossStatusData
264
- let stagesTemp = []
265
- let busPhaseData = this.getBusPos()
266
- let sidewalkPhaseData = this.getPedPhasePos()
267
- let phaseIdList
268
- phaseIdList = data.phase.map(ele => [ele.id])
269
- for (let phase of phaseIdList) {
270
- let tempList = []
271
- let directionList = []
272
- let currPhaseid = ''
273
- let stageControType = 0
274
- let peddirections = []
275
- for (let id of phase) {
276
- let phaseMode = data.phase.filter(item => item.id === id)
277
- let currPhase = this.phaseList.filter((item) => {
278
- return item.id === id
279
- })[0]
280
- if (!currPhase) return
281
- if (currPhase !== undefined && phaseMode[0].mode !== 1) {
282
- directionList = [...currPhase.direction, ...directionList]
283
- currPhaseid = id
284
- }
285
- if (currPhase.peddirection) {
286
- for (let walk of sidewalkPhaseData) {
287
- for (let ped of currPhase.peddirection) {
288
- let obj = {}
289
- obj.name = walk.name
290
- obj.id = walk.id
291
- if (ped === walk.id) {
292
- peddirections.push(obj)
293
- peddirections = Array.from(new Set(peddirections))
294
- }
295
- }
296
- }
297
- } else {
298
- peddirections = []
299
- }
300
- for (let busPhase of busPhaseData) {
301
- if (id === busPhase.phaseid) {
302
- stageControType = busPhase.controltype
303
- }
304
- }
305
- }
306
- directionList = [...new Set(directionList)]
307
- tempList = directionList.map(dir => {
308
- let temp = {
309
- id: dir,
310
- phaseid: currPhaseid,
311
- color: '#606266',
312
- controltype: stageControType,
313
- peddirection: peddirections,
314
- sidewalkPhaseData: sidewalkPhaseData
315
- }
316
- return temp
317
- })
318
- if (directionList.length === 0) {
319
- tempList = [
320
- {
321
- id: -1,
322
- phaseid: currPhaseid,
323
- color: '#606266',
324
- controltype: stageControType,
325
- peddirection: peddirections,
326
- sidewalkPhaseData: sidewalkPhaseData
327
- }
328
- ]
329
- }
330
- stagesTemp.push(tempList)
331
- }
332
- this.List = JSON.parse(JSON.stringify(stagesTemp))
333
- return this.List
334
- }
335
- }
1
+ /**
2
+ * Copyright (c) 2020 kedacom
3
+ * OpenATC is licensed under Mulan PSL v2.
4
+ * You can use i18n 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
+ import i18n from '../i18n/index.js'
13
+ import PhaseDataModel from '../kisscomps/components/IntersectionMap/crossDirection/utils.js'
14
+ import CrossDiagramMgr from '../EdgeMgr/controller/crossDiagramMgr.js'
15
+ export default class RingDataModel {
16
+ constructor (crossStatusData = {}, phaseList, busPhaseData = []) {
17
+ this.crossStatusData = crossStatusData
18
+ this.phaseList = phaseList
19
+ this.busPhaseData = busPhaseData
20
+ this.PhaseDataModel = new PhaseDataModel()
21
+ this.CrossDiagramMgr = new CrossDiagramMgr()
22
+ }
23
+
24
+ initRingPhaseData () {
25
+ // 环信息从单独上载相位信息里获取,以免相位锁定后,方案状态数据里没有rings,导致相位锁定控制列表无法显示
26
+ let phaseRings = []
27
+ let map = {}
28
+ let dest = []
29
+ for (let i = 0; i < this.phaseList.length; i++) {
30
+ let ai = this.phaseList[i]
31
+ if (!map[ai.ring]) {
32
+ let addphse = this.addPhaseInfo(ai)
33
+ dest.push({
34
+ num: ai.ring,
35
+ phases: [{...ai, ...addphse}]
36
+ })
37
+ map[ai.ring] = ai
38
+ } else {
39
+ for (var j = 0; j < dest.length; j++) {
40
+ var dj = dest[j]
41
+ if (dj.num === ai.ring) {
42
+ let addphse = this.addPhaseInfo(ai)
43
+ dj.phases.push({...ai, ...addphse})
44
+ break
45
+ }
46
+ }
47
+ }
48
+ }
49
+ phaseRings = JSON.parse(JSON.stringify(dest))
50
+ return phaseRings
51
+ }
52
+
53
+ addPhaseInfo (phase) {
54
+ let addphse = {}
55
+ addphse.name = i18n.t('openatccomponents.overview.phase') + phase.id
56
+ addphse.desc = this.getPhaseDescription(phase)
57
+ // 相位锁定选项默认都按照解锁状态显示
58
+ addphse.locktype = 0
59
+ addphse.close = 0
60
+ if (this.crossStatusData !== null && this.crossStatusData.phase) {
61
+ // 如果方案状态相位有close字段,这边就需要对应close状态进相位关断控制的选项里
62
+ let phaseStatus = this.crossStatusData.phase.filter(ele => ele.id === phase.id)[0]
63
+ addphse = {...addphse, ...phaseStatus}
64
+ }
65
+ return addphse
66
+ }
67
+
68
+ getPhaseDescription (phaseList) {
69
+ let list = []
70
+ let peddirections = []
71
+ let sidewalkPhaseData = this.getPedPhasePos()
72
+ for (let walk of sidewalkPhaseData) {
73
+ if (phaseList.peddirection) {
74
+ for (let ped of phaseList.peddirection) {
75
+ // if (stg === walk.phaseid) {
76
+ let obj = {}
77
+ obj.name = walk.name
78
+ obj.id = walk.id
79
+ if (ped === walk.id) {
80
+ peddirections.push(obj)
81
+ peddirections = Array.from(new Set(peddirections))
82
+ }
83
+ // }
84
+ }
85
+ } else {
86
+ peddirections = []
87
+ }
88
+ }
89
+ for (let id of phaseList.direction) {
90
+ let obj = {}
91
+ obj.id = id
92
+ obj.peddirection = peddirections
93
+ obj.color = '#454545'
94
+ list.push(obj)
95
+ }
96
+ return list
97
+ }
98
+
99
+ getPedPhasePos () {
100
+ // 行人相位信息
101
+ this.sidewalkPhaseData = []
102
+ this.phaseList.forEach((ele, i) => {
103
+ if (ele.peddirection) {
104
+ ele.peddirection.forEach((dir, index) => {
105
+ // 行人相位
106
+ if (this.PhaseDataModel.getSidePos(dir)) {
107
+ this.sidewalkPhaseData.push({
108
+ key: this.CrossDiagramMgr.getUniqueKey('pedphase'),
109
+ phaseid: ele.id, // 相位id,用于对应相位状态
110
+ id: dir,
111
+ name: this.PhaseDataModel.getSidePos(dir).name
112
+ })
113
+ }
114
+ })
115
+ }
116
+ })
117
+ return this.sidewalkPhaseData
118
+ }
119
+
120
+ getBusPos () {
121
+ // 公交相位信息
122
+ this.busPhaseData = []
123
+ this.phaseList.forEach((ele, i) => {
124
+ if (ele.controltype) {
125
+ ele.direction.forEach((dir, index) => {
126
+ // 车道相位
127
+ this.busPhaseData.push({
128
+ // key: this.CrossDiagramMgr.getUniqueKey('busphase'),
129
+ phaseid: ele.id, // 相位id,用于对应相位状态
130
+ id: dir, // 接口返回的dir字段,对应前端定义的相位方向id,唯一标识
131
+ name: this.PhaseDataModel.getBusPhasePos(dir).name,
132
+ controltype: ele.controltype
133
+ })
134
+ })
135
+ }
136
+ })
137
+ let result = []
138
+ let obj = {}
139
+ for (var i = 0; i < this.busPhaseData.length; i++) {
140
+ if (!obj[this.busPhaseData[i].phaseid]) {
141
+ result.push(this.busPhaseData[i])
142
+ obj[this.busPhaseData[i].phaseid] = true
143
+ }
144
+ }
145
+ this.busPhaseData = result
146
+ return this.busPhaseData
147
+ }
148
+ getlockData () {
149
+ let stagesTemp = []
150
+ let directionList = []
151
+ let sidewalkPhaseData = this.getPedPhasePos()
152
+ for (let phase of this.phaseList) {
153
+ let tempList = []
154
+ directionList = phase.direction
155
+ let peddirections = []
156
+ if (directionList) {
157
+ for (let walk of sidewalkPhaseData) {
158
+ for (let ped of phase.peddirection) {
159
+ // if (stg === walk.phaseid) {
160
+ let obj = {}
161
+ obj.name = walk.name
162
+ obj.id = walk.id
163
+ if (ped === walk.id) {
164
+ peddirections.push(obj)
165
+ peddirections = Array.from(new Set(peddirections))
166
+ }
167
+ // }
168
+ }
169
+ }
170
+ } else {
171
+ peddirections = []
172
+ }
173
+ tempList = directionList.map(dir => ({
174
+ id: dir,
175
+ color: '#606266',
176
+ controltype: phase.controltype,
177
+ peddirection: peddirections,
178
+ sidewalkPhaseData: sidewalkPhaseData
179
+ }))
180
+ stagesTemp.push(tempList)
181
+ }
182
+ return stagesTemp
183
+ }
184
+ getStageData (datatype) {
185
+ let data = this.crossStatusData
186
+ let stagesTemp = []
187
+ let busPhaseData = this.getBusPos()
188
+ let sidewalkPhaseData = this.getPedPhasePos()
189
+ let stages
190
+ // 按阶段数据处理
191
+ stages = data.stages
192
+ for (let stage of stages) {
193
+ let tempList = []
194
+ let directionList = []
195
+ let currPhaseid = ''
196
+ let stageControType = 0
197
+ let peddirections = []
198
+ let phasetype
199
+ for (let stg of stage) {
200
+ let phaseMode = data.phase.filter(item => item.id === stg)
201
+ phasetype = phaseMode[0].type
202
+ let currPhase = this.phaseList.filter((item) => {
203
+ return item.id === stg
204
+ })[0]
205
+ if (!currPhase) continue
206
+ if (currPhase !== undefined && phaseMode[0].mode !== 1) {
207
+ directionList = [...currPhase.direction, ...directionList]
208
+ }
209
+ if (currPhase.peddirection) {
210
+ for (let walk of sidewalkPhaseData) {
211
+ for (let ped of currPhase.peddirection) {
212
+ // if (stg === walk.phaseid) {
213
+ let obj = {}
214
+ obj.name = walk.name
215
+ obj.id = walk.id
216
+ if (ped === walk.id) {
217
+ peddirections.push(obj)
218
+ peddirections = Array.from(new Set(peddirections))
219
+ }
220
+ // }
221
+ }
222
+ }
223
+ } else {
224
+ peddirections = []
225
+ }
226
+ for (let busPhase of busPhaseData) {
227
+ if (stg === busPhase.phaseid) {
228
+ stageControType = busPhase.controltype
229
+ }
230
+ }
231
+ }
232
+ directionList = [...new Set(directionList)]
233
+ tempList = directionList.map(dir => {
234
+ let temp = {
235
+ id: dir,
236
+ phaseid: currPhaseid,
237
+ color: '#606266',
238
+ controltype: stageControType,
239
+ peddirection: peddirections,
240
+ sidewalkPhaseData: sidewalkPhaseData,
241
+ type: phasetype
242
+ }
243
+ return temp
244
+ })
245
+ if (directionList.length === 0) {
246
+ tempList = [
247
+ {
248
+ id: -1,
249
+ color: '#606266',
250
+ controltype: stageControType,
251
+ peddirection: peddirections,
252
+ sidewalkPhaseData: sidewalkPhaseData,
253
+ type: phasetype
254
+ }
255
+ ]
256
+ }
257
+ stagesTemp.push(tempList)
258
+ }
259
+ this.stagesList = JSON.parse(JSON.stringify(stagesTemp))
260
+ return this.stagesList
261
+ }
262
+ getPhaseLegendData () {
263
+ let data = this.crossStatusData
264
+ let stagesTemp = []
265
+ let busPhaseData = this.getBusPos()
266
+ let sidewalkPhaseData = this.getPedPhasePos()
267
+ let phaseIdList
268
+ phaseIdList = data.phase.map(ele => [ele.id])
269
+ for (let phase of phaseIdList) {
270
+ let tempList = []
271
+ let directionList = []
272
+ let currPhaseid = ''
273
+ let stageControType = 0
274
+ let peddirections = []
275
+ for (let id of phase) {
276
+ let phaseMode = data.phase.filter(item => item.id === id)
277
+ let currPhase = this.phaseList.filter((item) => {
278
+ return item.id === id
279
+ })[0]
280
+ if (!currPhase) return
281
+ if (currPhase !== undefined && phaseMode[0].mode !== 1) {
282
+ directionList = [...currPhase.direction, ...directionList]
283
+ currPhaseid = id
284
+ }
285
+ if (currPhase.peddirection) {
286
+ for (let walk of sidewalkPhaseData) {
287
+ for (let ped of currPhase.peddirection) {
288
+ let obj = {}
289
+ obj.name = walk.name
290
+ obj.id = walk.id
291
+ if (ped === walk.id) {
292
+ peddirections.push(obj)
293
+ peddirections = Array.from(new Set(peddirections))
294
+ }
295
+ }
296
+ }
297
+ } else {
298
+ peddirections = []
299
+ }
300
+ for (let busPhase of busPhaseData) {
301
+ if (id === busPhase.phaseid) {
302
+ stageControType = busPhase.controltype
303
+ }
304
+ }
305
+ }
306
+ directionList = [...new Set(directionList)]
307
+ tempList = directionList.map(dir => {
308
+ let temp = {
309
+ id: dir,
310
+ phaseid: currPhaseid,
311
+ color: '#606266',
312
+ controltype: stageControType,
313
+ peddirection: peddirections,
314
+ sidewalkPhaseData: sidewalkPhaseData
315
+ }
316
+ return temp
317
+ })
318
+ if (directionList.length === 0) {
319
+ tempList = [
320
+ {
321
+ id: -1,
322
+ phaseid: currPhaseid,
323
+ color: '#606266',
324
+ controltype: stageControType,
325
+ peddirection: peddirections,
326
+ sidewalkPhaseData: sidewalkPhaseData
327
+ }
328
+ ]
329
+ }
330
+ stagesTemp.push(tempList)
331
+ }
332
+ this.List = JSON.parse(JSON.stringify(stagesTemp))
333
+ return this.List
334
+ }
335
+ }