openatc-components 0.5.9 → 0.5.11

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 (372) hide show
  1. package/.babelrc +18 -18
  2. package/.editorconfig +9 -9
  3. package/.eslintignore +5 -5
  4. package/.eslintrc.js +31 -31
  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 +120 -120
  15. package/build/webpack.dev.conf.js +95 -95
  16. package/build/webpack.prod.conf.js +149 -149
  17. package/config/prod.env.js +5 -5
  18. package/config/test.env.js +7 -7
  19. package/index.html +12 -12
  20. package/package/kisscomps/components/Channelization/Channelization.vue +585 -585
  21. package/package/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  22. package/package/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  23. package/package/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  24. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  25. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  26. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  27. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  28. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  29. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  30. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  31. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  32. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  33. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  34. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  35. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  36. package/package/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  37. package/package/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  38. package/package/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  39. package/package/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  40. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  41. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  42. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  43. package/package/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  44. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  45. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  46. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  47. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  48. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  49. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  50. package/package/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  51. package/package/kisscomps/components/DrawChannelization/drawsvg/index.vue +144 -144
  52. package/package/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  53. package/package/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  54. package/package/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  55. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  56. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  57. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  58. package/package/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  59. package/package/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  60. package/package/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  61. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +629 -629
  62. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  63. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  64. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  65. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  66. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  67. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  68. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  69. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  70. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +498 -498
  71. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +484 -484
  72. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +488 -488
  73. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +566 -566
  74. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  75. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  76. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  77. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  78. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  79. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  80. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  81. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  82. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  83. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  84. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  85. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  86. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  87. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  88. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  89. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  90. package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +534 -534
  91. package/package/kisscomps/components/KanBan/kanban.vue +231 -231
  92. package/package/kisscomps/components/MessageBox/index.vue +96 -96
  93. package/package/kisscomps/components/PatternOptimize/PatternOptimize.vue +329 -329
  94. package/package/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  95. package/package/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  96. package/package/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  97. package/package/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  98. package/package/kisscomps/components/PhaseMarker/index.js +6 -6
  99. package/package/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  100. package/package/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  101. package/package/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  102. package/package/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  103. package/package/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  104. package/package/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  105. package/package/kisscomps/components/PhasePedSelect/index.vue +206 -206
  106. package/package/kisscomps/components/RcpRightPanel/index.vue +314 -0
  107. package/package/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +365 -365
  108. package/package/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  109. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  110. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  111. package/package/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  112. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  113. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  114. package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  115. package/package/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  116. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +308 -308
  117. package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +1 -1
  118. package/package/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  119. package/package/kisscomps/components/SelectCrossPhase/utils.js +142 -142
  120. package/package/kisscomps/components/SelectGBCrossStage/index.vue +323 -0
  121. package/package/kisscomps/components/SelectGBCrossStage/mock/gb_features.json +212 -0
  122. package/package/kisscomps/components/SelectGBCrossStage/utils.js +142 -0
  123. package/package/kisscomps/components/StageOptimize/StageOptimize.vue +367 -367
  124. package/package/kisscomps/components/StageOptimize/index.js +2 -2
  125. package/package/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  126. package/package/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  127. package/package/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  128. package/package/kisscomps/components/XiaoKanban/index.vue +122 -122
  129. package/package/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  130. package/package/kisscomps/components/patternConfig/planContent.vue +604 -604
  131. package/package/kisscomps/components/patternConfig/planMenu.vue +329 -329
  132. package/package/kisscomps/index.js +4 -0
  133. package/package/kissui.js +216608 -0
  134. package/package/kissui.min.js +1 -1
  135. package/package.json +1 -1
  136. package/pnpm-lock.yaml +16362 -0
  137. package/src/EdgeMgr/EdgeModelBase.js +16 -16
  138. package/src/EdgeMgr/controller/crossDiagramMgr.js +125 -125
  139. package/src/api/authapi.js +31 -31
  140. package/src/api/config.js +21 -21
  141. package/src/api/control.js +110 -110
  142. package/src/api/device.js +135 -135
  143. package/src/api/fault.js +66 -66
  144. package/src/api/index.js +24 -24
  145. package/src/api/login.js +46 -46
  146. package/src/api/optimize.js +72 -72
  147. package/src/api/param.js +165 -165
  148. package/src/api/passwdAssest.js +101 -101
  149. package/src/api/permission.js +33 -33
  150. package/src/api/route.js +171 -171
  151. package/src/api/template.js +27 -27
  152. package/src/assets/font/LICENSE.txt +202 -202
  153. package/src/assets/font/font.css +6 -6
  154. package/src/i18n/index.js +26 -26
  155. package/src/i18n/language/en.js +173 -5
  156. package/src/i18n/language/zh.js +167 -2
  157. package/src/icons/index.js +20 -20
  158. package/src/icons/svg/azimuthlocking.svg +26 -26
  159. package/src/icons/svg/bendi.svg +110 -110
  160. package/src/icons/svg/bujin.svg +36 -36
  161. package/src/icons/svg/connectBlue.svg +7 -7
  162. package/src/icons/svg/currentvolume.svg +0 -0
  163. package/src/icons/svg/custom-BRTlane.svg +40 -40
  164. package/src/icons/svg/custom-buslane.svg +40 -40
  165. package/src/icons/svg/custom-detector.svg +12 -12
  166. package/src/icons/svg/custom-east-bottom.svg +32 -32
  167. package/src/icons/svg/custom-east-top.svg +32 -32
  168. package/src/icons/svg/custom-ewped.svg +35 -35
  169. package/src/icons/svg/custom-nonmotorizedlane.svg +40 -40
  170. package/src/icons/svg/custom-north-left.svg +32 -32
  171. package/src/icons/svg/custom-north-right.svg +32 -32
  172. package/src/icons/svg/custom-peddetector.svg +17 -17
  173. package/src/icons/svg/custom-snped.svg +35 -35
  174. package/src/icons/svg/custom-south-left.svg +32 -32
  175. package/src/icons/svg/custom-south-right.svg +32 -32
  176. package/src/icons/svg/custom-tramlane.svg +40 -40
  177. package/src/icons/svg/custom-vehiclebranch.svg +40 -40
  178. package/src/icons/svg/custom-vehiclemainroad.svg +41 -41
  179. package/src/icons/svg/custom-west-bottom.svg +32 -32
  180. package/src/icons/svg/custom-west-top.svg +32 -32
  181. package/src/icons/svg/custom-xlped.svg +14 -14
  182. package/src/icons/svg/custom-xrped.svg +14 -14
  183. package/src/icons/svg/cutRed.svg +7 -7
  184. package/src/icons/svg/cycle.svg +0 -0
  185. package/src/icons/svg/dingzhouqi.svg +34 -34
  186. package/src/icons/svg/ganyingkongzhi.svg +30 -30
  187. package/src/icons/svg/guandeng.svg +81 -81
  188. package/src/icons/svg/huangshan.svg +71 -71
  189. package/src/icons/svg/maincontrol.svg +0 -0
  190. package/src/icons/svg/manualcontrolbackground.svg +51 -51
  191. package/src/icons/svg/manualcontrolbackground1.svg +62 -62
  192. package/src/icons/svg/manualcontrolbackgrounden.svg +62 -62
  193. package/src/icons/svg/model.svg +0 -0
  194. package/src/icons/svg/phasediff.svg +0 -0
  195. package/src/icons/svg/prioritycontrol.svg +21 -21
  196. package/src/icons/svg/quanhong.svg +86 -86
  197. package/src/icons/svg/shanghe.svg +11 -11
  198. package/src/icons/svg/shoudong.svg +103 -103
  199. package/src/icons/svg/tentativeplan.svg +28 -28
  200. package/src/icons/svg/time.svg +0 -0
  201. package/src/icons/svg/wuxianlan.svg +46 -46
  202. package/src/icons/svg/xiala.svg +11 -11
  203. package/src/icons/svg/xingrenguojie.svg +33 -33
  204. package/src/icons/svg/xitong.svg +89 -89
  205. package/src/icons/svg/youxian.svg +41 -41
  206. package/src/icons/svg/zizhukongzhi.svg +43 -43
  207. package/src/kisscomps/components/Channelization/Channelization.vue +585 -585
  208. package/src/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  209. package/src/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  210. package/src/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  211. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  212. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  213. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  214. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  215. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  216. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  217. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  218. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  219. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  220. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  221. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  222. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  223. package/src/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  224. package/src/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  225. package/src/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  226. package/src/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  227. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  228. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  229. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  230. package/src/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  231. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  232. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  233. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  234. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  235. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  236. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  237. package/src/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  238. package/src/kisscomps/components/DrawChannelization/drawsvg/index.vue +144 -144
  239. package/src/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  240. package/src/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  241. package/src/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  242. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  243. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  244. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  245. package/src/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  246. package/src/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  247. package/src/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  248. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +629 -629
  249. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  250. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  251. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  252. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  253. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  254. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  255. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  256. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  257. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +498 -498
  258. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +484 -484
  259. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +488 -488
  260. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +566 -566
  261. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  262. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  263. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  264. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  265. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  266. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  267. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  268. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  269. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  270. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  271. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  272. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  273. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  274. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  275. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  276. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  277. package/src/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +534 -534
  278. package/src/kisscomps/components/KanBan/kanban.vue +231 -231
  279. package/src/kisscomps/components/MessageBox/index.vue +96 -96
  280. package/src/kisscomps/components/PatternOptimize/PatternOptimize.vue +329 -329
  281. package/src/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  282. package/src/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  283. package/src/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  284. package/src/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  285. package/src/kisscomps/components/PhaseMarker/index.js +6 -6
  286. package/src/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  287. package/src/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  288. package/src/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  289. package/src/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  290. package/src/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  291. package/src/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  292. package/src/kisscomps/components/PhasePedSelect/index.vue +206 -206
  293. package/src/kisscomps/components/RcpRightPanel/index.vue +314 -0
  294. package/src/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +365 -365
  295. package/src/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  296. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  297. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  298. package/src/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  299. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  300. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  301. package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  302. package/src/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  303. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +308 -308
  304. package/src/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +1 -1
  305. package/src/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  306. package/src/kisscomps/components/SelectCrossPhase/utils.js +142 -142
  307. package/src/kisscomps/components/SelectGBCrossStage/index.vue +323 -0
  308. package/src/kisscomps/components/SelectGBCrossStage/mock/gb_features.json +212 -0
  309. package/src/kisscomps/components/SelectGBCrossStage/utils.js +142 -0
  310. package/src/kisscomps/components/StageOptimize/StageOptimize.vue +367 -367
  311. package/src/kisscomps/components/StageOptimize/index.js +2 -2
  312. package/src/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  313. package/src/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  314. package/src/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  315. package/src/kisscomps/components/XiaoKanban/index.vue +122 -122
  316. package/src/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  317. package/src/kisscomps/components/patternConfig/planContent.vue +604 -604
  318. package/src/kisscomps/components/patternConfig/planMenu.vue +329 -329
  319. package/src/kisscomps/index.js +4 -0
  320. package/src/lib/publicjs/ArryListUtil.js +38 -38
  321. package/src/lib/publicjs/HttpurlMgr.js +45 -45
  322. package/src/lib/publicjs/KissApi.js +158 -158
  323. package/src/lib/publicjs/KissWSSub/Heartcheck.js +128 -128
  324. package/src/lib/publicjs/KissWSSub/KissWsSub.js +91 -91
  325. package/src/lib/publicjs/KissWSSub/KissWsSubByType.js +152 -152
  326. package/src/lib/publicjs/KissWSSub/SimuWsSubByType.js +44 -44
  327. package/src/lib/publicjs/KissWSSub/Sub.js +51 -51
  328. package/src/lib/publicjs/KissWSSub/SubChannel.js +119 -119
  329. package/src/lib/publicjs/basecomponents.js +65 -65
  330. package/src/lib/publicjs/localStorage.js +112 -112
  331. package/src/lib/publicjs/objdeepcopy.js +32 -32
  332. package/src/lib/publicjs/pageScroll.js +30 -30
  333. package/src/lib/publicjs/passwdAssest.js +101 -101
  334. package/src/lib/publicjs/styleclassfactory.js +32 -32
  335. package/src/router/index.js +7 -0
  336. package/src/store/index.js +26 -26
  337. package/src/store/modules/globalParam.js +67 -67
  338. package/src/utils/RingDataModel.js +335 -335
  339. package/src/utils/conflct.js +1 -1
  340. package/src/utils/conflictList.js +87 -87
  341. package/src/utils/dateFormat.js +41 -41
  342. package/src/utils/index.js +69 -69
  343. package/src/utils/phaseList.js +203 -203
  344. package/src/utils/validate.js +43 -43
  345. package/src/views/RcpRightPanel.vue +74 -0
  346. package/src/views/home.1.vue +479 -479
  347. package/src/views/home.vue +93 -93
  348. package/src/views/intersection2.vue +328 -328
  349. package/src/views/overView.vue +63 -63
  350. package/static/styles/channelizatioon.scss +433 -433
  351. package/static/styles/common.scss +30 -30
  352. package/static/styles/commonkanban.scss +168 -168
  353. package/static/styles/dark/index.scss +2 -2
  354. package/static/styles/dark/theme/element-dark.scss +44 -44
  355. package/static/styles/index.scss +84 -84
  356. package/static/styles/intersection.scss +180 -180
  357. package/static/styles/light/index.scss +2 -2
  358. package/static/styles/light/theme/element-light.scss +44 -44
  359. package/static/styles/overview.scss +151 -146
  360. package/static/styles/patternConfig.scss +56 -56
  361. package/static/styles/phasePedSelect.scss +71 -71
  362. package/static/styles/stages.scss +57 -57
  363. package/static/styles/xiaokanban.scss +61 -61
  364. package/static/token.json +2 -2
  365. package/test/e2e/custom-assertions/elementCount.js +27 -27
  366. package/test/e2e/nightwatch.conf.js +46 -46
  367. package/test/e2e/runner.js +48 -48
  368. package/test/e2e/specs/test.js +19 -19
  369. package/test/unit/.eslintrc +7 -7
  370. package/test/unit/jest.conf.js +30 -30
  371. package/test/unit/setup.js +3 -3
  372. package/test/unit/specs/HelloWorld.spec.js +11 -11
@@ -1,367 +1,367 @@
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>
14
- <div class="optimizetype">
15
- <span>{{$t('openatccomponents.pattern.optimizetype')}}</span>
16
- <el-select v-model="value" clearable :placeholder="$t('openatccomponents.common.select')">
17
- <el-option
18
- v-for="item in typeOptions"
19
- :key="item.value"
20
- :label="$t('openatccomponents.overview.type' + item.value)"
21
- :value="item.value"
22
- >
23
- </el-option>
24
- </el-select>
25
- <span class="optimiNum">{{$t('openatccomponents.pattern.optimizecycle')}}</span>
26
- <el-input v-model="optimizecycle" clearable :placeholder="$t('openatccomponents.common.enter')"></el-input>
27
- <!-- <el-button type="primary" @click="optimize()">{{$t('openatccomponents.pattern.inoptimize')}}</el-button> -->
28
- </div>
29
- <el-table :cell-style="{ padding: '0' }" :data="tableRing" :max-height="tableHeight" highlight-current-row>
30
- <el-table-column prop="id" sortable align="center" :label="$t('openatccomponents.overview.id')">
31
- <template slot-scope="scope">
32
- <span>{{scope.row.id}}</span>
33
- </template>
34
- </el-table-column>
35
- <el-table-column class="table-column" :label="$t('openatccomponents.overview.phase')" align="center">
36
- <template slot-scope="scope">
37
- <xdrdirselector Width="70px" Height="70px" Widths="58px" Heights="58px" :Datas="styles" :Data="showStyle" :showlist="scope.row.desc" :ISActiveMask="ISActiveMask" :MaskColor="MaskColor"></xdrdirselector>
38
- </template>
39
- </el-table-column>
40
- <el-table-column class="table-column" :label="$t('openatccomponents.overview.flow')" align="center">
41
- <template slot-scope="scope">
42
- <el-input-number :controls="false" class="col-content" size="small" :step="1" v-model.number="scope.row.flowperhour" ref="type"></el-input-number>
43
- <!-- <span>{{scope.row.flowperhour}}</span> -->
44
- </template>
45
- </el-table-column>
46
- <el-table-column align="center" :label="$t('openatccomponents.overview.saturationflow')">
47
- <template slot-scope="scope">
48
- <el-input-number :controls="false" class="col-content" size="small" :step="1" v-model.number="scope.row.saturation" ref="types"></el-input-number>
49
- <!-- <span>{{scope.row.saturation}}</span> -->
50
- </template>
51
- </el-table-column>
52
- </el-table>
53
- <!-- <div v-if="this.nowNumber === 1" class="optimizetype">
54
- <span>{{$t('openatccomponents.pattern.optimizetype')}}</span>
55
- <el-select v-model="value" clearable :placeholder="$t('openatccomponents.common.select')">
56
- <el-option
57
- v-for="item in typeOptions"
58
- :key="item.value"
59
- :label="$t('openatccomponents.overview.type' + item.value)"
60
- :value="item.value"
61
- >
62
- </el-option>
63
- </el-select>
64
- <span class="optimiNum">{{$t('openatccomponents.pattern.optimizecycle')}}</span>
65
- <el-input v-model="optimizecycle" clearable :placeholder="$t('openatccomponents.common.enter')"></el-input>
66
- <el-button type="primary" @click="optimize()">{{$t('openatccomponents.pattern.inoptimize')}}</el-button>
67
- </div>
68
- <div class="common-board-column" style="margin-top: 50px;">
69
- <div class="common-board-column-header">
70
- {{headerText}}
71
- </div>
72
- <div class="common-board-table-header">
73
- <el-row :gutter="5">
74
- <el-col :span="2">{{this.$t('openatccomponents.overview.id')}}
75
- </el-col>
76
- <el-col :span="4">{{this.$t('openatccomponents.overview.phase')}}
77
- </el-col>
78
- <el-col :span="9">{{this.$t('openatccomponents.overview.flow')}}
79
- </el-col>
80
- <el-col :span="9">{{this.$t('openatccomponents.overview.saturationflow')}}
81
- </el-col>
82
- </el-row>
83
- </div>
84
- <draggable
85
- class="common-board-column-content"
86
- :list="stageData"
87
- :options="options">
88
- <div class="common-board-item" v-for="element in stageData" :key="element.id">
89
- <el-row :gutter="5">
90
- <el-col :span="2">
91
- {{element.id}}
92
- </el-col>
93
- <el-col :span="4">
94
- <el-tooltip class="item" effect="dark" placement="left">
95
- <div slot="content">{{element.name}}</div>
96
- <div class="common-phase-description">
97
- <xdrdirselector v-if="element.desc.length > 0" Width="70px" Height="70px" Widths="58px" Heights="58px" :Datas="styles" :Data="showStyle" :showlist="element.desc" :ISActiveMask="ISActiveMask" :MaskColor="MaskColor"></xdrdirselector>
98
- </div>
99
- </el-tooltip>
100
- </el-col>
101
- <el-col :span="9">
102
- <el-input-number :controls="false" class="col-content" size="small" :step="1" v-model.number="element.flowperhour" ref="type" :disabled="element.mode === 7"></el-input-number>
103
- </el-col>
104
- <el-col :span="9">
105
- <el-input-number :controls="false" class="col-content" size="small" :step="1" v-model.number="element.saturation" ref="types" :disabled="element.mode === 7"></el-input-number>
106
- </el-col>
107
- </el-row>
108
- </div>
109
- </draggable>
110
- </div> -->
111
- </div>
112
- </template>
113
- <script>
114
- import draggable from 'vuedraggable'
115
- import { getDuration } from '../../../api/cross'
116
- import xdrdirselector from '../XRDDirSelector/XRDDirSelector'
117
-
118
- export default {
119
- name: 'StageOptimize',
120
- components: {
121
- draggable,
122
- xdrdirselector
123
- },
124
- data () {
125
- return {
126
- // showStyle: {
127
- // left: '2px',
128
- // top: '0px'
129
- // },
130
- // styles: {
131
- // left: '1px',
132
- // top: '0px'
133
- // },
134
- tableHeight: 400,
135
- typeOptions: [{
136
- value: 'flow-split-opt'
137
- }, {
138
- value: 'cycle-opt'
139
- }],
140
- value: '',
141
- optimizecycle: 0
142
- }
143
- },
144
- props: {
145
- headerText: {
146
- type: String,
147
- default: 'Header'
148
- },
149
- tableRing: {
150
- type: Array
151
- },
152
- showStyle: {
153
- type: Object
154
- },
155
- styles: {
156
- type: Object
157
- },
158
- contrloType: {
159
- type: String
160
- },
161
- stageData: {
162
- type: Array
163
- },
164
- stagesChange: {
165
- type: Array
166
- },
167
- id: {
168
- type: Number
169
- },
170
- rings: {
171
- type: Object
172
- },
173
- nowNumber: {
174
- type: Number
175
- },
176
- phaseList: {
177
- type: Array
178
- },
179
- options: {
180
- type: Object,
181
- default () {
182
- return {}
183
- }
184
- },
185
- list: {
186
- type: Array,
187
- default () {
188
- return []
189
- }
190
- },
191
- // index: {
192
- // type: Number
193
- // },
194
- ISActiveMask: {
195
- type: Boolean,
196
- default: true
197
- },
198
- // 当phase的描述为空时,显示的图形颜色。
199
- MaskColor: {
200
- type: String,
201
- default: '#000000'
202
- }
203
- },
204
- created () {
205
- // this.addMinSplit()
206
- // this.addMin()
207
- },
208
- watch: {
209
- list: {
210
- handler: function () {
211
- // this.addMin()
212
- // let list = this.$refs.type
213
- // let flow = this.$refs.types
214
- // console.log(this.list, 'list')
215
- // let cycle = 0
216
- // let n = this.index
217
- // for (let i = 0; i < list.length; i++) {
218
- // cycle = cycle + Number(list[i].currentValue)
219
- // }
220
- // const globalParamModel = this.$store.getters.globalParamModel
221
- // // let MaxCycle = globalParamModel.getParamsByType('patternList')[n].cycle
222
- // let pattern = globalParamModel.getParamsByType('patternList')[n]
223
- // globalParamModel.getParamsByType('patternList')[n].cycle = this.getMaxCycle(pattern)
224
- // this.addMinSplit()
225
- // this.$emit('handleSplit', n)
226
- },
227
- deep: true
228
- },
229
- stageData: {
230
- handler: function () {
231
- // this.addMins()
232
- // let list = this.$refs.type
233
- // let flow = this.$refs.types
234
- // console.log(this.list, 'list')
235
- // let cycle = 0
236
- // let n = this.index
237
- // for (let i = 0; i < list.length; i++) {
238
- // cycle = cycle + Number(list[i].currentValue)
239
- // }
240
- // const globalParamModel = this.$store.getters.globalParamModel
241
- // // let MaxCycle = globalParamModel.getParamsByType('patternList')[n].cycle
242
- // let pattern = globalParamModel.getParamsByType('patternList')[n]
243
- // globalParamModel.getParamsByType('patternList')[n].cycle = this.getMaxCycle(pattern)
244
- // this.addMinSplit()
245
- // this.$emit('handleSplit', n)
246
- },
247
- deep: true
248
- }
249
- },
250
- methods: {
251
- optimize () {
252
- let _that = this
253
- // let newPha = []
254
- // for (let i = 0; i < _that.rings.rings.length; i++) {
255
- // newPha.push(..._that.rings.rings[i])
256
- // }
257
- // let phaseData = newPha.map(item => {
258
- // return {
259
- // id: item.id,
260
- // flowperhour: item.flowperhour,
261
- // saturation: item.saturation
262
- // }
263
- // })
264
- this.tableRing.map(item => {
265
- delete item.desc
266
- })
267
- // let patternList = _that.$store.state.globalParam.tscParam.patternList
268
- // console.log(patternList, 'patternList')
269
- let pattern = _that.rings
270
- let reqData = {
271
- 'type': _that.value,
272
- 'optcycle': _that.optimizecycle,
273
- 'phaseList': _that.phaseList,
274
- 'pattern': pattern,
275
- 'phases': this.tableRing
276
- }
277
- let isValidata = []
278
- for (let j = 0; j < this.tableRing.length; j++) {
279
- let comNum = (this.tableRing[j].length / 4) * 1700 * 0.8
280
- isValidata.push(this.tableRing[j].flowperhour > comNum)
281
- }
282
- if (isValidata.includes(true)) {
283
- this.$confirm(this.$t('openatccomponents.overview.maxFlow'),
284
- this.$t('openatccomponents.common.alarm'), {
285
- confirmButtonText: this.$t('openatccomponents.common.confirm'),
286
- cancelButtonText: this.$t('openatccomponents.common.cancel'),
287
- type: 'warning'
288
- }).then(() => {
289
- getDuration(reqData).then(data => {
290
- if (data.data.success) {
291
- _that.$message({
292
- type: 'success',
293
- message: _that.$t('openatccomponents.pattern.success')
294
- })
295
- for (let i = 0; i < _that.stagesChange.length; i++) {
296
- if (_that.stagesChange[i].key === data.data.data.phase[i].id - 1) {
297
- _that.stagesChange[i].stageSplit = data.data.data.phase[i].duration
298
- }
299
- }
300
- this.$emit('optimizestage', this.id)
301
- }
302
- }).catch(error => {
303
- console.log(error)
304
- })
305
- }).catch(() => {
306
- })
307
- } else {
308
- getDuration(reqData).then(data => {
309
- if (data.data.success) {
310
- _that.$message({
311
- type: 'success',
312
- message: _that.$t('openatccomponents.pattern.success')
313
- })
314
- for (let i = 0; i < _that.stagesChange.length; i++) {
315
- if (_that.stagesChange[i].key === data.data.data.phase[i].id - 1) {
316
- _that.stagesChange[i].stageSplit = data.data.data.phase[i].duration
317
- }
318
- }
319
- this.$emit('optimizestage', this.id)
320
- }
321
- }).catch(error => {
322
- console.log(error)
323
- })
324
- }
325
- }
326
- // addMins () {
327
- // for (let i of this.stageData) {
328
- // if (!i.flowperhour || !i.saturation) {
329
- // i.flowperhour = 0
330
- // i.saturation = 1700
331
- // i.length = this.list.length
332
- // }
333
- // }
334
- // },
335
- // addMin () {
336
- // for (let i of this.list) {
337
- // if (!i.flowperhour || !i.saturation) {
338
- // i.flowperhour = 0
339
- // i.saturation = 1700
340
- // i.length = this.list.length
341
- // }
342
- // }
343
- // }
344
- }
345
- }
346
- </script>
347
- <style lang="scss" scoped>
348
- .col-content {
349
- width: 100%;
350
- }
351
- .optimizetype{
352
- // position: absolute;
353
- margin:0 0 10PX 0;
354
- .el-input {
355
- width: 80PX;
356
- }
357
- .el-select{
358
- width: 145PX;
359
- }
360
- .el-button {
361
- margin-left: 10PX;
362
- }
363
- .optimiNum {
364
- padding-left: 10PX;
365
- }
366
- }
367
- </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>
14
+ <div class="optimizetype">
15
+ <span>{{$t('openatccomponents.pattern.optimizetype')}}</span>
16
+ <el-select v-model="value" clearable :placeholder="$t('openatccomponents.common.select')">
17
+ <el-option
18
+ v-for="item in typeOptions"
19
+ :key="item.value"
20
+ :label="$t('openatccomponents.overview.type' + item.value)"
21
+ :value="item.value"
22
+ >
23
+ </el-option>
24
+ </el-select>
25
+ <span class="optimiNum">{{$t('openatccomponents.pattern.optimizecycle')}}</span>
26
+ <el-input v-model="optimizecycle" clearable :placeholder="$t('openatccomponents.common.enter')"></el-input>
27
+ <!-- <el-button type="primary" @click="optimize()">{{$t('openatccomponents.pattern.inoptimize')}}</el-button> -->
28
+ </div>
29
+ <el-table :cell-style="{ padding: '0' }" :data="tableRing" :max-height="tableHeight" highlight-current-row>
30
+ <el-table-column prop="id" sortable align="center" :label="$t('openatccomponents.overview.id')">
31
+ <template slot-scope="scope">
32
+ <span>{{scope.row.id}}</span>
33
+ </template>
34
+ </el-table-column>
35
+ <el-table-column class="table-column" :label="$t('openatccomponents.overview.phase')" align="center">
36
+ <template slot-scope="scope">
37
+ <xdrdirselector Width="70px" Height="70px" Widths="58px" Heights="58px" :Datas="styles" :Data="showStyle" :showlist="scope.row.desc" :ISActiveMask="ISActiveMask" :MaskColor="MaskColor"></xdrdirselector>
38
+ </template>
39
+ </el-table-column>
40
+ <el-table-column class="table-column" :label="$t('openatccomponents.overview.flow')" align="center">
41
+ <template slot-scope="scope">
42
+ <el-input-number :controls="false" class="col-content" size="small" :step="1" v-model.number="scope.row.flowperhour" ref="type"></el-input-number>
43
+ <!-- <span>{{scope.row.flowperhour}}</span> -->
44
+ </template>
45
+ </el-table-column>
46
+ <el-table-column align="center" :label="$t('openatccomponents.overview.saturationflow')">
47
+ <template slot-scope="scope">
48
+ <el-input-number :controls="false" class="col-content" size="small" :step="1" v-model.number="scope.row.saturation" ref="types"></el-input-number>
49
+ <!-- <span>{{scope.row.saturation}}</span> -->
50
+ </template>
51
+ </el-table-column>
52
+ </el-table>
53
+ <!-- <div v-if="this.nowNumber === 1" class="optimizetype">
54
+ <span>{{$t('openatccomponents.pattern.optimizetype')}}</span>
55
+ <el-select v-model="value" clearable :placeholder="$t('openatccomponents.common.select')">
56
+ <el-option
57
+ v-for="item in typeOptions"
58
+ :key="item.value"
59
+ :label="$t('openatccomponents.overview.type' + item.value)"
60
+ :value="item.value"
61
+ >
62
+ </el-option>
63
+ </el-select>
64
+ <span class="optimiNum">{{$t('openatccomponents.pattern.optimizecycle')}}</span>
65
+ <el-input v-model="optimizecycle" clearable :placeholder="$t('openatccomponents.common.enter')"></el-input>
66
+ <el-button type="primary" @click="optimize()">{{$t('openatccomponents.pattern.inoptimize')}}</el-button>
67
+ </div>
68
+ <div class="common-board-column" style="margin-top: 50px;">
69
+ <div class="common-board-column-header">
70
+ {{headerText}}
71
+ </div>
72
+ <div class="common-board-table-header">
73
+ <el-row :gutter="5">
74
+ <el-col :span="2">{{this.$t('openatccomponents.overview.id')}}
75
+ </el-col>
76
+ <el-col :span="4">{{this.$t('openatccomponents.overview.phase')}}
77
+ </el-col>
78
+ <el-col :span="9">{{this.$t('openatccomponents.overview.flow')}}
79
+ </el-col>
80
+ <el-col :span="9">{{this.$t('openatccomponents.overview.saturationflow')}}
81
+ </el-col>
82
+ </el-row>
83
+ </div>
84
+ <draggable
85
+ class="common-board-column-content"
86
+ :list="stageData"
87
+ :options="options">
88
+ <div class="common-board-item" v-for="element in stageData" :key="element.id">
89
+ <el-row :gutter="5">
90
+ <el-col :span="2">
91
+ {{element.id}}
92
+ </el-col>
93
+ <el-col :span="4">
94
+ <el-tooltip class="item" effect="dark" placement="left">
95
+ <div slot="content">{{element.name}}</div>
96
+ <div class="common-phase-description">
97
+ <xdrdirselector v-if="element.desc.length > 0" Width="70px" Height="70px" Widths="58px" Heights="58px" :Datas="styles" :Data="showStyle" :showlist="element.desc" :ISActiveMask="ISActiveMask" :MaskColor="MaskColor"></xdrdirselector>
98
+ </div>
99
+ </el-tooltip>
100
+ </el-col>
101
+ <el-col :span="9">
102
+ <el-input-number :controls="false" class="col-content" size="small" :step="1" v-model.number="element.flowperhour" ref="type" :disabled="element.mode === 7"></el-input-number>
103
+ </el-col>
104
+ <el-col :span="9">
105
+ <el-input-number :controls="false" class="col-content" size="small" :step="1" v-model.number="element.saturation" ref="types" :disabled="element.mode === 7"></el-input-number>
106
+ </el-col>
107
+ </el-row>
108
+ </div>
109
+ </draggable>
110
+ </div> -->
111
+ </div>
112
+ </template>
113
+ <script>
114
+ import draggable from 'vuedraggable'
115
+ import { getDuration } from '../../../api/cross'
116
+ import xdrdirselector from '../XRDDirSelector/XRDDirSelector'
117
+
118
+ export default {
119
+ name: 'StageOptimize',
120
+ components: {
121
+ draggable,
122
+ xdrdirselector
123
+ },
124
+ data () {
125
+ return {
126
+ // showStyle: {
127
+ // left: '2px',
128
+ // top: '0px'
129
+ // },
130
+ // styles: {
131
+ // left: '1px',
132
+ // top: '0px'
133
+ // },
134
+ tableHeight: 400,
135
+ typeOptions: [{
136
+ value: 'flow-split-opt'
137
+ }, {
138
+ value: 'cycle-opt'
139
+ }],
140
+ value: '',
141
+ optimizecycle: 0
142
+ }
143
+ },
144
+ props: {
145
+ headerText: {
146
+ type: String,
147
+ default: 'Header'
148
+ },
149
+ tableRing: {
150
+ type: Array
151
+ },
152
+ showStyle: {
153
+ type: Object
154
+ },
155
+ styles: {
156
+ type: Object
157
+ },
158
+ contrloType: {
159
+ type: String
160
+ },
161
+ stageData: {
162
+ type: Array
163
+ },
164
+ stagesChange: {
165
+ type: Array
166
+ },
167
+ id: {
168
+ type: Number
169
+ },
170
+ rings: {
171
+ type: Object
172
+ },
173
+ nowNumber: {
174
+ type: Number
175
+ },
176
+ phaseList: {
177
+ type: Array
178
+ },
179
+ options: {
180
+ type: Object,
181
+ default () {
182
+ return {}
183
+ }
184
+ },
185
+ list: {
186
+ type: Array,
187
+ default () {
188
+ return []
189
+ }
190
+ },
191
+ // index: {
192
+ // type: Number
193
+ // },
194
+ ISActiveMask: {
195
+ type: Boolean,
196
+ default: true
197
+ },
198
+ // 当phase的描述为空时,显示的图形颜色。
199
+ MaskColor: {
200
+ type: String,
201
+ default: '#000000'
202
+ }
203
+ },
204
+ created () {
205
+ // this.addMinSplit()
206
+ // this.addMin()
207
+ },
208
+ watch: {
209
+ list: {
210
+ handler: function () {
211
+ // this.addMin()
212
+ // let list = this.$refs.type
213
+ // let flow = this.$refs.types
214
+ // console.log(this.list, 'list')
215
+ // let cycle = 0
216
+ // let n = this.index
217
+ // for (let i = 0; i < list.length; i++) {
218
+ // cycle = cycle + Number(list[i].currentValue)
219
+ // }
220
+ // const globalParamModel = this.$store.getters.globalParamModel
221
+ // // let MaxCycle = globalParamModel.getParamsByType('patternList')[n].cycle
222
+ // let pattern = globalParamModel.getParamsByType('patternList')[n]
223
+ // globalParamModel.getParamsByType('patternList')[n].cycle = this.getMaxCycle(pattern)
224
+ // this.addMinSplit()
225
+ // this.$emit('handleSplit', n)
226
+ },
227
+ deep: true
228
+ },
229
+ stageData: {
230
+ handler: function () {
231
+ // this.addMins()
232
+ // let list = this.$refs.type
233
+ // let flow = this.$refs.types
234
+ // console.log(this.list, 'list')
235
+ // let cycle = 0
236
+ // let n = this.index
237
+ // for (let i = 0; i < list.length; i++) {
238
+ // cycle = cycle + Number(list[i].currentValue)
239
+ // }
240
+ // const globalParamModel = this.$store.getters.globalParamModel
241
+ // // let MaxCycle = globalParamModel.getParamsByType('patternList')[n].cycle
242
+ // let pattern = globalParamModel.getParamsByType('patternList')[n]
243
+ // globalParamModel.getParamsByType('patternList')[n].cycle = this.getMaxCycle(pattern)
244
+ // this.addMinSplit()
245
+ // this.$emit('handleSplit', n)
246
+ },
247
+ deep: true
248
+ }
249
+ },
250
+ methods: {
251
+ optimize () {
252
+ let _that = this
253
+ // let newPha = []
254
+ // for (let i = 0; i < _that.rings.rings.length; i++) {
255
+ // newPha.push(..._that.rings.rings[i])
256
+ // }
257
+ // let phaseData = newPha.map(item => {
258
+ // return {
259
+ // id: item.id,
260
+ // flowperhour: item.flowperhour,
261
+ // saturation: item.saturation
262
+ // }
263
+ // })
264
+ this.tableRing.map(item => {
265
+ delete item.desc
266
+ })
267
+ // let patternList = _that.$store.state.globalParam.tscParam.patternList
268
+ // console.log(patternList, 'patternList')
269
+ let pattern = _that.rings
270
+ let reqData = {
271
+ 'type': _that.value,
272
+ 'optcycle': _that.optimizecycle,
273
+ 'phaseList': _that.phaseList,
274
+ 'pattern': pattern,
275
+ 'phases': this.tableRing
276
+ }
277
+ let isValidata = []
278
+ for (let j = 0; j < this.tableRing.length; j++) {
279
+ let comNum = (this.tableRing[j].length / 4) * 1700 * 0.8
280
+ isValidata.push(this.tableRing[j].flowperhour > comNum)
281
+ }
282
+ if (isValidata.includes(true)) {
283
+ this.$confirm(this.$t('openatccomponents.overview.maxFlow'),
284
+ this.$t('openatccomponents.common.alarm'), {
285
+ confirmButtonText: this.$t('openatccomponents.common.confirm'),
286
+ cancelButtonText: this.$t('openatccomponents.common.cancel'),
287
+ type: 'warning'
288
+ }).then(() => {
289
+ getDuration(reqData).then(data => {
290
+ if (data.data.success) {
291
+ _that.$message({
292
+ type: 'success',
293
+ message: _that.$t('openatccomponents.pattern.success')
294
+ })
295
+ for (let i = 0; i < _that.stagesChange.length; i++) {
296
+ if (_that.stagesChange[i].key === data.data.data.phase[i].id - 1) {
297
+ _that.stagesChange[i].stageSplit = data.data.data.phase[i].duration
298
+ }
299
+ }
300
+ this.$emit('optimizestage', this.id)
301
+ }
302
+ }).catch(error => {
303
+ console.log(error)
304
+ })
305
+ }).catch(() => {
306
+ })
307
+ } else {
308
+ getDuration(reqData).then(data => {
309
+ if (data.data.success) {
310
+ _that.$message({
311
+ type: 'success',
312
+ message: _that.$t('openatccomponents.pattern.success')
313
+ })
314
+ for (let i = 0; i < _that.stagesChange.length; i++) {
315
+ if (_that.stagesChange[i].key === data.data.data.phase[i].id - 1) {
316
+ _that.stagesChange[i].stageSplit = data.data.data.phase[i].duration
317
+ }
318
+ }
319
+ this.$emit('optimizestage', this.id)
320
+ }
321
+ }).catch(error => {
322
+ console.log(error)
323
+ })
324
+ }
325
+ }
326
+ // addMins () {
327
+ // for (let i of this.stageData) {
328
+ // if (!i.flowperhour || !i.saturation) {
329
+ // i.flowperhour = 0
330
+ // i.saturation = 1700
331
+ // i.length = this.list.length
332
+ // }
333
+ // }
334
+ // },
335
+ // addMin () {
336
+ // for (let i of this.list) {
337
+ // if (!i.flowperhour || !i.saturation) {
338
+ // i.flowperhour = 0
339
+ // i.saturation = 1700
340
+ // i.length = this.list.length
341
+ // }
342
+ // }
343
+ // }
344
+ }
345
+ }
346
+ </script>
347
+ <style lang="scss" scoped>
348
+ .col-content {
349
+ width: 100%;
350
+ }
351
+ .optimizetype{
352
+ // position: absolute;
353
+ margin:0 0 10PX 0;
354
+ .el-input {
355
+ width: 80PX;
356
+ }
357
+ .el-select{
358
+ width: 145PX;
359
+ }
360
+ .el-button {
361
+ margin-left: 10PX;
362
+ }
363
+ .optimiNum {
364
+ padding-left: 10PX;
365
+ }
366
+ }
367
+ </style>