import Vue from 'vue' import 'normalize.css/normalize.css' // A modern alternative to CSS resets import Element from 'element-ui' import 'element-ui/lib/theme-chalk/index.css' import '@/styles/index.scss' // global css import '@/styles/variables.scss' // global css import '@/assets/iconfont/iconfont.css' import '@/assets/icon/iconfont.css' import { Message } from 'element-ui' import App from './App' import router from './router' import store from './store' import { Base64 } from 'js-base64' import i18n from './lang' // Internationalization import './icons' // icon import './errorLog' // error log // import './permission' // permission control import './xt_permission' // import './mock' // simulation data import VueClipboard from 'vue-clipboard2' import * as filters from './filters' // global filters import * as voicePromptFun from './utils/voicePrompt' import 'default-passive-events' Vue.prototype.voicePrompt = voicePromptFun.voicePrompt //语音提醒 // import Popup from "./components/Popup/index" //全局删除弹框控件 // Vue.prototype.$popup = Popup.install // Vue.component(Popup) import FileSaver from 'file-saver' import XLSX from 'xlsx' Vue.prototype.$FileSaver = FileSaver; //设置全局 Vue.prototype.$XLSX = XLSX; //设置全局 import Computed from "../src/xt_pages/components/Computed/index" //自动计算金额控件 Vue.component("Computed",Computed) Vue.use(Element, { size: 'medium', // set element-ui default size i18n: (key, value) => i18n.t(key, value) }) Vue.use(VueClipboard) // register global utility filters. Object.keys(filters).forEach(key => { Vue.filter(key, filters[key]) }) Vue.config.productionTip = false new Vue({ el: '#app', router, store, i18n, render: h => h(App) }) Vue.prototype.Base64 = require('js-base64').Base64