main.ts 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import { createApp } from 'vue';
  2. import pinia from '@/stores/index';
  3. import App from './App.vue';
  4. import router from './router';
  5. import { directive } from '@/directive';
  6. import other from '@/utils/other';
  7. // 引入element
  8. import ElementPlus from 'element-plus';
  9. import 'element-plus/dist/index.css';
  10. import '@/theme/index.scss';
  11. // 表格组件
  12. import ProTable from '@/components/ProTable/index.vue';
  13. import { VxeUI, VxeButton, VxeIcon, VxeModal, VxeLoading, VxeTooltip, VxeNumberInput, VxeRadioGroup, VxeTip } from 'vxe-pc-ui';
  14. import { VxeTable, VxeColumn, VxeToolbar, VxeGrid, VxeColgroup } from 'vxe-table';
  15. // 导入主题变量,也可以重写主题变量
  16. import 'vxe-table/styles/cssvar.scss';
  17. import 'vxe-pc-ui/styles/cssvar.scss';
  18. // 虚拟树的css
  19. import '@wsfe/vue-tree/style.css';
  20. // 导入默认的语言
  21. import zhCN from 'vxe-pc-ui/lib/language/zh-CN';
  22. VxeUI.setI18n('zh-CN', zhCN);
  23. VxeUI.setLanguage('zh-CN');
  24. function lazyVxeUI(app: any) {
  25. app.use(VxeButton);
  26. app.use(VxeIcon);
  27. app.use(VxeModal);
  28. app.use(VxeLoading);
  29. app.use(VxeTooltip);
  30. app.use(VxeNumberInput);
  31. app.use(VxeRadioGroup);
  32. app.use(VxeTip);
  33. }
  34. function lazyVxeTable(app: any) {
  35. app.use(VxeTable);
  36. app.use(VxeColumn);
  37. app.use(VxeColgroup);
  38. app.use(VxeGrid);
  39. app.use(VxeToolbar);
  40. }
  41. // 注册echarts
  42. import { registerEcharts } from '@/utils/echarts';
  43. const app = createApp(App);
  44. // 自定义指令和svg组件
  45. directive(app);
  46. other.elSvg(app);
  47. // 全局组件挂载
  48. app.component('ProTable', ProTable);
  49. registerEcharts(app);
  50. app.use(pinia).use(router).use(ElementPlus).use(lazyVxeUI).use(lazyVxeTable).mount('#app');