haiwei-ui 1.0.0

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 (504) hide show
  1. package/.browserslistrc +3 -0
  2. package/.eslintrc.js +20 -0
  3. package/.prettierrc +6 -0
  4. package/.vscode/settings.json +10 -0
  5. package/README.md +23 -0
  6. package/babel.config.js +10 -0
  7. package/npm/345/217/221/345/270/203/350/257/246/347/273/206/346/223/215/344/275/234/346/214/207/345/274/225.md +296 -0
  8. package/package.json +65 -0
  9. package/packages/components/box/index.vue +181 -0
  10. package/packages/components/box-col/index.vue +43 -0
  11. package/packages/components/box-row/index.vue +27 -0
  12. package/packages/components/box-small/index.vue +64 -0
  13. package/packages/components/button/index.vue +52 -0
  14. package/packages/components/button-copy/index.vue +74 -0
  15. package/packages/components/button-delete/index.vue +87 -0
  16. package/packages/components/button-delete-batch/index.vue +108 -0
  17. package/packages/components/button-has/index.vue +54 -0
  18. package/packages/components/checkbox-group/index.vue +111 -0
  19. package/packages/components/color-picker/index.vue +66 -0
  20. package/packages/components/container/index.vue +21 -0
  21. package/packages/components/date-range-picker/index.vue +117 -0
  22. package/packages/components/details/index.vue +105 -0
  23. package/packages/components/dialog/index.vue +364 -0
  24. package/packages/components/drag-sort/index.vue +50 -0
  25. package/packages/components/drag-sort-dialog/index.vue +73 -0
  26. package/packages/components/drawer/index.vue +239 -0
  27. package/packages/components/enums/sex/index.vue +3 -0
  28. package/packages/components/flex/index.vue +58 -0
  29. package/packages/components/form/index.vue +153 -0
  30. package/packages/components/form-dialog/index.vue +245 -0
  31. package/packages/components/form-page/index.vue +195 -0
  32. package/packages/components/icon/index.vue +15 -0
  33. package/packages/components/icon-picker/index.vue +52 -0
  34. package/packages/components/icon-picker/panel.vue +81 -0
  35. package/packages/components/index.js +26 -0
  36. package/packages/components/label/index.vue +39 -0
  37. package/packages/components/list/components/export/index.vue +190 -0
  38. package/packages/components/list/components/footer/index.vue +67 -0
  39. package/packages/components/list/components/header/index.vue +57 -0
  40. package/packages/components/list/components/querybar/index.vue +188 -0
  41. package/packages/components/list/components/select-column/index.vue +53 -0
  42. package/packages/components/list/components/table/index.vue +210 -0
  43. package/packages/components/list/default.js +63 -0
  44. package/packages/components/list/index.vue +500 -0
  45. package/packages/components/list-agile/index.vue +223 -0
  46. package/packages/components/list-dialog/index.vue +102 -0
  47. package/packages/components/listbox/index.vue +77 -0
  48. package/packages/components/login-default/index.vue +177 -0
  49. package/packages/components/login-neon/index.vue +171 -0
  50. package/packages/components/map/index.vue +245 -0
  51. package/packages/components/map-coord-picking/index.vue +276 -0
  52. package/packages/components/map-search/index.vue +98 -0
  53. package/packages/components/radio/index.js +12 -0
  54. package/packages/components/scrollbar/index.vue +20 -0
  55. package/packages/components/select/index.js +12 -0
  56. package/packages/components/select-whether/index.vue +42 -0
  57. package/packages/components/split/index.vue +178 -0
  58. package/packages/components/split/trigger.vue +28 -0
  59. package/packages/components/tabnav/index.vue +124 -0
  60. package/packages/components/tabs/index.vue +48 -0
  61. package/packages/components/toolbar/components/fullscreen/index.vue +22 -0
  62. package/packages/components/toolbar/components/logout/index.vue +25 -0
  63. package/packages/components/toolbar/components/skin-toggle/form.vue +100 -0
  64. package/packages/components/toolbar/components/skin-toggle/index.vue +25 -0
  65. package/packages/components/toolbar/components/userInfo/index.vue +44 -0
  66. package/packages/components/toolbar/index.vue +26 -0
  67. package/packages/components/tree-select/index.js +12 -0
  68. package/packages/components/tree-select/mixins.vue +334 -0
  69. package/packages/components/txt/index.vue +27 -0
  70. package/packages/components/update-password/index.vue +84 -0
  71. package/packages/directive/has/index.js +23 -0
  72. package/packages/directive/index.js +13 -0
  73. package/packages/index.js +209 -0
  74. package/packages/layout.vue +39 -0
  75. package/packages/library.js +5 -0
  76. package/packages/mixins/components/button.js +15 -0
  77. package/packages/mixins/components/checkbox.vue +98 -0
  78. package/packages/mixins/components/dialog.js +3 -0
  79. package/packages/mixins/components/drawer.js +3 -0
  80. package/packages/mixins/components/form-dialog-edit.js +67 -0
  81. package/packages/mixins/components/form-readonly.js +33 -0
  82. package/packages/mixins/components/form-save.js +123 -0
  83. package/packages/mixins/components/input.js +24 -0
  84. package/packages/mixins/components/list.js +36 -0
  85. package/packages/mixins/components/loading.js +20 -0
  86. package/packages/mixins/components/radio.vue +84 -0
  87. package/packages/mixins/components/select.js +293 -0
  88. package/packages/mixins/components/visible.js +24 -0
  89. package/packages/mixins/global/fontSize.js +6 -0
  90. package/packages/mixins/global/loading.js +15 -0
  91. package/packages/mixins/global/message.js +64 -0
  92. package/packages/mixins/global/setTabName.js +6 -0
  93. package/packages/mixins/index.js +51 -0
  94. package/packages/page/403/index.vue +50 -0
  95. package/packages/page/404/index.vue +50 -0
  96. package/packages/page/default/index.vue +29 -0
  97. package/packages/page/iframe/index.vue +15 -0
  98. package/packages/page/login/index.vue +19 -0
  99. package/packages/page/userInfo/index.vue +47 -0
  100. package/packages/router/index.js +100 -0
  101. package/packages/router/routes.js +60 -0
  102. package/packages/skins/pretty/components/header/components/breadcrumb/index.vue +45 -0
  103. package/packages/skins/pretty/components/header/components/theme/index.vue +39 -0
  104. package/packages/skins/pretty/components/header/components/theme/list.js +82 -0
  105. package/packages/skins/pretty/components/header/index.vue +38 -0
  106. package/packages/skins/pretty/components/main/index.vue +51 -0
  107. package/packages/skins/pretty/components/menus/index.vue +60 -0
  108. package/packages/skins/pretty/components/menus/item.vue +46 -0
  109. package/packages/skins/pretty/components/sidebar/index.vue +17 -0
  110. package/packages/skins/pretty/index.js +47 -0
  111. package/packages/skins/pretty/index.vue +16 -0
  112. package/packages/skins/pretty/preview.png +0 -0
  113. package/packages/skins/pretty/store/index.js +8 -0
  114. package/packages/skins/pretty/store/modules/sidebar.js +32 -0
  115. package/packages/skins/pretty/styles/_index.scss +30 -0
  116. package/packages/skins/pretty/styles/components/header/_index.scss +77 -0
  117. package/packages/skins/pretty/styles/components/main/_index.scss +24 -0
  118. package/packages/skins/pretty/styles/components/menus/_index.scss +80 -0
  119. package/packages/skins/pretty/styles/components/sidebar/_index.scss +28 -0
  120. package/packages/skins/pretty/styles/themes/_index.scss +20 -0
  121. package/packages/skins/pretty/styles/themes/_theme.scss +283 -0
  122. package/packages/skins/pretty/styles/themes/blue-light/_index.scss +5 -0
  123. package/packages/skins/pretty/styles/themes/blue-light/_variables.scss +38 -0
  124. package/packages/skins/pretty/styles/themes/default/_index.scss +2 -0
  125. package/packages/skins/pretty/styles/themes/default/_variables.scss +38 -0
  126. package/packages/skins/pretty/styles/themes/green/_index.scss +5 -0
  127. package/packages/skins/pretty/styles/themes/green/_variables.scss +38 -0
  128. package/packages/skins/pretty/styles/themes/green-light/_index.scss +5 -0
  129. package/packages/skins/pretty/styles/themes/green-light/_variables.scss +38 -0
  130. package/packages/skins/pretty/styles/themes/orange/_index.scss +5 -0
  131. package/packages/skins/pretty/styles/themes/orange/_variables.scss +38 -0
  132. package/packages/skins/pretty/styles/themes/orange-light/_index.scss +5 -0
  133. package/packages/skins/pretty/styles/themes/orange-light/_variables.scss +38 -0
  134. package/packages/skins/pretty/styles/themes/pink/_index.scss +5 -0
  135. package/packages/skins/pretty/styles/themes/pink/_variables.scss +40 -0
  136. package/packages/skins/pretty/styles/themes/pink-light/_index.scss +5 -0
  137. package/packages/skins/pretty/styles/themes/pink-light/_variables.scss +40 -0
  138. package/packages/store/index.js +33 -0
  139. package/packages/store/modules/account.js +133 -0
  140. package/packages/store/modules/config.js +100 -0
  141. package/packages/store/modules/dialog-menu.js +46 -0
  142. package/packages/store/modules/dialog.js +17 -0
  143. package/packages/store/modules/fullscreen.js +37 -0
  144. package/packages/store/modules/loading.js +8 -0
  145. package/packages/store/modules/page.js +404 -0
  146. package/packages/store/modules/skins.js +69 -0
  147. package/packages/store/modules/system.js +63 -0
  148. package/packages/store/modules/token.js +22 -0
  149. package/packages/styles/_element.scss +97 -0
  150. package/packages/styles/_mixins.scss +39 -0
  151. package/packages/styles/_theme.scss +82 -0
  152. package/packages/styles/_variables.scss +69 -0
  153. package/packages/styles/animation/_index.scss +37 -0
  154. package/packages/styles/animation/breadcrumb.scss +18 -0
  155. package/packages/styles/animation/fade.scss +30 -0
  156. package/packages/styles/animation/move.scss +130 -0
  157. package/packages/styles/app.scss +101 -0
  158. package/packages/styles/components/box/_index.scss +212 -0
  159. package/packages/styles/components/box-row/_index.scss +486 -0
  160. package/packages/styles/components/box-small/_index.scss +73 -0
  161. package/packages/styles/components/button/_index.scss +9 -0
  162. package/packages/styles/components/checkbox-group/_index.scss +20 -0
  163. package/packages/styles/components/color-picker/_index.scss +17 -0
  164. package/packages/styles/components/container/_index.scss +36 -0
  165. package/packages/styles/components/date-range-picker/_index.scss +6 -0
  166. package/packages/styles/components/details/_index.scss +82 -0
  167. package/packages/styles/components/details-dialog/_index.scss +19 -0
  168. package/packages/styles/components/dialog/_index.scss +147 -0
  169. package/packages/styles/components/drag-sort/_index.scss +25 -0
  170. package/packages/styles/components/drag-sort-dialog/_index.scss +9 -0
  171. package/packages/styles/components/drawer/_index.scss +199 -0
  172. package/packages/styles/components/flex/_index.scss +60 -0
  173. package/packages/styles/components/form/_index.scss +3 -0
  174. package/packages/styles/components/form-dialog/_index.scss +15 -0
  175. package/packages/styles/components/form-page/_index.scss +48 -0
  176. package/packages/styles/components/icon/_index.scss +8 -0
  177. package/packages/styles/components/icon-picker/_index.scss +62 -0
  178. package/packages/styles/components/label/_index.scss +289 -0
  179. package/packages/styles/components/list/_index.scss +270 -0
  180. package/packages/styles/components/listbox/_index.scss +57 -0
  181. package/packages/styles/components/login/_index.scss +6 -0
  182. package/packages/styles/components/login-default/_index.scss +94 -0
  183. package/packages/styles/components/login-neon/_index.scss +129 -0
  184. package/packages/styles/components/map/_index.scss +5 -0
  185. package/packages/styles/components/map-coord-picking/_index.scss +50 -0
  186. package/packages/styles/components/map-search-box/_index.scss +83 -0
  187. package/packages/styles/components/scrollbar/_index.scss +16 -0
  188. package/packages/styles/components/select/_index.scss +25 -0
  189. package/packages/styles/components/split/_index.scss +119 -0
  190. package/packages/styles/components/tabnav/_index.scss +194 -0
  191. package/packages/styles/components/tabs/_index.scss +79 -0
  192. package/packages/styles/components/toolbar/_index.scss +120 -0
  193. package/packages/styles/components/tree/_index.scss +7 -0
  194. package/packages/styles/components/tree-select/_index.scss +47 -0
  195. package/packages/styles/components/txt/_index.scss +17 -0
  196. package/packages/styles/components/upload-dialog/_index.scss +54 -0
  197. package/packages/styles/components/upload-multiple/_index.scss +29 -0
  198. package/packages/styles/components/upload-single/_index.scss +23 -0
  199. package/packages/styles/directive/drop/_index.scss +3 -0
  200. package/packages/styles/directive/resizable/_index.scss +105 -0
  201. package/packages/styles/helper/_background.scss +22 -0
  202. package/packages/styles/helper/_border.scss +99 -0
  203. package/packages/styles/helper/_boxshadow.scss +4 -0
  204. package/packages/styles/helper/_fontsize.scss +6 -0
  205. package/packages/styles/helper/_index.scss +19 -0
  206. package/packages/styles/helper/_margin.scss +22 -0
  207. package/packages/styles/helper/_padding.scss +22 -0
  208. package/packages/styles/helper/_pull.scss +9 -0
  209. package/packages/styles/helper/_text.scss +58 -0
  210. package/packages/utils/assist.js +56 -0
  211. package/packages/utils/const.js +12 -0
  212. package/packages/utils/db.js +32 -0
  213. package/packages/utils/dom.js +156 -0
  214. package/packages/utils/http.js +307 -0
  215. package/packages/utils/load-routes.js +37 -0
  216. package/packages/utils/menu.js +53 -0
  217. package/packages/utils/regex.js +7 -0
  218. package/packages/utils/resize-event.js +40 -0
  219. package/packages/utils/token.js +24 -0
  220. package/packages/vuter/attributes.json +41 -0
  221. package/packages/vuter/tags.json +28 -0
  222. package/postcss.config.js +5 -0
  223. package/public/css/index.css +288 -0
  224. package/public/images/favicon.ico +0 -0
  225. package/public/images/login/bg1.jpg +0 -0
  226. package/public/images/login/bg2.jpg +0 -0
  227. package/public/images/login/bg3.jpg +0 -0
  228. package/public/images/login/bg4.jpg +0 -0
  229. package/public/images/logo.png +0 -0
  230. package/public/images/logo.svg +21 -0
  231. package/public/images/motto.png +0 -0
  232. package/public/index.html +54 -0
  233. package/public/lib/font/iconfont.js +1 -0
  234. package/script/npm_install.bat +4 -0
  235. package/script/npm_install.ps1 +13 -0
  236. package/script/npm_publish.bat +4 -0
  237. package/script/npm_publish.ps1 +12 -0
  238. package/script/npm_update.bat +4 -0
  239. package/script/npm_update.ps1 +13 -0
  240. package/src/api/account.js +47 -0
  241. package/src/api/actions.js +18 -0
  242. package/src/api/config.js +78 -0
  243. package/src/components/code-preview/index.vue +77 -0
  244. package/src/components/index.js +7 -0
  245. package/src/components/tmpl/components/attributes/index.vue +19 -0
  246. package/src/components/tmpl/components/events/index.vue +15 -0
  247. package/src/components/tmpl/components/methods/index.vue +15 -0
  248. package/src/components/tmpl/components/slots/index.vue +14 -0
  249. package/src/components/tmpl/index.vue +77 -0
  250. package/src/index.js +25 -0
  251. package/src/main.js +31 -0
  252. package/src/menus/index.js +18 -0
  253. package/src/routes.js +3 -0
  254. package/src/store.js +3 -0
  255. package/src/style/element-ui.scss +11 -0
  256. package/src/utils/menus-loader.js +15 -0
  257. package/src/views/components/advanced/details/_index/data/attrs.js +51 -0
  258. package/src/views/components/advanced/details/_index/data/events.js +7 -0
  259. package/src/views/components/advanced/details/_index/data/slots.js +10 -0
  260. package/src/views/components/advanced/details/_index/index.vue +24 -0
  261. package/src/views/components/advanced/details/_index/page.js +16 -0
  262. package/src/views/components/advanced/details/demo1/demo.vue +59 -0
  263. package/src/views/components/advanced/details/demo1/index.vue +21 -0
  264. package/src/views/components/advanced/details/demo1/page.js +14 -0
  265. package/src/views/components/advanced/drag-sort/_index/data/attrs.js +9 -0
  266. package/src/views/components/advanced/drag-sort/_index/data/events.js +12 -0
  267. package/src/views/components/advanced/drag-sort/_index/index.vue +24 -0
  268. package/src/views/components/advanced/drag-sort/_index/page.js +16 -0
  269. package/src/views/components/advanced/drag-sort/demo1/demo.vue +34 -0
  270. package/src/views/components/advanced/drag-sort/demo1/index.vue +21 -0
  271. package/src/views/components/advanced/drag-sort/demo1/page.js +14 -0
  272. package/src/views/components/advanced/drag-sort-dialog/_index/data/attrs.js +58 -0
  273. package/src/views/components/advanced/drag-sort-dialog/_index/data/events.js +12 -0
  274. package/src/views/components/advanced/drag-sort-dialog/_index/index.vue +28 -0
  275. package/src/views/components/advanced/drag-sort-dialog/_index/page.js +16 -0
  276. package/src/views/components/advanced/drag-sort-dialog/demo1/demo.vue +36 -0
  277. package/src/views/components/advanced/drag-sort-dialog/demo1/index.vue +21 -0
  278. package/src/views/components/advanced/drag-sort-dialog/demo1/page.js +14 -0
  279. package/src/views/components/advanced/list/_index/data/attrs.js +177 -0
  280. package/src/views/components/advanced/list/_index/data/events.js +87 -0
  281. package/src/views/components/advanced/list/_index/data/methods.js +18 -0
  282. package/src/views/components/advanced/list/_index/data/slots.js +46 -0
  283. package/src/views/components/advanced/list/_index/index.vue +87 -0
  284. package/src/views/components/advanced/list/_index/page.js +16 -0
  285. package/src/views/components/advanced/list/demo1/demo.vue +90 -0
  286. package/src/views/components/advanced/list/demo1/index.vue +21 -0
  287. package/src/views/components/advanced/list/demo1/page.js +14 -0
  288. package/src/views/components/advanced/list/demo2/demo.vue +78 -0
  289. package/src/views/components/advanced/list/demo2/index.vue +21 -0
  290. package/src/views/components/advanced/list/demo2/page.js +14 -0
  291. package/src/views/components/advanced/list/demo4/demo.vue +56 -0
  292. package/src/views/components/advanced/list/demo4/index.vue +21 -0
  293. package/src/views/components/advanced/list/demo4/page.js +14 -0
  294. package/src/views/components/advanced/list-dialog/_index/data/attrs.js +58 -0
  295. package/src/views/components/advanced/list-dialog/_index/data/events.js +22 -0
  296. package/src/views/components/advanced/list-dialog/_index/data/methods.js +6 -0
  297. package/src/views/components/advanced/list-dialog/_index/data/slots.js +6 -0
  298. package/src/views/components/advanced/list-dialog/_index/index.vue +31 -0
  299. package/src/views/components/advanced/list-dialog/_index/page.js +16 -0
  300. package/src/views/components/advanced/list-dialog/demo1/demo.vue +75 -0
  301. package/src/views/components/advanced/list-dialog/demo1/index.vue +21 -0
  302. package/src/views/components/advanced/list-dialog/demo1/page.js +14 -0
  303. package/src/views/components/advanced/listbox/_index/data/attrs.js +30 -0
  304. package/src/views/components/advanced/listbox/_index/data/events.js +7 -0
  305. package/src/views/components/advanced/listbox/_index/data/slots.js +6 -0
  306. package/src/views/components/advanced/listbox/_index/index.vue +27 -0
  307. package/src/views/components/advanced/listbox/_index/page.js +16 -0
  308. package/src/views/components/advanced/listbox/demo1/demo.vue +74 -0
  309. package/src/views/components/advanced/listbox/demo1/index.vue +21 -0
  310. package/src/views/components/advanced/listbox/demo1/page.js +14 -0
  311. package/src/views/components/base/box/_index/data/attrs.js +128 -0
  312. package/src/views/components/base/box/_index/data/events.js +17 -0
  313. package/src/views/components/base/box/_index/data/methods.js +17 -0
  314. package/src/views/components/base/box/_index/data/slots.js +26 -0
  315. package/src/views/components/base/box/_index/index.vue +37 -0
  316. package/src/views/components/base/box/_index/page.js +16 -0
  317. package/src/views/components/base/box/demo1/demo.vue +33 -0
  318. package/src/views/components/base/box/demo1/index.vue +21 -0
  319. package/src/views/components/base/box/demo1/page.js +14 -0
  320. package/src/views/components/base/box/demo2/demo.vue +9 -0
  321. package/src/views/components/base/box/demo2/index.vue +21 -0
  322. package/src/views/components/base/box/demo2/page.js +14 -0
  323. package/src/views/components/base/box/demo3/demo.vue +31 -0
  324. package/src/views/components/base/box/demo3/index.vue +21 -0
  325. package/src/views/components/base/box/demo3/page.js +14 -0
  326. package/src/views/components/base/box/demo4/demo.vue +58 -0
  327. package/src/views/components/base/box/demo4/index.vue +21 -0
  328. package/src/views/components/base/box/demo4/page.js +14 -0
  329. package/src/views/components/base/box-col/_index/data/attrs.js +30 -0
  330. package/src/views/components/base/box-col/_index/data/slots.js +6 -0
  331. package/src/views/components/base/box-col/_index/index.vue +27 -0
  332. package/src/views/components/base/box-col/_index/page.js +16 -0
  333. package/src/views/components/base/box-col/demo1/demo.vue +23 -0
  334. package/src/views/components/base/box-col/demo1/index.vue +21 -0
  335. package/src/views/components/base/box-col/demo1/page.js +14 -0
  336. package/src/views/components/base/box-row/_index/data/attrs.js +16 -0
  337. package/src/views/components/base/box-row/_index/data/slots.js +6 -0
  338. package/src/views/components/base/box-row/_index/index.vue +30 -0
  339. package/src/views/components/base/box-row/_index/page.js +16 -0
  340. package/src/views/components/base/box-row/demo1/demo.vue +26 -0
  341. package/src/views/components/base/box-row/demo1/index.vue +21 -0
  342. package/src/views/components/base/box-row/demo1/page.js +15 -0
  343. package/src/views/components/base/box-small/_index/data/attrs.js +44 -0
  344. package/src/views/components/base/box-small/_index/data/events.js +7 -0
  345. package/src/views/components/base/box-small/_index/index.vue +30 -0
  346. package/src/views/components/base/box-small/_index/page.js +16 -0
  347. package/src/views/components/base/box-small/demo1/demo.vue +50 -0
  348. package/src/views/components/base/box-small/demo1/index.vue +21 -0
  349. package/src/views/components/base/box-small/demo1/page.js +14 -0
  350. package/src/views/components/base/button/_index/data/attrs.js +86 -0
  351. package/src/views/components/base/button/_index/data/events.js +7 -0
  352. package/src/views/components/base/button/_index/data/slots.js +6 -0
  353. package/src/views/components/base/button/_index/index.vue +28 -0
  354. package/src/views/components/base/button/_index/page.js +16 -0
  355. package/src/views/components/base/button/demo1/demo.vue +76 -0
  356. package/src/views/components/base/button/demo1/index.vue +21 -0
  357. package/src/views/components/base/button/demo1/page.js +14 -0
  358. package/src/views/components/base/button/demo2/demo.vue +92 -0
  359. package/src/views/components/base/button/demo2/index.vue +21 -0
  360. package/src/views/components/base/button/demo2/page.js +14 -0
  361. package/src/views/components/base/container/_index/data/attrs.js +16 -0
  362. package/src/views/components/base/container/_index/index.vue +25 -0
  363. package/src/views/components/base/container/_index/page.js +16 -0
  364. package/src/views/components/base/dialog/_index/data/attrs.js +128 -0
  365. package/src/views/components/base/dialog/_index/data/events.js +27 -0
  366. package/src/views/components/base/dialog/_index/data/methods.js +22 -0
  367. package/src/views/components/base/dialog/_index/data/slots.js +18 -0
  368. package/src/views/components/base/dialog/_index/index.vue +28 -0
  369. package/src/views/components/base/dialog/_index/page.js +16 -0
  370. package/src/views/components/base/dialog/demo1/demo.vue +75 -0
  371. package/src/views/components/base/dialog/demo1/index.vue +21 -0
  372. package/src/views/components/base/dialog/demo1/page.js +14 -0
  373. package/src/views/components/base/drawer/_index/data/attrs.js +121 -0
  374. package/src/views/components/base/drawer/_index/data/events.js +27 -0
  375. package/src/views/components/base/drawer/_index/data/slots.js +22 -0
  376. package/src/views/components/base/drawer/_index/index.vue +30 -0
  377. package/src/views/components/base/drawer/_index/page.js +16 -0
  378. package/src/views/components/base/drawer/demo1/demo.vue +24 -0
  379. package/src/views/components/base/drawer/demo1/index.vue +22 -0
  380. package/src/views/components/base/drawer/demo1/page.js +14 -0
  381. package/src/views/components/base/flex/_index/data/attrs.js +37 -0
  382. package/src/views/components/base/flex/_index/data/slots.js +18 -0
  383. package/src/views/components/base/flex/_index/index.vue +27 -0
  384. package/src/views/components/base/flex/_index/page.js +16 -0
  385. package/src/views/components/base/flex/demo1/demo.vue +59 -0
  386. package/src/views/components/base/flex/demo1/index.vue +24 -0
  387. package/src/views/components/base/flex/demo1/page.js +14 -0
  388. package/src/views/components/base/label/_index/data/attrs.js +51 -0
  389. package/src/views/components/base/label/_index/data/slots.js +6 -0
  390. package/src/views/components/base/label/_index/index.vue +25 -0
  391. package/src/views/components/base/label/_index/page.js +16 -0
  392. package/src/views/components/base/label/demo1/demo.vue +23 -0
  393. package/src/views/components/base/label/demo1/index.vue +24 -0
  394. package/src/views/components/base/label/demo1/page.js +14 -0
  395. package/src/views/components/base/scrollbar/_index/data/attrs.js +9 -0
  396. package/src/views/components/base/scrollbar/_index/data/methods.js +6 -0
  397. package/src/views/components/base/scrollbar/_index/index.vue +27 -0
  398. package/src/views/components/base/scrollbar/_index/page.js +15 -0
  399. package/src/views/components/base/scrollbar/demo1/demo.vue +76 -0
  400. package/src/views/components/base/scrollbar/demo1/index.vue +21 -0
  401. package/src/views/components/base/scrollbar/demo1/page.js +14 -0
  402. package/src/views/components/base/split/_index/data/attrs.js +37 -0
  403. package/src/views/components/base/split/_index/data/events.js +17 -0
  404. package/src/views/components/base/split/_index/index.vue +29 -0
  405. package/src/views/components/base/split/_index/page.js +16 -0
  406. package/src/views/components/base/split/demo1/demo.vue +27 -0
  407. package/src/views/components/base/split/demo1/index.vue +21 -0
  408. package/src/views/components/base/split/demo1/page.js +14 -0
  409. package/src/views/components/base/tabs/_index/data/attrs.js +9 -0
  410. package/src/views/components/base/tabs/_index/data/events.js +12 -0
  411. package/src/views/components/base/tabs/_index/data/methods.js +12 -0
  412. package/src/views/components/base/tabs/_index/data/slots.js +6 -0
  413. package/src/views/components/base/tabs/_index/index.vue +31 -0
  414. package/src/views/components/base/tabs/_index/page.js +16 -0
  415. package/src/views/components/base/tabs/demo1/demo.vue +79 -0
  416. package/src/views/components/base/tabs/demo1/index.vue +24 -0
  417. package/src/views/components/base/tabs/demo1/page.js +14 -0
  418. package/src/views/components/base/txt/_index/data/attrs.js +9 -0
  419. package/src/views/components/base/txt/_index/data/slots.js +6 -0
  420. package/src/views/components/base/txt/_index/index.vue +27 -0
  421. package/src/views/components/base/txt/_index/page.js +16 -0
  422. package/src/views/components/base/txt/demo1/demo.vue +21 -0
  423. package/src/views/components/base/txt/demo1/index.vue +24 -0
  424. package/src/views/components/base/txt/demo1/page.js +14 -0
  425. package/src/views/components/form/checkbox-group/_index/data/attrs.js +51 -0
  426. package/src/views/components/form/checkbox-group/_index/data/events.js +12 -0
  427. package/src/views/components/form/checkbox-group/_index/data/methods.js +14 -0
  428. package/src/views/components/form/checkbox-group/_index/data/slots.js +6 -0
  429. package/src/views/components/form/checkbox-group/_index/index.vue +49 -0
  430. package/src/views/components/form/checkbox-group/_index/page.js +16 -0
  431. package/src/views/components/form/checkbox-group/demo1/demo.vue +84 -0
  432. package/src/views/components/form/checkbox-group/demo1/index.vue +21 -0
  433. package/src/views/components/form/checkbox-group/demo1/page.js +14 -0
  434. package/src/views/components/form/color-picker/_index/data/attrs.js +58 -0
  435. package/src/views/components/form/color-picker/_index/data/events.js +7 -0
  436. package/src/views/components/form/color-picker/_index/index.vue +24 -0
  437. package/src/views/components/form/color-picker/_index/page.js +16 -0
  438. package/src/views/components/form/color-picker/demo1/demo.vue +44 -0
  439. package/src/views/components/form/color-picker/demo1/index.vue +21 -0
  440. package/src/views/components/form/color-picker/demo1/page.js +14 -0
  441. package/src/views/components/form/date-range-picker/_index/data/attrs.js +37 -0
  442. package/src/views/components/form/date-range-picker/_index/data/events.js +7 -0
  443. package/src/views/components/form/date-range-picker/_index/index.vue +28 -0
  444. package/src/views/components/form/date-range-picker/_index/page.js +16 -0
  445. package/src/views/components/form/date-range-picker/demo1/demo.vue +35 -0
  446. package/src/views/components/form/date-range-picker/demo1/index.vue +21 -0
  447. package/src/views/components/form/date-range-picker/demo1/page.js +14 -0
  448. package/src/views/components/form/form/_index/data/attrs.js +93 -0
  449. package/src/views/components/form/form/_index/data/events.js +19 -0
  450. package/src/views/components/form/form/_index/data/methods.js +14 -0
  451. package/src/views/components/form/form/_index/index.vue +26 -0
  452. package/src/views/components/form/form/_index/page.js +16 -0
  453. package/src/views/components/form/form/demo1/demo.vue +89 -0
  454. package/src/views/components/form/form/demo1/index.vue +21 -0
  455. package/src/views/components/form/form/demo1/page.js +14 -0
  456. package/src/views/components/form/form-dialog/_index/data/attrs.js +191 -0
  457. package/src/views/components/form/form-dialog/_index/data/events.js +39 -0
  458. package/src/views/components/form/form-dialog/_index/data/methods.js +14 -0
  459. package/src/views/components/form/form-dialog/_index/index.vue +26 -0
  460. package/src/views/components/form/form-dialog/_index/page.js +16 -0
  461. package/src/views/components/form/form-dialog/demo1/demo.vue +81 -0
  462. package/src/views/components/form/form-dialog/demo1/index.vue +24 -0
  463. package/src/views/components/form/form-dialog/demo1/page.js +14 -0
  464. package/src/views/components/form/form-page/_index/data/attrs.js +135 -0
  465. package/src/views/components/form/form-page/_index/data/events.js +35 -0
  466. package/src/views/components/form/form-page/_index/data/methods.js +14 -0
  467. package/src/views/components/form/form-page/_index/index.vue +30 -0
  468. package/src/views/components/form/form-page/_index/page.js +16 -0
  469. package/src/views/components/form/form-page/demo1/demo.vue +41 -0
  470. package/src/views/components/form/form-page/demo1/index.vue +21 -0
  471. package/src/views/components/form/form-page/demo1/page.js +14 -0
  472. package/src/views/components/form/icon-picker/_index/data/attrs.js +16 -0
  473. package/src/views/components/form/icon-picker/_index/data/events.js +7 -0
  474. package/src/views/components/form/icon-picker/_index/index.vue +29 -0
  475. package/src/views/components/form/icon-picker/_index/page.js +16 -0
  476. package/src/views/components/form/icon-picker/demo1/demo.vue +47 -0
  477. package/src/views/components/form/icon-picker/demo1/index.vue +21 -0
  478. package/src/views/components/form/icon-picker/demo1/page.js +14 -0
  479. package/src/views/components/form/select/_index/data/attrs.js +79 -0
  480. package/src/views/components/form/select/_index/data/events.js +32 -0
  481. package/src/views/components/form/select/_index/data/methods.js +6 -0
  482. package/src/views/components/form/select/_index/index.vue +27 -0
  483. package/src/views/components/form/select/_index/page.js +16 -0
  484. package/src/views/components/form/select/demo1/demo.vue +61 -0
  485. package/src/views/components/form/select/demo1/index.vue +21 -0
  486. package/src/views/components/form/select/demo1/page.js +14 -0
  487. package/src/views/components/form/select/demo2/index.vue +42 -0
  488. package/src/views/components/form/select/demo2/page.js +14 -0
  489. package/src/views/components/map/map-coord-picking/_index/data/attrs.js +100 -0
  490. package/src/views/components/map/map-coord-picking/_index/data/events.js +1 -0
  491. package/src/views/components/map/map-coord-picking/_index/data/methods.js +1 -0
  492. package/src/views/components/map/map-coord-picking/_index/data/slots.js +1 -0
  493. package/src/views/components/map/map-coord-picking/_index/index.vue +29 -0
  494. package/src/views/components/map/map-coord-picking/_index/page.js +16 -0
  495. package/src/views/components/map/map-coord-picking/demo1/demo.vue +51 -0
  496. package/src/views/components/map/map-coord-picking/demo1/index.vue +21 -0
  497. package/src/views/components/map/map-coord-picking/demo1/page.js +14 -0
  498. package/src/views/components/menus.js +84 -0
  499. package/src/views/login/index.js +23 -0
  500. package/src/views/run/index.vue +57 -0
  501. package/src/views/run/page.js +15 -0
  502. package/vue.config.js +65 -0
  503. package//345/217/221/345/270/203/350/204/232/346/234/254/344/277/256/345/244/215/350/257/264/346/230/216.md +92 -0
  504. package//351/241/271/347/233/256/346/224/271/345/220/215/345/256/214/346/210/220/346/200/273/347/273/223.md +74 -0
@@ -0,0 +1,57 @@
1
+ <template>
2
+ <header class="nm-list-header">
3
+ <div class="nm-list-icon">
4
+ <nm-icon :name="icon || 'list'" />
5
+ </div>
6
+ <div class="nm-list-title">{{ title }}</div>
7
+ <div class="nm-list-header-toolbar">
8
+ <!--工具栏插槽-->
9
+ <slot name="toolbar" />
10
+ <!--导出按钮-->
11
+ <nm-button v-if="exportEnabled" icon="export" @click="onExportClick" v-nm-has="exportBtnCode" />
12
+ <!--刷新按钮-->
13
+ <nm-button v-if="!noRefresh" icon="refresh" @click="refresh" />
14
+ <!--全屏按钮-->
15
+ <nm-button v-if="!noFullscreen" :icon="fullscreen ? 'min' : 'max'" @click="onFullscreenClick" />
16
+ </div>
17
+ </header>
18
+ </template>
19
+ <script>
20
+ export default {
21
+ props: {
22
+ value: Object,
23
+ /** 标题 */
24
+ title: String,
25
+ /** 图标 */
26
+ icon: String,
27
+ /** 是否全屏 */
28
+ fullscreen: Boolean,
29
+ /** 不显示全屏按钮 */
30
+ noFullscreen: Boolean,
31
+ /** 不显示刷新按钮 */
32
+ noRefresh: Boolean,
33
+ /**显示导出按钮 */
34
+ exportEnabled: Boolean,
35
+ /**导出按钮权限编码 */
36
+ exportBtnCode: String
37
+ },
38
+ methods: {
39
+ query() {
40
+ this.$parent.page.index = 1
41
+ this.$parent.query()
42
+ },
43
+ reset() {
44
+ this.$parent.reset()
45
+ },
46
+ refresh() {
47
+ this.$parent.refresh()
48
+ },
49
+ onFullscreenClick() {
50
+ this.$parent.triggerFullscreen()
51
+ },
52
+ onExportClick() {
53
+ this.$parent.triggerExport()
54
+ }
55
+ }
56
+ }
57
+ </script>
@@ -0,0 +1,188 @@
1
+ <template>
2
+ <!--工具栏-->
3
+ <section class="nm-list-querybar">
4
+ <nm-form ref="normalForm" class="nm-list-querybar-normal" :model="model_" :rules="rules" :size="fontSize" :inline="true">
5
+ <slot />
6
+ <el-form-item v-if="!noSearch">
7
+ <nm-button type="primary" @click="query" :icon="!noSearchButtonIcon ? 'search' : ''" text="查询" />
8
+ </el-form-item>
9
+ <el-form-item v-if="!noReset">
10
+ <nm-button type="info" @click="reset" :icon="!noSearchButtonIcon ? 'refresh' : ''" text="重置" />
11
+ </el-form-item>
12
+ <el-form-item v-if="exportEnabled" v-nm-has="exportBtnCode">
13
+ <nm-button type="primary" @click="onExport" icon="export" text="导出" />
14
+ </el-form-item>
15
+ <el-form-item v-if="advanced_.enabled">
16
+ <nm-button ref="showAdvnacedBtn" type="warning" @click="onAdvancedClick">
17
+ 高级查询
18
+ <i class="el-icon--right" :class="[showAdvanced ? 'el-icon-arrow-up' : 'el-icon-arrow-down']"></i>
19
+ </nm-button>
20
+ </el-form-item>
21
+ <!--自定义按钮插槽-->
22
+ <el-form-item>
23
+ <slot name="buttons" />
24
+ </el-form-item>
25
+ </nm-form>
26
+
27
+ <!--高级查询框-->
28
+ <transition name="el-zoom-in-top">
29
+ <section ref="advancedBox" class="nm-list-querybar-advanced" v-if="advanced_.enabled" v-show="showAdvanced" :style="advancedStyle">
30
+ <nm-box page header footer title="高级查询" icon="search">
31
+ <template v-slot:toolbar>
32
+ <nm-button icon="close" @click="showAdvanced = false" />
33
+ </template>
34
+ <!--查询条件-->
35
+ <nm-form ref="advancedForm" :model="model_" :rules="rules" :label-width="advanced_.labelWidth" :inline="advanced_.inline">
36
+ <slot name="advanced" />
37
+ </nm-form>
38
+ <template v-slot:footer>
39
+ <!--查询按钮-->
40
+ <nm-button type="primary" @click="query" text="查询" :icon="!noSearchButtonIcon ? 'search' : ''" />
41
+ <!--重置按钮-->
42
+ <nm-button type="info" @click="reset" text="重置" :icon="!noSearchButtonIcon ? 'refresh' : ''" />
43
+ </template>
44
+ </nm-box>
45
+ <div ref="arrow" class="advanced-arrow" />
46
+ </section>
47
+ </transition>
48
+ </section>
49
+ </template>
50
+ <script>
51
+ const defaultAdvanced = {
52
+ // 是否开启
53
+ enabled: false,
54
+ // 宽度
55
+ width: '400px',
56
+ // 高度
57
+ height: '',
58
+ // 表单标签宽度
59
+ labelWidth: '100px',
60
+ // 内联表单
61
+ inline: false
62
+ }
63
+ export default {
64
+ data() {
65
+ return {
66
+ // 是否显示高级查询
67
+ showAdvanced: false
68
+ }
69
+ },
70
+ props: {
71
+ /** 输入框的宽度 */
72
+ inputWidth: {
73
+ type: String,
74
+ default: '160px'
75
+ },
76
+ /** 查询模型 */
77
+ model: Object,
78
+ /** 验证规则 */
79
+ rules: Object,
80
+ /** 高级查询属性 */
81
+ advanced: Object,
82
+ /** 不显示按钮图标 */
83
+ noSearchButtonIcon: Boolean,
84
+ /** 不需要查询 */
85
+ noSearch: Boolean,
86
+ /**不显示查询按钮 */
87
+ noReset: Boolean,
88
+ /**显示导出按钮 */
89
+ exportEnabled: Boolean,
90
+ /**导出按钮权限编码 */
91
+ exportBtnCode: String
92
+ },
93
+ computed: {
94
+ model_() {
95
+ return this.model || {}
96
+ },
97
+ /** 高级查询设置 */
98
+ advanced_() {
99
+ const ad = this.$_.merge({}, defaultAdvanced, this.advanced)
100
+ ad.enabled = ad.enabled && !this.noSearch
101
+ return ad
102
+ },
103
+ /** 高级查询框样式 */
104
+ advancedStyle() {
105
+ return {
106
+ width: this.advanced_.width,
107
+ height: this.advanced_.height
108
+ }
109
+ }
110
+ },
111
+ methods: {
112
+ query() {
113
+ this.$parent.page.index = 1
114
+ this.$parent.query()
115
+ },
116
+ /** 表单重置 */
117
+ reset() {
118
+ if (this.$refs.normalForm) {
119
+ this.$refs.normalForm.reset()
120
+ }
121
+ if (this.$refs.advancedForm) {
122
+ this.$refs.advancedForm.reset()
123
+ }
124
+ this.$emit('reset')
125
+ },
126
+ validate(action) {
127
+ return this.$refs.normalForm.validate(action)
128
+ },
129
+ /** 高级查询按钮点击事件 */
130
+ onAdvancedClick() {
131
+ this.showAdvanced = !this.showAdvanced
132
+
133
+ if (this.showAdvanced) {
134
+ this.$nextTick(() => {
135
+ let $box = this.$refs.advancedBox
136
+ let $arrow = this.$refs.arrow
137
+ const boxWidth = $box.offsetWidth
138
+ const { x, y, width, height } = this.$refs.showAdvnacedBtn.$el.getBoundingClientRect()
139
+ let left = x + width / 2 - $box.offsetWidth / 2
140
+ // 判断右侧有没有超出页面
141
+ if (left + boxWidth > document.body.offsetWidth) {
142
+ left = document.body.offsetWidth - boxWidth - 20
143
+ // 计算箭头的位置
144
+ $arrow.style.left = x - left - 10 + width / 2 + 'px'
145
+ } else {
146
+ // 计算箭头的位置
147
+ $arrow.style.left = $box.offsetWidth / 2 + 'px'
148
+ }
149
+
150
+ $box.style.left = left + 'px'
151
+ $box.style.top = y + height + 14 + 'px'
152
+
153
+ // 设置高度
154
+ if (!this.advanced_.height) {
155
+ const boxHeader = $box.querySelector('.nm-box-header').offsetHeight
156
+ const boxFooter = $box.querySelector('.nm-box-footer').offsetHeight
157
+ let boxHeight = $box.querySelector('.nm-form').offsetHeight + boxHeader + boxFooter + 20
158
+ if (!this.advanced_.inline) {
159
+ boxHeight += 20
160
+ }
161
+ $box.style.height = boxHeight + 'px'
162
+ }
163
+ })
164
+ }
165
+ },
166
+ onExport() {
167
+ this.$parent.triggerExport()
168
+ }
169
+ },
170
+ mounted() {
171
+ this.$nextTick(() => {
172
+ this.$refs.normalForm.$el.addEventListener('keydown', e => {
173
+ if (e.keyCode === 13) {
174
+ this.query()
175
+ }
176
+ })
177
+ if (this.inputWidth) {
178
+ let inputs = this.$refs.normalForm.$el.querySelectorAll('.el-input__inner')
179
+ if (inputs) {
180
+ for (let i = 0; i < inputs.length; i++) {
181
+ inputs[i].style.width = this.inputWidth
182
+ }
183
+ }
184
+ }
185
+ })
186
+ }
187
+ }
188
+ </script>
@@ -0,0 +1,53 @@
1
+ <template>
2
+ <el-dropdown class="nm-list-select-column" :size="fontSize" trigger="click" :hide-on-click="false" @visible-change="onVisible">
3
+ <span>
4
+ 选择列
5
+ <i class="el-icon--right" :class="[visible ? 'el-icon-arrow-up' : 'el-icon-arrow-down']"></i>
6
+ </span>
7
+ <el-dropdown-menu slot="dropdown">
8
+ <el-dropdown-item>
9
+ <el-checkbox :indeterminate="isIndeterminate" v-model="checkAll" @change="handleCheckAllChange">全选</el-checkbox>
10
+ </el-dropdown-item>
11
+ <el-checkbox-group v-model="selection" @change="change">
12
+ <el-dropdown-item v-for="col in columns" :key="col.name">
13
+ <el-checkbox v-if="col.label !== ''" :label="col.name" :checked="col.show">{{ col.label }}</el-checkbox>
14
+ </el-dropdown-item>
15
+ </el-checkbox-group>
16
+ </el-dropdown-menu>
17
+ </el-dropdown>
18
+ </template>
19
+ <script>
20
+ export default {
21
+ data() {
22
+ return {
23
+ checkAll: false,
24
+ isIndeterminate: true,
25
+ selection: [],
26
+ visible: false
27
+ }
28
+ },
29
+ props: ['columns'],
30
+ methods: {
31
+ change() {
32
+ let checkedCount = this.selection.length
33
+ this.checkAll = checkedCount === this.columns.length
34
+ this.isIndeterminate = checkedCount > 0 && checkedCount < this.columns.length
35
+ this.handleEvent()
36
+ },
37
+ handleCheckAllChange(val) {
38
+ this.selection = val ? this.columns.map(item => item.name) : []
39
+ this.isIndeterminate = false
40
+ this.handleEvent()
41
+ },
42
+ handleEvent() {
43
+ this.columns.forEach(col => {
44
+ col.show = !this.selection.every(name => name !== col.name)
45
+ })
46
+ this.$emit('change')
47
+ },
48
+ onVisible(visible) {
49
+ this.visible = visible
50
+ }
51
+ }
52
+ }
53
+ </script>
@@ -0,0 +1,210 @@
1
+ <template>
2
+ <section class="nm-list-body-table">
3
+ <el-table
4
+ ref="table"
5
+ headerRowClassName="nm-list-body-table-header"
6
+ border
7
+ stripe
8
+ highlight-current-row
9
+ :show-summary="showSummary"
10
+ :sum-text="sumText"
11
+ :summary-method="summaryMethod"
12
+ :size="fontSize"
13
+ :height="height"
14
+ :span-method="spanMethod"
15
+ :data="rows"
16
+ :tree-props="treeProps"
17
+ :row-key="rowKey"
18
+ :lazy="lazy"
19
+ :load="load"
20
+ :default-expand-all="defaultExpandAll"
21
+ v-on="on"
22
+ >
23
+ <slot />
24
+ </el-table>
25
+ </section>
26
+ </template>
27
+ <script>
28
+ export default {
29
+ data() {
30
+ return {
31
+ on: {
32
+ select: this.onSelect,
33
+ 'select-all': this.onSelectAll,
34
+ 'selection-change': this.onSelectionChange,
35
+ 'cell-mouse-enter': this.onCellMouseEnter,
36
+ 'cell-mouse-leave': this.onCellMouseLeave,
37
+ 'cell-click': this.onCellClick,
38
+ 'cell-dblclick': this.onCellDblclick,
39
+ 'row-click': this.onRowClick,
40
+ 'row-contextmenu': this.onRowContextmenu,
41
+ 'row-dblclick': this.onRowDblclick,
42
+ 'header-click': this.onHeaderClick,
43
+ 'header-contextmenu': this.onHeaderContextmenu,
44
+ 'sort-change': this.onSortChange,
45
+ 'current-change': this.onCurrentChange,
46
+ 'expand-change': this.onExpandChange
47
+ }
48
+ }
49
+ },
50
+ props: {
51
+ /** 高度 */
52
+ height: {
53
+ type: String,
54
+ default: '100%'
55
+ },
56
+ /** 数据 */
57
+ rows: Array,
58
+ /** 合并行列方法 */
59
+ spanMethod: Function,
60
+ /**渲染嵌套数据的配置选项 */
61
+ treeProps: Object,
62
+ /*行数据的 Key,用来优化 Table 的渲染;
63
+ 在使用 reserve-selection 功能与显示树形数据时,该属性是必填的。
64
+ 类型为 String 时,支持多层访问:user.info.id,但不支持 user.info[0].id,此种情况请使用 Function。*/
65
+ rowKey: [Function, String],
66
+ /*是否懒加载子节点数据*/
67
+ lazy: Boolean,
68
+ /**加载子节点数据的函数,lazy 为 true 时生效,函数第二个参数包含了节点的层级信息 */
69
+ load: Function,
70
+ /**是否默认展开所有行,当 Table 包含展开行存在或者为树形表格时有效 */
71
+ defaultExpandAll: Boolean,
72
+ /**当刷新时不清空已选择数据 */
73
+ noClearSelection: Boolean,
74
+ /**是否显示合计行 */
75
+ showSummary: Boolean,
76
+ /**合计行文本 */
77
+ sumText: String,
78
+ /**合计行自定义逻辑方法 */
79
+ summaryMethod: Function
80
+ },
81
+ methods: {
82
+ /** 清除排序 */
83
+ clearSort() {
84
+ this.$refs.table.clearSort()
85
+ },
86
+ /** 滚动到顶部 */
87
+ scrollTop() {
88
+ this.$nextTick(() => {
89
+ this.$el.querySelector('.el-table__body-wrapper').scrollTop = 0
90
+ })
91
+ },
92
+ /** 重绘布局 */
93
+ doLayout() {
94
+ this.$nextTick(() => {
95
+ this.$refs.table.doLayout()
96
+ })
97
+ },
98
+ /** 用于多选表格,切换某一行的选中状态,如果使用了第二个参数,则是设置这一行选中与否(selected 为 true 则选中) */
99
+ toggleRowSelection(row, selected) {
100
+ this.$refs.table.toggleRowSelection(row, selected)
101
+ },
102
+ /** 当用户手动勾选数据行的 Checkbox 时触发的事件 */
103
+ onSelect(selection, row) {
104
+ if (this.noClearSelection) {
105
+ let hasSelection = this.$parent.selection
106
+ if (!selection.every(m => m.id !== row.id)) {
107
+ //添加
108
+ hasSelection.push(row)
109
+ } else {
110
+ //移除
111
+ for (let i = 0; i < hasSelection.length; i++) {
112
+ if (hasSelection[i].id == row.id) {
113
+ hasSelection.splice(i, 1)
114
+ break
115
+ }
116
+ }
117
+ }
118
+ }
119
+ this.$parent.$emit('select', selection, row)
120
+ },
121
+ /** 当用户手动勾选全选 Checkbox 时触发的事件 */
122
+ onSelectAll(selection) {
123
+ if (this.noClearSelection) {
124
+ let hasSelection = this.$parent.selection
125
+ if (selection.length > 0) {
126
+ this.rows.forEach(m => {
127
+ if (!hasSelection.every(n => n.id !== m.id)) {
128
+ hasSelection.push(m)
129
+ }
130
+ })
131
+ } else {
132
+ //移除
133
+ this.rows.forEach(m => {
134
+ for (let i = 0; i < hasSelection.length; i++) {
135
+ if (hasSelection[i].id == m.id) {
136
+ hasSelection.splice(i, 1)
137
+ break
138
+ }
139
+ }
140
+ })
141
+ }
142
+ }
143
+ this.$parent.$emit('select-all', this.$parent.selection)
144
+ },
145
+ /** 当选择项发生变化时会触发该事件 */
146
+ onSelectionChange(selection) {
147
+ if (!this.noClearSelection) {
148
+ this.$parent.selection = selection
149
+ }
150
+ this.$parent.$emit('selection-change', this.$parent.selection)
151
+ },
152
+ /** 当单元格 hover 进入时会触发该事件 */
153
+ onCellMouseEnter(row, column, cell, event) {
154
+ this.$parent.$emit('cell-mouse-enter', row, column, cell, event)
155
+ },
156
+ /** 当单元格 hover 退出时会触发该事件 */
157
+ onCellMouseLeave(row, column, cell, event) {
158
+ this.$parent.$emit('cell-mouse-leave', row, column, cell, event)
159
+ },
160
+ /** 当某个单元格被点击时会触发该事件 */
161
+ onCellClick(row, column, cell, event) {
162
+ this.$parent.$emit('cell-click', row, column, cell, event)
163
+ },
164
+ /** 当某个单元格被双击击时会触发该事件 */
165
+ onCellDblclick(row, column, cell, event) {
166
+ this.$parent.$emit('cell-dblclick', row, column, cell, event)
167
+ },
168
+ /** 当某一行被点击时会触发该事件 */
169
+ onRowClick(row, event, column) {
170
+ this.$parent.$emit('row-click', row, event, column)
171
+ },
172
+ /** 当某一行被鼠标右键点击时会触发该事件 */
173
+ onRowContextmenu(row, event) {
174
+ this.$parent.$emit('row-contextmenu', row, event)
175
+ },
176
+ /** 当某一行被双击时会触发该事件 */
177
+ onRowDblclick(row, event) {
178
+ this.$parent.$emit('row-dblclick', row, event)
179
+ },
180
+ /** 当某一列的表头被点击时会触发该事件 */
181
+ onHeaderClick(column, event) {
182
+ this.$parent.$emit('header-click', column, event)
183
+ },
184
+ /** 当某一列的表头被鼠标右键点击时触发该事件 */
185
+ onHeaderContextmenu(column, event) {
186
+ this.$parent.$emit('header-contextmenu', column, event)
187
+ },
188
+ /** 当表格的排序条件发生变化的时候会触发该事件 */
189
+ onSortChange(val) {
190
+ this.$parent.page.sort = []
191
+ // 将排序信息转化成后端的格式
192
+ if (val.prop !== null) {
193
+ this.$parent.page.sort.push({ field: val.prop, type: val.order === 'ascending' ? 0 : 1 })
194
+ }
195
+
196
+ this.$parent.refresh()
197
+
198
+ this.$parent.$emit('sort-change', this.$parent.page.sort, val)
199
+ },
200
+ /** 当表格的当前行发生变化的时候会触发该事件,如果要高亮当前行,请打开表格的 highlight-current-row 属性 */
201
+ onCurrentChange(currentRow, oldCurrentRow) {
202
+ this.$parent.$emit('current-change', currentRow, oldCurrentRow)
203
+ },
204
+ /**当用户对某一行展开或者关闭的时候会触发该事件(展开行时,回调的第二个参数为 expandedRows;树形表格时第二参数为 expanded) */
205
+ onExpandChange(currentRow, expandedRows) {
206
+ this.$parent.$emit('expand-change', currentRow, expandedRows)
207
+ }
208
+ }
209
+ }
210
+ </script>
@@ -0,0 +1,63 @@
1
+ // 默认列信息
2
+ const columnInfo = {
3
+ // 列的字段名称
4
+ name: '',
5
+ // 列的显示名称
6
+ label: '',
7
+ // 宽度
8
+ width: '',
9
+ // 排序
10
+ sortable: false,
11
+ // 固定列
12
+ fixed: false,
13
+ // 对其方式
14
+ align: 'center',
15
+ // 表头对其方式
16
+ headerAlign: 'center',
17
+ // 是否显示
18
+ show: true,
19
+ // 格式化,暂时针对日期,采用dayjs组件 https://github.com/iamkun/dayjs/blob/dev/docs/zh-cn/API-reference.md
20
+ format: '',
21
+ // 当内容过长被隐藏时显示 tooltip
22
+ showOverflowTooltip: true,
23
+ //导出配置
24
+ export: {
25
+ //导出列宽
26
+ width: 0
27
+ }
28
+ }
29
+
30
+ //默认导出配置
31
+ const exportOptions = {
32
+ /**启用导出功能 */
33
+ enabled: false,
34
+ /**导出数据的方法 */
35
+ action: null,
36
+ /**开启高级选项 */
37
+ advanced: false,
38
+ /**高级选项显示模式,drawer/dialog */
39
+ showMode: 'drawer',
40
+ /**按钮位置,tool:右上角工具栏 querybar:查询栏里面 */
41
+ btnLocation: 'tool',
42
+ /**按钮编码,用于控制按钮权限 */
43
+ btnCode: '',
44
+ /**默认导出格式 */
45
+ format: 0,
46
+ /**默认导出模式 */
47
+ mode: 0,
48
+ /**默认是否显示标题 */
49
+ showTitle: true,
50
+ /**默认是否显示版权信息 */
51
+ showCopyright: false,
52
+ /**默认是否显示列名 */
53
+ showColName: true,
54
+ /**默认是否显示导出日期 */
55
+ showExportDate: false,
56
+ /**默认是否显示导出人 */
57
+ showExportPeople: false
58
+ }
59
+
60
+ export default {
61
+ columnInfo,
62
+ exportOptions
63
+ }