index.ts 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import type { App } from 'vue'
  2. // 👇使用 form-create 需额外全局引入 element plus 组件
  3. import {
  4. ElAlert,
  5. ElAside,
  6. ElContainer,
  7. ElDivider,
  8. ElHeader,
  9. ElMain,
  10. ElPopconfirm,
  11. ElTable,
  12. ElTableColumn,
  13. ElTabPane,
  14. ElTabs,
  15. ElTransfer
  16. } from 'element-plus'
  17. import FcDesigner from '@form-create/designer'
  18. import formCreate from '@form-create/element-ui'
  19. import install from '@form-create/element-ui/auto-import'
  20. //======================= 自定义组件 =======================
  21. import { UploadFile, UploadImg, UploadImgs } from '@/components/UploadFile'
  22. import { useApiSelect } from '@/components/FormCreate'
  23. import { Editor } from '@/components/Editor'
  24. import DictSelect from '@/components/FormCreate/src/components/DictSelect.vue'
  25. const UserSelect = useApiSelect({
  26. name: 'UserSelect',
  27. labelField: 'nickname',
  28. valueField: 'id',
  29. url: '/system/user/simple-list'
  30. })
  31. const DeptSelect = useApiSelect({
  32. name: 'DeptSelect',
  33. labelField: 'name',
  34. valueField: 'id',
  35. url: '/system/dept/simple-list'
  36. })
  37. const ApiSelect = useApiSelect({
  38. name: 'ApiSelect'
  39. })
  40. const components = [
  41. ElAside,
  42. ElPopconfirm,
  43. ElHeader,
  44. ElMain,
  45. ElContainer,
  46. ElDivider,
  47. ElTransfer,
  48. ElAlert,
  49. ElTabs,
  50. ElTable,
  51. ElTableColumn,
  52. ElTabPane,
  53. UploadImg,
  54. UploadImgs,
  55. UploadFile,
  56. DictSelect,
  57. UserSelect,
  58. DeptSelect,
  59. ApiSelect,
  60. Editor
  61. ]
  62. // 参考 http://www.form-create.com/v3/element-ui/auto-import.html 文档
  63. export const setupFormCreate = (app: App<Element>) => {
  64. components.forEach((component) => {
  65. app.component(component.name, component)
  66. })
  67. formCreate.use(install)
  68. app.use(formCreate)
  69. app.use(FcDesigner)
  70. }