zhouwx
2025-03-24 3f6bf89b1985b6668f02ffcc9af577b412e92e45
src/layout/components/Navbar.vue
@@ -34,9 +34,12 @@
<!--              <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>-->
              <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>
@@ -45,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'
@@ -61,29 +67,120 @@
import useAppStore from '@/store/modules/app'
import useUserStore from '@/store/modules/user'
import useSettingsStore from '@/store/modules/settings'
import {removeToken} from "@/utils/auth";
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() {
  ElMessageBox.confirm('确定注销并退出系统吗?', '提示', {
    confirmButtonText: '确定',