openatc-components 0.5.16 → 0.5.18

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 (390) hide show
  1. package/.babelrc +18 -18
  2. package/.editorconfig +9 -9
  3. package/.eslintignore +5 -5
  4. package/.eslintrc.js +31 -31
  5. package/.postcssrc.js +10 -10
  6. package/README.md +30 -30
  7. package/build/build.js +41 -41
  8. package/build/check-versions.js +54 -54
  9. package/build/package.config.js +58 -58
  10. package/build/package.dev.config.js +107 -107
  11. package/build/package.prod.config.js +160 -160
  12. package/build/utils.js +101 -101
  13. package/build/vue-loader.conf.js +22 -22
  14. package/build/webpack.base.conf.js +120 -120
  15. package/build/webpack.dev.conf.js +95 -95
  16. package/build/webpack.prod.conf.js +149 -149
  17. package/config/prod.env.js +5 -5
  18. package/config/test.env.js +7 -7
  19. package/index.html +12 -12
  20. package/package/kisscomps/components/Channelization/Channelization.vue +585 -585
  21. package/package/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  22. package/package/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  23. package/package/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  24. package/package/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +2 -2
  25. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  26. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  27. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  28. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  29. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  30. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  31. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  32. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  33. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  34. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  35. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  36. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  37. package/package/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  38. package/package/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  39. package/package/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  40. package/package/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  41. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  42. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  43. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  44. package/package/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  45. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  46. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  47. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  48. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  49. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  50. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  51. package/package/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  52. package/package/kisscomps/components/DrawChannelization/drawsvg/index.vue +144 -144
  53. package/package/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  54. package/package/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  55. package/package/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  56. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  57. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  58. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  59. package/package/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  60. package/package/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  61. package/package/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  62. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +629 -629
  63. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  64. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  65. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  66. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  67. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  68. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  69. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  70. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  71. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +498 -498
  72. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +484 -484
  73. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +488 -488
  74. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +566 -566
  75. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  76. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  77. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  78. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  79. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  80. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  81. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  82. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  83. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  84. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  85. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  86. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  87. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  88. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  89. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +16 -0
  90. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  91. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  92. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +16 -0
  93. package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +534 -534
  94. package/package/kisscomps/components/KanBan/kanban.vue +231 -231
  95. package/package/kisscomps/components/MessageBox/index.vue +96 -96
  96. package/package/kisscomps/components/OverviewComponent/index.vue +7 -33
  97. package/package/kisscomps/components/PatternOptimize/PatternOptimize.vue +329 -329
  98. package/package/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  99. package/package/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  100. package/package/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  101. package/package/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  102. package/package/kisscomps/components/PhaseMarker/index.js +6 -6
  103. package/package/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  104. package/package/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  105. package/package/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  106. package/package/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  107. package/package/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  108. package/package/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  109. package/package/kisscomps/components/PhasePedSelect/index.vue +206 -206
  110. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +7 -30
  111. package/package/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +365 -365
  112. package/package/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  113. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  114. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  115. package/package/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  116. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  117. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  118. package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  119. package/package/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  120. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +308 -308
  121. package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +0 -19
  122. package/package/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  123. package/package/kisscomps/components/SelectCrossPhase/index.vue +1 -1
  124. package/package/kisscomps/components/StageOptimize/StageOptimize.vue +367 -367
  125. package/package/kisscomps/components/StageOptimize/index.js +2 -2
  126. package/package/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  127. package/package/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  128. package/package/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  129. package/package/kisscomps/components/XiaoKanban/index.vue +122 -122
  130. package/package/kisscomps/components/overView/index.vue +7 -30
  131. package/package/kisscomps/components/patternConfig/index.vue +4 -12
  132. package/package/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  133. package/package/kisscomps/components/patternConfig/planContent.vue +604 -604
  134. package/package/kisscomps/components/patternConfig/planMenu.vue +329 -329
  135. package/package/kisscomps/components/patternConfig/utils.js +84 -152
  136. package/package/kisscomps/index.js +6 -2
  137. package/package/kissui.js +216608 -0
  138. package/package/kissui.min.js +1 -1
  139. package/package.json +1 -1
  140. package/pnpm-lock.yaml +16362 -0
  141. package/src/App.vue +20 -24
  142. package/src/EdgeMgr/EdgeModelBase.js +16 -16
  143. package/src/EdgeMgr/controller/crossDiagramMgr.js +125 -125
  144. package/src/api/authapi.js +31 -31
  145. package/src/api/config.js +21 -21
  146. package/src/api/control.js +110 -110
  147. package/src/api/device.js +135 -135
  148. package/src/api/fault.js +66 -66
  149. package/src/api/index.js +24 -24
  150. package/src/api/login.js +46 -46
  151. package/src/api/optimize.js +72 -72
  152. package/src/api/passwdAssest.js +101 -101
  153. package/src/api/permission.js +33 -33
  154. package/src/api/route.js +171 -171
  155. package/src/assets/font/LICENSE.txt +202 -202
  156. package/src/assets/font/font.css +6 -6
  157. package/src/i18n/index.js +26 -26
  158. package/src/i18n/language/en.js +113 -27
  159. package/src/i18n/language/index.js +31 -25
  160. package/src/i18n/language/ru.js +1555 -0
  161. package/src/i18n/language/zh.js +113 -27
  162. package/src/icons/index.js +20 -20
  163. package/src/icons/svg/azimuthlocking.svg +26 -26
  164. package/src/icons/svg/bendi.svg +110 -110
  165. package/src/icons/svg/bujin.svg +36 -36
  166. package/src/icons/svg/connectBlue.svg +7 -7
  167. package/src/icons/svg/currentvolume.svg +0 -0
  168. package/src/icons/svg/custom-BRTlane.svg +40 -40
  169. package/src/icons/svg/custom-buslane.svg +40 -40
  170. package/src/icons/svg/custom-detector.svg +12 -12
  171. package/src/icons/svg/custom-east-bottom.svg +32 -32
  172. package/src/icons/svg/custom-east-top.svg +32 -32
  173. package/src/icons/svg/custom-ewped.svg +35 -35
  174. package/src/icons/svg/custom-nonmotorizedlane.svg +40 -40
  175. package/src/icons/svg/custom-north-left.svg +32 -32
  176. package/src/icons/svg/custom-north-right.svg +32 -32
  177. package/src/icons/svg/custom-peddetector.svg +17 -17
  178. package/src/icons/svg/custom-snped.svg +35 -35
  179. package/src/icons/svg/custom-south-left.svg +32 -32
  180. package/src/icons/svg/custom-south-right.svg +32 -32
  181. package/src/icons/svg/custom-tramlane.svg +40 -40
  182. package/src/icons/svg/custom-vehiclebranch.svg +40 -40
  183. package/src/icons/svg/custom-vehiclemainroad.svg +41 -41
  184. package/src/icons/svg/custom-west-bottom.svg +32 -32
  185. package/src/icons/svg/custom-west-top.svg +32 -32
  186. package/src/icons/svg/custom-xlped.svg +14 -14
  187. package/src/icons/svg/custom-xrped.svg +14 -14
  188. package/src/icons/svg/cutRed.svg +7 -7
  189. package/src/icons/svg/cycle.svg +0 -0
  190. package/src/icons/svg/dingzhouqi.svg +34 -34
  191. package/src/icons/svg/ganyingkongzhi.svg +30 -30
  192. package/src/icons/svg/guandeng.svg +81 -81
  193. package/src/icons/svg/huangshan.svg +71 -71
  194. package/src/icons/svg/maincontrol.svg +0 -0
  195. package/src/icons/svg/manualcontrolbackground.svg +51 -51
  196. package/src/icons/svg/manualcontrolbackground1.svg +62 -62
  197. package/src/icons/svg/manualcontrolbackgrounden.svg +62 -62
  198. package/src/icons/svg/model.svg +0 -0
  199. package/src/icons/svg/phasediff.svg +0 -0
  200. package/src/icons/svg/prioritycontrol.svg +21 -21
  201. package/src/icons/svg/quanhong.svg +86 -86
  202. package/src/icons/svg/shanghe.svg +11 -11
  203. package/src/icons/svg/shoudong.svg +103 -103
  204. package/src/icons/svg/tentativeplan.svg +28 -28
  205. package/src/icons/svg/time.svg +0 -0
  206. package/src/icons/svg/wuxianlan.svg +46 -46
  207. package/src/icons/svg/xiala.svg +11 -11
  208. package/src/icons/svg/xingrenguojie.svg +33 -33
  209. package/src/icons/svg/xitong.svg +89 -89
  210. package/src/icons/svg/youxian.svg +41 -41
  211. package/src/icons/svg/zizhukongzhi.svg +43 -43
  212. package/src/kisscomps/components/Channelization/Channelization.vue +585 -585
  213. package/src/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  214. package/src/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  215. package/src/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  216. package/src/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +2 -2
  217. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  218. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  219. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  220. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  221. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  222. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  223. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  224. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  225. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  226. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  227. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  228. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  229. package/src/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  230. package/src/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  231. package/src/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  232. package/src/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  233. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  234. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  235. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  236. package/src/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  237. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  238. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  239. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  240. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  241. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  242. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  243. package/src/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  244. package/src/kisscomps/components/DrawChannelization/drawsvg/index.vue +144 -144
  245. package/src/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  246. package/src/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  247. package/src/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  248. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  249. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  250. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  251. package/src/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  252. package/src/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  253. package/src/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  254. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +629 -629
  255. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  256. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  257. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  258. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  259. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  260. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  261. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  262. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  263. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +498 -498
  264. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +484 -484
  265. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +488 -488
  266. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +566 -566
  267. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  268. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  269. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  270. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  271. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  272. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  273. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  274. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  275. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  276. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  277. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  278. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  279. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  280. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  281. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +16 -0
  282. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  283. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  284. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +16 -0
  285. package/src/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +534 -534
  286. package/src/kisscomps/components/KanBan/kanban.vue +231 -231
  287. package/src/kisscomps/components/MessageBox/index.vue +96 -96
  288. package/src/kisscomps/components/OverviewComponent/index.vue +7 -33
  289. package/src/kisscomps/components/PatternOptimize/PatternOptimize.vue +329 -329
  290. package/src/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  291. package/src/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  292. package/src/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  293. package/src/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  294. package/src/kisscomps/components/PhaseMarker/index.js +6 -6
  295. package/src/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  296. package/src/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  297. package/src/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  298. package/src/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  299. package/src/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  300. package/src/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  301. package/src/kisscomps/components/PhasePedSelect/index.vue +206 -206
  302. package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +7 -30
  303. package/src/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +365 -365
  304. package/src/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  305. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  306. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  307. package/src/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  308. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  309. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  310. package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  311. package/src/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  312. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +308 -308
  313. package/src/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +0 -19
  314. package/src/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  315. package/src/kisscomps/components/SelectCrossPhase/index.vue +1 -1
  316. package/src/kisscomps/components/StageOptimize/StageOptimize.vue +367 -367
  317. package/src/kisscomps/components/StageOptimize/index.js +2 -2
  318. package/src/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  319. package/src/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  320. package/src/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  321. package/src/kisscomps/components/XiaoKanban/index.vue +122 -122
  322. package/src/kisscomps/components/overView/index.vue +7 -30
  323. package/src/kisscomps/components/patternConfig/index.vue +4 -12
  324. package/src/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  325. package/src/kisscomps/components/patternConfig/planContent.vue +604 -604
  326. package/src/kisscomps/components/patternConfig/planMenu.vue +329 -329
  327. package/src/kisscomps/components/patternConfig/utils.js +84 -152
  328. package/src/kisscomps/index.js +6 -2
  329. package/src/lib/publicjs/ArryListUtil.js +38 -38
  330. package/src/lib/publicjs/HttpurlMgr.js +45 -45
  331. package/src/lib/publicjs/KissApi.js +158 -158
  332. package/src/lib/publicjs/KissWSSub/Heartcheck.js +128 -128
  333. package/src/lib/publicjs/KissWSSub/KissWsSub.js +91 -91
  334. package/src/lib/publicjs/KissWSSub/KissWsSubByType.js +152 -152
  335. package/src/lib/publicjs/KissWSSub/SimuWsSubByType.js +44 -44
  336. package/src/lib/publicjs/KissWSSub/Sub.js +51 -51
  337. package/src/lib/publicjs/KissWSSub/SubChannel.js +119 -119
  338. package/src/lib/publicjs/basecomponents.js +65 -65
  339. package/src/lib/publicjs/localStorage.js +112 -112
  340. package/src/lib/publicjs/objdeepcopy.js +32 -32
  341. package/src/lib/publicjs/pageScroll.js +30 -30
  342. package/src/lib/publicjs/passwdAssest.js +101 -101
  343. package/src/lib/publicjs/styleclassfactory.js +32 -32
  344. package/src/store/index.js +26 -26
  345. package/src/store/modules/globalParam.js +67 -67
  346. package/src/utils/ControlFormat.js +14 -36
  347. package/src/utils/RingDataModel.js +335 -335
  348. package/src/utils/auth.js +199 -199
  349. package/src/utils/conflictList.js +87 -87
  350. package/src/utils/dateFormat.js +41 -41
  351. package/src/utils/fault.js +20 -72
  352. package/src/utils/faultcode.js +130 -182
  353. package/src/utils/index.js +69 -69
  354. package/src/utils/pedphasedesc.js +80 -105
  355. package/src/utils/phaseList.js +203 -203
  356. package/src/utils/phasedesc.js +133 -115
  357. package/src/utils/responseMessage.js +24 -21
  358. package/src/utils/validate.js +43 -43
  359. package/src/views/home.1.vue +479 -479
  360. package/src/views/home.vue +93 -93
  361. package/src/views/intersection2.vue +328 -328
  362. package/src/views/overView.vue +63 -63
  363. package/src/views/patternConfig.vue +2 -2
  364. package/src/views/schemeconfig.vue +1 -1
  365. package/static/styles/channelizatioon.scss +433 -433
  366. package/static/styles/common.scss +30 -30
  367. package/static/styles/commonkanban.scss +168 -168
  368. package/static/styles/dark/index.scss +2 -2
  369. package/static/styles/dark/theme/element-dark.scss +44 -44
  370. package/static/styles/index.scss +84 -84
  371. package/static/styles/intersection.scss +180 -180
  372. package/static/styles/light/index.scss +2 -2
  373. package/static/styles/light/theme/element-light.scss +44 -44
  374. package/static/styles/patternConfig.scss +56 -56
  375. package/static/styles/phasePedSelect.scss +71 -71
  376. package/static/styles/stages.scss +57 -57
  377. package/static/styles/xiaokanban.scss +61 -61
  378. package/static/token.json +2 -2
  379. package/test/e2e/custom-assertions/elementCount.js +27 -27
  380. package/test/e2e/nightwatch.conf.js +46 -46
  381. package/test/e2e/runner.js +48 -48
  382. package/test/e2e/specs/test.js +19 -19
  383. package/test/unit/.eslintrc +7 -7
  384. package/test/unit/jest.conf.js +30 -30
  385. package/test/unit/setup.js +3 -3
  386. package/test/unit/specs/HelloWorld.spec.js +11 -11
  387. package/package/kisscomps/components/OptimizeKanban/index.js +0 -2
  388. package/package/kisscomps/components/OptimizeKanban/index.vue +0 -369
  389. package/package/kisscomps/components/StageOptimize/index.vue +0 -310
  390. package/src/node_modules/.package_versions.json +0 -1
@@ -1,360 +1,360 @@
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
- <template>
14
- <div class="show-channelization channelization-base-map" :class="{
15
- 'widescreenCrossImg': bodyDomWidth > 1680,
16
- 'superlargeCrossImg': bodyDomWidth <= 1680 && bodyDomWidth > 1440,
17
- 'largeCrossImg': bodyDomWidth <= 1440 && bodyDomWidth > 1280,
18
- 'middleCrossImg2': bodyDomWidth <= 1280 && bodyDomWidth > 960,
19
- 'smallCrossImg': bodyDomWidth <= 960 && bodyDomWidth > 890,
20
- 'smallCrossImg2': bodyDomWidth <= 890 && bodyDomWidth > 720,
21
- 'miniCrossImg': bodyDomWidth <= 720 && bodyDomWidth > 650,
22
- 'superminiCrossImg': bodyDomWidth <= 650 && bodyDomWidth > 450,
23
- 'transMiddleCrossImg': bodyDomWidth <= 450 && bodyDomWidth > 350,
24
- 'transMiddleCrossImg2': bodyDomWidth <= 350 && bodyDomWidth > 300,
25
- 'transMiddleCrossImg3': bodyDomWidth <= 300 && bodyDomWidth > 260,
26
- 'transMiniCrossImg': bodyDomWidth <= 260,
27
- 'changePaddingBottom': true }">
28
- <ChannelizationElements
29
- ref="channelizationElements"
30
- UsageMode="show"
31
- :allitem="allitem"
32
- :CrossMapVisible="CrossMapVisible"
33
- :CrossMapData="CrossMapData"
34
- :isSeletable="isSeletable"
35
- :Motorways="LanePhaseStatisticsData"
36
- :Pedwalk="sidewalkPhaseData"
37
- :Countdown="Countdown"
38
- :customText="customText"
39
- :textFontSize="textFontSize"
40
- :Detector="DetectorData"
41
- :bcgColor="bcgColor"
42
- />
43
- </div>
44
- </template>
45
-
46
- <script>
47
- import ChannelizationElements from '../DrawChannelization/drawsvg/channelizationElements'
48
- import { getChannelizatonChart } from '../../../api/cross'
49
-
50
- export default {
51
- name: 'channelization-flow-statistic',
52
- components: {
53
- ChannelizationElements
54
- },
55
- computed: {
56
- },
57
- props: {
58
- phasesStatisticsList: {
59
- type: Array,
60
- default: () => []
61
- },
62
- AgentId: {
63
- type: String,
64
- default: '0'
65
- },
66
- resizeMap: { // 重新获取容器大小,调整底图大小
67
- type: Boolean,
68
- default: false
69
- },
70
- customText: {
71
- type: String
72
- },
73
- bcgColor: {
74
- type: String
75
- },
76
- textFontSize: {
77
- type: String
78
- }
79
- },
80
- watch: {
81
- phasesStatisticsList: {
82
- handler: function (val) {
83
- // 相位统计数据数据
84
- this.phasesStatisticsData = JSON.parse(JSON.stringify(val))
85
- this.createPhaseStatisticsMap()
86
- this.getLanePhaseStatusData()
87
- },
88
- // 深度观察监听
89
- deep: true
90
- },
91
- AgentId: {
92
- handler: function (val) {
93
- // 平台设备切换时,重载当前路口保存的渠化配置
94
- this.load('all')
95
- },
96
- deep: true
97
- },
98
- resizeMap: {
99
- handler: function (newval, oldval) {
100
- if (newval === true && oldval === false) {
101
- this.getParentSize()
102
- }
103
- }
104
- }
105
- },
106
- data () {
107
- return {
108
- isSeletable: false,
109
- bodyDomWidth: 352,
110
- bodyDomSize: {
111
- width: 1920,
112
- height: 1080
113
- },
114
- CrossMapVisible: true, // 控制底图显示隐藏
115
- CrossMapData: {
116
- x: 400,
117
- y: 100,
118
- w: 800,
119
- h: 200,
120
- angle: 0,
121
- svgstr: '',
122
- imgfilesrc: ''
123
- }, // 管理底图数据
124
- Motorways: [],
125
- Texts: [],
126
- Pedwalk: [],
127
- Countdown: [],
128
- Detector: [],
129
- allitem: {
130
- x: 435,
131
- y: 325,
132
- w: 870,
133
- h: 650,
134
- angle: 0
135
- },
136
- LanePhaseStatisticsData: [], // 车道相位数据
137
- phasesStatisticsMap: new Map(), // 相位统计数据映射
138
- colorMap: new Map([['A', '#009900'], ['B', '#00FF00'], ['C', '#FFFF00'], ['D', '#FF9900'], ['E', '#FF0000'], ['F', '#990000']]),
139
- sidewalkPhaseData: [], // 行人相位
140
- DetectorData: [] // 检测器数据(包括车辆和行人)
141
- }
142
- },
143
- methods: {
144
- createPhaseStatisticsMap () {
145
- // 生成相位id和相位状态对应数据结构
146
- this.phasesStatisticsData.map(phase => {
147
- let phaseId = phase.phaseno
148
- let phaseInfo = {
149
- time: phase.time,
150
- ...phase.phasestatistics
151
- }
152
- this.phasesStatisticsMap.set(phaseId, phaseInfo)
153
- })
154
- },
155
- getLanePhaseStatusData () {
156
- let curLanePhaseData = []
157
- for (let i = 0; i < this.LanePhaseStatisticsData.length; i++) {
158
- let curPhaseStatus
159
- if (this.LanePhaseStatisticsData[i].phasetype === 'phase') {
160
- console.log(this.phasesStatisticsMap)
161
- curPhaseStatus = this.phasesStatisticsMap.get(this.LanePhaseStatisticsData[i].phaseid)
162
- }
163
- // if (!curPhaseStatus) continue // 没有关联相位的车道不显示
164
- let data
165
- if (curPhaseStatus) {
166
- data = {
167
- ...this.LanePhaseStatisticsData[i],
168
- congestionindex: curPhaseStatus.congestionindex,
169
- color: this.colorMap.get(curPhaseStatus.congestionindex)
170
- }
171
- } else {
172
- // 没有关联的,或者没有对应状态的,车道显示默认白色
173
- data = {
174
- ...this.LanePhaseStatisticsData[i],
175
- congestionindex: undefined,
176
- color: '#fff'
177
- }
178
- }
179
- curLanePhaseData.push(data)
180
- }
181
- this.LanePhaseStatisticsData = JSON.parse(JSON.stringify(curLanePhaseData))
182
- },
183
- // 加载
184
- load (type) {
185
- this.getChannelizatonChart().then((channelizatondata) => {
186
- console.log(channelizatondata)
187
- let savedTemp = JSON.parse(JSON.stringify(channelizatondata))
188
- for (const [key, value] of Object.entries(savedTemp)) {
189
- if (key === 'vehile') {
190
- this.Motorways = value
191
- }
192
- if (key === 'text') {
193
- this.Texts = value
194
- }
195
- if (key === 'ped') {
196
- this.Pedwalk = value
197
- }
198
- if (key === 'countdown') {
199
- this.Countdown = value
200
- }
201
- if (key === 'detector') {
202
- this.Detector = value.filter(ele => ele.detailtype === 'detector')
203
- }
204
- if (key === 'crossMap') {
205
- this.CrossMapData = JSON.parse(JSON.stringify(value))
206
- }
207
- }
208
- this.isSeletable = false
209
- // 从接口得到所有渠化车道和人行道数据
210
- this.LanePhaseStatisticsData = JSON.parse(JSON.stringify(this.Motorways))
211
- this.sidewalkPhaseData = JSON.parse(JSON.stringify(this.Pedwalk))
212
- this.DetectorData = JSON.parse(JSON.stringify(this.Detector))
213
- this.getLanePhaseStatusData()
214
- })
215
- },
216
- // 重置
217
- handleReset () {
218
- this.Texts = []
219
- this.Motorways = []
220
- this.Countdown = []
221
- this.phaseCountdownList = []
222
- this.Pedwalk = []
223
- this.Detector = []
224
- this.CrossMapData = {
225
- x: 400,
226
- y: 100,
227
- w: 800,
228
- h: 200,
229
- angle: 0,
230
- svgstr: '',
231
- imgfilesrc: ''
232
- }
233
- this.LanePhaseStatisticsData = []
234
- this.sidewalkPhaseData = []
235
- this.DetectorData = []
236
- },
237
- getChannelizatonChart () {
238
- // let agentid = getIframdevid()
239
- // 路口已设置渠化,则总览默认显示渠化路口,未设置显示模版路口
240
- // if (this.isfromatc === true) {
241
- // this.$store.dispatch('SetShowHomePage', 'Graphical')
242
- // }
243
- this.handleReset()
244
- return new Promise((resolve, reject) => {
245
- getChannelizatonChart(this.AgentId).then(data => {
246
- if (!data.data.success) {
247
- // let parrenterror = getMessageByCode(data.data.code, this.$i18n.locale)
248
- // if (data.data.data) {
249
- // // 子类型错误
250
- // let childErrorCode = data.data.data.errorCode
251
- // if (childErrorCode) {
252
- // let childerror = getMessageByCode(data.data.data.errorCode, this.$i18n.locale)
253
- // this.$message.error(parrenterror + ',' + childerror)
254
- // }
255
- // } else {
256
- // this.$message.error(parrenterror)
257
- // }
258
- return
259
- }
260
- if (data.data.data === undefined || JSON.stringify(data.data.data) === '{}') return
261
- // if (this.isfromatc === true) {
262
- // this.$store.dispatch('SetShowHomePage', 'Channelization')
263
- // }
264
- this.handleReset()
265
- let channelizatondata = data.data.data
266
- resolve(channelizatondata)
267
- })
268
- })
269
- },
270
- getParentSize () {
271
- // 获取最外层dom尺寸,适配准备
272
- var _this = this
273
- this.$nextTick(function () {
274
- if (this.$el.parentElement === null || this.$el.parentElement === undefined) return
275
- this.bodyDomSize.width = this.$el.parentElement.clientWidth
276
- this.bodyDomWidth = this.bodyDomSize.width
277
- window.addEventListener('resize', () => {
278
- // 定义窗口大小变更通知事件
279
- if (_this.$el.parentElement === null || _this.$el.parentElement === undefined) return
280
- _this.bodyDomSize.width = _this.$el.parentElement.clientWidth
281
- this.bodyDomWidth = this.bodyDomSize.width
282
- console.log('resize this.bodyDomSize.width', _this.bodyDomSize.width)
283
- }, false)
284
- })
285
- }
286
- },
287
- created () {
288
- this.load()
289
- },
290
- mounted () {
291
- this.getParentSize()
292
- this.phasesStatisticsData = JSON.parse(JSON.stringify(this.phasesStatisticsList))
293
- this.createPhaseStatisticsMap()
294
- },
295
- destroyed () {
296
- this.handleReset()
297
- }
298
- }
299
- </script>
300
-
301
- <style lang="css" rel="stylesheet/scss">
302
- .show-channelization {
303
- position: relative;
304
- overflow: hidden;
305
- }
306
- .widescreenCrossImg {
307
- zoom: 1.3;
308
- }
309
- .superlargeCrossImg {
310
- zoom: 1.1;
311
- }
312
- .largeCrossImg {
313
- zoom: 1.1;
314
- }
315
- .middleCrossImg {
316
- zoom: 1;
317
- }
318
- .middleCrossImg2 {
319
- zoom: 0.8;
320
- }
321
- .smallCrossImg {
322
- zoom: 0.8;
323
- }
324
- .smallCrossImg2 {
325
- zoom: 0.8;
326
- }
327
- .miniCrossImg {
328
- zoom: 0.7;
329
- }
330
- .superminiCrossImg {
331
- zoom: 0.6;
332
- }
333
- .minimumCrossImg {
334
- zoom: 0.35;
335
- }
336
- .transMiddleCrossImg {
337
- -webkit-transform-origin-y: 0;
338
- transform: scale(0.55);
339
- margin-top: 3%;
340
- padding: 0PX;
341
- }
342
- .transMiddleCrossImg2 {
343
- -webkit-transform-origin-y: 0;
344
- transform: scale(0.27);
345
- margin-top: -1.5%;
346
- padding: 0PX;
347
- }
348
- .transMiddleCrossImg3 {
349
- -webkit-transform-origin-y: 0;
350
- transform: scale(0.22);
351
- margin-top: -1%;
352
- padding: 0PX;
353
- }
354
- .transMiniCrossImg {
355
- -webkit-transform-origin-y: 0;
356
- transform: scale(0.18);
357
- margin-top: -1.6%;
358
- padding: 0PX;
359
- }
360
- </style>
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
+ <template>
14
+ <div class="show-channelization channelization-base-map" :class="{
15
+ 'widescreenCrossImg': bodyDomWidth > 1680,
16
+ 'superlargeCrossImg': bodyDomWidth <= 1680 && bodyDomWidth > 1440,
17
+ 'largeCrossImg': bodyDomWidth <= 1440 && bodyDomWidth > 1280,
18
+ 'middleCrossImg2': bodyDomWidth <= 1280 && bodyDomWidth > 960,
19
+ 'smallCrossImg': bodyDomWidth <= 960 && bodyDomWidth > 890,
20
+ 'smallCrossImg2': bodyDomWidth <= 890 && bodyDomWidth > 720,
21
+ 'miniCrossImg': bodyDomWidth <= 720 && bodyDomWidth > 650,
22
+ 'superminiCrossImg': bodyDomWidth <= 650 && bodyDomWidth > 450,
23
+ 'transMiddleCrossImg': bodyDomWidth <= 450 && bodyDomWidth > 350,
24
+ 'transMiddleCrossImg2': bodyDomWidth <= 350 && bodyDomWidth > 300,
25
+ 'transMiddleCrossImg3': bodyDomWidth <= 300 && bodyDomWidth > 260,
26
+ 'transMiniCrossImg': bodyDomWidth <= 260,
27
+ 'changePaddingBottom': true }">
28
+ <ChannelizationElements
29
+ ref="channelizationElements"
30
+ UsageMode="show"
31
+ :allitem="allitem"
32
+ :CrossMapVisible="CrossMapVisible"
33
+ :CrossMapData="CrossMapData"
34
+ :isSeletable="isSeletable"
35
+ :Motorways="LanePhaseStatisticsData"
36
+ :Pedwalk="sidewalkPhaseData"
37
+ :Countdown="Countdown"
38
+ :customText="customText"
39
+ :textFontSize="textFontSize"
40
+ :Detector="DetectorData"
41
+ :bcgColor="bcgColor"
42
+ />
43
+ </div>
44
+ </template>
45
+
46
+ <script>
47
+ import ChannelizationElements from '../DrawChannelization/drawsvg/channelizationElements'
48
+ import { getChannelizatonChart } from '../../../api/cross'
49
+
50
+ export default {
51
+ name: 'channelization-flow-statistic',
52
+ components: {
53
+ ChannelizationElements
54
+ },
55
+ computed: {
56
+ },
57
+ props: {
58
+ phasesStatisticsList: {
59
+ type: Array,
60
+ default: () => []
61
+ },
62
+ AgentId: {
63
+ type: String,
64
+ default: '0'
65
+ },
66
+ resizeMap: { // 重新获取容器大小,调整底图大小
67
+ type: Boolean,
68
+ default: false
69
+ },
70
+ customText: {
71
+ type: String
72
+ },
73
+ bcgColor: {
74
+ type: String
75
+ },
76
+ textFontSize: {
77
+ type: String
78
+ }
79
+ },
80
+ watch: {
81
+ phasesStatisticsList: {
82
+ handler: function (val) {
83
+ // 相位统计数据数据
84
+ this.phasesStatisticsData = JSON.parse(JSON.stringify(val))
85
+ this.createPhaseStatisticsMap()
86
+ this.getLanePhaseStatusData()
87
+ },
88
+ // 深度观察监听
89
+ deep: true
90
+ },
91
+ AgentId: {
92
+ handler: function (val) {
93
+ // 平台设备切换时,重载当前路口保存的渠化配置
94
+ this.load('all')
95
+ },
96
+ deep: true
97
+ },
98
+ resizeMap: {
99
+ handler: function (newval, oldval) {
100
+ if (newval === true && oldval === false) {
101
+ this.getParentSize()
102
+ }
103
+ }
104
+ }
105
+ },
106
+ data () {
107
+ return {
108
+ isSeletable: false,
109
+ bodyDomWidth: 352,
110
+ bodyDomSize: {
111
+ width: 1920,
112
+ height: 1080
113
+ },
114
+ CrossMapVisible: true, // 控制底图显示隐藏
115
+ CrossMapData: {
116
+ x: 400,
117
+ y: 100,
118
+ w: 800,
119
+ h: 200,
120
+ angle: 0,
121
+ svgstr: '',
122
+ imgfilesrc: ''
123
+ }, // 管理底图数据
124
+ Motorways: [],
125
+ Texts: [],
126
+ Pedwalk: [],
127
+ Countdown: [],
128
+ Detector: [],
129
+ allitem: {
130
+ x: 435,
131
+ y: 325,
132
+ w: 870,
133
+ h: 650,
134
+ angle: 0
135
+ },
136
+ LanePhaseStatisticsData: [], // 车道相位数据
137
+ phasesStatisticsMap: new Map(), // 相位统计数据映射
138
+ colorMap: new Map([['A', '#009900'], ['B', '#00FF00'], ['C', '#FFFF00'], ['D', '#FF9900'], ['E', '#FF0000'], ['F', '#990000']]),
139
+ sidewalkPhaseData: [], // 行人相位
140
+ DetectorData: [] // 检测器数据(包括车辆和行人)
141
+ }
142
+ },
143
+ methods: {
144
+ createPhaseStatisticsMap () {
145
+ // 生成相位id和相位状态对应数据结构
146
+ this.phasesStatisticsData.map(phase => {
147
+ let phaseId = phase.phaseno
148
+ let phaseInfo = {
149
+ time: phase.time,
150
+ ...phase.phasestatistics
151
+ }
152
+ this.phasesStatisticsMap.set(phaseId, phaseInfo)
153
+ })
154
+ },
155
+ getLanePhaseStatusData () {
156
+ let curLanePhaseData = []
157
+ for (let i = 0; i < this.LanePhaseStatisticsData.length; i++) {
158
+ let curPhaseStatus
159
+ if (this.LanePhaseStatisticsData[i].phasetype === 'phase') {
160
+ console.log(this.phasesStatisticsMap)
161
+ curPhaseStatus = this.phasesStatisticsMap.get(this.LanePhaseStatisticsData[i].phaseid)
162
+ }
163
+ // if (!curPhaseStatus) continue // 没有关联相位的车道不显示
164
+ let data
165
+ if (curPhaseStatus) {
166
+ data = {
167
+ ...this.LanePhaseStatisticsData[i],
168
+ congestionindex: curPhaseStatus.congestionindex,
169
+ color: this.colorMap.get(curPhaseStatus.congestionindex)
170
+ }
171
+ } else {
172
+ // 没有关联的,或者没有对应状态的,车道显示默认白色
173
+ data = {
174
+ ...this.LanePhaseStatisticsData[i],
175
+ congestionindex: undefined,
176
+ color: '#fff'
177
+ }
178
+ }
179
+ curLanePhaseData.push(data)
180
+ }
181
+ this.LanePhaseStatisticsData = JSON.parse(JSON.stringify(curLanePhaseData))
182
+ },
183
+ // 加载
184
+ load (type) {
185
+ this.getChannelizatonChart().then((channelizatondata) => {
186
+ console.log(channelizatondata)
187
+ let savedTemp = JSON.parse(JSON.stringify(channelizatondata))
188
+ for (const [key, value] of Object.entries(savedTemp)) {
189
+ if (key === 'vehile') {
190
+ this.Motorways = value
191
+ }
192
+ if (key === 'text') {
193
+ this.Texts = value
194
+ }
195
+ if (key === 'ped') {
196
+ this.Pedwalk = value
197
+ }
198
+ if (key === 'countdown') {
199
+ this.Countdown = value
200
+ }
201
+ if (key === 'detector') {
202
+ this.Detector = value.filter(ele => ele.detailtype === 'detector')
203
+ }
204
+ if (key === 'crossMap') {
205
+ this.CrossMapData = JSON.parse(JSON.stringify(value))
206
+ }
207
+ }
208
+ this.isSeletable = false
209
+ // 从接口得到所有渠化车道和人行道数据
210
+ this.LanePhaseStatisticsData = JSON.parse(JSON.stringify(this.Motorways))
211
+ this.sidewalkPhaseData = JSON.parse(JSON.stringify(this.Pedwalk))
212
+ this.DetectorData = JSON.parse(JSON.stringify(this.Detector))
213
+ this.getLanePhaseStatusData()
214
+ })
215
+ },
216
+ // 重置
217
+ handleReset () {
218
+ this.Texts = []
219
+ this.Motorways = []
220
+ this.Countdown = []
221
+ this.phaseCountdownList = []
222
+ this.Pedwalk = []
223
+ this.Detector = []
224
+ this.CrossMapData = {
225
+ x: 400,
226
+ y: 100,
227
+ w: 800,
228
+ h: 200,
229
+ angle: 0,
230
+ svgstr: '',
231
+ imgfilesrc: ''
232
+ }
233
+ this.LanePhaseStatisticsData = []
234
+ this.sidewalkPhaseData = []
235
+ this.DetectorData = []
236
+ },
237
+ getChannelizatonChart () {
238
+ // let agentid = getIframdevid()
239
+ // 路口已设置渠化,则总览默认显示渠化路口,未设置显示模版路口
240
+ // if (this.isfromatc === true) {
241
+ // this.$store.dispatch('SetShowHomePage', 'Graphical')
242
+ // }
243
+ this.handleReset()
244
+ return new Promise((resolve, reject) => {
245
+ getChannelizatonChart(this.AgentId).then(data => {
246
+ if (!data.data.success) {
247
+ // let parrenterror = getMessageByCode(data.data.code, this.$i18n.locale)
248
+ // if (data.data.data) {
249
+ // // 子类型错误
250
+ // let childErrorCode = data.data.data.errorCode
251
+ // if (childErrorCode) {
252
+ // let childerror = getMessageByCode(data.data.data.errorCode, this.$i18n.locale)
253
+ // this.$message.error(parrenterror + ',' + childerror)
254
+ // }
255
+ // } else {
256
+ // this.$message.error(parrenterror)
257
+ // }
258
+ return
259
+ }
260
+ if (data.data.data === undefined || JSON.stringify(data.data.data) === '{}') return
261
+ // if (this.isfromatc === true) {
262
+ // this.$store.dispatch('SetShowHomePage', 'Channelization')
263
+ // }
264
+ this.handleReset()
265
+ let channelizatondata = data.data.data
266
+ resolve(channelizatondata)
267
+ })
268
+ })
269
+ },
270
+ getParentSize () {
271
+ // 获取最外层dom尺寸,适配准备
272
+ var _this = this
273
+ this.$nextTick(function () {
274
+ if (this.$el.parentElement === null || this.$el.parentElement === undefined) return
275
+ this.bodyDomSize.width = this.$el.parentElement.clientWidth
276
+ this.bodyDomWidth = this.bodyDomSize.width
277
+ window.addEventListener('resize', () => {
278
+ // 定义窗口大小变更通知事件
279
+ if (_this.$el.parentElement === null || _this.$el.parentElement === undefined) return
280
+ _this.bodyDomSize.width = _this.$el.parentElement.clientWidth
281
+ this.bodyDomWidth = this.bodyDomSize.width
282
+ console.log('resize this.bodyDomSize.width', _this.bodyDomSize.width)
283
+ }, false)
284
+ })
285
+ }
286
+ },
287
+ created () {
288
+ this.load()
289
+ },
290
+ mounted () {
291
+ this.getParentSize()
292
+ this.phasesStatisticsData = JSON.parse(JSON.stringify(this.phasesStatisticsList))
293
+ this.createPhaseStatisticsMap()
294
+ },
295
+ destroyed () {
296
+ this.handleReset()
297
+ }
298
+ }
299
+ </script>
300
+
301
+ <style lang="css" rel="stylesheet/scss">
302
+ .show-channelization {
303
+ position: relative;
304
+ overflow: hidden;
305
+ }
306
+ .widescreenCrossImg {
307
+ zoom: 1.3;
308
+ }
309
+ .superlargeCrossImg {
310
+ zoom: 1.1;
311
+ }
312
+ .largeCrossImg {
313
+ zoom: 1.1;
314
+ }
315
+ .middleCrossImg {
316
+ zoom: 1;
317
+ }
318
+ .middleCrossImg2 {
319
+ zoom: 0.8;
320
+ }
321
+ .smallCrossImg {
322
+ zoom: 0.8;
323
+ }
324
+ .smallCrossImg2 {
325
+ zoom: 0.8;
326
+ }
327
+ .miniCrossImg {
328
+ zoom: 0.7;
329
+ }
330
+ .superminiCrossImg {
331
+ zoom: 0.6;
332
+ }
333
+ .minimumCrossImg {
334
+ zoom: 0.35;
335
+ }
336
+ .transMiddleCrossImg {
337
+ -webkit-transform-origin-y: 0;
338
+ transform: scale(0.55);
339
+ margin-top: 3%;
340
+ padding: 0PX;
341
+ }
342
+ .transMiddleCrossImg2 {
343
+ -webkit-transform-origin-y: 0;
344
+ transform: scale(0.27);
345
+ margin-top: -1.5%;
346
+ padding: 0PX;
347
+ }
348
+ .transMiddleCrossImg3 {
349
+ -webkit-transform-origin-y: 0;
350
+ transform: scale(0.22);
351
+ margin-top: -1%;
352
+ padding: 0PX;
353
+ }
354
+ .transMiniCrossImg {
355
+ -webkit-transform-origin-y: 0;
356
+ transform: scale(0.18);
357
+ margin-top: -1.6%;
358
+ padding: 0PX;
359
+ }
360
+ </style>