From d8b570430066fae42d6884671cef541fc820de1c Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期五, 15 十一月 2024 14:42:44 +0800 Subject: [PATCH] 动态路由 --- src/layout/components/Navbar.vue | 129 +++++------------------------------------- 1 files changed, 16 insertions(+), 113 deletions(-) diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 2f8c19a..4c30253 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -16,7 +16,7 @@ <!-- <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />--> <!-- </el-tooltip>--> - <screenfull id="screenfull" class="right-menu-item hover-effect" /> +<!-- <screenfull id="screenfull" class="right-menu-item hover-effect" />--> <!-- <el-tooltip content="布局大小" effect="dark" placement="bottom">--> <!-- <size-select id="size-select" class="right-menu-item hover-effect" />--> @@ -25,8 +25,7 @@ <div class="avatar-container"> <el-dropdown @command="handleCommand" class="right-menu-item hover-effect" trigger="click"> <div class="avatar-wrapper"> -<!-- <img :src="userStore.avatar" class="user-avatar" />--> - <img src="../../assets/images/avator.png" class="user-avatar" /> + <img :src="avator" class="user-avatar" /> <el-icon><caret-bottom /></el-icon> </div> <template #dropdown> @@ -34,13 +33,10 @@ <!-- <router-link to="/user/profile">--> <!-- <el-dropdown-item>个人中心</el-dropdown-item>--> <!-- </router-link>--> - <el-dropdown-item command="info"> - <span>基本信息</span> - </el-dropdown-item> - <el-dropdown-item command="password"> - <span>修改密码</span> - </el-dropdown-item> - <el-dropdown-item divided command="logout"> +<!-- <el-dropdown-item command="setLayout" v-if="settingsStore.showSettings">--> +<!-- <span>布局设置</span>--> +<!-- </el-dropdown-item>--> + <el-dropdown-item command="logout"> <span>退出登录</span> </el-dropdown-item> </el-dropdown-menu> @@ -48,14 +44,11 @@ </el-dropdown> </div> </div> - <review-dialog ref="reviewRef" ></review-dialog> - <register ref="regRef" @getList="getList" /> - <supervise-dialog ref="superRef"></supervise-dialog> </div> </template> <script setup> -import {ElMessage, ElMessageBox} from 'element-plus' +import { ElMessageBox } from 'element-plus' import Breadcrumb from '@/components/Breadcrumb' import TopNav from '@/components/TopNav' import Hamburger from '@/components/Hamburger' @@ -67,118 +60,28 @@ import useAppStore from '@/store/modules/app' import useUserStore from '@/store/modules/user' import useSettingsStore from '@/store/modules/settings' -import {getToken, removeToken} from "@/utils/auth"; -import {onMounted, ref} from "vue"; -import Cookies from "js-cookie"; -import reviewDialog from "@/views/safetyReview/institution/components/viewInstitution.vue" -import superviseDialog from "@/views/safetyReview/userManage/superviseUsers/components/superviseDialog.vue" -import {Register} from "@/layout/components"; -import {getUserById} from "@/api/sysUsers"; -import menu from "@/layout/components/Sidebar/menu"; +import avator from '@/assets/images/avator.png' + const appStore = useAppStore() const userStore = useUserStore() const settingsStore = useSettingsStore() -const reviewRef = ref(); -const regRef = ref(null) -const superRef = ref(); -const userInfo = ref(); -onMounted(()=>{ - if(getToken()){ - userInfo.value = JSON.parse(Cookies.get('userInfo')) - console.log("userInfo",userInfo.value ) - } - getState(); -}) -const getState = async () => { - console.log('navbar') - const param = { - userId: userInfo.value.id - } - const res = await getUserById(param) - if(res.code == 200){ - userInfo.value.state = res.data.state; - // if(userInfo.value.state===2){ - // sidebarRouters.value = menu.agencyMenu - // Cookies.set('routers',JSON.stringify(sidebarRouters.value)) - // location.href = '/project'; - // } - // else { - // location.href = '/noMenu'; - // } - - - }else{ - ElMessage({ - type: 'warning', - message: res.message - }) - } -} function toggleSideBar() { appStore.toggleSideBar() } function handleCommand(command) { switch (command) { - case "info": - getInfo(); + case "setLayout": + setLayout(); break; case "logout": logout(); break; - case "password": - editPsd(); - break; default: break; } -} - -function getInfo() { - console.log("getInfo",userInfo.value) - //机构用户 - if(userInfo.value.identity === 1){ - //审核驳回(可修改) - if(userInfo.value.state === 3){ - const obj = { - id: userInfo.value.id, - username: userInfo.value.username, - agencyId: userInfo.value.agentId - } - regRef.value.openDialog('reject', obj); - }else{ - //审核通过、未审核状态(不可修改) - const obj = { - agencyId: userInfo.value.agentId - } - reviewRef.value.openDialog(obj,'view') - } - } - //监管用户 - else if (userInfo.value.identity === 0) { - const obj = { - id: userInfo.value.id - } - superRef.value.openDialog('view', obj); - } -} -function editPsd() { - superRef.value.openDialog('pwd', userInfo.value); -} -const sidebarRouters = ref([]) - -const getList = () => { - // getState() - location.href = '/noMenu'; - // if(userInfo.value.state===2){ - // sidebarRouters.value = menu.agencyMenu - // Cookies.set('routers',JSON.stringify(sidebarRouters.value)) - // location.href = '/project'; - // }else { - // location.href = '/noMenu'; - // } } function logout() { @@ -187,9 +90,9 @@ cancelButtonText: '取消', type: 'warning' }).then(() => { - removeToken() - location.href = '/homePage'; - + userStore.logOut().then(() => { + location.href = '/index'; + }) }).catch(() => { }); } @@ -205,8 +108,8 @@ overflow: hidden; position: relative; background: #fff; - border-radius: 0.4rem 0.4rem 0 0; - border-bottom: 1px solid #d5dce5; + box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08); + .hamburger-container { line-height: 46px; height: 100%; -- Gitblit v1.9.2