openatc-components 0.1.22 → 0.1.24

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