openatc-components 0.4.47 → 0.4.49

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 (449) hide show
  1. package/.babelrc +18 -18
  2. package/.editorconfig +9 -9
  3. package/.eslintignore +5 -5
  4. package/.eslintrc.js +31 -31
  5. package/.postcssrc.js +10 -10
  6. package/README.md +30 -30
  7. package/build/build.js +41 -41
  8. package/build/check-versions.js +54 -54
  9. package/build/package.config.js +58 -58
  10. package/build/package.dev.config.js +107 -107
  11. package/build/package.prod.config.js +160 -160
  12. package/build/utils.js +101 -101
  13. package/build/vue-loader.conf.js +22 -22
  14. package/build/webpack.base.conf.js +120 -120
  15. package/build/webpack.dev.conf.js +95 -95
  16. package/build/webpack.prod.conf.js +149 -149
  17. package/config/dev.env.js +8 -8
  18. package/config/index.js +94 -94
  19. package/config/prod.env.js +5 -5
  20. package/config/test.env.js +7 -7
  21. package/index.html +12 -12
  22. package/package/kisscomps/components/BoardCard/BoardCard.vue +133 -133
  23. package/package/kisscomps/components/ChannelRealtimeIntersection/ChannelRealtimeIntersection.vue +123 -123
  24. package/package/kisscomps/components/Channelization/Channelization.vue +584 -584
  25. package/package/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  26. package/package/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  27. package/package/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  28. package/package/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +456 -456
  29. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  30. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  31. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  32. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  33. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  34. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  35. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  36. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  37. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  38. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  39. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  40. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  41. package/package/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  42. package/package/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  43. package/package/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  44. package/package/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  45. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  46. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  47. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  48. package/package/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  49. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  50. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  51. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  52. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  53. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  54. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  55. package/package/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  56. package/package/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +1005 -1005
  57. package/package/kisscomps/components/DrawChannelization/drawsvg/index.vue +144 -144
  58. package/package/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  59. package/package/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  60. package/package/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.vue +172 -172
  61. package/package/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  62. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  63. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  64. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  65. package/package/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  66. package/package/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  67. package/package/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  68. package/package/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +158 -158
  69. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +629 -629
  70. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  71. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  72. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  73. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  74. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  75. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  76. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  77. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +1302 -1302
  78. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  79. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +498 -498
  80. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +484 -484
  81. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +488 -488
  82. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +566 -566
  83. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  84. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  85. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  86. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  87. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  88. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  89. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  90. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  91. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  92. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  93. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  94. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +1520 -1520
  95. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +197 -197
  96. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +196 -196
  97. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  98. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  99. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  100. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +115 -115
  101. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  102. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  103. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +219 -219
  104. package/package/kisscomps/components/IntersectionMap/crossDirection/utils.js +84 -84
  105. package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +220 -220
  106. package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +534 -534
  107. package/package/kisscomps/components/KanBan/kanban.vue +231 -231
  108. package/package/kisscomps/components/MessageBox/index.vue +96 -96
  109. package/package/kisscomps/components/OptimizeKanban/index.js +2 -0
  110. package/package/kisscomps/components/OptimizeKanban/index.vue +369 -0
  111. package/package/kisscomps/components/OverLap/OverLap.vue +237 -237
  112. package/package/kisscomps/components/OverviewComponent/index.vue +853 -853
  113. package/package/kisscomps/components/PatternOptimize/PatternOptimize.vue +329 -329
  114. package/package/kisscomps/components/PatternStatus/PatternStatus.vue +1843 -1805
  115. package/package/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  116. package/package/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  117. package/package/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  118. package/package/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  119. package/package/kisscomps/components/PhaseMarker/index.js +6 -6
  120. package/package/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  121. package/package/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  122. package/package/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  123. package/package/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  124. package/package/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  125. package/package/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  126. package/package/kisscomps/components/PhasePedSelect/index.vue +206 -206
  127. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +1011 -1011
  128. package/package/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +365 -365
  129. package/package/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  130. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  131. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  132. package/package/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  133. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  134. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/icon.vue +470 -470
  135. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +871 -871
  136. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  137. package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  138. package/package/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  139. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +308 -308
  140. package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +1293 -1293
  141. package/package/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  142. package/package/kisscomps/components/SelectCrossPhase/index.vue +418 -418
  143. package/package/kisscomps/components/SelectCrossPhase/utils.js +142 -142
  144. package/package/kisscomps/components/StageBord/StageBord.vue +303 -303
  145. package/package/kisscomps/components/StageOptimize/StageOptimize.vue +367 -367
  146. package/package/kisscomps/components/StageOptimize/index.js +2 -2
  147. package/package/kisscomps/components/StageOptimize/index.vue +310 -0
  148. package/package/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  149. package/package/kisscomps/components/Stages/index.vue +319 -319
  150. package/package/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  151. package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +1041 -1041
  152. package/package/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  153. package/package/kisscomps/components/XiaoKanban/index.vue +122 -122
  154. package/package/kisscomps/components/overView/index.vue +676 -676
  155. package/package/kisscomps/components/patternConfig/index.vue +802 -802
  156. package/package/kisscomps/components/patternConfig/pattern/patternTable.vue +599 -599
  157. package/package/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  158. package/package/kisscomps/components/patternConfig/planContent.vue +604 -604
  159. package/package/kisscomps/components/patternConfig/planMenu.vue +329 -329
  160. package/package/kisscomps/components/patternConfig/utils.js +152 -152
  161. package/package/kisscomps/components/patternList/patternList.vue +606 -606
  162. package/package/kisscomps/index.js +131 -131
  163. package/package/kissui.min.js +1 -1
  164. package/package.json +126 -126
  165. package/src/App.vue +24 -24
  166. package/src/EdgeMgr/EdgeModelBase.js +16 -16
  167. package/src/EdgeMgr/controller/crossDiagramMgr.js +125 -125
  168. package/src/api/authapi.js +31 -31
  169. package/src/api/config.js +21 -21
  170. package/src/api/control.js +110 -110
  171. package/src/api/cross.js +49 -49
  172. package/src/api/device.js +135 -135
  173. package/src/api/fault.js +66 -66
  174. package/src/api/index.js +24 -24
  175. package/src/api/login.js +46 -46
  176. package/src/api/optimize.js +72 -72
  177. package/src/api/param.js +165 -165
  178. package/src/api/passwdAssest.js +101 -101
  179. package/src/api/permission.js +33 -33
  180. package/src/api/route.js +171 -171
  181. package/src/api/template.js +27 -27
  182. package/src/assets/font/LICENSE.txt +202 -202
  183. package/src/assets/font/font.css +6 -6
  184. package/src/i18n/index.js +26 -26
  185. package/src/i18n/language/en.js +1474 -1474
  186. package/src/i18n/language/index.js +25 -25
  187. package/src/i18n/language/zh.js +1474 -1474
  188. package/src/icons/demo_index.html +8445 -8445
  189. package/src/icons/iconfont.css +1451 -1451
  190. package/src/icons/iconfont.json +2522 -2522
  191. package/src/icons/index.js +20 -20
  192. package/src/icons/svg/azimuthlocking.svg +26 -26
  193. package/src/icons/svg/bendi.svg +110 -110
  194. package/src/icons/svg/bujin.svg +36 -36
  195. package/src/icons/svg/connectBlue.svg +7 -7
  196. package/src/icons/svg/currentvolume.svg +0 -0
  197. package/src/icons/svg/custom-BRTlane.svg +40 -40
  198. package/src/icons/svg/custom-buslane.svg +40 -40
  199. package/src/icons/svg/custom-detector.svg +12 -12
  200. package/src/icons/svg/custom-east-bottom.svg +32 -32
  201. package/src/icons/svg/custom-east-top.svg +32 -32
  202. package/src/icons/svg/custom-ewped.svg +35 -35
  203. package/src/icons/svg/custom-nonmotorizedlane.svg +40 -40
  204. package/src/icons/svg/custom-north-left.svg +32 -32
  205. package/src/icons/svg/custom-north-right.svg +32 -32
  206. package/src/icons/svg/custom-peddetector.svg +17 -17
  207. package/src/icons/svg/custom-snped.svg +35 -35
  208. package/src/icons/svg/custom-south-left.svg +32 -32
  209. package/src/icons/svg/custom-south-right.svg +32 -32
  210. package/src/icons/svg/custom-tramlane.svg +40 -40
  211. package/src/icons/svg/custom-vehiclebranch.svg +40 -40
  212. package/src/icons/svg/custom-vehiclemainroad.svg +41 -41
  213. package/src/icons/svg/custom-west-bottom.svg +32 -32
  214. package/src/icons/svg/custom-west-top.svg +32 -32
  215. package/src/icons/svg/custom-xlped.svg +14 -14
  216. package/src/icons/svg/custom-xrped.svg +14 -14
  217. package/src/icons/svg/cutRed.svg +7 -7
  218. package/src/icons/svg/cycle.svg +0 -0
  219. package/src/icons/svg/dingzhouqi.svg +34 -34
  220. package/src/icons/svg/ganyingkongzhi.svg +30 -30
  221. package/src/icons/svg/guandeng.svg +81 -81
  222. package/src/icons/svg/huangshan.svg +71 -71
  223. package/src/icons/svg/maincontrol.svg +0 -0
  224. package/src/icons/svg/manualcontrolbackground.svg +51 -51
  225. package/src/icons/svg/manualcontrolbackground1.svg +62 -62
  226. package/src/icons/svg/manualcontrolbackgrounden.svg +62 -62
  227. package/src/icons/svg/model.svg +0 -0
  228. package/src/icons/svg/phasediff.svg +0 -0
  229. package/src/icons/svg/prioritycontrol.svg +21 -21
  230. package/src/icons/svg/quanhong.svg +86 -86
  231. package/src/icons/svg/shanghe.svg +11 -11
  232. package/src/icons/svg/shoudong.svg +103 -103
  233. package/src/icons/svg/tentativeplan.svg +28 -28
  234. package/src/icons/svg/time.svg +0 -0
  235. package/src/icons/svg/wuxianlan.svg +46 -46
  236. package/src/icons/svg/xiala.svg +11 -11
  237. package/src/icons/svg/xingrenguojie.svg +33 -33
  238. package/src/icons/svg/xitong.svg +89 -89
  239. package/src/icons/svg/youxian.svg +41 -41
  240. package/src/icons/svg/zizhukongzhi.svg +43 -43
  241. package/src/kisscomps/components/BoardCard/BoardCard.vue +133 -133
  242. package/src/kisscomps/components/ChannelRealtimeIntersection/ChannelRealtimeIntersection.vue +123 -123
  243. package/src/kisscomps/components/Channelization/Channelization.vue +584 -584
  244. package/src/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  245. package/src/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  246. package/src/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  247. package/src/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +456 -456
  248. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  249. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  250. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  251. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  252. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  253. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  254. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  255. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  256. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  257. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  258. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  259. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  260. package/src/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  261. package/src/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  262. package/src/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  263. package/src/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  264. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  265. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  266. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  267. package/src/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  268. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  269. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  270. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  271. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  272. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  273. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  274. package/src/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  275. package/src/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +1005 -1005
  276. package/src/kisscomps/components/DrawChannelization/drawsvg/index.vue +144 -144
  277. package/src/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  278. package/src/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  279. package/src/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.vue +172 -172
  280. package/src/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  281. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  282. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  283. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  284. package/src/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  285. package/src/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  286. package/src/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  287. package/src/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +158 -158
  288. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +629 -629
  289. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  290. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  291. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  292. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  293. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  294. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  295. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  296. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +1302 -1302
  297. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  298. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +498 -498
  299. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +484 -484
  300. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +488 -488
  301. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +566 -566
  302. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  303. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  304. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  305. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  306. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  307. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  308. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  309. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  310. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  311. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  312. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  313. package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +1520 -1520
  314. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +197 -197
  315. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +196 -196
  316. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  317. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  318. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  319. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +115 -115
  320. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  321. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  322. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +219 -219
  323. package/src/kisscomps/components/IntersectionMap/crossDirection/utils.js +84 -84
  324. package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +220 -220
  325. package/src/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +534 -534
  326. package/src/kisscomps/components/KanBan/kanban.vue +231 -231
  327. package/src/kisscomps/components/MessageBox/index.vue +96 -96
  328. package/src/kisscomps/components/OverLap/OverLap.vue +237 -237
  329. package/src/kisscomps/components/OverviewComponent/index.vue +853 -853
  330. package/src/kisscomps/components/PatternOptimize/PatternOptimize.vue +329 -329
  331. package/src/kisscomps/components/PatternStatus/PatternStatus.vue +1843 -1805
  332. package/src/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  333. package/src/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  334. package/src/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  335. package/src/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  336. package/src/kisscomps/components/PhaseMarker/index.js +6 -6
  337. package/src/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  338. package/src/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  339. package/src/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  340. package/src/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  341. package/src/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  342. package/src/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  343. package/src/kisscomps/components/PhasePedSelect/index.vue +206 -206
  344. package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +1011 -1011
  345. package/src/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +365 -365
  346. package/src/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  347. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  348. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  349. package/src/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  350. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  351. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/icon.vue +470 -470
  352. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +871 -871
  353. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  354. package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  355. package/src/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  356. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +308 -308
  357. package/src/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +1293 -1293
  358. package/src/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  359. package/src/kisscomps/components/SelectCrossPhase/index.vue +418 -418
  360. package/src/kisscomps/components/SelectCrossPhase/utils.js +142 -142
  361. package/src/kisscomps/components/StageBord/StageBord.vue +303 -303
  362. package/src/kisscomps/components/StageOptimize/StageOptimize.vue +367 -367
  363. package/src/kisscomps/components/StageOptimize/index.js +2 -2
  364. package/src/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  365. package/src/kisscomps/components/Stages/index.vue +319 -319
  366. package/src/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  367. package/src/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +1041 -1041
  368. package/src/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  369. package/src/kisscomps/components/XiaoKanban/index.vue +122 -122
  370. package/src/kisscomps/components/overView/index.vue +676 -676
  371. package/src/kisscomps/components/patternConfig/index.vue +802 -802
  372. package/src/kisscomps/components/patternConfig/pattern/patternTable.vue +599 -599
  373. package/src/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  374. package/src/kisscomps/components/patternConfig/planContent.vue +604 -604
  375. package/src/kisscomps/components/patternConfig/planMenu.vue +329 -329
  376. package/src/kisscomps/components/patternConfig/utils.js +152 -152
  377. package/src/kisscomps/components/patternList/patternList.vue +606 -606
  378. package/src/kisscomps/index.js +131 -131
  379. package/src/lib/publicjs/ArryListUtil.js +38 -38
  380. package/src/lib/publicjs/HttpurlMgr.js +45 -45
  381. package/src/lib/publicjs/KissApi.js +158 -158
  382. package/src/lib/publicjs/KissWSSub/Heartcheck.js +128 -128
  383. package/src/lib/publicjs/KissWSSub/KissWsSub.js +91 -91
  384. package/src/lib/publicjs/KissWSSub/KissWsSubByType.js +152 -152
  385. package/src/lib/publicjs/KissWSSub/SimuWsSubByType.js +44 -44
  386. package/src/lib/publicjs/KissWSSub/Sub.js +51 -51
  387. package/src/lib/publicjs/KissWSSub/SubChannel.js +119 -119
  388. package/src/lib/publicjs/basecomponents.js +65 -65
  389. package/src/lib/publicjs/localStorage.js +112 -112
  390. package/src/lib/publicjs/objdeepcopy.js +32 -32
  391. package/src/lib/publicjs/pageScroll.js +30 -30
  392. package/src/lib/publicjs/passwdAssest.js +101 -101
  393. package/src/lib/publicjs/styleclassfactory.js +32 -32
  394. package/src/main.js +51 -51
  395. package/src/node_modules/.package_versions.json +1 -0
  396. package/src/router/index.js +63 -63
  397. package/src/store/index.js +26 -26
  398. package/src/store/modules/globalParam.js +67 -67
  399. package/src/utils/ControlFormat.js +68 -68
  400. package/src/utils/RingDataModel.js +335 -335
  401. package/src/utils/auth.js +199 -199
  402. package/src/utils/conflct.js +268 -268
  403. package/src/utils/conflictList.js +87 -87
  404. package/src/utils/dateFormat.js +41 -41
  405. package/src/utils/errorcode.js +231 -231
  406. package/src/utils/fault.js +196 -196
  407. package/src/utils/faultcode.js +225 -225
  408. package/src/utils/index.js +69 -69
  409. package/src/utils/pedphasedesc.js +119 -119
  410. package/src/utils/phaseList.js +203 -203
  411. package/src/utils/phasedesc.js +144 -144
  412. package/src/utils/responseMessage.js +21 -21
  413. package/src/utils/validate.js +43 -43
  414. package/src/views/customchannelization.vue +49 -49
  415. package/src/views/home.1.vue +479 -479
  416. package/src/views/home.vue +93 -93
  417. package/src/views/intersection.vue +522 -522
  418. package/src/views/intersection2.vue +328 -328
  419. package/src/views/overView.vue +63 -63
  420. package/src/views/patternConfig.vue +14792 -14792
  421. package/src/views/schemeconfig.vue +206 -206
  422. package/static/apiconfig.json +461 -461
  423. package/static/styles/channelizatioon.scss +433 -433
  424. package/static/styles/common.scss +30 -30
  425. package/static/styles/commonkanban.scss +168 -168
  426. package/static/styles/dark/index.scss +2 -2
  427. package/static/styles/dark/theme/element-dark.scss +44 -44
  428. package/static/styles/index.scss +84 -84
  429. package/static/styles/intersection.scss +180 -180
  430. package/static/styles/light/index.scss +2 -2
  431. package/static/styles/light/theme/element-light.scss +44 -44
  432. package/static/styles/overview.scss +146 -146
  433. package/static/styles/patternConfig.scss +56 -56
  434. package/static/styles/phasePedSelect.scss +71 -71
  435. package/static/styles/schemeconfig.scss +553 -553
  436. package/static/styles/stages.scss +57 -57
  437. package/static/styles/uiComponents.scss +57 -57
  438. package/static/styles/xiaokanban.scss +61 -61
  439. package/static/token.json +2 -2
  440. package/test/e2e/custom-assertions/elementCount.js +27 -27
  441. package/test/e2e/nightwatch.conf.js +46 -46
  442. package/test/e2e/runner.js +48 -48
  443. package/test/e2e/specs/test.js +19 -19
  444. package/test/unit/.eslintrc +7 -7
  445. package/test/unit/jest.conf.js +30 -30
  446. package/test/unit/setup.js +3 -3
  447. package/test/unit/specs/HelloWorld.spec.js +11 -11
  448. package/package/kissui.js +0 -216608
  449. package/pnpm-lock.yaml +0 -16362
@@ -1,278 +1,278 @@
1
- /**
2
- * Copyright (c) 2020 kedacom
3
- * OpenATC is licensed under Mulan PSL v2.
4
- * You can use this software according to the terms and conditions of the Mulan PSL v2.
5
- * You may obtain a copy of Mulan PSL v2 at:
6
- * http://license.coscl.org.cn/MulanPSL2
7
- * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
8
- * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
9
- * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
10
- * See the Mulan PSL v2 for more details.
11
- **/
12
- // 相位数据管理模型
13
- import store from '../../../store/index'
14
- export default class PhaseDataMgr {
15
- constructor (originphaselist) {
16
- this.globalParamModel = store.getters.globalParamModel
17
- this.id = 1
18
- this.originphaselist = originphaselist // 初始上载的相位数组
19
- this.originphaseMap = new Map()
20
- this.lanecommonphaseMap = new Map() // 关联了相位的渠化车道数据(实时变化)
21
- this.lastLanecommonphaseMap = new Map()
22
- this.associatedphaselist = [] // 相位关联列表显示的相位方向(初始上载相位数据被关联了相位的渠化车道覆盖)
23
- this.associatedphaseMap = new Map()
24
- this.createOriginPhaseData()
25
- }
26
- createOriginPhaseData () {
27
- // 根据渠化变化前的上载的相位数据,生成初始数据,后续如果有相位的增加、删除,会变化,或者离开渠化再进来才会再次更新
28
- let originphaselist = JSON.parse(JSON.stringify(this.originphaselist))
29
- this.originphaseMap = new Map()
30
- for (let i = 0; i < originphaselist.length; i++) {
31
- this.originphaseMap.set(originphaselist[i].id, originphaselist[i])
32
- }
33
- console.log('originphasemap', this.originphaseMap)
34
- this.updateAssophaseList()
35
- }
36
- createTempLanePhase (Motorways, editobj, choosephaseid) {
37
- let TempLaneMap = new Map()
38
- let curMotorways = JSON.parse(JSON.stringify(Motorways))
39
- let tempeditobj = JSON.parse(JSON.stringify(editobj))
40
- tempeditobj.phaseid = choosephaseid
41
- tempeditobj.phaselabel = `P${choosephaseid}`
42
- this.changeItem(tempeditobj, ['phaseid', 'phaselabel'], curMotorways)
43
- for (let i = 0; i < curMotorways.length; i++) {
44
- let motorobj = curMotorways[i]
45
- let motorphaseid = motorobj.phaseid
46
- if (motorphaseid !== undefined) {
47
- // 处理已经关联了相位的渠化车道
48
- // motorphaseid !== undefined 证明已经关联相位,以此生成关联列表,数据驱动就不用处理删除修改等情况
49
- let lanephasedir = {}
50
- if (motorobj.direction) {
51
- lanephasedir.direction = motorobj.direction
52
- }
53
- if (motorobj.peddirection) {
54
- lanephasedir.peddirection = motorobj.peddirection
55
- }
56
- if (TempLaneMap.get(motorphaseid) === undefined) {
57
- TempLaneMap.set(motorphaseid, lanephasedir)
58
- } else {
59
- // 若有别的渠化车道关联了此相位,需要和当前渠化车道的方向叠加
60
- let laneassociatedphase = TempLaneMap.get(motorphaseid)
61
- if (motorobj.direction) {
62
- laneassociatedphase.direction = Array.from(new Set([...laneassociatedphase.direction, ...motorobj.direction]))
63
- }
64
- if (motorobj.peddirection) {
65
- laneassociatedphase.peddirection = Array.from(new Set([...laneassociatedphase.peddirection, ...motorobj.peddirection]))
66
- }
67
- TempLaneMap.set(motorphaseid, laneassociatedphase)
68
- }
69
- }
70
- }
71
- console.log(TempLaneMap)
72
- return this.createTempAssophaseList(TempLaneMap)
73
- }
74
- updateLanePhaseAssociatedMap (Motorways) {
75
- // 渠化图车道数据,更新key为phaseid的Map
76
- this.lanecommonphaseMap = new Map()
77
- let curMotorways = JSON.parse(JSON.stringify(Motorways))
78
- for (let i = 0; i < curMotorways.length; i++) {
79
- let motorobj = curMotorways[i]
80
- let motorphaseid = motorobj.phaseid
81
- if (motorphaseid !== undefined) {
82
- // 处理已经关联了相位的渠化车道
83
- // motorphaseid !== undefined 证明已经关联相位,以此生成关联列表,数据驱动就不用处理删除修改等情况
84
- let lanephasedir = {}
85
- if (motorobj.direction) {
86
- lanephasedir.direction = motorobj.direction
87
- }
88
- if (motorobj.peddirection) {
89
- lanephasedir.peddirection = motorobj.peddirection
90
- }
91
- if (this.lanecommonphaseMap.get(motorphaseid) === undefined) {
92
- this.lanecommonphaseMap.set(motorphaseid, lanephasedir)
93
- } else {
94
- // 若有别的渠化车道关联了此相位,需要和当前渠化车道的方向叠加
95
- let laneassociatedphase = this.lanecommonphaseMap.get(motorphaseid)
96
- if (motorobj.direction) {
97
- laneassociatedphase.direction = Array.from(new Set([...laneassociatedphase.direction, ...motorobj.direction]))
98
- }
99
- if (motorobj.peddirection) {
100
- laneassociatedphase.peddirection = Array.from(new Set([...laneassociatedphase.peddirection, ...motorobj.peddirection]))
101
- }
102
- this.lanecommonphaseMap.set(motorphaseid, laneassociatedphase)
103
- }
104
- }
105
- }
106
- console.log('lanecommonphaseMap', this.lanecommonphaseMap)
107
- this.updateAssophaseList()
108
- }
109
- checkSameDirectionPhase (curlanedirection, choosephaseid, lastchoosephaseid, tempMotorways, editobj) {
110
- // 校验同方向车道关联相位
111
- // 1. lastchoosephaseid不存在,说明是车道首次关联相位:
112
- // 仅需判断当前相位列表AssophaseList中,相位id !== choosephaseid的相位数据中,direction若包含curlanedirection其中一个方向,则校验不通过
113
- // 2. lastchoosephaseid存在,说明车道是切换相位关联:
114
- // 情况稍微复杂一些,需要创建一个临时车道关联数据,保存把当前车道方向关联当前选择的相位后,临时生成tempAssophaseList
115
- // 再判断tempAssophaseList中,相位id !== choosephaseid的相位数据,direction是否包含车道所选择的方向
116
- let checkSame = true
117
- if (!lastchoosephaseid) {
118
- for (let i = 0; i < this.associatedphaselist.length; i++) {
119
- let phaseid = this.associatedphaselist[i].id
120
- let direction = this.associatedphaselist[i].direction
121
- if (phaseid !== choosephaseid) {
122
- for (let j = 0; j < curlanedirection.length; j++) {
123
- if (direction.indexOf(curlanedirection[j]) !== -1) {
124
- checkSame = false
125
- }
126
- }
127
- }
128
- }
129
- } else {
130
- let TempAssociatedphaselist = this.createTempLanePhase(tempMotorways, editobj, choosephaseid)
131
- console.log('TempAssociatedphaselist', TempAssociatedphaselist)
132
- for (let i = 0; i < TempAssociatedphaselist.length; i++) {
133
- let phaseid = TempAssociatedphaselist[i].id
134
- let direction = TempAssociatedphaselist[i].direction
135
- if (phaseid !== choosephaseid) {
136
- for (let j = 0; j < curlanedirection.length; j++) {
137
- if (direction.indexOf(curlanedirection[j]) !== -1) {
138
- checkSame = false
139
- }
140
- }
141
- }
142
- }
143
- }
144
- return checkSame
145
- }
146
- changeItem (row, fieldarr, data) {
147
- for (let item of data) {
148
- if (item.index === row.index) {
149
- for (let field of fieldarr) {
150
- item[field] = row[field]
151
- }
152
- }
153
- }
154
- }
155
- ArrToMap (Arr) {
156
- let phaseMap = new Map()
157
- for (let i = 0; i < Arr.length; i++) {
158
- phaseMap.set(Arr[i].id, Arr[i])
159
- }
160
- return phaseMap
161
- }
162
- createTempAssophaseList (TempLaneMap) {
163
- let TempAssociatedphaselist = []
164
- let TempAssociatedphaseMap = new Map()
165
- TempAssociatedphaseMap = this.ArrToMap(JSON.parse(JSON.stringify(this.originphaselist)))
166
- for (let [key, value] of TempAssociatedphaseMap) {
167
- if (TempLaneMap.get(key)) {
168
- // 渠化车道如果关联此相位,要把渠化车道的方向覆盖初始相位的方向
169
- let lanevalue = TempLaneMap.get(key)
170
- value.direction = lanevalue.direction
171
- }
172
- }
173
- TempAssociatedphaselist = this.MapToArray(TempAssociatedphaseMap)
174
- return TempAssociatedphaselist
175
- }
176
- updateAssophaseList () {
177
- // 根据动态变化的渠化车道关联列表+初始上载的相位列表(包含处理后续相位的增删操作,也是变化的),
178
- // 被渠化关联的相位direction被渠化组合方向替换,
179
- // 未被关联的相位direction还是初始相位方向
180
- this.associatedphaselist = []
181
- this.associatedphaseMap = this.ArrToMap(JSON.parse(JSON.stringify(this.originphaselist)))
182
- for (let [key, value] of this.associatedphaseMap) {
183
- if (this.lanecommonphaseMap.get(key)) {
184
- // 渠化车道如果关联此相位,要把渠化车道的方向覆盖初始相位的方向
185
- let lanevalue = this.lanecommonphaseMap.get(key)
186
- value.direction = lanevalue.direction
187
- }
188
- }
189
- console.log('associatedphaseMap', this.associatedphaseMap)
190
- this.associatedphaselist = this.MapToArray(this.associatedphaseMap)
191
- console.log('associatedphaselist', this.associatedphaselist)
192
- store.dispatch('SetAssociatedPhaseList', this.associatedphaselist)
193
- }
194
- MapToArray (Map) {
195
- let arr = []
196
- for (let [key, value] of Map) {
197
- let phaseinfo = {
198
- id: key,
199
- ...value
200
- }
201
- arr.push(phaseinfo)
202
- }
203
- return arr
204
- }
205
- increaseId () { // 实现id在之前的基础上寻找最小的
206
- let phaseIdList = this.originphaselist.map(ele => ele.id)
207
- let i = this.originphaselist.length - 1
208
- if (i >= 0) {
209
- for (let j = 1; j <= 40; j++) {
210
- if (!phaseIdList.includes(j)) {
211
- this.id = j
212
- return
213
- }
214
- }
215
- }
216
- }
217
- addOriginPhase () {
218
- this.increaseId()
219
- var phaseInitData = {
220
- id: this.id,
221
- direction: [],
222
- peddirection: [], // 行人方向
223
- mingreen: 0,
224
- max1: 120,
225
- max2: 180,
226
- passage: 3,
227
- phasewalk: 0,
228
- pedclear: 0,
229
- yellow: 3,
230
- redclear: 2,
231
- flashgreen: 0,
232
- redyellow: 0,
233
- ring: 1,
234
- greenpulse: 5,
235
- redpulse: 10,
236
- vehiclethresh: 30,
237
- pedestrianthresh: 30,
238
- controltype: 0, // 控制类型
239
- concurrent: []
240
- }
241
- this.originphaselist.push(phaseInitData)
242
- // 重新排序相位数组
243
- this.originphaselist.sort(this.compareProperty('id'))
244
- this.updateAssophaseList()
245
- }
246
- compareProperty (property) {
247
- return function (a, b) {
248
- var value1 = a[property]
249
- var value2 = b[property]
250
- return value1 - value2
251
- }
252
- }
253
- deleteOriginPhase (index) {
254
- this.originphaselist.splice(index, 1)
255
- }
256
- editDirPosToPhaseDireaciton (laneDirArr, lanePos) {
257
- // 编辑的车道转向和方位,转化成相位的direction
258
- let phaseDireacitonArr = laneDirArr.map(lanedir => {
259
- if (lanePos === 1) {
260
- // 东
261
- return lanedir
262
- }
263
- if (lanePos === 2) {
264
- // 西
265
- return 4 * 1 + lanedir
266
- }
267
- if (lanePos === 3) {
268
- // 南
269
- return 4 * 3 + lanedir
270
- }
271
- if (lanePos === 4) {
272
- // 北
273
- return 4 * 2 + lanedir
274
- }
275
- })
276
- return phaseDireacitonArr
277
- }
278
- }
1
+ /**
2
+ * Copyright (c) 2020 kedacom
3
+ * OpenATC is licensed under Mulan PSL v2.
4
+ * You can use this software according to the terms and conditions of the Mulan PSL v2.
5
+ * You may obtain a copy of Mulan PSL v2 at:
6
+ * http://license.coscl.org.cn/MulanPSL2
7
+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
8
+ * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
9
+ * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
10
+ * See the Mulan PSL v2 for more details.
11
+ **/
12
+ // 相位数据管理模型
13
+ import store from '../../../store/index'
14
+ export default class PhaseDataMgr {
15
+ constructor (originphaselist) {
16
+ this.globalParamModel = store.getters.globalParamModel
17
+ this.id = 1
18
+ this.originphaselist = originphaselist // 初始上载的相位数组
19
+ this.originphaseMap = new Map()
20
+ this.lanecommonphaseMap = new Map() // 关联了相位的渠化车道数据(实时变化)
21
+ this.lastLanecommonphaseMap = new Map()
22
+ this.associatedphaselist = [] // 相位关联列表显示的相位方向(初始上载相位数据被关联了相位的渠化车道覆盖)
23
+ this.associatedphaseMap = new Map()
24
+ this.createOriginPhaseData()
25
+ }
26
+ createOriginPhaseData () {
27
+ // 根据渠化变化前的上载的相位数据,生成初始数据,后续如果有相位的增加、删除,会变化,或者离开渠化再进来才会再次更新
28
+ let originphaselist = JSON.parse(JSON.stringify(this.originphaselist))
29
+ this.originphaseMap = new Map()
30
+ for (let i = 0; i < originphaselist.length; i++) {
31
+ this.originphaseMap.set(originphaselist[i].id, originphaselist[i])
32
+ }
33
+ console.log('originphasemap', this.originphaseMap)
34
+ this.updateAssophaseList()
35
+ }
36
+ createTempLanePhase (Motorways, editobj, choosephaseid) {
37
+ let TempLaneMap = new Map()
38
+ let curMotorways = JSON.parse(JSON.stringify(Motorways))
39
+ let tempeditobj = JSON.parse(JSON.stringify(editobj))
40
+ tempeditobj.phaseid = choosephaseid
41
+ tempeditobj.phaselabel = `P${choosephaseid}`
42
+ this.changeItem(tempeditobj, ['phaseid', 'phaselabel'], curMotorways)
43
+ for (let i = 0; i < curMotorways.length; i++) {
44
+ let motorobj = curMotorways[i]
45
+ let motorphaseid = motorobj.phaseid
46
+ if (motorphaseid !== undefined) {
47
+ // 处理已经关联了相位的渠化车道
48
+ // motorphaseid !== undefined 证明已经关联相位,以此生成关联列表,数据驱动就不用处理删除修改等情况
49
+ let lanephasedir = {}
50
+ if (motorobj.direction) {
51
+ lanephasedir.direction = motorobj.direction
52
+ }
53
+ if (motorobj.peddirection) {
54
+ lanephasedir.peddirection = motorobj.peddirection
55
+ }
56
+ if (TempLaneMap.get(motorphaseid) === undefined) {
57
+ TempLaneMap.set(motorphaseid, lanephasedir)
58
+ } else {
59
+ // 若有别的渠化车道关联了此相位,需要和当前渠化车道的方向叠加
60
+ let laneassociatedphase = TempLaneMap.get(motorphaseid)
61
+ if (motorobj.direction) {
62
+ laneassociatedphase.direction = Array.from(new Set([...laneassociatedphase.direction, ...motorobj.direction]))
63
+ }
64
+ if (motorobj.peddirection) {
65
+ laneassociatedphase.peddirection = Array.from(new Set([...laneassociatedphase.peddirection, ...motorobj.peddirection]))
66
+ }
67
+ TempLaneMap.set(motorphaseid, laneassociatedphase)
68
+ }
69
+ }
70
+ }
71
+ console.log(TempLaneMap)
72
+ return this.createTempAssophaseList(TempLaneMap)
73
+ }
74
+ updateLanePhaseAssociatedMap (Motorways) {
75
+ // 渠化图车道数据,更新key为phaseid的Map
76
+ this.lanecommonphaseMap = new Map()
77
+ let curMotorways = JSON.parse(JSON.stringify(Motorways))
78
+ for (let i = 0; i < curMotorways.length; i++) {
79
+ let motorobj = curMotorways[i]
80
+ let motorphaseid = motorobj.phaseid
81
+ if (motorphaseid !== undefined) {
82
+ // 处理已经关联了相位的渠化车道
83
+ // motorphaseid !== undefined 证明已经关联相位,以此生成关联列表,数据驱动就不用处理删除修改等情况
84
+ let lanephasedir = {}
85
+ if (motorobj.direction) {
86
+ lanephasedir.direction = motorobj.direction
87
+ }
88
+ if (motorobj.peddirection) {
89
+ lanephasedir.peddirection = motorobj.peddirection
90
+ }
91
+ if (this.lanecommonphaseMap.get(motorphaseid) === undefined) {
92
+ this.lanecommonphaseMap.set(motorphaseid, lanephasedir)
93
+ } else {
94
+ // 若有别的渠化车道关联了此相位,需要和当前渠化车道的方向叠加
95
+ let laneassociatedphase = this.lanecommonphaseMap.get(motorphaseid)
96
+ if (motorobj.direction) {
97
+ laneassociatedphase.direction = Array.from(new Set([...laneassociatedphase.direction, ...motorobj.direction]))
98
+ }
99
+ if (motorobj.peddirection) {
100
+ laneassociatedphase.peddirection = Array.from(new Set([...laneassociatedphase.peddirection, ...motorobj.peddirection]))
101
+ }
102
+ this.lanecommonphaseMap.set(motorphaseid, laneassociatedphase)
103
+ }
104
+ }
105
+ }
106
+ console.log('lanecommonphaseMap', this.lanecommonphaseMap)
107
+ this.updateAssophaseList()
108
+ }
109
+ checkSameDirectionPhase (curlanedirection, choosephaseid, lastchoosephaseid, tempMotorways, editobj) {
110
+ // 校验同方向车道关联相位
111
+ // 1. lastchoosephaseid不存在,说明是车道首次关联相位:
112
+ // 仅需判断当前相位列表AssophaseList中,相位id !== choosephaseid的相位数据中,direction若包含curlanedirection其中一个方向,则校验不通过
113
+ // 2. lastchoosephaseid存在,说明车道是切换相位关联:
114
+ // 情况稍微复杂一些,需要创建一个临时车道关联数据,保存把当前车道方向关联当前选择的相位后,临时生成tempAssophaseList
115
+ // 再判断tempAssophaseList中,相位id !== choosephaseid的相位数据,direction是否包含车道所选择的方向
116
+ let checkSame = true
117
+ if (!lastchoosephaseid) {
118
+ for (let i = 0; i < this.associatedphaselist.length; i++) {
119
+ let phaseid = this.associatedphaselist[i].id
120
+ let direction = this.associatedphaselist[i].direction
121
+ if (phaseid !== choosephaseid) {
122
+ for (let j = 0; j < curlanedirection.length; j++) {
123
+ if (direction.indexOf(curlanedirection[j]) !== -1) {
124
+ checkSame = false
125
+ }
126
+ }
127
+ }
128
+ }
129
+ } else {
130
+ let TempAssociatedphaselist = this.createTempLanePhase(tempMotorways, editobj, choosephaseid)
131
+ console.log('TempAssociatedphaselist', TempAssociatedphaselist)
132
+ for (let i = 0; i < TempAssociatedphaselist.length; i++) {
133
+ let phaseid = TempAssociatedphaselist[i].id
134
+ let direction = TempAssociatedphaselist[i].direction
135
+ if (phaseid !== choosephaseid) {
136
+ for (let j = 0; j < curlanedirection.length; j++) {
137
+ if (direction.indexOf(curlanedirection[j]) !== -1) {
138
+ checkSame = false
139
+ }
140
+ }
141
+ }
142
+ }
143
+ }
144
+ return checkSame
145
+ }
146
+ changeItem (row, fieldarr, data) {
147
+ for (let item of data) {
148
+ if (item.index === row.index) {
149
+ for (let field of fieldarr) {
150
+ item[field] = row[field]
151
+ }
152
+ }
153
+ }
154
+ }
155
+ ArrToMap (Arr) {
156
+ let phaseMap = new Map()
157
+ for (let i = 0; i < Arr.length; i++) {
158
+ phaseMap.set(Arr[i].id, Arr[i])
159
+ }
160
+ return phaseMap
161
+ }
162
+ createTempAssophaseList (TempLaneMap) {
163
+ let TempAssociatedphaselist = []
164
+ let TempAssociatedphaseMap = new Map()
165
+ TempAssociatedphaseMap = this.ArrToMap(JSON.parse(JSON.stringify(this.originphaselist)))
166
+ for (let [key, value] of TempAssociatedphaseMap) {
167
+ if (TempLaneMap.get(key)) {
168
+ // 渠化车道如果关联此相位,要把渠化车道的方向覆盖初始相位的方向
169
+ let lanevalue = TempLaneMap.get(key)
170
+ value.direction = lanevalue.direction
171
+ }
172
+ }
173
+ TempAssociatedphaselist = this.MapToArray(TempAssociatedphaseMap)
174
+ return TempAssociatedphaselist
175
+ }
176
+ updateAssophaseList () {
177
+ // 根据动态变化的渠化车道关联列表+初始上载的相位列表(包含处理后续相位的增删操作,也是变化的),
178
+ // 被渠化关联的相位direction被渠化组合方向替换,
179
+ // 未被关联的相位direction还是初始相位方向
180
+ this.associatedphaselist = []
181
+ this.associatedphaseMap = this.ArrToMap(JSON.parse(JSON.stringify(this.originphaselist)))
182
+ for (let [key, value] of this.associatedphaseMap) {
183
+ if (this.lanecommonphaseMap.get(key)) {
184
+ // 渠化车道如果关联此相位,要把渠化车道的方向覆盖初始相位的方向
185
+ let lanevalue = this.lanecommonphaseMap.get(key)
186
+ value.direction = lanevalue.direction
187
+ }
188
+ }
189
+ console.log('associatedphaseMap', this.associatedphaseMap)
190
+ this.associatedphaselist = this.MapToArray(this.associatedphaseMap)
191
+ console.log('associatedphaselist', this.associatedphaselist)
192
+ store.dispatch('SetAssociatedPhaseList', this.associatedphaselist)
193
+ }
194
+ MapToArray (Map) {
195
+ let arr = []
196
+ for (let [key, value] of Map) {
197
+ let phaseinfo = {
198
+ id: key,
199
+ ...value
200
+ }
201
+ arr.push(phaseinfo)
202
+ }
203
+ return arr
204
+ }
205
+ increaseId () { // 实现id在之前的基础上寻找最小的
206
+ let phaseIdList = this.originphaselist.map(ele => ele.id)
207
+ let i = this.originphaselist.length - 1
208
+ if (i >= 0) {
209
+ for (let j = 1; j <= 40; j++) {
210
+ if (!phaseIdList.includes(j)) {
211
+ this.id = j
212
+ return
213
+ }
214
+ }
215
+ }
216
+ }
217
+ addOriginPhase () {
218
+ this.increaseId()
219
+ var phaseInitData = {
220
+ id: this.id,
221
+ direction: [],
222
+ peddirection: [], // 行人方向
223
+ mingreen: 0,
224
+ max1: 120,
225
+ max2: 180,
226
+ passage: 3,
227
+ phasewalk: 0,
228
+ pedclear: 0,
229
+ yellow: 3,
230
+ redclear: 2,
231
+ flashgreen: 0,
232
+ redyellow: 0,
233
+ ring: 1,
234
+ greenpulse: 5,
235
+ redpulse: 10,
236
+ vehiclethresh: 30,
237
+ pedestrianthresh: 30,
238
+ controltype: 0, // 控制类型
239
+ concurrent: []
240
+ }
241
+ this.originphaselist.push(phaseInitData)
242
+ // 重新排序相位数组
243
+ this.originphaselist.sort(this.compareProperty('id'))
244
+ this.updateAssophaseList()
245
+ }
246
+ compareProperty (property) {
247
+ return function (a, b) {
248
+ var value1 = a[property]
249
+ var value2 = b[property]
250
+ return value1 - value2
251
+ }
252
+ }
253
+ deleteOriginPhase (index) {
254
+ this.originphaselist.splice(index, 1)
255
+ }
256
+ editDirPosToPhaseDireaciton (laneDirArr, lanePos) {
257
+ // 编辑的车道转向和方位,转化成相位的direction
258
+ let phaseDireacitonArr = laneDirArr.map(lanedir => {
259
+ if (lanePos === 1) {
260
+ // 东
261
+ return lanedir
262
+ }
263
+ if (lanePos === 2) {
264
+ // 西
265
+ return 4 * 1 + lanedir
266
+ }
267
+ if (lanePos === 3) {
268
+ // 南
269
+ return 4 * 3 + lanedir
270
+ }
271
+ if (lanePos === 4) {
272
+ // 北
273
+ return 4 * 2 + lanedir
274
+ }
275
+ })
276
+ return phaseDireacitonArr
277
+ }
278
+ }