index.ts 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  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. ElCollapse,
  56. ElCollapseItem,
  57. ElCard,
  58. ElTreeSelect
  59. // ElFormItem,
  60. // ElOption
  61. } from 'element-plus'
  62. import FcDesigner from '@form-create/designer'
  63. import formCreate from '@form-create/element-ui'
  64. import install from '@form-create/element-ui/auto-import'
  65. //======================= 自定义组件 =======================
  66. import { UploadFile, UploadImg, UploadImgs } from '@/components/UploadFile'
  67. import { useApiSelect } from '@/components/FormCreate'
  68. import { Editor } from '@/components/Editor'
  69. import DictSelect from '@/components/FormCreate/src/components/DictSelect.vue'
  70. const UserSelect = useApiSelect({
  71. name: 'UserSelect',
  72. labelField: 'nickname',
  73. valueField: 'id',
  74. url: '/system/user/simple-list'
  75. })
  76. const DeptSelect = useApiSelect({
  77. name: 'DeptSelect',
  78. labelField: 'name',
  79. valueField: 'id',
  80. url: '/system/dept/simple-list'
  81. })
  82. const ApiSelect = useApiSelect({
  83. name: 'ApiSelect'
  84. })
  85. const components = [
  86. ElAlert,
  87. ElTransfer,
  88. ElAside,
  89. ElContainer,
  90. ElDivider,
  91. ElHeader,
  92. ElMain,
  93. ElPopconfirm,
  94. ElTable,
  95. ElTableColumn,
  96. ElTabPane,
  97. ElTabs,
  98. ElTreeSelect,
  99. ElDropdown,
  100. ElDropdownMenu,
  101. ElDropdownItem,
  102. ElBadge,
  103. ElTag,
  104. ElText,
  105. ElMenu,
  106. ElMenuItem,
  107. ElFooter,
  108. ElMessage,
  109. // ElFormItem,
  110. // ElOption,
  111. UploadImg,
  112. UploadImgs,
  113. UploadFile,
  114. DictSelect,
  115. UserSelect,
  116. DeptSelect,
  117. ApiSelect,
  118. Editor,
  119. ElCollapse,
  120. ElCollapseItem,
  121. ElCard
  122. ]
  123. // 参考 http://www.form-create.com/v3/element-ui/auto-import.html 文档
  124. export const setupFormCreate = (app: App<Element>) => {
  125. components.forEach((component) => {
  126. app.component(component.name, component)
  127. })
  128. formCreate.use(install)
  129. app.use(formCreate)
  130. app.use(FcDesigner)
  131. }