From bcd71512ab330b2e31b7ab9d055abd43ff23be3d Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期二, 21 十月 2025 14:13:20 +0800
Subject: [PATCH] fix: bug
---
apps/cMiniApp/src/pages/mine/index.vue | 151 +++++++++++++++++++++++++++++++++++++++----------
1 files changed, 119 insertions(+), 32 deletions(-)
diff --git a/apps/cMiniApp/src/pages/mine/index.vue b/apps/cMiniApp/src/pages/mine/index.vue
index 5e04d6a..3dc8ac2 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,27 +16,37 @@
<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">{{ userDetail?.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">
+ <div
+ class="user-info-unCertified-text"
+ v-if="userDetail?.realStatus === EnumPersonalUserRealStatus.UnReal"
+ >
+ 鏈璇�
+ </div>
+ <div class="user-info-unCertified-text" v-else>
+ {{ EnumUserRealMethodText[userDetail?.realMethod]
+ }}{{ EnumPersonalUserRealStatusText[userDetail?.realStatus] }}
+ </div>
+ <div
+ class="user-info-unCertified-btn"
+ @click.stop="goAuthentication"
+ v-if="
+ userDetail?.realStatus === EnumPersonalUserRealStatus.UnReal ||
+ userDetail?.realStatus === EnumPersonalUserRealStatus.Fail
+ "
+ >
+ 绔嬪嵆璁よ瘉
+ </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 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>
- <div class="user-info-unCertified" v-else @click.stop="goAuthentication">
- <img :src="IconAuth" class="user-info-unCertified-icon" />
- <div class="user-info-unCertified-text">宸茶璇�</div>
- </div>
+ <div class="user-info-unCertified-text">
+ {{ EnumUserRealMethodText[userDetail?.realMethod] }}{{ EnumPersonalUserRealStatusText[userDetail?.realStatus] }}
+ </div>
+ </div> -->
</div>
</div>
</div>
@@ -47,9 +57,27 @@
</ContentView>
<ContentScrollView v-if="isLogin" class="mine-content-scroll-view">
<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-content">
+ <div class="mine-balance-content-item">
+ <div class="mine-balance-content-item-title">鎴戠殑鏀剁泭</div>
+ <div class="mine-balance-content-item-money income">
+ 锟{ toThousand(userDetail?.incomeCount ?? 0) }}
+ </div>
+ </div>
+ <div class="mine-balance-content-item">
+ <div class="mine-balance-content-item-title">寰呯粨绠�</div>
+ <div class="mine-balance-content-item-money settlement">
+ 锟{ toThousand(userDetail?.waitSettlement ?? 0) }}
+ </div>
+ </div>
+ <div class="mine-balance-content-item">
+ <div class="mine-balance-content-item-title">宸插彂鏀�</div>
+ <div class="mine-balance-content-item-money withdraw">
+ 锟{ toThousand(userDetail?.releaseedCount ?? 0) }}
+ </div>
+ </div>
+ </div>
+ <div class="mine-balance-btn" @click="goMineWallet">
杩涘叆鎴戠殑閽卞寘
<img :src="IconArrow" class="mine-balance-btn-icon" />
</div>
@@ -60,25 +88,41 @@
<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="userDetail?.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="userDetail?.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" top="8" :value="8" @click="goMineCancel">
+ <nut-badge
+ class="mine-order-list-item"
+ top="8"
+ :value="userDetail?.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="goMineCollectTask"></ListItem>
- <ListItem :icon="IconSetting" title="鍗忚绛剧害" @click="goMineAgreementSign"></ListItem>
+ <ListItem :icon="IconCollect" title="鎴戞敹钘忕殑浠诲姟" @click="goMineCollectTask"></ListItem>
+ <ListItem :icon="IconAgreement" title="鍗忚绛剧害" @click="goMineAgreementSign"></ListItem>
+ <ListItem :icon="IconSetting" title="浜哄伐瀹㈡湇" @click="goMineService"></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 +132,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';
@@ -95,17 +142,38 @@
import { useUser, useIsLogin, useGoLogin } from '@/hooks';
import Taro from '@tarojs/taro';
import { RouterPath, OssAssets } from '@/constants';
+import {
+ EnumUserRealMethodText,
+ EnumPersonalUserRealStatusText,
+ EnumPersonalUserRealStatus,
+} from '@12333/constants';
import { List, ListItem } from '@12333/components';
import { useSystemStore } from '@/stores/modules/system';
import PageLayoutWithBg from '@/components/Layout/PageLayoutWithBg.vue';
import { toThousand } from '@12333/utils';
+import { useIntervalFn } from 'senin-mini/hooks';
+import { useQuery } from '@tanstack/vue-query';
-const { userDetail, isCertified } = useUser();
+const { userDetail, isCertified, updateUserInfo } = useUser();
const isLogin = useIsLogin();
const systemStore = useSystemStore();
-
const { goLoginFn } = useGoLogin();
const bgHeight = computed(() => 133 + systemStore.navHeight);
+
+useQuery({
+ queryKey: ['updateUserInfo'],
+ queryFn: () => {},
+ enabled: computed(
+ () => isLogin.value && userDetail.value?.realStatus === EnumPersonalUserRealStatus.Checking
+ ),
+ refetchInterval: 5000,
+});
+
+Taro.useDidShow(() => {
+ if (isLogin.value) {
+ updateUserInfo();
+ }
+});
function goLogin() {
if (!isLogin.value) {
@@ -129,9 +197,9 @@
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,
};
});
@@ -153,6 +221,18 @@
function goMineAgreementSign() {
goPage(RouterPath.mineAgreementSign);
}
+
+function goMineWallet() {
+ goPage(RouterPath.mineWallet);
+}
+
+function goMineService() {
+ // const encodedUrl = encodeURIComponent('https://work.weixin.qq.com/kfid/kfcd24e0c60fd91099');
+ // goPage(`${RouterPath.extraPage}?url=${encodedUrl}`);
+ Taro.navigateTo({
+ url: 'https://work.weixin.qq.com/kfid/kfcd24e0c60fd91099',
+ });
+}
</script>
<style lang="scss">
@@ -162,4 +242,11 @@
.mine-setting-badge {
margin-right: 20px;
}
+
+.mine-setting-list {
+ .pro-list-item-icon {
+ width: 48px;
+ height: 48px;
+ }
+}
</style>
--
Gitblit v1.9.1