openatc-components 0.0.88 → 0.0.91

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 (393) hide show
  1. package/.babelrc +18 -18
  2. package/.editorconfig +9 -9
  3. package/.eslintignore +5 -5
  4. package/.eslintrc.js +29 -29
  5. package/.postcssrc.js +10 -10
  6. package/README.md +30 -30
  7. package/build/build.js +41 -41
  8. package/build/check-versions.js +54 -54
  9. package/build/package.config.js +58 -58
  10. package/build/package.dev.config.js +107 -107
  11. package/build/package.prod.config.js +160 -160
  12. package/build/utils.js +101 -101
  13. package/build/vue-loader.conf.js +22 -22
  14. package/build/webpack.base.conf.js +114 -114
  15. package/build/webpack.dev.conf.js +95 -95
  16. package/build/webpack.prod.conf.js +149 -149
  17. package/config/dev.env.js +8 -8
  18. package/config/index.js +91 -91
  19. package/config/prod.env.js +5 -5
  20. package/config/test.env.js +7 -7
  21. package/index.html +12 -12
  22. package/package/kisscomps/components/BoardCard/BoardCard.vue +89 -89
  23. package/package/kisscomps/components/BoardCard/index.js +2 -2
  24. package/package/kisscomps/components/Channelization/Channelization.vue +545 -0
  25. package/package/kisscomps/components/Channelization/index.js +2 -0
  26. package/package/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +498 -0
  27. package/package/kisscomps/components/ChannelizationWithInterface/index.js +2 -0
  28. package/package/kisscomps/components/CommonKanban/CommonKanban.vue +118 -118
  29. package/package/kisscomps/components/CommonKanban/index.js +2 -2
  30. package/package/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +249 -0
  31. package/package/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -0
  32. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -0
  33. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +176 -0
  34. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -0
  35. package/package/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +48 -0
  36. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +182 -0
  37. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +222 -0
  38. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +191 -0
  39. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +78 -0
  40. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +433 -0
  41. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +195 -0
  42. package/package/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +71 -0
  43. package/package/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +939 -0
  44. package/package/kisscomps/components/DrawChannelization/drawsvg/index.vue +118 -0
  45. package/package/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +563 -0
  46. package/package/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +157 -0
  47. package/package/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.check.vue +191 -0
  48. package/package/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.syncOper.vue +331 -0
  49. package/package/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.vue +157 -0
  50. package/package/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -0
  51. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +43 -0
  52. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -0
  53. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -0
  54. package/package/kisscomps/components/DrawChannelization/index.js +2 -0
  55. package/package/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -0
  56. package/package/kisscomps/components/ExpendConfig/ExpendConfig.vue +114 -114
  57. package/package/kisscomps/components/ExpendConfig/index.js +2 -2
  58. package/package/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +170 -170
  59. package/package/kisscomps/components/FaultDetailModal/index.js +2 -2
  60. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +497 -497
  61. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  62. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +300 -300
  63. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +288 -288
  64. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +391 -391
  65. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +336 -336
  66. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +345 -345
  67. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +389 -389
  68. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1179 -1179
  69. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +402 -402
  70. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +361 -361
  71. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +368 -368
  72. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +475 -475
  73. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +494 -494
  74. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +401 -401
  75. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +360 -360
  76. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +367 -367
  77. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +476 -476
  78. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  79. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  80. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  81. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  82. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  83. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  84. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +912 -912
  85. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +112 -112
  86. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +112 -112
  87. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +111 -111
  88. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  89. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  90. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +99 -99
  91. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +99 -99
  92. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  93. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +99 -99
  94. package/package/kisscomps/components/IntersectionMap/crossDirection/utils.js +78 -78
  95. package/package/kisscomps/components/IntersectionMap/index.js +2 -2
  96. package/package/kisscomps/components/IntersectionMap/intersectionmap.vue +153 -153
  97. package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +518 -518
  98. package/package/kisscomps/components/IntersectionWithInterface/index.js +2 -2
  99. package/package/kisscomps/components/KanBan/index.js +2 -2
  100. package/package/kisscomps/components/KanBan/kanban.vue +219 -219
  101. package/package/kisscomps/components/MessageBox/index.vue +96 -0
  102. package/package/kisscomps/components/OverLap/OverLap.vue +207 -207
  103. package/package/kisscomps/components/OverLap/index.js +2 -2
  104. package/package/kisscomps/components/PatternStatus/PatternStatus.vue +888 -888
  105. package/package/kisscomps/components/PatternStatus/index.js +2 -2
  106. package/package/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  107. package/package/kisscomps/components/PatternWalkSvg/index.js +2 -2
  108. package/package/kisscomps/components/PhaseMarker/index.js +6 -6
  109. package/package/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  110. package/package/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  111. package/package/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  112. package/package/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  113. package/package/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  114. package/package/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  115. package/package/kisscomps/components/SchemeConfig/SchemeConfig.vue +744 -744
  116. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +195 -195
  117. package/package/kisscomps/components/SchemeConfig/index.js +2 -2
  118. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +198 -198
  119. package/package/kisscomps/components/SchemeConfig/manualControlModal/index.vue +219 -219
  120. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +263 -263
  121. package/package/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +1384 -1384
  122. package/package/kisscomps/components/StageBord/StageBord.vue +242 -242
  123. package/package/kisscomps/components/StageBord/index.js +2 -2
  124. package/package/kisscomps/components/StageStatus/StageStatus.vue +306 -306
  125. package/package/kisscomps/components/StageStatus/index.js +2 -2
  126. package/package/kisscomps/components/Stages/index.vue +139 -139
  127. package/package/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  128. package/package/kisscomps/components/SvgIcon/index.js +2 -2
  129. package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +522 -522
  130. package/package/kisscomps/components/XRDDirSelector/index.js +2 -2
  131. package/package/kisscomps/components/overView/index.vue +676 -676
  132. package/package/kisscomps/components/patternList/index.js +2 -2
  133. package/package/kisscomps/components/patternList/patternList.vue +562 -562
  134. package/package/kisscomps/index.js +102 -92
  135. package/package/kissui.min.js +1 -1
  136. package/package.json +4 -2
  137. package/src/App.vue +24 -24
  138. package/src/EdgeMgr/EdgeModelBase.js +16 -16
  139. package/src/EdgeMgr/controller/crossDiagramMgr.js +120 -120
  140. package/src/api/authapi.js +31 -31
  141. package/src/api/config.js +21 -21
  142. package/src/api/control.js +76 -76
  143. package/src/api/cross.js +33 -0
  144. package/src/api/fault.js +66 -66
  145. package/src/api/index.js +24 -24
  146. package/src/api/login.js +46 -46
  147. package/src/api/optimize.js +72 -72
  148. package/src/api/param.js +154 -154
  149. package/src/api/passwdAssest.js +101 -101
  150. package/src/api/template.js +27 -27
  151. package/src/i18n/index.js +26 -26
  152. package/src/i18n/language/en.js +1186 -1111
  153. package/src/i18n/language/index.js +25 -25
  154. package/src/i18n/language/zh.js +1185 -1110
  155. package/src/icons/demo.css +539 -539
  156. package/src/icons/iconfont.css +835 -835
  157. package/src/icons/iconfont.json +1444 -1444
  158. package/src/icons/index.js +20 -20
  159. package/src/icons/svg/bendi.svg +110 -110
  160. package/src/icons/svg/bujin.svg +36 -36
  161. package/src/icons/svg/connectBlue.svg +7 -7
  162. package/src/icons/svg/currentvolume.svg +0 -0
  163. package/src/icons/svg/custom-BRTlane.svg +40 -0
  164. package/src/icons/svg/custom-bicyclelane.svg +7 -0
  165. package/src/icons/svg/custom-buslane.svg +40 -0
  166. package/src/icons/svg/custom-detector.svg +12 -0
  167. package/src/icons/svg/custom-east-bottom.svg +32 -0
  168. package/src/icons/svg/custom-east-top.svg +32 -0
  169. package/src/icons/svg/custom-ewped.svg +35 -0
  170. package/src/icons/svg/custom-motorway.svg +7 -0
  171. package/src/icons/svg/custom-nonmotorizedlane.svg +40 -0
  172. package/src/icons/svg/custom-north-left.svg +32 -0
  173. package/src/icons/svg/custom-north-right.svg +32 -0
  174. package/src/icons/svg/custom-pedcrossing.svg +7 -0
  175. package/src/icons/svg/custom-peddetector.svg +17 -0
  176. package/src/icons/svg/custom-pedeastward.svg +9 -0
  177. package/src/icons/svg/custom-pedestrian.svg +7 -0
  178. package/src/icons/svg/custom-pednorthward.svg +9 -0
  179. package/src/icons/svg/custom-pedsouthward.svg +9 -0
  180. package/src/icons/svg/custom-pedwestward.svg +9 -0
  181. package/src/icons/svg/custom-secondcrossing.svg +7 -0
  182. package/src/icons/svg/custom-sectionpedestrian.svg +7 -0
  183. package/src/icons/svg/custom-snped.svg +35 -0
  184. package/src/icons/svg/custom-south-left.svg +32 -0
  185. package/src/icons/svg/custom-south-right.svg +32 -0
  186. package/src/icons/svg/custom-straightahead.svg +7 -0
  187. package/src/icons/svg/custom-tramlane.svg +40 -0
  188. package/src/icons/svg/custom-turnaround.svg +7 -0
  189. package/src/icons/svg/custom-turnleft.svg +7 -0
  190. package/src/icons/svg/custom-turnright.svg +7 -0
  191. package/src/icons/svg/custom-vehiclebranch.svg +40 -0
  192. package/src/icons/svg/custom-vehiclemainroad.svg +41 -0
  193. package/src/icons/svg/custom-west-bottom.svg +32 -0
  194. package/src/icons/svg/custom-west-top.svg +32 -0
  195. package/src/icons/svg/custom-xlped.svg +14 -0
  196. package/src/icons/svg/custom-xpedestrian.svg +7 -0
  197. package/src/icons/svg/custom-xrped.svg +14 -0
  198. package/src/icons/svg/cutRed.svg +7 -7
  199. package/src/icons/svg/cycle.svg +0 -0
  200. package/src/icons/svg/dingzhouqi.svg +34 -34
  201. package/src/icons/svg/ganyingkongzhi.svg +30 -30
  202. package/src/icons/svg/guandeng.svg +81 -81
  203. package/src/icons/svg/huangshan.svg +71 -71
  204. package/src/icons/svg/maincontrol.svg +0 -0
  205. package/src/icons/svg/manualcontrolbackground.svg +51 -51
  206. package/src/icons/svg/manualcontrolbackground1.svg +62 -62
  207. package/src/icons/svg/manualcontrolbackgrounden.svg +62 -62
  208. package/src/icons/svg/model.svg +0 -0
  209. package/src/icons/svg/phasediff.svg +0 -0
  210. package/src/icons/svg/quanhong.svg +86 -86
  211. package/src/icons/svg/shanghe.svg +11 -11
  212. package/src/icons/svg/shoudong.svg +103 -103
  213. package/src/icons/svg/time.svg +0 -0
  214. package/src/icons/svg/wuxianlan.svg +46 -46
  215. package/src/icons/svg/xiala.svg +11 -11
  216. package/src/icons/svg/xingrenguojie.svg +33 -33
  217. package/src/icons/svg/xitong.svg +89 -89
  218. package/src/icons/svg/youxian.svg +41 -41
  219. package/src/icons/svg/zizhukongzhi.svg +43 -43
  220. package/src/kisscomps/components/BoardCard/BoardCard.vue +89 -89
  221. package/src/kisscomps/components/BoardCard/index.js +2 -2
  222. package/src/kisscomps/components/Channelization/Channelization.vue +545 -0
  223. package/src/kisscomps/components/Channelization/index.js +2 -0
  224. package/src/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +498 -0
  225. package/src/kisscomps/components/ChannelizationWithInterface/index.js +2 -0
  226. package/src/kisscomps/components/CommonKanban/CommonKanban.vue +118 -118
  227. package/src/kisscomps/components/CommonKanban/index.js +2 -2
  228. package/src/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +249 -0
  229. package/src/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -0
  230. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -0
  231. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +176 -0
  232. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -0
  233. package/src/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +48 -0
  234. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +182 -0
  235. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +222 -0
  236. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +191 -0
  237. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +78 -0
  238. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +433 -0
  239. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +195 -0
  240. package/src/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +71 -0
  241. package/src/kisscomps/components/DrawChannelization/drawsvg/index.draw.vue +939 -0
  242. package/src/kisscomps/components/DrawChannelization/drawsvg/index.vue +118 -0
  243. package/src/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +563 -0
  244. package/src/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +157 -0
  245. package/src/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.check.vue +191 -0
  246. package/src/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.syncOper.vue +331 -0
  247. package/src/kisscomps/components/DrawChannelization/drawsvg/phaseAssociatedComponent.vue +157 -0
  248. package/src/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -0
  249. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +43 -0
  250. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -0
  251. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -0
  252. package/src/kisscomps/components/DrawChannelization/index.js +2 -0
  253. package/src/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -0
  254. package/src/kisscomps/components/ExpendConfig/ExpendConfig.vue +114 -114
  255. package/src/kisscomps/components/ExpendConfig/index.js +2 -2
  256. package/src/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +170 -170
  257. package/src/kisscomps/components/FaultDetailModal/index.js +2 -2
  258. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +497 -497
  259. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  260. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +300 -300
  261. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +288 -288
  262. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +391 -391
  263. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +336 -336
  264. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +345 -345
  265. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +389 -389
  266. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1179 -1179
  267. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +402 -402
  268. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +361 -361
  269. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +368 -368
  270. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +475 -475
  271. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +494 -494
  272. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +401 -401
  273. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +360 -360
  274. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +367 -367
  275. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +476 -476
  276. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  277. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  278. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  279. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  280. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  281. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  282. package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +912 -912
  283. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/LphaseIconSvg.vue +112 -112
  284. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +112 -112
  285. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +111 -111
  286. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  287. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  288. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.json +99 -99
  289. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +99 -99
  290. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  291. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/sidePos.json +99 -99
  292. package/src/kisscomps/components/IntersectionMap/crossDirection/utils.js +78 -78
  293. package/src/kisscomps/components/IntersectionMap/index.js +2 -2
  294. package/src/kisscomps/components/IntersectionMap/intersectionmap.vue +153 -153
  295. package/src/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +518 -518
  296. package/src/kisscomps/components/IntersectionWithInterface/index.js +2 -2
  297. package/src/kisscomps/components/KanBan/index.js +2 -2
  298. package/src/kisscomps/components/KanBan/kanban.vue +219 -219
  299. package/src/kisscomps/components/MessageBox/index.vue +96 -0
  300. package/src/kisscomps/components/OverLap/OverLap.vue +207 -207
  301. package/src/kisscomps/components/OverLap/index.js +2 -2
  302. package/src/kisscomps/components/PatternStatus/PatternStatus.vue +888 -888
  303. package/src/kisscomps/components/PatternStatus/index.js +2 -2
  304. package/src/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  305. package/src/kisscomps/components/PatternWalkSvg/index.js +2 -2
  306. package/src/kisscomps/components/PhaseMarker/index.js +6 -6
  307. package/src/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  308. package/src/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  309. package/src/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  310. package/src/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  311. package/src/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  312. package/src/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  313. package/src/kisscomps/components/SchemeConfig/SchemeConfig.vue +744 -744
  314. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +195 -195
  315. package/src/kisscomps/components/SchemeConfig/index.js +2 -2
  316. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +198 -198
  317. package/src/kisscomps/components/SchemeConfig/manualControlModal/index.vue +219 -219
  318. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +263 -263
  319. package/src/kisscomps/components/SchemeConfig/tentativeplancontrolmodal/index.vue +1384 -1384
  320. package/src/kisscomps/components/StageBord/StageBord.vue +242 -242
  321. package/src/kisscomps/components/StageBord/index.js +2 -2
  322. package/src/kisscomps/components/StageStatus/StageStatus.vue +306 -306
  323. package/src/kisscomps/components/StageStatus/index.js +2 -2
  324. package/src/kisscomps/components/Stages/index.vue +139 -139
  325. package/src/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  326. package/src/kisscomps/components/SvgIcon/index.js +2 -2
  327. package/src/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +522 -522
  328. package/src/kisscomps/components/XRDDirSelector/index.js +2 -2
  329. package/src/kisscomps/components/overView/index.vue +676 -676
  330. package/src/kisscomps/components/patternList/index.js +2 -2
  331. package/src/kisscomps/components/patternList/patternList.vue +562 -562
  332. package/src/kisscomps/index.js +102 -92
  333. package/src/lib/publicjs/ArryListUtil.js +38 -38
  334. package/src/lib/publicjs/HttpurlMgr.js +45 -45
  335. package/src/lib/publicjs/KissApi.js +158 -158
  336. package/src/lib/publicjs/KissWSSub/Heartcheck.js +128 -128
  337. package/src/lib/publicjs/KissWSSub/KissWsSub.js +91 -91
  338. package/src/lib/publicjs/KissWSSub/KissWsSubByType.js +152 -152
  339. package/src/lib/publicjs/KissWSSub/SimuWsSubByType.js +44 -44
  340. package/src/lib/publicjs/KissWSSub/Sub.js +51 -51
  341. package/src/lib/publicjs/KissWSSub/SubChannel.js +119 -119
  342. package/src/lib/publicjs/basecomponents.js +65 -65
  343. package/src/lib/publicjs/localStorage.js +112 -112
  344. package/src/lib/publicjs/objdeepcopy.js +32 -32
  345. package/src/lib/publicjs/pageScroll.js +30 -30
  346. package/src/lib/publicjs/passwdAssest.js +101 -101
  347. package/src/lib/publicjs/styleclassfactory.js +32 -32
  348. package/src/main.js +50 -47
  349. package/src/router/index.js +43 -36
  350. package/src/store/getters.js +16 -16
  351. package/src/store/index.js +26 -26
  352. package/src/store/modules/globalParam.js +78 -27
  353. package/src/utils/ControlFormat.js +68 -68
  354. package/src/utils/RingDataModel.js +191 -191
  355. package/src/utils/auth.js +111 -111
  356. package/src/utils/dateFormat.js +41 -41
  357. package/src/utils/errorcode.js +224 -224
  358. package/src/utils/fault.js +195 -195
  359. package/src/utils/faultcode.js +209 -209
  360. package/src/utils/index.js +69 -69
  361. package/src/utils/pedphasedesc.js +119 -119
  362. package/src/utils/phasedesc.js +124 -124
  363. package/src/utils/responseMessage.js +21 -21
  364. package/src/utils/validate.js +43 -43
  365. package/src/views/customchannelization.vue +49 -0
  366. package/src/views/home.1.vue +479 -479
  367. package/src/views/home.vue +78 -78
  368. package/src/views/intersection.vue +282 -276
  369. package/src/views/overView.vue +41 -41
  370. package/src/views/schemeconfig.vue +154 -154
  371. package/static/apiconfig.json +351 -336
  372. package/static/styles/channelizatioon.scss +365 -0
  373. package/static/styles/common.scss +20 -19
  374. package/static/styles/commonkanban.scss +87 -87
  375. package/static/styles/dark/index.scss +2 -2
  376. package/static/styles/dark/theme/element-dark.scss +42 -42
  377. package/static/styles/index.scss +84 -84
  378. package/static/styles/intersection.scss +170 -170
  379. package/static/styles/light/index.scss +2 -2
  380. package/static/styles/light/theme/element-light.scss +42 -42
  381. package/static/styles/overview.scss +371 -371
  382. package/static/styles/schemeconfig.scss +405 -405
  383. package/static/styles/stages.scss +64 -64
  384. package/static/token.json +2 -2
  385. package/test/e2e/custom-assertions/elementCount.js +27 -27
  386. package/test/e2e/nightwatch.conf.js +46 -46
  387. package/test/e2e/runner.js +48 -48
  388. package/test/e2e/specs/test.js +19 -19
  389. package/test/unit/.eslintrc +7 -7
  390. package/test/unit/jest.conf.js +30 -30
  391. package/test/unit/setup.js +3 -3
  392. package/test/unit/specs/HelloWorld.spec.js +11 -11
  393. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PatternWalkSvg.vue +0 -429
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Copyright (c) 2020 kedacom
3
+ * OpenATC is licensed under Mulan PSL v2.
4
+ * You can use this software according to the terms and conditions of the Mulan PSL v2.
5
+ * You may obtain a copy of Mulan PSL v2 at:
6
+ * http://license.coscl.org.cn/MulanPSL2
7
+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
8
+ * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
9
+ * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
10
+ * See the Mulan PSL v2 for more details.
11
+ **/
12
+ <template>
13
+ <div class="custom-cross-part">
14
+ <FirstImportCrossmap v-if="pageindex === 1"
15
+ @loadSvgString="loadSvgString" />
16
+ <CustomDraw v-show="pageindex === 2" ref="CustomDraw"
17
+ :AgentId="AgentId"
18
+ :loadedChannelizatonData="loadedChannelizatonData"
19
+ @saveCallback="saveCallback" />
20
+ </div>
21
+ </template>
22
+ <script>
23
+ import FirstImportCrossmap from './firstImportCrossmap'
24
+ import CustomDraw from './index.draw'
25
+ import { mapState } from 'vuex'
26
+ // import { getIframdevid } from '../../../../utils/auth.js'
27
+ import { getChannelizatonChart } from '../../../../api/cross'
28
+ // import { getMessageByCode } from '../../../utils/responseMessage.js'
29
+
30
+ export default {
31
+ name: 'custom-channelization',
32
+ components: {
33
+ FirstImportCrossmap,
34
+ CustomDraw
35
+ },
36
+ props: {
37
+ AgentId: {
38
+ type: String,
39
+ default: '0'
40
+ },
41
+ tscParam: {
42
+ type: Object
43
+ }
44
+ },
45
+ data () {
46
+ return {
47
+ pageindex: 1,
48
+ loadedChannelizatonData: {} // 接口返回的已保存路口渠化数据
49
+ }
50
+ },
51
+ computed: {
52
+ ...mapState({
53
+ channelizationPageIndex: state => state.globalParam.channelizationPageIndex
54
+ })
55
+ },
56
+ watch: {
57
+ channelizationPageIndex: {
58
+ handler: function (index) {
59
+ this.pageindex = index
60
+ }
61
+ },
62
+ AgentId: {
63
+ handler: function (val) {
64
+ this.getChannelizatonChart()
65
+ },
66
+ deep: true
67
+ },
68
+ tscParam: {
69
+ handler: function (val) {
70
+ if (val) {
71
+ this.$store.dispatch('SetTscParam', val)
72
+ }
73
+ },
74
+ deep: true
75
+ }
76
+ },
77
+ methods: {
78
+ loadSvgString (type, imgstr) {
79
+ this.pageindex = 2
80
+ this.$nextTick(() => {
81
+ this.$refs.CustomDraw.loadSvgString(type, imgstr)
82
+ })
83
+ },
84
+ getChannelizatonChart () {
85
+ // let agentid = getIframdevid()
86
+ let _this = this
87
+ _this.$store.dispatch('SetChannelizationPageIndex', false)
88
+ getChannelizatonChart(this.AgentId).then(data => {
89
+ if (!data.data.success) {
90
+ // let parrenterror = getMessageByCode(data.data.code, _this.$i18n.locale)
91
+ // if (data.data.data) {
92
+ // // 子类型错误
93
+ // let childErrorCode = data.data.data.errorCode
94
+ // if (childErrorCode) {
95
+ // let childerror = getMessageByCode(data.data.data.errorCode, _this.$i18n.locale)
96
+ // _this.$message.error(parrenterror + ',' + childerror)
97
+ // }
98
+ // } else {
99
+ // _this.$message.error(parrenterror)
100
+ // }
101
+ return
102
+ }
103
+ if (JSON.stringify(data.data.data) === '{}') return
104
+ _this.$store.dispatch('SetChannelizationPageIndex', true)
105
+ _this.loadedChannelizatonData = JSON.parse(JSON.stringify(data.data.data))
106
+ })
107
+ },
108
+ saveCallback (res) {
109
+ this.$emit('saveCallback', res)
110
+ }
111
+ },
112
+ mounted () {
113
+ this.getChannelizatonChart()
114
+ }
115
+ }
116
+ </script>
117
+ <style scoped>
118
+ </style>
@@ -0,0 +1,563 @@
1
+ /**
2
+ * Copyright (c) 2020 kedacom
3
+ * OpenATC is licensed under Mulan PSL v2.
4
+ * You can use this software according to the terms and conditions of the Mulan PSL v2.
5
+ * You may obtain a copy of Mulan PSL v2 at:
6
+ * http://license.coscl.org.cn/MulanPSL2
7
+ * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
8
+ * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
9
+ * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
10
+ * See the Mulan PSL v2 for more details.
11
+ **/
12
+ <template>
13
+ <div class="lane-edit-panel">
14
+ <!-- 车道编辑面板 -->
15
+ <div class="vehile" v-if="Data.icontype === 'vehile'">
16
+ <div class="edit-id">
17
+ <span style="margin-right: 3px;">
18
+ {{$t('openatccomponents.channelizationmap.vehiclelane') + ':'}}
19
+ </span>
20
+ <span>{{Data.id}}</span>
21
+ </div>
22
+ <div class="directions">
23
+ <div class="tittle">{{$t('openatccomponents.channelizationmap.laneturn')}}</div>
24
+ <div class="each-icon" v-for="(item, index) in directionList" :key="index">
25
+ <div class="single-icon"
26
+ @click="selectDire(item.id)"
27
+ :class="preselectDirection.indexOf(item.id) !== -1 ? 'single-icon-select' : ''">
28
+ <svg-icon :icon-class="item.iconclass" className="direction-icon"></svg-icon>
29
+ </div>
30
+ <div class="single-icon-name">{{item.name}}</div>
31
+ </div>
32
+ </div>
33
+
34
+ <div class="position">
35
+ <div class="tittle">{{$t('openatccomponents.channelizationmap.position')}}</div>
36
+ <div class="position-options">
37
+ <el-radio-group v-model="lanePosition" @change="selectLanePos">
38
+ <el-radio :label="1">{{$t('openatccomponents.channelizationmap.eastward')}}</el-radio>
39
+ <el-radio :label="2">{{$t('openatccomponents.channelizationmap.westward')}}</el-radio>
40
+ <el-radio :label="3">{{$t('openatccomponents.channelizationmap.southward')}}</el-radio>
41
+ <el-radio :label="4">{{$t('openatccomponents.channelizationmap.northward')}}</el-radio>
42
+ </el-radio-group>
43
+ </div>
44
+ </div>
45
+
46
+ <div class="lane-types">
47
+ <div class="tittle">{{$t('openatccomponents.channelizationmap.lanetype')}}</div>
48
+ <div class="each-icon" v-for="(item, index) in lanetypeList" :key="index">
49
+ <div class="single-icon"
50
+ @click="selectLanetype(item.id)"
51
+ :class="preselectLanetype === item.id ? 'single-icon-select' : ''">
52
+ <svg-icon :icon-class="item.iconclass" className="type-icon"></svg-icon>
53
+ </div>
54
+ <div class="single-icon-name">{{item.name}}</div>
55
+ </div>
56
+ <div v-if="Data.controltype !== 0 && Data.controltype !== 1">
57
+ <el-switch
58
+ :value="flip"
59
+ @change="handleChangeFilp"
60
+ :active-text="$t('openatccomponents.channelizationmap.flipdisplay')">
61
+ </el-switch>
62
+ </div>
63
+ </div>
64
+
65
+ <div class="phase-associated">
66
+ <div class="tittle">{{$t('openatccomponents.channelizationmap.phaseassociated')}}</div>
67
+ <!-- 相位可以编辑,增加,删除,校验 -->
68
+ <!-- <PhaseAssociatedComponentCheck
69
+ ref="phaseAssociated"
70
+ :editData="Data"
71
+ :Motorways="Motorways"
72
+ @selectPhase="selectPhase"
73
+ @handleDisassociatePhase="handleDisassociatePhase" /> -->
74
+ <!-- 相位仅可以关联选择,不可修改 -->
75
+ <PhaseAssociatedComponent
76
+ :editData="Data"
77
+ @selectPhaseNew="selectPhaseNew" />
78
+ </div>
79
+ <div class="overlap-associated">
80
+ <div class="tittle">{{$t('openatccomponents.channelizationmap.overlapassociated')}}</div>
81
+ <OverlapAssociatedComponent :editData="Data"
82
+ @selectPhaseNew="selectPhaseNew"/>
83
+ </div>
84
+ </div>
85
+
86
+ <!-- 行人编辑面板 -->
87
+ <div class="ped" v-if="Data.icontype === 'ped'">
88
+ <div class="edit-id">
89
+ <span style="margin-right: 3px;">
90
+ {{$t('openatccomponents.channelizationmap.sidewalk') + ':'}}
91
+ </span>
92
+ <span>{{Data.id}}</span>
93
+ </div>
94
+ <div class="ped-type">
95
+ <div class="tittle">{{$t('openatccomponents.channelizationmap.pedestriantype')}}</div>
96
+ <div class="each-icon" v-for="(item, index) in pedestriantypeList" :key="index">
97
+ <div class="single-icon"
98
+ @click="selectPedType(item.id)"
99
+ :class="Data.iconpedtypeid === item.id ? 'single-icon-select' : ''">
100
+ <svg-icon :icon-class="item.iconclass" className="ped-icon"></svg-icon>
101
+ </div>
102
+ <div class="single-icon-name">{{item.name}}</div>
103
+ </div>
104
+ </div>
105
+ <div class="ped-position">
106
+ <div class="tittle">{{$t('openatccomponents.channelizationmap.position')}}</div>
107
+ <div class="each-icon" v-for="(item, index) in pedPosList" :key="index">
108
+ <div class="single-icon"
109
+ @click="selectPedPos(item.id)"
110
+ :class="Data.iconpedposition === item.id ? 'single-icon-select' : ''">
111
+ <svg-icon :icon-class="item.iconclass" className="ped-icon"></svg-icon>
112
+ </div>
113
+ <div class="single-icon-name">{{item.name}}</div>
114
+ </div>
115
+ </div>
116
+ <div class="phase-associated">
117
+ <div class="tittle">{{$t('openatccomponents.channelizationmap.phaseassociated')}}</div>
118
+ <!-- 相位可以编辑,增加,删除,校验 -->
119
+ <!-- <PhaseAssociatedComponentCheck
120
+ ref="phaseAssociated"
121
+ :editData="Data"
122
+ @selectPhase="selectPhase"
123
+ @handleDisassociatePhase="handleDisassociatePhase" /> -->
124
+ <!-- 相位仅可以关联选择,不可修改 -->
125
+ <PhaseAssociatedComponent
126
+ :editData="Data"
127
+ @selectPhaseNew="selectPhaseNew" />
128
+ </div>
129
+ <div class="overlap-associated">
130
+ <div class="tittle">{{$t('openatccomponents.channelizationmap.overlapassociated')}}</div>
131
+ <OverlapAssociatedComponent :editData="Data"
132
+ @selectPhaseNew="selectPhaseNew"/>
133
+ </div>
134
+ </div>
135
+
136
+ <!-- 检测器编辑面板 -->
137
+ <div class="detector" v-if="Data.icontype === 'detector' && Data.detailtype === 'detector'">
138
+ <div class="detector-type">
139
+ <div class="tittle">{{$t('openatccomponents.channelizationmap.detectortype')}}</div>
140
+ <div class="each-icon" v-for="(item, index) in detectortypeList" :key="index">
141
+ <div class="single-icon"
142
+ @click="selectDetectorType(item.id)"
143
+ :class="Data.detectortype === item.id ? 'single-icon-select' : ''">
144
+ <svg-icon :icon-class="item.iconclass" className="ped-icon"></svg-icon>
145
+ </div>
146
+ <div class="single-icon-name">{{item.name}}</div>
147
+ </div>
148
+ </div>
149
+ <div class="detector-associated">
150
+ <div class="tittle">{{$t('openatccomponents.channelizationmap.detectorassociated')}}</div>
151
+ <DetectorAssociatedComponent :editData="Data"
152
+ @selectAssociatedDetector="selectAssociatedDetector"/>
153
+ </div>
154
+ <div class="detector-threshold" v-if="Data.detectortype === 1">
155
+ <div class="tittle">{{$t('openatccomponents.channelizationmap.detectorthreshold')}}</div>
156
+ <el-form
157
+ ref="threshold"
158
+ label-position="left"
159
+ label-width="130px">
160
+ <el-form-item
161
+ :label="$t('openatccomponents.channelizationmap.occupancythreshold') + ':'"
162
+ prop="intersection">
163
+ <el-input-number :min="0" :max="100" :precision="0" :step="1" :controls="false"
164
+ :value="occupancythreshold" size="mini"
165
+ @change="handleChangeOccuthreshold" />
166
+ <span class="detector-threshold-formtext">%</span>
167
+ </el-form-item>
168
+ <el-form-item
169
+ :label="$t('openatccomponents.channelizationmap.saturationthreshold') + ':'"
170
+ prop="count">
171
+ <el-input-number :min="0" :max="100" :precision="0" :step="1" :controls="false"
172
+ :value="flowsaturationthreshold" size="mini"
173
+ @change="handleChangeFlowthreshold" />
174
+ <span class="detector-threshold-formtext">%</span>
175
+ </el-form-item>
176
+ </el-form>
177
+ </div>
178
+ </div>
179
+
180
+ <div class="delete-drawed-item" v-if="JSON.stringify(Data) !== '{}' && Data.detailtype !== 'detectorChart'">
181
+ <el-button type="primary" @click="handledelete">{{$t('openatccomponents.channelizationmap.delete')}}</el-button>
182
+ </div>
183
+ </div>
184
+ </template>
185
+ <script>
186
+ import PhaseAssociatedComponentCheck from './phaseAssociatedComponent.check'
187
+ import PhaseAssociatedComponent from './phaseAssociatedComponent.vue'
188
+ import OverlapAssociatedComponent from './overlapAssociatedComponent'
189
+ import DetectorAssociatedComponent from './detectorAssociatedComponent.vue'
190
+ export default {
191
+ name: 'lane-edit-panel',
192
+ components: {
193
+ PhaseAssociatedComponent,
194
+ PhaseAssociatedComponentCheck,
195
+ OverlapAssociatedComponent,
196
+ DetectorAssociatedComponent
197
+ },
198
+ data () {
199
+ return {
200
+ iconObj: {},
201
+ preselectDirection: [1], // 预选方向
202
+ preselectPedType: [1], // 预选行人类型
203
+ directionList: [], // 业务下方向选择列表(非机动车没有掉头)
204
+ allDirectionsList: [{
205
+ id: 1,
206
+ key: 'straightahead',
207
+ iconclass: 'custom-straightahead',
208
+ name: this.$t('openatccomponents.channelizationmap.straightahead')
209
+ }, {
210
+ id: 2,
211
+ key: 'turnleft',
212
+ iconclass: 'custom-turnleft',
213
+ name: this.$t('openatccomponents.channelizationmap.turnleft')
214
+ }, {
215
+ id: 3,
216
+ key: 'turnright',
217
+ iconclass: 'custom-turnright',
218
+ name: this.$t('openatccomponents.channelizationmap.turnright')
219
+ }, {
220
+ id: 4,
221
+ key: 'turnaround',
222
+ iconclass: 'custom-turnaround',
223
+ name: this.$t('openatccomponents.channelizationmap.turnaround')
224
+ }],
225
+ pedestriantypeList: [{
226
+ id: 1,
227
+ key: 'pedestrian',
228
+ iconclass: 'custom-pedestrian',
229
+ name: this.$t('openatccomponents.channelizationmap.pedestrian')
230
+ }, {
231
+ id: 2,
232
+ key: 'secondcrossing',
233
+ iconclass: 'custom-secondcrossing',
234
+ name: this.$t('openatccomponents.channelizationmap.secondcrossing')
235
+ }, {
236
+ id: 3,
237
+ key: 'xpedestrian',
238
+ iconclass: 'custom-xpedestrian',
239
+ name: this.$t('openatccomponents.channelizationmap.xpedestrian')
240
+ }, {
241
+ id: 4,
242
+ key: 'sectionpedestrian',
243
+ iconclass: 'custom-sectionpedestrian',
244
+ name: this.$t('openatccomponents.channelizationmap.sectionpedestrian')
245
+ }],
246
+ preselectLanetype: 0,
247
+ flip: false, // 默认车道类型图标不反转,正向为西
248
+ lanetypeList: [{
249
+ id: 0, // id对于controltype
250
+ key: 'vehiclemainroad',
251
+ iconclass: 'custom-vehiclemainroad',
252
+ name: this.$t('openatccomponents.channelizationmap.vehiclemainroad')
253
+ }, {
254
+ id: 1,
255
+ key: 'vehiclebranch',
256
+ iconclass: 'custom-vehiclebranch',
257
+ name: this.$t('openatccomponents.channelizationmap.vehiclebranch')
258
+ }, {
259
+ id: 6,
260
+ key: 'nonmotorizedlane',
261
+ iconclass: 'custom-nonmotorizedlane',
262
+ name: this.$t('openatccomponents.channelizationmap.nonmotorizedlane')
263
+ }, {
264
+ id: 3,
265
+ key: 'buslane',
266
+ iconclass: 'custom-buslane',
267
+ name: this.$t('openatccomponents.channelizationmap.buslane')
268
+ }, {
269
+ id: 4,
270
+ key: 'BRTlane',
271
+ iconclass: 'custom-BRTlane',
272
+ name: this.$t('openatccomponents.channelizationmap.BRTlane')
273
+ }, {
274
+ id: 5,
275
+ key: 'tramlane',
276
+ iconclass: 'custom-tramlane',
277
+ name: this.$t('openatccomponents.channelizationmap.tramlane')
278
+ }],
279
+ lanePosition: 1, // 方位默认东向
280
+ pedPosList: [], // 当前显示的方位列表,由类型决定
281
+ pedCrossingPosList: [{
282
+ id: 1,
283
+ key: 'pedeastward',
284
+ iconclass: 'custom-pedeastward',
285
+ name: this.$t('openatccomponents.channelizationmap.eastward')
286
+ }, {
287
+ id: 2,
288
+ key: 'pedwestward',
289
+ iconclass: 'custom-pedwestward',
290
+ name: this.$t('openatccomponents.channelizationmap.westward')
291
+ }, {
292
+ id: 3,
293
+ key: 'pedsouthward',
294
+ iconclass: 'custom-pedsouthward',
295
+ name: this.$t('openatccomponents.channelizationmap.southward')
296
+ }, {
297
+ id: 4,
298
+ key: 'pednorthward',
299
+ iconclass: 'custom-pednorthward',
300
+ name: this.$t('openatccomponents.channelizationmap.northward')
301
+ }],
302
+ pedSecondCrossingPosList: [{
303
+ id: 5,
304
+ key: 'east-top',
305
+ iconclass: 'custom-east-top',
306
+ name: this.$t('openatccomponents.channelizationmap.etped')
307
+ }, {
308
+ id: 6,
309
+ key: 'east-bottom',
310
+ iconclass: 'custom-east-bottom',
311
+ name: this.$t('openatccomponents.channelizationmap.ebped')
312
+ }, {
313
+ id: 7,
314
+ key: 'west-top',
315
+ iconclass: 'custom-west-top',
316
+ name: this.$t('openatccomponents.channelizationmap.wtped')
317
+ }, {
318
+ id: 8,
319
+ key: 'west-bottom',
320
+ iconclass: 'custom-west-bottom',
321
+ name: this.$t('openatccomponents.channelizationmap.wbped')
322
+ }, {
323
+ id: 9,
324
+ key: 'south-left',
325
+ iconclass: 'custom-south-left',
326
+ name: this.$t('openatccomponents.channelizationmap.slped')
327
+ }, {
328
+ id: 10,
329
+ key: 'south-right',
330
+ iconclass: 'custom-south-right',
331
+ name: this.$t('openatccomponents.channelizationmap.srped')
332
+ }, {
333
+ id: 11,
334
+ key: 'north-left',
335
+ iconclass: 'custom-north-left',
336
+ name: this.$t('openatccomponents.channelizationmap.nlped')
337
+ }, {
338
+ id: 12,
339
+ key: 'north-right',
340
+ iconclass: 'custom-north-right',
341
+ name: this.$t('openatccomponents.channelizationmap.nrped')
342
+ }],
343
+ pedObliqueCrossingPosList: [{
344
+ id: 13,
345
+ key: 'xrped',
346
+ iconclass: 'custom-xrped',
347
+ name: this.$t('openatccomponents.channelizationmap.xrped')
348
+ }, {
349
+ id: 14,
350
+ key: 'xlped',
351
+ iconclass: 'custom-xlped',
352
+ name: this.$t('openatccomponents.channelizationmap.xlped')
353
+ }],
354
+ pedSectionCrossingPosList: [{
355
+ id: 15,
356
+ key: 'ewped',
357
+ iconclass: 'custom-ewped',
358
+ name: this.$t('openatccomponents.channelizationmap.ewped')
359
+ }, {
360
+ id: 16,
361
+ key: 'snped',
362
+ iconclass: 'custom-snped',
363
+ name: this.$t('openatccomponents.channelizationmap.snped')
364
+ }],
365
+ detectortypeList: [{
366
+ id: 1,
367
+ key: 'vehiclemainroad',
368
+ iconclass: 'custom-detector',
369
+ name: this.$t('openatccomponents.channelizationmap.vehicledetector')
370
+ }, {
371
+ id: 2,
372
+ key: 'vehiclebranch',
373
+ iconclass: 'custom-peddetector',
374
+ name: this.$t('openatccomponents.channelizationmap.pedestriandetector')
375
+ }],
376
+ occupancythreshold: 80,
377
+ flowsaturationthreshold: 20
378
+ }
379
+ },
380
+ watch: {
381
+ Data: {
382
+ handler: function (data) {
383
+ this.iconObj = JSON.parse(JSON.stringify(data))
384
+ this.initDirOptions()
385
+ if (data.icondireid !== undefined) {
386
+ this.preselectDirection = JSON.parse(JSON.stringify(data.icondireid))
387
+ }
388
+ if (data.controltype !== undefined) {
389
+ this.preselectLanetype = data.controltype
390
+ }
391
+ if (data.lanePosition !== undefined) {
392
+ this.lanePosition = data.lanePosition
393
+ }
394
+ if (data.occupancythreshold !== undefined) {
395
+ this.occupancythreshold = data.occupancythreshold
396
+ }
397
+ if (data.flowsaturationthreshold !== undefined) {
398
+ this.flowsaturationthreshold = data.flowsaturationthreshold
399
+ }
400
+ if (data.flip !== undefined) {
401
+ this.flip = data.flip
402
+ }
403
+ this.getCurPedPosList(data.iconpedtypeid)
404
+ },
405
+ deep: true
406
+ }
407
+ },
408
+ props: {
409
+ Data: {
410
+ type: Object
411
+ },
412
+ Motorways: {
413
+ type: Array
414
+ }
415
+ },
416
+ methods: {
417
+ initDirOptions () {
418
+ this.directionList = JSON.parse(JSON.stringify(this.allDirectionsList))
419
+ },
420
+ selectDire (value) {
421
+ let index = this.iconObj.icondireid.indexOf(value)
422
+ if (index === -1) {
423
+ this.iconObj.icondireid.push(value)
424
+ } else {
425
+ this.iconObj.icondireid.splice(index, 1)
426
+ }
427
+ this.$emit('handleChooseDire', this.iconObj)
428
+ // this.handleAssociatedPhase()
429
+ },
430
+ selectLanetype (id) {
431
+ this.iconObj.controltype = id
432
+ this.$emit('changeIconDataByType', this.iconObj, ['controltype'])
433
+ },
434
+ selectPedType (value) {
435
+ this.iconObj.iconpedtypeid = value
436
+ this.getCurPedPosList(value)
437
+ // 默认选择第一方位
438
+ this.iconObj.iconpedposition = this.pedPosList[0].id
439
+ this.$emit('handleChoosePed', this.iconObj)
440
+ },
441
+ selectDetectorType (value) {
442
+ if (this.iconObj.detectortype !== undefined && this.iconObj.detectortype !== value) {
443
+ this.iconObj.detectorid = undefined
444
+ }
445
+ this.iconObj.detectortype = value
446
+ this.$emit('changeIconDataByType', this.iconObj, ['detectortype', 'detectorid'])
447
+ if (value === 2) {
448
+ // 行人检测器没有阈值设置
449
+ this.iconObj.occupancythreshold = undefined
450
+ this.iconObj.flowsaturationthreshold = undefined
451
+ this.$emit('changeIconDataByType', this.iconObj, ['occupancythreshold', 'flowsaturationthreshold'])
452
+ }
453
+ },
454
+ selectPedPos (value) {
455
+ this.iconObj.iconpedposition = value
456
+ this.$emit('handleChoosePed', this.iconObj)
457
+ },
458
+ handledelete () {
459
+ this.$emit('deleteItem', this.iconObj)
460
+ },
461
+ selectLanePos (value) {
462
+ this.iconObj.lanePosition = value
463
+ this.$emit('changeIconDataByType', this.iconObj, ['lanePosition'])
464
+ // this.handleAssociatedPhase()
465
+ },
466
+ selectPhase (phaseid, direction) {
467
+ // 关联相位的同时,会修改相位方向
468
+ this.iconObj.phaseid = phaseid
469
+ this.iconObj.phaselabel = `P${phaseid}`
470
+ this.iconObj.direction = direction
471
+ this.$emit('changeIconDataByType', this.iconObj, ['phaseid', 'phaselabel', 'direction'])
472
+ },
473
+ selectPhaseNew (phaseid, phasetype) {
474
+ // 仅关联相位,不修改原相位
475
+ this.iconObj.phasetype = phasetype
476
+ this.iconObj.phaseid = phaseid
477
+ if (phasetype === 'phase') {
478
+ this.iconObj.phaselabel = `P${phaseid}`
479
+ }
480
+ if (phasetype === 'overlap') {
481
+ this.iconObj.phaselabel = `OP${phaseid}`
482
+ }
483
+ this.$emit('changeIconDataByType', this.iconObj, ['phaseid', 'phaselabel', 'phasetype'])
484
+ },
485
+ handleDisassociatePhase (deletePhaseid) {
486
+ this.$emit('handleDisassociatePhase', deletePhaseid)
487
+ },
488
+ // handleAssociatedPhase () {
489
+ // // 如果已关联相位,再改变车道转向或者方位时,需要同步更新选中的关联相位
490
+ // if (this.iconObj.phaseid !== undefined) {
491
+ // this.$refs.phaseAssociated.changeDirection(this.iconObj)
492
+ // }
493
+ // },
494
+ selectAssociatedDetector (detectorid) {
495
+ // 仅关联检测器,不修改
496
+ this.iconObj.detectorid = detectorid
497
+ this.$emit('changeIconDataByType', this.iconObj, ['detectorid'])
498
+ },
499
+ handleChangeOccuthreshold (occupancythreshold) {
500
+ if (occupancythreshold === undefined) {
501
+ this.$message.error(this.$t('openatccomponents.channelizationmap.checkthreshold'))
502
+ this.occupancythreshold = 80
503
+ return
504
+ }
505
+ this.occupancythreshold = occupancythreshold
506
+ this.iconObj.occupancythreshold = occupancythreshold
507
+ this.$emit('changeIconDataByType', this.iconObj, ['occupancythreshold'])
508
+ },
509
+ handleChangeFlowthreshold (flowsaturationthreshold) {
510
+ if (flowsaturationthreshold === undefined) {
511
+ this.$message.error(this.$t('openatccomponents.channelizationmap.checkthreshold'))
512
+ this.flowsaturationthreshold = 20
513
+ return
514
+ }
515
+ this.flowsaturationthreshold = flowsaturationthreshold
516
+ this.iconObj.flowsaturationthreshold = flowsaturationthreshold
517
+ this.$emit('changeIconDataByType', this.iconObj, ['flowsaturationthreshold'])
518
+ },
519
+ getCurPedPosList (iconpedtypeid) {
520
+ // 方位根据行人类型显示
521
+ switch (iconpedtypeid) {
522
+ case 1: this.pedPosList = JSON.parse(JSON.stringify(this.pedCrossingPosList))
523
+ break
524
+ case 2: this.pedPosList = JSON.parse(JSON.stringify(this.pedSecondCrossingPosList))
525
+ break
526
+ case 3: this.pedPosList = JSON.parse(JSON.stringify(this.pedObliqueCrossingPosList))
527
+ break
528
+ case 4: this.pedPosList = JSON.parse(JSON.stringify(this.pedSectionCrossingPosList))
529
+ break
530
+ }
531
+ },
532
+ handleChangeFilp (value) {
533
+ this.iconObj.flip = value
534
+ this.$emit('changeIconDataByType', this.iconObj, ['flip'])
535
+ }
536
+ },
537
+ mounted () {
538
+ if (JSON.stringify(this.Data) === '{}') return
539
+ this.iconObj = JSON.parse(JSON.stringify(this.Data))
540
+ if (this.Data.icondireid !== undefined) {
541
+ this.preselectDirection = JSON.parse(JSON.stringify(this.Data.icondireid))
542
+ }
543
+ if (this.Data.controltype !== undefined) {
544
+ this.preselectLanetype = this.Data.controltype
545
+ }
546
+ if (this.Data.lanePosition !== undefined) {
547
+ this.lanePosition = this.Data.lanePosition
548
+ }
549
+ if (this.Data.occupancythreshold !== undefined) {
550
+ this.occupancythreshold = this.Data.occupancythreshold
551
+ }
552
+ if (this.Data.flowsaturationthreshold !== undefined) {
553
+ this.flowsaturationthreshold = this.Data.flowsaturationthreshold
554
+ }
555
+ if (this.Data.flip !== undefined) {
556
+ this.flip = this.Data.flip
557
+ }
558
+ this.getCurPedPosList(this.Data.iconpedtypeid)
559
+ }
560
+ }
561
+ </script>
562
+ <style scoped>
563
+ </style>