| | |
| | | <div class="mine-avatar-wrapper" @click="goLogin"> |
| | | <UserAvatar :size="52" class="mine-avatar" /> |
| | | <div class="user-info" v-if="isLogin"> |
| | | <div class="user-info-item">{{ userDetail?.userName ?? '' }}</div> |
| | | <div class="user-info-item">{{ detail?.name ?? '' }}</div> |
| | | <!-- <div class="user-info-auth"> |
| | | <div class="user-info-auth-item"> |
| | | <div class="user-info-unCertified" v-if="isCertified"> |
| | |
| | | <img :src="IconArrow" class="mine-order-list-title-icon" /> |
| | | </div> |
| | | <div class="mine-order-list-content"> |
| | | <nut-badge class="mine-order-list-item" top="8" :value="8" @click="goMineSign"> |
| | | <nut-badge |
| | | class="mine-order-list-item" |
| | | top="8" |
| | | :value="detail?.taskCount ?? 0" |
| | | @click="goMineSign" |
| | | > |
| | | <img :src="IconOrderSign" class="mine-order-list-icon" /> |
| | | <div class="mine-order-list-text">我的报名</div> |
| | | </nut-badge> |
| | | <nut-badge class="mine-order-list-item" top="8" :value="8" @click="goMineHire"> |
| | | <nut-badge |
| | | class="mine-order-list-item" |
| | | top="8" |
| | | :value="detail?.hirePassTaskCount ?? 0" |
| | | @click="goMineHire" |
| | | > |
| | | <img :src="IconOrderHire" class="mine-order-list-icon" /> |
| | | <div class="mine-order-list-text">已录用</div> |
| | | </nut-badge> |
| | | <nut-badge class="mine-order-list-item" top="8" :value="8" @click="goMineCancel"> |
| | | <nut-badge |
| | | class="mine-order-list-item" |
| | | top="8" |
| | | :value="detail?.hireRefuseTaskCount ?? 0" |
| | | @click="goMineCancel" |
| | | > |
| | | <img :src="IconOrderCancel" class="mine-order-list-icon" /> |
| | | <div class="mine-order-list-text">已取消</div> |
| | | </nut-badge> |
| | |
| | | import { useSystemStore } from '@/stores/modules/system'; |
| | | import PageLayoutWithBg from '@/components/Layout/PageLayoutWithBg.vue'; |
| | | import { toThousand } from '@12333/utils'; |
| | | import { useQuery } from '@tanstack/vue-query'; |
| | | import * as authServices from '@12333/services/apiV2/auth'; |
| | | |
| | | const { userDetail, isCertified } = useUser(); |
| | | const isLogin = useIsLogin(); |
| | |
| | | const { goLoginFn } = useGoLogin(); |
| | | const bgHeight = computed(() => 133 + systemStore.navHeight); |
| | | |
| | | const { |
| | | isLoading, |
| | | isError, |
| | | data: detail, |
| | | refetch, |
| | | } = useQuery({ |
| | | queryKey: ['authServices/getPersonalLoginInfo'], |
| | | queryFn: async () => { |
| | | return await authServices.getPersonalLoginInfo( |
| | | {}, |
| | | { |
| | | showLoading: false, |
| | | } |
| | | ); |
| | | }, |
| | | placeholderData: () => ({} as API.GetPersonalLoginInfoQueryResult), |
| | | }); |
| | | |
| | | function goLogin() { |
| | | if (!isLogin.value) { |
| | | goLoginFn(); |