From 3f6bf89b1985b6668f02ffcc9af577b412e92e45 Mon Sep 17 00:00:00 2001
From: zhouwx <1175765986@qq.com>
Date: 星期一, 24 三月 2025 17:17:45 +0800
Subject: [PATCH] bug修改

---
 src/layout/components/Navbar.vue |  131 ++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 115 insertions(+), 16 deletions(-)

diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue
index 4bc452f..2f8c19a 100644
--- a/src/layout/components/Navbar.vue
+++ b/src/layout/components/Navbar.vue
@@ -18,24 +18,28 @@
 
         <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" />
-        </el-tooltip>
+<!--        <el-tooltip content="布局大小" effect="dark" placement="bottom">-->
+<!--          <size-select id="size-select" class="right-menu-item hover-effect" />-->
+<!--        </el-tooltip>-->
       </template>
       <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="userStore.avatar" class="user-avatar" />-->
+            <img src="../../assets/images/avator.png" class="user-avatar" />
             <el-icon><caret-bottom /></el-icon>
           </div>
           <template #dropdown>
             <el-dropdown-menu>
-              <router-link to="/user/profile">
-                <el-dropdown-item>个人中心</el-dropdown-item>
-              </router-link>
-<!--              <el-dropdown-item command="setLayout" v-if="settingsStore.showSettings">-->
-<!--                <span>布局设置</span>-->
-<!--              </el-dropdown-item>-->
+<!--              <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">
                 <span>退出登录</span>
               </el-dropdown-item>
@@ -44,11 +48,14 @@
         </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 { ElMessageBox } from 'element-plus'
+import {ElMessage, ElMessageBox} from 'element-plus'
 import Breadcrumb from '@/components/Breadcrumb'
 import TopNav from '@/components/TopNav'
 import Hamburger from '@/components/Hamburger'
@@ -60,26 +67,118 @@
 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";
 
 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 "setLayout":
-      setLayout();
+    case "info":
+      getInfo();
       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() {
@@ -88,9 +187,9 @@
     cancelButtonText: '取消',
     type: 'warning'
   }).then(() => {
-    userStore.logOut().then(() => {
-      location.href = '/index';
-    })
+    removeToken()
+    location.href = '/homePage';
+
   }).catch(() => { });
 }
 

--
Gitblit v1.9.2