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,500 @@
1
+ <template>
2
+ <section :class="class_" v-loading="showLoading" :element-loading-text="loadingText || loadingText_" :element-loading-background="loadingBackground" :element-loading-spinner="loadingSpinner">
3
+ <!--header-->
4
+ <query-header
5
+ v-if="!noHeader"
6
+ :title="title"
7
+ :icon="icon"
8
+ :no-fullscreen="noFullscreen"
9
+ :fullscreen="fullscreen"
10
+ :no-refresh="noRefresh"
11
+ :export-enabled="exportOptions_.enabled && exportOptions_.btnLocation !== 'querybar'"
12
+ :exportBtnCode="exportOptions_.btnCode"
13
+ >
14
+ <template v-slot:toolbar>
15
+ <slot name="header-toolbar" :total="total" :selection="selection" />
16
+ </template>
17
+ </query-header>
18
+
19
+ <!--查询栏-->
20
+ <querybar
21
+ ref="querybar"
22
+ v-if="!noQuerybar"
23
+ :model="model"
24
+ :rules="rules"
25
+ :input-width="inputWidth"
26
+ :advanced="advanced"
27
+ :no-search="noSearch"
28
+ :no-reset="noReset"
29
+ :export-enabled="exportOptions_.enabled && exportOptions_.btnLocation === 'querybar'"
30
+ :export-btn-code="exportOptions_.btnCode"
31
+ @reset="onQueryBarReset"
32
+ >
33
+ <template v-slot>
34
+ <slot name="querybar" />
35
+ </template>
36
+ <template v-slot:buttons>
37
+ <slot name="querybar-buttons" :total="total" :selection="selection" />
38
+ </template>
39
+ <template v-slot:advanced>
40
+ <slot name="querybar-advanced" />
41
+ </template>
42
+ </querybar>
43
+
44
+ <section class="nm-list-body">
45
+ <query-table
46
+ ref="table"
47
+ :rows="rows"
48
+ :cols="cols"
49
+ :span-method="spanMethod"
50
+ :selection="selection"
51
+ :row-key="rowKey"
52
+ :tree-props="treeProps"
53
+ :default-expand-all="defaultExpandAll"
54
+ :no-clear-selection="noClearSelection"
55
+ :show-summary="showSummary"
56
+ :sum-text="sumText"
57
+ :summary-method="summaryMethod"
58
+ >
59
+ <!-- 多选 -->
60
+ <el-table-column v-if="multiple" fixed="left" align="center" type="selection" width="55" />
61
+
62
+ <!-- 序号 -->
63
+ <el-table-column v-if="showNo" fixed="left" align="center" type="index" :index="getNo">
64
+ <template v-slot:header>
65
+ <slot name="col-no-header">{{ serialNumberName || '#' }}</slot>
66
+ </template>
67
+ <template slot-scope="{ row, $index }">
68
+ <div class="nm-list-no">
69
+ <slot name="col-no" :row="row">{{ getNo($index) }}</slot>
70
+ </div>
71
+ </template>
72
+ </el-table-column>
73
+
74
+ <!-- 自动生成列 -->
75
+ <template v-for="(col, i) in columns">
76
+ <el-table-column
77
+ v-if="col.show"
78
+ :key="i"
79
+ :prop="col.name"
80
+ :width="col.width"
81
+ :sortable="col.sortable"
82
+ :type="col.type"
83
+ :fixed="col.fixed"
84
+ :align="col.align"
85
+ :header-align="col.headerAlign"
86
+ :show-overflow-tooltip="col.showOverflowTooltip"
87
+ >
88
+ <!--自定义头-->
89
+ <template v-slot:header>
90
+ <slot :name="`col-${col.name}-header`">
91
+ <nm-icon v-if="col.icon" :name="col.icon" />
92
+ {{ col.label }}
93
+ </slot>
94
+ </template>
95
+
96
+ <template slot-scope="{ row }">
97
+ <slot :name="'col-' + col.name" :row="row" :rows="rows">{{ format(row, col) }}</slot>
98
+ </template>
99
+ </el-table-column>
100
+ </template>
101
+
102
+ <!-- 操作列 -->
103
+ <el-table-column v-if="!noOperation" :width="operationWidth" fixed="right" align="center" label="操作">
104
+ <template v-slot:header>
105
+ <slot name="col-operation-header">操作</slot>
106
+ </template>
107
+ <template slot-scope="{ row }">
108
+ <div class="nm-list-operation">
109
+ <slot name="col-operation" :row="row" :rows="rows" />
110
+ </div>
111
+ </template>
112
+ </el-table-column>
113
+ </query-table>
114
+ </section>
115
+
116
+ <!--footer-->
117
+ <query-footer
118
+ v-if="!noFooter"
119
+ v-model="page"
120
+ :page-sizes="pageSizes"
121
+ :total="total"
122
+ :columns.sync="columns"
123
+ :no-select-column="noSelectColumn"
124
+ :no-search-button-icon="noSearchButtonIcon"
125
+ :reverse="footerReverse"
126
+ >
127
+ <slot name="footer" :total="total" :selection="selection" :data="data" />
128
+ </query-footer>
129
+ <slot />
130
+
131
+ <!--导出-->
132
+ <query-export v-if="exportAdvancedEnabled" :options="exportOptions_" :list-title="title" :cols="columns" :visible.sync="showExport" />
133
+ </section>
134
+ </template>
135
+ <script>
136
+ import { mapState } from 'vuex'
137
+ import def from './default.js'
138
+ import QueryHeader from './components/header'
139
+ import Querybar from './components/querybar'
140
+ import QueryTable from './components/table'
141
+ import QueryFooter from './components/footer'
142
+ import QueryExport from './components/export'
143
+
144
+ export default {
145
+ name: 'List',
146
+ components: { QueryHeader, Querybar, QueryTable, QueryFooter, QueryExport },
147
+ data() {
148
+ return {
149
+ loading_: false,
150
+ fullscreen: false,
151
+ // 分页数据
152
+ page: {
153
+ index: 1,
154
+ size: this.pageSizes[0],
155
+ sort: []
156
+ },
157
+ // 数据列表
158
+ rows: [],
159
+ // 扩展数据
160
+ data: '',
161
+ // 总数量
162
+ total: 0,
163
+ selection: [],
164
+ showExport: false,
165
+ columns: []
166
+ }
167
+ },
168
+ props: {
169
+ /** 标题 */
170
+ title: String,
171
+ /** 图标 */
172
+ icon: String,
173
+ // 查询方法
174
+ action: {
175
+ type: Function,
176
+ required: true
177
+ },
178
+ /** 查询表单输入框宽度 */
179
+ inputWidth: String,
180
+ // 模型
181
+ model: Object,
182
+ /** 模型验证规则 */
183
+ rules: Object,
184
+ /** 高级查询 */
185
+ advanced: Object,
186
+ // 列数组
187
+ cols: {
188
+ type: Array,
189
+ default() {
190
+ return []
191
+ }
192
+ },
193
+ /** 多选 */
194
+ multiple: Boolean,
195
+ /** 显示序号 */
196
+ showNo: {
197
+ type: Boolean,
198
+ default: true
199
+ },
200
+ /** 不显示操作列 */
201
+ noOperation: Boolean,
202
+ /** 操作列宽度 */
203
+ operationWidth: [String, Number],
204
+ /** 不显示选择列按钮 */
205
+ noSelectColumn: Boolean,
206
+ /** 不显示查询栏 */
207
+ noQuerybar: Boolean,
208
+ /** 不显示全屏按钮 */
209
+ noFullscreen: Boolean,
210
+ /** 不显示刷新按钮 */
211
+ noRefresh: Boolean,
212
+ /** 不显示头部 */
213
+ noHeader: Boolean,
214
+ /** 不显示底部 */
215
+ noFooter: Boolean,
216
+ /** 不包含搜索功能 */
217
+ noSearch: Boolean,
218
+ /** 不显示查询按钮图标 */
219
+ noSearchButtonIcon: Boolean,
220
+ /**不显示重置按钮 */
221
+ noReset: Boolean,
222
+ /** 底部反转 */
223
+ footerReverse: Boolean,
224
+ /** 合并行列的方法 */
225
+ spanMethod: Function,
226
+ /** 加载中动画 */
227
+ loading: Boolean,
228
+ /** 加载中文本 */
229
+ loadingText: String,
230
+ /** 创建后执行一次查询 */
231
+ queryOnCreated: {
232
+ type: Boolean,
233
+ default: true
234
+ },
235
+ /**导出配置 */
236
+ exportOptions: Object,
237
+ /** 页数选择项 */
238
+ pageSizes: {
239
+ type: Array,
240
+ default() {
241
+ return [10, 15, 50, 100]
242
+ }
243
+ },
244
+ /**渲染嵌套数据的配置选项 */
245
+ treeProps: Object,
246
+ /*行数据的 Key,用来优化 Table 的渲染;
247
+ 在使用 reserve-selection 功能与显示树形数据时,该属性是必填的。
248
+ 类型为 String 时,支持多层访问:user.info.id,但不支持 user.info[0].id,此种情况请使用 Function。*/
249
+ rowKey: [Function, String],
250
+ /*是否懒加载子节点数据*/
251
+ lazy: Boolean,
252
+ /**加载子节点数据的函数,lazy 为 true 时生效,函数第二个参数包含了节点的层级信息 */
253
+ load: Function,
254
+ /**是否默认展开所有行,当 Table 包含展开行存在或者为树形表格时有效 */
255
+ defaultExpandAll: Boolean,
256
+ /**当刷新时不清空已选择数据 */
257
+ noClearSelection: Boolean,
258
+ /**是否显示合计行 */
259
+ showSummary: Boolean,
260
+ /**合计行文本 */
261
+ sumText: String,
262
+ /**合计行自定义逻辑方法 */
263
+ summaryMethod: Function
264
+ },
265
+ computed: {
266
+ ...mapState('app/loading', { loadingText_: 'text', loadingBackground: 'background', loadingSpinner: 'spinner' }),
267
+ ...mapState('app/config', { serialNumberName: s => s.component.list.serialNumberName }),
268
+ class_() {
269
+ return ['nm-list', this.fontSize ? `nm-list-${this.fontSize}` : '', this.fullscreen ? 'fullscreen' : '']
270
+ },
271
+ showLoading() {
272
+ return this.loading || this.loading_
273
+ },
274
+ exportOptions_() {
275
+ return this.$_.assignIn({ title: this.title }, def.exportOptions, this.exportOptions)
276
+ },
277
+ exportAdvancedEnabled() {
278
+ return this.exportOptions_.enabled && this.exportOptions_.advanced
279
+ }
280
+ },
281
+ methods: {
282
+ /** 查询方法 */
283
+ query() {
284
+ if (this.$refs.querybar) {
285
+ this.$refs.querybar.validate(() => {
286
+ this.doQuery()
287
+ })
288
+ } else {
289
+ this.doQuery()
290
+ }
291
+ },
292
+ doQuery() {
293
+ if (this.loading_) {
294
+ return
295
+ }
296
+
297
+ this.loading_ = true
298
+ let fullModel = Object.assign({}, this.model)
299
+
300
+ // 设置分页
301
+ fullModel.page = this.page
302
+
303
+ this.action(fullModel)
304
+ .then(data => {
305
+ this.rows = data.rows
306
+ this.total = data.total
307
+ this.data = data.data
308
+
309
+ // 回到顶部
310
+ this.$refs.table.scrollTop()
311
+ // 重新绘制布局
312
+ this.$refs.table.doLayout()
313
+ this.loading_ = false
314
+
315
+ if (this.noClearSelection) {
316
+ this.$nextTick(() => {
317
+ this.rows.forEach(m => {
318
+ if (!this.selection.every(n => n.id !== m.id)) {
319
+ this.$refs.table.toggleRowSelection(m, true)
320
+ }
321
+ })
322
+ })
323
+ }
324
+ // 查询事件
325
+ this.$emit('query', data)
326
+ })
327
+ .catch(() => {
328
+ this.loading_ = false
329
+ })
330
+ },
331
+ export_(exportModel) {
332
+ if (!exportModel.columns || exportModel.columns.length < 1) {
333
+ this._error('请选择要导出的列')
334
+ return
335
+ }
336
+ if (!this.exportOptions_.action) {
337
+ this._error('未设置导出方法')
338
+ return
339
+ }
340
+
341
+ this._openLoading('正在导出数据,请稍后...')
342
+
343
+ let model = Object.assign({}, this.model)
344
+
345
+ // 设置分页
346
+ model.page = this.page
347
+ //设置导出信息
348
+ model.export = exportModel
349
+ this.exportOptions_
350
+ .action(model)
351
+ .then(() => {
352
+ this._closeLoading()
353
+ })
354
+ .catch(() => {
355
+ this._closeLoading()
356
+ })
357
+ },
358
+ /** 刷新 */
359
+ refresh(goFirst) {
360
+ if (goFirst) this.page.index = 1
361
+ this.query()
362
+ },
363
+ /** 查询表单重置 */
364
+ reset() {
365
+ this.$refs.querybar.reset()
366
+ },
367
+ /** 获取序号 */
368
+ getNo(index) {
369
+ return (this.page.index - 1) * this.page.size + index + 1
370
+ },
371
+ // 重新绘制布局
372
+ doLayout() {
373
+ this.$refs.table.doLayout()
374
+ },
375
+ /** 全屏切换 */
376
+ triggerFullscreen() {
377
+ this.fullscreen ? this.closeFullscreen() : this.openFullscreen()
378
+ this.doLayout()
379
+ },
380
+ /** 开启全屏 */
381
+ openFullscreen() {
382
+ this.fullscreen = true
383
+ this.$emit('fullscreen-change', this.fullscreen)
384
+ },
385
+ /** 关闭全屏 */
386
+ closeFullscreen() {
387
+ this.fullscreen = false
388
+ this.$emit('fullscreen-change', this.fullscreen)
389
+ },
390
+ /** 切换导出对话框显示状态 */
391
+ triggerExport() {
392
+ let exp = this.exportOptions_
393
+ //未启用高级,直接执行导出操作
394
+ if (!exp.advanced) {
395
+ const { format, mode, showTitle, showCopyright, showColName, showExportDate, showExportPeople } = exp
396
+
397
+ let model = { format, mode, showTitle, showCopyright, showColName, showExportDate, showExportPeople }
398
+ model.title = this.title
399
+ model.fileName = `${this.title}_${this.$dayjs().format('YYYYMMDDHHmmss')}`
400
+ model.columns = []
401
+
402
+ this.columns.forEach(m => {
403
+ if (m.show) {
404
+ model.columns.push(this.listCol2ExportCol(m))
405
+ }
406
+ })
407
+
408
+ this.export_(model)
409
+ }
410
+
411
+ this.showExport ? this.closeExport() : this.openExport()
412
+ },
413
+ /** 打开导出对话框 */
414
+ openExport() {
415
+ this.showExport = true
416
+ this.$emit('export-change', this.showExport)
417
+ },
418
+ closeExport() {
419
+ this.showExport = false
420
+ this.$emit('export-change', this.showExport)
421
+ },
422
+ /** 列表的列转导出的列 */
423
+ listCol2ExportCol(m) {
424
+ let col = {
425
+ name: m.name,
426
+ label: m.label,
427
+ align: m.align,
428
+ format: m.format,
429
+ width: 0
430
+ }
431
+
432
+ //设置导出专属vip配置~
433
+ if (m.export.width > 0) {
434
+ col.width = m.export.width
435
+ } else {
436
+ let w = parseInt(m.width)
437
+ if (w) col.width = w / 10 + 4 //默认取列表页中设置的宽度,该宽度与导出的Excel的列宽度比例大概10:1,所以这里进行一下转换, 转换后在+4,保可以保证有内边距,不会挤在一起
438
+ }
439
+ return col
440
+ },
441
+ /** 查询栏重置事件 */
442
+ onQueryBarReset() {
443
+ this.$refs.table.clearSort()
444
+ this.$emit('reset')
445
+ },
446
+ /** 删除行 */
447
+ removeRow(row) {
448
+ for (let i = 0; i < this.rows.length; i++) {
449
+ if (this.rows[i] === row) {
450
+ this.rows.splice(i, 1)
451
+ this.total--
452
+ break
453
+ }
454
+ }
455
+ },
456
+ /** 格式化 */
457
+ format(row, col) {
458
+ const val = row[col.name]
459
+ if (!col.format) return val
460
+
461
+ const format = col.format
462
+
463
+ //性别
464
+ if (format === 'sex') {
465
+ return val === 0 ? '男' : '女'
466
+ }
467
+
468
+ //日期
469
+ if (format === 'date') {
470
+ return this.$dayjs(val).format('YYYY-MM-DD')
471
+ }
472
+
473
+ //自定义函数
474
+ if (typeof format === 'function') {
475
+ return format(val, row)
476
+ }
477
+
478
+ //日期
479
+ return this.$dayjs(val).format(col.format)
480
+ }
481
+ },
482
+ mounted() {
483
+ this.$nextTick(() => {
484
+ if (this.queryOnCreated) {
485
+ this.query()
486
+ }
487
+ })
488
+ },
489
+ created() {
490
+ if (this.cols) {
491
+ this.columns = this.cols.map(col => {
492
+ return this.$_.assignIn({}, def.columnInfo, col)
493
+ })
494
+ }
495
+ },
496
+ activated() {
497
+ this.doLayout()
498
+ }
499
+ }
500
+ </script>