openatc-components 0.4.7 → 0.4.8

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 (509) 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 +114 -114
  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 -128
  23. package/package/kisscomps/components/BoardCard/index.js +2 -2
  24. package/package/kisscomps/components/ChannelRealtimeIntersection/ChannelRealtimeIntersection.vue +123 -123
  25. package/package/kisscomps/components/ChannelRealtimeIntersection/index.js +2 -2
  26. package/package/kisscomps/components/Channelization/Channelization.vue +584 -584
  27. package/package/kisscomps/components/Channelization/index.js +2 -2
  28. package/package/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  29. package/package/kisscomps/components/ChannelizationFlowStatistic/index.js +2 -2
  30. package/package/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  31. package/package/kisscomps/components/ChannelizationWithInterface/index.js +2 -2
  32. package/package/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  33. package/package/kisscomps/components/CommonKanban/index.js +2 -2
  34. package/package/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +456 -456
  35. package/package/kisscomps/components/DirectionListConfiguration/index.js +2 -2
  36. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  37. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  38. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  39. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  40. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  41. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  42. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  43. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  44. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  45. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  46. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  47. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  48. package/package/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  49. package/package/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  50. package/package/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  51. package/package/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  52. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  53. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  54. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  55. package/package/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  56. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  57. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  58. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  59. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  60. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  61. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  62. package/package/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  63. package/package/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +1005 -1005
  64. package/package/kisscomps/components/DrawChannelization/drawsvg/index.vue +110 -110
  65. package/package/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  66. package/package/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  67. package/package/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.vue +172 -172
  68. package/package/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  69. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  70. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  71. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  72. package/package/kisscomps/components/DrawChannelization/index.js +2 -2
  73. package/package/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  74. package/package/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  75. package/package/kisscomps/components/ExpendConfig/index.js +2 -2
  76. package/package/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  77. package/package/kisscomps/components/FaultDetailModal/index.js +2 -2
  78. package/package/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +158 -158
  79. package/package/kisscomps/components/IntersectionDirectionSelection/index.js +2 -2
  80. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +629 -629
  81. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  82. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  83. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  84. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  85. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  86. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  87. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  88. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +1302 -1302
  89. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  90. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +498 -498
  91. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +484 -484
  92. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +488 -488
  93. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +566 -566
  94. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  95. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  96. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  97. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  98. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  99. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  100. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  101. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  102. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  103. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  104. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  105. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +1451 -1451
  106. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +197 -197
  107. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +196 -196
  108. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  109. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  110. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  111. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +115 -115
  112. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  113. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  114. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +219 -219
  115. package/package/kisscomps/components/IntersectionMap/crossDirection/utils.js +84 -84
  116. package/package/kisscomps/components/IntersectionMap/index.js +2 -2
  117. package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +220 -220
  118. package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +534 -534
  119. package/package/kisscomps/components/IntersectionWithInterface/index.js +2 -2
  120. package/package/kisscomps/components/KanBan/index.js +2 -2
  121. package/package/kisscomps/components/KanBan/kanban.vue +231 -231
  122. package/package/kisscomps/components/MessageBox/index.vue +96 -96
  123. package/package/kisscomps/components/OptimizeKanban/index.js +2 -0
  124. package/package/kisscomps/components/OptimizeKanban/index.vue +369 -0
  125. package/package/kisscomps/components/OverLap/OverLap.vue +237 -237
  126. package/package/kisscomps/components/OverLap/index.js +2 -2
  127. package/package/kisscomps/components/OverviewComponent/index.js +2 -2
  128. package/package/kisscomps/components/OverviewComponent/index.vue +798 -798
  129. package/package/kisscomps/components/PatternOptimize/PatternOptimize.vue +286 -286
  130. package/package/kisscomps/components/PatternOptimize/index.js +2 -2
  131. package/package/kisscomps/components/PatternStatus/PatternStatus.vue +1770 -1750
  132. package/package/kisscomps/components/PatternStatus/index.js +2 -2
  133. package/package/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  134. package/package/kisscomps/components/PatternWalkSvg/index.js +2 -2
  135. package/package/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  136. package/package/kisscomps/components/PhaseDirectionSelect/index.js +2 -2
  137. package/package/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  138. package/package/kisscomps/components/PhaseDirectionText/index.js +2 -2
  139. package/package/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  140. package/package/kisscomps/components/PhaseLegend/index.js +2 -2
  141. package/package/kisscomps/components/PhaseMarker/index.js +6 -6
  142. package/package/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  143. package/package/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  144. package/package/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  145. package/package/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  146. package/package/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  147. package/package/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  148. package/package/kisscomps/components/PhasePedSelect/index.js +2 -2
  149. package/package/kisscomps/components/PhasePedSelect/index.vue +206 -206
  150. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +1005 -1005
  151. package/package/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +364 -364
  152. package/package/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  153. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  154. package/package/kisscomps/components/SchemeConfig/index.js +2 -2
  155. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  156. package/package/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  157. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  158. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/icon.vue +470 -470
  159. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +868 -868
  160. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  161. package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  162. package/package/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  163. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +303 -303
  164. package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +1207 -1207
  165. package/package/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  166. package/package/kisscomps/components/SelectCrossPhase/index.vue +418 -418
  167. package/package/kisscomps/components/SelectCrossPhase/utils.js +142 -142
  168. package/package/kisscomps/components/StageBord/StageBord.vue +303 -303
  169. package/package/kisscomps/components/StageBord/index.js +2 -2
  170. package/package/kisscomps/components/StageOptimize/StageOptimize.vue +315 -315
  171. package/package/kisscomps/components/StageOptimize/index.js +2 -2
  172. package/package/kisscomps/components/StageOptimize/index.vue +310 -0
  173. package/package/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  174. package/package/kisscomps/components/StageStatus/index.js +2 -2
  175. package/package/kisscomps/components/Stages/index.vue +319 -319
  176. package/package/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  177. package/package/kisscomps/components/SvgIcon/index.js +2 -2
  178. package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +1041 -1041
  179. package/package/kisscomps/components/XRDDirSelector/index.js +2 -2
  180. package/package/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  181. package/package/kisscomps/components/XiaoKanban/index.vue +122 -122
  182. package/package/kisscomps/components/overView/index.vue +676 -676
  183. package/package/kisscomps/components/patternConfig/index.js +2 -2
  184. package/package/kisscomps/components/patternConfig/index.vue +798 -798
  185. package/package/kisscomps/components/patternConfig/pattern/patternTable.vue +599 -599
  186. package/package/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  187. package/package/kisscomps/components/patternConfig/planContent.vue +604 -604
  188. package/package/kisscomps/components/patternConfig/planMenu.vue +329 -329
  189. package/package/kisscomps/components/patternConfig/utils.js +152 -152
  190. package/package/kisscomps/components/patternList/index.js +2 -2
  191. package/package/kisscomps/components/patternList/patternList.vue +606 -601
  192. package/package/kisscomps/index.js +131 -131
  193. package/package/kissui.min.js +1 -1
  194. package/package.json +126 -126
  195. package/src/App.vue +24 -24
  196. package/src/EdgeMgr/EdgeModelBase.js +16 -16
  197. package/src/EdgeMgr/controller/crossDiagramMgr.js +125 -125
  198. package/src/api/authapi.js +31 -31
  199. package/src/api/config.js +21 -21
  200. package/src/api/control.js +110 -110
  201. package/src/api/cross.js +49 -49
  202. package/src/api/device.js +135 -135
  203. package/src/api/fault.js +66 -66
  204. package/src/api/index.js +24 -24
  205. package/src/api/login.js +46 -46
  206. package/src/api/optimize.js +72 -72
  207. package/src/api/param.js +165 -165
  208. package/src/api/passwdAssest.js +101 -101
  209. package/src/api/permission.js +33 -33
  210. package/src/api/route.js +171 -171
  211. package/src/api/template.js +27 -27
  212. package/src/assets/font/LICENSE.txt +202 -202
  213. package/src/assets/font/font.css +6 -6
  214. package/src/i18n/index.js +26 -26
  215. package/src/i18n/language/en.js +1474 -1474
  216. package/src/i18n/language/index.js +25 -25
  217. package/src/i18n/language/zh.js +1474 -1474
  218. package/src/icons/demo_index.html +8445 -8445
  219. package/src/icons/iconfont.css +1451 -1451
  220. package/src/icons/iconfont.json +2522 -2522
  221. package/src/icons/index.js +20 -20
  222. package/src/icons/svg/azimuthlocking.svg +26 -26
  223. package/src/icons/svg/bendi.svg +110 -110
  224. package/src/icons/svg/bujin.svg +36 -36
  225. package/src/icons/svg/connectBlue.svg +7 -7
  226. package/src/icons/svg/currentvolume.svg +0 -0
  227. package/src/icons/svg/custom-BRTlane.svg +40 -40
  228. package/src/icons/svg/custom-buslane.svg +40 -40
  229. package/src/icons/svg/custom-detector.svg +12 -12
  230. package/src/icons/svg/custom-east-bottom.svg +32 -32
  231. package/src/icons/svg/custom-east-top.svg +32 -32
  232. package/src/icons/svg/custom-ewped.svg +35 -35
  233. package/src/icons/svg/custom-nonmotorizedlane.svg +40 -40
  234. package/src/icons/svg/custom-north-left.svg +32 -32
  235. package/src/icons/svg/custom-north-right.svg +32 -32
  236. package/src/icons/svg/custom-peddetector.svg +17 -17
  237. package/src/icons/svg/custom-snped.svg +35 -35
  238. package/src/icons/svg/custom-south-left.svg +32 -32
  239. package/src/icons/svg/custom-south-right.svg +32 -32
  240. package/src/icons/svg/custom-tramlane.svg +40 -40
  241. package/src/icons/svg/custom-vehiclebranch.svg +40 -40
  242. package/src/icons/svg/custom-vehiclemainroad.svg +41 -41
  243. package/src/icons/svg/custom-west-bottom.svg +32 -32
  244. package/src/icons/svg/custom-west-top.svg +32 -32
  245. package/src/icons/svg/custom-xlped.svg +14 -14
  246. package/src/icons/svg/custom-xrped.svg +14 -14
  247. package/src/icons/svg/cutRed.svg +7 -7
  248. package/src/icons/svg/cycle.svg +0 -0
  249. package/src/icons/svg/dingzhouqi.svg +34 -34
  250. package/src/icons/svg/ganyingkongzhi.svg +30 -30
  251. package/src/icons/svg/guandeng.svg +81 -81
  252. package/src/icons/svg/huangshan.svg +71 -71
  253. package/src/icons/svg/maincontrol.svg +0 -0
  254. package/src/icons/svg/manualcontrolbackground.svg +51 -51
  255. package/src/icons/svg/manualcontrolbackground1.svg +62 -62
  256. package/src/icons/svg/manualcontrolbackgrounden.svg +62 -62
  257. package/src/icons/svg/model.svg +0 -0
  258. package/src/icons/svg/phasediff.svg +0 -0
  259. package/src/icons/svg/prioritycontrol.svg +21 -21
  260. package/src/icons/svg/quanhong.svg +86 -86
  261. package/src/icons/svg/shanghe.svg +11 -11
  262. package/src/icons/svg/shoudong.svg +103 -103
  263. package/src/icons/svg/tentativeplan.svg +28 -28
  264. package/src/icons/svg/time.svg +0 -0
  265. package/src/icons/svg/wuxianlan.svg +46 -46
  266. package/src/icons/svg/xiala.svg +11 -11
  267. package/src/icons/svg/xingrenguojie.svg +33 -33
  268. package/src/icons/svg/xitong.svg +89 -89
  269. package/src/icons/svg/youxian.svg +41 -41
  270. package/src/icons/svg/zizhukongzhi.svg +43 -43
  271. package/src/kisscomps/components/BoardCard/BoardCard.vue +133 -128
  272. package/src/kisscomps/components/BoardCard/index.js +2 -2
  273. package/src/kisscomps/components/ChannelRealtimeIntersection/ChannelRealtimeIntersection.vue +123 -123
  274. package/src/kisscomps/components/ChannelRealtimeIntersection/index.js +2 -2
  275. package/src/kisscomps/components/Channelization/Channelization.vue +584 -584
  276. package/src/kisscomps/components/Channelization/index.js +2 -2
  277. package/src/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  278. package/src/kisscomps/components/ChannelizationFlowStatistic/index.js +2 -2
  279. package/src/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  280. package/src/kisscomps/components/ChannelizationWithInterface/index.js +2 -2
  281. package/src/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  282. package/src/kisscomps/components/CommonKanban/index.js +2 -2
  283. package/src/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +456 -456
  284. package/src/kisscomps/components/DirectionListConfiguration/index.js +2 -2
  285. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  286. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  287. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  288. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  289. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  290. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  291. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  292. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  293. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  294. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  295. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  296. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  297. package/src/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  298. package/src/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  299. package/src/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  300. package/src/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  301. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  302. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  303. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  304. package/src/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  305. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  306. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  307. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  308. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  309. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  310. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  311. package/src/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  312. package/src/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +1005 -1005
  313. package/src/kisscomps/components/DrawChannelization/drawsvg/index.vue +110 -110
  314. package/src/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  315. package/src/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  316. package/src/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.vue +172 -172
  317. package/src/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  318. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  319. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  320. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  321. package/src/kisscomps/components/DrawChannelization/index.js +2 -2
  322. package/src/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  323. package/src/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  324. package/src/kisscomps/components/ExpendConfig/index.js +2 -2
  325. package/src/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  326. package/src/kisscomps/components/FaultDetailModal/index.js +2 -2
  327. package/src/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +158 -158
  328. package/src/kisscomps/components/IntersectionDirectionSelection/index.js +2 -2
  329. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +629 -629
  330. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  331. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  332. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  333. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  334. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  335. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  336. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  337. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +1302 -1302
  338. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  339. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +498 -498
  340. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +484 -484
  341. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +488 -488
  342. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +566 -566
  343. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  344. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  345. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  346. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  347. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  348. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  349. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  350. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  351. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  352. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  353. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  354. package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +1451 -1451
  355. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +197 -197
  356. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +196 -196
  357. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  358. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  359. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  360. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +115 -115
  361. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  362. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  363. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +219 -219
  364. package/src/kisscomps/components/IntersectionMap/crossDirection/utils.js +84 -84
  365. package/src/kisscomps/components/IntersectionMap/index.js +2 -2
  366. package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +220 -220
  367. package/src/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +534 -534
  368. package/src/kisscomps/components/IntersectionWithInterface/index.js +2 -2
  369. package/src/kisscomps/components/KanBan/index.js +2 -2
  370. package/src/kisscomps/components/KanBan/kanban.vue +231 -231
  371. package/src/kisscomps/components/MessageBox/index.vue +96 -96
  372. package/src/kisscomps/components/OverLap/OverLap.vue +237 -237
  373. package/src/kisscomps/components/OverLap/index.js +2 -2
  374. package/src/kisscomps/components/OverviewComponent/index.js +2 -2
  375. package/src/kisscomps/components/OverviewComponent/index.vue +798 -798
  376. package/src/kisscomps/components/PatternOptimize/PatternOptimize.vue +286 -286
  377. package/src/kisscomps/components/PatternOptimize/index.js +2 -2
  378. package/src/kisscomps/components/PatternStatus/PatternStatus.vue +1770 -1750
  379. package/src/kisscomps/components/PatternStatus/index.js +2 -2
  380. package/src/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  381. package/src/kisscomps/components/PatternWalkSvg/index.js +2 -2
  382. package/src/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  383. package/src/kisscomps/components/PhaseDirectionSelect/index.js +2 -2
  384. package/src/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  385. package/src/kisscomps/components/PhaseDirectionText/index.js +2 -2
  386. package/src/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  387. package/src/kisscomps/components/PhaseLegend/index.js +2 -2
  388. package/src/kisscomps/components/PhaseMarker/index.js +6 -6
  389. package/src/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  390. package/src/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  391. package/src/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  392. package/src/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  393. package/src/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  394. package/src/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  395. package/src/kisscomps/components/PhasePedSelect/index.js +2 -2
  396. package/src/kisscomps/components/PhasePedSelect/index.vue +206 -206
  397. package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +1005 -1005
  398. package/src/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +364 -364
  399. package/src/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  400. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  401. package/src/kisscomps/components/SchemeConfig/index.js +2 -2
  402. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  403. package/src/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  404. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  405. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/icon.vue +470 -470
  406. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +868 -868
  407. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  408. package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  409. package/src/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  410. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +303 -303
  411. package/src/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +1207 -1207
  412. package/src/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  413. package/src/kisscomps/components/SelectCrossPhase/index.vue +418 -418
  414. package/src/kisscomps/components/SelectCrossPhase/utils.js +142 -142
  415. package/src/kisscomps/components/StageBord/StageBord.vue +303 -303
  416. package/src/kisscomps/components/StageBord/index.js +2 -2
  417. package/src/kisscomps/components/StageOptimize/StageOptimize.vue +315 -315
  418. package/src/kisscomps/components/StageOptimize/index.js +2 -2
  419. package/src/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  420. package/src/kisscomps/components/StageStatus/index.js +2 -2
  421. package/src/kisscomps/components/Stages/index.vue +319 -319
  422. package/src/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  423. package/src/kisscomps/components/SvgIcon/index.js +2 -2
  424. package/src/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +1041 -1041
  425. package/src/kisscomps/components/XRDDirSelector/index.js +2 -2
  426. package/src/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  427. package/src/kisscomps/components/XiaoKanban/index.vue +122 -122
  428. package/src/kisscomps/components/overView/index.vue +676 -676
  429. package/src/kisscomps/components/patternConfig/index.js +2 -2
  430. package/src/kisscomps/components/patternConfig/index.vue +798 -798
  431. package/src/kisscomps/components/patternConfig/pattern/patternTable.vue +599 -599
  432. package/src/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  433. package/src/kisscomps/components/patternConfig/planContent.vue +604 -604
  434. package/src/kisscomps/components/patternConfig/planMenu.vue +329 -329
  435. package/src/kisscomps/components/patternConfig/utils.js +152 -152
  436. package/src/kisscomps/components/patternList/index.js +2 -2
  437. package/src/kisscomps/components/patternList/patternList.vue +606 -601
  438. package/src/kisscomps/index.js +131 -131
  439. package/src/lib/publicjs/ArryListUtil.js +38 -38
  440. package/src/lib/publicjs/HttpurlMgr.js +45 -45
  441. package/src/lib/publicjs/KissApi.js +158 -158
  442. package/src/lib/publicjs/KissWSSub/Heartcheck.js +128 -128
  443. package/src/lib/publicjs/KissWSSub/KissWsSub.js +91 -91
  444. package/src/lib/publicjs/KissWSSub/KissWsSubByType.js +152 -152
  445. package/src/lib/publicjs/KissWSSub/SimuWsSubByType.js +44 -44
  446. package/src/lib/publicjs/KissWSSub/Sub.js +51 -51
  447. package/src/lib/publicjs/KissWSSub/SubChannel.js +119 -119
  448. package/src/lib/publicjs/basecomponents.js +65 -65
  449. package/src/lib/publicjs/localStorage.js +112 -112
  450. package/src/lib/publicjs/objdeepcopy.js +32 -32
  451. package/src/lib/publicjs/pageScroll.js +30 -30
  452. package/src/lib/publicjs/passwdAssest.js +101 -101
  453. package/src/lib/publicjs/styleclassfactory.js +32 -32
  454. package/src/main.js +51 -51
  455. package/src/node_modules/.package_versions.json +1 -0
  456. package/src/router/index.js +63 -63
  457. package/src/store/getters.js +16 -16
  458. package/src/store/index.js +26 -26
  459. package/src/store/modules/globalParam.js +67 -67
  460. package/src/utils/ControlFormat.js +68 -68
  461. package/src/utils/RingDataModel.js +335 -335
  462. package/src/utils/auth.js +199 -199
  463. package/src/utils/conflct.js +268 -268
  464. package/src/utils/conflictList.js +87 -87
  465. package/src/utils/dateFormat.js +41 -41
  466. package/src/utils/errorcode.js +227 -227
  467. package/src/utils/fault.js +196 -196
  468. package/src/utils/faultcode.js +209 -209
  469. package/src/utils/index.js +69 -69
  470. package/src/utils/pedphasedesc.js +119 -119
  471. package/src/utils/phaseList.js +203 -203
  472. package/src/utils/phasedesc.js +144 -144
  473. package/src/utils/responseMessage.js +21 -21
  474. package/src/utils/validate.js +43 -43
  475. package/src/views/customchannelization.vue +49 -49
  476. package/src/views/home.1.vue +479 -479
  477. package/src/views/home.vue +93 -93
  478. package/src/views/intersection.vue +522 -522
  479. package/src/views/intersection2.vue +328 -328
  480. package/src/views/overView.vue +63 -63
  481. package/src/views/patternConfig.vue +14792 -14792
  482. package/src/views/schemeconfig.vue +206 -206
  483. package/static/apiconfig.json +461 -461
  484. package/static/styles/channelizatioon.scss +433 -433
  485. package/static/styles/common.scss +30 -30
  486. package/static/styles/commonkanban.scss +168 -168
  487. package/static/styles/dark/index.scss +2 -2
  488. package/static/styles/dark/theme/element-dark.scss +44 -44
  489. package/static/styles/index.scss +84 -84
  490. package/static/styles/intersection.scss +180 -180
  491. package/static/styles/light/index.scss +2 -2
  492. package/static/styles/light/theme/element-light.scss +44 -44
  493. package/static/styles/overview.scss +146 -146
  494. package/static/styles/patternConfig.scss +56 -56
  495. package/static/styles/phasePedSelect.scss +71 -71
  496. package/static/styles/schemeconfig.scss +552 -552
  497. package/static/styles/stages.scss +57 -57
  498. package/static/styles/uiComponents.scss +57 -57
  499. package/static/styles/xiaokanban.scss +61 -61
  500. package/static/token.json +2 -2
  501. package/test/e2e/custom-assertions/elementCount.js +27 -27
  502. package/test/e2e/nightwatch.conf.js +46 -46
  503. package/test/e2e/runner.js +48 -48
  504. package/test/e2e/specs/test.js +19 -19
  505. package/test/unit/.eslintrc +7 -7
  506. package/test/unit/jest.conf.js +30 -30
  507. package/test/unit/setup.js +3 -3
  508. package/test/unit/specs/HelloWorld.spec.js +11 -11
  509. package/package/kissui.js +0 -216608
@@ -1,456 +1,456 @@
1
- /**
2
- * Copyright (c) 2020 kedacom
3
- * OpenATC is licensed under Mulan PSL v2.
4
- * You can use this software according to the terms and conditions of the Mulan PSL v2.
5
- * You may obtain a copy of Mulan PSL v2 at:
6
- * http://license.coscl.org.cn/MulanPSL2
7
- * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
8
- * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
9
- * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
10
- * See the Mulan PSL v2 for more details.
11
- **/
12
- <template>
13
- <div class="direction-list-configuration">
14
- <div class="dir-config-row">
15
- <div class="label" :style="{width: labelWidth}">{{$t('openatccomponents.phase.desc')}}:</div>
16
- <div class="dir-btn lane-dir">
17
- <div class="each-icon" v-for="(item, index) in laneList" :key="index" :class="item.disabled ? 'disabled-icon': ''">
18
- <el-tooltip class="item" effect="dark" :content="item.name" placement="bottom-start">
19
- <div class="single-icon"
20
- @click="selectDire(item, 'lane')"
21
- :class="!item.disabled && preselectDirection.indexOf(item.id) !== -1 ? 'single-icon-select' : ''">
22
- <i :class="item.iconclass"></i>
23
- <div class="single-icon-name">{{item.name}}</div>
24
- </div>
25
- </el-tooltip>
26
- </div>
27
- </div>
28
- </div>
29
- <div class="dir-config-row">
30
- <div class="label" :style="{width: labelWidth}">{{$t('openatccomponents.phase.peddesc')}}:</div>
31
- <div class="dir-btn ped-dir">
32
- <div class="each-icon" v-for="(item, index) in pedList" :key="index" :class="item.disabled ? 'disabled-icon': ''">
33
- <el-tooltip class="item" effect="dark" :content="item.name" placement="bottom-start">
34
- <div class="single-icon ped-icon"
35
- @click="selectDire(item, 'ped')"
36
- :class="!item.disabled && preselectPedDirection.indexOf(item.id) !== -1 ? 'single-icon-select' : ''">
37
- <PedSvg :pedId="item.id" />
38
- <div class="single-icon-name" style="margin-top: 5px;">{{item.name}}</div>
39
- </div>
40
- </el-tooltip>
41
- </div>
42
- </div>
43
- </div>
44
- </div>
45
- </template>
46
- <script>
47
- import xdrdirselector from '../XRDDirSelector/XRDDirSelector'
48
- import { uploadSingleTscParam } from '../../../api/param.js'
49
- import { getMessageByCode } from '../../../utils/responseMessage.js'
50
- // import { getIntersectionInfo } from '../../../api/template.js'
51
- import CrossDiagramMgr from '../../../EdgeMgr/controller/crossDiagramMgr.js'
52
- import PhaseDataModel from '../IntersectionMap/crossDirection/utils.js'
53
- // import { getTheme } from '../../../utils/auth'
54
- import { images } from '../../../utils/phasedesc.js'
55
- import PedSvg from './svg/pedSvg'
56
-
57
- import CrossDirectionConflictList from '../../../utils/conflictList.js'
58
-
59
- export default {
60
- name: 'direction-list-configuration',
61
- data () {
62
- return {
63
- laneList: [],
64
- pedList: [],
65
- preselectDirection: [], // 预选方向
66
- preselectPedDirection: [] // 预选行人方向
67
- }
68
- },
69
- components: {
70
- xdrdirselector,
71
- PedSvg
72
- },
73
- props: {
74
- labelWidth: {
75
- type: String,
76
- default: '130px'
77
- },
78
- agentId: {
79
- type: String
80
- },
81
- list: {
82
- type: Array,
83
- default () {
84
- return []
85
- }
86
- },
87
- roadDirection: {
88
- type: String,
89
- default: 'right'
90
- },
91
- isThirdSignal: {
92
- type: Boolean,
93
- default: false
94
- },
95
- choosedDirection: {
96
- type: Array
97
- },
98
- choosedPedDirection: {
99
- type: Array
100
- }
101
- },
102
- methods: {
103
- init (IntersectionInfo) {
104
- this.CrossDiagramMgr = new CrossDiagramMgr()
105
- this.PhaseDataModel = new PhaseDataModel(this.roadDirection)
106
- this.getIntersectionInfo(IntersectionInfo) // 获取路口信息
107
- },
108
- getIntersectionInfo (res) {
109
- // 获取路口信息
110
- // const agentid = this.agentId || '0'
111
- // getIntersectionInfo(agentid).then(res => {
112
- // if (!res.data.success) {
113
- // this.isLoaded = false
114
- // let commomMsg = this.$t('openatccomponents.overview.signalID') + ' : ' + agentid
115
- // let msg = getMessageByCode(res.data.code, this.$i18n.locale)
116
- // if (res.data.data) {
117
- // // 子类型错误
118
- // let childErrorCode = res.data.data.errorCode
119
- // if (childErrorCode) {
120
- // let childerror = getMessageByCode(res.data.data.errorCode, this.$i18n.locale)
121
- // msg = msg + ' - ' + childerror
122
- // }
123
- // }
124
- // msg = msg + ' - ' + commomMsg
125
- // this.$message.error(msg)
126
- // return
127
- // }
128
- this.tempType = res.data.data.type
129
- // 获取车道相位、行人相位信息(坐标、名称)
130
- this.mainType = this.tempType.split('-')[0]
131
- this.mainDirection = this.tempType.split('-')[1]
132
- if (!this.isThirdSignal) {
133
- // 可点击模式下,非第三方设备,按通道显示相位方向
134
- this.getChannelInfo()
135
- return
136
- }
137
- this.crossInfo = res.data.data.param
138
- // 城市道路加载车道相位坐标和人行道坐标
139
- this.getPhasePos()
140
- this.getOverlapPhasePos()
141
- this.getPedPhasePos()
142
- this.getOverlapPedPhasePos()
143
- if (this.isThirdSignal) {
144
- // 第三方设备,按相位方向显示相位方向
145
- this.compLanePhaseData = this.CrossDiagramMgr.compare(this.LanePhaseData, this.overlapLanePhaseData, 'type', 'nostatus')
146
- this.compSidewalkPhaseData = this.CrossDiagramMgr.compare(this.sidewalkPhaseData, this.overlapsidewalkPhaseData, 'pedtype', 'nostatus')
147
- let allDir = this.compLanePhaseData.map(ele => ele.id)
148
- let allPedDir = this.compSidewalkPhaseData.map(ele => ele.id)
149
- this.inneChoosedDirection = this.choosedDirection.filter(dir => allDir.indexOf(dir) !== -1)
150
- this.inneChoosedPedDirection = this.choosedPedDirection.filter(dir => allPedDir.indexOf(dir) !== -1)
151
- this.drawPhaseIcon()
152
- }
153
- // })
154
- },
155
- getPhasePos () {
156
- // 车道相位信息
157
- this.LanePhaseData = []
158
- this.crossInfo.phaseList.forEach((ele, i) => {
159
- if (ele.controltype === undefined || ele.controltype <= 2) {
160
- ele.direction.forEach((dir, index) => {
161
- let dirinfo = this.PhaseDataModel.getPhase(dir)
162
- if (dir <= 16) {
163
- // 车道相位
164
- this.LanePhaseData.push({
165
- key: this.CrossDiagramMgr.getUniqueKey('phase'),
166
- phaseid: ele.id, // 相位id,用于对应相位状态
167
- id: dir, // 接口返回的dir字段,对应前端定义的相位方向id,唯一标识
168
- name: dirinfo.name
169
- })
170
- }
171
- })
172
- }
173
- })
174
- },
175
- getOverlapPhasePos () {
176
- // 车道跟随相位信息
177
- if (!this.crossInfo.overlaplList) return
178
- this.overlapLanePhaseData = []
179
- this.crossInfo.overlaplList.forEach((ele, i) => {
180
- if (ele.direction) {
181
- ele.direction.forEach((dir, index) => {
182
- this.overlapLanePhaseData.push({
183
- key: this.CrossDiagramMgr.getUniqueKey('overlapphase'),
184
- phaseid: ele.id, // 相位id,用于对应相位状态
185
- id: dir, // 接口返回的dir字段,对应前端定义的相位方向id,唯一标识
186
- name: this.PhaseDataModel.getPhase(dir).name,
187
- left: this.PhaseDataModel.getPhase(dir).x,
188
- top: this.PhaseDataModel.getPhase(dir).y
189
- })
190
- })
191
- }
192
- })
193
- },
194
- getPedPhasePos () {
195
- // 行人相位信息
196
- this.sidewalkPhaseData = []
197
- this.crossInfo.phaseList.forEach((ele, i) => {
198
- if (ele.peddirection) {
199
- ele.peddirection.forEach((dir, index) => {
200
- // 行人相位
201
- let dirinfo = this.PhaseDataModel.getSidePos(dir)
202
- if (dir <= 16) {
203
- let key = this.CrossDiagramMgr.getUniqueKey('pedphase')
204
- if (this.isVipRoute && this.isThirdSignal) {
205
- key = this.CrossDiagramMgr.getUniqueKey('pedphase') + `-${this.agentId}`
206
- }
207
- this.sidewalkPhaseData.push({
208
- key,
209
- phaseid: ele.id, // 相位id,用于对应相位状态
210
- id: dir,
211
- name: dirinfo.name
212
- })
213
- }
214
- })
215
- }
216
- })
217
- },
218
- getOverlapPedPhasePos () {
219
- // 行人跟随相位信息
220
- if (!this.crossInfo.overlaplList) return
221
- this.overlapsidewalkPhaseData = []
222
- this.crossInfo.overlaplList.forEach((ele, i) => {
223
- if (ele.peddirection) {
224
- ele.peddirection.forEach((dir, index) => {
225
- if (this.PhaseDataModel.getSidePos(dir)) {
226
- this.overlapsidewalkPhaseData.push({
227
- key: this.CrossDiagramMgr.getUniqueKey('overlappedphase'),
228
- phaseid: ele.id, // 相位id,用于对应相位状态
229
- id: dir,
230
- name: this.PhaseDataModel.getSidePos(dir).name,
231
- left: this.PhaseDataModel.getSidePos(dir).x,
232
- top: this.PhaseDataModel.getSidePos(dir).y
233
- })
234
- }
235
- })
236
- }
237
- })
238
- },
239
- getChannelInfo () {
240
- uploadSingleTscParam('channel', this.agentId).then(data => {
241
- let res = data.data
242
- if (!res.success) {
243
- if (res.code === '4003') {
244
- this.$message.error(this.$t('openatccomponents.errorTip.devicenotonline'))
245
- return
246
- }
247
- this.$message.error(getMessageByCode(data.data.code, this.$i18n.locale))
248
- return
249
- }
250
- let channelList = res.data.data.channelList.filter(ele => ele.type !== undefined)
251
- this.channelList = this.handleRepeatRealdir(channelList)
252
- console.log('this.channelList', this.channelList)
253
- this.handleChannelDirection()
254
- })
255
- },
256
- handleRepeatRealdir (channelList) {
257
- let map = new Map()
258
- channelList.forEach(ele => {
259
- if (ele.realdir !== undefined && ele.realdir.length > 0) {
260
- ele.realdir.forEach(dir => {
261
- if (map.get(dir) === undefined) {
262
- map.set(dir, ele)
263
- }
264
- })
265
- }
266
- })
267
- let arr = Array.from(map)
268
- let newarr = []
269
- arr.forEach(ele => {
270
- newarr.push(ele[1])
271
- })
272
- // console.log(newarr)
273
- return newarr
274
- },
275
- handleChannelDirection () {
276
- this.LanePhaseData = []
277
- this.sidewalkPhaseData = []
278
- this.sidewalkDir = []
279
- let realphasedirarr = []
280
- let realpeddirarr = []
281
- this.channelList.forEach((ele, i) => {
282
- if (ele.type === 0 || ele.type === 1 || ele.type === 3) {
283
- if (ele.realdir) {
284
- ele.realdir.forEach((dir, index) => {
285
- let phaseinfo = this.PhaseDataModel.getPhase(dir)
286
- // 车道相位(通道类型是机动车,非机动车,公交时,对应相位机动车)
287
- this.LanePhaseData.push({
288
- key: this.CrossDiagramMgr.getUniqueKey('phase'),
289
- channelid: ele.id, // 通道id
290
- id: dir, // 接口返回的dir字段,对应前端定义的相位方向id,唯一标识
291
- name: this.$i18n.locale === 'en' ? phaseinfo.ename : phaseinfo.name
292
- })
293
- })
294
- realphasedirarr = Array.from(new Set(realphasedirarr.concat(ele.realdir)))
295
- }
296
- }
297
- if (ele.type === 2) {
298
- if (ele.realdir) {
299
- ele.realdir.forEach((dir, index) => {
300
- // 行人相位
301
- if (this.sidewalkDir.indexOf(dir) === -1 && this.PhaseDataModel.getSidePos(dir)) {
302
- let pedinfo = this.PhaseDataModel.getSidePos(dir)
303
- this.sidewalkPhaseData.push({
304
- key: this.CrossDiagramMgr.getUniqueKey('pedphase'),
305
- channelid: ele.id, // 通道id
306
- id: dir,
307
- name: this.$i18n.locale === 'en' ? pedinfo.ename : pedinfo.desc
308
- })
309
- }
310
- })
311
- realpeddirarr = Array.from(new Set(realpeddirarr.concat(ele.realdir)))
312
- this.sidewalkDir = Array.from(new Set([...this.sidewalkDir.concat(ele.realdir)]))
313
- }
314
- }
315
- })
316
- this.inneChoosedDirection = this.choosedDirection.filter(dir => realphasedirarr.indexOf(dir) !== -1)
317
- this.inneChoosedPedDirection = this.choosedPedDirection.filter(dir => realpeddirarr.indexOf(dir) !== -1)
318
- this.drawPhaseIcon()
319
- },
320
- async drawPhaseIcon () {
321
- if (!this.isThirdSignal) {
322
- await this.getConflictList()
323
- this.handleClickedPhase()
324
- this.handleClickedPedPhase()
325
- this.handleLaneDir()
326
- this.handlePedDir()
327
- } else {
328
- this.handleClickedPhase()
329
- this.handleClickedPedPhase()
330
- this.handleLaneDir()
331
- this.handlePedDir()
332
- }
333
- },
334
- async getConflictList () {
335
- let ConflictList = new CrossDirectionConflictList(this.agentId)
336
- return ConflictList.getConflictListByAgentid().then(res => {
337
- if (res) {
338
- let conflictList = ConflictList.getListDirConflict(this.inneChoosedDirection, this.inneChoosedPedDirection)
339
- this.phaseConflictList = conflictList.allConflictDir
340
- this.pedConflictList = conflictList.allPedConflictDir
341
- // 排他
342
- for (let index = 0; index < this.LanePhaseData.length; index++) {
343
- const element = this.LanePhaseData[index]
344
- delete element.disabled
345
- }
346
- for (let index = 0; index < this.sidewalkPhaseData.length; index++) {
347
- const element = this.sidewalkPhaseData[index]
348
- delete element.disabled
349
- }
350
- for (let index = 0; index < this.LanePhaseData.length; index++) {
351
- const element = this.LanePhaseData[index]
352
- if (this.phaseConflictList.indexOf(element.id) !== -1) {
353
- element.disabled = true
354
- }
355
- }
356
- for (let index = 0; index < this.sidewalkPhaseData.length; index++) {
357
- const element = this.sidewalkPhaseData[index]
358
- if (this.pedConflictList.indexOf(element.id) !== -1) {
359
- element.disabled = true
360
- }
361
- }
362
- }
363
- })
364
- },
365
- handleClickedPhase () {
366
- if (!this.isThirdSignal) {
367
- this.preselectDirection = this.inneChoosedDirection.filter(dir => this.phaseConflictList.indexOf(dir) === -1)
368
- } else {
369
- this.preselectDirection = JSON.parse(JSON.stringify(this.inneChoosedDirection))
370
- }
371
- },
372
- handleClickedPedPhase () {
373
- if (!this.isThirdSignal) {
374
- this.preselectPedDirection = this.inneChoosedPedDirection.filter(dir => this.pedConflictList.indexOf(dir) === -1)
375
- } else {
376
- this.preselectPedDirection = JSON.parse(JSON.stringify(this.inneChoosedPedDirection))
377
- }
378
- },
379
-
380
- handleLaneDir () {
381
- if (!this.isThirdSignal) {
382
- this.laneList = this.getPhaseDirIcon(this.LanePhaseData)
383
- } else {
384
- this.laneList = this.getPhaseDirIcon(this.compLanePhaseData)
385
- }
386
- },
387
- handlePedDir () {
388
- if (!this.isThirdSignal) {
389
- this.pedList = JSON.parse(JSON.stringify(this.sidewalkPhaseData))
390
- } else {
391
- this.pedList = JSON.parse(JSON.stringify(this.compSidewalkPhaseData))
392
- }
393
- },
394
- getPhaseDirIcon (list) {
395
- let idarr = []
396
- let dirlist = []
397
- for (let i = 0; i < list.length; i++) {
398
- if (list[i].id <= 16 && idarr.indexOf(list[i].id) === -1) {
399
- idarr.push(list[i].id)
400
- let obj = {
401
- ...list[i],
402
- iconclass: images.filter(ele => ele.id === list[i].id)[0].class
403
- }
404
- if (this.roadDirection === 'left') {
405
- if (list[i].id === 4 || list[i].id === 8 || list[i].id === 12 || list[i].id === 16) {
406
- obj.iconclass = images.filter(ele => ele.id === list[i].id)[0].leftclass
407
- }
408
- }
409
- dirlist.push(obj)
410
- }
411
- }
412
- return dirlist
413
- },
414
- selectDire (value, type) {
415
- if (value.disabled) return
416
- let id = value.id
417
- if (type === 'lane') {
418
- let index = this.preselectDirection.indexOf(id)
419
- if (index === -1) {
420
- this.preselectDirection.push(id)
421
- } else {
422
- this.preselectDirection.splice(index, 1)
423
- }
424
- // console.log(this.preselectDirection)
425
- this.choosedLanePhase = this.laneList.filter(lane => this.preselectDirection.includes(lane.id))
426
- // console.log(this.choosedLanePhase)
427
- this.inneChoosedDirection = JSON.parse(JSON.stringify(this.preselectDirection))
428
- }
429
- if (type === 'ped') {
430
- let index = this.preselectPedDirection.indexOf(id)
431
- if (index === -1) {
432
- this.preselectPedDirection.push(id)
433
- } else {
434
- this.preselectPedDirection.splice(index, 1)
435
- }
436
- // console.log(this.preselectPedDirection)
437
- this.choosedPedPhase = this.pedList.filter(lane => this.preselectPedDirection.includes(lane.id))
438
- // console.log(this.choosedPedPhase)
439
- this.inneChoosedPedDirection = JSON.parse(JSON.stringify(this.preselectPedDirection))
440
- }
441
- this.EmitAllChoosedDirection(value)
442
- },
443
- EmitAllChoosedDirection (curClickedPhase) {
444
- let allChoosedDir = {
445
- direction: this.preselectDirection,
446
- peddirection: this.preselectPedDirection
447
- }
448
- this.$emit('handleClickCrossIcon', allChoosedDir, curClickedPhase)
449
- this.drawPhaseIcon()
450
- }
451
- },
452
- mounted () {
453
- // this.init()
454
- }
455
- }
456
- </script>
1
+ /**
2
+ * Copyright (c) 2020 kedacom
3
+ * OpenATC is licensed under Mulan PSL v2.
4
+ * You can use this software according to the terms and conditions of the Mulan PSL v2.
5
+ * You may obtain a copy of Mulan PSL v2 at:
6
+ * http://license.coscl.org.cn/MulanPSL2
7
+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
8
+ * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
9
+ * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
10
+ * See the Mulan PSL v2 for more details.
11
+ **/
12
+ <template>
13
+ <div class="direction-list-configuration">
14
+ <div class="dir-config-row">
15
+ <div class="label" :style="{width: labelWidth}">{{$t('openatccomponents.phase.desc')}}:</div>
16
+ <div class="dir-btn lane-dir">
17
+ <div class="each-icon" v-for="(item, index) in laneList" :key="index" :class="item.disabled ? 'disabled-icon': ''">
18
+ <el-tooltip class="item" effect="dark" :content="item.name" placement="bottom-start">
19
+ <div class="single-icon"
20
+ @click="selectDire(item, 'lane')"
21
+ :class="!item.disabled && preselectDirection.indexOf(item.id) !== -1 ? 'single-icon-select' : ''">
22
+ <i :class="item.iconclass"></i>
23
+ <div class="single-icon-name">{{item.name}}</div>
24
+ </div>
25
+ </el-tooltip>
26
+ </div>
27
+ </div>
28
+ </div>
29
+ <div class="dir-config-row">
30
+ <div class="label" :style="{width: labelWidth}">{{$t('openatccomponents.phase.peddesc')}}:</div>
31
+ <div class="dir-btn ped-dir">
32
+ <div class="each-icon" v-for="(item, index) in pedList" :key="index" :class="item.disabled ? 'disabled-icon': ''">
33
+ <el-tooltip class="item" effect="dark" :content="item.name" placement="bottom-start">
34
+ <div class="single-icon ped-icon"
35
+ @click="selectDire(item, 'ped')"
36
+ :class="!item.disabled && preselectPedDirection.indexOf(item.id) !== -1 ? 'single-icon-select' : ''">
37
+ <PedSvg :pedId="item.id" />
38
+ <div class="single-icon-name" style="margin-top: 5px;">{{item.name}}</div>
39
+ </div>
40
+ </el-tooltip>
41
+ </div>
42
+ </div>
43
+ </div>
44
+ </div>
45
+ </template>
46
+ <script>
47
+ import xdrdirselector from '../XRDDirSelector/XRDDirSelector'
48
+ import { uploadSingleTscParam } from '../../../api/param.js'
49
+ import { getMessageByCode } from '../../../utils/responseMessage.js'
50
+ // import { getIntersectionInfo } from '../../../api/template.js'
51
+ import CrossDiagramMgr from '../../../EdgeMgr/controller/crossDiagramMgr.js'
52
+ import PhaseDataModel from '../IntersectionMap/crossDirection/utils.js'
53
+ // import { getTheme } from '../../../utils/auth'
54
+ import { images } from '../../../utils/phasedesc.js'
55
+ import PedSvg from './svg/pedSvg'
56
+
57
+ import CrossDirectionConflictList from '../../../utils/conflictList.js'
58
+
59
+ export default {
60
+ name: 'direction-list-configuration',
61
+ data () {
62
+ return {
63
+ laneList: [],
64
+ pedList: [],
65
+ preselectDirection: [], // 预选方向
66
+ preselectPedDirection: [] // 预选行人方向
67
+ }
68
+ },
69
+ components: {
70
+ xdrdirselector,
71
+ PedSvg
72
+ },
73
+ props: {
74
+ labelWidth: {
75
+ type: String,
76
+ default: '130px'
77
+ },
78
+ agentId: {
79
+ type: String
80
+ },
81
+ list: {
82
+ type: Array,
83
+ default () {
84
+ return []
85
+ }
86
+ },
87
+ roadDirection: {
88
+ type: String,
89
+ default: 'right'
90
+ },
91
+ isThirdSignal: {
92
+ type: Boolean,
93
+ default: false
94
+ },
95
+ choosedDirection: {
96
+ type: Array
97
+ },
98
+ choosedPedDirection: {
99
+ type: Array
100
+ }
101
+ },
102
+ methods: {
103
+ init (IntersectionInfo) {
104
+ this.CrossDiagramMgr = new CrossDiagramMgr()
105
+ this.PhaseDataModel = new PhaseDataModel(this.roadDirection)
106
+ this.getIntersectionInfo(IntersectionInfo) // 获取路口信息
107
+ },
108
+ getIntersectionInfo (res) {
109
+ // 获取路口信息
110
+ // const agentid = this.agentId || '0'
111
+ // getIntersectionInfo(agentid).then(res => {
112
+ // if (!res.data.success) {
113
+ // this.isLoaded = false
114
+ // let commomMsg = this.$t('openatccomponents.overview.signalID') + ' : ' + agentid
115
+ // let msg = getMessageByCode(res.data.code, this.$i18n.locale)
116
+ // if (res.data.data) {
117
+ // // 子类型错误
118
+ // let childErrorCode = res.data.data.errorCode
119
+ // if (childErrorCode) {
120
+ // let childerror = getMessageByCode(res.data.data.errorCode, this.$i18n.locale)
121
+ // msg = msg + ' - ' + childerror
122
+ // }
123
+ // }
124
+ // msg = msg + ' - ' + commomMsg
125
+ // this.$message.error(msg)
126
+ // return
127
+ // }
128
+ this.tempType = res.data.data.type
129
+ // 获取车道相位、行人相位信息(坐标、名称)
130
+ this.mainType = this.tempType.split('-')[0]
131
+ this.mainDirection = this.tempType.split('-')[1]
132
+ if (!this.isThirdSignal) {
133
+ // 可点击模式下,非第三方设备,按通道显示相位方向
134
+ this.getChannelInfo()
135
+ return
136
+ }
137
+ this.crossInfo = res.data.data.param
138
+ // 城市道路加载车道相位坐标和人行道坐标
139
+ this.getPhasePos()
140
+ this.getOverlapPhasePos()
141
+ this.getPedPhasePos()
142
+ this.getOverlapPedPhasePos()
143
+ if (this.isThirdSignal) {
144
+ // 第三方设备,按相位方向显示相位方向
145
+ this.compLanePhaseData = this.CrossDiagramMgr.compare(this.LanePhaseData, this.overlapLanePhaseData, 'type', 'nostatus')
146
+ this.compSidewalkPhaseData = this.CrossDiagramMgr.compare(this.sidewalkPhaseData, this.overlapsidewalkPhaseData, 'pedtype', 'nostatus')
147
+ let allDir = this.compLanePhaseData.map(ele => ele.id)
148
+ let allPedDir = this.compSidewalkPhaseData.map(ele => ele.id)
149
+ this.inneChoosedDirection = this.choosedDirection.filter(dir => allDir.indexOf(dir) !== -1)
150
+ this.inneChoosedPedDirection = this.choosedPedDirection.filter(dir => allPedDir.indexOf(dir) !== -1)
151
+ this.drawPhaseIcon()
152
+ }
153
+ // })
154
+ },
155
+ getPhasePos () {
156
+ // 车道相位信息
157
+ this.LanePhaseData = []
158
+ this.crossInfo.phaseList.forEach((ele, i) => {
159
+ if (ele.controltype === undefined || ele.controltype <= 2) {
160
+ ele.direction.forEach((dir, index) => {
161
+ let dirinfo = this.PhaseDataModel.getPhase(dir)
162
+ if (dir <= 16) {
163
+ // 车道相位
164
+ this.LanePhaseData.push({
165
+ key: this.CrossDiagramMgr.getUniqueKey('phase'),
166
+ phaseid: ele.id, // 相位id,用于对应相位状态
167
+ id: dir, // 接口返回的dir字段,对应前端定义的相位方向id,唯一标识
168
+ name: dirinfo.name
169
+ })
170
+ }
171
+ })
172
+ }
173
+ })
174
+ },
175
+ getOverlapPhasePos () {
176
+ // 车道跟随相位信息
177
+ if (!this.crossInfo.overlaplList) return
178
+ this.overlapLanePhaseData = []
179
+ this.crossInfo.overlaplList.forEach((ele, i) => {
180
+ if (ele.direction) {
181
+ ele.direction.forEach((dir, index) => {
182
+ this.overlapLanePhaseData.push({
183
+ key: this.CrossDiagramMgr.getUniqueKey('overlapphase'),
184
+ phaseid: ele.id, // 相位id,用于对应相位状态
185
+ id: dir, // 接口返回的dir字段,对应前端定义的相位方向id,唯一标识
186
+ name: this.PhaseDataModel.getPhase(dir).name,
187
+ left: this.PhaseDataModel.getPhase(dir).x,
188
+ top: this.PhaseDataModel.getPhase(dir).y
189
+ })
190
+ })
191
+ }
192
+ })
193
+ },
194
+ getPedPhasePos () {
195
+ // 行人相位信息
196
+ this.sidewalkPhaseData = []
197
+ this.crossInfo.phaseList.forEach((ele, i) => {
198
+ if (ele.peddirection) {
199
+ ele.peddirection.forEach((dir, index) => {
200
+ // 行人相位
201
+ let dirinfo = this.PhaseDataModel.getSidePos(dir)
202
+ if (dir <= 16) {
203
+ let key = this.CrossDiagramMgr.getUniqueKey('pedphase')
204
+ if (this.isVipRoute && this.isThirdSignal) {
205
+ key = this.CrossDiagramMgr.getUniqueKey('pedphase') + `-${this.agentId}`
206
+ }
207
+ this.sidewalkPhaseData.push({
208
+ key,
209
+ phaseid: ele.id, // 相位id,用于对应相位状态
210
+ id: dir,
211
+ name: dirinfo.name
212
+ })
213
+ }
214
+ })
215
+ }
216
+ })
217
+ },
218
+ getOverlapPedPhasePos () {
219
+ // 行人跟随相位信息
220
+ if (!this.crossInfo.overlaplList) return
221
+ this.overlapsidewalkPhaseData = []
222
+ this.crossInfo.overlaplList.forEach((ele, i) => {
223
+ if (ele.peddirection) {
224
+ ele.peddirection.forEach((dir, index) => {
225
+ if (this.PhaseDataModel.getSidePos(dir)) {
226
+ this.overlapsidewalkPhaseData.push({
227
+ key: this.CrossDiagramMgr.getUniqueKey('overlappedphase'),
228
+ phaseid: ele.id, // 相位id,用于对应相位状态
229
+ id: dir,
230
+ name: this.PhaseDataModel.getSidePos(dir).name,
231
+ left: this.PhaseDataModel.getSidePos(dir).x,
232
+ top: this.PhaseDataModel.getSidePos(dir).y
233
+ })
234
+ }
235
+ })
236
+ }
237
+ })
238
+ },
239
+ getChannelInfo () {
240
+ uploadSingleTscParam('channel', this.agentId).then(data => {
241
+ let res = data.data
242
+ if (!res.success) {
243
+ if (res.code === '4003') {
244
+ this.$message.error(this.$t('openatccomponents.errorTip.devicenotonline'))
245
+ return
246
+ }
247
+ this.$message.error(getMessageByCode(data.data.code, this.$i18n.locale))
248
+ return
249
+ }
250
+ let channelList = res.data.data.channelList.filter(ele => ele.type !== undefined)
251
+ this.channelList = this.handleRepeatRealdir(channelList)
252
+ console.log('this.channelList', this.channelList)
253
+ this.handleChannelDirection()
254
+ })
255
+ },
256
+ handleRepeatRealdir (channelList) {
257
+ let map = new Map()
258
+ channelList.forEach(ele => {
259
+ if (ele.realdir !== undefined && ele.realdir.length > 0) {
260
+ ele.realdir.forEach(dir => {
261
+ if (map.get(dir) === undefined) {
262
+ map.set(dir, ele)
263
+ }
264
+ })
265
+ }
266
+ })
267
+ let arr = Array.from(map)
268
+ let newarr = []
269
+ arr.forEach(ele => {
270
+ newarr.push(ele[1])
271
+ })
272
+ // console.log(newarr)
273
+ return newarr
274
+ },
275
+ handleChannelDirection () {
276
+ this.LanePhaseData = []
277
+ this.sidewalkPhaseData = []
278
+ this.sidewalkDir = []
279
+ let realphasedirarr = []
280
+ let realpeddirarr = []
281
+ this.channelList.forEach((ele, i) => {
282
+ if (ele.type === 0 || ele.type === 1 || ele.type === 3) {
283
+ if (ele.realdir) {
284
+ ele.realdir.forEach((dir, index) => {
285
+ let phaseinfo = this.PhaseDataModel.getPhase(dir)
286
+ // 车道相位(通道类型是机动车,非机动车,公交时,对应相位机动车)
287
+ this.LanePhaseData.push({
288
+ key: this.CrossDiagramMgr.getUniqueKey('phase'),
289
+ channelid: ele.id, // 通道id
290
+ id: dir, // 接口返回的dir字段,对应前端定义的相位方向id,唯一标识
291
+ name: this.$i18n.locale === 'en' ? phaseinfo.ename : phaseinfo.name
292
+ })
293
+ })
294
+ realphasedirarr = Array.from(new Set(realphasedirarr.concat(ele.realdir)))
295
+ }
296
+ }
297
+ if (ele.type === 2) {
298
+ if (ele.realdir) {
299
+ ele.realdir.forEach((dir, index) => {
300
+ // 行人相位
301
+ if (this.sidewalkDir.indexOf(dir) === -1 && this.PhaseDataModel.getSidePos(dir)) {
302
+ let pedinfo = this.PhaseDataModel.getSidePos(dir)
303
+ this.sidewalkPhaseData.push({
304
+ key: this.CrossDiagramMgr.getUniqueKey('pedphase'),
305
+ channelid: ele.id, // 通道id
306
+ id: dir,
307
+ name: this.$i18n.locale === 'en' ? pedinfo.ename : pedinfo.desc
308
+ })
309
+ }
310
+ })
311
+ realpeddirarr = Array.from(new Set(realpeddirarr.concat(ele.realdir)))
312
+ this.sidewalkDir = Array.from(new Set([...this.sidewalkDir.concat(ele.realdir)]))
313
+ }
314
+ }
315
+ })
316
+ this.inneChoosedDirection = this.choosedDirection.filter(dir => realphasedirarr.indexOf(dir) !== -1)
317
+ this.inneChoosedPedDirection = this.choosedPedDirection.filter(dir => realpeddirarr.indexOf(dir) !== -1)
318
+ this.drawPhaseIcon()
319
+ },
320
+ async drawPhaseIcon () {
321
+ if (!this.isThirdSignal) {
322
+ await this.getConflictList()
323
+ this.handleClickedPhase()
324
+ this.handleClickedPedPhase()
325
+ this.handleLaneDir()
326
+ this.handlePedDir()
327
+ } else {
328
+ this.handleClickedPhase()
329
+ this.handleClickedPedPhase()
330
+ this.handleLaneDir()
331
+ this.handlePedDir()
332
+ }
333
+ },
334
+ async getConflictList () {
335
+ let ConflictList = new CrossDirectionConflictList(this.agentId)
336
+ return ConflictList.getConflictListByAgentid().then(res => {
337
+ if (res) {
338
+ let conflictList = ConflictList.getListDirConflict(this.inneChoosedDirection, this.inneChoosedPedDirection)
339
+ this.phaseConflictList = conflictList.allConflictDir
340
+ this.pedConflictList = conflictList.allPedConflictDir
341
+ // 排他
342
+ for (let index = 0; index < this.LanePhaseData.length; index++) {
343
+ const element = this.LanePhaseData[index]
344
+ delete element.disabled
345
+ }
346
+ for (let index = 0; index < this.sidewalkPhaseData.length; index++) {
347
+ const element = this.sidewalkPhaseData[index]
348
+ delete element.disabled
349
+ }
350
+ for (let index = 0; index < this.LanePhaseData.length; index++) {
351
+ const element = this.LanePhaseData[index]
352
+ if (this.phaseConflictList.indexOf(element.id) !== -1) {
353
+ element.disabled = true
354
+ }
355
+ }
356
+ for (let index = 0; index < this.sidewalkPhaseData.length; index++) {
357
+ const element = this.sidewalkPhaseData[index]
358
+ if (this.pedConflictList.indexOf(element.id) !== -1) {
359
+ element.disabled = true
360
+ }
361
+ }
362
+ }
363
+ })
364
+ },
365
+ handleClickedPhase () {
366
+ if (!this.isThirdSignal) {
367
+ this.preselectDirection = this.inneChoosedDirection.filter(dir => this.phaseConflictList.indexOf(dir) === -1)
368
+ } else {
369
+ this.preselectDirection = JSON.parse(JSON.stringify(this.inneChoosedDirection))
370
+ }
371
+ },
372
+ handleClickedPedPhase () {
373
+ if (!this.isThirdSignal) {
374
+ this.preselectPedDirection = this.inneChoosedPedDirection.filter(dir => this.pedConflictList.indexOf(dir) === -1)
375
+ } else {
376
+ this.preselectPedDirection = JSON.parse(JSON.stringify(this.inneChoosedPedDirection))
377
+ }
378
+ },
379
+
380
+ handleLaneDir () {
381
+ if (!this.isThirdSignal) {
382
+ this.laneList = this.getPhaseDirIcon(this.LanePhaseData)
383
+ } else {
384
+ this.laneList = this.getPhaseDirIcon(this.compLanePhaseData)
385
+ }
386
+ },
387
+ handlePedDir () {
388
+ if (!this.isThirdSignal) {
389
+ this.pedList = JSON.parse(JSON.stringify(this.sidewalkPhaseData))
390
+ } else {
391
+ this.pedList = JSON.parse(JSON.stringify(this.compSidewalkPhaseData))
392
+ }
393
+ },
394
+ getPhaseDirIcon (list) {
395
+ let idarr = []
396
+ let dirlist = []
397
+ for (let i = 0; i < list.length; i++) {
398
+ if (list[i].id <= 16 && idarr.indexOf(list[i].id) === -1) {
399
+ idarr.push(list[i].id)
400
+ let obj = {
401
+ ...list[i],
402
+ iconclass: images.filter(ele => ele.id === list[i].id)[0].class
403
+ }
404
+ if (this.roadDirection === 'left') {
405
+ if (list[i].id === 4 || list[i].id === 8 || list[i].id === 12 || list[i].id === 16) {
406
+ obj.iconclass = images.filter(ele => ele.id === list[i].id)[0].leftclass
407
+ }
408
+ }
409
+ dirlist.push(obj)
410
+ }
411
+ }
412
+ return dirlist
413
+ },
414
+ selectDire (value, type) {
415
+ if (value.disabled) return
416
+ let id = value.id
417
+ if (type === 'lane') {
418
+ let index = this.preselectDirection.indexOf(id)
419
+ if (index === -1) {
420
+ this.preselectDirection.push(id)
421
+ } else {
422
+ this.preselectDirection.splice(index, 1)
423
+ }
424
+ // console.log(this.preselectDirection)
425
+ this.choosedLanePhase = this.laneList.filter(lane => this.preselectDirection.includes(lane.id))
426
+ // console.log(this.choosedLanePhase)
427
+ this.inneChoosedDirection = JSON.parse(JSON.stringify(this.preselectDirection))
428
+ }
429
+ if (type === 'ped') {
430
+ let index = this.preselectPedDirection.indexOf(id)
431
+ if (index === -1) {
432
+ this.preselectPedDirection.push(id)
433
+ } else {
434
+ this.preselectPedDirection.splice(index, 1)
435
+ }
436
+ // console.log(this.preselectPedDirection)
437
+ this.choosedPedPhase = this.pedList.filter(lane => this.preselectPedDirection.includes(lane.id))
438
+ // console.log(this.choosedPedPhase)
439
+ this.inneChoosedPedDirection = JSON.parse(JSON.stringify(this.preselectPedDirection))
440
+ }
441
+ this.EmitAllChoosedDirection(value)
442
+ },
443
+ EmitAllChoosedDirection (curClickedPhase) {
444
+ let allChoosedDir = {
445
+ direction: this.preselectDirection,
446
+ peddirection: this.preselectPedDirection
447
+ }
448
+ this.$emit('handleClickCrossIcon', allChoosedDir, curClickedPhase)
449
+ this.drawPhaseIcon()
450
+ }
451
+ },
452
+ mounted () {
453
+ // this.init()
454
+ }
455
+ }
456
+ </script>