|
|
|
import Vue from 'vue';
|
|
|
|
import App from './App.vue';
|
|
|
|
import router from './router';
|
|
|
|
import ElementUI from 'element-ui';
|
|
|
|
import VueI18n from 'vue-i18n';
|
|
|
|
import { messages } from './components/common/i18n';
|
|
|
|
// import 'element-ui/lib/theme-chalk/index.css'; // 默认主题
|
|
|
|
import './assets/css/theme-green/index.css'; // 浅绿色主题
|
|
|
|
import './assets/css/icon.css';
|
|
|
|
import './assets/icon/iconfont.css';
|
|
|
|
import './components/common/directives';
|
|
|
|
import 'babel-polyfill';
|
|
|
|
import './util/rem';
|
|
|
|
import {post,get,del,put} from './utils/http';
|
|
|
|
import api from './utils/api';
|
|
|
|
import store from './store'
|
|
|
|
import config from '@/config'
|
|
|
|
import { systemStatus, systemTypeStatus, systemAttributionStatus, courseTypeStatus,
|
|
|
|
hoursStatus, roleStatus, orderTypeFn, orderStatusFn, orderNatureFn, Percentage, removeByValue, isIE, encodeString, formatDate } from './utils/core';
|
|
|
|
import preventReClick from './store/preventReClick' //防多次点击,重复提交
|
|
|
|
|
|
|
|
|
|
|
|
Vue.prototype.api = api;
|
|
|
|
Vue.prototype.$get = get;
|
|
|
|
Vue.prototype.$post = post;
|
|
|
|
Vue.prototype.$del = del;
|
|
|
|
Vue.prototype.$put = put;
|
|
|
|
|
|
|
|
Vue.prototype.$config = config
|
|
|
|
Vue.prototype.systemStatus = systemStatus;
|
|
|
|
Vue.prototype.systemTypeStatus = systemTypeStatus;
|
|
|
|
Vue.prototype.systemAttributionStatus = systemAttributionStatus;
|
|
|
|
Vue.prototype.courseTypeStatus = courseTypeStatus;
|
|
|
|
Vue.prototype.hoursStatus = hoursStatus;
|
|
|
|
Vue.prototype.roleStatus = roleStatus;
|
|
|
|
Vue.prototype.orderTypeFn = orderTypeFn;
|
|
|
|
Vue.prototype.orderStatusFn = orderStatusFn;
|
|
|
|
Vue.prototype.orderNatureFn = orderNatureFn;
|
|
|
|
Vue.prototype.Percentage = Percentage;
|
|
|
|
Vue.prototype.removeByValue = removeByValue;
|
|
|
|
Vue.prototype.isIE = isIE;
|
|
|
|
Vue.prototype.encodeString = encodeString;
|
|
|
|
Vue.prototype.formatDate = formatDate;
|
|
|
|
|
|
|
|
Vue.config.productionTip = false;
|
|
|
|
Vue.use(VueI18n);
|
|
|
|
Vue.use(ElementUI);
|
|
|
|
const i18n = new VueI18n({
|
|
|
|
locale: 'zh',
|
|
|
|
messages
|
|
|
|
});
|
|
|
|
|
|
|
|
//使用钩子函数对路由进行权限跳转
|
|
|
|
router.beforeEach((to, from, next) => {
|
|
|
|
document.title = `${to.meta.title} | ${config.title}`;
|
|
|
|
const role = localStorage.getItem('ms_username');
|
|
|
|
if (!role && to.path !== '/login') {
|
|
|
|
next('/login');
|
|
|
|
} else {
|
|
|
|
next();
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
new Vue({
|
|
|
|
router,
|
|
|
|
store,
|
|
|
|
i18n,
|
|
|
|
render: h => h(App)
|
|
|
|
}).$mount('#app');
|