openatc-components 0.5.11 → 0.5.13

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 (361) hide show
  1. package/.babelrc +18 -18
  2. package/.editorconfig +9 -9
  3. package/.eslintignore +5 -5
  4. package/.eslintrc.js +31 -31
  5. package/.postcssrc.js +10 -10
  6. package/README.md +30 -30
  7. package/build/build.js +41 -41
  8. package/build/check-versions.js +54 -54
  9. package/build/package.config.js +58 -58
  10. package/build/package.dev.config.js +107 -107
  11. package/build/package.prod.config.js +160 -160
  12. package/build/utils.js +101 -101
  13. package/build/vue-loader.conf.js +22 -22
  14. package/build/webpack.base.conf.js +120 -120
  15. package/build/webpack.dev.conf.js +95 -95
  16. package/build/webpack.prod.conf.js +149 -149
  17. package/config/prod.env.js +5 -5
  18. package/config/test.env.js +7 -7
  19. package/index.html +12 -12
  20. package/package/kisscomps/components/Channelization/Channelization.vue +585 -585
  21. package/package/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  22. package/package/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  23. package/package/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  24. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  25. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  26. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  27. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  28. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  29. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  30. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  31. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  32. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  33. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  34. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  35. package/package/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  36. package/package/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  37. package/package/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  38. package/package/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  39. package/package/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  40. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  41. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  42. package/package/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  43. package/package/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  44. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  45. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  46. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  47. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  48. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  49. package/package/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  50. package/package/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  51. package/package/kisscomps/components/DrawChannelization/drawsvg/index.vue +144 -144
  52. package/package/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  53. package/package/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  54. package/package/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  55. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  56. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  57. package/package/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  58. package/package/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  59. package/package/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  60. package/package/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  61. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +629 -629
  62. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  63. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  64. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  65. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  66. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  67. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  68. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  69. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +17 -1
  70. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  71. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +498 -498
  72. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +484 -484
  73. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +488 -488
  74. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +566 -566
  75. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  76. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  77. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  78. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  79. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  80. package/package/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  81. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  82. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  83. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  84. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  85. package/package/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  86. package/package/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +61 -2
  87. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +29 -2
  88. package/package/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  89. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  90. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  91. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  92. package/package/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  93. package/package/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +534 -534
  94. package/package/kisscomps/components/KanBan/kanban.vue +231 -231
  95. package/package/kisscomps/components/MessageBox/index.vue +96 -96
  96. package/package/kisscomps/components/OverviewComponent/index.vue +2 -0
  97. package/package/kisscomps/components/PatternOptimize/PatternOptimize.vue +329 -329
  98. package/package/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  99. package/package/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  100. package/package/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  101. package/package/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  102. package/package/kisscomps/components/PhaseMarker/index.js +6 -6
  103. package/package/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  104. package/package/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  105. package/package/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  106. package/package/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  107. package/package/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  108. package/package/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  109. package/package/kisscomps/components/PhasePedSelect/index.vue +206 -206
  110. package/package/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +365 -365
  111. package/package/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  112. package/package/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  113. package/package/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  114. package/package/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  115. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  116. package/package/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  117. package/package/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  118. package/package/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  119. package/package/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +308 -308
  120. package/package/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  121. package/package/kisscomps/components/StageOptimize/StageOptimize.vue +367 -367
  122. package/package/kisscomps/components/StageOptimize/index.js +2 -2
  123. package/package/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  124. package/package/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  125. package/package/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  126. package/package/kisscomps/components/XiaoKanban/index.vue +122 -122
  127. package/package/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  128. package/package/kisscomps/components/patternConfig/planContent.vue +604 -604
  129. package/package/kisscomps/components/patternConfig/planMenu.vue +329 -329
  130. package/package/kissui.min.js +1 -1
  131. package/package.json +1 -1
  132. package/src/EdgeMgr/EdgeModelBase.js +16 -16
  133. package/src/EdgeMgr/controller/crossDiagramMgr.js +125 -125
  134. package/src/api/authapi.js +31 -31
  135. package/src/api/config.js +21 -21
  136. package/src/api/control.js +110 -110
  137. package/src/api/device.js +135 -135
  138. package/src/api/fault.js +66 -66
  139. package/src/api/index.js +24 -24
  140. package/src/api/login.js +46 -46
  141. package/src/api/optimize.js +72 -72
  142. package/src/api/param.js +165 -165
  143. package/src/api/passwdAssest.js +101 -101
  144. package/src/api/permission.js +33 -33
  145. package/src/api/route.js +171 -171
  146. package/src/assets/font/LICENSE.txt +202 -202
  147. package/src/assets/font/font.css +6 -6
  148. package/src/i18n/index.js +26 -26
  149. package/src/i18n/language/en.js +2 -1
  150. package/src/i18n/language/zh.js +2 -1
  151. package/src/icons/index.js +20 -20
  152. package/src/icons/svg/azimuthlocking.svg +26 -26
  153. package/src/icons/svg/bendi.svg +110 -110
  154. package/src/icons/svg/bujin.svg +36 -36
  155. package/src/icons/svg/connectBlue.svg +7 -7
  156. package/src/icons/svg/currentvolume.svg +0 -0
  157. package/src/icons/svg/custom-BRTlane.svg +40 -40
  158. package/src/icons/svg/custom-buslane.svg +40 -40
  159. package/src/icons/svg/custom-detector.svg +12 -12
  160. package/src/icons/svg/custom-east-bottom.svg +32 -32
  161. package/src/icons/svg/custom-east-top.svg +32 -32
  162. package/src/icons/svg/custom-ewped.svg +35 -35
  163. package/src/icons/svg/custom-nonmotorizedlane.svg +40 -40
  164. package/src/icons/svg/custom-north-left.svg +32 -32
  165. package/src/icons/svg/custom-north-right.svg +32 -32
  166. package/src/icons/svg/custom-peddetector.svg +17 -17
  167. package/src/icons/svg/custom-snped.svg +35 -35
  168. package/src/icons/svg/custom-south-left.svg +32 -32
  169. package/src/icons/svg/custom-south-right.svg +32 -32
  170. package/src/icons/svg/custom-tramlane.svg +40 -40
  171. package/src/icons/svg/custom-vehiclebranch.svg +40 -40
  172. package/src/icons/svg/custom-vehiclemainroad.svg +41 -41
  173. package/src/icons/svg/custom-west-bottom.svg +32 -32
  174. package/src/icons/svg/custom-west-top.svg +32 -32
  175. package/src/icons/svg/custom-xlped.svg +14 -14
  176. package/src/icons/svg/custom-xrped.svg +14 -14
  177. package/src/icons/svg/cutRed.svg +7 -7
  178. package/src/icons/svg/cycle.svg +0 -0
  179. package/src/icons/svg/dingzhouqi.svg +34 -34
  180. package/src/icons/svg/ganyingkongzhi.svg +30 -30
  181. package/src/icons/svg/guandeng.svg +81 -81
  182. package/src/icons/svg/huangshan.svg +71 -71
  183. package/src/icons/svg/maincontrol.svg +0 -0
  184. package/src/icons/svg/manualcontrolbackground.svg +51 -51
  185. package/src/icons/svg/manualcontrolbackground1.svg +62 -62
  186. package/src/icons/svg/manualcontrolbackgrounden.svg +62 -62
  187. package/src/icons/svg/model.svg +0 -0
  188. package/src/icons/svg/phasediff.svg +0 -0
  189. package/src/icons/svg/prioritycontrol.svg +21 -21
  190. package/src/icons/svg/quanhong.svg +86 -86
  191. package/src/icons/svg/shanghe.svg +11 -11
  192. package/src/icons/svg/shoudong.svg +103 -103
  193. package/src/icons/svg/tentativeplan.svg +28 -28
  194. package/src/icons/svg/time.svg +0 -0
  195. package/src/icons/svg/wuxianlan.svg +46 -46
  196. package/src/icons/svg/xiala.svg +11 -11
  197. package/src/icons/svg/xingrenguojie.svg +33 -33
  198. package/src/icons/svg/xitong.svg +89 -89
  199. package/src/icons/svg/youxian.svg +41 -41
  200. package/src/icons/svg/zizhukongzhi.svg +43 -43
  201. package/src/kisscomps/components/Channelization/Channelization.vue +585 -585
  202. package/src/kisscomps/components/ChannelizationFlowStatistic/ChannelizationFlowStatistic.vue +360 -360
  203. package/src/kisscomps/components/ChannelizationWithInterface/ChannelizationWithInterface.vue +518 -518
  204. package/src/kisscomps/components/CommonKanban/CommonKanban.vue +132 -132
  205. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-bottom.vue +41 -41
  206. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-east-top.vue +60 -60
  207. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-ewped.vue +105 -105
  208. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-left.vue +60 -60
  209. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-north-right.vue +60 -60
  210. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-snped.vue +105 -105
  211. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-left.vue +60 -60
  212. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-south-right.vue +60 -60
  213. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-bottom.vue +60 -60
  214. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-west-top.vue +60 -60
  215. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xlped.vue +30 -30
  216. package/src/kisscomps/components/DirectionListConfiguration/svg/ped-xrped.vue +30 -30
  217. package/src/kisscomps/components/DirectionListConfiguration/svg/pedSvg.vue +78 -78
  218. package/src/kisscomps/components/DrawChannelization/drawsvg/basicCoordInfo.vue +181 -181
  219. package/src/kisscomps/components/DrawChannelization/drawsvg/channelizationElements.vue +255 -255
  220. package/src/kisscomps/components/DrawChannelization/drawsvg/detectorAssociatedComponent.vue +152 -152
  221. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/TextBox.vue +91 -91
  222. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/crossMap.vue +194 -194
  223. package/src/kisscomps/components/DrawChannelization/drawsvg/drawElement/editText.vue +108 -108
  224. package/src/kisscomps/components/DrawChannelization/drawsvg/firstImportCrossmap.vue +51 -51
  225. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/countdownSvg.vue +236 -236
  226. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorChart.vue +247 -247
  227. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/detectorIconSvg.vue +210 -210
  228. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/laneIcon.vue +72 -72
  229. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/motorwayIconSvg.vue +368 -368
  230. package/src/kisscomps/components/DrawChannelization/drawsvg/iconSvg/pedroadIconSvg.vue +230 -230
  231. package/src/kisscomps/components/DrawChannelization/drawsvg/importDialog.vue +74 -74
  232. package/src/kisscomps/components/DrawChannelization/drawsvg/index.vue +144 -144
  233. package/src/kisscomps/components/DrawChannelization/drawsvg/laneEditPanel.vue +707 -707
  234. package/src/kisscomps/components/DrawChannelization/drawsvg/overlapAssociatedComponent.vue +172 -172
  235. package/src/kisscomps/components/DrawChannelization/drawsvg/table.vue +99 -99
  236. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/loadutils.js +87 -87
  237. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phaseDataModel.js +32 -32
  238. package/src/kisscomps/components/DrawChannelization/drawsvg/utils/phasePos.json +20 -20
  239. package/src/kisscomps/components/DrawChannelization/phaseDataMgr.js +278 -278
  240. package/src/kisscomps/components/ExpendConfig/ExpendConfig.vue +118 -118
  241. package/src/kisscomps/components/FaultDetailModal/FaultDetailModal.vue +178 -178
  242. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CrossRoadsSvg.vue +629 -629
  243. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/CustomRoadsSvg.vue +46 -46
  244. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionEWSvg.vue +447 -447
  245. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/PedSectionSNSvg.vue +341 -341
  246. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampEastSvg.vue +497 -497
  247. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampNorthSvg.vue +353 -353
  248. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampSouthSvg.vue +359 -359
  249. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/RampWestSvg.vue +443 -443
  250. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkClickSvg.vue +17 -1
  251. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/SidewalkSvg.vue +1190 -1190
  252. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeEastRoadsSvg.vue +498 -498
  253. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeNorthRoadsSvg.vue +484 -484
  254. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeSouthRoadsSvg.vue +488 -488
  255. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/TShapeWestRoadsSvg.vue +566 -566
  256. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LCrossRoadsSvg.vue +640 -640
  257. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeEastRoadsSvg.vue +497 -497
  258. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeNorthRoadsSvg.vue +486 -486
  259. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeSouthRoadsSvg.vue +490 -490
  260. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/leftroad/LTShapeWestRoadsSvg.vue +575 -575
  261. package/src/kisscomps/components/IntersectionMap/crossDirection/baseImg/refreshSvg.vue +63 -63
  262. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/busMapSvg.vue +50 -50
  263. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/eastBusSvg.vue +167 -167
  264. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/northBusSvg.vue +168 -168
  265. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/southBusSvg.vue +168 -168
  266. package/src/kisscomps/components/IntersectionMap/crossDirection/busIcon/westBusSvg.vue +169 -169
  267. package/src/kisscomps/components/IntersectionMap/crossDirection/crossDiagram.vue +61 -2
  268. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/phaseIconSvg.vue +29 -2
  269. package/src/kisscomps/components/IntersectionMap/crossDirection/phaseIcon/rampPhaseIconSvg.vue +122 -122
  270. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.json +196 -196
  271. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/busPos.left.json +196 -196
  272. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/phasePos.left.json +115 -115
  273. package/src/kisscomps/components/IntersectionMap/crossDirection/posJson/rampPos.json +52 -52
  274. package/src/kisscomps/components/IntersectionWithInterface/IntersectionWithInterface.vue +534 -534
  275. package/src/kisscomps/components/KanBan/kanban.vue +231 -231
  276. package/src/kisscomps/components/MessageBox/index.vue +96 -96
  277. package/src/kisscomps/components/OverviewComponent/index.vue +2 -0
  278. package/src/kisscomps/components/PatternOptimize/PatternOptimize.vue +329 -329
  279. package/src/kisscomps/components/PatternWalkSvg/PatternWalkSvg.vue +423 -423
  280. package/src/kisscomps/components/PhaseDirectionSelect/PhaseDirectionSelect.vue +126 -126
  281. package/src/kisscomps/components/PhaseDirectionText/PhaseDirectionText.vue +106 -106
  282. package/src/kisscomps/components/PhaseLegend/PhaseLegend.vue +286 -286
  283. package/src/kisscomps/components/PhaseMarker/index.js +6 -6
  284. package/src/kisscomps/components/PhaseMarker/phasemarker.vue +215 -215
  285. package/src/kisscomps/components/PhaseMarker/svg/patternSvg.vue +121 -121
  286. package/src/kisscomps/components/PhaseMarker/svg/phase.vue +60 -60
  287. package/src/kisscomps/components/PhaseMarker/svg/phaseCount.vue +62 -62
  288. package/src/kisscomps/components/PhaseMarker/svg/phaseCountCycle.vue +62 -62
  289. package/src/kisscomps/components/PhaseMarker/svg/phaseSvg.vue +117 -117
  290. package/src/kisscomps/components/PhasePedSelect/index.vue +206 -206
  291. package/src/kisscomps/components/SchemeConfig/azimuthlocking/index.vue +365 -365
  292. package/src/kisscomps/components/SchemeConfig/azimuthlocking/utils.js +92 -92
  293. package/src/kisscomps/components/SchemeConfig/closePhaselControlModal/index.vue +214 -214
  294. package/src/kisscomps/components/SchemeConfig/lockingPhaselControlModal/index.vue +235 -235
  295. package/src/kisscomps/components/SchemeConfig/manualControlModal/index.vue +235 -235
  296. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/controlModelGroup.vue +131 -131
  297. package/src/kisscomps/components/SchemeConfig/manualControlModalNew/othersIcon.vue +151 -151
  298. package/src/kisscomps/components/SchemeConfig/priorityControl/index.vue +215 -215
  299. package/src/kisscomps/components/SchemeConfig/priorityControl/utils.js +163 -163
  300. package/src/kisscomps/components/SchemeConfig/realtimeStatusModal/index.vue +308 -308
  301. package/src/kisscomps/components/SchemeConfig/utils/thirdPartypermission.js +95 -95
  302. package/src/kisscomps/components/StageOptimize/StageOptimize.vue +367 -367
  303. package/src/kisscomps/components/StageOptimize/index.js +2 -2
  304. package/src/kisscomps/components/StageStatus/StageStatus.vue +341 -341
  305. package/src/kisscomps/components/SvgIcon/SvgIcon.vue +53 -53
  306. package/src/kisscomps/components/XiaoKanban/DirSelector.vue +356 -356
  307. package/src/kisscomps/components/XiaoKanban/index.vue +122 -122
  308. package/src/kisscomps/components/patternConfig/pattern/planChart/model/coordinationModel.js +665 -665
  309. package/src/kisscomps/components/patternConfig/planContent.vue +604 -604
  310. package/src/kisscomps/components/patternConfig/planMenu.vue +329 -329
  311. package/src/lib/publicjs/ArryListUtil.js +38 -38
  312. package/src/lib/publicjs/HttpurlMgr.js +45 -45
  313. package/src/lib/publicjs/KissApi.js +158 -158
  314. package/src/lib/publicjs/KissWSSub/Heartcheck.js +128 -128
  315. package/src/lib/publicjs/KissWSSub/KissWsSub.js +91 -91
  316. package/src/lib/publicjs/KissWSSub/KissWsSubByType.js +152 -152
  317. package/src/lib/publicjs/KissWSSub/SimuWsSubByType.js +44 -44
  318. package/src/lib/publicjs/KissWSSub/Sub.js +51 -51
  319. package/src/lib/publicjs/KissWSSub/SubChannel.js +119 -119
  320. package/src/lib/publicjs/basecomponents.js +65 -65
  321. package/src/lib/publicjs/localStorage.js +112 -112
  322. package/src/lib/publicjs/objdeepcopy.js +32 -32
  323. package/src/lib/publicjs/pageScroll.js +30 -30
  324. package/src/lib/publicjs/passwdAssest.js +101 -101
  325. package/src/lib/publicjs/styleclassfactory.js +32 -32
  326. package/src/store/index.js +26 -26
  327. package/src/store/modules/globalParam.js +67 -67
  328. package/src/utils/RingDataModel.js +335 -335
  329. package/src/utils/conflictList.js +87 -87
  330. package/src/utils/dateFormat.js +41 -41
  331. package/src/utils/index.js +69 -69
  332. package/src/utils/phaseList.js +203 -203
  333. package/src/utils/validate.js +43 -43
  334. package/src/views/home.1.vue +479 -479
  335. package/src/views/home.vue +93 -93
  336. package/src/views/intersection2.vue +328 -328
  337. package/src/views/overView.vue +63 -63
  338. package/static/styles/channelizatioon.scss +433 -433
  339. package/static/styles/common.scss +30 -30
  340. package/static/styles/commonkanban.scss +168 -168
  341. package/static/styles/dark/index.scss +2 -2
  342. package/static/styles/dark/theme/element-dark.scss +44 -44
  343. package/static/styles/index.scss +84 -84
  344. package/static/styles/intersection.scss +180 -180
  345. package/static/styles/light/index.scss +2 -2
  346. package/static/styles/light/theme/element-light.scss +44 -44
  347. package/static/styles/patternConfig.scss +56 -56
  348. package/static/styles/phasePedSelect.scss +71 -71
  349. package/static/styles/stages.scss +57 -57
  350. package/static/styles/xiaokanban.scss +61 -61
  351. package/static/token.json +2 -2
  352. package/test/e2e/custom-assertions/elementCount.js +27 -27
  353. package/test/e2e/nightwatch.conf.js +46 -46
  354. package/test/e2e/runner.js +48 -48
  355. package/test/e2e/specs/test.js +19 -19
  356. package/test/unit/.eslintrc +7 -7
  357. package/test/unit/jest.conf.js +30 -30
  358. package/test/unit/setup.js +3 -3
  359. package/test/unit/specs/HelloWorld.spec.js +11 -11
  360. package/package/kissui.js +0 -216608
  361. package/pnpm-lock.yaml +0 -16362
@@ -1,128 +1,128 @@
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
- /**
13
- * `WebsocketHeartbeatJs` constructor.
14
- *
15
- * @param {Object} opts
16
- * {
17
- * url websocket链接地址
18
- * pingTimeout 未收到消息多少秒之后发送ping请求,默认15000毫秒
19
- pongTimeout 发送ping之后,未收到消息超时时间,默认10000毫秒
20
- reconnectTimeout
21
- pingMsg
22
- * }
23
- * @api public
24
- */
25
-
26
- function WebsocketHeartbeatJs ({
27
- url,
28
- pingTimeout = 15000,
29
- pongTimeout = 10000,
30
- reconnectTimeout = 2000,
31
- pingMsg = 'heartbeat'
32
- }) {
33
- this.opts = {
34
- url: url,
35
- pingTimeout: pingTimeout,
36
- pongTimeout: pongTimeout,
37
- reconnectTimeout: reconnectTimeout,
38
- pingMsg: pingMsg
39
- }
40
- this.ws = null // websocket实例
41
-
42
- // override hook function
43
- this.onclose = () => {}
44
- this.onerror = () => {}
45
- this.onopen = () => {}
46
- this.onmessage = () => {}
47
- this.onreconnect = () => {}
48
-
49
- this.createWebSocket()
50
- }
51
- WebsocketHeartbeatJs.prototype.createWebSocket = function () {
52
- try {
53
- this.ws = new WebSocket(this.opts.url)
54
- this.initEventHandle()
55
- } catch (e) {
56
- this.reconnect()
57
- throw e
58
- }
59
- }
60
-
61
- WebsocketHeartbeatJs.prototype.initEventHandle = function () {
62
- this.ws.onclose = () => {
63
- this.onclose()
64
- this.reconnect()
65
- }
66
- this.ws.onerror = () => {
67
- this.onerror()
68
- this.reconnect()
69
- }
70
- this.ws.onopen = () => {
71
- this.onopen()
72
- // 心跳检测重置
73
- this.heartCheck()
74
- }
75
- this.ws.onmessage = (event) => {
76
- this.onmessage(event)
77
- // 如果获取到消息,心跳检测重置
78
- // 拿到任何消息都说明当前连接是正常的
79
- this.heartCheck()
80
- }
81
- }
82
-
83
- WebsocketHeartbeatJs.prototype.reconnect = function () {
84
- if (this.lockReconnect || this.forbidReconnect) return
85
- this.lockReconnect = true
86
- this.onreconnect()
87
- // 没连接上会一直重连,设置延迟避免请求过多
88
- setTimeout(() => {
89
- this.createWebSocket()
90
- this.lockReconnect = false
91
- }, this.opts.reconnectTimeout)
92
- }
93
-
94
- WebsocketHeartbeatJs.prototype.send = function (msg) {
95
- this.ws.send(msg)
96
- }
97
- // 心跳检测
98
- WebsocketHeartbeatJs.prototype.heartCheck = function () {
99
- this.heartReset()
100
- this.heartStart()
101
- }
102
- WebsocketHeartbeatJs.prototype.heartStart = function () {
103
- if (this.forbidReconnect) return // 不再重连就不再执行心跳
104
- this.pingTimeoutId = setTimeout(() => {
105
- // 这里发送一个心跳,后端收到后,返回一个心跳消息,
106
- // onmessage拿到返回的心跳就说明连接正常
107
- this.ws.send(this.opts.pingMsg)
108
- // 如果超过一定时间还没重置,说明后端主动断开了
109
- this.pongTimeoutId = setTimeout(() => {
110
- // 如果onclose会执行reconnect,我们执行ws.close()就行了.如果直接执行reconnect 会触发onclose导致重连两次
111
- this.ws.close()
112
- }, this.opts.pongTimeout)
113
- }, this.opts.pingTimeout)
114
- }
115
- WebsocketHeartbeatJs.prototype.heartReset = function () {
116
- clearTimeout(this.pingTimeoutId)
117
- clearTimeout(this.pongTimeoutId)
118
- }
119
-
120
- WebsocketHeartbeatJs.prototype.close = function () {
121
- // 如果手动关闭连接,不再重连
122
- this.forbidReconnect = true
123
- this.heartReset()
124
- this.ws.close()
125
- }
126
-
127
- if (window) window.WebsocketHeartbeatJs = WebsocketHeartbeatJs
128
- export default WebsocketHeartbeatJs
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
+ /**
13
+ * `WebsocketHeartbeatJs` constructor.
14
+ *
15
+ * @param {Object} opts
16
+ * {
17
+ * url websocket链接地址
18
+ * pingTimeout 未收到消息多少秒之后发送ping请求,默认15000毫秒
19
+ pongTimeout 发送ping之后,未收到消息超时时间,默认10000毫秒
20
+ reconnectTimeout
21
+ pingMsg
22
+ * }
23
+ * @api public
24
+ */
25
+
26
+ function WebsocketHeartbeatJs ({
27
+ url,
28
+ pingTimeout = 15000,
29
+ pongTimeout = 10000,
30
+ reconnectTimeout = 2000,
31
+ pingMsg = 'heartbeat'
32
+ }) {
33
+ this.opts = {
34
+ url: url,
35
+ pingTimeout: pingTimeout,
36
+ pongTimeout: pongTimeout,
37
+ reconnectTimeout: reconnectTimeout,
38
+ pingMsg: pingMsg
39
+ }
40
+ this.ws = null // websocket实例
41
+
42
+ // override hook function
43
+ this.onclose = () => {}
44
+ this.onerror = () => {}
45
+ this.onopen = () => {}
46
+ this.onmessage = () => {}
47
+ this.onreconnect = () => {}
48
+
49
+ this.createWebSocket()
50
+ }
51
+ WebsocketHeartbeatJs.prototype.createWebSocket = function () {
52
+ try {
53
+ this.ws = new WebSocket(this.opts.url)
54
+ this.initEventHandle()
55
+ } catch (e) {
56
+ this.reconnect()
57
+ throw e
58
+ }
59
+ }
60
+
61
+ WebsocketHeartbeatJs.prototype.initEventHandle = function () {
62
+ this.ws.onclose = () => {
63
+ this.onclose()
64
+ this.reconnect()
65
+ }
66
+ this.ws.onerror = () => {
67
+ this.onerror()
68
+ this.reconnect()
69
+ }
70
+ this.ws.onopen = () => {
71
+ this.onopen()
72
+ // 心跳检测重置
73
+ this.heartCheck()
74
+ }
75
+ this.ws.onmessage = (event) => {
76
+ this.onmessage(event)
77
+ // 如果获取到消息,心跳检测重置
78
+ // 拿到任何消息都说明当前连接是正常的
79
+ this.heartCheck()
80
+ }
81
+ }
82
+
83
+ WebsocketHeartbeatJs.prototype.reconnect = function () {
84
+ if (this.lockReconnect || this.forbidReconnect) return
85
+ this.lockReconnect = true
86
+ this.onreconnect()
87
+ // 没连接上会一直重连,设置延迟避免请求过多
88
+ setTimeout(() => {
89
+ this.createWebSocket()
90
+ this.lockReconnect = false
91
+ }, this.opts.reconnectTimeout)
92
+ }
93
+
94
+ WebsocketHeartbeatJs.prototype.send = function (msg) {
95
+ this.ws.send(msg)
96
+ }
97
+ // 心跳检测
98
+ WebsocketHeartbeatJs.prototype.heartCheck = function () {
99
+ this.heartReset()
100
+ this.heartStart()
101
+ }
102
+ WebsocketHeartbeatJs.prototype.heartStart = function () {
103
+ if (this.forbidReconnect) return // 不再重连就不再执行心跳
104
+ this.pingTimeoutId = setTimeout(() => {
105
+ // 这里发送一个心跳,后端收到后,返回一个心跳消息,
106
+ // onmessage拿到返回的心跳就说明连接正常
107
+ this.ws.send(this.opts.pingMsg)
108
+ // 如果超过一定时间还没重置,说明后端主动断开了
109
+ this.pongTimeoutId = setTimeout(() => {
110
+ // 如果onclose会执行reconnect,我们执行ws.close()就行了.如果直接执行reconnect 会触发onclose导致重连两次
111
+ this.ws.close()
112
+ }, this.opts.pongTimeout)
113
+ }, this.opts.pingTimeout)
114
+ }
115
+ WebsocketHeartbeatJs.prototype.heartReset = function () {
116
+ clearTimeout(this.pingTimeoutId)
117
+ clearTimeout(this.pongTimeoutId)
118
+ }
119
+
120
+ WebsocketHeartbeatJs.prototype.close = function () {
121
+ // 如果手动关闭连接,不再重连
122
+ this.forbidReconnect = true
123
+ this.heartReset()
124
+ this.ws.close()
125
+ }
126
+
127
+ if (window) window.WebsocketHeartbeatJs = WebsocketHeartbeatJs
128
+ export default WebsocketHeartbeatJs
@@ -1,91 +1,91 @@
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
- /**
13
- * @Description: 该类实现了websocket订阅服务
14
- * @Author: chengcheng
15
- * @Date: Create in 10:02 2018/12/21
16
- * @Modified By:
17
- */
18
- import WebSocketAsPromised from 'websocket-as-promised'
19
- import Sub from './Sub'
20
- export default class KissWsSub {
21
- /**
22
- * 构造函数
23
- * @param {in} wsurl websocket 连接url ws:127.0.0.1:8888
24
- * @param {in} name 标识模块
25
- */
26
- constructor (wsurl, name) {
27
- this._url = wsurl
28
- this._name = name
29
- this._ws = null
30
- this._sub_map = new Map()
31
- }
32
- /**
33
- * 启动订阅服务
34
- */
35
- async start () {
36
- if (this._ws !== null && this._ws.isOpened) return
37
- this._ws = new WebSocketAsPromised(this.url, {
38
- packMessage: data => JSON.stringify(data),
39
- unpackMessage: message => JSON.parse(message)
40
- })
41
- await this._ws.open()
42
- this._ws.onUnpackedMessage.addListener(this.dispatchMessage)
43
- }
44
- /**
45
- * 停止订阅服务
46
- */
47
- async stop () {
48
- if (this._ws.isOpening) {
49
- await this._ws.close()
50
- } else {
51
- console.log('The websocket not run!')
52
- }
53
- }
54
- /**
55
- * 分发消息
56
- * @param {in} message
57
- */
58
- dispatchMessage (message) {
59
- for (let sub of this._sub_map.values()) {
60
- sub.emitHandleSignal(message)
61
- }
62
- }
63
- /**
64
- * 创建一个订阅 指定订阅类型
65
- * @param {in} type 订阅类型标识 唯一 不能重复
66
- */
67
- createSub (type) {
68
- if (this._sub_map.has(type)) {
69
- return this._sub_map[type]
70
- }
71
- let sub = new Sub(type)
72
- this._sub_map.set(type, sub)
73
- return sub
74
- }
75
- /**
76
- * 获取已经存在的订阅根据订阅类型
77
- * @param {*} type 订阅类型
78
- * @return subObject or null
79
- */
80
- getSubByType (type) {
81
- if (this._sub_map.has(type)) {
82
- return this._sub_map.get(type)
83
- }
84
- return null
85
- }
86
- stopSubByType (type) {
87
- if (this._sub_map.has(type)) {
88
- return this._sub_map.get(type).stop()
89
- }
90
- }
91
- }
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
+ /**
13
+ * @Description: 该类实现了websocket订阅服务
14
+ * @Author: chengcheng
15
+ * @Date: Create in 10:02 2018/12/21
16
+ * @Modified By:
17
+ */
18
+ import WebSocketAsPromised from 'websocket-as-promised'
19
+ import Sub from './Sub'
20
+ export default class KissWsSub {
21
+ /**
22
+ * 构造函数
23
+ * @param {in} wsurl websocket 连接url ws:127.0.0.1:8888
24
+ * @param {in} name 标识模块
25
+ */
26
+ constructor (wsurl, name) {
27
+ this._url = wsurl
28
+ this._name = name
29
+ this._ws = null
30
+ this._sub_map = new Map()
31
+ }
32
+ /**
33
+ * 启动订阅服务
34
+ */
35
+ async start () {
36
+ if (this._ws !== null && this._ws.isOpened) return
37
+ this._ws = new WebSocketAsPromised(this.url, {
38
+ packMessage: data => JSON.stringify(data),
39
+ unpackMessage: message => JSON.parse(message)
40
+ })
41
+ await this._ws.open()
42
+ this._ws.onUnpackedMessage.addListener(this.dispatchMessage)
43
+ }
44
+ /**
45
+ * 停止订阅服务
46
+ */
47
+ async stop () {
48
+ if (this._ws.isOpening) {
49
+ await this._ws.close()
50
+ } else {
51
+ console.log('The websocket not run!')
52
+ }
53
+ }
54
+ /**
55
+ * 分发消息
56
+ * @param {in} message
57
+ */
58
+ dispatchMessage (message) {
59
+ for (let sub of this._sub_map.values()) {
60
+ sub.emitHandleSignal(message)
61
+ }
62
+ }
63
+ /**
64
+ * 创建一个订阅 指定订阅类型
65
+ * @param {in} type 订阅类型标识 唯一 不能重复
66
+ */
67
+ createSub (type) {
68
+ if (this._sub_map.has(type)) {
69
+ return this._sub_map[type]
70
+ }
71
+ let sub = new Sub(type)
72
+ this._sub_map.set(type, sub)
73
+ return sub
74
+ }
75
+ /**
76
+ * 获取已经存在的订阅根据订阅类型
77
+ * @param {*} type 订阅类型
78
+ * @return subObject or null
79
+ */
80
+ getSubByType (type) {
81
+ if (this._sub_map.has(type)) {
82
+ return this._sub_map.get(type)
83
+ }
84
+ return null
85
+ }
86
+ stopSubByType (type) {
87
+ if (this._sub_map.has(type)) {
88
+ return this._sub_map.get(type).stop()
89
+ }
90
+ }
91
+ }