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