openatc-components 0.2.90 → 0.3.1

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 (490) 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/ChannelRealtimeIntersection/ChannelRealtimeIntersection.vue +101 -101
  25. package/package/kisscomps/components/ChannelRealtimeIntersection/index.js +2 -2
  26. package/package/kisscomps/components/Channelization/Channelization.vue +584 -584
  27. package/package/kisscomps/components/Channelization/index.js +2 -2
  28. package/package/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  29. package/package/kisscomps/components/ChannelizationFlowStatistic/index.js +2 -2
  30. package/package/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  31. package/package/kisscomps/components/ChannelizationWithInterface/index.js +2 -2
  32. package/package/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  33. package/package/kisscomps/components/CommonKanban/index.js +2 -2
  34. package/package/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +454 -454
  35. package/package/kisscomps/components/DirectionListConfiguration/index.js +2 -2
  36. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  37. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  38. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  39. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  40. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  41. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  42. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  43. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  44. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  45. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  46. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  47. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  48. package/package/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  49. package/package/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  50. package/package/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  51. package/package/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  52. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  53. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  54. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  55. package/package/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  56. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  57. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  58. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  59. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  60. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +467 -467
  61. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  62. package/package/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  63. package/package/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +1005 -1005
  64. package/package/kisscomps/components/DrawChannelization/drawsvg/index.vue +110 -110
  65. package/package/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  66. package/package/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  67. package/package/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.vue +172 -172
  68. package/package/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  69. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  70. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  71. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  72. package/package/kisscomps/components/DrawChannelization/index.js +2 -2
  73. package/package/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  74. package/package/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  75. package/package/kisscomps/components/ExpendConfig/index.js +2 -2
  76. package/package/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  77. package/package/kisscomps/components/FaultDetailModal/index.js +2 -2
  78. package/package/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +158 -158
  79. package/package/kisscomps/components/IntersectionDirectionSelection/index.js +2 -2
  80. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +496 -496
  81. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  82. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +300 -300
  83. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +288 -288
  84. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +391 -391
  85. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +336 -336
  86. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +345 -345
  87. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +389 -389
  88. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +1302 -1302
  89. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  90. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +402 -402
  91. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +361 -361
  92. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +368 -368
  93. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +475 -475
  94. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +494 -494
  95. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +401 -401
  96. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +360 -360
  97. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +367 -367
  98. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +476 -476
  99. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  100. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  101. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  102. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  103. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  104. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  105. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +1358 -1358
  106. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +197 -197
  107. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +196 -196
  108. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  109. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  110. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  111. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +115 -115
  112. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  113. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  114. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +219 -219
  115. package/package/kisscomps/components/IntersectionMap/crossDirection/utils.js +84 -84
  116. package/package/kisscomps/components/IntersectionMap/index.js +2 -2
  117. package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +211 -211
  118. package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +530 -530
  119. package/package/kisscomps/components/IntersectionWithInterface/index.js +2 -2
  120. package/package/kisscomps/components/KanBan/index.js +2 -2
  121. package/package/kisscomps/components/KanBan/kanban.vue +225 -225
  122. package/package/kisscomps/components/MessageBox/index.vue +96 -96
  123. package/package/kisscomps/components/OverLap/OverLap.vue +237 -237
  124. package/package/kisscomps/components/OverLap/index.js +2 -2
  125. package/package/kisscomps/components/PatternOptimize/PatternOptimize.vue +272 -272
  126. package/package/kisscomps/components/PatternOptimize/index.js +2 -2
  127. package/package/kisscomps/components/PatternStatus/PatternStatus.vue +1508 -1508
  128. package/package/kisscomps/components/PatternStatus/index.js +2 -2
  129. package/package/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  130. package/package/kisscomps/components/PatternWalkSvg/index.js +2 -2
  131. package/package/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  132. package/package/kisscomps/components/PhaseDirectionSelect/index.js +2 -2
  133. package/package/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  134. package/package/kisscomps/components/PhaseDirectionText/index.js +2 -2
  135. package/package/kisscomps/components/PhaseMarker/index.js +6 -6
  136. package/package/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  137. package/package/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  138. package/package/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  139. package/package/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  140. package/package/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  141. package/package/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  142. package/package/kisscomps/components/PhasePedSelect/index.js +2 -0
  143. package/package/kisscomps/components/PhasePedSelect/index.vue +192 -0
  144. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +902 -902
  145. package/package/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +360 -360
  146. package/package/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  147. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +210 -210
  148. package/package/kisscomps/components/SchemeConfig/index.js +2 -2
  149. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +234 -223
  150. package/package/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  151. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +128 -128
  152. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/icon.vue +426 -426
  153. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +851 -851
  154. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +194 -194
  155. package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +211 -211
  156. package/package/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  157. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +283 -283
  158. package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +1211 -1211
  159. package/package/kisscomps/components/SelectCrossPhase/index.vue +418 -418
  160. package/package/kisscomps/components/SelectCrossPhase/utils.js +142 -142
  161. package/package/kisscomps/components/StageBord/StageBord.vue +303 -303
  162. package/package/kisscomps/components/StageBord/index.js +2 -2
  163. package/package/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  164. package/package/kisscomps/components/StageStatus/index.js +2 -2
  165. package/package/kisscomps/components/Stages/index.vue +319 -319
  166. package/package/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  167. package/package/kisscomps/components/SvgIcon/index.js +2 -2
  168. package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +1041 -1041
  169. package/package/kisscomps/components/XRDDirSelector/index.js +2 -2
  170. package/package/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  171. package/package/kisscomps/components/XiaoKanban/index.vue +102 -102
  172. package/package/kisscomps/components/overView/index.vue +699 -699
  173. package/package/kisscomps/components/patternConfig/index.js +2 -2
  174. package/package/kisscomps/components/patternConfig/index.vue +1126 -1126
  175. package/package/kisscomps/components/patternConfig/pattern/patternTable.vue +408 -408
  176. package/package/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  177. package/package/kisscomps/components/patternConfig/planContent.vue +576 -576
  178. package/package/kisscomps/components/patternConfig/planMenu.vue +329 -329
  179. package/package/kisscomps/components/patternConfig/utils.js +152 -152
  180. package/package/kisscomps/components/patternList/index.js +2 -2
  181. package/package/kisscomps/components/patternList/patternList.vue +585 -585
  182. package/package/kisscomps/index.js +125 -125
  183. package/package/kissui.js +216608 -0
  184. package/package/kissui.min.js +1 -1
  185. package/package.json +127 -127
  186. package/src/App.vue +24 -24
  187. package/src/EdgeMgr/EdgeModelBase.js +16 -16
  188. package/src/EdgeMgr/controller/crossDiagramMgr.js +125 -125
  189. package/src/api/authapi.js +31 -31
  190. package/src/api/config.js +21 -21
  191. package/src/api/control.js +106 -106
  192. package/src/api/cross.js +53 -53
  193. package/src/api/device.js +135 -135
  194. package/src/api/fault.js +66 -66
  195. package/src/api/index.js +24 -24
  196. package/src/api/login.js +46 -46
  197. package/src/api/optimize.js +72 -72
  198. package/src/api/param.js +165 -165
  199. package/src/api/passwdAssest.js +101 -101
  200. package/src/api/route.js +171 -171
  201. package/src/api/template.js +31 -31
  202. package/src/i18n/index.js +26 -26
  203. package/src/i18n/language/en.js +1446 -1446
  204. package/src/i18n/language/index.js +25 -25
  205. package/src/i18n/language/zh.js +1445 -1445
  206. package/src/icons/demo.css +539 -539
  207. package/src/icons/demo_index.html +8146 -8146
  208. package/src/icons/iconfont.css +1399 -1399
  209. package/src/icons/iconfont.json +2431 -2431
  210. package/src/icons/index.js +20 -20
  211. package/src/icons/svg/azimuthlocking.svg +26 -26
  212. package/src/icons/svg/bendi.svg +110 -110
  213. package/src/icons/svg/bujin.svg +36 -36
  214. package/src/icons/svg/connectBlue.svg +7 -7
  215. package/src/icons/svg/currentvolume.svg +0 -0
  216. package/src/icons/svg/custom-BRTlane.svg +40 -40
  217. package/src/icons/svg/custom-buslane.svg +40 -40
  218. package/src/icons/svg/custom-detector.svg +12 -12
  219. package/src/icons/svg/custom-east-bottom.svg +32 -32
  220. package/src/icons/svg/custom-east-top.svg +32 -32
  221. package/src/icons/svg/custom-ewped.svg +35 -35
  222. package/src/icons/svg/custom-nonmotorizedlane.svg +40 -40
  223. package/src/icons/svg/custom-north-left.svg +32 -32
  224. package/src/icons/svg/custom-north-right.svg +32 -32
  225. package/src/icons/svg/custom-peddetector.svg +17 -17
  226. package/src/icons/svg/custom-snped.svg +35 -35
  227. package/src/icons/svg/custom-south-left.svg +32 -32
  228. package/src/icons/svg/custom-south-right.svg +32 -32
  229. package/src/icons/svg/custom-tramlane.svg +40 -40
  230. package/src/icons/svg/custom-vehiclebranch.svg +40 -40
  231. package/src/icons/svg/custom-vehiclemainroad.svg +41 -41
  232. package/src/icons/svg/custom-west-bottom.svg +32 -32
  233. package/src/icons/svg/custom-west-top.svg +32 -32
  234. package/src/icons/svg/custom-xlped.svg +14 -14
  235. package/src/icons/svg/custom-xrped.svg +14 -14
  236. package/src/icons/svg/cutRed.svg +7 -7
  237. package/src/icons/svg/cycle.svg +0 -0
  238. package/src/icons/svg/dingzhouqi.svg +34 -34
  239. package/src/icons/svg/ganyingkongzhi.svg +30 -30
  240. package/src/icons/svg/guandeng.svg +81 -81
  241. package/src/icons/svg/huangshan.svg +71 -71
  242. package/src/icons/svg/maincontrol.svg +0 -0
  243. package/src/icons/svg/manualcontrolbackground.svg +51 -51
  244. package/src/icons/svg/manualcontrolbackground1.svg +62 -62
  245. package/src/icons/svg/manualcontrolbackgrounden.svg +62 -62
  246. package/src/icons/svg/model.svg +0 -0
  247. package/src/icons/svg/phasediff.svg +0 -0
  248. package/src/icons/svg/prioritycontrol.svg +21 -21
  249. package/src/icons/svg/quanhong.svg +86 -86
  250. package/src/icons/svg/shanghe.svg +11 -11
  251. package/src/icons/svg/shoudong.svg +103 -103
  252. package/src/icons/svg/tentativeplan.svg +28 -28
  253. package/src/icons/svg/time.svg +0 -0
  254. package/src/icons/svg/wuxianlan.svg +46 -46
  255. package/src/icons/svg/xiala.svg +11 -11
  256. package/src/icons/svg/xingrenguojie.svg +33 -33
  257. package/src/icons/svg/xitong.svg +89 -89
  258. package/src/icons/svg/youxian.svg +41 -41
  259. package/src/icons/svg/zizhukongzhi.svg +43 -43
  260. package/src/kisscomps/components/BoardCard/BoardCard.vue +112 -112
  261. package/src/kisscomps/components/BoardCard/index.js +2 -2
  262. package/src/kisscomps/components/ChannelRealtimeIntersection/ChannelRealtimeIntersection.vue +101 -101
  263. package/src/kisscomps/components/ChannelRealtimeIntersection/index.js +2 -2
  264. package/src/kisscomps/components/Channelization/Channelization.vue +584 -584
  265. package/src/kisscomps/components/Channelization/index.js +2 -2
  266. package/src/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  267. package/src/kisscomps/components/ChannelizationFlowStatistic/index.js +2 -2
  268. package/src/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  269. package/src/kisscomps/components/ChannelizationWithInterface/index.js +2 -2
  270. package/src/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  271. package/src/kisscomps/components/CommonKanban/index.js +2 -2
  272. package/src/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +454 -454
  273. package/src/kisscomps/components/DirectionListConfiguration/index.js +2 -2
  274. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  275. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  276. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  277. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  278. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  279. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  280. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  281. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  282. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  283. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  284. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  285. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  286. package/src/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  287. package/src/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  288. package/src/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  289. package/src/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  290. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  291. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  292. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  293. package/src/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  294. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  295. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  296. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  297. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  298. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +467 -467
  299. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  300. package/src/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  301. package/src/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +1005 -1005
  302. package/src/kisscomps/components/DrawChannelization/drawsvg/index.vue +110 -110
  303. package/src/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  304. package/src/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  305. package/src/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.vue +172 -172
  306. package/src/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  307. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  308. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  309. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  310. package/src/kisscomps/components/DrawChannelization/index.js +2 -2
  311. package/src/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  312. package/src/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  313. package/src/kisscomps/components/ExpendConfig/index.js +2 -2
  314. package/src/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  315. package/src/kisscomps/components/FaultDetailModal/index.js +2 -2
  316. package/src/kisscomps/components/IntersectionDirectionSelection/IntersectionDirectionSelection.vue +158 -158
  317. package/src/kisscomps/components/IntersectionDirectionSelection/index.js +2 -2
  318. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +496 -496
  319. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  320. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +300 -300
  321. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +288 -288
  322. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +391 -391
  323. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +336 -336
  324. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +345 -345
  325. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +389 -389
  326. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +1302 -1302
  327. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  328. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +402 -402
  329. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +361 -361
  330. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +368 -368
  331. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +475 -475
  332. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +494 -494
  333. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +401 -401
  334. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +360 -360
  335. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +367 -367
  336. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +476 -476
  337. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  338. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  339. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  340. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  341. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  342. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  343. package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +1358 -1358
  344. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +197 -197
  345. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +196 -196
  346. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  347. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  348. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  349. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +115 -115
  350. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  351. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  352. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +219 -219
  353. package/src/kisscomps/components/IntersectionMap/crossDirection/utils.js +84 -84
  354. package/src/kisscomps/components/IntersectionMap/index.js +2 -2
  355. package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +211 -211
  356. package/src/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +530 -530
  357. package/src/kisscomps/components/IntersectionWithInterface/index.js +2 -2
  358. package/src/kisscomps/components/KanBan/index.js +2 -2
  359. package/src/kisscomps/components/KanBan/kanban.vue +225 -225
  360. package/src/kisscomps/components/MessageBox/index.vue +96 -96
  361. package/src/kisscomps/components/OverLap/OverLap.vue +237 -237
  362. package/src/kisscomps/components/OverLap/index.js +2 -2
  363. package/src/kisscomps/components/PatternOptimize/PatternOptimize.vue +272 -272
  364. package/src/kisscomps/components/PatternOptimize/index.js +2 -2
  365. package/src/kisscomps/components/PatternStatus/PatternStatus.vue +1508 -1508
  366. package/src/kisscomps/components/PatternStatus/index.js +2 -2
  367. package/src/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  368. package/src/kisscomps/components/PatternWalkSvg/index.js +2 -2
  369. package/src/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  370. package/src/kisscomps/components/PhaseDirectionSelect/index.js +2 -2
  371. package/src/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  372. package/src/kisscomps/components/PhaseDirectionText/index.js +2 -2
  373. package/src/kisscomps/components/PhaseMarker/index.js +6 -6
  374. package/src/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  375. package/src/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  376. package/src/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  377. package/src/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  378. package/src/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  379. package/src/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  380. package/src/kisscomps/components/PhasePedSelect/index.js +2 -0
  381. package/src/kisscomps/components/PhasePedSelect/index.vue +192 -0
  382. package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +902 -902
  383. package/src/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +360 -360
  384. package/src/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  385. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +210 -210
  386. package/src/kisscomps/components/SchemeConfig/index.js +2 -2
  387. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +234 -223
  388. package/src/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  389. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +128 -128
  390. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/icon.vue +426 -426
  391. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +851 -851
  392. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +194 -194
  393. package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +211 -211
  394. package/src/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  395. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +283 -283
  396. package/src/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +1211 -1211
  397. package/src/kisscomps/components/SelectCrossPhase/index.vue +418 -418
  398. package/src/kisscomps/components/SelectCrossPhase/utils.js +142 -142
  399. package/src/kisscomps/components/StageBord/StageBord.vue +303 -303
  400. package/src/kisscomps/components/StageBord/index.js +2 -2
  401. package/src/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  402. package/src/kisscomps/components/StageStatus/index.js +2 -2
  403. package/src/kisscomps/components/Stages/index.vue +319 -319
  404. package/src/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  405. package/src/kisscomps/components/SvgIcon/index.js +2 -2
  406. package/src/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +1041 -1041
  407. package/src/kisscomps/components/XRDDirSelector/index.js +2 -2
  408. package/src/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  409. package/src/kisscomps/components/XiaoKanban/index.vue +102 -102
  410. package/src/kisscomps/components/overView/index.vue +699 -699
  411. package/src/kisscomps/components/patternConfig/index.js +2 -2
  412. package/src/kisscomps/components/patternConfig/index.vue +1126 -1126
  413. package/src/kisscomps/components/patternConfig/pattern/patternTable.vue +408 -408
  414. package/src/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  415. package/src/kisscomps/components/patternConfig/planContent.vue +576 -576
  416. package/src/kisscomps/components/patternConfig/planMenu.vue +329 -329
  417. package/src/kisscomps/components/patternConfig/utils.js +152 -152
  418. package/src/kisscomps/components/patternList/index.js +2 -2
  419. package/src/kisscomps/components/patternList/patternList.vue +585 -585
  420. package/src/kisscomps/index.js +125 -125
  421. package/src/lib/publicjs/ArryListUtil.js +38 -38
  422. package/src/lib/publicjs/HttpurlMgr.js +45 -45
  423. package/src/lib/publicjs/KissApi.js +158 -158
  424. package/src/lib/publicjs/KissWSSub/Heartcheck.js +128 -128
  425. package/src/lib/publicjs/KissWSSub/KissWsSub.js +91 -91
  426. package/src/lib/publicjs/KissWSSub/KissWsSubByType.js +152 -152
  427. package/src/lib/publicjs/KissWSSub/SimuWsSubByType.js +44 -44
  428. package/src/lib/publicjs/KissWSSub/Sub.js +51 -51
  429. package/src/lib/publicjs/KissWSSub/SubChannel.js +119 -119
  430. package/src/lib/publicjs/basecomponents.js +65 -65
  431. package/src/lib/publicjs/localStorage.js +112 -112
  432. package/src/lib/publicjs/objdeepcopy.js +32 -32
  433. package/src/lib/publicjs/pageScroll.js +30 -30
  434. package/src/lib/publicjs/passwdAssest.js +101 -101
  435. package/src/lib/publicjs/styleclassfactory.js +32 -32
  436. package/src/main.js +50 -50
  437. package/src/router/index.js +63 -63
  438. package/src/store/getters.js +16 -16
  439. package/src/store/index.js +26 -26
  440. package/src/store/modules/globalParam.js +67 -67
  441. package/src/utils/ControlFormat.js +68 -68
  442. package/src/utils/RingDataModel.js +258 -258
  443. package/src/utils/auth.js +199 -199
  444. package/src/utils/conflct.js +250 -250
  445. package/src/utils/conflictList.js +87 -87
  446. package/src/utils/dateFormat.js +41 -41
  447. package/src/utils/errorcode.js +227 -227
  448. package/src/utils/fault.js +196 -196
  449. package/src/utils/faultcode.js +209 -209
  450. package/src/utils/index.js +69 -69
  451. package/src/utils/pedphasedesc.js +119 -119
  452. package/src/utils/phaseList.js +203 -203
  453. package/src/utils/phasedesc.js +144 -144
  454. package/src/utils/responseMessage.js +21 -21
  455. package/src/utils/validate.js +43 -43
  456. package/src/views/customchannelization.vue +49 -49
  457. package/src/views/home.1.vue +479 -479
  458. package/src/views/home.vue +93 -93
  459. package/src/views/intersection.vue +413 -413
  460. package/src/views/intersection2.vue +328 -328
  461. package/src/views/overView.vue +41 -41
  462. package/src/views/patternConfig.vue +609 -609
  463. package/src/views/schemeconfig.vue +206 -204
  464. package/static/apiconfig.json +451 -451
  465. package/static/styles/PhasePedSelect.scss +68 -0
  466. package/static/styles/channelizatioon.scss +433 -433
  467. package/static/styles/common.scss +24 -23
  468. package/static/styles/commonkanban.scss +168 -168
  469. package/static/styles/dark/index.scss +2 -2
  470. package/static/styles/dark/theme/element-dark.scss +44 -42
  471. package/static/styles/index.scss +84 -84
  472. package/static/styles/intersection.scss +190 -190
  473. package/static/styles/light/index.scss +2 -2
  474. package/static/styles/light/theme/element-light.scss +44 -42
  475. package/static/styles/overview.scss +146 -146
  476. package/static/styles/patternConfig.scss +56 -56
  477. package/static/styles/schemeconfig.scss +549 -549
  478. package/static/styles/stages.scss +57 -57
  479. package/static/styles/uiComponents.scss +57 -57
  480. package/static/styles/xiaokanban.scss +50 -50
  481. package/static/token.json +2 -2
  482. package/test/e2e/custom-assertions/elementCount.js +27 -27
  483. package/test/e2e/nightwatch.conf.js +46 -46
  484. package/test/e2e/runner.js +48 -48
  485. package/test/e2e/specs/test.js +19 -19
  486. package/test/unit/.eslintrc +7 -7
  487. package/test/unit/jest.conf.js +30 -30
  488. package/test/unit/setup.js +3 -3
  489. package/test/unit/specs/HelloWorld.spec.js +11 -11
  490. 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>