index.ts 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. import type { App } from 'vue'
  2. // 👇使用 form-create 需额外全局引入 element plus 组件
  3. import {
  4. // ElAutocomplete,
  5. // ElButton,
  6. // ElCascader,
  7. // ElCheckbox,
  8. // ElCheckboxButton,
  9. // ElCheckboxGroup,
  10. // ElCol,
  11. // ElColorPicker,
  12. // ElDatePicker,
  13. // ElDialog,
  14. // ElForm,
  15. // ElInput,
  16. // ElInputNumber,
  17. // ElPopover,
  18. // ElRadio,
  19. // ElRadioButton,
  20. // ElRadioGroup,
  21. // ElRate,
  22. // ElRow,
  23. // ElSelect,
  24. // ElSlider,
  25. // ElSwitch,
  26. // ElTimePicker,
  27. // ElTooltip,
  28. // ElTree,
  29. // ElUpload,
  30. // ElIcon,
  31. // ElProgress,
  32. // 以上会由 @form-create/element-ui/auto-import 自动引入
  33. ElAlert,
  34. ElTransfer,
  35. ElAside,
  36. ElContainer,
  37. ElDivider,
  38. ElHeader,
  39. ElMain,
  40. ElPopconfirm,
  41. ElTable,
  42. ElTableColumn,
  43. ElTabPane,
  44. ElTabs,
  45. ElDropdown,
  46. ElDropdownMenu,
  47. ElDropdownItem,
  48. ElBadge,
  49. ElTag,
  50. ElText,
  51. ElMenu,
  52. ElMenuItem,
  53. ElFooter,
  54. ElMessage
  55. // ElFormItem,
  56. // ElOption
  57. } from 'element-plus'
  58. import FcDesigner from '@form-create/designer'
  59. import formCreate from '@form-create/element-ui'
  60. import install from '@form-create/element-ui/auto-import'
  61. //======================= 自定义组件 =======================
  62. import { UploadFile, UploadImg, UploadImgs } from '@/components/UploadFile'
  63. import { useApiSelect } from '@/components/FormCreate'
  64. import { Editor } from '@/components/Editor'
  65. import DictSelect from '@/components/FormCreate/src/components/DictSelect.vue'
  66. const UserSelect = useApiSelect({
  67. name: 'UserSelect',
  68. labelField: 'nickname',
  69. valueField: 'id',
  70. url: '/system/user/simple-list'
  71. })
  72. const DeptSelect = useApiSelect({
  73. name: 'DeptSelect',
  74. labelField: 'name',
  75. valueField: 'id',
  76. url: '/system/dept/simple-list'
  77. })
  78. const ApiSelect = useApiSelect({
  79. name: 'ApiSelect'
  80. })
  81. const components = [
  82. ElAlert,
  83. ElTransfer,
  84. ElAside,
  85. ElContainer,
  86. ElDivider,
  87. ElHeader,
  88. ElMain,
  89. ElPopconfirm,
  90. ElTable,
  91. ElTableColumn,
  92. ElTabPane,
  93. ElTabs,
  94. ElDropdown,
  95. ElDropdownMenu,
  96. ElDropdownItem,
  97. ElBadge,
  98. ElTag,
  99. ElText,
  100. ElMenu,
  101. ElMenuItem,
  102. ElFooter,
  103. ElMessage,
  104. // ElFormItem,
  105. // ElOption,
  106. UploadImg,
  107. UploadImgs,
  108. UploadFile,
  109. DictSelect,
  110. UserSelect,
  111. DeptSelect,
  112. ApiSelect,
  113. Editor
  114. ]
  115. // 参考 http://www.form-create.com/v3/element-ui/auto-import.html 文档
  116. export const setupFormCreate = (app: App<Element>) => {
  117. components.forEach((component) => {
  118. app.component(component.name, component)
  119. })
  120. formCreate.use(install)
  121. app.use(formCreate)
  122. app.use(FcDesigner)
  123. }