|
|
@ -1,33 +1,33 @@ |
|
|
|
<template> |
|
|
|
<div |
|
|
|
v-loading.fullscreen.lock="loading" |
|
|
|
:element-loading-text="$t('loading')" |
|
|
|
:class="[ |
|
|
|
'aui-wrapper', |
|
|
|
{ |
|
|
|
'aui-sidebar--fold': |
|
|
|
$store.state.sidebarActiveSubMenuList.length == 0 || |
|
|
|
$store.state.sidebarFold, |
|
|
|
}, |
|
|
|
{ |
|
|
|
'aui-sidebar--noside': $store.state.inIframe, |
|
|
|
}, |
|
|
|
{ 'z-iframe': $store.state.inIframe }, |
|
|
|
]" |
|
|
|
> |
|
|
|
<template v-if="!loading"> |
|
|
|
<main-navbar ref="ref_navbar" v-if="!$store.state.inIframe" /> |
|
|
|
<main-sidebar v-if="!$store.state.inIframe" /> |
|
|
|
<div class="aui-content__wrapper"> |
|
|
|
<main-content |
|
|
|
v-if="!$store.state.contentIsNeedRefresh" |
|
|
|
@changeCustomerName="changeCustomerName" |
|
|
|
/> |
|
|
|
</div> |
|
|
|
<div |
|
|
|
v-loading.fullscreen.lock="loading" |
|
|
|
:element-loading-text="$t('loading')" |
|
|
|
:class="[ |
|
|
|
'aui-wrapper', |
|
|
|
{ |
|
|
|
'aui-sidebar--fold': |
|
|
|
$store.state.sidebarActiveSubMenuList.length == 0 || |
|
|
|
$store.state.sidebarFold, |
|
|
|
}, |
|
|
|
{ |
|
|
|
'aui-sidebar--noside': $store.state.inIframe, |
|
|
|
}, |
|
|
|
{ 'z-iframe': $store.state.inIframe }, |
|
|
|
]" |
|
|
|
> |
|
|
|
<template v-if="!loading"> |
|
|
|
<main-navbar ref="ref_navbar" v-if="!$store.state.inIframe" /> |
|
|
|
<main-sidebar v-if="!$store.state.inIframe" /> |
|
|
|
<div class="aui-content__wrapper"> |
|
|
|
<main-content |
|
|
|
v-if="!$store.state.contentIsNeedRefresh" |
|
|
|
@changeCustomerName="changeCustomerName" |
|
|
|
/> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- <secretary-log-notice v-if="!$store.state.inIframe" /> --> |
|
|
|
</template> |
|
|
|
</div> |
|
|
|
<!-- <secretary-log-notice v-if="!$store.state.inIframe" /> --> |
|
|
|
</template> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
@ -39,128 +39,139 @@ import debounce from "lodash/debounce"; |
|
|
|
import { mapGetters } from "vuex"; |
|
|
|
import nextTick from "dai-js/tools/nextTick"; |
|
|
|
import { requestPost } from "@/js/dai/request"; |
|
|
|
import { clearLoginInfo } from "@/utils"; |
|
|
|
|
|
|
|
export default { |
|
|
|
provide() { |
|
|
|
return { |
|
|
|
// 刷新 |
|
|
|
refresh() { |
|
|
|
this.$store.state.contentIsNeedRefresh = true; |
|
|
|
this.$nextTick(() => { |
|
|
|
this.$store.state.contentIsNeedRefresh = false; |
|
|
|
}); |
|
|
|
}, |
|
|
|
}; |
|
|
|
}, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
loading: true, |
|
|
|
userType: localStorage.getItem("userType"), |
|
|
|
}; |
|
|
|
}, |
|
|
|
components: { |
|
|
|
MainNavbar, |
|
|
|
MainSidebar, |
|
|
|
MainContent, |
|
|
|
SecretaryLogNotice, |
|
|
|
}, |
|
|
|
provide() { |
|
|
|
return { |
|
|
|
// 刷新 |
|
|
|
refresh() { |
|
|
|
this.$store.state.contentIsNeedRefresh = true; |
|
|
|
this.$nextTick(() => { |
|
|
|
this.$store.state.contentIsNeedRefresh = false; |
|
|
|
}); |
|
|
|
}, |
|
|
|
}; |
|
|
|
}, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
loading: true, |
|
|
|
userType: localStorage.getItem("userType"), |
|
|
|
}; |
|
|
|
}, |
|
|
|
components: { |
|
|
|
MainNavbar, |
|
|
|
MainSidebar, |
|
|
|
MainContent, |
|
|
|
SecretaryLogNotice, |
|
|
|
}, |
|
|
|
|
|
|
|
watch: { |
|
|
|
$route: "routeHandle", |
|
|
|
}, |
|
|
|
async created() { |
|
|
|
this.$store.state.sidebarMenuList = window.SITE_CONFIG["menuList"]; |
|
|
|
console.log(this.$store.state.sidebarMenuList); |
|
|
|
watch: { |
|
|
|
$route: "routeHandle", |
|
|
|
}, |
|
|
|
async created() { |
|
|
|
this.$store.state.sidebarMenuList = window.SITE_CONFIG["menuList"]; |
|
|
|
console.log(this.$store.state.sidebarMenuList); |
|
|
|
|
|
|
|
// this.windowResizeHandle(); |
|
|
|
this.routeHandle(this.$route); |
|
|
|
Promise.all([this.getWorkUserInfo()]).then(() => { |
|
|
|
this.loading = false; |
|
|
|
}); |
|
|
|
}, |
|
|
|
computed: {}, |
|
|
|
methods: { |
|
|
|
changeCustomerName(customerName) { |
|
|
|
this.$refs["ref_navbar"].changeCustomerName(customerName); |
|
|
|
}, |
|
|
|
// 窗口改变大小 |
|
|
|
windowResizeHandle() { |
|
|
|
this.$store.state.sidebarFold = |
|
|
|
document.documentElement["clientWidth"] <= 992 || false; |
|
|
|
window.addEventListener( |
|
|
|
"resize", |
|
|
|
debounce(() => { |
|
|
|
this.$store.state.sidebarFold = |
|
|
|
document.documentElement["clientWidth"] <= 992 || false; |
|
|
|
}, 150) |
|
|
|
); |
|
|
|
}, |
|
|
|
// 路由, 监听 |
|
|
|
routeHandle(route) { |
|
|
|
if (!route.meta.isTab) { |
|
|
|
return false; |
|
|
|
} |
|
|
|
var tab = this.$store.state.contentTabs.filter( |
|
|
|
(item) => item.name === route.name |
|
|
|
)[0]; |
|
|
|
if (!tab) { |
|
|
|
tab = { |
|
|
|
...window.SITE_CONFIG["contentTabDefault"], |
|
|
|
...route.meta, |
|
|
|
name: route.name, |
|
|
|
params: { ...route.params }, |
|
|
|
query: { ...route.query }, |
|
|
|
}; |
|
|
|
this.$store.state.contentTabs = |
|
|
|
this.$store.state.contentTabs.concat(tab); |
|
|
|
} |
|
|
|
// this.windowResizeHandle(); |
|
|
|
this.routeHandle(this.$route); |
|
|
|
Promise.all([this.getWorkUserInfo()]).then(() => { |
|
|
|
this.loading = false; |
|
|
|
}); |
|
|
|
}, |
|
|
|
computed: {}, |
|
|
|
methods: { |
|
|
|
changeCustomerName(customerName) { |
|
|
|
this.$refs["ref_navbar"].changeCustomerName(customerName); |
|
|
|
}, |
|
|
|
// 窗口改变大小 |
|
|
|
windowResizeHandle() { |
|
|
|
this.$store.state.sidebarFold = |
|
|
|
document.documentElement["clientWidth"] <= 992 || false; |
|
|
|
window.addEventListener( |
|
|
|
"resize", |
|
|
|
debounce(() => { |
|
|
|
this.$store.state.sidebarFold = |
|
|
|
document.documentElement["clientWidth"] <= 992 || false; |
|
|
|
}, 150) |
|
|
|
); |
|
|
|
}, |
|
|
|
// 路由, 监听 |
|
|
|
routeHandle(route) { |
|
|
|
if (!route.meta.isTab) { |
|
|
|
return false; |
|
|
|
} |
|
|
|
var tab = this.$store.state.contentTabs.filter( |
|
|
|
(item) => item.name === route.name |
|
|
|
)[0]; |
|
|
|
if (!tab) { |
|
|
|
tab = { |
|
|
|
...window.SITE_CONFIG["contentTabDefault"], |
|
|
|
...route.meta, |
|
|
|
name: route.name, |
|
|
|
params: { ...route.params }, |
|
|
|
query: { ...route.query }, |
|
|
|
}; |
|
|
|
this.$store.state.contentTabs = |
|
|
|
this.$store.state.contentTabs.concat(tab); |
|
|
|
} |
|
|
|
|
|
|
|
this.$store.state.sidebarMenuActiveName = tab.menuId; |
|
|
|
this.$store.state.contentTabsActiveName = tab.name; |
|
|
|
this.syncLevelOneMenuActive(tab.menuId); |
|
|
|
}, |
|
|
|
async syncLevelOneMenuActive(menuId) { |
|
|
|
await nextTick(); |
|
|
|
console.log( |
|
|
|
"*******************************", |
|
|
|
menuId, |
|
|
|
this.$store.state.sidebarMenuList |
|
|
|
); |
|
|
|
const fn = (item) => { |
|
|
|
if (item.id == menuId) { |
|
|
|
return true; |
|
|
|
} else if (item.children.length > 0) { |
|
|
|
return item.children.findIndex(fn) !== -1; |
|
|
|
} else { |
|
|
|
return false; |
|
|
|
} |
|
|
|
}; |
|
|
|
let idx = this.$store.state.sidebarMenuList.findIndex(fn); |
|
|
|
this.$store.state.LevelOneMenuActiveName = |
|
|
|
idx !== -1 ? this.$store.state.sidebarMenuList[idx].id : ""; |
|
|
|
this.$store.state.sidebarActiveSubMenuList = |
|
|
|
idx !== -1 ? this.$store.state.sidebarMenuList[idx].children : []; |
|
|
|
}, |
|
|
|
// 获取当前管理员信息 |
|
|
|
async getWorkUserInfo() { |
|
|
|
const url = "/epmetuser/customerstaff/staffbasicinfo"; |
|
|
|
let params = {}; |
|
|
|
const { data, code, msg } = await requestPost(url, params); |
|
|
|
if (code === 0 && data) { |
|
|
|
this.$store.state.user = { ...data }; |
|
|
|
console.log("user---hahha", this.$store.state.user); |
|
|
|
localStorage.setItem("roleList", data.roleList); |
|
|
|
localStorage.setItem("customerId", data.customerId); |
|
|
|
localStorage.setItem("staffId", data.id); |
|
|
|
localStorage.setItem("agencyId", data.agencyId); |
|
|
|
localStorage.setItem("level", data.level); |
|
|
|
if (!localStorage.getItem("customerName")) { |
|
|
|
localStorage.setItem("customerName", data.customerName || ""); |
|
|
|
} |
|
|
|
} else { |
|
|
|
this.$message.error(msg); |
|
|
|
} |
|
|
|
}, |
|
|
|
}, |
|
|
|
this.$store.state.sidebarMenuActiveName = tab.menuId; |
|
|
|
this.$store.state.contentTabsActiveName = tab.name; |
|
|
|
this.syncLevelOneMenuActive(tab.menuId); |
|
|
|
}, |
|
|
|
async syncLevelOneMenuActive(menuId) { |
|
|
|
await nextTick(); |
|
|
|
console.log( |
|
|
|
"*******************************", |
|
|
|
menuId, |
|
|
|
this.$store.state.sidebarMenuList |
|
|
|
); |
|
|
|
const fn = (item) => { |
|
|
|
if (item.id == menuId) { |
|
|
|
return true; |
|
|
|
} else if (item.children.length > 0) { |
|
|
|
return item.children.findIndex(fn) !== -1; |
|
|
|
} else { |
|
|
|
return false; |
|
|
|
} |
|
|
|
}; |
|
|
|
let idx = this.$store.state.sidebarMenuList.findIndex(fn); |
|
|
|
this.$store.state.LevelOneMenuActiveName = |
|
|
|
idx !== -1 ? this.$store.state.sidebarMenuList[idx].id : ""; |
|
|
|
this.$store.state.sidebarActiveSubMenuList = |
|
|
|
idx !== -1 |
|
|
|
? this.$store.state.sidebarMenuList[idx].children |
|
|
|
: []; |
|
|
|
}, |
|
|
|
// 获取当前管理员信息 |
|
|
|
async getWorkUserInfo() { |
|
|
|
const url = "/epmetuser/customerstaff/staffbasicinfo"; |
|
|
|
let params = {}; |
|
|
|
const { data, code, msg } = await requestPost(url, params); |
|
|
|
if (code === 0) { |
|
|
|
if (data) { |
|
|
|
this.$store.state.user = { ...data }; |
|
|
|
console.log("user---hahha", this.$store.state.user); |
|
|
|
localStorage.setItem("roleList", data.roleList); |
|
|
|
localStorage.setItem("customerId", data.customerId); |
|
|
|
localStorage.setItem("staffId", data.id); |
|
|
|
localStorage.setItem("agencyId", data.agencyId); |
|
|
|
localStorage.setItem("level", data.level); |
|
|
|
if (!localStorage.getItem("customerName")) { |
|
|
|
localStorage.setItem( |
|
|
|
"customerName", |
|
|
|
data.customerName || "" |
|
|
|
); |
|
|
|
} |
|
|
|
} else { |
|
|
|
clearLoginInfo(); |
|
|
|
this.$router.push({ name: "login" }); |
|
|
|
} |
|
|
|
} else { |
|
|
|
this.$message.error(msg); |
|
|
|
} |
|
|
|
}, |
|
|
|
}, |
|
|
|
}; |
|
|
|
</script> |
|
|
|