openatc-components 0.1.166 → 0.1.167

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