openatc-components 0.0.1

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 (341) hide show
  1. package/.babelrc +18 -0
  2. package/.editorconfig +9 -0
  3. package/.eslintignore +5 -0
  4. package/.eslintrc.js +29 -0
  5. package/.postcssrc.js +10 -0
  6. package/README.md +30 -0
  7. package/build/build.js +41 -0
  8. package/build/check-versions.js +54 -0
  9. package/build/logo.png +0 -0
  10. package/build/package.config.js +58 -0
  11. package/build/package.dev.config.js +25 -0
  12. package/build/package.prod.config.js +60 -0
  13. package/build/utils.js +101 -0
  14. package/build/vue-loader.conf.js +22 -0
  15. package/build/webpack.base.conf.js +109 -0
  16. package/build/webpack.dev.conf.js +95 -0
  17. package/build/webpack.prod.conf.js +149 -0
  18. package/config/dev.env.js +7 -0
  19. package/config/index.js +76 -0
  20. package/config/prod.env.js +4 -0
  21. package/config/test.env.js +7 -0
  22. package/index.html +12 -0
  23. package/package/kisscomps/components/CircleMenu/KissCircleMenu.vue +398 -0
  24. package/package/kisscomps/components/CircleMenu/index.js +2 -0
  25. package/package/kisscomps/components/DashBoard/MakeGradientColor.js +84 -0
  26. package/package/kisscomps/components/DashBoard/dashboard.js +471 -0
  27. package/package/kisscomps/components/DashBoard/dashboard.vue +57 -0
  28. package/package/kisscomps/components/DashBoard/index.js +2 -0
  29. package/package/kisscomps/components/Horizontal/KissHorizontal.vue +146 -0
  30. package/package/kisscomps/components/Horizontal/index.js +2 -0
  31. package/package/kisscomps/components/HorizontalChildren/KissHorizontalChildren.vue +196 -0
  32. package/package/kisscomps/components/HorizontalChildren/index.js +2 -0
  33. package/package/kisscomps/components/KissCircleMenu/CircleMenu.vue +113 -0
  34. package/package/kisscomps/components/KissCircleMenu/index.js +2 -0
  35. package/package/kisscomps/components/KissCircleMenu/style/index.less +2 -0
  36. package/package/kisscomps/components/KissCircleMenu/style/main/core.less +162 -0
  37. package/package/kisscomps/components/KissCircleMenu/style/main/other.less +94 -0
  38. package/package/kisscomps/components/KissCircleMenu/style/mixin/mixin.less +36 -0
  39. package/package/kisscomps/components/KissCircleMenu/style/var/var.less +21 -0
  40. package/package/kisscomps/components/KissCircleMenu/utils/colorRE.js +5 -0
  41. package/package/kisscomps/components/KissMessageBox/KissMessageBox.vue +108 -0
  42. package/package/kisscomps/components/KissMessageBox/index.js +2 -0
  43. package/package/kisscomps/components/KissSearchInput/index.js +2 -0
  44. package/package/kisscomps/components/KissSearchInput/kisssearchinput.vue +77 -0
  45. package/package/kisscomps/components/KissSimulationProgress/KissSimulationProgress.vue +294 -0
  46. package/package/kisscomps/components/KissSimulationProgress/index.js +2 -0
  47. package/package/kisscomps/components/StatusBar/StatusBar.vue +222 -0
  48. package/package/kisscomps/components/StatusBar/index.js +2 -0
  49. package/package/kisscomps/components/TragResize/index.js +2 -0
  50. package/package/kisscomps/components/TragResize/kissdragresize.vue +536 -0
  51. package/package/kisscomps/components/TragResize/util/dom.js +23 -0
  52. package/package/kisscomps/components/TragResize/util/fns.js +3 -0
  53. package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.1.vue +320 -0
  54. package/package/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +345 -0
  55. package/package/kisscomps/components/XRDDirSelector/index.js +2 -0
  56. package/package/kisscomps/components/button/index.js +2 -0
  57. package/package/kisscomps/components/button/kissbtn.scss +0 -0
  58. package/package/kisscomps/components/button/kissbutton.vue +168 -0
  59. package/package/kisscomps/components/compass3D/compass.vue +180 -0
  60. package/package/kisscomps/components/compass3D/index.js +2 -0
  61. package/package/kisscomps/components/header/index.js +2 -0
  62. package/package/kisscomps/components/header/kissHead.vue +83 -0
  63. package/package/kisscomps/components/horizontalMenu/index.js +2 -0
  64. package/package/kisscomps/components/horizontalMenu/kissHorizontalMenu.vue +254 -0
  65. package/package/kisscomps/components/image/KissHead/headbg.png +0 -0
  66. package/package/kisscomps/components/image/KissInput/input.png +0 -0
  67. package/package/kisscomps/components/image/KissNavMenu/alart.png +0 -0
  68. package/package/kisscomps/components/image/KissNavMenu/alartselect.png +0 -0
  69. package/package/kisscomps/components/image/KissNavMenu/count.png +0 -0
  70. package/package/kisscomps/components/image/KissNavMenu/countselect.png +0 -0
  71. package/package/kisscomps/components/image/KissNavMenu/cross.png +0 -0
  72. package/package/kisscomps/components/image/KissNavMenu/crossselect.png +0 -0
  73. package/package/kisscomps/components/image/KissNavMenu/help.png +0 -0
  74. package/package/kisscomps/components/image/KissNavMenu/helpselect.png +0 -0
  75. package/package/kisscomps/components/image/KissNavMenu/home.png +0 -0
  76. package/package/kisscomps/components/image/KissNavMenu/homeselect.png +0 -0
  77. package/package/kisscomps/components/image/KissNavMenu/menubg.png +0 -0
  78. package/package/kisscomps/components/image/KissNavMenu/menubgselect.png +0 -0
  79. package/package/kisscomps/components/image/KissNavMenu/net.png +0 -0
  80. package/package/kisscomps/components/image/KissNavMenu/netselect.png +0 -0
  81. package/package/kisscomps/components/image/KissSearchInput/search.png +0 -0
  82. package/package/kisscomps/components/image/KissSearchInput/searchhover.png +0 -0
  83. package/package/kisscomps/components/image/KissSearchInput/searchinput.png +0 -0
  84. package/package/kisscomps/components/image/KissSelect/search.png +0 -0
  85. package/package/kisscomps/components/image/KissSelect/selectbg.png +0 -0
  86. package/package/kisscomps/components/image/KissSelect/selectdown.png +0 -0
  87. package/package/kisscomps/components/image/KissSelect/selectdownhover.png +0 -0
  88. package/package/kisscomps/components/image/KissSelect/selectup.png +0 -0
  89. package/package/kisscomps/components/image/KissSelect/selectuphover.png +0 -0
  90. package/package/kisscomps/components/image/button/btnCenter.png +0 -0
  91. package/package/kisscomps/components/image/button/btnCenterClick.png +0 -0
  92. package/package/kisscomps/components/image/button/btnCenterDisable.png +0 -0
  93. package/package/kisscomps/components/image/button/btnLeft.png +0 -0
  94. package/package/kisscomps/components/image/button/btnLeftClick.png +0 -0
  95. package/package/kisscomps/components/image/button/btnLeftDisable.png +0 -0
  96. package/package/kisscomps/components/image/button/btnRight.png +0 -0
  97. package/package/kisscomps/components/image/button/btnRightClick.png +0 -0
  98. package/package/kisscomps/components/image/button/btnRightDisable.png +0 -0
  99. package/package/kisscomps/components/image/button/btnSingle.png +0 -0
  100. package/package/kisscomps/components/image/button/btnSingleClick.png +0 -0
  101. package/package/kisscomps/components/image/button/btnSingleDisable.png +0 -0
  102. package/package/kisscomps/components/image/mutipletips/chartshowclose.png +0 -0
  103. package/package/kisscomps/components/image/mutipletips/messageshowclose.png +0 -0
  104. package/package/kisscomps/components/image/mutipletips/min.png +0 -0
  105. package/package/kisscomps/components/image/mutipletips/mutiplebglarge.png +0 -0
  106. package/package/kisscomps/components/image/mutipletips/mutiplebgmid.png +0 -0
  107. package/package/kisscomps/components/image/panel/lefticon.png +0 -0
  108. package/package/kisscomps/components/image/phaseHexagon/phasebg.png +0 -0
  109. package/package/kisscomps/components/image/tipdlg/alarmbg.png +0 -0
  110. package/package/kisscomps/components/image/tipdlg/close.png +0 -0
  111. package/package/kisscomps/components/image/tipdlg/closehover.png +0 -0
  112. package/package/kisscomps/components/image/tipdlg/tipsbg.png +0 -0
  113. package/package/kisscomps/components/image/tipdlg/tipsclose.png +0 -0
  114. package/package/kisscomps/components/image/trafficJudgementMenu/bg.png +0 -0
  115. package/package/kisscomps/components/image/trafficJudgementMenu/bgchoosed.png +0 -0
  116. package/package/kisscomps/components/image/trafficJudgementMenu/flow.png +0 -0
  117. package/package/kisscomps/components/image/trafficJudgementMenu/flowClicked.png +0 -0
  118. package/package/kisscomps/components/image/trafficJudgementMenu/greenusage.png +0 -0
  119. package/package/kisscomps/components/image/trafficJudgementMenu/greenusageClicked.png +0 -0
  120. package/package/kisscomps/components/image/trafficJudgementMenu/intensity.png +0 -0
  121. package/package/kisscomps/components/image/trafficJudgementMenu/intensityClicked.png +0 -0
  122. package/package/kisscomps/components/image/trafficJudgementMenu/occupancy.png +0 -0
  123. package/package/kisscomps/components/image/trafficJudgementMenu/occupancyClicked.png +0 -0
  124. package/package/kisscomps/components/image/trafficJudgementMenu/queue.png +0 -0
  125. package/package/kisscomps/components/image/trafficJudgementMenu/queueClicked.png +0 -0
  126. package/package/kisscomps/components/image/trafficJudgementMenu/speed.png +0 -0
  127. package/package/kisscomps/components/image/trafficJudgementMenu/speedClicked.png +0 -0
  128. package/package/kisscomps/components/image/trafficJudgementMenu/trafficJudgement.png +0 -0
  129. package/package/kisscomps/components/input/index.js +2 -0
  130. package/package/kisscomps/components/input/kissinput.vue +57 -0
  131. package/package/kisscomps/components/menu/index.js +2 -0
  132. package/package/kisscomps/components/menu/kissmenu.vue +324 -0
  133. package/package/kisscomps/components/mutipletips/Tdrag.js +585 -0
  134. package/package/kisscomps/components/mutipletips/index.js +2 -0
  135. package/package/kisscomps/components/mutipletips/kissmutipletips.vue +192 -0
  136. package/package/kisscomps/components/panel/index.js +2 -0
  137. package/package/kisscomps/components/panel/kissPanel.vue +151 -0
  138. package/package/kisscomps/components/select/chosen.jquery.min.js +3 -0
  139. package/package/kisscomps/components/select/index.js +2 -0
  140. package/package/kisscomps/components/select/kissselect.vue +527 -0
  141. package/package/kisscomps/components/tablebutton/index.js +2 -0
  142. package/package/kisscomps/components/tablebutton/tablebutton.vue +97 -0
  143. package/package/kisscomps/components/timectrl/KissTimeCtrl.vue +67 -0
  144. package/package/kisscomps/components/timectrl/index.js +2 -0
  145. package/package/kisscomps/components/timectrl/timectrl.css +851 -0
  146. package/package/kisscomps/components/tip/Tdrag.js +585 -0
  147. package/package/kisscomps/components/tip/index.js +2 -0
  148. package/package/kisscomps/components/tip/kisstips.1.vue +154 -0
  149. package/package/kisscomps/components/tip/kisstips.vue +154 -0
  150. package/package/kisscomps/components/tip/kisstips.vue.bak +211 -0
  151. package/package/kisscomps/index.js +71 -0
  152. package/package/kissui.js +53758 -0
  153. package/package/kissui.min.js +53834 -0
  154. package/package.json +110 -0
  155. package/src/App.vue +25 -0
  156. package/src/assets/logo.png +0 -0
  157. package/src/kisscomps/components/CircleMenu/KissCircleMenu.vue +398 -0
  158. package/src/kisscomps/components/CircleMenu/index.js +2 -0
  159. package/src/kisscomps/components/DashBoard/MakeGradientColor.js +84 -0
  160. package/src/kisscomps/components/DashBoard/dashboard.js +471 -0
  161. package/src/kisscomps/components/DashBoard/dashboard.vue +57 -0
  162. package/src/kisscomps/components/DashBoard/index.js +2 -0
  163. package/src/kisscomps/components/Horizontal/KissHorizontal.vue +146 -0
  164. package/src/kisscomps/components/Horizontal/index.js +2 -0
  165. package/src/kisscomps/components/HorizontalChildren/KissHorizontalChildren.vue +196 -0
  166. package/src/kisscomps/components/HorizontalChildren/index.js +2 -0
  167. package/src/kisscomps/components/KissCircleMenu/CircleMenu.vue +113 -0
  168. package/src/kisscomps/components/KissCircleMenu/index.js +2 -0
  169. package/src/kisscomps/components/KissCircleMenu/style/index.less +2 -0
  170. package/src/kisscomps/components/KissCircleMenu/style/main/core.less +162 -0
  171. package/src/kisscomps/components/KissCircleMenu/style/main/other.less +94 -0
  172. package/src/kisscomps/components/KissCircleMenu/style/mixin/mixin.less +36 -0
  173. package/src/kisscomps/components/KissCircleMenu/style/var/var.less +21 -0
  174. package/src/kisscomps/components/KissCircleMenu/utils/colorRE.js +5 -0
  175. package/src/kisscomps/components/KissMessageBox/KissMessageBox.vue +108 -0
  176. package/src/kisscomps/components/KissMessageBox/index.js +2 -0
  177. package/src/kisscomps/components/KissSearchInput/index.js +2 -0
  178. package/src/kisscomps/components/KissSearchInput/kisssearchinput.vue +77 -0
  179. package/src/kisscomps/components/KissSimulationProgress/KissSimulationProgress.vue +294 -0
  180. package/src/kisscomps/components/KissSimulationProgress/index.js +2 -0
  181. package/src/kisscomps/components/StatusBar/StatusBar.vue +222 -0
  182. package/src/kisscomps/components/StatusBar/index.js +2 -0
  183. package/src/kisscomps/components/TragResize/index.js +2 -0
  184. package/src/kisscomps/components/TragResize/kissdragresize.vue +536 -0
  185. package/src/kisscomps/components/TragResize/util/dom.js +23 -0
  186. package/src/kisscomps/components/TragResize/util/fns.js +3 -0
  187. package/src/kisscomps/components/XRDDirSelector/XRDDirSelector.1.vue +320 -0
  188. package/src/kisscomps/components/XRDDirSelector/XRDDirSelector.vue +345 -0
  189. package/src/kisscomps/components/XRDDirSelector/index.js +2 -0
  190. package/src/kisscomps/components/button/index.js +2 -0
  191. package/src/kisscomps/components/button/kissbtn.scss +0 -0
  192. package/src/kisscomps/components/button/kissbutton.vue +168 -0
  193. package/src/kisscomps/components/compass3D/compass.vue +180 -0
  194. package/src/kisscomps/components/compass3D/index.js +2 -0
  195. package/src/kisscomps/components/header/index.js +2 -0
  196. package/src/kisscomps/components/header/kissHead.vue +83 -0
  197. package/src/kisscomps/components/horizontalMenu/index.js +2 -0
  198. package/src/kisscomps/components/horizontalMenu/kissHorizontalMenu.vue +254 -0
  199. package/src/kisscomps/components/image/KissHead/headbg.png +0 -0
  200. package/src/kisscomps/components/image/KissInput/input.png +0 -0
  201. package/src/kisscomps/components/image/KissNavMenu/alart.png +0 -0
  202. package/src/kisscomps/components/image/KissNavMenu/alartselect.png +0 -0
  203. package/src/kisscomps/components/image/KissNavMenu/count.png +0 -0
  204. package/src/kisscomps/components/image/KissNavMenu/countselect.png +0 -0
  205. package/src/kisscomps/components/image/KissNavMenu/cross.png +0 -0
  206. package/src/kisscomps/components/image/KissNavMenu/crossselect.png +0 -0
  207. package/src/kisscomps/components/image/KissNavMenu/help.png +0 -0
  208. package/src/kisscomps/components/image/KissNavMenu/helpselect.png +0 -0
  209. package/src/kisscomps/components/image/KissNavMenu/home.png +0 -0
  210. package/src/kisscomps/components/image/KissNavMenu/homeselect.png +0 -0
  211. package/src/kisscomps/components/image/KissNavMenu/menubg.png +0 -0
  212. package/src/kisscomps/components/image/KissNavMenu/menubgselect.png +0 -0
  213. package/src/kisscomps/components/image/KissNavMenu/net.png +0 -0
  214. package/src/kisscomps/components/image/KissNavMenu/netselect.png +0 -0
  215. package/src/kisscomps/components/image/KissSearchInput/search.png +0 -0
  216. package/src/kisscomps/components/image/KissSearchInput/searchhover.png +0 -0
  217. package/src/kisscomps/components/image/KissSearchInput/searchinput.png +0 -0
  218. package/src/kisscomps/components/image/KissSelect/search.png +0 -0
  219. package/src/kisscomps/components/image/KissSelect/selectbg.png +0 -0
  220. package/src/kisscomps/components/image/KissSelect/selectdown.png +0 -0
  221. package/src/kisscomps/components/image/KissSelect/selectdownhover.png +0 -0
  222. package/src/kisscomps/components/image/KissSelect/selectup.png +0 -0
  223. package/src/kisscomps/components/image/KissSelect/selectuphover.png +0 -0
  224. package/src/kisscomps/components/image/button/btnCenter.png +0 -0
  225. package/src/kisscomps/components/image/button/btnCenterClick.png +0 -0
  226. package/src/kisscomps/components/image/button/btnCenterDisable.png +0 -0
  227. package/src/kisscomps/components/image/button/btnLeft.png +0 -0
  228. package/src/kisscomps/components/image/button/btnLeftClick.png +0 -0
  229. package/src/kisscomps/components/image/button/btnLeftDisable.png +0 -0
  230. package/src/kisscomps/components/image/button/btnRight.png +0 -0
  231. package/src/kisscomps/components/image/button/btnRightClick.png +0 -0
  232. package/src/kisscomps/components/image/button/btnRightDisable.png +0 -0
  233. package/src/kisscomps/components/image/button/btnSingle.png +0 -0
  234. package/src/kisscomps/components/image/button/btnSingleClick.png +0 -0
  235. package/src/kisscomps/components/image/button/btnSingleDisable.png +0 -0
  236. package/src/kisscomps/components/image/mutipletips/chartshowclose.png +0 -0
  237. package/src/kisscomps/components/image/mutipletips/messageshowclose.png +0 -0
  238. package/src/kisscomps/components/image/mutipletips/min.png +0 -0
  239. package/src/kisscomps/components/image/mutipletips/mutiplebglarge.png +0 -0
  240. package/src/kisscomps/components/image/mutipletips/mutiplebgmid.png +0 -0
  241. package/src/kisscomps/components/image/panel/lefticon.png +0 -0
  242. package/src/kisscomps/components/image/phaseHexagon/phasebg.png +0 -0
  243. package/src/kisscomps/components/image/tipdlg/alarmbg.png +0 -0
  244. package/src/kisscomps/components/image/tipdlg/close.png +0 -0
  245. package/src/kisscomps/components/image/tipdlg/closehover.png +0 -0
  246. package/src/kisscomps/components/image/tipdlg/tipsbg.png +0 -0
  247. package/src/kisscomps/components/image/tipdlg/tipsclose.png +0 -0
  248. package/src/kisscomps/components/image/trafficJudgementMenu/bg.png +0 -0
  249. package/src/kisscomps/components/image/trafficJudgementMenu/bgchoosed.png +0 -0
  250. package/src/kisscomps/components/image/trafficJudgementMenu/flow.png +0 -0
  251. package/src/kisscomps/components/image/trafficJudgementMenu/flowClicked.png +0 -0
  252. package/src/kisscomps/components/image/trafficJudgementMenu/greenusage.png +0 -0
  253. package/src/kisscomps/components/image/trafficJudgementMenu/greenusageClicked.png +0 -0
  254. package/src/kisscomps/components/image/trafficJudgementMenu/intensity.png +0 -0
  255. package/src/kisscomps/components/image/trafficJudgementMenu/intensityClicked.png +0 -0
  256. package/src/kisscomps/components/image/trafficJudgementMenu/occupancy.png +0 -0
  257. package/src/kisscomps/components/image/trafficJudgementMenu/occupancyClicked.png +0 -0
  258. package/src/kisscomps/components/image/trafficJudgementMenu/queue.png +0 -0
  259. package/src/kisscomps/components/image/trafficJudgementMenu/queueClicked.png +0 -0
  260. package/src/kisscomps/components/image/trafficJudgementMenu/speed.png +0 -0
  261. package/src/kisscomps/components/image/trafficJudgementMenu/speedClicked.png +0 -0
  262. package/src/kisscomps/components/image/trafficJudgementMenu/trafficJudgement.png +0 -0
  263. package/src/kisscomps/components/input/index.js +2 -0
  264. package/src/kisscomps/components/input/kissinput.vue +57 -0
  265. package/src/kisscomps/components/menu/index.js +2 -0
  266. package/src/kisscomps/components/menu/kissmenu.vue +324 -0
  267. package/src/kisscomps/components/mutipletips/Tdrag.js +585 -0
  268. package/src/kisscomps/components/mutipletips/index.js +2 -0
  269. package/src/kisscomps/components/mutipletips/kissmutipletips.vue +192 -0
  270. package/src/kisscomps/components/panel/index.js +2 -0
  271. package/src/kisscomps/components/panel/kissPanel.vue +151 -0
  272. package/src/kisscomps/components/select/chosen.jquery.min.js +3 -0
  273. package/src/kisscomps/components/select/index.js +2 -0
  274. package/src/kisscomps/components/select/kissselect.vue +527 -0
  275. package/src/kisscomps/components/tablebutton/index.js +2 -0
  276. package/src/kisscomps/components/tablebutton/tablebutton.vue +97 -0
  277. package/src/kisscomps/components/timectrl/KissTimeCtrl.vue +67 -0
  278. package/src/kisscomps/components/timectrl/index.js +2 -0
  279. package/src/kisscomps/components/timectrl/timectrl.css +851 -0
  280. package/src/kisscomps/components/tip/Tdrag.js +585 -0
  281. package/src/kisscomps/components/tip/index.js +2 -0
  282. package/src/kisscomps/components/tip/kisstips.1.vue +154 -0
  283. package/src/kisscomps/components/tip/kisstips.vue +154 -0
  284. package/src/kisscomps/components/tip/kisstips.vue.bak +211 -0
  285. package/src/kisscomps/index.js +71 -0
  286. package/src/main.js +23 -0
  287. package/src/router/index.js +15 -0
  288. package/src/views/home.1.vue +479 -0
  289. package/src/views/home.vue +196 -0
  290. package/static/.gitkeep +0 -0
  291. package/static/img/KissNavMenu/alart.png +0 -0
  292. package/static/img/KissNavMenu/alart.svg +2531 -0
  293. package/static/img/KissNavMenu/alartselect.png +0 -0
  294. package/static/img/KissNavMenu/count.png +0 -0
  295. package/static/img/KissNavMenu/count.svg +2532 -0
  296. package/static/img/KissNavMenu/countselect.png +0 -0
  297. package/static/img/KissNavMenu/cross.png +0 -0
  298. package/static/img/KissNavMenu/cross.svg +2528 -0
  299. package/static/img/KissNavMenu/crossselect.png +0 -0
  300. package/static/img/KissNavMenu/help.png +0 -0
  301. package/static/img/KissNavMenu/help.svg +2532 -0
  302. package/static/img/KissNavMenu/helpselect.png +0 -0
  303. package/static/img/KissNavMenu/home.png +0 -0
  304. package/static/img/KissNavMenu/home.svg +2435 -0
  305. package/static/img/KissNavMenu/homeselect.png +0 -0
  306. package/static/img/KissNavMenu/menubg.png +0 -0
  307. package/static/img/KissNavMenu/menubgselect.png +0 -0
  308. package/static/img/KissNavMenu/net.png +0 -0
  309. package/static/img/KissNavMenu/net.svg +2530 -0
  310. package/static/img/KissNavMenu/netselect.png +0 -0
  311. package/static/img/MapPin/alartpin/alart.png +0 -0
  312. package/static/img/MapPin/alartpin/alart0.png +0 -0
  313. package/static/img/MapPin/alartpin/alart1.png +0 -0
  314. package/static/img/MapPin/alartpin/alart2.png +0 -0
  315. package/static/img/MapPin/alartpin/alart3.png +0 -0
  316. package/static/img/MapPin/alartpin/alart4.png +0 -0
  317. package/static/img/MapPin/alartpin/alart5.png +0 -0
  318. package/static/img/MapPin/pin_blue.png +0 -0
  319. package/static/img/trafficJudgementMenu/bg.png +0 -0
  320. package/static/img/trafficJudgementMenu/bgchoosed.png +0 -0
  321. package/static/img/trafficJudgementMenu/flow.png +0 -0
  322. package/static/img/trafficJudgementMenu/flowClicked.png +0 -0
  323. package/static/img/trafficJudgementMenu/greenusage.png +0 -0
  324. package/static/img/trafficJudgementMenu/greenusageClicked.png +0 -0
  325. package/static/img/trafficJudgementMenu/intensity.png +0 -0
  326. package/static/img/trafficJudgementMenu/intensityClicked.png +0 -0
  327. package/static/img/trafficJudgementMenu/occupancy.png +0 -0
  328. package/static/img/trafficJudgementMenu/occupancyClicked.png +0 -0
  329. package/static/img/trafficJudgementMenu/queue.png +0 -0
  330. package/static/img/trafficJudgementMenu/queueClicked.png +0 -0
  331. package/static/img/trafficJudgementMenu/speed.png +0 -0
  332. package/static/img/trafficJudgementMenu/speedClicked.png +0 -0
  333. package/static/img/trafficJudgementMenu/trafficJudgement.png +0 -0
  334. package/test/e2e/custom-assertions/elementCount.js +27 -0
  335. package/test/e2e/nightwatch.conf.js +46 -0
  336. package/test/e2e/runner.js +48 -0
  337. package/test/e2e/specs/test.js +19 -0
  338. package/test/unit/.eslintrc +7 -0
  339. package/test/unit/jest.conf.js +30 -0
  340. package/test/unit/setup.js +3 -0
  341. package/test/unit/specs/HelloWorld.spec.js +11 -0
@@ -0,0 +1,471 @@
1
+ /**
2
+ * @Description: 这个类封装了仪表盘
3
+ * @Author: chengcheng
4
+ * @Date: Create in 10:26 2019/04/03
5
+ * @Modified By:
6
+ */
7
+ import MakeGradientColot from './MakeGradientColor'
8
+ const PIDEG = Math.PI / 180
9
+ export default class DashBoard {
10
+ constructor (id, options) {
11
+ this.m_id = id // id 用来获取dom节点
12
+ this.m_options = options // 设置的选项
13
+ this.m_canvas = null // canvas
14
+ this.m_save_canvas = null // 用来保存状态的canvas 暂时还不理解
15
+ this.m_context = null
16
+ this.m_save_context = null // canvas绘制环境
17
+ this.m_percent = 0
18
+ this.m_target_percent = 0
19
+ this.m_tickmask_offset = 0
20
+ this.m_halfCanvasWidth = 0
21
+ this.m_halfCanvasHeight = 0
22
+ this.m_rotation_deg = 0
23
+
24
+ this.default_option = {
25
+ style: 'bar',
26
+ bar_radius: 200,
27
+ bar_bg_w: 20,
28
+ bar_w: 18,
29
+ bar_bg_color: '#193b43',
30
+ bar_bg_ring_color: '#193b43',
31
+ bar_start_color: '#42daff',
32
+ bar_stop_color: 'yellow',
33
+ title: '交通强度',
34
+ title_font_color: '#FFFFFF',
35
+ title_font_size: 40,
36
+ title_show: true,
37
+ title_font_family: 'HanHei SC, PingFang SC, Helvetica Neue Thin, Helvetica, STHeitiSC-Light, Arial, sans-serif',
38
+ sides_font_color: '#FFFFFF',
39
+ sides_font_size: 30,
40
+ sides_show: true,
41
+ sides_font_family: 'HanHei SC, PingFang SC, Helvetica Neue Thin, Helvetica, STHeitiSC-Light, Arial, sans-serif',
42
+ tick_length: 12,
43
+ large_tick_length: 22,
44
+ tick_thickness: 1,
45
+ tick_group_length: 9,
46
+ ticks_groups_begin: 0,
47
+ total_degrees: 200,
48
+ total_tick: 101,
49
+ tick_color: '#555962',
50
+ tick_on_color: '#527d98',
51
+ on_color_gradient: null,
52
+ bg_color: 'rgba(255, 255, 255, 0)',
53
+ gauge_scale: 1,
54
+ animation_duration: 2000,
55
+ show_num: true,
56
+ show_center_num: true,
57
+ center_font_size: 100,
58
+ center_font_color: '#FFFFFF',
59
+ cur_score_circle_color: '#555962',
60
+ center_offset: {
61
+ x: 0,
62
+ y: -30
63
+ },
64
+ center_num_font_family: 'HanHei SC, PingFang SC, Helvetica Neue Thin, Helvetica, STHeitiSC-Light, Arial, sans-serif',
65
+ num_gap: 1,
66
+ num_begin: 0,
67
+ num_font_size: 18,
68
+ tickmask_offset: 0,
69
+ num_font_family: 'HanHei SC, PingFang SC, Helvetica Neue Thin, Helvetica, STHeitiSC-Light, Arial, sans-serif',
70
+ circle_radius: 5,
71
+ circle_offset: 0,
72
+ center_text_unit: '%',
73
+ center_text_offset: {
74
+ x: 16,
75
+ y: 8 - 30
76
+ }
77
+ } // 默认选项
78
+ this.m_default_option = {}
79
+ Object.assign(this.m_default_option, this.default_option, options)
80
+ // 初始化绘制环境
81
+ this.InitCanvas()
82
+ }
83
+
84
+ /**
85
+ * 初始化绘图环境
86
+ */
87
+ InitCanvas () {
88
+ this.m_canvas = document.getElementById(this.m_id)
89
+ this.m_save_canvas = document.createElement('canvas')
90
+
91
+ let canvas = this.m_canvas
92
+
93
+ this.m_save_canvas.width = canvas.width
94
+ this.m_save_canvas.height = canvas.height
95
+ this.delatLength = this.m_default_option.large_tick_length - this.m_default_option.tick_length
96
+
97
+ this.m_save_context = this.m_save_canvas.getContext('2d')
98
+ this.m_context = canvas.getContext('2d')
99
+ // this.m_save_context.scale(4, 4)
100
+ this.m_percent = this.m_default_option.percent || 0
101
+ this.m_target_percent = this.m_percent
102
+ this.m_tickmask_offset = this.getTickMarkOffset()
103
+ this.m_halfCanvasHeight = this.m_save_canvas.height / 2
104
+ this.m_halfCanvasWidth = this.m_save_canvas.width / 2
105
+ this.m_rotation_deg = this.getRotationDeg()
106
+ }
107
+
108
+ getTickMarkOffset () {
109
+ return this.m_default_option.tickmask_offset + this.m_default_option.circle_radius * 2 + this.m_default_option.circle_offset
110
+ }
111
+ getRotationDeg () {
112
+ return this.m_default_option.total_degrees / (this.m_default_option.total_tick - 1) * PIDEG
113
+ }
114
+ /**
115
+ * 准备舞台, 绘制背景和中间数值
116
+ */
117
+ prepareStage () {
118
+ let saveCanvas = this.m_save_canvas
119
+ let saveContext = this.m_save_context
120
+ // 清除canvas画布
121
+ saveContext.clearRect(0, 0, saveCanvas.width, saveCanvas.height)
122
+ // 设置背景
123
+ this.applyBg()
124
+ // 设置旋转中心
125
+ saveContext.translate(this.m_halfCanvasWidth,
126
+ this.m_halfCanvasHeight - this.m_default_option.tick_thickness / 2)
127
+ // 设置缩放比例
128
+ saveContext.scale(this.m_default_option.gauge_scale,
129
+ this.m_default_option.gauge_scale)
130
+ // 绘制内容
131
+ this.drawContent()
132
+ }
133
+
134
+ /**
135
+ * 绘制弧度
136
+ * @param {*} r 半径
137
+ * @param {*} start 开始角度
138
+ * @param {*} end 结束角度
139
+ * @param {*} w 弧宽度
140
+ * @param {*} colorStyle 圆环颜色 支持渐变
141
+ */
142
+ drawDonuts (r, start, end, w, colorStyle) {
143
+ let saveContext = this.m_save_context
144
+ saveContext.lineWidth = w
145
+ saveContext.lineCap = 'round'
146
+ saveContext.beginPath()
147
+ saveContext.arc(0, 0, r, start, end, false)
148
+ saveContext.strokeStyle = colorStyle// '#DC143C'
149
+ saveContext.stroke()
150
+ saveContext.closePath()
151
+ }
152
+
153
+ // 绘制中间数字
154
+ drawContent () {
155
+ let saveCanvas = this.m_save_canvas
156
+ let saveContext = this.m_save_context
157
+
158
+ if (this.m_default_option.show_center_num) {
159
+ let fillColor = this.m_default_option.center_font_color
160
+ ? this.m_default_option.center_font_color.split('-') : [this.m_default_option.tick_on_color]
161
+ let centerText = Math.floor(
162
+ this.m_percent * ((this.m_default_option.total_tick - 1) *
163
+ this.m_default_option.num_gap +
164
+ this.m_default_option.num_begin) / 100)
165
+
166
+ var gaugeWidth = saveCanvas.width / 2 -
167
+ this.m_default_option.circle_radius * 2 -
168
+ this.m_default_option.circle_offset - this.m_default_option.large_tick_length - this.m_default_option.tickmask_offset
169
+
170
+ saveContext.save()
171
+ if (fillColor.length === 2) {
172
+ var gradient = saveContext.createLinearGradient(-gaugeWidth, 0, gaugeWidth, 0)
173
+ gradient.addColorStop('0', fillColor[0])
174
+ gradient.addColorStop('0.7', fillColor[1])
175
+ gradient.addColorStop('1', fillColor[1])
176
+ saveContext.fillStyle = gradient
177
+ } else {
178
+ saveContext.fillStyle = fillColor[0]
179
+ }
180
+ saveContext.font = this.m_default_option.center_font_size + 'px ' + this.m_default_option.center_num_font_family
181
+ saveContext.textAlign = 'center'
182
+ saveContext.textBaseline = 'middle'
183
+ var centerTextWidth = Math.floor(saveContext.measureText(centerText).width)
184
+ saveContext.fillText(centerText, this.m_default_option.center_offset.x, this.m_default_option.center_offset.y)
185
+ saveContext.font = '30px ' + this.m_default_option.num_font_family
186
+ saveContext.textAlign = 'center'
187
+ saveContext.textBaseline = 'middle'
188
+ saveContext.fillText(this.m_default_option.center_text_unit, centerTextWidth / 2 +
189
+ this.m_default_option.center_text_offset.x, this.m_default_option.center_text_offset.y)
190
+ }
191
+ let x, y, titleY
192
+ let totalDegrees = this.m_default_option.total_degrees
193
+ if (totalDegrees < 180) {
194
+ x = this.m_default_option.bar_radius * Math.sin(totalDegrees / 2 * PIDEG)
195
+ y = this.m_default_option.bar_radius * Math.cos(totalDegrees / 2 * PIDEG)
196
+ y = -y
197
+ titleY = 0
198
+ } else if (totalDegrees === 180) {
199
+ x = this.m_default_option.bar_radius
200
+ y = 0
201
+ titleY = 0
202
+ } else {
203
+ x = this.m_default_option.bar_radius * Math.cos((totalDegrees - 180) / 2 * PIDEG)
204
+ y = this.m_default_option.bar_radius * Math.sin((totalDegrees - 180) / 2 * PIDEG)
205
+ titleY = y
206
+ }
207
+ if (this.m_default_option.sides_show) {
208
+ // 绘制最大值和最小值
209
+ saveContext.font = this.m_default_option.sides_font_size + 'px ' + this.m_default_option.sides_font_family
210
+ saveContext.fillStyle = this.m_default_option.sides_font_color
211
+ saveContext.fillText(0, -x, y + 30)
212
+ saveContext.fillText(this.m_default_option.total_tick, x, y + 30)
213
+ }
214
+ if (this.m_default_option.title_show) {
215
+ saveContext.font = this.m_default_option.title_font_size + 'px ' + this.m_default_option.title_font_family
216
+ saveContext.fillStyle = this.m_default_option.title_font_color
217
+ saveContext.fillText(this.m_default_option.title, 0, titleY + 30)
218
+ }
219
+ saveContext.restore()
220
+ }
221
+ /**
222
+ * 绘制刻度帧数, 刻度长度 和 第几个数字
223
+ * @param {*} tickLength
224
+ * @param {*} tickIndex
225
+ */
226
+ drawGaugeNum (tickLength, tickIndex) {
227
+ let saveContext = this.m_save_context
228
+ let text = this.m_default_option.num_begin + this.m_default_option.num_gap * tickIndex - 1
229
+ // saveContext.measureText(text)
230
+ saveContext.save()
231
+ saveContext.translate(-1 * this.m_halfCanvasWidth +
232
+ tickLength + this.m_default_option.circle_radius * 2 +
233
+ this.m_default_option.circle_offset +
234
+ this.m_default_option.num_font_size / 2, -this.m_default_option.tick_thickness / 2)
235
+ saveContext.rotate(-90 * PIDEG)
236
+ saveContext.font = this.m_default_option.num_font_size + 'px ' + this.m_default_option.num_font_family
237
+ saveContext.textAlign = 'center'
238
+ saveContext.textBaseline = 'middle'
239
+ saveContext.fillText(text, 0, this.m_default_option.tickmask_offset)
240
+ saveContext.restore()
241
+ }
242
+ /**
243
+ * 应用背景
244
+ */
245
+ applyBg () {
246
+ let saveCanvas = this.m_save_canvas
247
+ let saveContext = this.m_save_context
248
+ saveContext.save()
249
+ saveContext.fillStyle = this.m_default_option.bg_color // 填充绘画的颜色
250
+ saveContext.fillRect(0, 0, saveCanvas.width, saveCanvas.height) // 绘制“被填充”的矩形
251
+ saveContext.restore() // 返回之前保存过的路径状态和属性
252
+ }
253
+ /**
254
+ * 绘制提示圆点
255
+ * @param {*} beginX
256
+ * @param {*} beginY
257
+ */
258
+ drawScoreTipCircle (beginX, beginY) {
259
+ let saveContext = this.m_save_context
260
+ saveContext.save()
261
+ saveContext.fillStyle = this.m_percent > 0.01
262
+ ? this.m_default_option.cur_score_circle_color : this.m_default_option.tick_color
263
+ saveContext.rotate(this.m_percent * this.m_default_option.total_degrees / 100 * PIDEG)
264
+ saveContext.beginPath()
265
+ /**
266
+ * arc方法用来绘制圆
267
+ * 参数1 圆心的x坐标
268
+ * 参数2 圆心的y坐标
269
+ * 参数3 圆的半径
270
+ * 参数4 起始角 弧度单位
271
+ * 参数5 结束角 弧度
272
+ * 参数6 False = 顺时针 True = 逆时针
273
+ */
274
+ saveContext.arc(-beginX, -beginY, this.m_default_option.circle_radius, 0, Math.PI * 2, true)
275
+ saveContext.closePath()
276
+ saveContext.fill()
277
+ saveContext.restore()
278
+ }
279
+ /**
280
+ * 样式一 bar样式
281
+ */
282
+ drawProgressBar () {
283
+ let dutyCycle = this.m_default_option.total_degrees
284
+ let startAngle = (270 - dutyCycle / 2) * PIDEG
285
+ let endAngle = startAngle + dutyCycle * PIDEG
286
+
287
+ // bar_bg_color: '#193b43',
288
+ let baroffset = 3
289
+ this.drawDonuts(this.m_default_option.bar_radius,
290
+ startAngle, endAngle,
291
+ this.m_default_option.bar_bg_w, this.m_default_option.bar_bg_color)
292
+ this.drawDonuts(this.m_default_option.bar_radius + this.m_default_option.bar_bg_w + baroffset,
293
+ startAngle, endAngle,
294
+ 3, this.m_default_option.bar_bg_ring_color)
295
+
296
+ if (this.m_percent === 0) return
297
+ let curNum = this.m_percent
298
+ if (curNum >= this.m_default_option.total_tick) curNum = this.m_default_option.total_tick
299
+ let curendAngle = startAngle + dutyCycle * curNum / 100 * PIDEG
300
+
301
+ let saveContext = this.m_save_context
302
+ let ring = saveContext.createLinearGradient(-205, 0, 205, 0)
303
+ ring.addColorStop('0', this.m_default_option.bar_start_color)
304
+ ring.addColorStop('1.0', this.m_default_option.bar_stop_color)
305
+ this.drawDonuts(this.m_default_option.bar_radius,
306
+ startAngle, curendAngle, this.m_default_option.bar_w, ring)
307
+ }
308
+
309
+ /**
310
+ * 绘制刻度盘的样式
311
+ */
312
+ drawTickType () {
313
+ let saveContext = this.m_save_context
314
+ let startingDeg = (180 - this.m_default_option.total_degrees) / 2 // 计算开始旋转度数
315
+ saveContext.rotate(startingDeg * PIDEG) // 旋转到初始位置
316
+ // 绘制提示原点
317
+ this.drawScoreTipCircle(this.m_halfCanvasWidth - this.m_default_option.circle_radius,
318
+ this.m_default_option.circle_radius)
319
+
320
+ let numTicks = this.m_default_option.total_tick // 总刻度
321
+ for (let i = 1; i <= numTicks; i++) {
322
+ // should this tick be on or off?
323
+ let isOn = (((i - 1) / numTicks) * 100 < this.m_percent)
324
+
325
+ // 判断是否最大
326
+ let isLargeTick = this.isLargeTick(i)
327
+ // let rectScale = isLargeTick ? this.large_tick_scale : 1
328
+ let tickLength = isLargeTick ? this.m_default_option.large_tick_length : this.m_default_option.tick_length
329
+
330
+ // 获取刻度颜色
331
+ var color = this.getTickColor(isOn, i)
332
+ saveContext.fillStyle = color
333
+ if (isLargeTick) {
334
+ saveContext.fillRect(-1 * this.m_halfCanvasWidth + this.m_default_option.circle_radius * 2 +
335
+ this.m_default_option.circle_offset,
336
+ -this.m_default_option.tick_thickness / 2,
337
+ tickLength, this.m_default_option.tick_thickness)
338
+ if (this.m_default_option.show_num) {
339
+ this.drawGaugeNum(tickLength, i)
340
+ }
341
+ } else {
342
+ saveContext.fillRect(-1 * this.m_halfCanvasWidth +
343
+ this.m_default_option.circle_radius * 2 + this.m_default_option.circle_offset +
344
+ this.delatLength,
345
+ -this.m_default_option.tick_thickness / 2,
346
+ tickLength, this.m_default_option.tick_thickness)
347
+ }
348
+ // rotate for next tick to be placed
349
+ saveContext.rotate(this.m_rotation_deg)
350
+ }
351
+ }
352
+
353
+ /**
354
+ * @param {*} currentNum
355
+ * 判断当前最大刻度
356
+ */
357
+ isLargeTick (currentNum) {
358
+ return (currentNum + this.m_default_option.ticks_groups_begin - 1) % (this.m_default_option.tick_group_length + 1) === 0
359
+ }
360
+
361
+ gradientColorArray = function () {
362
+ let colorArray = []
363
+ if (!this.m_default_option.on_color_gradient || !this.m_target_percent) {
364
+ return
365
+ }
366
+ for (let i = 0; i < this.m_default_option.on_color_gradient.length - 1; i++) {
367
+ let next = this.m_default_option.on_color_gradient[i + 1]
368
+ let cur = this.m_default_option.on_color_gradient[i]
369
+ let colorStep = (next.percent - cur.percent) / 100 * this.total_tick
370
+ colorArray = colorArray.concat(MakeGradientColot(cur.color, next.color, colorStep))
371
+ }
372
+ return colorArray
373
+ }
374
+
375
+ /**
376
+ * 获取刻度颜色
377
+ * @param {*} isOn
378
+ * @param {*} index
379
+ */
380
+ getTickColor (isOn, index) {
381
+ let indexTemp = index < 1 ? 1 : index
382
+ if (isOn) {
383
+ if (this.colorArray && this.colorArray.length > 0) {
384
+ return this.colorArray[indexTemp - 1]
385
+ } else {
386
+ return this.m_default_option.tick_on_color
387
+ }
388
+ } else {
389
+ return this.m_default_option.tick_color
390
+ }
391
+ }
392
+ /**
393
+ * 进行渲染绘制
394
+ * @param percent
395
+ */
396
+ render (percent) {
397
+ if (percent !== undefined) {
398
+ this.m_percent = percent
399
+ }
400
+
401
+ // let saveCanvas = this.m_save_canvas
402
+ let saveContext = this.m_save_context
403
+ saveContext.save() // 用来保存Canvas的状态. save之后,可以调用Canvas的平移、放缩、旋转、错切、裁剪等操作
404
+
405
+ // 绘制基本舞台 包括当前分值
406
+ this.prepareStage()
407
+ switch (this.m_default_option.style) {
408
+ case 'bar': this.drawProgressBar(); break
409
+ case 'tick': this.drawTickType(); break
410
+ default: break
411
+ }
412
+ this.m_context.clearRect(0, 0, this.m_canvas.width, this.m_canvas.height)
413
+ this.m_context.drawImage(this.m_save_canvas, 0, 0)
414
+ saveContext.restore()
415
+ }
416
+
417
+ /**
418
+ * 更新百分比以及实时显示信息
419
+ */
420
+ updatedPercent (percent, options = {}) {
421
+ if (percent - 0.1 < 0) {
422
+ return
423
+ }
424
+ let that = this
425
+ this.m_target_percent = percent
426
+ options = options || {}
427
+ let duration = ('animation_duration' in options) ? options.animation_duration : that.m_default_option.animation_duration
428
+ if (duration) {
429
+ let lastUpdate = new Date()
430
+ let start = this.m_percent
431
+ let end = this.m_target_percent
432
+ let changePerms = (end - start) / duration
433
+ var increasing = changePerms > 0 ? 1 : 0
434
+ this.colorArray = this.gradientColorArray()
435
+ let update = () => {
436
+ let now = new Date()
437
+ let elapsed = now - lastUpdate
438
+ that.m_percent += elapsed * changePerms
439
+ lastUpdate = now
440
+ // check if we've made it to our stopping point
441
+ if ((increasing && that.m_percent < that.m_target_percent) ||
442
+ (!increasing && that.m_percent > that.m_target_percent)) {
443
+ that.render()
444
+ that.requestAnimFrame(update)
445
+ } else {
446
+ that.m_percent = that.m_target_percent
447
+ that.render()
448
+ }
449
+ }
450
+ that.requestAnimFrame(update)
451
+ } else {
452
+ that.m_percent = percent
453
+ that.render()
454
+ }
455
+ }
456
+ requestAnimFrame (f) {
457
+ let anim = window.requestAnimationFrame ||
458
+ window.webkitRequestAnimationFrame ||
459
+ window.mozRequestAnimationFrame ||
460
+ window.oRequestAnimationFrame ||
461
+ window.msRequestAnimationFrame ||
462
+ function (callback, element) {
463
+ window.setTimeout(function () {
464
+ callback(new Date())
465
+ }, 1000 / 60)
466
+ }
467
+ anim(f)
468
+ }
469
+
470
+ mergeOption () {}
471
+ }
@@ -0,0 +1,57 @@
1
+ <template>
2
+ <div class="wrap" ref="body">
3
+ <canvas :width="cw" :height="ch" :id="id" style="margin: auto; width: 100%;"></canvas>
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+ import DashBoard from './dashboard.js'
9
+ export default {
10
+ name: 'DashBoard',
11
+ data () {
12
+ return {
13
+ dashboard: Object,
14
+ cw: 510,
15
+ ch: 510
16
+ }
17
+ },
18
+ props: {
19
+ option: {
20
+ type: Object,
21
+ default: function () {
22
+ return {}
23
+ }
24
+ },
25
+ curPercent: {
26
+ type: Number,
27
+ default: 50
28
+ },
29
+ id: {
30
+ type: String,
31
+ default: 'dashboard'
32
+ }
33
+ },
34
+ watch: {
35
+ curPercent (newVal, oldVal) {
36
+ this.dashboard.updatedPercent(this.curPercent)
37
+ }
38
+ },
39
+ created () {
40
+ },
41
+ mounted () {
42
+ // let screenWidth = window.screen.width
43
+ // let screenHeight = window.screen.height
44
+ // console.log(this.$refs.body.offsetHeight)
45
+ // console.log(this.$refs.body.offsetWeight)
46
+ // this.cw = parseInt(this.$refs.body.style.weight)
47
+ // // console.log(this.$refs.body)
48
+ // this.ch = parseInt(this.$refs.body.style.height)
49
+ this.dashboard = new DashBoard(this.id, this.option)
50
+ this.dashboard.render()
51
+ // document.getElementById(this.id).width = 300
52
+ // document.getElementById(this.id).height = 300
53
+ }
54
+ }
55
+ </script>
56
+ <style scoped>
57
+ </style>
@@ -0,0 +1,2 @@
1
+ import DashBoard from './dashboard.vue'
2
+ export default DashBoard
@@ -0,0 +1,146 @@
1
+ <template>
2
+ <div>
3
+ <div v-for="(item, index) in datalist" :key="index" style="margin-bottom: 14px">
4
+ <kiss-horizontalchildren :dataList="[{value: item.value, color: item.color, maxNum: theMaxNum}]" :name="item.name" :horizontalDistance="horizontalDistance" :display="display" :mainwidth="mainwidth" :mainheight="mainheight">
5
+ <div slot="leftslot">
6
+ <slot name="fatherslot"></slot>
7
+ </div>
8
+ </kiss-horizontalchildren>
9
+ </div>
10
+ </div>
11
+ </template>
12
+ <script>
13
+ export default {
14
+ name: 'kiss-horizontal',
15
+ props: {
16
+ datalist: { // 数据集合
17
+ type: Array,
18
+ default: function () {
19
+ return [
20
+ {
21
+ value: 5,
22
+ name: '',
23
+ color: '#43b4cf'
24
+ },
25
+ {
26
+ value: 5,
27
+ name: '',
28
+ color: '#43b4cf'
29
+ }
30
+ ]
31
+ }
32
+ },
33
+ maxNum: { // 最大数值(如果不传的话就以datalist中的最大value值为最大值)
34
+ type: Number,
35
+ default: 0
36
+ },
37
+ horizontalDistance: { // 上下两个的间距
38
+ type: String,
39
+ default: '3px'
40
+ },
41
+ mainwidth: {
42
+ type: String,
43
+ default: '400px'
44
+ },
45
+ mainheight: {
46
+ type: String,
47
+ default: '25px'
48
+ },
49
+ display: { // 是否展示右侧数值
50
+ type: Boolean,
51
+ default: true
52
+ }
53
+ },
54
+ data () {
55
+ return {
56
+ bgStyle: {
57
+ 'position': 'relative',
58
+ 'marginBottom': '',
59
+ 'width': '',
60
+ 'height': ''
61
+ },
62
+ theMaxNum: 0
63
+ // rightNum: {
64
+ // 'color': '#fff',
65
+ // 'display': 'block'
66
+ // }
67
+ }
68
+ },
69
+ watch: {
70
+ datalist: {
71
+ handler: function (val) {
72
+ this.init()
73
+ // this.theMaxNum = this.getMaxnum()
74
+ },
75
+ deep: true
76
+ }
77
+ },
78
+ methods: {
79
+ getMaxnum () {
80
+ let max = this.maxNum
81
+ if (max !== 0) return max
82
+ let temp = 0
83
+ for (let data of this.datalist) {
84
+ if (data.value > temp) {
85
+ max = data.value
86
+ temp = max
87
+ }
88
+ }
89
+ return max
90
+ },
91
+ init () {
92
+ if (this.maxNum === 0) {
93
+ this.theMaxNum = this.getMaxnum()
94
+ } else {
95
+ this.theMaxNum = this.maxNum
96
+ }
97
+ }
98
+ // isShowrightnum () {
99
+ // if (this.display) return
100
+ // this.rightNum.display = 'none'
101
+ // }
102
+ },
103
+ mounted () {
104
+ this.bgStyle.width = this.mainwidth
105
+ this.bgStyle.height = this.mainheight
106
+ this.bgStyle.marginBottom = this.horizontalDistance
107
+ this.init()
108
+ // if (this.maxNum === 0) {
109
+ // this.theMaxNum = this.getMaxnum()
110
+ // } else {
111
+ // this.theMaxNum = this.maxNum
112
+ // }
113
+ // this.isShowrightnum()
114
+ }
115
+ }
116
+ </script>
117
+ <style scoped>
118
+ .horizontalcontext {
119
+ position: absolute;
120
+ width: 85%;
121
+ height: 100%;
122
+ left: 10%;
123
+ top: 0;
124
+ }
125
+ .horizontal {
126
+ position: absolute;
127
+ top: 0;
128
+ left: 0;
129
+ width: 80%;
130
+ height: 50%;
131
+ }
132
+ .hor_num {
133
+ position: absolute;
134
+ top: 0;
135
+ left: 85%;
136
+ width: 10%;
137
+ height: 66.6%;
138
+ }
139
+ .hor_text {
140
+ position: absolute;
141
+ top: 30%;
142
+ left: 0;
143
+ /* width: 20px; */
144
+ height: 42%;
145
+ }
146
+ </style>
@@ -0,0 +1,2 @@
1
+ import KissHorizontal from './KissHorizontal.vue'
2
+ export default KissHorizontal