| | |
| | | v-if="state.rolesCode.indexOf(item.code) !== -1" |
| | | :underline="false" |
| | | class="hover:cursor-pointer" |
| | | @click="toRegister" |
| | | @click="logOut" |
| | | >退出</el-link |
| | | > |
| | | <el-link |
| | | v-else-if="!state.accessToken" |
| | | :underline="false" |
| | | class="hover:cursor-pointer" |
| | | @click="toRegister" |
| | | >注册</el-link |
| | | > |
| | | <el-link |
| | | v-else |
| | | :underline="false" |
| | | class="hover:cursor-pointer" |
| | | @click="toRegister" |
| | | >申请</el-link |
| | | ><span class="m-2">|</span> |
| | | @click="toApply(item)" |
| | | ><span v-if="item.name !== '评审专家'">申请</span></el-link |
| | | ><span v-if="item.name !== '评审专家'" class="m-2">|</span> |
| | | <el-link |
| | | v-if="state.rolesCode.indexOf(item.code) !== -1" |
| | | :underline="false" |
| | | class="hover:cursor-pointer" |
| | | @click="toWelcome" |
| | | @click="toWelcome(item)" |
| | | >进入</el-link |
| | | > |
| | | <el-link |
| | | v-else |
| | | :underline="false" |
| | | class="hover:cursor-pointer" |
| | | :disabled="state.accessToken" |
| | | @click="toLogin" |
| | | :disabled="!!state.accessToken" |
| | | @click="toLogin(item)" |
| | | >登录</el-link |
| | | > |
| | | </div> |
| | |
| | | |
| | | <script lang="ts" setup> |
| | | import { onMounted, ref, computed, reactive } from "vue"; |
| | | import myFooter from "./component/myFooter.vue"; |
| | | import MyFooter from "./component/myFooter.vue"; |
| | | import { useUserStoreHook } from "@/store/modules/user"; |
| | | import { exRole } from "@/api/register/index.ts"; |
| | | import { exRole } from "@/api/register/index"; |
| | | import { storageLocal, isString, isIncludeAllChildren } from "@pureadmin/utils"; |
| | | |
| | | import { getToken } from "@/utils/auth"; |
| | | import { useRoute, useRouter } from "vue-router"; |
| | | const router = useRouter(); |
| | | import { useUserStore } from "@/store/modules/user"; |
| | | |
| | | const userStore = useUserStore(); |
| | | |
| | | // 访问 state 属性 |
| | | // console.log(userStore.roles,'-'); // 直接获取值 |
| | | defineOptions({ |
| | | name: "Main" |
| | | name: "MainPage" |
| | | }); |
| | | let activeName = ref("first"); |
| | | /** 角色(如果昵称为空则显示用户名) */ |
| | | const getUseRoles = () => { |
| | | state.userInfo = storageLocal().getItem("user-info"); |
| | | state.userInfo.exRoles.forEach(element => { |
| | | state.userInfo?.exRoles.forEach(element => { |
| | | state.rolesCode.push(element.code); |
| | | }); |
| | | }; |
| | |
| | | accessToken: "" |
| | | }); |
| | | onMounted(() => { |
| | | exRole().then(res => { |
| | | state.roleList = res.result; |
| | | }); |
| | | // exRole().then(res => { |
| | | // state.roleList = res.result; |
| | | // }); |
| | | state.roleList = useUserStoreHook().rolesList; |
| | | getUseRoles(); |
| | | state.accessToken = getToken().accessToken; |
| | | state.accessToken = getToken()?.accessToken; |
| | | }); |
| | | |
| | | const router = useRouter(); |
| | | const toRegister = () => { |
| | | router.push({ name: "Register" }); |
| | | }; |
| | | const toWelcome = () => { |
| | | router.push({ name: "Welcome" }); |
| | | // 退出 |
| | | const logOut = () => { |
| | | useUserStoreHook().logOut(); |
| | | }; |
| | | const toLogin = () => { |
| | | router.push({ name: "Login" }); |
| | | // 申请 |
| | | const toApply = item => { |
| | | router.push({ name: "RegisterNav", query: { code: item.code } }); |
| | | }; |
| | | // 去首页 |
| | | const toWelcome = async item => { |
| | | if (useUserStoreHook().nowRole.code !== item.code) { |
| | | await useUserStoreHook().changeLogoInExRule({ |
| | | ruleCode: item.code |
| | | }); |
| | | } |
| | | router.push({ name: "Mine" }); |
| | | }; |
| | | // 去登录 |
| | | const toLogin = item => { |
| | | router.push({ name: "Login", query: item }); |
| | | }; |
| | | </script> |
| | | |
| | |
| | | a:active { |
| | | color: #fff; |
| | | } |
| | | .el-link.is-disabled { |
| | | color: #a8abb2; |
| | | cursor: not-allowed; |
| | | } |
| | | </style> |