openatc-components 0.2.50 → 0.2.52

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 (481) 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 +93 -93
  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 +112 -112
  23. package/package/kisscomps/components/BoardCard/index.js +2 -2
  24. package/package/kisscomps/components/Channelization/Channelization.vue +584 -584
  25. package/package/kisscomps/components/Channelization/index.js +2 -2
  26. package/package/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  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/DirectionListConfiguration/DirectionListConfiguration.vue +454 -454
  33. package/package/kisscomps/components/DirectionListConfiguration/index.js +2 -2
  34. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  35. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  36. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  37. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  38. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  39. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  40. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  41. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  42. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  43. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  44. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  45. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  46. package/package/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  47. package/package/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  48. package/package/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  49. package/package/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  50. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  51. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  52. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  53. package/package/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  54. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  55. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  56. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  57. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  58. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +467 -467
  59. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  60. package/package/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  61. package/package/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +1005 -1005
  62. package/package/kisscomps/components/DrawChannelization/drawsvg/index.vue +110 -110
  63. package/package/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  64. package/package/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  65. package/package/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.vue +172 -172
  66. package/package/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  67. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  68. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  69. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  70. package/package/kisscomps/components/DrawChannelization/index.js +2 -2
  71. package/package/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  72. package/package/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  73. package/package/kisscomps/components/ExpendConfig/index.js +2 -2
  74. package/package/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  75. package/package/kisscomps/components/FaultDetailModal/index.js +2 -2
  76. package/package/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +158 -158
  77. package/package/kisscomps/components/IntersectionDirectionSelection/index.js +2 -2
  78. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +496 -496
  79. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  80. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PatternWalkSvg.vue +429 -0
  81. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +300 -300
  82. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +288 -288
  83. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +391 -391
  84. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +336 -336
  85. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +345 -345
  86. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +389 -389
  87. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +1272 -1272
  88. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  89. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +402 -402
  90. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +361 -361
  91. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +368 -368
  92. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +475 -475
  93. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +494 -494
  94. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +401 -401
  95. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +360 -360
  96. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +367 -367
  97. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +476 -476
  98. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  99. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  100. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  101. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  102. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  103. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  104. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +1200 -1200
  105. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +197 -197
  106. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +196 -196
  107. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  108. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  109. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  110. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +115 -115
  111. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  112. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  113. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +219 -219
  114. package/package/kisscomps/components/IntersectionMap/crossDirection/utils.js +84 -84
  115. package/package/kisscomps/components/IntersectionMap/index.js +2 -2
  116. package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +199 -199
  117. package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +530 -530
  118. package/package/kisscomps/components/IntersectionWithInterface/index.js +2 -2
  119. package/package/kisscomps/components/KanBan/index.js +2 -2
  120. package/package/kisscomps/components/KanBan/kanban.vue +225 -225
  121. package/package/kisscomps/components/MessageBox/index.vue +96 -96
  122. package/package/kisscomps/components/OverLap/OverLap.vue +237 -237
  123. package/package/kisscomps/components/OverLap/index.js +2 -2
  124. package/package/kisscomps/components/PatternOptimize/PatternOptimize.vue +272 -272
  125. package/package/kisscomps/components/PatternOptimize/index.js +2 -2
  126. package/package/kisscomps/components/PatternStatus/PatternStatus.vue +1481 -1481
  127. package/package/kisscomps/components/PatternStatus/index.js +2 -2
  128. package/package/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  129. package/package/kisscomps/components/PatternWalkSvg/index.js +2 -2
  130. package/package/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  131. package/package/kisscomps/components/PhaseDirectionSelect/index.js +2 -2
  132. package/package/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  133. package/package/kisscomps/components/PhaseDirectionText/index.js +2 -2
  134. package/package/kisscomps/components/PhaseMarker/index.js +6 -6
  135. package/package/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  136. package/package/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  137. package/package/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  138. package/package/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  139. package/package/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  140. package/package/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  141. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +988 -988
  142. package/package/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +356 -356
  143. package/package/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  144. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +206 -206
  145. package/package/kisscomps/components/SchemeConfig/index.js +2 -2
  146. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +221 -221
  147. package/package/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  148. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +128 -128
  149. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/icon.vue +426 -426
  150. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +820 -820
  151. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +194 -194
  152. package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +207 -207
  153. package/package/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  154. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +275 -275
  155. package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +1205 -1205
  156. package/package/kisscomps/components/SelectCrossPhase/index.vue +418 -418
  157. package/package/kisscomps/components/SelectCrossPhase/utils.js +142 -142
  158. package/package/kisscomps/components/StageBord/StageBord.vue +288 -288
  159. package/package/kisscomps/components/StageBord/index.js +2 -2
  160. package/package/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  161. package/package/kisscomps/components/StageStatus/index.js +2 -2
  162. package/package/kisscomps/components/Stages/index.vue +318 -318
  163. package/package/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  164. package/package/kisscomps/components/SvgIcon/index.js +2 -2
  165. package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +1041 -1041
  166. package/package/kisscomps/components/XRDDirSelector/index.js +2 -2
  167. package/package/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  168. package/package/kisscomps/components/XiaoKanban/index.vue +102 -102
  169. package/package/kisscomps/components/overView/index.vue +699 -699
  170. package/package/kisscomps/components/patternConfig/index.js +2 -2
  171. package/package/kisscomps/components/patternConfig/index.vue +1126 -1126
  172. package/package/kisscomps/components/patternConfig/pattern/patternTable.vue +408 -408
  173. package/package/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  174. package/package/kisscomps/components/patternConfig/planContent.vue +576 -576
  175. package/package/kisscomps/components/patternConfig/planMenu.vue +329 -329
  176. package/package/kisscomps/components/patternConfig/utils.js +152 -152
  177. package/package/kisscomps/components/patternList/index.js +2 -2
  178. package/package/kisscomps/components/patternList/patternList.vue +585 -585
  179. package/package/kisscomps/index.js +123 -123
  180. package/package/kissui.min.js +1 -1
  181. package/package.json +127 -127
  182. package/src/App.vue +24 -24
  183. package/src/EdgeMgr/EdgeModelBase.js +16 -16
  184. package/src/EdgeMgr/controller/crossDiagramMgr.js +125 -125
  185. package/src/api/authapi.js +31 -31
  186. package/src/api/config.js +21 -21
  187. package/src/api/control.js +106 -106
  188. package/src/api/cross.js +49 -49
  189. package/src/api/device.js +135 -135
  190. package/src/api/fault.js +66 -66
  191. package/src/api/index.js +24 -24
  192. package/src/api/login.js +46 -46
  193. package/src/api/optimize.js +72 -72
  194. package/src/api/param.js +165 -165
  195. package/src/api/passwdAssest.js +101 -101
  196. package/src/api/route.js +171 -171
  197. package/src/api/template.js +27 -27
  198. package/src/i18n/index.js +26 -26
  199. package/src/i18n/language/en.js +1437 -1437
  200. package/src/i18n/language/index.js +25 -25
  201. package/src/i18n/language/zh.js +1436 -1436
  202. package/src/icons/demo.css +539 -539
  203. package/src/icons/demo_index.html +8146 -8146
  204. package/src/icons/iconfont.css +1399 -1399
  205. package/src/icons/iconfont.json +2431 -2431
  206. package/src/icons/index.js +20 -20
  207. package/src/icons/svg/azimuthlocking.svg +26 -26
  208. package/src/icons/svg/bendi.svg +110 -110
  209. package/src/icons/svg/bujin.svg +36 -36
  210. package/src/icons/svg/connectBlue.svg +7 -7
  211. package/src/icons/svg/currentvolume.svg +0 -0
  212. package/src/icons/svg/custom-BRTlane.svg +40 -40
  213. package/src/icons/svg/custom-buslane.svg +40 -40
  214. package/src/icons/svg/custom-detector.svg +12 -12
  215. package/src/icons/svg/custom-east-bottom.svg +32 -32
  216. package/src/icons/svg/custom-east-top.svg +32 -32
  217. package/src/icons/svg/custom-ewped.svg +35 -35
  218. package/src/icons/svg/custom-nonmotorizedlane.svg +40 -40
  219. package/src/icons/svg/custom-north-left.svg +32 -32
  220. package/src/icons/svg/custom-north-right.svg +32 -32
  221. package/src/icons/svg/custom-peddetector.svg +17 -17
  222. package/src/icons/svg/custom-snped.svg +35 -35
  223. package/src/icons/svg/custom-south-left.svg +32 -32
  224. package/src/icons/svg/custom-south-right.svg +32 -32
  225. package/src/icons/svg/custom-tramlane.svg +40 -40
  226. package/src/icons/svg/custom-vehiclebranch.svg +40 -40
  227. package/src/icons/svg/custom-vehiclemainroad.svg +41 -41
  228. package/src/icons/svg/custom-west-bottom.svg +32 -32
  229. package/src/icons/svg/custom-west-top.svg +32 -32
  230. package/src/icons/svg/custom-xlped.svg +14 -14
  231. package/src/icons/svg/custom-xrped.svg +14 -14
  232. package/src/icons/svg/cutRed.svg +7 -7
  233. package/src/icons/svg/cycle.svg +0 -0
  234. package/src/icons/svg/dingzhouqi.svg +34 -34
  235. package/src/icons/svg/ganyingkongzhi.svg +30 -30
  236. package/src/icons/svg/guandeng.svg +81 -81
  237. package/src/icons/svg/huangshan.svg +71 -71
  238. package/src/icons/svg/maincontrol.svg +0 -0
  239. package/src/icons/svg/manualcontrolbackground.svg +51 -51
  240. package/src/icons/svg/manualcontrolbackground1.svg +62 -62
  241. package/src/icons/svg/manualcontrolbackgrounden.svg +62 -62
  242. package/src/icons/svg/model.svg +0 -0
  243. package/src/icons/svg/phasediff.svg +0 -0
  244. package/src/icons/svg/prioritycontrol.svg +21 -21
  245. package/src/icons/svg/quanhong.svg +86 -86
  246. package/src/icons/svg/shanghe.svg +11 -11
  247. package/src/icons/svg/shoudong.svg +103 -103
  248. package/src/icons/svg/tentativeplan.svg +28 -28
  249. package/src/icons/svg/time.svg +0 -0
  250. package/src/icons/svg/wuxianlan.svg +46 -46
  251. package/src/icons/svg/xiala.svg +11 -11
  252. package/src/icons/svg/xingrenguojie.svg +33 -33
  253. package/src/icons/svg/xitong.svg +89 -89
  254. package/src/icons/svg/youxian.svg +41 -41
  255. package/src/icons/svg/zizhukongzhi.svg +43 -43
  256. package/src/kisscomps/components/BoardCard/BoardCard.vue +112 -112
  257. package/src/kisscomps/components/BoardCard/index.js +2 -2
  258. package/src/kisscomps/components/Channelization/Channelization.vue +584 -584
  259. package/src/kisscomps/components/Channelization/index.js +2 -2
  260. package/src/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  261. package/src/kisscomps/components/ChannelizationFlowStatistic/index.js +2 -2
  262. package/src/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  263. package/src/kisscomps/components/ChannelizationWithInterface/index.js +2 -2
  264. package/src/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  265. package/src/kisscomps/components/CommonKanban/index.js +2 -2
  266. package/src/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +454 -454
  267. package/src/kisscomps/components/DirectionListConfiguration/index.js +2 -2
  268. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  269. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  270. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  271. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  272. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  273. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  274. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  275. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  276. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  277. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  278. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  279. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  280. package/src/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  281. package/src/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  282. package/src/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  283. package/src/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  284. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  285. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  286. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  287. package/src/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  288. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  289. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  290. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  291. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  292. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +467 -467
  293. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  294. package/src/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  295. package/src/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +1005 -1005
  296. package/src/kisscomps/components/DrawChannelization/drawsvg/index.vue +110 -110
  297. package/src/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  298. package/src/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  299. package/src/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.vue +172 -172
  300. package/src/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  301. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  302. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  303. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  304. package/src/kisscomps/components/DrawChannelization/index.js +2 -2
  305. package/src/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  306. package/src/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  307. package/src/kisscomps/components/ExpendConfig/index.js +2 -2
  308. package/src/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  309. package/src/kisscomps/components/FaultDetailModal/index.js +2 -2
  310. package/src/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +158 -158
  311. package/src/kisscomps/components/IntersectionDirectionSelection/index.js +2 -2
  312. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +496 -496
  313. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  314. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +300 -300
  315. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +288 -288
  316. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +391 -391
  317. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +336 -336
  318. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +345 -345
  319. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +389 -389
  320. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +1272 -1272
  321. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  322. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +402 -402
  323. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +361 -361
  324. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +368 -368
  325. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +475 -475
  326. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +494 -494
  327. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +401 -401
  328. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +360 -360
  329. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +367 -367
  330. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +476 -476
  331. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  332. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  333. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  334. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  335. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  336. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  337. package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +1200 -1200
  338. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +197 -197
  339. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +196 -196
  340. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  341. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  342. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  343. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +115 -115
  344. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  345. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  346. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +219 -219
  347. package/src/kisscomps/components/IntersectionMap/crossDirection/utils.js +84 -84
  348. package/src/kisscomps/components/IntersectionMap/index.js +2 -2
  349. package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +199 -199
  350. package/src/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +530 -530
  351. package/src/kisscomps/components/IntersectionWithInterface/index.js +2 -2
  352. package/src/kisscomps/components/KanBan/index.js +2 -2
  353. package/src/kisscomps/components/KanBan/kanban.vue +225 -225
  354. package/src/kisscomps/components/MessageBox/index.vue +96 -96
  355. package/src/kisscomps/components/OverLap/OverLap.vue +237 -237
  356. package/src/kisscomps/components/OverLap/index.js +2 -2
  357. package/src/kisscomps/components/PatternOptimize/PatternOptimize.vue +272 -272
  358. package/src/kisscomps/components/PatternOptimize/index.js +2 -2
  359. package/src/kisscomps/components/PatternStatus/PatternStatus.vue +1481 -1481
  360. package/src/kisscomps/components/PatternStatus/index.js +2 -2
  361. package/src/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  362. package/src/kisscomps/components/PatternWalkSvg/index.js +2 -2
  363. package/src/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  364. package/src/kisscomps/components/PhaseDirectionSelect/index.js +2 -2
  365. package/src/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  366. package/src/kisscomps/components/PhaseDirectionText/index.js +2 -2
  367. package/src/kisscomps/components/PhaseMarker/index.js +6 -6
  368. package/src/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  369. package/src/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  370. package/src/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  371. package/src/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  372. package/src/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  373. package/src/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  374. package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +988 -988
  375. package/src/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +356 -356
  376. package/src/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  377. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +206 -206
  378. package/src/kisscomps/components/SchemeConfig/index.js +2 -2
  379. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +221 -221
  380. package/src/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  381. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +128 -128
  382. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/icon.vue +426 -426
  383. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +820 -820
  384. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +194 -194
  385. package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +207 -207
  386. package/src/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  387. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +275 -275
  388. package/src/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +1205 -1205
  389. package/src/kisscomps/components/SelectCrossPhase/index.vue +418 -418
  390. package/src/kisscomps/components/SelectCrossPhase/utils.js +142 -142
  391. package/src/kisscomps/components/StageBord/StageBord.vue +288 -288
  392. package/src/kisscomps/components/StageBord/index.js +2 -2
  393. package/src/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  394. package/src/kisscomps/components/StageStatus/index.js +2 -2
  395. package/src/kisscomps/components/Stages/index.vue +318 -318
  396. package/src/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  397. package/src/kisscomps/components/SvgIcon/index.js +2 -2
  398. package/src/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +1041 -1041
  399. package/src/kisscomps/components/XRDDirSelector/index.js +2 -2
  400. package/src/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  401. package/src/kisscomps/components/XiaoKanban/index.vue +102 -102
  402. package/src/kisscomps/components/overView/index.vue +699 -699
  403. package/src/kisscomps/components/patternConfig/index.js +2 -2
  404. package/src/kisscomps/components/patternConfig/index.vue +1126 -1126
  405. package/src/kisscomps/components/patternConfig/pattern/patternTable.vue +408 -408
  406. package/src/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  407. package/src/kisscomps/components/patternConfig/planContent.vue +576 -576
  408. package/src/kisscomps/components/patternConfig/planMenu.vue +329 -329
  409. package/src/kisscomps/components/patternConfig/utils.js +152 -152
  410. package/src/kisscomps/components/patternList/index.js +2 -2
  411. package/src/kisscomps/components/patternList/patternList.vue +585 -585
  412. package/src/kisscomps/index.js +123 -123
  413. package/src/lib/publicjs/ArryListUtil.js +38 -38
  414. package/src/lib/publicjs/HttpurlMgr.js +45 -45
  415. package/src/lib/publicjs/KissApi.js +158 -158
  416. package/src/lib/publicjs/KissWSSub/Heartcheck.js +128 -128
  417. package/src/lib/publicjs/KissWSSub/KissWsSub.js +91 -91
  418. package/src/lib/publicjs/KissWSSub/KissWsSubByType.js +152 -152
  419. package/src/lib/publicjs/KissWSSub/SimuWsSubByType.js +44 -44
  420. package/src/lib/publicjs/KissWSSub/Sub.js +51 -51
  421. package/src/lib/publicjs/KissWSSub/SubChannel.js +119 -119
  422. package/src/lib/publicjs/basecomponents.js +65 -65
  423. package/src/lib/publicjs/localStorage.js +112 -112
  424. package/src/lib/publicjs/objdeepcopy.js +32 -32
  425. package/src/lib/publicjs/pageScroll.js +30 -30
  426. package/src/lib/publicjs/passwdAssest.js +101 -101
  427. package/src/lib/publicjs/styleclassfactory.js +32 -32
  428. package/src/main.js +50 -50
  429. package/src/router/index.js +63 -63
  430. package/src/store/getters.js +16 -16
  431. package/src/store/index.js +26 -26
  432. package/src/store/modules/globalParam.js +67 -67
  433. package/src/utils/ControlFormat.js +68 -68
  434. package/src/utils/RingDataModel.js +258 -258
  435. package/src/utils/auth.js +199 -199
  436. package/src/utils/conflct.js +250 -250
  437. package/src/utils/conflictList.js +87 -87
  438. package/src/utils/dateFormat.js +41 -41
  439. package/src/utils/errorcode.js +228 -228
  440. package/src/utils/fault.js +196 -196
  441. package/src/utils/faultcode.js +209 -209
  442. package/src/utils/index.js +69 -69
  443. package/src/utils/pedphasedesc.js +119 -119
  444. package/src/utils/phaseList.js +203 -203
  445. package/src/utils/phasedesc.js +144 -144
  446. package/src/utils/responseMessage.js +21 -21
  447. package/src/utils/validate.js +43 -43
  448. package/src/views/customchannelization.vue +49 -49
  449. package/src/views/home.1.vue +479 -479
  450. package/src/views/home.vue +93 -93
  451. package/src/views/intersection.vue +365 -365
  452. package/src/views/intersection2.vue +328 -328
  453. package/src/views/overView.vue +41 -41
  454. package/src/views/patternConfig.vue +609 -609
  455. package/src/views/schemeconfig.vue +204 -204
  456. package/static/apiconfig.json +451 -451
  457. package/static/styles/channelizatioon.scss +433 -433
  458. package/static/styles/common.scss +23 -23
  459. package/static/styles/commonkanban.scss +168 -168
  460. package/static/styles/dark/index.scss +2 -2
  461. package/static/styles/dark/theme/element-dark.scss +42 -42
  462. package/static/styles/index.scss +84 -84
  463. package/static/styles/intersection.scss +190 -190
  464. package/static/styles/light/index.scss +2 -2
  465. package/static/styles/light/theme/element-light.scss +42 -42
  466. package/static/styles/overview.scss +146 -146
  467. package/static/styles/patternConfig.scss +56 -56
  468. package/static/styles/schemeconfig.scss +541 -534
  469. package/static/styles/stages.scss +57 -57
  470. package/static/styles/uiComponents.scss +57 -57
  471. package/static/styles/xiaokanban.scss +50 -50
  472. package/static/token.json +2 -2
  473. package/test/e2e/custom-assertions/elementCount.js +27 -27
  474. package/test/e2e/nightwatch.conf.js +46 -46
  475. package/test/e2e/runner.js +48 -48
  476. package/test/e2e/specs/test.js +19 -19
  477. package/test/unit/.eslintrc +7 -7
  478. package/test/unit/jest.conf.js +30 -30
  479. package/test/unit/setup.js +3 -3
  480. package/test/unit/specs/HelloWorld.spec.js +11 -11
  481. package/package/kissui.js +0 -216608
@@ -1,576 +1,576 @@
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="planContent" v-if="!!chooseId">
14
- <div class="mask" v-if="maskVisible" @click ="clickMask"></div>
15
- <div class="btnGroup" v-show="false">
16
- <el-button class="btn" type="primary" @click="handleCreate">{{$t('openatccomponents.greenwaveoptimize.generate')}}</el-button>
17
- <div class="editbtn" :style="{zIndex: zIndexObj.editZIndex}">
18
- <el-popover placement="top-start" trigger="manual" v-model="maskVisible" width="290">
19
- <div class="tipContent">
20
- <div>
21
- <i class="iconfont icon-yindaoicon1 handicon"></i>
22
- </div>
23
- <div class="text">{{$t('openatccomponents.greenwaveoptimize.createconfig')}}</div>
24
- </div>
25
- <button slot="reference" class="btn" @click="handleEdit" ref="editbtn">{{$t('openatccomponents.greenwaveoptimize.edit')}}</button>
26
- </el-popover>
27
- </div>
28
- <el-button class="btn" type="primary" @click="Download" style="margin-left:10px;">{{$t('openatc.button.download')}}</el-button>
29
- </div>
30
- <el-tabs v-model="activeName" type="card" @tab-click="handleClick" style="border:0px solid red;height:40%;">
31
- <el-tab-pane :label="$t('openatccomponents.greenwaveoptimize.timespace')" name="first">
32
- <!-- <PlanChart ref="planchart"/> -->
33
- </el-tab-pane>
34
- </el-tabs>
35
- <el-tabs v-model="activeName2" type="card" @tab-click="handleClick" style="border:0px solid red;height:50%;">
36
- <el-tab-pane :label="$t('openatccomponents.greenwaveoptimize.pattern')" name="second">
37
- <!-- <PatternTable ref="patterntable" @onNewPatternListChange="onNewPatternListChange"/> -->
38
- </el-tab-pane>
39
- </el-tabs>
40
- <Messagebox :visible="messageboxVisible" :text="$t('openatccomponents.greenwaveoptimize.confirmdownloadpattern')" @cancle="cancle" @ok="ok"/>
41
- </div>
42
- </template>
43
-
44
- <script>
45
- import PatternTable from './pattern/patternTable'
46
- // import PlanChart from './pattern/planChart/index'
47
- import { GetRouteInfo,
48
- getAllPatternOfDevs, getAllPhaseOfDevs,
49
- // getAllPatternOfRoute, getAllPhaseOfRoute,
50
- generateRoute, updateRoutePattern, downloadRoutePattern, deleteRoutePattern } from '../../../api/route'
51
- import Messagebox from '../../components/MessageBox/index'
52
- import { getMessageByCode } from '../../../utils/responseMessage'
53
- export default {
54
- name: 'PlanContent',
55
- data () {
56
- return {
57
- chooseId: 0,
58
- timer: 0,
59
- activeName: 'first',
60
- activeName2: 'second',
61
- maskVisible: false, // 引导遮罩层是否显示
62
- configurationVisible: false, // 配置界面是否显示
63
- messageboxVisible: false, // 关闭界面二期确认弹窗是否显示
64
- addNum: 0,
65
- mock: [],
66
- agentids: [],
67
- routeData: {}, // 单个协调路线的全部信息
68
- patternList: [],
69
- phaseList: [],
70
- greenwave: []
71
- }
72
- },
73
- components: {
74
- PatternTable,
75
- // PlanChart,
76
- Messagebox
77
- },
78
- props: {
79
- schemeData: {
80
- type: Array
81
- },
82
- step: {
83
- type: Boolean
84
- },
85
- zIndexObj: {
86
- type: Object
87
- }
88
- },
89
- watch: {
90
- schemeData: {
91
- handler: function (val) {
92
- if (val && !val.length && this.step) {
93
- this.maskVisible = true
94
- // 模拟一次手动点击,触发tip显示
95
- this.$refs.editbtn.click()
96
- }
97
- },
98
- deep: true
99
- }
100
- },
101
- mounted () {
102
- },
103
- destroyed () {
104
- this.closeInterval()
105
- },
106
- methods: {
107
- init (chooseId, editableTab, agentids) {
108
- if (this.agentids.join('') !== agentids.join('')) {
109
- // reset data
110
- this.patternList = []
111
- this.phaseList = []
112
- }
113
- this.agentids = agentids
114
- this.chooseId = chooseId
115
- // this.getRouteInfo()
116
- this.routeData = editableTab
117
- this.getAllPatternOfRoute()
118
- },
119
- getPatternListFromTab (tab, list) {
120
- let res = []
121
- let devs = tab.devs
122
- for (let dev of devs) {
123
- if (!dev.patternList || dev.patternList.length === 0) {
124
- res = list
125
- return res
126
- }
127
- }
128
- let devPatternList = devs.map(item => {
129
- let pattern = {
130
- agentid: item.agentid,
131
- feature: {
132
- patternList: item.patternList
133
- }
134
- }
135
- return pattern
136
- })
137
- res = devPatternList
138
- return res
139
- },
140
- getPhaseListFromTab (tab) {
141
- let res = []
142
- return res
143
- },
144
- closeInterval () {
145
- clearInterval(this.timer)
146
- },
147
- cancle () {
148
- this.messageboxVisible = false
149
- },
150
- ok () {
151
- this.messageboxVisible = false
152
- this.handleDownload()
153
- },
154
- Download () {
155
- this.messageboxVisible = true
156
- },
157
- handleClick (tab, event) {
158
- if (tab.name === 'first') {
159
- this.refreshChart()
160
- }
161
- },
162
- refreshChart () {
163
- let patterntable = this.$refs.patterntable
164
- let newPatternList = patterntable.newPatternList
165
- for (let pattern of this.patternList) {
166
- let agentid = pattern.agentid
167
- let newPattern = newPatternList.filter(npl => npl.agentid === agentid)[0]
168
- let patternId = newPattern.patternId
169
- let currPatternList = pattern.feature.patternList
170
- let currPattern
171
- if (Array.isArray(currPatternList)) {
172
- currPattern = currPatternList.filter(cpl => cpl.id === patternId)[0]
173
- if (!currPattern) {
174
- currPattern = currPatternList[0]
175
- }
176
- } else {
177
- currPattern = currPatternList
178
- }
179
- currPattern.cycle = newPattern.cycle
180
- currPattern.offset = newPattern.offset
181
- }
182
- this.handlePlanChart()
183
- },
184
- handleEdit () {
185
- if (this.maskVisible && this.addNum <= 1) {
186
- if (this.addNum === 1) {
187
- this.maskVisible = false
188
- }
189
- this.addNum++
190
- }
191
- if (!this.maskVisible) {
192
- // 获取单个协调路线的全部信息
193
- // (弹窗取消后,应重新获取静态数据,此处采取中间变量法重新赋值,以触发watch能监听到routeData变化,给弹窗内共有变量configData重新赋值)
194
- const lastRouteData = JSON.parse(JSON.stringify(this.routeData))
195
- this.routeData = []
196
- this.routeData = lastRouteData
197
- this.configurationVisible = true
198
- }
199
- },
200
- getRouteInfo () {
201
- if (this.chooseId === 0) return
202
- GetRouteInfo(this.chooseId).then(res => {
203
- if (!res.data.success) {
204
- if (res.data.code === '4003') {
205
- let agentid = res.data.data.agentid
206
- this.$message.error(this.$t('openatccomponents.greenwaveoptimize.device') + agentid + this.$t('openatccomponents.greenwaveoptimize.notonline'))
207
- return
208
- }
209
- this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
210
- return
211
- }
212
- this.routeData = res.data.data
213
- this.getAllPatternOfRoute() // 获取该路线的所有方案
214
- })
215
- },
216
- async handleDownload (id, routeData) {
217
- let param = {
218
- id: id,
219
- continueOnfailure: routeData.continueOnfailure,
220
- duration: routeData.duration,
221
- optPatternList: []
222
- }
223
- // check
224
- let generateData = this.getGenerateParam(routeData)
225
- for (let dev of routeData.devs) {
226
- if (!dev.feature) {
227
- let feature = generateData.devs.filter(item => item.agentid === dev.agentid)[0].feature
228
- delete feature.phase
229
- dev.feature = feature
230
- }
231
- }
232
- for (let dev of routeData.devs) {
233
- if (!dev.feature) {
234
- this.$message.warning(this.$t('openatccomponents.greenwaveoptimize.errDownloadParam'), dev.agentid)
235
- return false
236
- }
237
- }
238
- param.optPatternList = [routeData]
239
- return new Promise((resolve, reject) => {
240
- downloadRoutePattern(param).then(res => {
241
- if (!res.data.success) {
242
- let msg = getMessageByCode(res.data.code, this.$i18n.locale)
243
- if (res.data.data) {
244
- let errorCode = res.data.data.errorCode
245
- if (errorCode) {
246
- msg = msg + ' - ' + getMessageByCode(errorCode, this.$i18n.locale)
247
- }
248
- }
249
- this.$message.error(msg)
250
- resolve(res)
251
- }
252
- this.$alert(this.$t('openatccomponents.greenwaveoptimize.planissuedsucc'), { type: 'success' })
253
- resolve(res)
254
- }).catch(error => {
255
- this.$message.error(error)
256
- })
257
- })
258
- },
259
- async handleDelete (param) {
260
- return new Promise((resolve, reject) => {
261
- deleteRoutePattern(param).then(res => {
262
- if (!res.data.success) {
263
- let msg = getMessageByCode(res.data.code, this.$i18n.locale)
264
- if (res.data.data) {
265
- let errorCode = res.data.data.errorCode
266
- if (errorCode) {
267
- msg = msg + ' - ' + getMessageByCode(errorCode, this.$i18n.locale)
268
- }
269
- }
270
- this.$message.error(msg)
271
- resolve(false)
272
- }
273
- this.$message.success(this.$t('openatc.common.deletesuccess'))
274
- this.$parent.getAllPlan()
275
- resolve(true)
276
- }).catch(error => {
277
- this.$message.error(error)
278
- })
279
- })
280
- },
281
- async handleSave (id, routeData) {
282
- return new Promise((resolve, reject) => {
283
- let param = this.getSaveParam(id, routeData)
284
- updateRoutePattern(param).then(res => {
285
- if (!res.data.success) {
286
- let msg = getMessageByCode(res.data.code, this.$i18n.locale)
287
- if (res.data.data) {
288
- let errorCode = res.data.data.errorCode
289
- if (errorCode) {
290
- msg = msg + ' - ' + getMessageByCode(errorCode, this.$i18n.locale)
291
- }
292
- }
293
- this.$message.error(msg)
294
- resolve(false)
295
- }
296
- this.$message.success(this.$t('openatc.common.savesuccess'))
297
- this.$parent.getAllPlan()
298
- resolve(true)
299
- }).catch(error => {
300
- this.$message.error(error)
301
- })
302
- })
303
- },
304
- handleSaveClick (id, routeData) {
305
- let param = this.getSaveParam(id, routeData)
306
- updateRoutePattern(param).then(res => {
307
- if (!res.data.success) {
308
- let msg = getMessageByCode(res.data.code, this.$i18n.locale)
309
- if (res.data.data) {
310
- let errorCode = res.data.data.errorCode
311
- if (errorCode) {
312
- msg = msg + ' - ' + getMessageByCode(errorCode, this.$i18n.locale)
313
- }
314
- }
315
- this.$message.error(msg)
316
- return
317
- }
318
- this.$message.success(this.$t('openatc.common.savesuccess'))
319
- this.$parent.getAllPlan()
320
- })
321
- },
322
- getSaveParam (id, tabs, filter = false) {
323
- let routeData = JSON.parse(JSON.stringify(tabs))
324
- let param = {
325
- 'id': id || 0,
326
- 'optPatternList': routeData
327
- }
328
- for (let tab of routeData) {
329
- let devs = tab.devs
330
- for (let inter of devs) {
331
- let patternList = inter.patternList.map(item => {
332
- let pattern = {
333
- 'id': item.id,
334
- 'desc': item.desc,
335
- 'offset': item.offset,
336
- 'cycle': item.cycle,
337
- 'rings': item.rings
338
- }
339
- return pattern
340
- })
341
- inter.patternList = patternList
342
- // inter.id = param.id
343
- // delete inter.name
344
- // delete inter.content
345
- let dev = {
346
- 'id': inter.id,
347
- 'name': inter.name,
348
- 'isused': inter.isused,
349
- 'agentid': inter.agentid,
350
- 'nextDistance': inter.nextDistance,
351
- 'distance': inter.distance,
352
- 'type': inter.type,
353
- 'jsonparam': inter.jsonparam,
354
- 'description': inter.description,
355
- 'forwardphaseDesc': inter.forwardphaseDesc,
356
- 'backphaseDesc': inter.backphaseDesc,
357
- 'forwardphaseid': inter.forwardphaseid,
358
- 'forwardphasedirection': inter.forwardphasedirection,
359
- 'backphaseid': inter.backphaseid,
360
- 'backphasedirection': inter.backphasedirection,
361
- 'patternList': inter.patternList
362
- }
363
- inter = {...dev}
364
- }
365
- }
366
- if (filter) {
367
- param.optPatternList = param.optPatternList.map(pattern => {
368
- delete pattern.content
369
- delete pattern.date
370
- delete pattern.day
371
- delete pattern.direction
372
- delete pattern.downspeed
373
- delete pattern.keyintsid
374
- delete pattern.month
375
- delete pattern.optstrategy
376
- delete pattern.plan
377
- delete pattern.upspeed
378
- pattern.name = pattern.title
379
- // delete pattern.name
380
- // delete pattern.name
381
- delete pattern.title
382
- delete pattern.patternid
383
- pattern.devs.map(inter => {
384
- delete inter.allPatterns
385
- delete inter.currPhase
386
- delete inter.patternList
387
- delete inter.phaseList
388
- delete inter.ringCount
389
- delete inter.rings
390
- })
391
- return pattern
392
- })
393
- }
394
- return param
395
- },
396
- handleCreate (routeData) {
397
- let param = this.getGenerateParam(routeData, 1)
398
- generateRoute(param).then(res => {
399
- if (!res.data.success) {
400
- let msg = getMessageByCode(res.data.code, this.$i18n.locale)
401
- if (res.data.data) {
402
- let errorCode = res.data.data.errorCode
403
- if (errorCode) {
404
- msg = msg + ' - ' + getMessageByCode(errorCode, this.$i18n.locale)
405
- }
406
- }
407
- this.$message.error(msg)
408
- return
409
- }
410
- this.$message.success(this.$t('openatccomponents.greenwaveoptimize.generatesuedsucc'))
411
- this.greenwave = res.data.data.greenwave
412
- this.patternList = res.data.data.devs
413
- for (let dev of routeData.devs) {
414
- for (let pattern of this.patternList) {
415
- if (dev.agentid === pattern.agentid) {
416
- dev.feature = pattern.feature
417
- dev.patternid = pattern.patternid
418
- }
419
- }
420
- }
421
- this.handlePlanChart()
422
- this.handlePatternTable()
423
- })
424
- },
425
- getGenerateParam (routeData, bizType = 0) { // bizType: 1 generate专用
426
- let route = JSON.parse(JSON.stringify(routeData))
427
- let param = {
428
- 'id': route.id,
429
- 'name': route.name,
430
- 'keyintsid': route.keyintsid,
431
- 'direction': route.direction,
432
- 'optstrategy': route.optstrategy,
433
- 'upspeed': route.upspeed,
434
- 'downspeed': route.downspeed,
435
- 'type': route.type ? route.type : 0,
436
- 'devs': route.devs
437
- }
438
- let devs = route.devs
439
- for (let inter of devs) {
440
- let patternList = inter.patternList.map(item => {
441
- let pattern = {
442
- 'id': item.id,
443
- 'desc': item.desc,
444
- 'offset': item.offset,
445
- 'cycle': item.cycle,
446
- 'rings': item.rings
447
- }
448
- return pattern
449
- })
450
- let phaseList = inter.phaseList.map(item => {
451
- let pattern = {
452
- 'id': item.id,
453
- 'concurrent': item.concurrent
454
- }
455
- return pattern
456
- })
457
- let feature = {
458
- patternList: patternList,
459
- phaseList: phaseList
460
- }
461
- inter.routeid = param.id
462
- inter.feature = feature
463
- delete inter.id
464
- delete inter.name
465
- }
466
- // param = route
467
- param.devs = param.devs.map((item, index) => {
468
- let dev = {
469
- 'agentid': item.agentid,
470
- 'routeid': item.routeid,
471
- 'forwardphaseid': item.forwardphaseid,
472
- 'backphaseid': item.backphaseid,
473
- 'distance': item.distance,
474
- 'width': item.width,
475
- 'sortid': item.sortid ? item.sortid : index + 1,
476
- 'patternid': item.patternid,
477
- 'feature': item.feature
478
- }
479
- if (bizType === 1) {
480
- dev.feature.patternList = dev.feature.patternList.filter(pattern => pattern.id === dev.patternid)
481
- }
482
- return dev
483
- })
484
- return param
485
- },
486
- closeDrawer (isRefresh) {
487
- this.configurationVisible = false
488
- if (isRefresh === 'refresh') {
489
- this.$emit('resetContentComponent')
490
- }
491
- },
492
- clickMask () {
493
- this.maskVisible = false
494
- },
495
- getAllPatternOfRoute () {
496
- if (this.agentids.length === 0) return
497
- getAllPatternOfDevs(this.agentids).then(res => {
498
- if (!res.data.success) {
499
- let agentid = res.data.data.agentid
500
- let commomMsg = this.$t('openatccomponents.greenwaveoptimize.device') + agentid
501
- let data = res
502
- let parrenterror = getMessageByCode(data.data.code, this.$i18n.locale)
503
- if (data.data.data) {
504
- // 子类型错误
505
- let childErrorCode = data.data.data.errorCode
506
- if (childErrorCode) {
507
- let childerror = getMessageByCode(data.data.data.errorCode, this.$i18n.locale)
508
- this.$message.error(parrenterror + ',' + childerror + ',' + commomMsg)
509
- }
510
- } else {
511
- this.$message.error(parrenterror + ',' + commomMsg)
512
- }
513
- this.$emit('ErrorOcurrred')
514
- return
515
- }
516
- this.allPatternList = res.data.data.devs
517
- let editableTab = this.routeData
518
- let patternList = this.getPatternListFromTab(editableTab, this.allPatternList)
519
- this.patternList = patternList
520
- this.getAllPhaseOfRouter() // 获取改路线的所有相位
521
- })
522
- },
523
- getAllPhaseOfRouter () {
524
- if (this.agentids.length === 0) return
525
- getAllPhaseOfDevs(this.agentids).then(res => {
526
- if (!res.data.success) {
527
- let agentid = res.data.data.agentid
528
- let commomMsg = this.$t('openatccomponents.greenwaveoptimize.device') + agentid
529
- let data = res
530
- let parrenterror = getMessageByCode(data.data.code, this.$i18n.locale)
531
- if (data.data.data) {
532
- // 子类型错误
533
- let childErrorCode = data.data.data.errorCode
534
- if (childErrorCode) {
535
- let childerror = getMessageByCode(data.data.data.errorCode, this.$i18n.locale)
536
- this.$message.error(parrenterror + ',' + childerror + ',' + commomMsg)
537
- }
538
- } else {
539
- this.$message.error(parrenterror + ',' + commomMsg)
540
- }
541
- this.$emit('ErrorOcurrred')
542
- return
543
- }
544
- this.phaseList = res.data.data.devs
545
- this.handlePatternTable()
546
- this.handlePlanChart()
547
- this.handleMaskVisible()
548
- })
549
- },
550
- handlePatternTable () {
551
- this.$emit('handlePatternTable', this.routeData, this.patternList, this.phaseList)
552
- // let patterntable = this.$refs.patterntable
553
- // patterntable.onPatternTable(this.routeData, this.patternList, this.phaseList)
554
- },
555
- handlePlanChart () {
556
- this.$emit('handlePlanChart', this.routeData, this.patternList, this.greenwave, this.allPatternList)
557
- // let planchart = this.$refs.planchart
558
- // planchart.onPlanChart(this.routeData, this.patternList, this.greenwave)
559
- },
560
- handleMaskVisible () {
561
- // 数据为空,显示蒙层
562
- if (this.patternList && !this.patternList.length && this.step) {
563
- this.maskVisible = true
564
- // 模拟一次手动点击,触发tip显示
565
- this.$refs.editbtn.click()
566
- }
567
- },
568
- onNewPatternListChange (newPatternList) {
569
- this.refreshChart()
570
- }
571
- }
572
- }
573
- </script>
574
-
575
- <style lang="scss" scoped>
576
- </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="planContent" v-if="!!chooseId">
14
+ <div class="mask" v-if="maskVisible" @click ="clickMask"></div>
15
+ <div class="btnGroup" v-show="false">
16
+ <el-button class="btn" type="primary" @click="handleCreate">{{$t('openatccomponents.greenwaveoptimize.generate')}}</el-button>
17
+ <div class="editbtn" :style="{zIndex: zIndexObj.editZIndex}">
18
+ <el-popover placement="top-start" trigger="manual" v-model="maskVisible" width="290">
19
+ <div class="tipContent">
20
+ <div>
21
+ <i class="iconfont icon-yindaoicon1 handicon"></i>
22
+ </div>
23
+ <div class="text">{{$t('openatccomponents.greenwaveoptimize.createconfig')}}</div>
24
+ </div>
25
+ <button slot="reference" class="btn" @click="handleEdit" ref="editbtn">{{$t('openatccomponents.greenwaveoptimize.edit')}}</button>
26
+ </el-popover>
27
+ </div>
28
+ <el-button class="btn" type="primary" @click="Download" style="margin-left:10px;">{{$t('openatc.button.download')}}</el-button>
29
+ </div>
30
+ <el-tabs v-model="activeName" type="card" @tab-click="handleClick" style="border:0px solid red;height:40%;">
31
+ <el-tab-pane :label="$t('openatccomponents.greenwaveoptimize.timespace')" name="first">
32
+ <!-- <PlanChart ref="planchart"/> -->
33
+ </el-tab-pane>
34
+ </el-tabs>
35
+ <el-tabs v-model="activeName2" type="card" @tab-click="handleClick" style="border:0px solid red;height:50%;">
36
+ <el-tab-pane :label="$t('openatccomponents.greenwaveoptimize.pattern')" name="second">
37
+ <!-- <PatternTable ref="patterntable" @onNewPatternListChange="onNewPatternListChange"/> -->
38
+ </el-tab-pane>
39
+ </el-tabs>
40
+ <Messagebox :visible="messageboxVisible" :text="$t('openatccomponents.greenwaveoptimize.confirmdownloadpattern')" @cancle="cancle" @ok="ok"/>
41
+ </div>
42
+ </template>
43
+
44
+ <script>
45
+ import PatternTable from './pattern/patternTable'
46
+ // import PlanChart from './pattern/planChart/index'
47
+ import { GetRouteInfo,
48
+ getAllPatternOfDevs, getAllPhaseOfDevs,
49
+ // getAllPatternOfRoute, getAllPhaseOfRoute,
50
+ generateRoute, updateRoutePattern, downloadRoutePattern, deleteRoutePattern } from '../../../api/route'
51
+ import Messagebox from '../../components/MessageBox/index'
52
+ import { getMessageByCode } from '../../../utils/responseMessage'
53
+ export default {
54
+ name: 'PlanContent',
55
+ data () {
56
+ return {
57
+ chooseId: 0,
58
+ timer: 0,
59
+ activeName: 'first',
60
+ activeName2: 'second',
61
+ maskVisible: false, // 引导遮罩层是否显示
62
+ configurationVisible: false, // 配置界面是否显示
63
+ messageboxVisible: false, // 关闭界面二期确认弹窗是否显示
64
+ addNum: 0,
65
+ mock: [],
66
+ agentids: [],
67
+ routeData: {}, // 单个协调路线的全部信息
68
+ patternList: [],
69
+ phaseList: [],
70
+ greenwave: []
71
+ }
72
+ },
73
+ components: {
74
+ PatternTable,
75
+ // PlanChart,
76
+ Messagebox
77
+ },
78
+ props: {
79
+ schemeData: {
80
+ type: Array
81
+ },
82
+ step: {
83
+ type: Boolean
84
+ },
85
+ zIndexObj: {
86
+ type: Object
87
+ }
88
+ },
89
+ watch: {
90
+ schemeData: {
91
+ handler: function (val) {
92
+ if (val && !val.length && this.step) {
93
+ this.maskVisible = true
94
+ // 模拟一次手动点击,触发tip显示
95
+ this.$refs.editbtn.click()
96
+ }
97
+ },
98
+ deep: true
99
+ }
100
+ },
101
+ mounted () {
102
+ },
103
+ destroyed () {
104
+ this.closeInterval()
105
+ },
106
+ methods: {
107
+ init (chooseId, editableTab, agentids) {
108
+ if (this.agentids.join('') !== agentids.join('')) {
109
+ // reset data
110
+ this.patternList = []
111
+ this.phaseList = []
112
+ }
113
+ this.agentids = agentids
114
+ this.chooseId = chooseId
115
+ // this.getRouteInfo()
116
+ this.routeData = editableTab
117
+ this.getAllPatternOfRoute()
118
+ },
119
+ getPatternListFromTab (tab, list) {
120
+ let res = []
121
+ let devs = tab.devs
122
+ for (let dev of devs) {
123
+ if (!dev.patternList || dev.patternList.length === 0) {
124
+ res = list
125
+ return res
126
+ }
127
+ }
128
+ let devPatternList = devs.map(item => {
129
+ let pattern = {
130
+ agentid: item.agentid,
131
+ feature: {
132
+ patternList: item.patternList
133
+ }
134
+ }
135
+ return pattern
136
+ })
137
+ res = devPatternList
138
+ return res
139
+ },
140
+ getPhaseListFromTab (tab) {
141
+ let res = []
142
+ return res
143
+ },
144
+ closeInterval () {
145
+ clearInterval(this.timer)
146
+ },
147
+ cancle () {
148
+ this.messageboxVisible = false
149
+ },
150
+ ok () {
151
+ this.messageboxVisible = false
152
+ this.handleDownload()
153
+ },
154
+ Download () {
155
+ this.messageboxVisible = true
156
+ },
157
+ handleClick (tab, event) {
158
+ if (tab.name === 'first') {
159
+ this.refreshChart()
160
+ }
161
+ },
162
+ refreshChart () {
163
+ let patterntable = this.$refs.patterntable
164
+ let newPatternList = patterntable.newPatternList
165
+ for (let pattern of this.patternList) {
166
+ let agentid = pattern.agentid
167
+ let newPattern = newPatternList.filter(npl => npl.agentid === agentid)[0]
168
+ let patternId = newPattern.patternId
169
+ let currPatternList = pattern.feature.patternList
170
+ let currPattern
171
+ if (Array.isArray(currPatternList)) {
172
+ currPattern = currPatternList.filter(cpl => cpl.id === patternId)[0]
173
+ if (!currPattern) {
174
+ currPattern = currPatternList[0]
175
+ }
176
+ } else {
177
+ currPattern = currPatternList
178
+ }
179
+ currPattern.cycle = newPattern.cycle
180
+ currPattern.offset = newPattern.offset
181
+ }
182
+ this.handlePlanChart()
183
+ },
184
+ handleEdit () {
185
+ if (this.maskVisible && this.addNum <= 1) {
186
+ if (this.addNum === 1) {
187
+ this.maskVisible = false
188
+ }
189
+ this.addNum++
190
+ }
191
+ if (!this.maskVisible) {
192
+ // 获取单个协调路线的全部信息
193
+ // (弹窗取消后,应重新获取静态数据,此处采取中间变量法重新赋值,以触发watch能监听到routeData变化,给弹窗内共有变量configData重新赋值)
194
+ const lastRouteData = JSON.parse(JSON.stringify(this.routeData))
195
+ this.routeData = []
196
+ this.routeData = lastRouteData
197
+ this.configurationVisible = true
198
+ }
199
+ },
200
+ getRouteInfo () {
201
+ if (this.chooseId === 0) return
202
+ GetRouteInfo(this.chooseId).then(res => {
203
+ if (!res.data.success) {
204
+ if (res.data.code === '4003') {
205
+ let agentid = res.data.data.agentid
206
+ this.$message.error(this.$t('openatccomponents.greenwaveoptimize.device') + agentid + this.$t('openatccomponents.greenwaveoptimize.notonline'))
207
+ return
208
+ }
209
+ this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
210
+ return
211
+ }
212
+ this.routeData = res.data.data
213
+ this.getAllPatternOfRoute() // 获取该路线的所有方案
214
+ })
215
+ },
216
+ async handleDownload (id, routeData) {
217
+ let param = {
218
+ id: id,
219
+ continueOnfailure: routeData.continueOnfailure,
220
+ duration: routeData.duration,
221
+ optPatternList: []
222
+ }
223
+ // check
224
+ let generateData = this.getGenerateParam(routeData)
225
+ for (let dev of routeData.devs) {
226
+ if (!dev.feature) {
227
+ let feature = generateData.devs.filter(item => item.agentid === dev.agentid)[0].feature
228
+ delete feature.phase
229
+ dev.feature = feature
230
+ }
231
+ }
232
+ for (let dev of routeData.devs) {
233
+ if (!dev.feature) {
234
+ this.$message.warning(this.$t('openatccomponents.greenwaveoptimize.errDownloadParam'), dev.agentid)
235
+ return false
236
+ }
237
+ }
238
+ param.optPatternList = [routeData]
239
+ return new Promise((resolve, reject) => {
240
+ downloadRoutePattern(param).then(res => {
241
+ if (!res.data.success) {
242
+ let msg = getMessageByCode(res.data.code, this.$i18n.locale)
243
+ if (res.data.data) {
244
+ let errorCode = res.data.data.errorCode
245
+ if (errorCode) {
246
+ msg = msg + ' - ' + getMessageByCode(errorCode, this.$i18n.locale)
247
+ }
248
+ }
249
+ this.$message.error(msg)
250
+ resolve(res)
251
+ }
252
+ this.$alert(this.$t('openatccomponents.greenwaveoptimize.planissuedsucc'), { type: 'success' })
253
+ resolve(res)
254
+ }).catch(error => {
255
+ this.$message.error(error)
256
+ })
257
+ })
258
+ },
259
+ async handleDelete (param) {
260
+ return new Promise((resolve, reject) => {
261
+ deleteRoutePattern(param).then(res => {
262
+ if (!res.data.success) {
263
+ let msg = getMessageByCode(res.data.code, this.$i18n.locale)
264
+ if (res.data.data) {
265
+ let errorCode = res.data.data.errorCode
266
+ if (errorCode) {
267
+ msg = msg + ' - ' + getMessageByCode(errorCode, this.$i18n.locale)
268
+ }
269
+ }
270
+ this.$message.error(msg)
271
+ resolve(false)
272
+ }
273
+ this.$message.success(this.$t('openatc.common.deletesuccess'))
274
+ this.$parent.getAllPlan()
275
+ resolve(true)
276
+ }).catch(error => {
277
+ this.$message.error(error)
278
+ })
279
+ })
280
+ },
281
+ async handleSave (id, routeData) {
282
+ return new Promise((resolve, reject) => {
283
+ let param = this.getSaveParam(id, routeData)
284
+ updateRoutePattern(param).then(res => {
285
+ if (!res.data.success) {
286
+ let msg = getMessageByCode(res.data.code, this.$i18n.locale)
287
+ if (res.data.data) {
288
+ let errorCode = res.data.data.errorCode
289
+ if (errorCode) {
290
+ msg = msg + ' - ' + getMessageByCode(errorCode, this.$i18n.locale)
291
+ }
292
+ }
293
+ this.$message.error(msg)
294
+ resolve(false)
295
+ }
296
+ this.$message.success(this.$t('openatc.common.savesuccess'))
297
+ this.$parent.getAllPlan()
298
+ resolve(true)
299
+ }).catch(error => {
300
+ this.$message.error(error)
301
+ })
302
+ })
303
+ },
304
+ handleSaveClick (id, routeData) {
305
+ let param = this.getSaveParam(id, routeData)
306
+ updateRoutePattern(param).then(res => {
307
+ if (!res.data.success) {
308
+ let msg = getMessageByCode(res.data.code, this.$i18n.locale)
309
+ if (res.data.data) {
310
+ let errorCode = res.data.data.errorCode
311
+ if (errorCode) {
312
+ msg = msg + ' - ' + getMessageByCode(errorCode, this.$i18n.locale)
313
+ }
314
+ }
315
+ this.$message.error(msg)
316
+ return
317
+ }
318
+ this.$message.success(this.$t('openatc.common.savesuccess'))
319
+ this.$parent.getAllPlan()
320
+ })
321
+ },
322
+ getSaveParam (id, tabs, filter = false) {
323
+ let routeData = JSON.parse(JSON.stringify(tabs))
324
+ let param = {
325
+ 'id': id || 0,
326
+ 'optPatternList': routeData
327
+ }
328
+ for (let tab of routeData) {
329
+ let devs = tab.devs
330
+ for (let inter of devs) {
331
+ let patternList = inter.patternList.map(item => {
332
+ let pattern = {
333
+ 'id': item.id,
334
+ 'desc': item.desc,
335
+ 'offset': item.offset,
336
+ 'cycle': item.cycle,
337
+ 'rings': item.rings
338
+ }
339
+ return pattern
340
+ })
341
+ inter.patternList = patternList
342
+ // inter.id = param.id
343
+ // delete inter.name
344
+ // delete inter.content
345
+ let dev = {
346
+ 'id': inter.id,
347
+ 'name': inter.name,
348
+ 'isused': inter.isused,
349
+ 'agentid': inter.agentid,
350
+ 'nextDistance': inter.nextDistance,
351
+ 'distance': inter.distance,
352
+ 'type': inter.type,
353
+ 'jsonparam': inter.jsonparam,
354
+ 'description': inter.description,
355
+ 'forwardphaseDesc': inter.forwardphaseDesc,
356
+ 'backphaseDesc': inter.backphaseDesc,
357
+ 'forwardphaseid': inter.forwardphaseid,
358
+ 'forwardphasedirection': inter.forwardphasedirection,
359
+ 'backphaseid': inter.backphaseid,
360
+ 'backphasedirection': inter.backphasedirection,
361
+ 'patternList': inter.patternList
362
+ }
363
+ inter = {...dev}
364
+ }
365
+ }
366
+ if (filter) {
367
+ param.optPatternList = param.optPatternList.map(pattern => {
368
+ delete pattern.content
369
+ delete pattern.date
370
+ delete pattern.day
371
+ delete pattern.direction
372
+ delete pattern.downspeed
373
+ delete pattern.keyintsid
374
+ delete pattern.month
375
+ delete pattern.optstrategy
376
+ delete pattern.plan
377
+ delete pattern.upspeed
378
+ pattern.name = pattern.title
379
+ // delete pattern.name
380
+ // delete pattern.name
381
+ delete pattern.title
382
+ delete pattern.patternid
383
+ pattern.devs.map(inter => {
384
+ delete inter.allPatterns
385
+ delete inter.currPhase
386
+ delete inter.patternList
387
+ delete inter.phaseList
388
+ delete inter.ringCount
389
+ delete inter.rings
390
+ })
391
+ return pattern
392
+ })
393
+ }
394
+ return param
395
+ },
396
+ handleCreate (routeData) {
397
+ let param = this.getGenerateParam(routeData, 1)
398
+ generateRoute(param).then(res => {
399
+ if (!res.data.success) {
400
+ let msg = getMessageByCode(res.data.code, this.$i18n.locale)
401
+ if (res.data.data) {
402
+ let errorCode = res.data.data.errorCode
403
+ if (errorCode) {
404
+ msg = msg + ' - ' + getMessageByCode(errorCode, this.$i18n.locale)
405
+ }
406
+ }
407
+ this.$message.error(msg)
408
+ return
409
+ }
410
+ this.$message.success(this.$t('openatccomponents.greenwaveoptimize.generatesuedsucc'))
411
+ this.greenwave = res.data.data.greenwave
412
+ this.patternList = res.data.data.devs
413
+ for (let dev of routeData.devs) {
414
+ for (let pattern of this.patternList) {
415
+ if (dev.agentid === pattern.agentid) {
416
+ dev.feature = pattern.feature
417
+ dev.patternid = pattern.patternid
418
+ }
419
+ }
420
+ }
421
+ this.handlePlanChart()
422
+ this.handlePatternTable()
423
+ })
424
+ },
425
+ getGenerateParam (routeData, bizType = 0) { // bizType: 1 generate专用
426
+ let route = JSON.parse(JSON.stringify(routeData))
427
+ let param = {
428
+ 'id': route.id,
429
+ 'name': route.name,
430
+ 'keyintsid': route.keyintsid,
431
+ 'direction': route.direction,
432
+ 'optstrategy': route.optstrategy,
433
+ 'upspeed': route.upspeed,
434
+ 'downspeed': route.downspeed,
435
+ 'type': route.type ? route.type : 0,
436
+ 'devs': route.devs
437
+ }
438
+ let devs = route.devs
439
+ for (let inter of devs) {
440
+ let patternList = inter.patternList.map(item => {
441
+ let pattern = {
442
+ 'id': item.id,
443
+ 'desc': item.desc,
444
+ 'offset': item.offset,
445
+ 'cycle': item.cycle,
446
+ 'rings': item.rings
447
+ }
448
+ return pattern
449
+ })
450
+ let phaseList = inter.phaseList.map(item => {
451
+ let pattern = {
452
+ 'id': item.id,
453
+ 'concurrent': item.concurrent
454
+ }
455
+ return pattern
456
+ })
457
+ let feature = {
458
+ patternList: patternList,
459
+ phaseList: phaseList
460
+ }
461
+ inter.routeid = param.id
462
+ inter.feature = feature
463
+ delete inter.id
464
+ delete inter.name
465
+ }
466
+ // param = route
467
+ param.devs = param.devs.map((item, index) => {
468
+ let dev = {
469
+ 'agentid': item.agentid,
470
+ 'routeid': item.routeid,
471
+ 'forwardphaseid': item.forwardphaseid,
472
+ 'backphaseid': item.backphaseid,
473
+ 'distance': item.distance,
474
+ 'width': item.width,
475
+ 'sortid': item.sortid ? item.sortid : index + 1,
476
+ 'patternid': item.patternid,
477
+ 'feature': item.feature
478
+ }
479
+ if (bizType === 1) {
480
+ dev.feature.patternList = dev.feature.patternList.filter(pattern => pattern.id === dev.patternid)
481
+ }
482
+ return dev
483
+ })
484
+ return param
485
+ },
486
+ closeDrawer (isRefresh) {
487
+ this.configurationVisible = false
488
+ if (isRefresh === 'refresh') {
489
+ this.$emit('resetContentComponent')
490
+ }
491
+ },
492
+ clickMask () {
493
+ this.maskVisible = false
494
+ },
495
+ getAllPatternOfRoute () {
496
+ if (this.agentids.length === 0) return
497
+ getAllPatternOfDevs(this.agentids).then(res => {
498
+ if (!res.data.success) {
499
+ let agentid = res.data.data.agentid
500
+ let commomMsg = this.$t('openatccomponents.greenwaveoptimize.device') + agentid
501
+ let data = res
502
+ let parrenterror = getMessageByCode(data.data.code, this.$i18n.locale)
503
+ if (data.data.data) {
504
+ // 子类型错误
505
+ let childErrorCode = data.data.data.errorCode
506
+ if (childErrorCode) {
507
+ let childerror = getMessageByCode(data.data.data.errorCode, this.$i18n.locale)
508
+ this.$message.error(parrenterror + ',' + childerror + ',' + commomMsg)
509
+ }
510
+ } else {
511
+ this.$message.error(parrenterror + ',' + commomMsg)
512
+ }
513
+ this.$emit('ErrorOcurrred')
514
+ return
515
+ }
516
+ this.allPatternList = res.data.data.devs
517
+ let editableTab = this.routeData
518
+ let patternList = this.getPatternListFromTab(editableTab, this.allPatternList)
519
+ this.patternList = patternList
520
+ this.getAllPhaseOfRouter() // 获取改路线的所有相位
521
+ })
522
+ },
523
+ getAllPhaseOfRouter () {
524
+ if (this.agentids.length === 0) return
525
+ getAllPhaseOfDevs(this.agentids).then(res => {
526
+ if (!res.data.success) {
527
+ let agentid = res.data.data.agentid
528
+ let commomMsg = this.$t('openatccomponents.greenwaveoptimize.device') + agentid
529
+ let data = res
530
+ let parrenterror = getMessageByCode(data.data.code, this.$i18n.locale)
531
+ if (data.data.data) {
532
+ // 子类型错误
533
+ let childErrorCode = data.data.data.errorCode
534
+ if (childErrorCode) {
535
+ let childerror = getMessageByCode(data.data.data.errorCode, this.$i18n.locale)
536
+ this.$message.error(parrenterror + ',' + childerror + ',' + commomMsg)
537
+ }
538
+ } else {
539
+ this.$message.error(parrenterror + ',' + commomMsg)
540
+ }
541
+ this.$emit('ErrorOcurrred')
542
+ return
543
+ }
544
+ this.phaseList = res.data.data.devs
545
+ this.handlePatternTable()
546
+ this.handlePlanChart()
547
+ this.handleMaskVisible()
548
+ })
549
+ },
550
+ handlePatternTable () {
551
+ this.$emit('handlePatternTable', this.routeData, this.patternList, this.phaseList)
552
+ // let patterntable = this.$refs.patterntable
553
+ // patterntable.onPatternTable(this.routeData, this.patternList, this.phaseList)
554
+ },
555
+ handlePlanChart () {
556
+ this.$emit('handlePlanChart', this.routeData, this.patternList, this.greenwave, this.allPatternList)
557
+ // let planchart = this.$refs.planchart
558
+ // planchart.onPlanChart(this.routeData, this.patternList, this.greenwave)
559
+ },
560
+ handleMaskVisible () {
561
+ // 数据为空,显示蒙层
562
+ if (this.patternList && !this.patternList.length && this.step) {
563
+ this.maskVisible = true
564
+ // 模拟一次手动点击,触发tip显示
565
+ this.$refs.editbtn.click()
566
+ }
567
+ },
568
+ onNewPatternListChange (newPatternList) {
569
+ this.refreshChart()
570
+ }
571
+ }
572
+ }
573
+ </script>
574
+
575
+ <style lang="scss" scoped>
576
+ </style>