main.js
1.79 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import Vue from 'vue'
const ncc = require('./utils/ncc').default
import App from './App.vue'
import router from './router'
import 'normalize.css/normalize.css'
import ElementUI from 'element-ui';
import './styles/element-variables.scss'
import './assets/scss/common.scss'
import '@/assets/style/common.scss'
import * as filters from './filters' // global filters
import '@/styles/index.scss' // global css
import './assets/scss/theme.scss' // 主题
import { message } from './utils/message';
import 'element-ui/lib/theme-chalk/index.css';
import store from './store'
import './permission'
import moment from "moment";
import './assets/scss/common.scss'
import i18n from './lang' // internationalization
Vue.config.productionTip = false
Vue.prototype.$m = moment
Vue.use(ElementUI, {
size: ncc.storageGet('size') || 'small', // set element-ui default size
i18n: (key, value) => i18n.t(key, value)
});
// 批量引入组件
import components from './components'
Vue.use(components)
// 添加实例属性
Object.assign(Vue.prototype, {
define: require('./utils/define'), // 常量
ncc, // 公共方法
formValidate: require('./utils/formValidate').default, // 表单验证
$message: message
})
// 全局注册过滤器
Object.keys(filters).forEach(key => {
Vue.filter(key, filters[key])
})
Vue.config.productionTip = false
Vue.directive('loadMore', {
bind(el, binding) {
// 获取element-ui定义好的scroll盒子
const SELECTWRAP_DOM = el.querySelector('.el-select-dropdown .el-select-dropdown__wrap')
SELECTWRAP_DOM.addEventListener('scroll', function () {
const CONDITION = this.scrollHeight - this.scrollTop <= this.clientHeight
if (CONDITION) {
binding.value()
}
})
}
})
export default new Vue({
router,
store,
i18n,
render: h => h(App),
}).$mount('#app')