openatc-components 0.4.81 → 0.4.83

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 (416) 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/BoardCard/BoardCard.vue +0 -4
  21. package/package/kisscomps/components/ChannelRealtimeIntersection/ChannelRealtimeIntersection.vue +123 -123
  22. package/package/kisscomps/components/Channelization/Channelization.vue +585 -585
  23. package/package/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  24. package/package/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  25. package/package/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  26. package/package/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +456 -456
  27. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  28. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  29. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  30. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  31. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  32. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  33. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  34. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  35. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  36. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  37. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  38. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  39. package/package/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  40. package/package/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  41. package/package/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  42. package/package/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  43. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  44. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  45. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  46. package/package/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  47. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  48. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  49. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  50. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  51. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  52. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  53. package/package/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  54. package/package/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +1022 -1022
  55. package/package/kisscomps/components/DrawChannelization/drawsvg/index.vue +144 -144
  56. package/package/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  57. package/package/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  58. package/package/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.vue +172 -172
  59. package/package/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  60. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  61. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  62. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  63. package/package/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  64. package/package/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  65. package/package/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  66. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +629 -629
  67. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  68. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  69. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  70. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  71. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  72. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  73. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  74. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +1302 -1302
  75. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  76. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +498 -498
  77. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +484 -484
  78. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +488 -488
  79. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +566 -566
  80. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  81. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  82. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  83. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  84. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  85. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  86. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  87. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  88. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  89. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  90. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  91. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +1 -1
  92. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +197 -197
  93. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  94. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  95. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  96. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +115 -115
  97. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  98. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  99. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +219 -219
  100. package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +220 -220
  101. package/package/kisscomps/components/IntersectionMapDirSelect/customCrossDiagram.vue +0 -5
  102. package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +534 -534
  103. package/package/kisscomps/components/KanBan/kanban.vue +231 -231
  104. package/package/kisscomps/components/MessageBox/index.vue +96 -96
  105. package/package/kisscomps/components/OverLap/OverLap.vue +22 -1
  106. package/package/kisscomps/components/OverviewComponent/index.vue +853 -853
  107. package/package/kisscomps/components/PatternOptimize/PatternOptimize.vue +329 -329
  108. package/package/kisscomps/components/PatternStatus/PatternStatus.vue +46 -84
  109. package/package/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  110. package/package/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  111. package/package/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  112. package/package/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  113. package/package/kisscomps/components/PhaseMarker/index.js +6 -6
  114. package/package/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  115. package/package/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  116. package/package/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  117. package/package/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  118. package/package/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  119. package/package/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  120. package/package/kisscomps/components/PhasePedSelect/index.vue +206 -206
  121. package/package/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +365 -365
  122. package/package/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  123. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  124. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  125. package/package/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  126. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  127. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/icon.vue +5 -1
  128. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +871 -871
  129. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  130. package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  131. package/package/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  132. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +308 -308
  133. package/package/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  134. package/package/kisscomps/components/SelectCrossPhase/index.vue +418 -418
  135. package/package/kisscomps/components/SelectCrossPhase/utils.js +142 -142
  136. package/package/kisscomps/components/StageOptimize/StageOptimize.vue +367 -367
  137. package/package/kisscomps/components/StageOptimize/index.js +2 -2
  138. package/package/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  139. package/package/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  140. package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +1041 -1041
  141. package/package/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  142. package/package/kisscomps/components/XiaoKanban/index.vue +122 -122
  143. package/package/kisscomps/components/overView/index.vue +676 -676
  144. package/package/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  145. package/package/kisscomps/components/patternConfig/planContent.vue +604 -604
  146. package/package/kisscomps/components/patternConfig/planMenu.vue +329 -329
  147. package/package/kisscomps/components/patternConfig/utils.js +152 -152
  148. package/package/kisscomps/components/patternList/patternList.vue +0 -4
  149. package/package/kissui.js +216608 -0
  150. package/package/kissui.min.js +1 -1
  151. package/package.json +1 -1
  152. package/pnpm-lock.yaml +16362 -0
  153. package/src/App.vue +24 -24
  154. package/src/EdgeMgr/EdgeModelBase.js +16 -16
  155. package/src/EdgeMgr/controller/crossDiagramMgr.js +125 -125
  156. package/src/api/authapi.js +31 -31
  157. package/src/api/config.js +21 -21
  158. package/src/api/control.js +110 -110
  159. package/src/api/device.js +135 -135
  160. package/src/api/fault.js +66 -66
  161. package/src/api/index.js +24 -24
  162. package/src/api/login.js +46 -46
  163. package/src/api/optimize.js +72 -72
  164. package/src/api/param.js +165 -165
  165. package/src/api/passwdAssest.js +101 -101
  166. package/src/api/permission.js +33 -33
  167. package/src/api/route.js +171 -171
  168. package/src/api/template.js +27 -27
  169. package/src/assets/font/LICENSE.txt +202 -202
  170. package/src/assets/font/font.css +6 -6
  171. package/src/i18n/index.js +26 -26
  172. package/src/i18n/language/index.js +25 -25
  173. package/src/icons/index.js +20 -20
  174. package/src/icons/svg/azimuthlocking.svg +26 -26
  175. package/src/icons/svg/bendi.svg +110 -110
  176. package/src/icons/svg/bujin.svg +36 -36
  177. package/src/icons/svg/connectBlue.svg +7 -7
  178. package/src/icons/svg/currentvolume.svg +0 -0
  179. package/src/icons/svg/custom-BRTlane.svg +40 -40
  180. package/src/icons/svg/custom-buslane.svg +40 -40
  181. package/src/icons/svg/custom-detector.svg +12 -12
  182. package/src/icons/svg/custom-east-bottom.svg +32 -32
  183. package/src/icons/svg/custom-east-top.svg +32 -32
  184. package/src/icons/svg/custom-ewped.svg +35 -35
  185. package/src/icons/svg/custom-nonmotorizedlane.svg +40 -40
  186. package/src/icons/svg/custom-north-left.svg +32 -32
  187. package/src/icons/svg/custom-north-right.svg +32 -32
  188. package/src/icons/svg/custom-peddetector.svg +17 -17
  189. package/src/icons/svg/custom-snped.svg +35 -35
  190. package/src/icons/svg/custom-south-left.svg +32 -32
  191. package/src/icons/svg/custom-south-right.svg +32 -32
  192. package/src/icons/svg/custom-tramlane.svg +40 -40
  193. package/src/icons/svg/custom-vehiclebranch.svg +40 -40
  194. package/src/icons/svg/custom-vehiclemainroad.svg +41 -41
  195. package/src/icons/svg/custom-west-bottom.svg +32 -32
  196. package/src/icons/svg/custom-west-top.svg +32 -32
  197. package/src/icons/svg/custom-xlped.svg +14 -14
  198. package/src/icons/svg/custom-xrped.svg +14 -14
  199. package/src/icons/svg/cutRed.svg +7 -7
  200. package/src/icons/svg/cycle.svg +0 -0
  201. package/src/icons/svg/dingzhouqi.svg +34 -34
  202. package/src/icons/svg/ganyingkongzhi.svg +30 -30
  203. package/src/icons/svg/guandeng.svg +81 -81
  204. package/src/icons/svg/huangshan.svg +71 -71
  205. package/src/icons/svg/maincontrol.svg +0 -0
  206. package/src/icons/svg/manualcontrolbackground.svg +51 -51
  207. package/src/icons/svg/manualcontrolbackground1.svg +62 -62
  208. package/src/icons/svg/manualcontrolbackgrounden.svg +62 -62
  209. package/src/icons/svg/model.svg +0 -0
  210. package/src/icons/svg/phasediff.svg +0 -0
  211. package/src/icons/svg/prioritycontrol.svg +21 -21
  212. package/src/icons/svg/quanhong.svg +86 -86
  213. package/src/icons/svg/shanghe.svg +11 -11
  214. package/src/icons/svg/shoudong.svg +103 -103
  215. package/src/icons/svg/tentativeplan.svg +28 -28
  216. package/src/icons/svg/time.svg +0 -0
  217. package/src/icons/svg/wuxianlan.svg +46 -46
  218. package/src/icons/svg/xiala.svg +11 -11
  219. package/src/icons/svg/xingrenguojie.svg +33 -33
  220. package/src/icons/svg/xitong.svg +89 -89
  221. package/src/icons/svg/youxian.svg +41 -41
  222. package/src/icons/svg/zizhukongzhi.svg +43 -43
  223. package/src/kisscomps/components/BoardCard/BoardCard.vue +0 -4
  224. package/src/kisscomps/components/ChannelRealtimeIntersection/ChannelRealtimeIntersection.vue +123 -123
  225. package/src/kisscomps/components/Channelization/Channelization.vue +585 -585
  226. package/src/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  227. package/src/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  228. package/src/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  229. package/src/kisscomps/components/DirectionListConfiguration/DirectionListConfiguration.vue +456 -456
  230. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  231. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  232. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  233. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  234. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  235. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  236. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  237. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  238. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  239. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  240. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  241. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  242. package/src/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  243. package/src/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  244. package/src/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  245. package/src/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  246. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  247. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  248. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  249. package/src/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  250. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  251. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  252. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  253. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  254. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  255. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  256. package/src/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  257. package/src/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +1022 -1022
  258. package/src/kisscomps/components/DrawChannelization/drawsvg/index.vue +144 -144
  259. package/src/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  260. package/src/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  261. package/src/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.vue +172 -172
  262. package/src/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  263. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  264. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  265. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  266. package/src/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  267. package/src/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  268. package/src/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  269. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +629 -629
  270. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  271. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  272. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  273. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  274. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  275. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  276. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  277. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +1302 -1302
  278. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  279. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +498 -498
  280. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +484 -484
  281. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +488 -488
  282. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +566 -566
  283. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  284. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  285. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  286. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  287. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  288. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  289. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  290. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  291. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  292. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  293. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  294. package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +1 -1
  295. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +197 -197
  296. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  297. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  298. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  299. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +115 -115
  300. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  301. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  302. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +219 -219
  303. package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +220 -220
  304. package/src/kisscomps/components/IntersectionMapDirSelect/customCrossDiagram.vue +0 -5
  305. package/src/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +534 -534
  306. package/src/kisscomps/components/KanBan/kanban.vue +231 -231
  307. package/src/kisscomps/components/MessageBox/index.vue +96 -96
  308. package/src/kisscomps/components/OverLap/OverLap.vue +22 -1
  309. package/src/kisscomps/components/OverviewComponent/index.vue +853 -853
  310. package/src/kisscomps/components/PatternOptimize/PatternOptimize.vue +329 -329
  311. package/src/kisscomps/components/PatternStatus/PatternStatus.vue +46 -84
  312. package/src/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  313. package/src/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  314. package/src/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  315. package/src/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  316. package/src/kisscomps/components/PhaseMarker/index.js +6 -6
  317. package/src/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  318. package/src/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  319. package/src/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  320. package/src/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  321. package/src/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  322. package/src/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  323. package/src/kisscomps/components/PhasePedSelect/index.vue +206 -206
  324. package/src/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +365 -365
  325. package/src/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  326. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  327. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  328. package/src/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  329. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  330. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/icon.vue +5 -1
  331. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/index.vue +871 -871
  332. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  333. package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  334. package/src/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  335. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +308 -308
  336. package/src/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  337. package/src/kisscomps/components/SelectCrossPhase/index.vue +418 -418
  338. package/src/kisscomps/components/SelectCrossPhase/utils.js +142 -142
  339. package/src/kisscomps/components/StageOptimize/StageOptimize.vue +367 -367
  340. package/src/kisscomps/components/StageOptimize/index.js +2 -2
  341. package/src/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  342. package/src/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  343. package/src/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +1041 -1041
  344. package/src/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  345. package/src/kisscomps/components/XiaoKanban/index.vue +122 -122
  346. package/src/kisscomps/components/overView/index.vue +676 -676
  347. package/src/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  348. package/src/kisscomps/components/patternConfig/planContent.vue +604 -604
  349. package/src/kisscomps/components/patternConfig/planMenu.vue +329 -329
  350. package/src/kisscomps/components/patternConfig/utils.js +152 -152
  351. package/src/kisscomps/components/patternList/patternList.vue +0 -4
  352. package/src/lib/publicjs/ArryListUtil.js +38 -38
  353. package/src/lib/publicjs/HttpurlMgr.js +45 -45
  354. package/src/lib/publicjs/KissApi.js +158 -158
  355. package/src/lib/publicjs/KissWSSub/Heartcheck.js +128 -128
  356. package/src/lib/publicjs/KissWSSub/KissWsSub.js +91 -91
  357. package/src/lib/publicjs/KissWSSub/KissWsSubByType.js +152 -152
  358. package/src/lib/publicjs/KissWSSub/SimuWsSubByType.js +44 -44
  359. package/src/lib/publicjs/KissWSSub/Sub.js +51 -51
  360. package/src/lib/publicjs/KissWSSub/SubChannel.js +119 -119
  361. package/src/lib/publicjs/basecomponents.js +65 -65
  362. package/src/lib/publicjs/localStorage.js +112 -112
  363. package/src/lib/publicjs/objdeepcopy.js +32 -32
  364. package/src/lib/publicjs/pageScroll.js +30 -30
  365. package/src/lib/publicjs/passwdAssest.js +101 -101
  366. package/src/lib/publicjs/styleclassfactory.js +32 -32
  367. package/src/router/index.js +63 -63
  368. package/src/store/index.js +26 -26
  369. package/src/store/modules/globalParam.js +67 -67
  370. package/src/utils/ControlFormat.js +68 -68
  371. package/src/utils/RingDataModel.js +335 -335
  372. package/src/utils/auth.js +199 -199
  373. package/src/utils/conflct.js +265 -268
  374. package/src/utils/conflictList.js +87 -87
  375. package/src/utils/dateFormat.js +41 -41
  376. package/src/utils/fault.js +196 -196
  377. package/src/utils/faultcode.js +225 -225
  378. package/src/utils/index.js +69 -69
  379. package/src/utils/pedphasedesc.js +119 -119
  380. package/src/utils/phaseList.js +203 -203
  381. package/src/utils/phasedesc.js +144 -144
  382. package/src/utils/responseMessage.js +21 -21
  383. package/src/utils/validate.js +43 -43
  384. package/src/views/customchannelization.vue +49 -49
  385. package/src/views/home.1.vue +479 -479
  386. package/src/views/home.vue +93 -93
  387. package/src/views/intersection2.vue +328 -328
  388. package/src/views/overView.vue +63 -63
  389. package/static/styles/channelizatioon.scss +433 -433
  390. package/static/styles/common.scss +30 -30
  391. package/static/styles/commonkanban.scss +168 -168
  392. package/static/styles/dark/index.scss +2 -2
  393. package/static/styles/dark/theme/element-dark.scss +44 -44
  394. package/static/styles/index.scss +84 -84
  395. package/static/styles/intersection.scss +180 -180
  396. package/static/styles/light/index.scss +2 -2
  397. package/static/styles/light/theme/element-light.scss +44 -44
  398. package/static/styles/overview.scss +146 -146
  399. package/static/styles/patternConfig.scss +56 -56
  400. package/static/styles/phasePedSelect.scss +71 -71
  401. package/static/styles/stages.scss +57 -57
  402. package/static/styles/uiComponents.scss +57 -57
  403. package/static/styles/xiaokanban.scss +61 -61
  404. package/static/token.json +2 -2
  405. package/test/e2e/custom-assertions/elementCount.js +27 -27
  406. package/test/e2e/nightwatch.conf.js +46 -46
  407. package/test/e2e/runner.js +48 -48
  408. package/test/e2e/specs/test.js +19 -19
  409. package/test/unit/.eslintrc +7 -7
  410. package/test/unit/jest.conf.js +30 -30
  411. package/test/unit/setup.js +3 -3
  412. package/test/unit/specs/HelloWorld.spec.js +11 -11
  413. package/package/kisscomps/components/OptimizeKanban/index.js +0 -2
  414. package/package/kisscomps/components/OptimizeKanban/index.vue +0 -369
  415. package/package/kisscomps/components/StageOptimize/index.vue +0 -310
  416. package/src/node_modules/.package_versions.json +0 -1
@@ -1,418 +1,418 @@
1
- <template>
2
- <div>
3
- <el-select
4
- v-model="valuess"
5
- :multiple="multiple"
6
- :disabled="disabled"
7
- size="small"
8
- @visible-change="visibleChange($event)"
9
- :clearable="clearable"
10
- :filterable="filterable"
11
- :placeholder="$t('openatccomponents.common.select')"
12
- @change="onChange"
13
- @focus="onFocus"
14
- >
15
- <el-option
16
- id="aaa"
17
- v-for="(item, index) in Options"
18
- :key="index"
19
- :label="getLable(item.label)"
20
- :value="item.value"
21
- >
22
- <div class="single-model" @click="selectStages(item.value)">
23
- <xdrdirselector
24
- Width="60px"
25
- Height="60px"
26
- :showlist="item.item"
27
- ></xdrdirselector>
28
- <span
29
- style="
30
- float: right;
31
- margin-left: 10px;
32
- color: #8492a6;
33
- font-size: 13px;
34
- "
35
- >{{ item.label }}</span
36
- >
37
- </div>
38
- </el-option>
39
- </el-select>
40
- <span v-if="pattern">{{ getIncludedPhasesDesc(valuess) }}</span>
41
- <!-- <span id="xrd"></span> -->
42
- <!-- <xdrdirselector :Data="Data" :Datas="Datas" Width="60px" Height="60px" :showlist="dirArr"></xdrdirselector> -->
43
- </div>
44
- </template>
45
- <script>
46
- import { getTscControl } from '../../../api/control'
47
- import { getPhaseDesc } from '../../../utils/phasedesc.js'
48
- // import { uploadSingleTscParam } from '../../api/param'
49
- import { getMessageByCode } from '../../../utils/responseMessage'
50
- import xdrdirselector from '../XRDDirSelector/XRDDirSelector.vue'
51
- import PhaseDataModel from '../IntersectionMap/crossDirection/utils'
52
- // import CrossDiagramMgr from '@/EdgeMgr/controller/crossDiagramMgr'
53
- // import { getDirName } from './utils.js'
54
- import { getTheme } from '../../../utils/auth'
55
- export default {
56
- name: 'SelectCrossPhase',
57
- components: {
58
- xdrdirselector
59
- },
60
- props: {
61
- multiple: {
62
- type: Boolean,
63
- default: false
64
- },
65
- pattern: {
66
- type: Boolean,
67
- default: false
68
- },
69
- filterable: {
70
- type: Boolean,
71
- default: false
72
- },
73
- disabled: {
74
- type: Boolean,
75
- default: false
76
- },
77
- row: {
78
- type: Object
79
- },
80
- valueModel: {
81
- type: Array
82
- },
83
- type: {
84
- type: String || Array
85
- },
86
- phaseOption: {
87
- type: Array,
88
- default: () => []
89
- },
90
- // placeholder: {
91
- // type: String,
92
- // default: ''
93
- // },
94
- bizType: {
95
- type: String,
96
- default: ''
97
- },
98
- agentid: {
99
- type: String,
100
- default: '10501'
101
- },
102
- clearable: {
103
- type: Boolean,
104
- default: false
105
- }
106
- },
107
- data () {
108
- return {
109
- list: [],
110
- valuess: [],
111
- Data: {
112
- left: '60px',
113
- top: '10px'
114
- },
115
- Datas: {
116
- left: '60px',
117
- top: '10px'
118
- },
119
- Options: [],
120
- phaseList: [],
121
- dirArr: [],
122
- sidewalkPhaseData: []
123
- }
124
- },
125
- watch: {
126
- phaseOption: {
127
- handler (val) {
128
- this.phaseOption = val
129
- this.getPhase()
130
- this.showxdr(this.valuess)
131
- },
132
- deep: true
133
- },
134
- agentid (val) {
135
- // this.value = ''
136
- this.Options = []
137
- // this.onLoad()
138
- }
139
- },
140
- created () {
141
- this.PhaseDataModel = new PhaseDataModel()
142
- this.onLoad()
143
- },
144
- methods: {
145
- getLable (str) {
146
- const match = str.match(/\d+/)
147
- if (match) {
148
- return this.getPhaseDescs(Number(match[0]))
149
- }
150
- },
151
- // getXrd (data) {
152
- // let Profile = Vue.extend({
153
- // // template: 'xdrdirselector',
154
- // components: {
155
- // xdrdirselector
156
- // },
157
- // render (h) {
158
- // return h('xdrdirselector', {
159
- // props: {
160
- // Width: '60px',
161
- // Height: '60px',
162
- // showlist: data,
163
- // Data: {
164
- // left: '60px',
165
- // top: '10px'
166
- // },
167
- // Datas: {
168
- // left: '60px',
169
- // top: '10px'
170
- // }
171
- // }
172
- // })
173
- // }
174
- // })
175
- // let profile = new Profile()
176
- // profile.$mount('#xrd')
177
- // },
178
- getPhaseDescs (id) {
179
- let phasedesc = this.phaseOption.filter((item) => {
180
- return item.id === id
181
- })[0].direction
182
- if (phasedesc.length === 0) return id
183
- let description = getPhaseDesc(phasedesc, this.$i18n.locale)
184
- return id + '-' + description
185
- },
186
- showxdr (data) {
187
- let color = getTheme() === 'light' ? '#1E1E1E' : '#F1F3F4'
188
- this.dirArr = []
189
- this.phaseOption.filter((item) => {
190
- if (item.id === data) {
191
- if (item.direction.length === 0) {
192
- let recd = {
193
- id: 0,
194
- peddirection: this.getPed(item.peddirection),
195
- color: color
196
- }
197
- this.dirArr.push(recd)
198
- } else {
199
- for (let rec of item.direction) {
200
- let recd = {
201
- id: rec,
202
- peddirection: this.getPed(item.peddirection),
203
- color: color
204
- }
205
- this.dirArr.push(recd)
206
- }
207
- }
208
- }
209
- })
210
- },
211
- onFocus () {
212
- if (!this.Options || this.Options.length === 0) {
213
- this.onLoad()
214
- }
215
- },
216
- onLoad () {
217
- this.getPhase()
218
- // this.initData()
219
- },
220
- setOption (list) {
221
- if (this.row.callphase) {
222
- this.valuess = this.row.callphase
223
- this.showxdr(this.valuess)
224
- }
225
- if (this.row.phases) {
226
- this.valuess = this.row.phases
227
- }
228
- if (this.row.linkphase) {
229
- this.valuess = this.row.linkphase
230
- this.showxdr(this.valuess)
231
- }
232
- if (this.row.includedphases) {
233
- this.valuess = this.row.includedphases
234
- }
235
- if (this.row.data && this.row.data.phase) {
236
- this.valuess = this.row.data.phase
237
- this.showxdr(this.valuess)
238
- }
239
- let color = getTheme() === 'light' ? '#1E1E1E' : '#F1F3F4'
240
- this.Options = list.map((item, index) => {
241
- let dirArr = []
242
- if (item.direction.length === 0) {
243
- let recd = {
244
- id: 0,
245
- peddirection: this.getPed(item.peddirection),
246
- color: color
247
- }
248
- dirArr.push(recd)
249
- } else {
250
- for (let rec of item.direction) {
251
- let recd = {
252
- id: rec,
253
- peddirection: this.getPed(item.peddirection),
254
- color: color
255
- }
256
- dirArr.push(recd)
257
- }
258
- }
259
- let name = ''
260
- name = this.$t('openatccomponents.pattern.phase') + item.id
261
- // name = this.getPhaseDescs(item.id)
262
- return {
263
- label: name,
264
- item: dirArr,
265
- value: item.id
266
- }
267
- })
268
- },
269
- visibleChange (status) {
270
- if (!status) {
271
- this.showxdr(this.valuess)
272
- }
273
- },
274
- onChange (value) {
275
- if (this.type === 'callphase') {
276
- this.row.callphase = this.valuess
277
- } else if (this.type === 'linkphase') {
278
- this.row.linkphase = this.valuess
279
- } else if (this.type === 'phase') {
280
- this.row.data.phase = this.valuess
281
- } else if (this.multiple && this.type === 'phases') {
282
- this.row.phases = this.valuess
283
- } else if (this.multiple && this.type === 'includedphases') {
284
- this.row.includedphases = this.valuess
285
- }
286
- let option = this.Options.filter(item => item.value === value)[0]
287
- this.$emit('onChange', value, option, this.agentid, this.bizType)
288
- },
289
- selectStages (value) {
290
- this.$emit('selectStages', value)
291
- },
292
- getPhase () {
293
- this.getPedPhasePos(this.phaseOption)
294
- this.setOption(this.phaseOption)
295
- },
296
- initData () {
297
- let agentId = this.agentid
298
- getTscControl(agentId).then((data) => {
299
- if (!data.data.success) {
300
- if (data.data.code === '4003') {
301
- this.devStatus = 2
302
- this.$message.error(this.$t('openatccomponents.errorTip.devicenotonline'))
303
- return
304
- }
305
- this.$message.error(getMessageByCode(data.data.code, this.$i18n.locale))
306
- return
307
- }
308
- let TscData = JSON.parse(JSON.stringify(data.data.data.data))
309
- this.handleStageData(TscData) // 处理阶段(驻留)stage数据
310
- }).catch(error => {
311
- this.$message.error(error)
312
- console.log(error)
313
- })
314
- },
315
- getPed (data) {
316
- let ped = []
317
- let peddirections = []
318
- let color = getTheme() === 'light' ? '#1E1E1E' : '#F1F3F4'
319
- for (let walk of this.sidewalkPhaseData) {
320
- for (let ped of data) {
321
- let objs = {}
322
- objs.name = walk.name
323
- objs.id = walk.id
324
- objs.color = color
325
- if (ped === walk.id) {
326
- peddirections.push(objs)
327
- peddirections = Array.from(new Set(peddirections))
328
- }
329
- }
330
- }
331
- ped.push(...peddirections)
332
- return ped
333
- },
334
- getPedPhasePos (phaseList) {
335
- // 行人相位信息
336
- this.sidewalkPhaseData = []
337
- phaseList.forEach((ele, i) => {
338
- if (ele.peddirection) {
339
- ele.peddirection.forEach((dir, index) => {
340
- // 行人相位
341
- if (this.PhaseDataModel.getSidePos(dir)) {
342
- this.sidewalkPhaseData.push({
343
- // key: this.CrossDiagramMgr.getUniqueKey('pedphase'),
344
- phaseid: ele.id, // 相位id,用于对应相位状态
345
- id: dir,
346
- name: this.PhaseDataModel.getSidePos(dir).name
347
- })
348
- }
349
- })
350
- }
351
- })
352
- return this.sidewalkPhaseData
353
- },
354
- handleStageData (data) {
355
- this.stagesList = []
356
- let stages = data.stages
357
- for (let stage of stages) {
358
- let tempList = []
359
- let directionList = []
360
- for (let stg of stage) {
361
- let currPhase = this.phaseList.filter((item) => {
362
- return item.id === stg
363
- })[0]
364
- if (currPhase !== undefined) {
365
- directionList = [...currPhase.direction, ...directionList]
366
- }
367
- // directionList = [...currPhase.direction, ...directionList]
368
- }
369
- directionList = [...new Set(directionList)]
370
- tempList = directionList.map(dir => ({
371
- id: dir,
372
- color: '#606266'
373
- }))
374
- this.stagesList.push(tempList)
375
- }
376
- this.list = this.stagesList
377
- // this.setOption()
378
- },
379
- // init (val) {
380
- // let target = val
381
- // if (this.multiple) {
382
- // target = [val]
383
- // }
384
- // this.value = target
385
- // },
386
- getNameById (id) {
387
- let res = ''
388
- for (const item of this.Options) {
389
- if (id === item.agentid) {
390
- res = item.name
391
- break
392
- }
393
- }
394
- return res
395
- },
396
- getIncludedPhasesDesc (ids) {
397
- let str = ''
398
- for (let id of ids) {
399
- str = str + this.getPhaseDescs(id) + ' '
400
- }
401
- return str
402
- }
403
- }
404
- }
405
- </script>
406
- <style lang="scss">
407
-
408
- .el-select-dropdown__wrap {
409
- max-height: 500px !important;
410
- }
411
-
412
- #aaa{
413
- // :deep(.el-select-dropdown__item){
414
- margin: 10px 0 !important;
415
- // }
416
- }
417
-
418
- </style>
1
+ <template>
2
+ <div>
3
+ <el-select
4
+ v-model="valuess"
5
+ :multiple="multiple"
6
+ :disabled="disabled"
7
+ size="small"
8
+ @visible-change="visibleChange($event)"
9
+ :clearable="clearable"
10
+ :filterable="filterable"
11
+ :placeholder="$t('openatccomponents.common.select')"
12
+ @change="onChange"
13
+ @focus="onFocus"
14
+ >
15
+ <el-option
16
+ id="aaa"
17
+ v-for="(item, index) in Options"
18
+ :key="index"
19
+ :label="getLable(item.label)"
20
+ :value="item.value"
21
+ >
22
+ <div class="single-model" @click="selectStages(item.value)">
23
+ <xdrdirselector
24
+ Width="60px"
25
+ Height="60px"
26
+ :showlist="item.item"
27
+ ></xdrdirselector>
28
+ <span
29
+ style="
30
+ float: right;
31
+ margin-left: 10px;
32
+ color: #8492a6;
33
+ font-size: 13px;
34
+ "
35
+ >{{ item.label }}</span
36
+ >
37
+ </div>
38
+ </el-option>
39
+ </el-select>
40
+ <span v-if="pattern">{{ getIncludedPhasesDesc(valuess) }}</span>
41
+ <!-- <span id="xrd"></span> -->
42
+ <!-- <xdrdirselector :Data="Data" :Datas="Datas" Width="60px" Height="60px" :showlist="dirArr"></xdrdirselector> -->
43
+ </div>
44
+ </template>
45
+ <script>
46
+ import { getTscControl } from '../../../api/control'
47
+ import { getPhaseDesc } from '../../../utils/phasedesc.js'
48
+ // import { uploadSingleTscParam } from '../../api/param'
49
+ import { getMessageByCode } from '../../../utils/responseMessage'
50
+ import xdrdirselector from '../XRDDirSelector/XRDDirSelector.vue'
51
+ import PhaseDataModel from '../IntersectionMap/crossDirection/utils'
52
+ // import CrossDiagramMgr from '@/EdgeMgr/controller/crossDiagramMgr'
53
+ // import { getDirName } from './utils.js'
54
+ import { getTheme } from '../../../utils/auth'
55
+ export default {
56
+ name: 'SelectCrossPhase',
57
+ components: {
58
+ xdrdirselector
59
+ },
60
+ props: {
61
+ multiple: {
62
+ type: Boolean,
63
+ default: false
64
+ },
65
+ pattern: {
66
+ type: Boolean,
67
+ default: false
68
+ },
69
+ filterable: {
70
+ type: Boolean,
71
+ default: false
72
+ },
73
+ disabled: {
74
+ type: Boolean,
75
+ default: false
76
+ },
77
+ row: {
78
+ type: Object
79
+ },
80
+ valueModel: {
81
+ type: Array
82
+ },
83
+ type: {
84
+ type: String || Array
85
+ },
86
+ phaseOption: {
87
+ type: Array,
88
+ default: () => []
89
+ },
90
+ // placeholder: {
91
+ // type: String,
92
+ // default: ''
93
+ // },
94
+ bizType: {
95
+ type: String,
96
+ default: ''
97
+ },
98
+ agentid: {
99
+ type: String,
100
+ default: '10501'
101
+ },
102
+ clearable: {
103
+ type: Boolean,
104
+ default: false
105
+ }
106
+ },
107
+ data () {
108
+ return {
109
+ list: [],
110
+ valuess: [],
111
+ Data: {
112
+ left: '60px',
113
+ top: '10px'
114
+ },
115
+ Datas: {
116
+ left: '60px',
117
+ top: '10px'
118
+ },
119
+ Options: [],
120
+ phaseList: [],
121
+ dirArr: [],
122
+ sidewalkPhaseData: []
123
+ }
124
+ },
125
+ watch: {
126
+ phaseOption: {
127
+ handler (val) {
128
+ this.phaseOption = val
129
+ this.getPhase()
130
+ this.showxdr(this.valuess)
131
+ },
132
+ deep: true
133
+ },
134
+ agentid (val) {
135
+ // this.value = ''
136
+ this.Options = []
137
+ // this.onLoad()
138
+ }
139
+ },
140
+ created () {
141
+ this.PhaseDataModel = new PhaseDataModel()
142
+ this.onLoad()
143
+ },
144
+ methods: {
145
+ getLable (str) {
146
+ const match = str.match(/\d+/)
147
+ if (match) {
148
+ return this.getPhaseDescs(Number(match[0]))
149
+ }
150
+ },
151
+ // getXrd (data) {
152
+ // let Profile = Vue.extend({
153
+ // // template: 'xdrdirselector',
154
+ // components: {
155
+ // xdrdirselector
156
+ // },
157
+ // render (h) {
158
+ // return h('xdrdirselector', {
159
+ // props: {
160
+ // Width: '60px',
161
+ // Height: '60px',
162
+ // showlist: data,
163
+ // Data: {
164
+ // left: '60px',
165
+ // top: '10px'
166
+ // },
167
+ // Datas: {
168
+ // left: '60px',
169
+ // top: '10px'
170
+ // }
171
+ // }
172
+ // })
173
+ // }
174
+ // })
175
+ // let profile = new Profile()
176
+ // profile.$mount('#xrd')
177
+ // },
178
+ getPhaseDescs (id) {
179
+ let phasedesc = this.phaseOption.filter((item) => {
180
+ return item.id === id
181
+ })[0].direction
182
+ if (phasedesc.length === 0) return id
183
+ let description = getPhaseDesc(phasedesc, this.$i18n.locale)
184
+ return id + '-' + description
185
+ },
186
+ showxdr (data) {
187
+ let color = getTheme() === 'light' ? '#1E1E1E' : '#F1F3F4'
188
+ this.dirArr = []
189
+ this.phaseOption.filter((item) => {
190
+ if (item.id === data) {
191
+ if (item.direction.length === 0) {
192
+ let recd = {
193
+ id: 0,
194
+ peddirection: this.getPed(item.peddirection),
195
+ color: color
196
+ }
197
+ this.dirArr.push(recd)
198
+ } else {
199
+ for (let rec of item.direction) {
200
+ let recd = {
201
+ id: rec,
202
+ peddirection: this.getPed(item.peddirection),
203
+ color: color
204
+ }
205
+ this.dirArr.push(recd)
206
+ }
207
+ }
208
+ }
209
+ })
210
+ },
211
+ onFocus () {
212
+ if (!this.Options || this.Options.length === 0) {
213
+ this.onLoad()
214
+ }
215
+ },
216
+ onLoad () {
217
+ this.getPhase()
218
+ // this.initData()
219
+ },
220
+ setOption (list) {
221
+ if (this.row.callphase) {
222
+ this.valuess = this.row.callphase
223
+ this.showxdr(this.valuess)
224
+ }
225
+ if (this.row.phases) {
226
+ this.valuess = this.row.phases
227
+ }
228
+ if (this.row.linkphase) {
229
+ this.valuess = this.row.linkphase
230
+ this.showxdr(this.valuess)
231
+ }
232
+ if (this.row.includedphases) {
233
+ this.valuess = this.row.includedphases
234
+ }
235
+ if (this.row.data && this.row.data.phase) {
236
+ this.valuess = this.row.data.phase
237
+ this.showxdr(this.valuess)
238
+ }
239
+ let color = getTheme() === 'light' ? '#1E1E1E' : '#F1F3F4'
240
+ this.Options = list.map((item, index) => {
241
+ let dirArr = []
242
+ if (item.direction.length === 0) {
243
+ let recd = {
244
+ id: 0,
245
+ peddirection: this.getPed(item.peddirection),
246
+ color: color
247
+ }
248
+ dirArr.push(recd)
249
+ } else {
250
+ for (let rec of item.direction) {
251
+ let recd = {
252
+ id: rec,
253
+ peddirection: this.getPed(item.peddirection),
254
+ color: color
255
+ }
256
+ dirArr.push(recd)
257
+ }
258
+ }
259
+ let name = ''
260
+ name = this.$t('openatccomponents.pattern.phase') + item.id
261
+ // name = this.getPhaseDescs(item.id)
262
+ return {
263
+ label: name,
264
+ item: dirArr,
265
+ value: item.id
266
+ }
267
+ })
268
+ },
269
+ visibleChange (status) {
270
+ if (!status) {
271
+ this.showxdr(this.valuess)
272
+ }
273
+ },
274
+ onChange (value) {
275
+ if (this.type === 'callphase') {
276
+ this.row.callphase = this.valuess
277
+ } else if (this.type === 'linkphase') {
278
+ this.row.linkphase = this.valuess
279
+ } else if (this.type === 'phase') {
280
+ this.row.data.phase = this.valuess
281
+ } else if (this.multiple && this.type === 'phases') {
282
+ this.row.phases = this.valuess
283
+ } else if (this.multiple && this.type === 'includedphases') {
284
+ this.row.includedphases = this.valuess
285
+ }
286
+ let option = this.Options.filter(item => item.value === value)[0]
287
+ this.$emit('onChange', value, option, this.agentid, this.bizType)
288
+ },
289
+ selectStages (value) {
290
+ this.$emit('selectStages', value)
291
+ },
292
+ getPhase () {
293
+ this.getPedPhasePos(this.phaseOption)
294
+ this.setOption(this.phaseOption)
295
+ },
296
+ initData () {
297
+ let agentId = this.agentid
298
+ getTscControl(agentId).then((data) => {
299
+ if (!data.data.success) {
300
+ if (data.data.code === '4003') {
301
+ this.devStatus = 2
302
+ this.$message.error(this.$t('openatccomponents.errorTip.devicenotonline'))
303
+ return
304
+ }
305
+ this.$message.error(getMessageByCode(data.data.code, this.$i18n.locale))
306
+ return
307
+ }
308
+ let TscData = JSON.parse(JSON.stringify(data.data.data.data))
309
+ this.handleStageData(TscData) // 处理阶段(驻留)stage数据
310
+ }).catch(error => {
311
+ this.$message.error(error)
312
+ console.log(error)
313
+ })
314
+ },
315
+ getPed (data) {
316
+ let ped = []
317
+ let peddirections = []
318
+ let color = getTheme() === 'light' ? '#1E1E1E' : '#F1F3F4'
319
+ for (let walk of this.sidewalkPhaseData) {
320
+ for (let ped of data) {
321
+ let objs = {}
322
+ objs.name = walk.name
323
+ objs.id = walk.id
324
+ objs.color = color
325
+ if (ped === walk.id) {
326
+ peddirections.push(objs)
327
+ peddirections = Array.from(new Set(peddirections))
328
+ }
329
+ }
330
+ }
331
+ ped.push(...peddirections)
332
+ return ped
333
+ },
334
+ getPedPhasePos (phaseList) {
335
+ // 行人相位信息
336
+ this.sidewalkPhaseData = []
337
+ phaseList.forEach((ele, i) => {
338
+ if (ele.peddirection) {
339
+ ele.peddirection.forEach((dir, index) => {
340
+ // 行人相位
341
+ if (this.PhaseDataModel.getSidePos(dir)) {
342
+ this.sidewalkPhaseData.push({
343
+ // key: this.CrossDiagramMgr.getUniqueKey('pedphase'),
344
+ phaseid: ele.id, // 相位id,用于对应相位状态
345
+ id: dir,
346
+ name: this.PhaseDataModel.getSidePos(dir).name
347
+ })
348
+ }
349
+ })
350
+ }
351
+ })
352
+ return this.sidewalkPhaseData
353
+ },
354
+ handleStageData (data) {
355
+ this.stagesList = []
356
+ let stages = data.stages
357
+ for (let stage of stages) {
358
+ let tempList = []
359
+ let directionList = []
360
+ for (let stg of stage) {
361
+ let currPhase = this.phaseList.filter((item) => {
362
+ return item.id === stg
363
+ })[0]
364
+ if (currPhase !== undefined) {
365
+ directionList = [...currPhase.direction, ...directionList]
366
+ }
367
+ // directionList = [...currPhase.direction, ...directionList]
368
+ }
369
+ directionList = [...new Set(directionList)]
370
+ tempList = directionList.map(dir => ({
371
+ id: dir,
372
+ color: '#606266'
373
+ }))
374
+ this.stagesList.push(tempList)
375
+ }
376
+ this.list = this.stagesList
377
+ // this.setOption()
378
+ },
379
+ // init (val) {
380
+ // let target = val
381
+ // if (this.multiple) {
382
+ // target = [val]
383
+ // }
384
+ // this.value = target
385
+ // },
386
+ getNameById (id) {
387
+ let res = ''
388
+ for (const item of this.Options) {
389
+ if (id === item.agentid) {
390
+ res = item.name
391
+ break
392
+ }
393
+ }
394
+ return res
395
+ },
396
+ getIncludedPhasesDesc (ids) {
397
+ let str = ''
398
+ for (let id of ids) {
399
+ str = str + this.getPhaseDescs(id) + ' '
400
+ }
401
+ return str
402
+ }
403
+ }
404
+ }
405
+ </script>
406
+ <style lang="scss">
407
+
408
+ .el-select-dropdown__wrap {
409
+ max-height: 500px !important;
410
+ }
411
+
412
+ #aaa{
413
+ // :deep(.el-select-dropdown__item){
414
+ margin: 10px 0 !important;
415
+ // }
416
+ }
417
+
418
+ </style>