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 |  105 ++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 80 insertions(+), 25 deletions(-)

diff --git a/apps/cMiniApp/src/pages/mine/index.vue b/apps/cMiniApp/src/pages/mine/index.vue
index 6c2bc79..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,34 +46,59 @@
       </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>
-      <List class="mine-setting-list">
+      <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>
+      </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" 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>
+      </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 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 { 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 } = useUser();
 const isLogin = useIsLogin();
@@ -80,7 +120,7 @@
 }
 
 function goSetting() {
-  // goPage(RouterPath.setting);
+  goPage(RouterPath.setting);
 }
 
 Taro.showShareMenu({
@@ -98,6 +138,21 @@
 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);
+}
 </script>
 
 <style lang="scss">

--
Gitblit v1.9.1