|  |  |  | 
|---|
|  |  |  | </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(userDetail?.balance) }}</div> | 
|---|
|  |  |  | <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" /> | 
|---|
|  |  |  | 
|---|
|  |  |  | @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="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" | 
|---|
|  |  |  | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <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="IconSetting" title="人工客服" @click="goMineService"></ListItem> | 
|---|
|  |  |  | <ListItem :icon="IconSetting" title="设置" @click="goSetting"></ListItem> | 
|---|
|  |  |  | <!-- <ListItem :icon="IconRecruit" title="我要招人/用人" @click="goSetting"></ListItem> --> | 
|---|
|  |  |  | </List> | 
|---|
|  |  |  | 
|---|
|  |  |  | import PageLayoutWithBg from '@/components/Layout/PageLayoutWithBg.vue'; | 
|---|
|  |  |  | import { toThousand } from '@12333/utils'; | 
|---|
|  |  |  | import { useIntervalFn } from 'senin-mini/hooks'; | 
|---|
|  |  |  | import { useQuery } from '@tanstack/vue-query'; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const { userDetail, isCertified, updateUserInfo } = useUser(); | 
|---|
|  |  |  | const isLogin = useIsLogin(); | 
|---|
|  |  |  | 
|---|
|  |  |  | const { goLoginFn } = useGoLogin(); | 
|---|
|  |  |  | const bgHeight = computed(() => 133 + systemStore.navHeight); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const { stop, start } = useIntervalFn(updateUserInfo, 5000, { | 
|---|
|  |  |  | immediate: false, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | Taro.useDidShow(({ scene }) => { | 
|---|
|  |  |  | if (isLogin.value) { | 
|---|
|  |  |  | updateUserInfo(); | 
|---|
|  |  |  | if (userDetail.value?.realStatus === EnumPersonalUserRealStatus.Checking) { | 
|---|
|  |  |  | start(); | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | stop(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } else { | 
|---|
|  |  |  | stop(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | useQuery({ | 
|---|
|  |  |  | queryKey: ['updateUserInfo'], | 
|---|
|  |  |  | queryFn: () => {}, | 
|---|
|  |  |  | enabled: computed( | 
|---|
|  |  |  | () => isLogin.value && userDetail.value?.realStatus === EnumPersonalUserRealStatus.Checking | 
|---|
|  |  |  | ), | 
|---|
|  |  |  | refetchInterval: 5000, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Taro.useDidHide(() => { | 
|---|
|  |  |  | stop(); | 
|---|
|  |  |  | Taro.useDidShow(() => { | 
|---|
|  |  |  | if (isLogin.value) { | 
|---|
|  |  |  | updateUserInfo(); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function goLogin() { | 
|---|
|  |  |  | 
|---|
|  |  |  | function goMineCancel() { | 
|---|
|  |  |  | goPage(RouterPath.mineCancel); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | function goMineHired() { | 
|---|
|  |  |  | goPage(RouterPath.mineHired); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | function goMineCollectTask() { | 
|---|
|  |  |  | goPage(RouterPath.mineCollectTask); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | 
|---|
|  |  |  | function goMineWallet() { | 
|---|
|  |  |  | goPage(RouterPath.mineWallet); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function goMineService() { | 
|---|
|  |  |  | // const encodedUrl = encodeURIComponent('https://work.weixin.qq.com/kfid/kfcd24e0c60fd91099'); | 
|---|
|  |  |  | // goPage(`${RouterPath.extraPage}?url=${encodedUrl}`); | 
|---|
|  |  |  | Taro.navigateTo({ | 
|---|
|  |  |  | url: 'https://work.weixin.qq.com/kfid/kfcd24e0c60fd91099', | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <style lang="scss"> | 
|---|