|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <PageLayout class="mine-page-wrapper" :need-auth="false"> | 
|---|
|  |  |  | <PageLayoutWithBg class="mine-page-wrapper" :need-auth="false"> | 
|---|
|  |  |  | <template #navigationBar> | 
|---|
|  |  |  | <TransparentNavigationBar | 
|---|
|  |  |  | title="个人中心" | 
|---|
|  |  |  | 
|---|
|  |  |  | <img :src="OssAssets.mine.Bg" class="mine-page-bg" :style="{ height: `${bgHeight}px` }" /> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | <ContentView> | 
|---|
|  |  |  | <UserHomeTopView :showUserHomePageBtn="isLogin" :showOperation="isLogin"> | 
|---|
|  |  |  | <UserHomeTopView> | 
|---|
|  |  |  | <template #avatar> | 
|---|
|  |  |  | <div class="mine-avatar-wrapper" @click="goLogin"> | 
|---|
|  |  |  | <UserAvatar :size="60" class="mine-avatar" /> | 
|---|
|  |  |  | <div class="user-info" v-if="isLogin"> | 
|---|
|  |  |  | <div class="user-info-item">{{ userDetail?.userName ?? '' }}</div> | 
|---|
|  |  |  | <div class="user-info-item2" v-if="isCertified"> | 
|---|
|  |  |  | {{ userDetail?.customerName ?? '' }} | 
|---|
|  |  |  | <div class="user-info-item"> | 
|---|
|  |  |  | <div class="user-info-item-name">{{ userDetail?.name ?? '' }}</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="user-info-unCertified" v-else @click.stop="goAuthentication"> | 
|---|
|  |  |  | <img :src="IconUnCertified" class="user-info-unCertified-icon" /> | 
|---|
|  |  |  | <div class="user-info-unCertified-text">未认证</div> | 
|---|
|  |  |  | <div class="user-info-item"> | 
|---|
|  |  |  | <template v-if="isCertified"> | 
|---|
|  |  |  | <div class="user-info-certified-text"> | 
|---|
|  |  |  | {{ userDetail?.enterpriseName ?? '' }} | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="user-info-certified-btn">已认证</div> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | <!-- <template v-else> | 
|---|
|  |  |  | <div class="user-info-unCertified-text">未认证</div> | 
|---|
|  |  |  | <div class="user-info-unCertified-btn" @click.stop="goAuthentication"> | 
|---|
|  |  |  | 立即认证 | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </template> --> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="mine-go-login" v-else>去登录</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | <div class="mine-business-card" v-if="isLogin"> | 
|---|
|  |  |  | <div class="mine-business-card-item" @click="goBusinessCard"> | 
|---|
|  |  |  | <img class="mine-business-card-item-icon" :src="IconBusinessCard" alt="" /> | 
|---|
|  |  |  | <div class="mine-business-card-item-text">我的电子名片</div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="mine-business-card-btn"> | 
|---|
|  |  |  | <nut-button type="info" @click="goBusinessCard">递名片</nut-button> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </UserHomeTopView> | 
|---|
|  |  |  | <template v-if="isLogin"> | 
|---|
|  |  |  | <div class="mine-content-record"> | 
|---|
|  |  |  | <div class="mine-content-record-item" @click="goMineFavorites"> | 
|---|
|  |  |  | <img class="mine-content-record-item-icon" :src="IconCollect" alt="" /> | 
|---|
|  |  |  | <nut-badge top="0" right="0" :value="8" color="#FF7D00" hidden> | 
|---|
|  |  |  | <div class="mine-content-record-item-text">我的收藏</div> | 
|---|
|  |  |  | </nut-badge> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="mine-content-record-item" @click="goMineContactRecord"> | 
|---|
|  |  |  | <img class="mine-content-record-item-icon" :src="IconRecord" alt="" /> | 
|---|
|  |  |  | <nut-badge top="0" right="0" :value="8" color="#FF7D00" hidden> | 
|---|
|  |  |  | <div class="mine-content-record-item-text">联系记录</div> | 
|---|
|  |  |  | </nut-badge> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <Cell :title="'更多服务'" class="mine-content-service"> | 
|---|
|  |  |  | <div class="mine-content-service-list"> | 
|---|
|  |  |  | <TaskDetailWelfareItem | 
|---|
|  |  |  | :icon="IconFinance" | 
|---|
|  |  |  | text="财务管理" | 
|---|
|  |  |  | @click="goFinance" | 
|---|
|  |  |  | ></TaskDetailWelfareItem> | 
|---|
|  |  |  | <!-- <TaskDetailWelfareItem | 
|---|
|  |  |  | :icon="IconRealName" | 
|---|
|  |  |  | text="企业实名" | 
|---|
|  |  |  | @click.stop="goAuthentication" | 
|---|
|  |  |  | ></TaskDetailWelfareItem> --> | 
|---|
|  |  |  | <TaskDetailWelfareItem | 
|---|
|  |  |  | :icon="IconSetting" | 
|---|
|  |  |  | text="设置" | 
|---|
|  |  |  | @click="goSetting" | 
|---|
|  |  |  | ></TaskDetailWelfareItem> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | </Cell> | 
|---|
|  |  |  | <nut-button type="info" class="mine-content-logout" @click="handleLoginout" | 
|---|
|  |  |  | >退出登录</nut-button | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | </ContentView> | 
|---|
|  |  |  | <ContentScrollView v-if="isLogin" class="mine-content-scroll-view"> | 
|---|
|  |  |  | <div class="mine-id-menu-wrapper"> | 
|---|
|  |  |  | <img :src="IconLamp" class="mine-id-menu-icon" /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <List class="mine-setting-list"> | 
|---|
|  |  |  | <ListItem :icon="IconSetting" title="设置" @click="goSetting"></ListItem> | 
|---|
|  |  |  | </List> | 
|---|
|  |  |  | </ContentScrollView> | 
|---|
|  |  |  | </PageLayout> | 
|---|
|  |  |  | </PageLayoutWithBg> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script setup lang="ts"> | 
|---|
|  |  |  | import { | 
|---|
|  |  |  | PageLayout, | 
|---|
|  |  |  | TransparentNavigationBar, | 
|---|
|  |  |  | ContentScrollView, | 
|---|
|  |  |  | UserHomeTopView, | 
|---|
|  |  |  | } from '@/components'; | 
|---|
|  |  |  | import IconUnCertified from '@/assets/mine/icon-unCertified.png'; | 
|---|
|  |  |  | import IconLamp from '@/assets/mine/icon-lamp.png'; | 
|---|
|  |  |  | import IconMenuBusiness from '@/assets/mine/icon-menu-business.png'; | 
|---|
|  |  |  | import IconMenuContact from '@/assets/mine/icon-menu-contact.png'; | 
|---|
|  |  |  | import { PageLayoutWithBg, TransparentNavigationBar, UserHomeTopView } from '@/components'; | 
|---|
|  |  |  | import IconBusinessCard from '@/assets/mine/icon-business-card.png'; | 
|---|
|  |  |  | import IconCollect from '@/assets/mine/icon-collect.png'; | 
|---|
|  |  |  | import IconRecord from '@/assets/mine/icon-record.png'; | 
|---|
|  |  |  | import IconMale from '@/assets/mine/icon-male.png'; | 
|---|
|  |  |  | import IconFemale from '@/assets/mine/icon-female.png'; | 
|---|
|  |  |  | import IconFinance from '@/assets/mine/icon-finance.png'; | 
|---|
|  |  |  | import IconRealName from '@/assets/mine/icon-realname.png'; | 
|---|
|  |  |  | import IconSetting from '@/assets/mine/icon-setting.png'; | 
|---|
|  |  |  | import IconMessage from '@/assets/mine/icon-message.png'; | 
|---|
|  |  |  | import { useUser, useIsLogin, useGoLogin } from '@/hooks'; | 
|---|
|  |  |  | import Taro from '@tarojs/taro'; | 
|---|
|  |  |  | import { RouterPath, OssAssets } from '@/constants'; | 
|---|
|  |  |  | import { List, ListItem } from '@12333/components'; | 
|---|
|  |  |  | import { useSystemStore } from '@/stores/modules/system'; | 
|---|
|  |  |  | import { Message } from '@12333/utils'; | 
|---|
|  |  |  | import { useUserStore } from '@/stores/modules/user'; | 
|---|
|  |  |  | import { useQueryClient } from '@tanstack/vue-query'; | 
|---|
|  |  |  | import { TaskDetailWelfareItem } from '@12333/components'; | 
|---|
|  |  |  | import { EnumUserGender } from '@12333/constants'; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const userStore = useUserStore(); | 
|---|
|  |  |  | const queryClient = useQueryClient(); | 
|---|
|  |  |  | const { userDetail, isCertified } = useUser(); | 
|---|
|  |  |  | const isLogin = useIsLogin(); | 
|---|
|  |  |  | const systemStore = useSystemStore(); | 
|---|
|  |  |  | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function goSetting() { | 
|---|
|  |  |  | // goPage(RouterPath.setting); | 
|---|
|  |  |  | goPage(RouterPath.setting); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Taro.showShareMenu({ | 
|---|
|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Taro.useShareAppMessage((res) => { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | title: `${userDetail.value?.contacter}名片`, | 
|---|
|  |  |  | title: `${userDetail.value?.name}名片`, | 
|---|
|  |  |  | // path: `${RouterPath.userHomePage}?userId=${userDetail.value?.userId}`, | 
|---|
|  |  |  | imageUrl: userDetail.value?.avatarUrl, | 
|---|
|  |  |  | imageUrl: userDetail.value?.avatar, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function goAuthentication() { | 
|---|
|  |  |  | goPage(RouterPath.authenticationHome); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | function goMineFavorites() { | 
|---|
|  |  |  | goPage(RouterPath.mineFavorites); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | function goMineContactRecord() { | 
|---|
|  |  |  | goPage(RouterPath.mineContactRecord); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function goBusinessCard() { | 
|---|
|  |  |  | goPage(RouterPath.businessCard); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function goFinance() { | 
|---|
|  |  |  | goPage(RouterPath.mineFinanceManage); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | async function handleLoginout() { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | await Message.confirm({ | 
|---|
|  |  |  | message: '确定要退出登录吗?', | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | userStore.logoutAndToHome(); | 
|---|
|  |  |  | queryClient.removeQueries({ | 
|---|
|  |  |  | predicate: (query) => !query.queryKey.includes('userResumeServices/getOpenUserResumes'), | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } catch (error) {} | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <style lang="scss"> | 
|---|