zhengyiming
2025-02-11 d3f44a4ef648ab4bb971819179d8a9acfb161477
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 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="IconUnCertified" class="user-info-unCertified-icon" />
                    <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" />
      <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 class="mine-setting-list">
      </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" :value="8">
            <img :src="IconOrderSign" class="mine-order-list-icon" />
            <div class="mine-order-list-text">我的报名</div>
          </nut-badge>
          <nut-badge class="mine-order-list-item" :value="8">
            <img :src="IconOrderHire" class="mine-order-list-icon" />
            <div class="mine-order-list-text">已录用</div>
          </nut-badge>
          <nut-badge class="mine-order-list-item" :value="8">
            <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="goSetting"></ListItem>
        <ListItem :icon="IconSetting" title="协议签约" @click="goSetting"></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();