import Vue from 'vue'; import axios from './router/axios'; import VueAxios from 'vue-axios'; import App from './App'; import router from './router/router'; import './permission'; // 权限 import './error'; // 日志 import './cache';//页面缓存 import store from './store'; import {loadStyle} from './util/util' import * as urls from '@/config/env'; import Element from 'element-ui'; import { iconfontUrl, iconfontVersion } from '@/config/env'; import i18n from './lang'; // Internationalization import './styles/common.scss'; import basicBlock from './components/basic-block/main'; import basicContainer from './components/basic-container/main'; import thirdRegister from './components/third-register/main'; import flowDesign from './components/flow-design/main'; import avueUeditor from 'avue-plugin-ueditor'; import website from '@/config/website'; import crudCommon from '@/mixins/crud'; import Divider from '@/components/Divider/index' import '@/directive/el-drag-dialog/dialogDrag' //表单组件 import basicForm from "@/components/PLT-basic-component/basicForm"; // 业务组件 import tenantPackage from './views/system/tenantpackage'; // 基础绑定表单按钮 import dynamicButton from '@/components/dynamic-components/dynamic-button' // 基础动态弹窗表单组件 import dynamicTableForm from '@/components/dynamic-components/dynamic-table-form' // ui定义表单组件 import dynamicForm from '@/components/dynamic-components/dynamic-form' // 富文本组件 import richText from '@/components/PLT-basic-component/richText' // 上传文件组件 import UploadFiles from '@/components/PLT-basic-component/Upload-files' // 表单上传文件组件 import formUpload from "@/components/PLT-basic-component/formUpload"; // 穿梭框组件 import transfer from "@/components/PLT-basic-component/transfer"; // 注册全局容器 Vue.component('basicContainer', basicContainer); Vue.component('basicBlock', basicBlock); Vue.component('basicForm', basicForm); Vue.component('thirdRegister', thirdRegister); Vue.component('avueUeditor', avueUeditor); Vue.component('flowDesign', flowDesign); Vue.component('tenantPackage', tenantPackage); Vue.component('dynamicButton', dynamicButton); Vue.component('dynamicTableForm', dynamicTableForm); Vue.component('dynamicForm', dynamicForm); Vue.component('richText', richText); Vue.component('UploadFiles', UploadFiles); Vue.component('formUpload', formUpload); Vue.component('Divider', Divider); Vue.component('transfer', transfer); import 'quill/dist/quill.core.css' import 'quill/dist/quill.snow.css' import 'quill/dist/quill.bubble.css' import VueQuillEditor from 'vue-quill-editor' Vue.use(VueQuillEditor) // 注册全局crud驱动 window.$crudCommon = crudCommon; // 加载Vue拓展 Vue.use(router); Vue.use(VueAxios, axios); Vue.use(Element, { i18n: (key, value) => i18n.t(key, value) }); Vue.use(window.AVUE, { size: 'small', tableSize: 'small', calcHeight: 65, i18n: (key, value) => i18n.t(key, value) }); // 加载相关url地址 Object.keys(urls).forEach(key => { Vue.prototype[key] = urls[key]; }); // 加载NutFlow Vue.use(window.WfDesignBase); // 加载website Vue.prototype.website = website; // 动态加载阿里云字体库 iconfontVersion.forEach(ele => { loadStyle(iconfontUrl.replace('$key', ele)); }); Vue.config.productionTip = false; new Vue({ router, store, i18n, render: h => h(App) }).$mount('#app');