| | |
| | | <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?.userName ?? '123' }}</div> |
| | | <div class="user-info-item-gender"> |
| | | <img v-if="1" :src="IconMale" class="user-info-item-gender-icon" /> |
| | | <img v-else :src="IconFemale" class="user-info-item-gender-icon" /> |
| | | </div> |
| | | <div class="user-info-item-position">管理员</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-unCertified-text">未认证</div> |
| | | <div class="user-info-unCertified-btn" @click.stop="goAuthentication"> |
| | | 立即认证 |
| | | </div> |
| | | </template> |
| | | <template v-else> |
| | | <div class="user-info-certified-text"> |
| | | {{ userDetail?.customerName ?? '123' }} |
| | | </div> |
| | | <div class="user-info-certified-btn">已认证</div> |
| | | </template> |
| | | </div> |
| | | </div> |
| | | <div class="mine-go-login" v-else>去登录</div> |
| | | </div> |
| | | </template> |
| | | <!-- <div class="mine-business-card"> |
| | | <div class="mine-business-card-item"> |
| | | <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">递名片</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"> |
| | | <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"> |
| | | <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="财务管理"></TaskDetailWelfareItem> |
| | | <TaskDetailWelfareItem :icon="IconRealName" text="企业实名"></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'; |
| | | |
| | | 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({ |
| | |
| | | function goAuthentication() { |
| | | goPage(RouterPath.authenticationHome); |
| | | } |
| | | function goMineFavorites() { |
| | | goPage(RouterPath.mineFavorites); |
| | | } |
| | | function goMineContactRecord() { |
| | | goPage(RouterPath.mineContactRecord); |
| | | } |
| | | |
| | | async function handleLoginout() { |
| | | try { |
| | | await Message.confirm({ |
| | | message: '确定要退出登录吗?', |
| | | }); |
| | | userStore.logoutAndToHome(); |
| | | queryClient.removeQueries(); |
| | | } catch (error) {} |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |