2022-06-08 14:51:11 +08:00
|
|
|
|
import Vue from 'vue'
|
|
|
|
|
|
import App from './index.vue'
|
|
|
|
|
|
import router from '@/router/index'
|
|
|
|
|
|
import VueMatomo from 'vue-matomo'
|
|
|
|
|
|
import store from '@/store'
|
|
|
|
|
|
import '@/plugins/element.js'
|
|
|
|
|
|
import vuescroll from 'vuescroll'
|
|
|
|
|
|
import uploader from 'vue-simple-uploader'
|
|
|
|
|
|
import i18n from '@/assets/i18n/i18n'
|
|
|
|
|
|
import preview from 'vue-photo-preview'
|
|
|
|
|
|
import 'vue-photo-preview/dist/skin.css'
|
|
|
|
|
|
import * as filters from '@/filters/index.js'
|
|
|
|
|
|
import '@/assets/iconfont/iconfont.css'
|
|
|
|
|
|
import '@/assets/style/layout.less'
|
|
|
|
|
|
import '@/assets/style/button.less'
|
|
|
|
|
|
import '@/assets/style/table.less'
|
|
|
|
|
|
import '@/assets/style/dialog.less'
|
|
|
|
|
|
import '@/assets/style/pagination.less'
|
|
|
|
|
|
import axios from 'axios'
|
|
|
|
|
|
import { Message } from 'element-ui'
|
|
|
|
|
|
import Pagination from '@/components/Pagination'
|
|
|
|
|
|
import { resetForm } from '@/util'
|
2022-06-09 18:11:53 +08:00
|
|
|
|
import { autoLogin } from '@/assets/js/api/autoLogin-xingXuan'
|
2022-06-08 14:51:11 +08:00
|
|
|
|
|
|
|
|
|
|
// 全局组件挂载
|
|
|
|
|
|
Vue.component('Pagination', Pagination)
|
|
|
|
|
|
|
|
|
|
|
|
// 全局方法挂载
|
|
|
|
|
|
Vue.prototype.resetForm = resetForm
|
|
|
|
|
|
|
|
|
|
|
|
if (COMPANY == 'xingxuan') {
|
|
|
|
|
|
// tag: 测试功能
|
|
|
|
|
|
if(window.location.href.indexOf('?project_id=') != -1) {
|
|
|
|
|
|
const projectId = window.location.href.split('?project_id=')[1].split('&')[0];
|
2022-06-09 18:11:53 +08:00
|
|
|
|
login(projectId)
|
2022-06-08 14:51:11 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
2022-06-09 18:11:53 +08:00
|
|
|
|
function login(projectNumber) {
|
2022-06-08 14:51:11 +08:00
|
|
|
|
// TODO: 对接登录接口
|
2022-06-09 18:11:53 +08:00
|
|
|
|
autoLogin({ projectNumber }).then(res => {
|
|
|
|
|
|
if (res.code != 200) return
|
|
|
|
|
|
parseLoginData(res.result);
|
|
|
|
|
|
})
|
2022-06-08 14:51:11 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function parseLoginData(data) {
|
|
|
|
|
|
window._paq.push(['trackEvent', '点击', '登录','登录账号'])
|
|
|
|
|
|
|
|
|
|
|
|
axios.defaults.headers.common["Authorization"] =
|
|
|
|
|
|
"Bearer" + " " + data.token;
|
|
|
|
|
|
axios.defaults.headers.common["operateId"] = data.userId;
|
|
|
|
|
|
store.commit("setUserInfo", data);
|
|
|
|
|
|
var moduleList = data.menuAuthority.moduleList
|
|
|
|
|
|
? data.menuAuthority.moduleList
|
|
|
|
|
|
: [];
|
|
|
|
|
|
var companyModule = [];
|
|
|
|
|
|
if (moduleList.length == 0 && data.accountType != 1) {
|
|
|
|
|
|
Message.warning("当前账号还没分配权限");
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
moduleList.forEach((element) => {
|
|
|
|
|
|
if (element.moduleType == 1) {
|
|
|
|
|
|
companyModule.push(element);
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
var menu2 = [
|
|
|
|
|
|
{
|
|
|
|
|
|
menuName: "企业管理",
|
|
|
|
|
|
id: 9199,
|
|
|
|
|
|
path: "/registerAudit",
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
menuName: "模块菜单管理",
|
|
|
|
|
|
id: 9299,
|
|
|
|
|
|
path: "/moduleMenuManage",
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
menuName: "app版本管理",
|
|
|
|
|
|
id: 9297,
|
|
|
|
|
|
path: "/operateManage",
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
menuName: "塔吊模型管理",
|
|
|
|
|
|
id: 9298,
|
|
|
|
|
|
path: "/brand",
|
|
|
|
|
|
},
|
|
|
|
|
|
];
|
|
|
|
|
|
switch (data.accountType) {
|
|
|
|
|
|
case 1:
|
|
|
|
|
|
store.commit("setMenuList", menu2);
|
|
|
|
|
|
store.commit("setProjectManageMenuList",menu2)
|
|
|
|
|
|
store.commit("setIsShowBackIndex", false);
|
|
|
|
|
|
router.push("/registerAudit");
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 2:
|
|
|
|
|
|
store.commit("setMenuList", companyModule);
|
|
|
|
|
|
store.commit("setProjectManageMenuList",companyModule)
|
|
|
|
|
|
store.commit("setIsShowBackIndex", false);
|
|
|
|
|
|
router.push(companyModule[0].modulePath);
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 3:
|
|
|
|
|
|
store.commit("setMenuList", companyModule);
|
|
|
|
|
|
store.commit("setProjectManageMenuList",companyModule)
|
|
|
|
|
|
store.commit("setIsShowBackIndex", false);
|
|
|
|
|
|
router.push(companyModule[0].modulePath);
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 4:
|
|
|
|
|
|
store.commit("setMenuList", companyModule);
|
|
|
|
|
|
store.commit("setProjectManageMenuList",companyModule)
|
|
|
|
|
|
store.commit("setIsShowBackIndex", false);
|
|
|
|
|
|
router.push(companyModule[0].modulePath);
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 7:
|
|
|
|
|
|
store.commit("setMenuList", companyModule);
|
|
|
|
|
|
store.commit("setProjectManageMenuList",companyModule)
|
|
|
|
|
|
store.commit("setIsShowBackIndex", false);
|
|
|
|
|
|
router.push(companyModule[0].modulePath);
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 5:
|
2022-06-28 15:38:29 +08:00
|
|
|
|
// if (data.styleType == 1 || !data.styleType) {
|
|
|
|
|
|
// debugger
|
|
|
|
|
|
// router.push("/projectIndex");
|
|
|
|
|
|
// } else {
|
|
|
|
|
|
// router.push("/projectV2/taskList");
|
|
|
|
|
|
// }
|
2022-06-08 14:51:11 +08:00
|
|
|
|
store.commit("setProjectSn", data.sn);
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 6:
|
2022-06-28 15:38:29 +08:00
|
|
|
|
// if (data.styleType == 1 || !data.styleType) {
|
|
|
|
|
|
// debugger
|
|
|
|
|
|
// router.push("/projectIndex");
|
|
|
|
|
|
// } else {
|
|
|
|
|
|
// router.push("/projectV2/taskList");
|
|
|
|
|
|
// }
|
2022-06-08 14:51:11 +08:00
|
|
|
|
store.commit("setProjectSn", data.sn);
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2022-06-09 18:11:53 +08:00
|
|
|
|
|
2022-06-08 14:51:11 +08:00
|
|
|
|
let url = ''
|
|
|
|
|
|
console.log(COMPANY)
|
|
|
|
|
|
if(COMPANY == 'longguang'){
|
|
|
|
|
|
url = 'http://matomo.logan.com.cn';
|
|
|
|
|
|
}
|
|
|
|
|
|
Vue.use(VueMatomo,{
|
|
|
|
|
|
// url http://matomo-sit.logan.com.cn/index.php测试地址
|
|
|
|
|
|
host: 'http://matomo.logan.com.cn', //生产
|
|
|
|
|
|
// host:'http://matomo-sit.logan.com.cn', //测试
|
|
|
|
|
|
// host:url,
|
|
|
|
|
|
siteId:47,
|
|
|
|
|
|
router:router,
|
|
|
|
|
|
requireConsent:false,
|
|
|
|
|
|
enbleLinkTracking:true,
|
|
|
|
|
|
trackInitialView:true,
|
|
|
|
|
|
disableCookies:false,
|
|
|
|
|
|
requireCookieConsent: false,
|
|
|
|
|
|
enableHeartBeatTimer: true,
|
|
|
|
|
|
heartBeatTimerInterval: 15,
|
|
|
|
|
|
// trackerFileName: 'piwik',
|
|
|
|
|
|
userId : '' ,
|
|
|
|
|
|
trackerFileName: 'matomo',
|
|
|
|
|
|
trackerUrl: undefined,
|
|
|
|
|
|
trackerScriptUrl: undefined,
|
|
|
|
|
|
debug: true,
|
|
|
|
|
|
})
|
|
|
|
|
|
Vue.use(preview)
|
|
|
|
|
|
Vue.use(uploader);
|
|
|
|
|
|
Vue.prototype.$EventBus = new Vue()
|
|
|
|
|
|
Object.keys(filters).forEach(key => {
|
|
|
|
|
|
Vue.filter(key, filters[key])
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
Vue.config.productionTip = false
|
|
|
|
|
|
Vue.use(vuescroll, {
|
|
|
|
|
|
ops: {
|
|
|
|
|
|
bar: {
|
|
|
|
|
|
// background: "rgba(54, 51, 106, 0.6)",
|
|
|
|
|
|
background: "rgba(166, 166, 167, 0.6)",
|
|
|
|
|
|
// keepShow: false,
|
|
|
|
|
|
onlyShowBarOnScroll: false,
|
|
|
|
|
|
size: "5px",
|
|
|
|
|
|
minSize: 0.2
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
// 加载缩略图
|
|
|
|
|
|
Vue.prototype.downloadImgMin = function (row) {
|
|
|
|
|
|
let fileUrl = store.state.FILEURL+row.fileUrl
|
|
|
|
|
|
|
|
|
|
|
|
// let isOSS = row.isOSS
|
|
|
|
|
|
// if (isOSS == 1) { //阿里云OSS对象存储
|
|
|
|
|
|
// fileUrl = "https://" + sessionStorage.getItem("viewDomain") + fileUrl + "?x-oss-process=image/resize,m_fill,h_150,w_150/rotate,0";
|
|
|
|
|
|
// } else { //本地磁盘存储
|
|
|
|
|
|
// let index = fileUrl.lastIndexOf(".");
|
|
|
|
|
|
// fileUrl = "api" + fileUrl.substr(0, index) + "_min" + fileUrl.substr(index);
|
|
|
|
|
|
// }
|
|
|
|
|
|
return fileUrl
|
|
|
|
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 当然,你还可以在这里封装并挂载更多的全局函数在这里,示例同上
|
|
|
|
|
|
*/
|
|
|
|
|
|
//获取文件下载路径
|
|
|
|
|
|
Vue.prototype.getDownloadFilePath = function (row) {
|
|
|
|
|
|
let fileUrl = store.state.FILEURL+row.fileUrl
|
|
|
|
|
|
// let isOSS = row.isOSS
|
|
|
|
|
|
// if (isOSS == 1) { //阿里云OSS对象存储
|
|
|
|
|
|
// fileUrl = "https://" + sessionStorage.getItem("downloadDomain") + fileUrl;
|
|
|
|
|
|
// } else { //本地磁盘存储
|
|
|
|
|
|
// fileUrl = "api" + fileUrl;
|
|
|
|
|
|
// }
|
|
|
|
|
|
return fileUrl
|
|
|
|
|
|
};
|
|
|
|
|
|
//文件查看大图
|
|
|
|
|
|
Vue.prototype.getViewFilePath = function (row) {
|
|
|
|
|
|
let fileUrl = store.state.FILEURL+row.fileUrl
|
|
|
|
|
|
// let isOSS = row.isOSS
|
|
|
|
|
|
// if (isOSS == 1) { //阿里云OSS对象存储
|
|
|
|
|
|
// fileUrl = "https://" + sessionStorage.getItem("viewDomain") + fileUrl;
|
|
|
|
|
|
// } else { //本地磁盘存储
|
|
|
|
|
|
// fileUrl = "api" + fileUrl;
|
|
|
|
|
|
// }
|
|
|
|
|
|
return fileUrl
|
|
|
|
|
|
};
|
|
|
|
|
|
//监听 路由
|
|
|
|
|
|
router.beforeEach((to,form,next)=>{
|
|
|
|
|
|
if (COMPANY == 'xingxuan') return next()
|
|
|
|
|
|
if(store.state.userInfo){
|
|
|
|
|
|
next();
|
|
|
|
|
|
}else if(!store.state.userInfo && to.path!='/login'&& to.path!='/'&& to.path!='/sign'&&!isDockingToWoer&& to.path!='/authorization'){
|
|
|
|
|
|
// next({path:'login'});
|
|
|
|
|
|
next({path:'/'});
|
|
|
|
|
|
}else{
|
|
|
|
|
|
next();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// Vue.prototype.$EventBus = new Vue()
|
|
|
|
|
|
|
|
|
|
|
|
new Vue({
|
|
|
|
|
|
router,
|
|
|
|
|
|
store,
|
|
|
|
|
|
i18n,
|
|
|
|
|
|
render: h => h(App)
|
|
|
|
|
|
}).$mount('#app')
|
|
|
|
|
|
|