import { createApp, Directive } from 'vue'; import App from './App.vue'; import router from '@/router'; import { setupStore } from '@/store'; import ElementPlus from 'element-plus'; import * as ElementPlusIconsVue from '@element-plus/icons-vue' import Pagination from '@/components/Pagination/index.vue'; import 'dayjs/locale/zh-cn' import '@/permission'; // 引入svg注册脚本 import 'virtual:svg-icons-register'; // 国际化 import i18n from '@/lang/index'; import '@/styles/index.scss'; import 'element-plus/theme-chalk/index.css'; import Drag from '@/utils/drag' const app = createApp(App); // 自定义指令 import * as directive from '@/directive'; Object.keys(directive).forEach(key => { app.directive(key, (directive as { [key: string]: Directive })[key]); }); for (const [key, component] of Object.entries(ElementPlusIconsVue)) { app.component(key, component) } app.config.globalProperties.tableBg = { background: '#002b6a', color: '#B5D7FF', height: '50px'} // table背影颜色 // 全局方法 import { getDictionaries } from '@/api/dict'; app.config.globalProperties.$getDictionaries = getDictionaries; app.use(Drag) // 全局挂载 setupStore(app); app .component('Pagination', Pagination) .use(router) .use(ElementPlus) .use(i18n) .mount('#app');