openatc-components 0.0.79 → 0.0.80

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 (294) 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 +89 -89
  23. package/package/kisscomps/components/BoardCard/index.js +2 -2
  24. package/package/kisscomps/components/CommonKanban/CommonKanban.vue +118 -118
  25. package/package/kisscomps/components/CommonKanban/index.js +2 -2
  26. package/package/kisscomps/components/ExpendConfig/ExpendConfig.vue +114 -114
  27. package/package/kisscomps/components/ExpendConfig/index.js +2 -2
  28. package/package/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +170 -170
  29. package/package/kisscomps/components/FaultDetailModal/index.js +2 -2
  30. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +497 -497
  31. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  32. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PatternWalkSvg.vue +429 -429
  33. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +300 -300
  34. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +288 -288
  35. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +391 -391
  36. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +336 -336
  37. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +345 -345
  38. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +389 -389
  39. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1179 -1179
  40. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +402 -402
  41. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +361 -361
  42. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +368 -368
  43. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +475 -475
  44. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +494 -494
  45. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +401 -401
  46. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +360 -360
  47. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +367 -367
  48. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +476 -476
  49. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  50. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  51. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  52. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  53. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  54. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  55. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +912 -912
  56. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +112 -112
  57. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +112 -112
  58. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +111 -111
  59. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  60. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  61. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +99 -99
  62. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +99 -99
  63. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  64. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +99 -99
  65. package/package/kisscomps/components/IntersectionMap/crossDirection/utils.js +78 -78
  66. package/package/kisscomps/components/IntersectionMap/index.js +2 -2
  67. package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +153 -153
  68. package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +518 -518
  69. package/package/kisscomps/components/IntersectionWithInterface/index.js +2 -2
  70. package/package/kisscomps/components/KanBan/index.js +2 -2
  71. package/package/kisscomps/components/KanBan/kanban.vue +219 -219
  72. package/package/kisscomps/components/OverLap/OverLap.vue +207 -207
  73. package/package/kisscomps/components/OverLap/index.js +2 -2
  74. package/package/kisscomps/components/PatternStatus/PatternStatus.vue +886 -886
  75. package/package/kisscomps/components/PatternStatus/index.js +2 -2
  76. package/package/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +418 -418
  77. package/package/kisscomps/components/PatternWalkSvg/index.js +2 -2
  78. package/package/kisscomps/components/PhaseMarker/index.js +6 -6
  79. package/package/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  80. package/package/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  81. package/package/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  82. package/package/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  83. package/package/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  84. package/package/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  85. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +739 -739
  86. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +195 -195
  87. package/package/kisscomps/components/SchemeConfig/index.js +2 -2
  88. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +198 -198
  89. package/package/kisscomps/components/SchemeConfig/manualControlModal/index.vue +219 -219
  90. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +263 -263
  91. package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +1384 -1384
  92. package/package/kisscomps/components/StageBord/StageBord.vue +242 -242
  93. package/package/kisscomps/components/StageBord/index.js +2 -2
  94. package/package/kisscomps/components/StageStatus/StageStatus.vue +306 -306
  95. package/package/kisscomps/components/StageStatus/index.js +2 -2
  96. package/package/kisscomps/components/Stages/index.vue +139 -121
  97. package/package/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  98. package/package/kisscomps/components/SvgIcon/index.js +2 -2
  99. package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +522 -522
  100. package/package/kisscomps/components/XRDDirSelector/index.js +2 -2
  101. package/package/kisscomps/components/overView/index.vue +676 -676
  102. package/package/kisscomps/components/patternList/index.js +2 -2
  103. package/package/kisscomps/components/patternList/patternList.vue +562 -562
  104. package/package/kisscomps/index.js +92 -92
  105. package/package/kissui.min.js +1 -1
  106. package/package.json +1 -1
  107. package/src/App.vue +24 -24
  108. package/src/EdgeMgr/EdgeModelBase.js +16 -16
  109. package/src/EdgeMgr/controller/crossDiagramMgr.js +120 -120
  110. package/src/api/authapi.js +31 -31
  111. package/src/api/config.js +21 -21
  112. package/src/api/control.js +76 -76
  113. package/src/api/fault.js +66 -66
  114. package/src/api/index.js +24 -24
  115. package/src/api/login.js +46 -46
  116. package/src/api/optimize.js +72 -72
  117. package/src/api/param.js +154 -154
  118. package/src/api/passwdAssest.js +101 -101
  119. package/src/api/template.js +27 -27
  120. package/src/i18n/index.js +26 -26
  121. package/src/i18n/language/en.js +1111 -1111
  122. package/src/i18n/language/index.js +25 -25
  123. package/src/i18n/language/zh.js +1110 -1110
  124. package/src/icons/demo.css +539 -539
  125. package/src/icons/iconfont.css +835 -835
  126. package/src/icons/iconfont.json +1444 -1444
  127. package/src/icons/index.js +20 -20
  128. package/src/icons/svg/bendi.svg +110 -110
  129. package/src/icons/svg/bujin.svg +36 -36
  130. package/src/icons/svg/connectBlue.svg +7 -7
  131. package/src/icons/svg/currentvolume.svg +0 -0
  132. package/src/icons/svg/cutRed.svg +7 -7
  133. package/src/icons/svg/cycle.svg +0 -0
  134. package/src/icons/svg/dingzhouqi.svg +34 -34
  135. package/src/icons/svg/ganyingkongzhi.svg +30 -30
  136. package/src/icons/svg/guandeng.svg +81 -81
  137. package/src/icons/svg/huangshan.svg +71 -71
  138. package/src/icons/svg/maincontrol.svg +0 -0
  139. package/src/icons/svg/manualcontrolbackground.svg +51 -51
  140. package/src/icons/svg/manualcontrolbackground1.svg +62 -62
  141. package/src/icons/svg/manualcontrolbackgrounden.svg +62 -62
  142. package/src/icons/svg/model.svg +0 -0
  143. package/src/icons/svg/phasediff.svg +0 -0
  144. package/src/icons/svg/quanhong.svg +86 -86
  145. package/src/icons/svg/shanghe.svg +11 -11
  146. package/src/icons/svg/shoudong.svg +103 -103
  147. package/src/icons/svg/time.svg +0 -0
  148. package/src/icons/svg/wuxianlan.svg +46 -46
  149. package/src/icons/svg/xiala.svg +11 -11
  150. package/src/icons/svg/xingrenguojie.svg +33 -33
  151. package/src/icons/svg/xitong.svg +89 -89
  152. package/src/icons/svg/youxian.svg +41 -41
  153. package/src/icons/svg/zizhukongzhi.svg +43 -43
  154. package/src/kisscomps/components/BoardCard/BoardCard.vue +89 -89
  155. package/src/kisscomps/components/BoardCard/index.js +2 -2
  156. package/src/kisscomps/components/CommonKanban/CommonKanban.vue +118 -118
  157. package/src/kisscomps/components/CommonKanban/index.js +2 -2
  158. package/src/kisscomps/components/ExpendConfig/ExpendConfig.vue +114 -114
  159. package/src/kisscomps/components/ExpendConfig/index.js +2 -2
  160. package/src/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +170 -170
  161. package/src/kisscomps/components/FaultDetailModal/index.js +2 -2
  162. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +497 -497
  163. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  164. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PatternWalkSvg.vue +429 -429
  165. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +300 -300
  166. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +288 -288
  167. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +391 -391
  168. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +336 -336
  169. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +345 -345
  170. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +389 -389
  171. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1179 -1179
  172. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +402 -402
  173. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +361 -361
  174. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +368 -368
  175. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +475 -475
  176. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +494 -494
  177. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +401 -401
  178. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +360 -360
  179. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +367 -367
  180. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +476 -476
  181. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  182. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  183. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  184. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  185. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  186. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  187. package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +912 -912
  188. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +112 -112
  189. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +112 -112
  190. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +111 -111
  191. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  192. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  193. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +99 -99
  194. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +99 -99
  195. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  196. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +99 -99
  197. package/src/kisscomps/components/IntersectionMap/crossDirection/utils.js +78 -78
  198. package/src/kisscomps/components/IntersectionMap/index.js +2 -2
  199. package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +153 -153
  200. package/src/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +518 -518
  201. package/src/kisscomps/components/IntersectionWithInterface/index.js +2 -2
  202. package/src/kisscomps/components/KanBan/index.js +2 -2
  203. package/src/kisscomps/components/KanBan/kanban.vue +219 -219
  204. package/src/kisscomps/components/OverLap/OverLap.vue +207 -207
  205. package/src/kisscomps/components/OverLap/index.js +2 -2
  206. package/src/kisscomps/components/PatternStatus/PatternStatus.vue +886 -886
  207. package/src/kisscomps/components/PatternStatus/index.js +2 -2
  208. package/src/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +418 -418
  209. package/src/kisscomps/components/PatternWalkSvg/index.js +2 -2
  210. package/src/kisscomps/components/PhaseMarker/index.js +6 -6
  211. package/src/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  212. package/src/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  213. package/src/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  214. package/src/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  215. package/src/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  216. package/src/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  217. package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +739 -739
  218. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +195 -195
  219. package/src/kisscomps/components/SchemeConfig/index.js +2 -2
  220. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +198 -198
  221. package/src/kisscomps/components/SchemeConfig/manualControlModal/index.vue +219 -219
  222. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +263 -263
  223. package/src/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +1384 -1384
  224. package/src/kisscomps/components/StageBord/StageBord.vue +242 -242
  225. package/src/kisscomps/components/StageBord/index.js +2 -2
  226. package/src/kisscomps/components/StageStatus/StageStatus.vue +306 -306
  227. package/src/kisscomps/components/StageStatus/index.js +2 -2
  228. package/src/kisscomps/components/Stages/index.vue +139 -121
  229. package/src/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  230. package/src/kisscomps/components/SvgIcon/index.js +2 -2
  231. package/src/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +522 -522
  232. package/src/kisscomps/components/XRDDirSelector/index.js +2 -2
  233. package/src/kisscomps/components/overView/index.vue +676 -676
  234. package/src/kisscomps/components/patternList/index.js +2 -2
  235. package/src/kisscomps/components/patternList/patternList.vue +562 -562
  236. package/src/kisscomps/index.js +92 -92
  237. package/src/lib/publicjs/ArryListUtil.js +38 -38
  238. package/src/lib/publicjs/HttpurlMgr.js +45 -45
  239. package/src/lib/publicjs/KissApi.js +158 -158
  240. package/src/lib/publicjs/KissWSSub/Heartcheck.js +128 -128
  241. package/src/lib/publicjs/KissWSSub/KissWsSub.js +91 -91
  242. package/src/lib/publicjs/KissWSSub/KissWsSubByType.js +152 -152
  243. package/src/lib/publicjs/KissWSSub/SimuWsSubByType.js +44 -44
  244. package/src/lib/publicjs/KissWSSub/Sub.js +51 -51
  245. package/src/lib/publicjs/KissWSSub/SubChannel.js +119 -119
  246. package/src/lib/publicjs/basecomponents.js +65 -65
  247. package/src/lib/publicjs/localStorage.js +112 -112
  248. package/src/lib/publicjs/objdeepcopy.js +32 -32
  249. package/src/lib/publicjs/pageScroll.js +30 -30
  250. package/src/lib/publicjs/passwdAssest.js +101 -101
  251. package/src/lib/publicjs/styleclassfactory.js +32 -32
  252. package/src/main.js +47 -47
  253. package/src/router/index.js +36 -36
  254. package/src/store/getters.js +16 -16
  255. package/src/store/index.js +26 -26
  256. package/src/store/modules/globalParam.js +27 -27
  257. package/src/utils/ControlFormat.js +68 -68
  258. package/src/utils/RingDataModel.js +180 -180
  259. package/src/utils/auth.js +111 -111
  260. package/src/utils/dateFormat.js +41 -41
  261. package/src/utils/errorcode.js +224 -224
  262. package/src/utils/fault.js +195 -195
  263. package/src/utils/faultcode.js +209 -209
  264. package/src/utils/index.js +69 -69
  265. package/src/utils/pedphasedesc.js +119 -119
  266. package/src/utils/phasedesc.js +124 -124
  267. package/src/utils/responseMessage.js +21 -21
  268. package/src/utils/validate.js +43 -43
  269. package/src/views/home.1.vue +479 -479
  270. package/src/views/home.vue +78 -78
  271. package/src/views/intersection.vue +276 -276
  272. package/src/views/overView.vue +41 -41
  273. package/src/views/schemeconfig.vue +154 -154
  274. package/static/apiconfig.json +336 -336
  275. package/static/styles/common.scss +19 -19
  276. package/static/styles/commonkanban.scss +87 -87
  277. package/static/styles/dark/index.scss +2 -2
  278. package/static/styles/dark/theme/element-dark.scss +42 -42
  279. package/static/styles/index.scss +84 -84
  280. package/static/styles/intersection.scss +170 -170
  281. package/static/styles/light/index.scss +2 -2
  282. package/static/styles/light/theme/element-light.scss +42 -42
  283. package/static/styles/overview.scss +371 -371
  284. package/static/styles/schemeconfig.scss +405 -405
  285. package/static/styles/stages.scss +64 -64
  286. package/static/token.json +2 -2
  287. package/test/e2e/custom-assertions/elementCount.js +27 -27
  288. package/test/e2e/nightwatch.conf.js +46 -46
  289. package/test/e2e/runner.js +48 -48
  290. package/test/e2e/specs/test.js +19 -19
  291. package/test/unit/.eslintrc +7 -7
  292. package/test/unit/jest.conf.js +30 -30
  293. package/test/unit/setup.js +3 -3
  294. package/test/unit/specs/HelloWorld.spec.js +11 -11
@@ -1,306 +1,306 @@
1
- /**
2
- * Copyright (c) 2020 kedacom
3
- * OpenATC is licensed under Mulan PSL v2.
4
- * You can use this software according to the terms and conditions of the Mulan PSL v2.
5
- * You may obtain a copy of Mulan PSL v2 at:
6
- * http://license.coscl.org.cn/MulanPSL2
7
- * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
8
- * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
9
- * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
10
- * See the Mulan PSL v2 for more details.
11
- **/
12
- <template>
13
- <div class="main-statgestatus">
14
- <div class="stage-line" v-show="numList.length>0"></div>
15
- <div v-for="(item, index) in numList" :key="index + '1'">
16
- <div class="stage-verticalline" :style="{'margin-left':item}"></div>
17
- </div>
18
- <div v-for="(item, index) in narr" :key="index + '2'">
19
- <div class="stage-text" :style="{'left':item}"><span class="stage-span">S{{index + 1}}</span></div>
20
- </div>
21
- </div>
22
- </template>
23
- <script>
24
-
25
- export default {
26
- name: 'stage-status',
27
- components: {},
28
- data () {
29
- return {
30
- // stageList: [],
31
- numList: [],
32
- stateList: [],
33
- narr: [],
34
- max: '',
35
- stageStatusList: []
36
- // stageLineStatus: false
37
- }
38
- },
39
- props: {
40
- patternStatusList: {
41
- type: Array
42
- },
43
- contrloType: {
44
- type: String
45
- },
46
- localPatternList: {
47
- type: Array
48
- },
49
- controlData: {
50
- type: Object
51
- }
52
- },
53
- watch: {
54
- controlData: {
55
- handler: function (val, oldVal) {
56
- // this.handleStages() // 计算屏障高度
57
- if (this.contrloType === 'stage') {
58
- this.getStageLine()
59
- } else {
60
- this.getPhaseId(this.controlData)
61
- }
62
- },
63
- // 深度观察监听
64
- deep: true
65
- },
66
- patternStatusList: {
67
- handler: function (val, oldVal) {
68
- // this.handleStages() // 计算屏障高度
69
- this.getPhaseId(this.patternStatusList)
70
- },
71
- // 深度观察监听
72
- deep: true
73
- }
74
- },
75
- created () {
76
- if (this.patternStatusList && this.patternStatusList.length > 1) {
77
- this.getPhaseId(this.patternStatusList)
78
- }
79
- if (this.localPatternList) {
80
- this.getStageLine()
81
- }
82
- if (this.controlData) {
83
- // this.stageLineStatus = true
84
- this.getPhaseId(this.controlData)
85
- }
86
- },
87
- mounted () {
88
- },
89
- beforeUpdate () {
90
- if (this.patternStatusList && this.patternStatusList.length > 1) {
91
- this.getPhaseId(this.patternStatusList)
92
- } else if (this.patternStatusList && this.patternStatusList.length === 1) {
93
- this.handleStages()
94
- }
95
- },
96
- methods: {
97
- getStageLine () {
98
- if (this.localPatternList.length === 0) return
99
- for (let i = 0; i < this.localPatternList.length; i++) {
100
- if (this.controlData.patternid === this.localPatternList[i].id) {
101
- if (!this.localPatternList[i].stagesList) return
102
- let stageCycleList = this.localPatternList[i].stagesList.map(item => {
103
- return item.stageSplit ? item.stageSplit : 0
104
- })
105
- let stageMaxCyle = stageCycleList.reduce((a, b) => {
106
- return a + b
107
- }, 0)
108
- this.addList(stageCycleList, stageMaxCyle)
109
- this.stageLists = this.localPatternList[i].stagesList.map(item => {
110
- return {
111
- ...item,
112
- greenWidth: (item.green / stageMaxCyle * 100).toFixed(3) + '%',
113
- yellowWidth: (item.yellow / stageMaxCyle * 100).toFixed(3) + '%',
114
- redWidth: (item.red / stageMaxCyle * 100).toFixed(3) + '%'
115
- }
116
- })
117
- }
118
- }
119
- },
120
- addList (baseArr, maxCycle) {
121
- this.narr = []
122
- // this.stageLineStatus = true
123
- let setArr = []
124
- let currNum = 0
125
- baseArr.forEach((item, index) => {
126
- if (index === 0) {
127
- setArr.push(baseArr[index])
128
- } else {
129
- if (currNum) {
130
- currNum = baseArr[index] + currNum
131
- } else {
132
- currNum = baseArr[index] + baseArr[index - 1]
133
- }
134
- setArr.push(currNum)
135
- }
136
- })
137
- this.numList = setArr.map(item => {
138
- return (item / maxCycle * 100).toFixed(3) + '%'
139
- })
140
- this.numList.unshift(0)
141
- for (let i = this.numList.length - 1; i >= 1; i--) {
142
- this.narr.push((Number.parseFloat(this.numList[i]) - Number.parseFloat(this.numList[i - 1])) / 2 + Number.parseFloat(this.numList[i - 1]) - 1 + '%')
143
- }
144
- this.narr = JSON.parse(JSON.stringify(this.narr.reverse()))
145
- },
146
- getControl (newList) { // 总揽实时数据
147
- let currentIds = ''
148
- let lastCurrentIds = ''
149
- this.stateList = [0]
150
- this.narr = []
151
- for (let j = 0; j <= this.max; j++) { // 指针长度
152
- for (let i = 0; i < newList.length; i++) { // 环列表
153
- let ring = newList[i]// 每个环对象
154
- let sum = 0
155
- for (let n = 0; n < ring.length; n++) { // 相位累计长度
156
- if (ring[n].mode !== 7) {
157
- if (this.controlData) {
158
- sum = sum + ring[n].split
159
- } else {
160
- sum = sum + ring[n].value
161
- }
162
- if (j < sum) {
163
- let phaseId = ring[n].id
164
- currentIds = currentIds + '-' + phaseId
165
- break
166
- }
167
- }
168
- }
169
- }
170
- if (lastCurrentIds !== currentIds && lastCurrentIds !== '') { // 当前相位id和上一个相比不同说明相位变化了
171
- this.stateList.push(j)// 阶段累计长度的集合
172
- }
173
- lastCurrentIds = currentIds
174
- currentIds = ''
175
- this.numList = this.stateList.map(item => {
176
- return (item / this.max * 100).toFixed(3) + '%'
177
- })
178
- }
179
- },
180
- getPhaseId (rings) { // 画阶段方法
181
- rings = JSON.parse(JSON.stringify(rings))
182
- if (rings.length === 0) {
183
- // this.stageLineStatus = false
184
- return
185
- }
186
- // this.stageLineStatus = true
187
- if (this.controlData) {
188
- if (!rings.rings) return
189
- let mapAdd = rings.phase.map(item => {
190
- return {
191
- id: item.id,
192
- split: item.split
193
- }
194
- })
195
- let newRings = rings.rings.map(j => {
196
- return j.sequence
197
- })
198
- let newList = newRings.map(item => {
199
- let ret = []
200
- item.map(i => {
201
- const find = mapAdd.find(j => j.id === i)
202
- if (find) {
203
- ret.push(find)
204
- }
205
- })
206
- return ret
207
- })
208
- let mapAdds = newList.map(item => {
209
- return item.map(val => {
210
- return val.split
211
- })
212
- })
213
- let maxCycle = mapAdds.length > 0 ? mapAdds.map(item => {
214
- return item.length > 0 ? item.reduce((a, b) => {
215
- return a + b
216
- }) : 0
217
- }) : 0
218
- this.max = Math.max(...maxCycle)// 每个环的周期最大值
219
- this.getControl(newList)
220
- } else {
221
- let mapAdd = rings.map(item => {
222
- return item.map(val => {
223
- return val.value
224
- })
225
- })
226
- let maxCycle = mapAdd.length > 0 ? mapAdd.map(item => {
227
- return item.length > 0 ? item.reduce((a, b) => {
228
- return a + b
229
- }) : 0
230
- }) : 0
231
- this.max = Math.max(...maxCycle)// 每个环的周期最大值
232
- this.getControl(rings)
233
- }
234
- for (let i = this.numList.length - 1; i >= 1; i--) {
235
- this.narr.push((Number.parseFloat(this.numList[i]) - Number.parseFloat(this.numList[i - 1])) / 2 + Number.parseFloat(this.numList[i - 1]) - 1 + '%')
236
- }
237
- this.narr = JSON.parse(JSON.stringify(this.narr.reverse()))
238
- },
239
- handleStages () {
240
- this.numList = [0]
241
- this.narr = []
242
- if (this.patternStatusList.length === 0) {
243
- // this.stageLineStatus = false
244
- return
245
- }
246
- // this.stageLineStatus = true
247
- let firstPatternStatusList = this.patternStatusList[0]
248
- let stageLength = 0
249
- let stageStatusLength = 0
250
- for (let i = 0; i < firstPatternStatusList.length; i++) {
251
- let tempLength = Number.parseFloat(firstPatternStatusList[i].greenWidth) + Number.parseFloat(firstPatternStatusList[i].redWidth) + Number.parseFloat(firstPatternStatusList[i].yellowWidth)
252
- stageStatusLength = stageLength + tempLength / 2 - 1
253
- stageLength = stageLength + tempLength
254
- this.numList.push(stageLength + '%')
255
- this.narr.push(stageStatusLength + '%')
256
- }
257
- }
258
- },
259
- computed: {
260
- }
261
- }
262
- </script>
263
- <style lang="scss" scoped>
264
- .main-statgestatus {
265
- position: relative;
266
- margin-bottom: 30px;
267
- }
268
- .stage-line {
269
- position: relative;
270
- top: 7px;
271
- width: 100%;
272
- height: 1px;
273
- background-color: #FFFFFF;
274
- z-index:1;
275
- }
276
- .stage-verticalline {
277
- position: absolute;
278
- float: left;
279
- width: 1px;
280
- height: 14px;
281
- background-color: #FFFFFF;
282
- z-index:2;
283
- }
284
- .stage-text {
285
- position: absolute;
286
- float: left;
287
- width: 25px;
288
- text-align: center;
289
- background-color: #202940;
290
- z-index:3;
291
- }
292
- .stage-span {
293
- // position: relative;
294
- bottom: 3px;
295
- left: 5px;
296
- width: 15px;
297
- height: 14px;
298
- font-size: 14px;
299
- font-weight: normal;
300
- font-stretch: normal;
301
- line-height: 20px;
302
- letter-spacing: 0px;
303
- background-color: #202940;
304
- color: #FFFFFF;
305
- }
306
- </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
+ <template>
13
+ <div class="main-statgestatus">
14
+ <div class="stage-line" v-show="numList.length>0"></div>
15
+ <div v-for="(item, index) in numList" :key="index + '1'">
16
+ <div class="stage-verticalline" :style="{'margin-left':item}"></div>
17
+ </div>
18
+ <div v-for="(item, index) in narr" :key="index + '2'">
19
+ <div class="stage-text" :style="{'left':item}"><span class="stage-span">S{{index + 1}}</span></div>
20
+ </div>
21
+ </div>
22
+ </template>
23
+ <script>
24
+
25
+ export default {
26
+ name: 'stage-status',
27
+ components: {},
28
+ data () {
29
+ return {
30
+ // stageList: [],
31
+ numList: [],
32
+ stateList: [],
33
+ narr: [],
34
+ max: '',
35
+ stageStatusList: []
36
+ // stageLineStatus: false
37
+ }
38
+ },
39
+ props: {
40
+ patternStatusList: {
41
+ type: Array
42
+ },
43
+ contrloType: {
44
+ type: String
45
+ },
46
+ localPatternList: {
47
+ type: Array
48
+ },
49
+ controlData: {
50
+ type: Object
51
+ }
52
+ },
53
+ watch: {
54
+ controlData: {
55
+ handler: function (val, oldVal) {
56
+ // this.handleStages() // 计算屏障高度
57
+ if (this.contrloType === 'stage') {
58
+ this.getStageLine()
59
+ } else {
60
+ this.getPhaseId(this.controlData)
61
+ }
62
+ },
63
+ // 深度观察监听
64
+ deep: true
65
+ },
66
+ patternStatusList: {
67
+ handler: function (val, oldVal) {
68
+ // this.handleStages() // 计算屏障高度
69
+ this.getPhaseId(this.patternStatusList)
70
+ },
71
+ // 深度观察监听
72
+ deep: true
73
+ }
74
+ },
75
+ created () {
76
+ if (this.patternStatusList && this.patternStatusList.length > 1) {
77
+ this.getPhaseId(this.patternStatusList)
78
+ }
79
+ if (this.localPatternList) {
80
+ this.getStageLine()
81
+ }
82
+ if (this.controlData) {
83
+ // this.stageLineStatus = true
84
+ this.getPhaseId(this.controlData)
85
+ }
86
+ },
87
+ mounted () {
88
+ },
89
+ beforeUpdate () {
90
+ if (this.patternStatusList && this.patternStatusList.length > 1) {
91
+ this.getPhaseId(this.patternStatusList)
92
+ } else if (this.patternStatusList && this.patternStatusList.length === 1) {
93
+ this.handleStages()
94
+ }
95
+ },
96
+ methods: {
97
+ getStageLine () {
98
+ if (this.localPatternList.length === 0) return
99
+ for (let i = 0; i < this.localPatternList.length; i++) {
100
+ if (this.controlData.patternid === this.localPatternList[i].id) {
101
+ if (!this.localPatternList[i].stagesList) return
102
+ let stageCycleList = this.localPatternList[i].stagesList.map(item => {
103
+ return item.stageSplit ? item.stageSplit : 0
104
+ })
105
+ let stageMaxCyle = stageCycleList.reduce((a, b) => {
106
+ return a + b
107
+ }, 0)
108
+ this.addList(stageCycleList, stageMaxCyle)
109
+ this.stageLists = this.localPatternList[i].stagesList.map(item => {
110
+ return {
111
+ ...item,
112
+ greenWidth: (item.green / stageMaxCyle * 100).toFixed(3) + '%',
113
+ yellowWidth: (item.yellow / stageMaxCyle * 100).toFixed(3) + '%',
114
+ redWidth: (item.red / stageMaxCyle * 100).toFixed(3) + '%'
115
+ }
116
+ })
117
+ }
118
+ }
119
+ },
120
+ addList (baseArr, maxCycle) {
121
+ this.narr = []
122
+ // this.stageLineStatus = true
123
+ let setArr = []
124
+ let currNum = 0
125
+ baseArr.forEach((item, index) => {
126
+ if (index === 0) {
127
+ setArr.push(baseArr[index])
128
+ } else {
129
+ if (currNum) {
130
+ currNum = baseArr[index] + currNum
131
+ } else {
132
+ currNum = baseArr[index] + baseArr[index - 1]
133
+ }
134
+ setArr.push(currNum)
135
+ }
136
+ })
137
+ this.numList = setArr.map(item => {
138
+ return (item / maxCycle * 100).toFixed(3) + '%'
139
+ })
140
+ this.numList.unshift(0)
141
+ for (let i = this.numList.length - 1; i >= 1; i--) {
142
+ this.narr.push((Number.parseFloat(this.numList[i]) - Number.parseFloat(this.numList[i - 1])) / 2 + Number.parseFloat(this.numList[i - 1]) - 1 + '%')
143
+ }
144
+ this.narr = JSON.parse(JSON.stringify(this.narr.reverse()))
145
+ },
146
+ getControl (newList) { // 总揽实时数据
147
+ let currentIds = ''
148
+ let lastCurrentIds = ''
149
+ this.stateList = [0]
150
+ this.narr = []
151
+ for (let j = 0; j <= this.max; j++) { // 指针长度
152
+ for (let i = 0; i < newList.length; i++) { // 环列表
153
+ let ring = newList[i]// 每个环对象
154
+ let sum = 0
155
+ for (let n = 0; n < ring.length; n++) { // 相位累计长度
156
+ if (ring[n].mode !== 7) {
157
+ if (this.controlData) {
158
+ sum = sum + ring[n].split
159
+ } else {
160
+ sum = sum + ring[n].value
161
+ }
162
+ if (j < sum) {
163
+ let phaseId = ring[n].id
164
+ currentIds = currentIds + '-' + phaseId
165
+ break
166
+ }
167
+ }
168
+ }
169
+ }
170
+ if (lastCurrentIds !== currentIds && lastCurrentIds !== '') { // 当前相位id和上一个相比不同说明相位变化了
171
+ this.stateList.push(j)// 阶段累计长度的集合
172
+ }
173
+ lastCurrentIds = currentIds
174
+ currentIds = ''
175
+ this.numList = this.stateList.map(item => {
176
+ return (item / this.max * 100).toFixed(3) + '%'
177
+ })
178
+ }
179
+ },
180
+ getPhaseId (rings) { // 画阶段方法
181
+ rings = JSON.parse(JSON.stringify(rings))
182
+ if (rings.length === 0) {
183
+ // this.stageLineStatus = false
184
+ return
185
+ }
186
+ // this.stageLineStatus = true
187
+ if (this.controlData) {
188
+ if (!rings.rings) return
189
+ let mapAdd = rings.phase.map(item => {
190
+ return {
191
+ id: item.id,
192
+ split: item.split
193
+ }
194
+ })
195
+ let newRings = rings.rings.map(j => {
196
+ return j.sequence
197
+ })
198
+ let newList = newRings.map(item => {
199
+ let ret = []
200
+ item.map(i => {
201
+ const find = mapAdd.find(j => j.id === i)
202
+ if (find) {
203
+ ret.push(find)
204
+ }
205
+ })
206
+ return ret
207
+ })
208
+ let mapAdds = newList.map(item => {
209
+ return item.map(val => {
210
+ return val.split
211
+ })
212
+ })
213
+ let maxCycle = mapAdds.length > 0 ? mapAdds.map(item => {
214
+ return item.length > 0 ? item.reduce((a, b) => {
215
+ return a + b
216
+ }) : 0
217
+ }) : 0
218
+ this.max = Math.max(...maxCycle)// 每个环的周期最大值
219
+ this.getControl(newList)
220
+ } else {
221
+ let mapAdd = rings.map(item => {
222
+ return item.map(val => {
223
+ return val.value
224
+ })
225
+ })
226
+ let maxCycle = mapAdd.length > 0 ? mapAdd.map(item => {
227
+ return item.length > 0 ? item.reduce((a, b) => {
228
+ return a + b
229
+ }) : 0
230
+ }) : 0
231
+ this.max = Math.max(...maxCycle)// 每个环的周期最大值
232
+ this.getControl(rings)
233
+ }
234
+ for (let i = this.numList.length - 1; i >= 1; i--) {
235
+ this.narr.push((Number.parseFloat(this.numList[i]) - Number.parseFloat(this.numList[i - 1])) / 2 + Number.parseFloat(this.numList[i - 1]) - 1 + '%')
236
+ }
237
+ this.narr = JSON.parse(JSON.stringify(this.narr.reverse()))
238
+ },
239
+ handleStages () {
240
+ this.numList = [0]
241
+ this.narr = []
242
+ if (this.patternStatusList.length === 0) {
243
+ // this.stageLineStatus = false
244
+ return
245
+ }
246
+ // this.stageLineStatus = true
247
+ let firstPatternStatusList = this.patternStatusList[0]
248
+ let stageLength = 0
249
+ let stageStatusLength = 0
250
+ for (let i = 0; i < firstPatternStatusList.length; i++) {
251
+ let tempLength = Number.parseFloat(firstPatternStatusList[i].greenWidth) + Number.parseFloat(firstPatternStatusList[i].redWidth) + Number.parseFloat(firstPatternStatusList[i].yellowWidth)
252
+ stageStatusLength = stageLength + tempLength / 2 - 1
253
+ stageLength = stageLength + tempLength
254
+ this.numList.push(stageLength + '%')
255
+ this.narr.push(stageStatusLength + '%')
256
+ }
257
+ }
258
+ },
259
+ computed: {
260
+ }
261
+ }
262
+ </script>
263
+ <style lang="scss" scoped>
264
+ .main-statgestatus {
265
+ position: relative;
266
+ margin-bottom: 30px;
267
+ }
268
+ .stage-line {
269
+ position: relative;
270
+ top: 7px;
271
+ width: 100%;
272
+ height: 1px;
273
+ background-color: #FFFFFF;
274
+ z-index:1;
275
+ }
276
+ .stage-verticalline {
277
+ position: absolute;
278
+ float: left;
279
+ width: 1px;
280
+ height: 14px;
281
+ background-color: #FFFFFF;
282
+ z-index:2;
283
+ }
284
+ .stage-text {
285
+ position: absolute;
286
+ float: left;
287
+ width: 25px;
288
+ text-align: center;
289
+ background-color: #202940;
290
+ z-index:3;
291
+ }
292
+ .stage-span {
293
+ // position: relative;
294
+ bottom: 3px;
295
+ left: 5px;
296
+ width: 15px;
297
+ height: 14px;
298
+ font-size: 14px;
299
+ font-weight: normal;
300
+ font-stretch: normal;
301
+ line-height: 20px;
302
+ letter-spacing: 0px;
303
+ background-color: #202940;
304
+ color: #FFFFFF;
305
+ }
306
+ </style>
@@ -1,2 +1,2 @@
1
- import StageStatus from './StageStatus.vue'
2
- export default StageStatus
1
+ import StageStatus from './StageStatus.vue'
2
+ export default StageStatus