From bfb0049a193a8f72a7f4268ac8a4009562854cfd Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期二, 21 十月 2025 17:17:10 +0800
Subject: [PATCH] fix: bug

---
 apps/cMiniApp/src/pages/mine/index.vue |  160 ++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 109 insertions(+), 51 deletions(-)

diff --git a/apps/cMiniApp/src/pages/mine/index.vue b/apps/cMiniApp/src/pages/mine/index.vue
index 0122195..ad3206d 100644
--- a/apps/cMiniApp/src/pages/mine/index.vue
+++ b/apps/cMiniApp/src/pages/mine/index.vue
@@ -16,33 +16,39 @@
           <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">{{ detail?.name ?? '' }}</div>
-              <!-- <div class="user-info-auth">
+              <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" @click.stop="goAuthentication">
-                      绔嬪嵆瀹炲悕
+                  <div class="user-info-unCertified">
+                    <div
+                      class="user-info-unCertified-text"
+                      v-if="userDetail?.realStatus === EnumPersonalUserRealStatus.UnReal"
+                    >
+                      鏈璇�
                     </div>
-                  </div>
-                  <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" @click.stop="goAuthentication">
+                    <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>
+                  <!-- <div class="user-info-unCertified" v-else>
                     <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>
             </div>
             <div class="mine-go-login" v-else>鍘荤櫥褰�</div>
           </div>
@@ -50,14 +56,32 @@
       </UserHomeTopView>
     </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>
+      <List class="mine-list-wrapper mine-balance">
+        <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>
-      </List> -->
+      </List>
       <List class="mine-list-wrapper mine-order-list">
         <div class="mine-order-list-title">
           <div class="mine-order-list-title-text">鎴戠殑璁㈠崟</div>
@@ -67,16 +91,34 @@
           <nut-badge
             class="mine-order-list-item"
             top="8"
-            :value="detail?.taskCount ?? 0"
+            :value="userDetail?.taskCount ?? 0"
             @click="goMineSign"
           >
             <img :src="IconOrderSign" 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="detail?.hirePassTaskCount ?? 0"
+            :value="userDetail?.inProcessTaskCount ?? 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="userDetail?.hirePassTaskCount ?? 0"
+            @click="goMineHired"
+          >
+            <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="userDetail?.hirePassTaskCount ?? 0"
             @click="goMineHire"
           >
             <img :src="IconOrderHire" class="mine-order-list-icon" />
@@ -85,17 +127,18 @@
           <nut-badge
             class="mine-order-list-item"
             top="8"
-            :value="detail?.hireRefuseTaskCount ?? 0"
+            :value="userDetail?.hireRefuseTaskCount ?? 0"
             @click="goMineCancel"
           >
             <img :src="IconOrderCancel" class="mine-order-list-icon" />
             <div class="mine-order-list-text">宸插彇娑�</div>
-          </nut-badge>
+          </nut-badge> -->
         </div>
       </List>
       <List class="mine-list-wrapper mine-setting-list">
         <ListItem :icon="IconCollect" title="鎴戞敹钘忕殑浠诲姟" @click="goMineCollectTask"></ListItem>
-        <!-- <ListItem :icon="IconAgreement" title="鍗忚绛剧害" @click="goMineAgreementSign"></ListItem> -->
+        <ListItem :icon="IconAgreement" title="鍗忚绛剧害" @click="goMineAgreementSign"></ListItem>
+        <ListItem :icon="IconServices" title="浜哄伐瀹㈡湇" @click="goMineService"></ListItem>
         <ListItem :icon="IconSetting" title="璁剧疆" @click="goSetting"></ListItem>
         <!-- <ListItem :icon="IconRecruit" title="鎴戣鎷涗汉/鐢ㄤ汉" @click="goSetting"></ListItem> -->
       </List>
@@ -114,44 +157,41 @@
 import IconOrderHire from '@/assets/mine/icon-order-hire.png';
 import IconOrderCancel from '@/assets/mine/icon-order-cancel.png';
 import IconAuth from '@/assets/mine/icon-auth.png';
+import IconServices from '@/assets/mine/icon-services.png';
 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';
-import * as authServices from '@12333/services/apiV2/auth';
 
-const { userDetail, isCertified } = useUser();
+const { userDetail, isCertified, updateUserInfo } = useUser();
 const isLogin = useIsLogin();
 const systemStore = useSystemStore();
-
 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,
+useQuery({
+  queryKey: ['updateUserInfo'],
+  queryFn: () => {},
+  enabled: computed(
+    () => isLogin.value && userDetail.value?.realStatus === EnumPersonalUserRealStatus.Checking
+  ),
+  refetchInterval: 5000,
 });
 
 Taro.useDidShow(() => {
-  refetch();
+  if (isLogin.value) {
+    updateUserInfo();
+  }
 });
 
 function goLogin() {
@@ -194,6 +234,9 @@
 function goMineCancel() {
   goPage(RouterPath.mineCancel);
 }
+function goMineHired() {
+  goPage(RouterPath.mineHired);
+}
 function goMineCollectTask() {
   goPage(RouterPath.mineCollectTask);
 }
@@ -204,6 +247,21 @@
 function goMineWallet() {
   goPage(RouterPath.mineWallet);
 }
+
+function goMineService() {
+  Taro.openCustomerServiceChat({
+    extInfo: {
+      url: 'https://work.weixin.qq.com/kfid/kfcd24e0c60fd91099',
+    },
+    corpId: 'wwc84cb8e0525c772f',
+    fail: (res) => {
+      Taro.showToast({
+        title: res.errMsg,
+        icon: 'none',
+      });
+    },
+  });
+}
 </script>
 
 <style lang="scss">

--
Gitblit v1.9.1