2025-02-13 15:34:30 +08:00

117 lines
3.6 KiB
JavaScript

import Vue from 'vue'
import App from './App.vue'
import fetchApi from './services/fetchApi'
import router from './router' /*引入路由设置*/
import store from './store' /*引入store vuex设置*/
import MetaInfo from 'vue-meta-info' /*动态设置meta标签*/
import './assets/icons' // svg图标
import filter from "./filters";
import util from "./utils/util"
import verify from "./utils/verify"
import clickThrottle from "./utils/clickThrottle"
import {Message,Loading} from 'element-ui'
import * as echarts from 'echarts'; /*echarts图表 示例 https://echarts.apache.org/examples/zh/index.html */
import ElementUI from 'element-ui';
import './assets/style/element-ui-variable.scss'
// import 'element-ui/lib/theme-chalk/index.css';
import 'element-ui/lib/theme-chalk/icon.css'
import {TrydoFiles} from "@trydo/files-utils"
// 引入全局通用自定义指令
import '@/assets/js/directive';
import '@/assets/js/directiveVideo';
import stompSocket from "./utils/stompSocket"
Vue.use(ElementUI);
// 全局导入过滤器
Object.keys(filter).forEach(key => Vue.filter(key, filter[key]));
Vue.prototype.$message = Message;
Vue.prototype.$loading = Loading.service;
Vue.prototype.$fetchApi = fetchApi;
Vue.prototype.$util = util;
Vue.prototype.$verify = verify;
Vue.prototype.$clickThrottle = clickThrottle;
Vue.prototype.$echarts = echarts;
Vue.prototype.$TrydoFiles = TrydoFiles;
Vue.prototype.$stompSocket = stompSocket;
// vue使用vue-meta-info来动态设置标题
Vue.use(MetaInfo)
new Vue({
data(){
return {
keyWords:null,//关键字
description:null,//描述
sitetitle:null,//标题
sitetitleinit:null,//
firstlevelmenu:['/case-management','/mediation-package','/case-package','/payment-receipt','/mediation-management',
'/system-management/area-management','/system-management/role-permissions-management',
'/system-management/role-management','/system-management/user-management']
}
},
metaInfo () {
return {
title: this.sitetitle,
meta: [{name: 'keyWords',content: this.keyWords},{name: 'description',content: this.description}]
}
},
router,
store,
render: h => h(App),
watch:{
'$route': function(to, from) {
// console.log(to,from,'路由信息')
// 判断当前登录人是否有该地址的访问权限
if(this.firstlevelmenu.includes(to.path))
{
let interviewFlag = false
if(JSON.parse(sessionStorage.getItem('userInfo')))
{
let resources = JSON.parse(sessionStorage.getItem('userInfo')).resources
let menuTree = resources[0].children
menuTree.forEach(item =>{
if(item.url == to.path){ interviewFlag = true}
if(!interviewFlag)
{
item.children.forEach(item =>{
if(item.url == to.path){ interviewFlag = true}
})
}
})
}
if(!interviewFlag)
{
// 判断当前登录人角色,如果是普通调解员,则默认展示区域且不可选择
let identifier = this.$store.state.userinfo.roleIdentifierList
if(identifier.includes('manager') || identifier.includes('admin'))
{
router.push('/workbench')
}
else
{
router.push('/workbenchcm')
}
}
}
if(to.meta.title!=null&&to.meta.sitetitleinit!=null)
{
this.sitetitle=to.meta.title+'-'+this.sitetitleinit;
}
if(to.meta.sitetitleinit!=null)
{
this.sitetitle=this.sitetitleinit;
}
else
{
this.sitetitle=to.meta.title;
}
}
}
}).$mount('#app')