import {createApp} from 'vue' import ElementPlus, {useZIndex, ClickOutside, TrapFocus} from 'element-plus' import 'element-plus/dist/index.css' import 'element-plus/theme-chalk/dark/css-vars.css' import 'normalize.css' // css初始化 import '../src/css/app.scss' // 公共css import App from './App.vue' import router from './router' import * as ElementPlusIconsVue from '@element-plus/icons-vue' import zhCn from 'element-plus/es/locale/lang/zh-cn' import JsonViewer from "vue3-json-viewer"; import "vue3-json-viewer/dist/index.css"; import DataVVue3 from '@kjgl77/datav-vue3' import VXETable from 'vxe-table' import 'vxe-table/lib/style.css' import print from 'vue3-print-nb' import VElBtn from "@/directives/v-el-btn"; import VTitle from "@/directives/v-title"; import "driver.js/dist/driver.css"; import DomZIndex from 'dom-zindex' import initVxeConfig from "@/utils/xe-utils-enhance/vxe-formatter"; import VWaves from "@/directives/v-waves"; import piniaInstall from "@/pinia/pinia-install"; import VxeUIPluginRenderChart from '@vxe-ui/plugin-render-chart' import '@vxe-ui/plugin-render-chart/dist/style.css' import VxeUI from 'vxe-pc-ui' import 'vxe-pc-ui/lib/style.css' import VxeUIPluginExportXLSX from '@vxe-ui/plugin-export-xlsx' import ExcelJS from 'exceljs' DomZIndex.getNext = () => { return useZIndex().nextZIndex() } DomZIndex.getCurrent = () => { return useZIndex().currentZIndex.value } initVxeConfig() const app = createApp(App) for (const [key, component] of Object.entries(ElementPlusIconsVue)) { app.component(key, component) } piniaInstall(app) app.use(ElementPlus, {locale: zhCn, size: 'small'}) app.use(DataVVue3) app.directive('el-btn', VElBtn) app.directive('title', VTitle) app.directive('ClickOutside', ClickOutside) app.directive('Waves', VWaves) app.directive('TrapFocus', TrapFocus) app.use(print) app.use(VxeUI) app.use(VXETable) VxeUI.use(VxeUIPluginRenderChart) VxeUI.use(VxeUIPluginExportXLSX, { ExcelJS }) app.use(JsonViewer); app.use(router) app.mount('#app')