西海岸:特殊用户增加可查看所有权限

This commit is contained in:
guoyue 2022-10-09 16:42:57 +08:00
parent a04241c9a5
commit 5db6afcb6c
5 changed files with 83 additions and 60 deletions

View File

@ -23,6 +23,8 @@ const infrastructure = {}
const mapTestNum = {}
//
const footerDataList = {}
// 西--
const xhaHasPermissionUser = {}
// qingdao
if (newLocation !== 'baotou' && newLocation !== 'xihaian') {
whoShow.itShowQingDao = true
@ -521,4 +523,6 @@ else if (newLocation === 'xihaian') {
},
],
}
xhaHasPermissionUser.list = ['xihaian01', 'xihaian02', 'xihaian03', 'xihaian04', 'admin']
}

View File

@ -10,7 +10,7 @@
<a-dropdown>
<span class="ant-dropdown-link">
<a-avatar :src="avatar" />
{{ username }}
{{ realName }}
<DownOutlined />
</span>
<template v-slot:overlay>
@ -23,47 +23,49 @@
</template>
<script>
import { recordRoute } from '@/config'
import { DownOutlined } from '@ant-design/icons-vue'
import user from '@/assets/home/user.png'
import { useStore } from 'vuex'
import { computed } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import { recordRoute } from '@/config'
import { DownOutlined } from '@ant-design/icons-vue'
import user from '@/assets/home/user.png'
import { useStore } from 'vuex'
import { computed, onMounted } from 'vue'
import { useRoute, useRouter } from 'vue-router'
export default {
name: 'VabAvatar',
components: { DownOutlined },
setup() {
const store = useStore()
const router = useRouter()
const route = useRoute()
const logout = async () => {
await store.dispatch('user/logout')
window.sessionStorage.setItem('visits', JSON.stringify([]))
if (recordRoute) {
const fullPath = route.fullPath
router.push(`/login?redirect=${fullPath}`)
} else {
router.push('/login')
}
export default {
name: 'VabAvatar',
components: { DownOutlined },
setup() {
const store = useStore()
const router = useRouter()
const route = useRoute()
const logout = async () => {
await store.dispatch('user/logout')
window.sessionStorage.setItem('visits', JSON.stringify([]))
if (recordRoute) {
const fullPath = route.fullPath
router.push(`/login?redirect=${fullPath}`)
} else {
router.push('/login')
}
return {
avatar: user,
username: computed(() => store.getters['user/username']),
logout,
}
},
}
}
return {
avatar: user,
// username: computed(() => store.getters['user/username']),
realName: computed(() => store.getters['user/realName']),
logout,
}
},
}
</script>
<style lang="less">
.vab-avatar {
display: flex;
align-items: center;
justify-content: center;
.ant-dropdown-link {
display: block;
// min-height: 64px;
cursor: pointer;
}
.vab-avatar {
display: flex;
align-items: center;
justify-content: center;
.ant-dropdown-link {
display: block;
// min-height: 64px;
cursor: pointer;
}
}
</style>

View File

@ -14,6 +14,7 @@ import { message, notification } from 'ant-design-vue'
const state = () => ({
accessToken: getAccessToken(),
username: '',
realName: '',
userId: '',
avatar: '',
role: 0, //
@ -21,6 +22,7 @@ const state = () => ({
const getters = {
accessToken: (state) => state.accessToken,
username: (state) => state.username,
realName: (state) => state.realName,
avatar: (state) => state.avatar,
role: (state) => state.role,
userId: (state) => state.userId,
@ -45,6 +47,15 @@ const mutations = {
setUsername(state, username) {
state.username = username
},
/**
* @author chuzhixin 1204505056@qq.com
* @description 设置真实用户名
* @param {*} state
* @param {*} username
*/
setRealname(state, realName) {
state.realName = realName
},
//
setRole(state, role) {
state.role = role
@ -75,6 +86,7 @@ const actions = {
})
commit('setAvatar', 'https://i.gtimg.cn/club/item/face/img/2/15922_100.gif')
commit('setUsername', 'admin(未开启登录拦截)')
commit('setRealname', 'admin(未开启登录拦截)')
},
/**
* @author chuzhixin 1204505056@qq.com
@ -120,7 +132,8 @@ const actions = {
return false
}
// debugger
commit('setUsername', data.data.realName)
commit('setUsername', data.data.username)
commit('setRealname', data.data.realName)
commit('setRole', data.data.roleIdList.length)
commit('setUserId', data.data.id)
// TODO

View File

@ -450,7 +450,7 @@ import DetailsPageResource from '@/views/home/components/DetailsPageResource.vue
import infrastructurePage from '@/views/home/infrastructurePage.vue'
import detailsPageInfrastructureTree from '@/views/home/detailsPageInfrastructureTree.vue'
import { DETAIL_PAGE_CONTENT_DEFAULT_TAB } from '@/global/GlobalConfig.js'
import { useStore } from 'vuex'
import { message } from 'ant-design-vue'
import {
titleNameArray,
@ -521,6 +521,13 @@ export default defineComponent({
orderType: 'DESC', // ASC DESC
}
const store = useStore()
//
const user = ref({
username: store.getters['user/username'],
realName: store.getters['user/realName'],
})
const searchResultListDom = ref(null)
//
@ -1268,8 +1275,10 @@ export default defineComponent({
}
const changeCards = (name) => {
// 西-
if(whoShow1.value.itShowXiHaiAn && name !== '基础设施') {
return message.warn('正在建设中!')
if(whoShow1.value.itShowXiHaiAn) {
if(name !== '基础设施' && !xhaHasPermissionUser.list.includes(user.value.username)) {
return message.warn('暂无权限')
}
}
resourceList.data = []
videoList.data = []

View File

@ -4,7 +4,7 @@
props.showView === 'algorithm-details' ? '' : '',
]">
<div class="name" @click="goToHome">
<div class="name-bg" v-if="!whoShow1.itShowXiHaiAn"></div>
<div class="name-bg" v-if="!itShowXiHaiAn"></div>
<div class="name-bg-xihaian" v-else></div>
<div class="name-content">
<p>城市云脑通用能力服务平台</p>
@ -57,10 +57,10 @@
<i class="img"></i>
<a-tooltip placement="bottom">
<template #title>
<span>{{ user.username }}</span>
<span>{{ user.realName }}</span>
</template>
<span class="name" @click="jumpPage({ name: '个人中心', key: 'personalCenter' })">
{{ user.username }}
{{ user.realName }}
</span>
</a-tooltip>
<span @click="logout" class="out">退出</span>
@ -102,34 +102,29 @@ const store = useStore()
const router = useRouter()
const route = useRoute()
const whoShow1 = ref(whoShow)
const itShowXiHaiAn = ref(whoShow.itShowXiHaiAn)
//
const user = ref({
username: store.getters['user/username'],
realName: store.getters['user/realName'],
})
// user.username.value = store.getters(['user/username'])
const select = ref(router.currentRoute.value.name)
const mynoticeFlag = ref(false)
const mynoticeData = ref([])
console.log('navListManagement------------>', navListManagement)
// eslint-disable-next-line no-undef
const navList = ref(navListManagement.navList)
console.log('navList------------>', navList)
const props = defineProps({
showView: { type: String, default: '' },
})
// //
// getUser().then((res) => {
// user.value = res.data.data
// // console.log('user===============>', user.value)
// })
// 退
const logout = async () => {
await store.dispatch('user/logout')
window.sessionStorage.setItem('visits', JSON.stringify([]))
// 西
if (!whoShow1.itShowXiHaiAn) {
if (!itShowXiHaiAn.value) {
if (recordRoute) {
const fullPath = route.fullPath
router.push(`/login?redirect=${fullPath}`)
@ -147,10 +142,10 @@ const goToHome = () => {
//
const jumpPage = (item) => {
// 西
if (whoShow1.itShowXiHaiAn) {
if (itShowXiHaiAn.value) {
let _arr = ['共享门户', '能力云图', '能力统计', '需求中心', '赋能案例']
if (_arr.includes(item.name)) {
return message.warn('正在建设中!')
if (_arr.includes(item.name) && !xhaHasPermissionUser.list.includes(user.value.username)) {
return message.warn('暂无权限')
}
}
select.value = item.key