openatc-components 0.5.15 → 0.5.17

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 (390) 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/DirectionListConfiguration.vue +2 -2
  25. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  26. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  27. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  28. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  29. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  30. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  31. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  32. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  33. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  34. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  35. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  36. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  37. package/package/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  38. package/package/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  39. package/package/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  40. package/package/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  41. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  42. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  43. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  44. package/package/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  45. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  46. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  47. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  48. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  49. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  50. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  51. package/package/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  52. package/package/kisscomps/components/DrawChannelization/drawsvg/index.vue +144 -144
  53. package/package/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  54. package/package/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  55. package/package/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  56. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  57. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  58. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  59. package/package/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  60. package/package/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  61. package/package/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  62. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +629 -629
  63. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  64. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  65. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  66. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  67. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  68. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  69. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  70. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  71. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +498 -498
  72. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +484 -484
  73. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +488 -488
  74. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +566 -566
  75. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  76. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  77. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  78. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  79. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  80. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  81. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  82. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  83. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  84. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  85. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  86. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  87. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  88. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  89. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +16 -0
  90. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  91. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  92. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +16 -0
  93. package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +534 -534
  94. package/package/kisscomps/components/KanBan/kanban.vue +231 -231
  95. package/package/kisscomps/components/MessageBox/index.vue +96 -96
  96. package/package/kisscomps/components/OverviewComponent/index.vue +22 -48
  97. package/package/kisscomps/components/PatternOptimize/PatternOptimize.vue +329 -329
  98. package/package/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  99. package/package/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  100. package/package/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  101. package/package/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  102. package/package/kisscomps/components/PhaseMarker/index.js +6 -6
  103. package/package/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  104. package/package/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  105. package/package/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  106. package/package/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  107. package/package/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  108. package/package/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  109. package/package/kisscomps/components/PhasePedSelect/index.vue +206 -206
  110. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +7 -30
  111. package/package/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +365 -365
  112. package/package/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  113. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  114. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  115. package/package/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  116. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  117. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  118. package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  119. package/package/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  120. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +308 -308
  121. package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +0 -19
  122. package/package/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  123. package/package/kisscomps/components/SelectCrossPhase/index.vue +1 -1
  124. package/package/kisscomps/components/StageOptimize/StageOptimize.vue +367 -367
  125. package/package/kisscomps/components/StageOptimize/index.js +2 -2
  126. package/package/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  127. package/package/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  128. package/package/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  129. package/package/kisscomps/components/XiaoKanban/index.vue +122 -122
  130. package/package/kisscomps/components/overView/index.vue +7 -30
  131. package/package/kisscomps/components/patternConfig/index.vue +4 -12
  132. package/package/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  133. package/package/kisscomps/components/patternConfig/planContent.vue +604 -604
  134. package/package/kisscomps/components/patternConfig/planMenu.vue +329 -329
  135. package/package/kisscomps/components/patternConfig/utils.js +84 -152
  136. package/package/kisscomps/index.js +6 -2
  137. package/package/kissui.js +216608 -0
  138. package/package/kissui.min.js +1 -1
  139. package/package.json +1 -1
  140. package/pnpm-lock.yaml +16362 -0
  141. package/src/App.vue +20 -24
  142. package/src/EdgeMgr/EdgeModelBase.js +16 -16
  143. package/src/EdgeMgr/controller/crossDiagramMgr.js +125 -125
  144. package/src/api/authapi.js +31 -31
  145. package/src/api/config.js +21 -21
  146. package/src/api/control.js +110 -110
  147. package/src/api/device.js +135 -135
  148. package/src/api/fault.js +66 -66
  149. package/src/api/index.js +24 -24
  150. package/src/api/login.js +46 -46
  151. package/src/api/optimize.js +72 -72
  152. package/src/api/passwdAssest.js +101 -101
  153. package/src/api/permission.js +33 -33
  154. package/src/api/route.js +171 -171
  155. package/src/assets/font/LICENSE.txt +202 -202
  156. package/src/assets/font/font.css +6 -6
  157. package/src/i18n/index.js +26 -26
  158. package/src/i18n/language/en.js +113 -27
  159. package/src/i18n/language/index.js +31 -25
  160. package/src/i18n/language/ru.js +1563 -0
  161. package/src/i18n/language/zh.js +113 -27
  162. package/src/icons/index.js +20 -20
  163. package/src/icons/svg/azimuthlocking.svg +26 -26
  164. package/src/icons/svg/bendi.svg +110 -110
  165. package/src/icons/svg/bujin.svg +36 -36
  166. package/src/icons/svg/connectBlue.svg +7 -7
  167. package/src/icons/svg/currentvolume.svg +0 -0
  168. package/src/icons/svg/custom-BRTlane.svg +40 -40
  169. package/src/icons/svg/custom-buslane.svg +40 -40
  170. package/src/icons/svg/custom-detector.svg +12 -12
  171. package/src/icons/svg/custom-east-bottom.svg +32 -32
  172. package/src/icons/svg/custom-east-top.svg +32 -32
  173. package/src/icons/svg/custom-ewped.svg +35 -35
  174. package/src/icons/svg/custom-nonmotorizedlane.svg +40 -40
  175. package/src/icons/svg/custom-north-left.svg +32 -32
  176. package/src/icons/svg/custom-north-right.svg +32 -32
  177. package/src/icons/svg/custom-peddetector.svg +17 -17
  178. package/src/icons/svg/custom-snped.svg +35 -35
  179. package/src/icons/svg/custom-south-left.svg +32 -32
  180. package/src/icons/svg/custom-south-right.svg +32 -32
  181. package/src/icons/svg/custom-tramlane.svg +40 -40
  182. package/src/icons/svg/custom-vehiclebranch.svg +40 -40
  183. package/src/icons/svg/custom-vehiclemainroad.svg +41 -41
  184. package/src/icons/svg/custom-west-bottom.svg +32 -32
  185. package/src/icons/svg/custom-west-top.svg +32 -32
  186. package/src/icons/svg/custom-xlped.svg +14 -14
  187. package/src/icons/svg/custom-xrped.svg +14 -14
  188. package/src/icons/svg/cutRed.svg +7 -7
  189. package/src/icons/svg/cycle.svg +0 -0
  190. package/src/icons/svg/dingzhouqi.svg +34 -34
  191. package/src/icons/svg/ganyingkongzhi.svg +30 -30
  192. package/src/icons/svg/guandeng.svg +81 -81
  193. package/src/icons/svg/huangshan.svg +71 -71
  194. package/src/icons/svg/maincontrol.svg +0 -0
  195. package/src/icons/svg/manualcontrolbackground.svg +51 -51
  196. package/src/icons/svg/manualcontrolbackground1.svg +62 -62
  197. package/src/icons/svg/manualcontrolbackgrounden.svg +62 -62
  198. package/src/icons/svg/model.svg +0 -0
  199. package/src/icons/svg/phasediff.svg +0 -0
  200. package/src/icons/svg/prioritycontrol.svg +21 -21
  201. package/src/icons/svg/quanhong.svg +86 -86
  202. package/src/icons/svg/shanghe.svg +11 -11
  203. package/src/icons/svg/shoudong.svg +103 -103
  204. package/src/icons/svg/tentativeplan.svg +28 -28
  205. package/src/icons/svg/time.svg +0 -0
  206. package/src/icons/svg/wuxianlan.svg +46 -46
  207. package/src/icons/svg/xiala.svg +11 -11
  208. package/src/icons/svg/xingrenguojie.svg +33 -33
  209. package/src/icons/svg/xitong.svg +89 -89
  210. package/src/icons/svg/youxian.svg +41 -41
  211. package/src/icons/svg/zizhukongzhi.svg +43 -43
  212. package/src/kisscomps/components/Channelization/Channelization.vue +585 -585
  213. package/src/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  214. package/src/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  215. package/src/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  216. package/src/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +2 -2
  217. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  218. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  219. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  220. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  221. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  222. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  223. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  224. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  225. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  226. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  227. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  228. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  229. package/src/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  230. package/src/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  231. package/src/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  232. package/src/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  233. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  234. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  235. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  236. package/src/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  237. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  238. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  239. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  240. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  241. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  242. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  243. package/src/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  244. package/src/kisscomps/components/DrawChannelization/drawsvg/index.vue +144 -144
  245. package/src/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  246. package/src/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  247. package/src/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  248. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  249. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  250. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  251. package/src/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  252. package/src/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  253. package/src/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  254. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +629 -629
  255. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  256. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  257. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  258. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  259. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  260. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  261. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  262. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  263. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +498 -498
  264. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +484 -484
  265. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +488 -488
  266. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +566 -566
  267. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  268. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  269. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  270. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  271. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  272. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  273. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  274. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  275. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  276. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  277. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  278. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  279. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  280. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  281. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +16 -0
  282. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  283. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  284. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +16 -0
  285. package/src/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +534 -534
  286. package/src/kisscomps/components/KanBan/kanban.vue +231 -231
  287. package/src/kisscomps/components/MessageBox/index.vue +96 -96
  288. package/src/kisscomps/components/OverviewComponent/index.vue +22 -48
  289. package/src/kisscomps/components/PatternOptimize/PatternOptimize.vue +329 -329
  290. package/src/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  291. package/src/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  292. package/src/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  293. package/src/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  294. package/src/kisscomps/components/PhaseMarker/index.js +6 -6
  295. package/src/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  296. package/src/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  297. package/src/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  298. package/src/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  299. package/src/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  300. package/src/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  301. package/src/kisscomps/components/PhasePedSelect/index.vue +206 -206
  302. package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +7 -30
  303. package/src/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +365 -365
  304. package/src/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  305. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  306. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  307. package/src/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  308. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  309. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  310. package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  311. package/src/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  312. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +308 -308
  313. package/src/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +0 -19
  314. package/src/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  315. package/src/kisscomps/components/SelectCrossPhase/index.vue +1 -1
  316. package/src/kisscomps/components/StageOptimize/StageOptimize.vue +367 -367
  317. package/src/kisscomps/components/StageOptimize/index.js +2 -2
  318. package/src/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  319. package/src/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  320. package/src/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  321. package/src/kisscomps/components/XiaoKanban/index.vue +122 -122
  322. package/src/kisscomps/components/overView/index.vue +7 -30
  323. package/src/kisscomps/components/patternConfig/index.vue +4 -12
  324. package/src/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  325. package/src/kisscomps/components/patternConfig/planContent.vue +604 -604
  326. package/src/kisscomps/components/patternConfig/planMenu.vue +329 -329
  327. package/src/kisscomps/components/patternConfig/utils.js +84 -152
  328. package/src/kisscomps/index.js +6 -2
  329. package/src/lib/publicjs/ArryListUtil.js +38 -38
  330. package/src/lib/publicjs/HttpurlMgr.js +45 -45
  331. package/src/lib/publicjs/KissApi.js +158 -158
  332. package/src/lib/publicjs/KissWSSub/Heartcheck.js +128 -128
  333. package/src/lib/publicjs/KissWSSub/KissWsSub.js +91 -91
  334. package/src/lib/publicjs/KissWSSub/KissWsSubByType.js +152 -152
  335. package/src/lib/publicjs/KissWSSub/SimuWsSubByType.js +44 -44
  336. package/src/lib/publicjs/KissWSSub/Sub.js +51 -51
  337. package/src/lib/publicjs/KissWSSub/SubChannel.js +119 -119
  338. package/src/lib/publicjs/basecomponents.js +65 -65
  339. package/src/lib/publicjs/localStorage.js +112 -112
  340. package/src/lib/publicjs/objdeepcopy.js +32 -32
  341. package/src/lib/publicjs/pageScroll.js +30 -30
  342. package/src/lib/publicjs/passwdAssest.js +101 -101
  343. package/src/lib/publicjs/styleclassfactory.js +32 -32
  344. package/src/store/index.js +26 -26
  345. package/src/store/modules/globalParam.js +67 -67
  346. package/src/utils/ControlFormat.js +14 -36
  347. package/src/utils/RingDataModel.js +335 -335
  348. package/src/utils/auth.js +199 -199
  349. package/src/utils/conflictList.js +87 -87
  350. package/src/utils/dateFormat.js +41 -41
  351. package/src/utils/fault.js +20 -72
  352. package/src/utils/faultcode.js +130 -182
  353. package/src/utils/index.js +69 -69
  354. package/src/utils/pedphasedesc.js +80 -105
  355. package/src/utils/phaseList.js +203 -203
  356. package/src/utils/phasedesc.js +133 -115
  357. package/src/utils/responseMessage.js +24 -21
  358. package/src/utils/validate.js +43 -43
  359. package/src/views/home.1.vue +479 -479
  360. package/src/views/home.vue +93 -93
  361. package/src/views/intersection2.vue +328 -328
  362. package/src/views/overView.vue +63 -63
  363. package/src/views/patternConfig.vue +2 -2
  364. package/src/views/schemeconfig.vue +1 -1
  365. package/static/styles/channelizatioon.scss +433 -433
  366. package/static/styles/common.scss +30 -30
  367. package/static/styles/commonkanban.scss +168 -168
  368. package/static/styles/dark/index.scss +2 -2
  369. package/static/styles/dark/theme/element-dark.scss +44 -44
  370. package/static/styles/index.scss +84 -84
  371. package/static/styles/intersection.scss +180 -180
  372. package/static/styles/light/index.scss +2 -2
  373. package/static/styles/light/theme/element-light.scss +44 -44
  374. package/static/styles/patternConfig.scss +56 -56
  375. package/static/styles/phasePedSelect.scss +71 -71
  376. package/static/styles/stages.scss +57 -57
  377. package/static/styles/xiaokanban.scss +61 -61
  378. package/static/token.json +2 -2
  379. package/test/e2e/custom-assertions/elementCount.js +27 -27
  380. package/test/e2e/nightwatch.conf.js +46 -46
  381. package/test/e2e/runner.js +48 -48
  382. package/test/e2e/specs/test.js +19 -19
  383. package/test/unit/.eslintrc +7 -7
  384. package/test/unit/jest.conf.js +30 -30
  385. package/test/unit/setup.js +3 -3
  386. package/test/unit/specs/HelloWorld.spec.js +11 -11
  387. package/package/kisscomps/components/OptimizeKanban/index.js +0 -2
  388. package/package/kisscomps/components/OptimizeKanban/index.vue +0 -369
  389. package/package/kisscomps/components/StageOptimize/index.vue +0 -310
  390. package/src/node_modules/.package_versions.json +0 -1
@@ -1,365 +1,365 @@
1
- <template>
2
- <div class="tentativeplan-control manual-common-content">
3
- <!-- <div class="title" style="margin-bottom: 18px;">{{$t('openatccomponents.overview.azimuthlocking')}}</div> -->
4
- <el-row>
5
- <el-col :span="12">
6
- <el-form
7
- ref="manual"
8
- label-position="left"
9
- :model="manualInfo"
10
- label-width="90px">
11
- <el-form-item
12
- :label="$t('openatccomponents.overview.duration')"
13
- prop="count">
14
- <el-input-number :placeholder="$t('openatccomponents.common.input')" :min="0" :max="65535" :precision="0" :step="1" :controls="false" v-model.number="manualInfo.duration" size="small"></el-input-number>
15
- </el-form-item>
16
- <el-form-item
17
- :label="$t('openatccomponents.overview.yellowflash')"
18
- prop="intersection">
19
- <el-input-number :placeholder="$t('openatccomponents.common.input')" :min="0" :max="65535" :precision="0" :step="1" :controls="false" v-model.number="manualInfo.yellowflash" size="small"></el-input-number>
20
- </el-form-item>
21
- <el-form-item
22
- :label="$t('openatccomponents.overview.mingreen')"
23
- prop="intersection">
24
- <el-input-number :placeholder="$t('openatccomponents.common.input')" :min="0" :max="65535" :precision="0" :step="1" :controls="false" v-model.number="manualInfo.mingreen" size="small"></el-input-number>
25
- </el-form-item>
26
- </el-form>
27
- </el-col>
28
- <el-col :span="12">
29
- <el-form
30
- ref="manual"
31
- label-position="left"
32
- :model="manualInfo"
33
- label-width="90px">
34
- <el-form-item
35
- :label="$t('openatccomponents.overview.greenclear')"
36
- prop="count">
37
- <el-input-number :placeholder="$t('openatccomponents.common.input')" :min="0" :max="65535" :precision="0" :step="1" :controls="false" v-model.number="manualInfo.greenclear" size="small"></el-input-number>
38
- </el-form-item>
39
- <el-form-item
40
- :label="$t('openatccomponents.overview.allred')"
41
- prop="intersection">
42
- <el-input-number :placeholder="$t('openatccomponents.common.input')" :min="0" :max="65535" :precision="0" :step="1" :controls="false" v-model.number="manualInfo.allred" size="small"></el-input-number>
43
- </el-form-item>
44
- </el-form>
45
- </el-col>
46
- </el-row>
47
- <el-row style="margin-top: 6px;">
48
- <el-col :span="24">
49
- <span class="model-label-title">{{$t('openatccomponents.overview.indirection')}}</span>
50
- </el-col>
51
- <el-col :span="24">
52
- <div class="control-model" v-for="(item, index) in imgs" :key="index">
53
- <div :style="{'backgroundColor': item.bgcolor}" :class="{'single-model-select':spanIndex.indexOf(index)>-1}" class="single-model" @click="boxShow(index,item)">
54
- <div v-if="item.class" :style="{color: themeColor}" :class="item.class" style="border:0px;font-size: 50px;"></div>
55
- <div class="single-model-name" :style="{color: themeColor}" style="margin-top: -4px;">{{item.name}}</div>
56
- </div>
57
- </div>
58
- <div v-if="currentName !==''" style="width: 100%; height: auto;overflow: hidden;">
59
- <div style="margin-top:20px" class="model-label-title">{{currentName}}{{$t('openatccomponents.overview.currentphase')}}:</div>
60
- <div class="control-model" v-for="(item, index) in sidewalkPhaseData" :key="index">
61
- <div style="position:relative;" class="single-model" :style="{'backgroundColor': item[0].bgcolor}">
62
- <xdr-dir-selector Width="75PX" Height="75PX" Widths="65PX" Heights="65PX" :Data="showStyle" :Datas="showStyles" :showlist="dirListSetTheme(item)"></xdr-dir-selector>
63
- <div style="height:80px;display:flex;flex-direction:row;justify-content:center;align-items:end;">
64
- <div class="current-stage-num" :style="{color: themeColor}" style="width:20%;">{{index + 1}}</div>
65
- <div style="width:70%;">
66
- <i class="iconfont icon-feijidongche" :style="{color: themeColor}" style="font-size:11PX;color:#606266;margin-left:10PX" v-if="item[item.length-1].controltype === 6"></i>
67
- <i class="iconfont icon-lukouzhilu" :style="{color: themeColor2}" style="font-size:16PX;color:#454545;margin-left:10PX" v-if="item[item.length-1].controltype === 1"></i>
68
- <i class="iconfont icon-BRT" :style="{color: themeColor2}" style="font-size:11PX;color:#454545;margin-left:10PX" v-if="item[item.length-1].controltype === 4"></i>
69
- <div style="transform:scale(0.65);margin-left:10PX">
70
- <i class="iconfont icon-xuxiangwei-xin" :style="{color: themeColor2}" style="font-size:5PX;color:#454545;" v-if="item[item.length-1].controltype === 99"></i>
71
- </div>
72
- <i class="iconfont icon-gongjiaoche" :style="{color: themeColor}" style="font-size:11PX;color:#606266;margin-left:10PX" v-if="item[item.length-1].controltype === 3"></i>
73
- <i class="iconfont icon-youguidianche" :style="{color: themeColor}" style="font-size:11PX;color:#606266;margin-left:10PX" v-if="item[item.length-1].controltype === 5"></i>
74
- </div>
75
- </div>
76
- </div>
77
- </div>
78
- </div>
79
- <!-- </div> -->
80
- </el-col>
81
- </el-row>
82
- <!-- <div class="model-label" style="width: auto;overflow: hidden;">
83
- <span class="intitle">{{$t('openatccomponents.overview.indirection')}}</span>
84
- <div class="control-model" v-for="(item, index) in imgs" :key="index">
85
- <div :class="{'single-model-select':spanIndex.indexOf(index)>-1}" class="single-model" @click="boxShow(index,item)">
86
- <div v-if="item.class" :class="item.class" style="border:0px"></div>
87
- <div class="single-model-name">{{item.name}}</div>
88
- </div>
89
- </div>
90
- </div> -->
91
- <div class="footer">
92
- <el-button v-if="isShowBack" @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
93
- <el-button v-if="isShowRecovery && isHasPermission('configer:manual:renew')" @click="toAutoControl()">{{$t('openatccomponents.overview.recovery')}}</el-button>
94
- <el-button v-if="isShowImplement" type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.implement')}}</el-button>
95
- <el-button v-if="!isShowImplement" type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.comfirm')}}</el-button>
96
- </div>
97
- </div>
98
- </template>
99
-
100
- <script>
101
- import { getPhase } from './utils'
102
- import { getIframdevid, hasPermission, getTheme } from '../../../../utils/auth'
103
- import { getlockPhase, lockPhase, getAllDerection } from '../../../../api/control'
104
- import Stages from '../../Stages/index'
105
- import RingDataModel from '../../../../utils/RingDataModel.js'
106
- import { getMessageByCode } from '../../../../utils/responseMessage'
107
- export default {
108
- name: 'tentativeplancontrol',
109
- components: {
110
- Stages
111
- },
112
- props: {
113
- realtimeStatusModalvisible: {
114
- type: Boolean,
115
- default: true
116
- },
117
- isShowBack: {
118
- type: Boolean,
119
- default: true
120
- },
121
- isShowRecovery: {
122
- type: Boolean,
123
- default: true
124
- },
125
- isShowImplement: {
126
- type: Boolean,
127
- default: true
128
- }
129
- },
130
- watch: {
131
- sidewalkPhaseData: {
132
- handler: function (val, oldVal) {
133
- this.sidewalkPhaseData = val
134
- },
135
- // 深度观察监听
136
- deep: true
137
- }
138
- },
139
- computed: {
140
- tankuangSize () {
141
- let widths = ((100 / 2) - 2) + '%'
142
- let styleObj = {
143
- width: widths
144
- }
145
- return styleObj
146
- },
147
- imgs () {
148
- let arrays = []
149
- let images = getPhase()
150
- images.forEach(v => {
151
- let obj = Object.assign({}, v)
152
- obj.name = this.$t(obj.name)
153
- obj.bgcolor = getTheme() === 'light' ? '#edf6ff' : '#243d59'
154
- arrays.push(obj)
155
- })
156
- let arr1Ids = this.allDirection.map(item => item.id)
157
- const result = arrays.filter(item => arr1Ids.includes(item.id))
158
- return result
159
- }
160
- },
161
- data () {
162
- return {
163
- showStyle: {
164
- top: '7PX',
165
- left: '13px'
166
- },
167
- showStyles: {
168
- top: '5PX',
169
- left: '12px'
170
- },
171
- sidewalkPhaseData: [],
172
- currentName: '',
173
- lockList: [],
174
- allDirection: [],
175
- patternCycleEqual: true,
176
- spanIndex: [],
177
- directions: [],
178
- manualInfo: {
179
- allred: 2,
180
- greenclear: 6,
181
- mingreen: 15,
182
- duration: 600,
183
- yellowflash: 3
184
- },
185
- themeColor: getTheme() === 'light' ? '#606266' : '#fff',
186
- themeColor2: getTheme() === 'light' ? '#454545' : '#fff'
187
- }
188
- },
189
- created () {
190
- this.getAllDerection()
191
- },
192
- methods: {
193
- checkId (val) {
194
- if (val.id === 1) {
195
- return 1
196
- } else if (val.id === 5) {
197
- return 2
198
- } else if (val.id === 13) {
199
- return 3
200
- } else if (val.id === 9) {
201
- return 4
202
- } else if (val.id === 17) {
203
- return 6
204
- } else if (val.id === 21) {
205
- return 7
206
- } else if (val.id === 25) {
207
- return 5
208
- } else if (val.id === 29) {
209
- return 8
210
- }
211
- },
212
- getAllDerection () {
213
- let iframdevid = getIframdevid()
214
- getAllDerection(iframdevid).then((res) => {
215
- if (res.data.success !== true) {
216
- // this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
217
- console.log(getMessageByCode(res.data.code, this.$i18n.locale))
218
- return
219
- }
220
- this.allDirection = res.data.data.map(item => {
221
- return {
222
- id: this.checkDirection(item.direction)
223
- }
224
- })
225
- })
226
- },
227
- checkDirection (id) {
228
- if (id === 1) {
229
- return 1
230
- } else if (id === 2) {
231
- return 5
232
- } else if (id === 3) {
233
- return 13
234
- } else if (id === 4) {
235
- return 9
236
- } else if (id === 5) {
237
- return 25
238
- } else if (id === 6) {
239
- return 17
240
- } else if (id === 7) {
241
- return 21
242
- } else if (id === 8) {
243
- return 29
244
- }
245
- },
246
- getLockPhase (val) {
247
- this.directions = [this.checkId(val)]
248
- let iframdevid = getIframdevid()
249
- let param = {
250
- 'agentid': iframdevid,
251
- 'direction': this.directions
252
- }
253
- getlockPhase(param).then(res => {
254
- if (res.data.success !== true) {
255
- this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
256
- return
257
- }
258
- this.lockList = res.data.data
259
- let ringDataModel = new RingDataModel({}, res.data.data)
260
- this.sidewalkPhaseData = ringDataModel.getlockData().map(ele => {
261
- return ele.map(item => ({
262
- ...item,
263
- bgcolor: getTheme() === 'light' ? '#edf6ff' : '#243d59'
264
- }))
265
- })
266
- })
267
- },
268
- boxShow (index, data) {
269
- this.spanIndex = []
270
- let arrIndex = this.spanIndex.indexOf(index)
271
- if (arrIndex > -1) {
272
- this.spanIndex.splice(arrIndex, 1)
273
- } else {
274
- this.spanIndex.push(index)
275
- }
276
- this.getLockPhase(data)
277
- this.currentName = data.name
278
- this.clickType(index)
279
- },
280
- resetToDefaultThemeColor (List) {
281
- for (let i = 0; i < List.length; i++) {
282
- if (List[i].clicked) {
283
- delete List[i].clicked
284
- }
285
- List[i].bgcolor = getTheme() === 'light' ? '#edf6ff' : '#243d59'
286
- }
287
- },
288
- highlightThemeColor (List, index) {
289
- for (let i = 0; i < List.length; i++) {
290
- if (i === index) {
291
- List[i].clicked = true
292
- List[i].bgcolor = getTheme() === 'light' ? '#c1e0ff' : '#0082ac'
293
- }
294
- }
295
- },
296
- clickType (value) {
297
- this.resetToDefaultThemeColor(this.imgs)
298
- this.highlightThemeColor(this.imgs, value)
299
- },
300
- handleClose () {
301
- this.$emit('closePhaseBack')
302
- },
303
- handleManualControl () {
304
- if (this.directions.length === 0) {
305
- this.$message.error(this.$t('openatccomponents.overview.directionnull'))
306
- return
307
- }
308
- let iframdevid = getIframdevid()
309
- let submitdata = {
310
- agentid: iframdevid,
311
- direction: this.directions,
312
- greenflash: this.manualInfo.greenclear,
313
- duration: this.manualInfo.duration,
314
- yellow: this.manualInfo.yellowflash,
315
- redclear: this.manualInfo.allred,
316
- mingreen: this.manualInfo.mingreen
317
-
318
- }
319
- lockPhase(submitdata).then(res => {
320
- if (!res.data.success) {
321
- if (res.data.code === '4002' && res.data.data.errorCode === '4209') {
322
- let success = res.data.data.content.success
323
- if (success !== 0) {
324
- let errormsg = 'openatccomponents.overview.putTscControlError' + success
325
- this.$message.error(this.$t(errormsg))
326
- return
327
- }
328
- }
329
- this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
330
- return
331
- }
332
- this.$message.success(this.$t('openatccomponents.common.download'))
333
- // if (res.data.success !== true) {
334
- // this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
335
- // }
336
- })
337
- },
338
- toAutoControl () {
339
- this.$emit('toAutoControl')
340
- },
341
- isHasPermission (path) {
342
- let res = hasPermission(path)
343
- return res
344
- },
345
- dirListSetTheme (list) {
346
- let dirArr = []
347
- let color = getTheme() === 'light' ? '#606266' : '#F1F3F4'
348
- for (let rec of list) {
349
- let recd = {
350
- ...rec,
351
- color: color
352
- }
353
- dirArr.push(recd)
354
- }
355
- return dirArr
356
- }
357
- }
358
- }
359
- </script>
360
-
361
- <style lang="scss" scoped>
362
- .single-model-select {
363
- background-color: #a2cfff;
364
- }
365
- </style>
1
+ <template>
2
+ <div class="tentativeplan-control manual-common-content">
3
+ <!-- <div class="title" style="margin-bottom: 18px;">{{$t('openatccomponents.overview.azimuthlocking')}}</div> -->
4
+ <el-row>
5
+ <el-col :span="12">
6
+ <el-form
7
+ ref="manual"
8
+ label-position="left"
9
+ :model="manualInfo"
10
+ label-width="90px">
11
+ <el-form-item
12
+ :label="$t('openatccomponents.overview.duration')"
13
+ prop="count">
14
+ <el-input-number :placeholder="$t('openatccomponents.common.input')" :min="0" :max="65535" :precision="0" :step="1" :controls="false" v-model.number="manualInfo.duration" size="small"></el-input-number>
15
+ </el-form-item>
16
+ <el-form-item
17
+ :label="$t('openatccomponents.overview.yellowflash')"
18
+ prop="intersection">
19
+ <el-input-number :placeholder="$t('openatccomponents.common.input')" :min="0" :max="65535" :precision="0" :step="1" :controls="false" v-model.number="manualInfo.yellowflash" size="small"></el-input-number>
20
+ </el-form-item>
21
+ <el-form-item
22
+ :label="$t('openatccomponents.overview.mingreen')"
23
+ prop="intersection">
24
+ <el-input-number :placeholder="$t('openatccomponents.common.input')" :min="0" :max="65535" :precision="0" :step="1" :controls="false" v-model.number="manualInfo.mingreen" size="small"></el-input-number>
25
+ </el-form-item>
26
+ </el-form>
27
+ </el-col>
28
+ <el-col :span="12">
29
+ <el-form
30
+ ref="manual"
31
+ label-position="left"
32
+ :model="manualInfo"
33
+ label-width="90px">
34
+ <el-form-item
35
+ :label="$t('openatccomponents.overview.greenclear')"
36
+ prop="count">
37
+ <el-input-number :placeholder="$t('openatccomponents.common.input')" :min="0" :max="65535" :precision="0" :step="1" :controls="false" v-model.number="manualInfo.greenclear" size="small"></el-input-number>
38
+ </el-form-item>
39
+ <el-form-item
40
+ :label="$t('openatccomponents.overview.allred')"
41
+ prop="intersection">
42
+ <el-input-number :placeholder="$t('openatccomponents.common.input')" :min="0" :max="65535" :precision="0" :step="1" :controls="false" v-model.number="manualInfo.allred" size="small"></el-input-number>
43
+ </el-form-item>
44
+ </el-form>
45
+ </el-col>
46
+ </el-row>
47
+ <el-row style="margin-top: 6px;">
48
+ <el-col :span="24">
49
+ <span class="model-label-title">{{$t('openatccomponents.overview.indirection')}}</span>
50
+ </el-col>
51
+ <el-col :span="24">
52
+ <div class="control-model" v-for="(item, index) in imgs" :key="index">
53
+ <div :style="{'backgroundColor': item.bgcolor}" :class="{'single-model-select':spanIndex.indexOf(index)>-1}" class="single-model" @click="boxShow(index,item)">
54
+ <div v-if="item.class" :style="{color: themeColor}" :class="item.class" style="border:0px;font-size: 50px;"></div>
55
+ <div class="single-model-name" :style="{color: themeColor}" style="margin-top: -4px;">{{item.name}}</div>
56
+ </div>
57
+ </div>
58
+ <div v-if="currentName !==''" style="width: 100%; height: auto;overflow: hidden;">
59
+ <div style="margin-top:20px" class="model-label-title">{{currentName}}{{$t('openatccomponents.overview.currentphase')}}:</div>
60
+ <div class="control-model" v-for="(item, index) in sidewalkPhaseData" :key="index">
61
+ <div style="position:relative;" class="single-model" :style="{'backgroundColor': item[0].bgcolor}">
62
+ <xdr-dir-selector Width="75PX" Height="75PX" Widths="65PX" Heights="65PX" :Data="showStyle" :Datas="showStyles" :showlist="dirListSetTheme(item)"></xdr-dir-selector>
63
+ <div style="height:80px;display:flex;flex-direction:row;justify-content:center;align-items:end;">
64
+ <div class="current-stage-num" :style="{color: themeColor}" style="width:20%;">{{index + 1}}</div>
65
+ <div style="width:70%;">
66
+ <i class="iconfont icon-feijidongche" :style="{color: themeColor}" style="font-size:11PX;color:#606266;margin-left:10PX" v-if="item[item.length-1].controltype === 6"></i>
67
+ <i class="iconfont icon-lukouzhilu" :style="{color: themeColor2}" style="font-size:16PX;color:#454545;margin-left:10PX" v-if="item[item.length-1].controltype === 1"></i>
68
+ <i class="iconfont icon-BRT" :style="{color: themeColor2}" style="font-size:11PX;color:#454545;margin-left:10PX" v-if="item[item.length-1].controltype === 4"></i>
69
+ <div style="transform:scale(0.65);margin-left:10PX">
70
+ <i class="iconfont icon-xuxiangwei-xin" :style="{color: themeColor2}" style="font-size:5PX;color:#454545;" v-if="item[item.length-1].controltype === 99"></i>
71
+ </div>
72
+ <i class="iconfont icon-gongjiaoche" :style="{color: themeColor}" style="font-size:11PX;color:#606266;margin-left:10PX" v-if="item[item.length-1].controltype === 3"></i>
73
+ <i class="iconfont icon-youguidianche" :style="{color: themeColor}" style="font-size:11PX;color:#606266;margin-left:10PX" v-if="item[item.length-1].controltype === 5"></i>
74
+ </div>
75
+ </div>
76
+ </div>
77
+ </div>
78
+ </div>
79
+ <!-- </div> -->
80
+ </el-col>
81
+ </el-row>
82
+ <!-- <div class="model-label" style="width: auto;overflow: hidden;">
83
+ <span class="intitle">{{$t('openatccomponents.overview.indirection')}}</span>
84
+ <div class="control-model" v-for="(item, index) in imgs" :key="index">
85
+ <div :class="{'single-model-select':spanIndex.indexOf(index)>-1}" class="single-model" @click="boxShow(index,item)">
86
+ <div v-if="item.class" :class="item.class" style="border:0px"></div>
87
+ <div class="single-model-name">{{item.name}}</div>
88
+ </div>
89
+ </div>
90
+ </div> -->
91
+ <div class="footer">
92
+ <el-button v-if="isShowBack" @click="handleClose()">{{$t('openatccomponents.button.Back')}}</el-button>
93
+ <el-button v-if="isShowRecovery && isHasPermission('configer:manual:renew')" @click="toAutoControl()">{{$t('openatccomponents.overview.recovery')}}</el-button>
94
+ <el-button v-if="isShowImplement" type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.implement')}}</el-button>
95
+ <el-button v-if="!isShowImplement" type="primary" @click="handleManualControl()">{{$t('openatccomponents.overview.comfirm')}}</el-button>
96
+ </div>
97
+ </div>
98
+ </template>
99
+
100
+ <script>
101
+ import { getPhase } from './utils'
102
+ import { getIframdevid, hasPermission, getTheme } from '../../../../utils/auth'
103
+ import { getlockPhase, lockPhase, getAllDerection } from '../../../../api/control'
104
+ import Stages from '../../Stages/index'
105
+ import RingDataModel from '../../../../utils/RingDataModel.js'
106
+ import { getMessageByCode } from '../../../../utils/responseMessage'
107
+ export default {
108
+ name: 'tentativeplancontrol',
109
+ components: {
110
+ Stages
111
+ },
112
+ props: {
113
+ realtimeStatusModalvisible: {
114
+ type: Boolean,
115
+ default: true
116
+ },
117
+ isShowBack: {
118
+ type: Boolean,
119
+ default: true
120
+ },
121
+ isShowRecovery: {
122
+ type: Boolean,
123
+ default: true
124
+ },
125
+ isShowImplement: {
126
+ type: Boolean,
127
+ default: true
128
+ }
129
+ },
130
+ watch: {
131
+ sidewalkPhaseData: {
132
+ handler: function (val, oldVal) {
133
+ this.sidewalkPhaseData = val
134
+ },
135
+ // 深度观察监听
136
+ deep: true
137
+ }
138
+ },
139
+ computed: {
140
+ tankuangSize () {
141
+ let widths = ((100 / 2) - 2) + '%'
142
+ let styleObj = {
143
+ width: widths
144
+ }
145
+ return styleObj
146
+ },
147
+ imgs () {
148
+ let arrays = []
149
+ let images = getPhase()
150
+ images.forEach(v => {
151
+ let obj = Object.assign({}, v)
152
+ obj.name = this.$t(obj.name)
153
+ obj.bgcolor = getTheme() === 'light' ? '#edf6ff' : '#243d59'
154
+ arrays.push(obj)
155
+ })
156
+ let arr1Ids = this.allDirection.map(item => item.id)
157
+ const result = arrays.filter(item => arr1Ids.includes(item.id))
158
+ return result
159
+ }
160
+ },
161
+ data () {
162
+ return {
163
+ showStyle: {
164
+ top: '7PX',
165
+ left: '13px'
166
+ },
167
+ showStyles: {
168
+ top: '5PX',
169
+ left: '12px'
170
+ },
171
+ sidewalkPhaseData: [],
172
+ currentName: '',
173
+ lockList: [],
174
+ allDirection: [],
175
+ patternCycleEqual: true,
176
+ spanIndex: [],
177
+ directions: [],
178
+ manualInfo: {
179
+ allred: 2,
180
+ greenclear: 6,
181
+ mingreen: 15,
182
+ duration: 600,
183
+ yellowflash: 3
184
+ },
185
+ themeColor: getTheme() === 'light' ? '#606266' : '#fff',
186
+ themeColor2: getTheme() === 'light' ? '#454545' : '#fff'
187
+ }
188
+ },
189
+ created () {
190
+ this.getAllDerection()
191
+ },
192
+ methods: {
193
+ checkId (val) {
194
+ if (val.id === 1) {
195
+ return 1
196
+ } else if (val.id === 5) {
197
+ return 2
198
+ } else if (val.id === 13) {
199
+ return 3
200
+ } else if (val.id === 9) {
201
+ return 4
202
+ } else if (val.id === 17) {
203
+ return 6
204
+ } else if (val.id === 21) {
205
+ return 7
206
+ } else if (val.id === 25) {
207
+ return 5
208
+ } else if (val.id === 29) {
209
+ return 8
210
+ }
211
+ },
212
+ getAllDerection () {
213
+ let iframdevid = getIframdevid()
214
+ getAllDerection(iframdevid).then((res) => {
215
+ if (res.data.success !== true) {
216
+ // this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
217
+ console.log(getMessageByCode(res.data.code, this.$i18n.locale))
218
+ return
219
+ }
220
+ this.allDirection = res.data.data.map(item => {
221
+ return {
222
+ id: this.checkDirection(item.direction)
223
+ }
224
+ })
225
+ })
226
+ },
227
+ checkDirection (id) {
228
+ if (id === 1) {
229
+ return 1
230
+ } else if (id === 2) {
231
+ return 5
232
+ } else if (id === 3) {
233
+ return 13
234
+ } else if (id === 4) {
235
+ return 9
236
+ } else if (id === 5) {
237
+ return 25
238
+ } else if (id === 6) {
239
+ return 17
240
+ } else if (id === 7) {
241
+ return 21
242
+ } else if (id === 8) {
243
+ return 29
244
+ }
245
+ },
246
+ getLockPhase (val) {
247
+ this.directions = [this.checkId(val)]
248
+ let iframdevid = getIframdevid()
249
+ let param = {
250
+ 'agentid': iframdevid,
251
+ 'direction': this.directions
252
+ }
253
+ getlockPhase(param).then(res => {
254
+ if (res.data.success !== true) {
255
+ this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
256
+ return
257
+ }
258
+ this.lockList = res.data.data
259
+ let ringDataModel = new RingDataModel({}, res.data.data)
260
+ this.sidewalkPhaseData = ringDataModel.getlockData().map(ele => {
261
+ return ele.map(item => ({
262
+ ...item,
263
+ bgcolor: getTheme() === 'light' ? '#edf6ff' : '#243d59'
264
+ }))
265
+ })
266
+ })
267
+ },
268
+ boxShow (index, data) {
269
+ this.spanIndex = []
270
+ let arrIndex = this.spanIndex.indexOf(index)
271
+ if (arrIndex > -1) {
272
+ this.spanIndex.splice(arrIndex, 1)
273
+ } else {
274
+ this.spanIndex.push(index)
275
+ }
276
+ this.getLockPhase(data)
277
+ this.currentName = data.name
278
+ this.clickType(index)
279
+ },
280
+ resetToDefaultThemeColor (List) {
281
+ for (let i = 0; i < List.length; i++) {
282
+ if (List[i].clicked) {
283
+ delete List[i].clicked
284
+ }
285
+ List[i].bgcolor = getTheme() === 'light' ? '#edf6ff' : '#243d59'
286
+ }
287
+ },
288
+ highlightThemeColor (List, index) {
289
+ for (let i = 0; i < List.length; i++) {
290
+ if (i === index) {
291
+ List[i].clicked = true
292
+ List[i].bgcolor = getTheme() === 'light' ? '#c1e0ff' : '#0082ac'
293
+ }
294
+ }
295
+ },
296
+ clickType (value) {
297
+ this.resetToDefaultThemeColor(this.imgs)
298
+ this.highlightThemeColor(this.imgs, value)
299
+ },
300
+ handleClose () {
301
+ this.$emit('closePhaseBack')
302
+ },
303
+ handleManualControl () {
304
+ if (this.directions.length === 0) {
305
+ this.$message.error(this.$t('openatccomponents.overview.directionnull'))
306
+ return
307
+ }
308
+ let iframdevid = getIframdevid()
309
+ let submitdata = {
310
+ agentid: iframdevid,
311
+ direction: this.directions,
312
+ greenflash: this.manualInfo.greenclear,
313
+ duration: this.manualInfo.duration,
314
+ yellow: this.manualInfo.yellowflash,
315
+ redclear: this.manualInfo.allred,
316
+ mingreen: this.manualInfo.mingreen
317
+
318
+ }
319
+ lockPhase(submitdata).then(res => {
320
+ if (!res.data.success) {
321
+ if (res.data.code === '4002' && res.data.data.errorCode === '4209') {
322
+ let success = res.data.data.content.success
323
+ if (success !== 0) {
324
+ let errormsg = 'openatccomponents.overview.putTscControlError' + success
325
+ this.$message.error(this.$t(errormsg))
326
+ return
327
+ }
328
+ }
329
+ this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
330
+ return
331
+ }
332
+ this.$message.success(this.$t('openatccomponents.common.download'))
333
+ // if (res.data.success !== true) {
334
+ // this.$message.error(getMessageByCode(res.data.code, this.$i18n.locale))
335
+ // }
336
+ })
337
+ },
338
+ toAutoControl () {
339
+ this.$emit('toAutoControl')
340
+ },
341
+ isHasPermission (path) {
342
+ let res = hasPermission(path)
343
+ return res
344
+ },
345
+ dirListSetTheme (list) {
346
+ let dirArr = []
347
+ let color = getTheme() === 'light' ? '#606266' : '#F1F3F4'
348
+ for (let rec of list) {
349
+ let recd = {
350
+ ...rec,
351
+ color: color
352
+ }
353
+ dirArr.push(recd)
354
+ }
355
+ return dirArr
356
+ }
357
+ }
358
+ }
359
+ </script>
360
+
361
+ <style lang="scss" scoped>
362
+ .single-model-select {
363
+ background-color: #a2cfff;
364
+ }
365
+ </style>