From ac7fde69c457b3488bbfe2671dbfeb3eeba26414 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期三, 13 八月 2025 10:15:20 +0800 Subject: [PATCH] fix: 灵工管理 --- apps/cMiniApp/src/pages/mine/index.vue | 111 +++++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 90 insertions(+), 21 deletions(-) diff --git a/apps/cMiniApp/src/pages/mine/index.vue b/apps/cMiniApp/src/pages/mine/index.vue index c014122..d27651b 100644 --- a/apps/cMiniApp/src/pages/mine/index.vue +++ b/apps/cMiniApp/src/pages/mine/index.vue @@ -1,5 +1,5 @@ <template> - <PageLayoutWithBg class="mine-page-wrapper" :need-auth="false"> + <PageLayoutWithBg class="mine-page-wrapper" title="鎴戠殑" :need-auth="false"> <template #navigationBar> <TransparentNavigationBar title="涓汉涓績" @@ -16,14 +16,16 @@ <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-auth"> + <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"> <div class="user-info-unCertified-text">鏈疄鍚�</div> - <div class="user-info-unCertified-btn">绔嬪嵆瀹炲悕</div> + <div class="user-info-unCertified-btn" @click.stop="goAuthentication"> + 绔嬪嵆瀹炲悕 + </div> </div> - <div class="user-info-unCertified" v-else @click.stop="goAuthentication"> + <div class="user-info-unCertified" v-else> <img :src="IconAuth" class="user-info-unCertified-icon" /> <div class="user-info-unCertified-text">宸插疄鍚�</div> </div> @@ -31,14 +33,16 @@ <div class="user-info-auth-item"> <div class="user-info-unCertified" v-if="!isCertified"> <div class="user-info-unCertified-text">鏈璇�</div> - <div class="user-info-unCertified-btn">绔嬪嵆璁よ瘉</div> + <div class="user-info-unCertified-btn" @click.stop="goAuthentication"> + 绔嬪嵆璁よ瘉 + </div> </div> - <div class="user-info-unCertified" v-else @click.stop="goAuthentication"> + <div class="user-info-unCertified" v-else> <img :src="IconAuth" class="user-info-unCertified-icon" /> <div class="user-info-unCertified-text">宸茶璇�</div> </div> </div> - </div> + </div> --> </div> <div class="mine-go-login" v-else>鍘荤櫥褰�</div> </div> @@ -46,39 +50,54 @@ </UserHomeTopView> </ContentView> <ContentScrollView v-if="isLogin" class="mine-content-scroll-view"> - <List class="mine-list-wrapper mine-balance"> + <!-- <List class="mine-list-wrapper mine-balance"> <div class="mine-balance-title">鎴戠殑浣欓</div> <div class="mine-balance-money">锟{ toThousand(100) }}</div> - <div class="mine-balance-btn"> + <div class="mine-balance-btn" @click="goMineWallet"> 杩涘叆鎴戠殑閽卞寘 <img :src="IconArrow" class="mine-balance-btn-icon" /> </div> - </List> + </List> --> <List class="mine-list-wrapper mine-order-list"> <div class="mine-order-list-title"> <div class="mine-order-list-title-text">鎴戠殑璁㈠崟</div> <img :src="IconArrow" class="mine-order-list-title-icon" /> </div> <div class="mine-order-list-content"> - <nut-badge class="mine-order-list-item" :value="8"> + <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" :value="8"> + <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> + <div class="mine-order-list-text">宸插畨鎺�</div> </nut-badge> - <nut-badge class="mine-order-list-item" :value="8"> + <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> </div> </List> <List class="mine-list-wrapper mine-setting-list"> - <ListItem :icon="IconSetting" title="鎴戞敹钘忕殑浠诲姟" @click="goSetting"></ListItem> - <ListItem :icon="IconSetting" title="鍗忚绛剧害" @click="goSetting"></ListItem> + <ListItem :icon="IconCollect" title="鎴戞敹钘忕殑浠诲姟" @click="goMineCollectTask"></ListItem> + <!-- <ListItem :icon="IconAgreement" title="鍗忚绛剧害" @click="goMineAgreementSign"></ListItem> --> <ListItem :icon="IconSetting" title="璁剧疆" @click="goSetting"></ListItem> - <ListItem :icon="IconSetting" title="鎴戣鎷涗汉/鐢ㄤ汉" @click="goSetting"></ListItem> + <!-- <ListItem :icon="IconRecruit" title="鎴戣鎷涗汉/鐢ㄤ汉" @click="goSetting"></ListItem> --> </List> </ContentScrollView> </PageLayoutWithBg> @@ -88,6 +107,9 @@ import { TransparentNavigationBar, ContentScrollView, UserHomeTopView } from '@/components'; import IconArrow from '@/assets/setting/icon-arrow.png'; import IconSetting from '@/assets/mine/icon-setting.png'; +import IconCollect from '@/assets/mine/icon-collect.png'; +import IconAgreement from '@/assets/mine/icon-agreement.png'; +import IconRecruit from '@/assets/mine/icon-recruit.png'; import IconOrderSign from '@/assets/mine/icon-order-sign.png'; import IconOrderHire from '@/assets/mine/icon-order-hire.png'; import IconOrderCancel from '@/assets/mine/icon-order-cancel.png'; @@ -99,6 +121,8 @@ 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(); @@ -106,6 +130,25 @@ 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), + enabled: isLogin, +}); function goLogin() { if (!isLogin.value) { @@ -120,7 +163,7 @@ } function goSetting() { - // goPage(RouterPath.setting); + goPage(RouterPath.setting); } Taro.showShareMenu({ @@ -129,14 +172,33 @@ Taro.useShareAppMessage((res) => { return { - title: `${userDetail.value?.contacter}鍚嶇墖`, + // title: `${userDetail.value?.contacter}鍚嶇墖`, // path: `${RouterPath.userHomePage}?userId=${userDetail.value?.userId}`, - imageUrl: userDetail.value?.avatarUrl, + // imageUrl: userDetail.value?.avatarUrl, }; }); function goAuthentication() { goPage(RouterPath.authenticationHome); +} +function goMineSign() { + goPage(RouterPath.mineSign); +} +function goMineHire() { + goPage(RouterPath.mineHire); +} +function goMineCancel() { + goPage(RouterPath.mineCancel); +} +function goMineCollectTask() { + goPage(RouterPath.mineCollectTask); +} +function goMineAgreementSign() { + goPage(RouterPath.mineAgreementSign); +} + +function goMineWallet() { + goPage(RouterPath.mineWallet); } </script> @@ -147,4 +209,11 @@ .mine-setting-badge { margin-right: 20px; } + +.mine-setting-list { + .pro-list-item-icon { + width: 48px; + height: 48px; + } +} </style> -- Gitblit v1.9.1