openatc-components 0.2.63 → 0.2.65

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/PedSectionEWSvg.vue +300 -300
  81. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +288 -288
  82. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +391 -391
  83. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +336 -336
  84. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +345 -345
  85. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +389 -389
  86. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +1272 -1272
  87. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  88. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +402 -402
  89. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +361 -361
  90. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +368 -368
  91. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +475 -475
  92. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +494 -494
  93. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +401 -401
  94. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +360 -360
  95. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +367 -367
  96. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +476 -476
  97. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  98. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  99. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  100. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  101. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  102. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  103. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +1214 -1214
  104. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +197 -197
  105. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +196 -196
  106. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  107. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  108. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  109. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +115 -115
  110. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  111. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  112. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +219 -219
  113. package/package/kisscomps/components/IntersectionMap/crossDirection/utils.js +84 -84
  114. package/package/kisscomps/components/IntersectionMap/index.js +2 -2
  115. package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +199 -199
  116. package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +530 -530
  117. package/package/kisscomps/components/IntersectionWithInterface/index.js +2 -2
  118. package/package/kisscomps/components/KanBan/index.js +2 -2
  119. package/package/kisscomps/components/KanBan/kanban.vue +225 -225
  120. package/package/kisscomps/components/MessageBox/index.vue +96 -96
  121. package/package/kisscomps/components/OverLap/OverLap.vue +237 -237
  122. package/package/kisscomps/components/OverLap/index.js +2 -2
  123. package/package/kisscomps/components/PatternOptimize/PatternOptimize.vue +272 -272
  124. package/package/kisscomps/components/PatternOptimize/index.js +2 -2
  125. package/package/kisscomps/components/PatternStatus/PatternStatus.vue +1484 -1484
  126. package/package/kisscomps/components/PatternStatus/index.js +2 -2
  127. package/package/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  128. package/package/kisscomps/components/PatternWalkSvg/index.js +2 -2
  129. package/package/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  130. package/package/kisscomps/components/PhaseDirectionSelect/index.js +2 -2
  131. package/package/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  132. package/package/kisscomps/components/PhaseDirectionText/index.js +2 -2
  133. package/package/kisscomps/components/PhaseMarker/index.js +6 -6
  134. package/package/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  135. package/package/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  136. package/package/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  137. package/package/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  138. package/package/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  139. package/package/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  140. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +895 -895
  141. package/package/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +360 -360
  142. package/package/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  143. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +210 -210
  144. package/package/kisscomps/components/SchemeConfig/index.js +2 -2
  145. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +223 -223
  146. package/package/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  147. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +128 -128
  148. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/icon.vue +426 -426
  149. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +851 -851
  150. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +194 -194
  151. package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +211 -211
  152. package/package/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  153. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +275 -275
  154. package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +1209 -1209
  155. package/package/kisscomps/components/SelectCrossPhase/index.vue +418 -418
  156. package/package/kisscomps/components/SelectCrossPhase/utils.js +142 -142
  157. package/package/kisscomps/components/StageBord/StageBord.vue +288 -288
  158. package/package/kisscomps/components/StageBord/index.js +2 -2
  159. package/package/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  160. package/package/kisscomps/components/StageStatus/index.js +2 -2
  161. package/package/kisscomps/components/Stages/index.vue +319 -319
  162. package/package/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  163. package/package/kisscomps/components/SvgIcon/index.js +2 -2
  164. package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +1041 -1041
  165. package/package/kisscomps/components/XRDDirSelector/index.js +2 -2
  166. package/package/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  167. package/package/kisscomps/components/XiaoKanban/index.vue +102 -102
  168. package/package/kisscomps/components/overView/index.vue +699 -699
  169. package/package/kisscomps/components/patternConfig/index.js +2 -2
  170. package/package/kisscomps/components/patternConfig/index.vue +1126 -1126
  171. package/package/kisscomps/components/patternConfig/pattern/patternTable.vue +408 -408
  172. package/package/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  173. package/package/kisscomps/components/patternConfig/planContent.vue +576 -576
  174. package/package/kisscomps/components/patternConfig/planMenu.vue +329 -329
  175. package/package/kisscomps/components/patternConfig/utils.js +152 -152
  176. package/package/kisscomps/components/patternList/index.js +2 -2
  177. package/package/kisscomps/components/patternList/patternList.vue +585 -585
  178. package/package/kisscomps/index.js +123 -123
  179. package/package/kissui.js +216608 -0
  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 +31 -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 +1214 -1214
  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 +1484 -1484
  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 +895 -895
  375. package/src/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +360 -360
  376. package/src/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  377. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +210 -210
  378. package/src/kisscomps/components/SchemeConfig/index.js +2 -2
  379. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +223 -223
  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 +851 -851
  384. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +194 -194
  385. package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +211 -211
  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 +1209 -1209
  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 +319 -319
  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 +549 -549
  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/src/node_modules/.package_versions.json +0 -1
@@ -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>