main.ts 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. import { createApp } from 'vue'
  2. import { createPinia } from 'pinia'
  3. import 'uno.css'
  4. import ElementPlus from 'element-plus'
  5. import 'element-plus/dist/index.css'
  6. import * as ElementPlusIconsVue from '@element-plus/icons-vue'
  7. import registerCopmponent from '@/components/index'
  8. import { install } from '@icon-park/vue-next/es/all'
  9. import 'xe-utils'
  10. import {
  11. // VXETable,
  12. Filter,
  13. Edit,
  14. Menu,
  15. Export,
  16. Keyboard,
  17. Validator,
  18. // 可选组件
  19. Icon,
  20. Column,
  21. // Colgroup,
  22. // Grid,
  23. Tooltip,
  24. Toolbar,
  25. Pager,
  26. // Form,
  27. // FormItem,
  28. // FormGather,
  29. Checkbox,
  30. CheckboxGroup,
  31. Radio,
  32. RadioGroup,
  33. RadioButton,
  34. Switch,
  35. Input,
  36. Select,
  37. Optgroup,
  38. Option,
  39. // Textarea,
  40. Button,
  41. Modal,
  42. // List,
  43. // Pulldown,
  44. // 表格
  45. Table
  46. } from 'vxe-table'
  47. import App from './App.vue'
  48. import router from './router'
  49. import './assets/main.css'
  50. import 'virtual:svg-icons-register'
  51. function useTable(app: any) {
  52. // 表格功能
  53. app.use(Filter).use(Edit).use(Menu).use(Export).use(Keyboard).use(Validator)
  54. // 可选组件
  55. app
  56. .use(Icon)
  57. .use(Column)
  58. // .use(Colgroup)
  59. // .use(Grid)
  60. .use(Tooltip)
  61. .use(Toolbar)
  62. .use(Pager)
  63. // .use(Form)
  64. // .use(FormItem)
  65. // .use(FormGather)
  66. .use(Checkbox)
  67. .use(CheckboxGroup)
  68. .use(Radio)
  69. .use(RadioGroup)
  70. .use(RadioButton)
  71. .use(Switch)
  72. .use(Input)
  73. .use(Select)
  74. .use(Optgroup)
  75. .use(Option)
  76. // .use(Textarea)
  77. .use(Button)
  78. .use(Modal)
  79. // .use(List)
  80. // .use(Pulldown)
  81. // 安装表格
  82. .use(Table)
  83. // 给 vue 实例挂载内部对象,例如:
  84. // app.config.globalProperties.$XModal = VXETable.modal
  85. // app.config.globalProperties.$XPrint = VXETable.print
  86. // app.config.globalProperties.$XSaveFile = VXETable.saveFile
  87. // app.config.globalProperties.$XReadFile = VXETable.readFile
  88. }
  89. const app = createApp(App)
  90. app.use(createPinia())
  91. app.use(router)
  92. app.use(ElementPlus)
  93. app.use(useTable)
  94. registerCopmponent(app)
  95. for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
  96. app.component(key, component)
  97. }
  98. install(app)
  99. app.mount('#app')