kams4_test_web/src/main.js

78 lines
2.0 KiB
JavaScript
Raw Normal View History

2024-08-22 14:17:25 +08:00
import Vue from 'vue'
import Cookies from 'js-cookie'
import 'normalize.css/normalize.css'
import VueClipboard from 'vue-clipboard2'
2024-09-20 15:54:44 +08:00
import ElementUI from 'element-ui'
2024-08-22 14:17:25 +08:00
import Element, { Table, TableColumn } from 'element-ui'
2024-09-20 15:54:44 +08:00
import VueI18n from 'vue-i18n'
import locale from 'element-ui/lib/locale'
import enLocale from './i18n/en'
import zhCNLocale from './i18n/zh-CN'
2024-08-22 14:17:25 +08:00
const TableProps = Element.Table.props
const TableColumnProps = Element.TableColumn.props
TableProps.border = { type: Boolean, default: true } // 边框
TableProps.align = { type: String, default: 'center' } // 居中
TableProps.stripe = { type: Boolean, default: false } // 斑马纹
TableColumnProps.showOverflowTooltip = { type: Boolean, default: true } // 文本溢出
2024-09-10 15:54:50 +08:00
TableColumnProps.sortable = { type: Boolean, default: true } // 置默认的排序列和排序顺序
2024-08-22 14:17:25 +08:00
Vue.use(Table)
Vue.use(TableColumn)
2024-09-20 15:54:44 +08:00
Vue.use(ElementUI, { locale })
2024-08-22 14:17:25 +08:00
// 数据字典
import dict from './components/Dict'
2024-09-20 15:54:44 +08:00
import FileSaver from 'file-saver'
import XLSX from 'xlsx'
2024-08-22 14:17:25 +08:00
// 权限指令
import checkPer from '@/utils/permission'
import permission from './components/Permission'
import './assets/styles/element-variables.scss'
// global css
import './assets/styles/index.scss'
import App from './App'
import store from './store'
import router from './router/routers'
import './assets/icons' // icon
import './router/index' // permission control
Vue.use(VueClipboard)
Vue.use(checkPer)
Vue.use(permission)
Vue.use(dict)
2024-09-20 15:54:44 +08:00
Vue.use(VueI18n)
const messages = {
en: enLocale,
'zh': zhCNLocale
}
2024-09-20 17:35:33 +08:00
const storedLanguage = localStorage.getItem('lang') || 'zh'
2024-09-20 15:54:44 +08:00
const i18n = new VueI18n({
2024-09-20 17:35:33 +08:00
locale: storedLanguage, // 设置默认语言
2024-09-20 15:54:44 +08:00
messages
})
2024-08-22 14:17:25 +08:00
Vue.use(Element, {
size: Cookies.get('size') || 'small' // set element-ui default size
})
2024-09-20 15:54:44 +08:00
locale.i18n((key, value) => i18n.t(key, value))
Vue.use(ElementUI, { i18n: (key, value) => i18n.t(key, value) })
2024-08-22 14:17:25 +08:00
Vue.prototype.$fileSaver = FileSaver
Vue.prototype.$xlsx = XLSX
Vue.config.productionTip = false
new Vue({
2024-09-20 15:54:44 +08:00
i18n,
2024-08-22 14:17:25 +08:00
el: '#app',
router,
store,
render: h => h(App)
})