From b07be215f22df05aa8a708a2ea321e89a643826f Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期二, 11 二月 2025 18:09:07 +0800
Subject: [PATCH] feat: mine

---
 apps/cMiniApp/src/pages/mine/index.vue |  145 ++++++++++++++++++++++++++----------------------
 1 files changed, 78 insertions(+), 67 deletions(-)

diff --git a/apps/cMiniApp/src/pages/mine/index.vue b/apps/cMiniApp/src/pages/mine/index.vue
index 71e469c..5e04d6a 100644
--- a/apps/cMiniApp/src/pages/mine/index.vue
+++ b/apps/cMiniApp/src/pages/mine/index.vue
@@ -1,5 +1,5 @@
 <template>
-  <PageLayout class="mine-page-wrapper" :need-auth="false">
+  <PageLayoutWithBg class="mine-page-wrapper" :need-auth="false">
     <template #navigationBar>
       <TransparentNavigationBar
         title="涓汉涓績"
@@ -14,15 +14,30 @@
       <UserHomeTopView :showUserHomePageBtn="isLogin" :showOperation="isLogin">
         <template #avatar>
           <div class="mine-avatar-wrapper" @click="goLogin">
-            <UserAvatar :size="60" class="mine-avatar" />
+            <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-item2" v-if="isCertified">
-                {{ userDetail?.customerName ?? '' }}
-              </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-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>
+                  <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>
+                <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>
               </div>
             </div>
             <div class="mine-go-login" v-else>鍘荤櫥褰�</div>
@@ -31,62 +46,61 @@
       </UserHomeTopView>
     </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 class="mine-id-menu-text">
-          鎮ㄥ綋鍓嶇殑韬唤涓簕{ MatchMakingIdentityEnumText[matchMakingIdentity] }}
+      <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">
+          杩涘叆鎴戠殑閽卞寘
+          <img :src="IconArrow" class="mine-balance-btn-icon" />
         </div>
-        <div class="mine-id-menu-btn" @click="goPage(RouterPath.toggleMatchMakingIdentity)">
-          鍒囨崲韬唤
+      </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>
-      <div class="mine-menu-list">
-        <div class="mine-menu-list-item" @click="goBusinessManagement">
-          <img :src="IconMenuBusiness" class="mine-menu-list-item-icon" />
-          <div class="mine-menu-list-item-text">涓氬姟绠$悊</div>
+        <div class="mine-order-list-content">
+          <nut-badge class="mine-order-list-item" top="8" :value="8" @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">
+            <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="8" @click="goMineCancel">
+            <img :src="IconOrderCancel" class="mine-order-list-icon" />
+            <div class="mine-order-list-text">宸插彇娑�</div>
+          </nut-badge>
         </div>
-        <div class="mine-menu-list-item" @click="goTradeChatRecord">
-          <img :src="IconMenuContact" class="mine-menu-list-item-icon" />
-          <div class="mine-menu-list-item-text">鑱旂郴璁板綍</div>
-        </div>
-      </div>
-      <List class="mine-setting-list">
-        <ListItem :icon="IconMessage" title="娑堟伅" @click="goMessage">
-          <template #extra>
-            <nut-badge
-              :value="myMessageCount.unReadCount ?? 0"
-              class="mine-setting-badge"
-              :hidden="!myMessageCount.unReadCount"
-            ></nut-badge>
-          </template>
-        </ListItem>
+      </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="IconSetting" title="璁剧疆" @click="goSetting"></ListItem>
+        <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 { TransparentNavigationBar, ContentScrollView, UserHomeTopView } from '@/components';
+import IconArrow from '@/assets/setting/icon-arrow.png';
 import IconSetting from '@/assets/mine/icon-setting.png';
-import IconMessage from '@/assets/mine/icon-message.png';
-import { useUser, useIsLogin, useGoLogin, useMyMessageCount } from '@/hooks';
+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';
+import IconAuth from '@/assets/mine/icon-auth.png';
+import { useUser, useIsLogin, useGoLogin } from '@/hooks';
 import Taro from '@tarojs/taro';
 import { RouterPath, OssAssets } from '@/constants';
-import { MatchMakingIdentityEnumText, MatchMakingIdentityEnum } 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';
 
-const { userDetail, isCertified, matchMakingIdentity } = useUser();
+const { userDetail, isCertified } = useUser();
 const isLogin = useIsLogin();
 const systemStore = useSystemStore();
 
@@ -109,18 +123,6 @@
   goPage(RouterPath.setting);
 }
 
-function goMessage() {
-  goPage(RouterPath.messageList);
-}
-
-function goBusinessManagement() {
-  if (matchMakingIdentity.value === MatchMakingIdentityEnum.Employing) {
-    goPage(RouterPath.orderManage);
-  } else if (matchMakingIdentity.value === MatchMakingIdentityEnum.Contributors) {
-    goPage(RouterPath.resourceManage);
-  }
-}
-
 Taro.showShareMenu({
   showShareItems: ['shareAppMessage'],
 });
@@ -128,19 +130,28 @@
 Taro.useShareAppMessage((res) => {
   return {
     title: `${userDetail.value?.contacter}鍚嶇墖`,
-    path: `${RouterPath.userHomePage}?userId=${userDetail.value?.userId}`,
+    // path: `${RouterPath.userHomePage}?userId=${userDetail.value?.userId}`,
     imageUrl: userDetail.value?.avatarUrl,
   };
 });
 
-const { myMessageCount } = useMyMessageCount();
-
 function goAuthentication() {
   goPage(RouterPath.authenticationHome);
 }
-
-function goTradeChatRecord() {
-  goPage(RouterPath.tradeChatRecord);
+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);
 }
 </script>
 

--
Gitblit v1.9.1