From b626d79c65da6f5e269fdc2af9c71dcd1823bac1 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期三, 03 九月 2025 15:08:18 +0800 Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobMiniApp --- apps/cMiniApp/src/assets/wallet/icon-wallet-wechat.png | 0 apps/cMiniApp/src/assets/wallet/icon-wallet-step-wait.png | 0 apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue | 2 packages/components/src/List/IncomeDetailListItem.vue | 26 +- apps/bMiniApp/src/constants/router.ts | 3 apps/cMiniApp/src/subpackages/wallet/withdraw/InnerPage.vue | 122 +++++++++++ apps/cMiniApp/src/subpackages/wallet/withdrawDetailInfo/withdrawDetailInfo.config.ts | 0 apps/cMiniApp/src/subpackages/wallet/incomeDetailInfo/InnerPage.vue | 14 apps/cMiniApp/src/subpackages/extraPage/extraPage/extraPage.vue | 0 apps/bMiniApp/src/app.config.ts | 5 apps/cMiniApp/src/subpackages/wallet/incomeDetailInfo/incomeDetailInfo.vue | 2 apps/packages/components/assets/wallet/icon-wallet-alipay.png | 0 apps/bMiniApp/src/subpackages/extraPage/extraPage/extraPage.config.ts | 0 apps/cMiniApp/src/subpackages/wallet/withdrawDetailInfo/withdrawDetailInfo.vue | 18 + packages/components/src/index.ts | 1 apps/cMiniApp/src/subpackages/wallet/incomeDetail/incomeDetail.vue | 2 apps/cMiniApp/src/constants/router.ts | 7 apps/cMiniApp/src/subpackages/wallet/withdraw/withdraw.config.ts | 0 apps/cMiniApp/src/app.config.ts | 9 apps/cMiniApp/src/subpackages/wallet/withdrawDetailInfo/InnerPage.vue | 55 +++++ apps/cMiniApp/src/subpackages/extraPage/extraPage/extraPage.config.ts | 0 apps/bMiniApp/src/subpackages/extraPage/extraPage/extraPage.vue | 0 apps/cMiniApp/src/assets/wallet/icon-wallet-bank.png | 0 apps/cMiniApp/src/subpackages/wallet/withdrawResult/InnerPage.vue | 125 +++++++++++ apps/cMiniApp/src/subpackages/wallet/mineWallet/InnerPage.vue | 50 +++- apps/cMiniApp/src/subpackages/wallet/withdrawResult/withdrawResult.vue | 17 + /dev/null | 17 - apps/cMiniApp/src/subpackages/wallet/withdraw/withdraw.vue | 17 + apps/cMiniApp/src/assets/wallet/icon-wallet-alipay.png | 0 apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue | 11 packages/components/src/Card/WithdrawMoneyCard.vue | 63 +++++ apps/cMiniApp/src/subpackages/wallet/incomeDetail/InnerPage.vue | 94 +++++++- apps/cMiniApp/src/subpackages/wallet/withdrawResult/withdrawResult.config.ts | 0 33 files changed, 576 insertions(+), 84 deletions(-) diff --git a/apps/bMiniApp/src/app.config.ts b/apps/bMiniApp/src/app.config.ts index ca3d062..bb6a629 100644 --- a/apps/bMiniApp/src/app.config.ts +++ b/apps/bMiniApp/src/app.config.ts @@ -117,9 +117,12 @@ 'flexJobManage/flexJobManage', 'flexJobDetailFromManage/flexJobDetailFromManage', 'flexJobSign/flexJobSign', - 'flexJobManageExtraPage/flexJobManageExtraPage', ], }, + { + root: 'subpackages/extraPage', + pages: ['extraPage/extraPage'], + }, ], // preloadRule: { // 'pages/mine/index': { diff --git a/apps/bMiniApp/src/constants/router.ts b/apps/bMiniApp/src/constants/router.ts index ef72baf..e2db973 100644 --- a/apps/bMiniApp/src/constants/router.ts +++ b/apps/bMiniApp/src/constants/router.ts @@ -17,7 +17,6 @@ flexJobManage = '/subpackages/flexJobManage/flexJobManage/flexJobManage', flexJobDetailFromManage = '/subpackages/flexJobManage/flexJobDetailFromManage/flexJobDetailFromManage', flexJobSign = '/subpackages/flexJobManage/flexJobSign/flexJobSign', - flexJobManageExtraPage = '/subpackages/flexJobManage/flexJobManageExtraPage/flexJobManageExtraPage', // userInfo = '/subpackages/setting/userInfo/userInfo', // setting = '/subpackages/setting/setting/setting', @@ -51,4 +50,6 @@ jobApplicationManage = '/subpackages/jobApplicationManage/jobApplicationManage/jobApplicationManage', jobApplicationDetail = '/subpackages/jobApplicationManage/jobApplicationDetail/jobApplicationDetail', + + extraPage = '/subpackages/extraPage/extraPage/extraPage', } diff --git a/apps/cMiniApp/src/subpackages/authentication/extraPage/extraPage.config.ts b/apps/bMiniApp/src/subpackages/extraPage/extraPage/extraPage.config.ts similarity index 100% copy from apps/cMiniApp/src/subpackages/authentication/extraPage/extraPage.config.ts copy to apps/bMiniApp/src/subpackages/extraPage/extraPage/extraPage.config.ts diff --git a/apps/cMiniApp/src/subpackages/authentication/extraPage/extraPage.vue b/apps/bMiniApp/src/subpackages/extraPage/extraPage/extraPage.vue similarity index 100% copy from apps/cMiniApp/src/subpackages/authentication/extraPage/extraPage.vue copy to apps/bMiniApp/src/subpackages/extraPage/extraPage/extraPage.vue diff --git a/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue b/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue index 6031f51..9b371ce 100644 --- a/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue +++ b/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManage/InnerPage.vue @@ -72,7 +72,7 @@ } from '@12333/constants'; import * as enterpriseEmployeeServices from '@12333/services/apiV2/enterpriseEmployee'; import Taro from '@tarojs/taro'; -import { Message, setOSSLink } from '@12333/utils'; +import { Message, openDocument, setOSSLink } from '@12333/utils'; defineOptions({ name: 'InnerPage', @@ -104,10 +104,11 @@ ); function checkContract(item: API.GetEnterpriseEmployeesQueryResultItem) { - const encodedUrl = encodeURIComponent(setOSSLink(item.contractUrl)); - Taro.navigateTo({ - url: `${RouterPath.flexJobManageExtraPage}?url=${encodedUrl}`, - }); + if (!item.contractUrl) { + Message.warning('鍗忚鏃犳硶鏌ョ湅锛岃绋嶅悗鍐嶈瘯'); + return; + } + openDocument(setOSSLink(item.contractUrl)); } function goDetail(item: API.GetEnterpriseEmployeesQueryResultItem) { diff --git a/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManageExtraPage/flexJobManageExtraPage.config.ts b/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManageExtraPage/flexJobManageExtraPage.config.ts deleted file mode 100644 index 305fdb1..0000000 --- a/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManageExtraPage/flexJobManageExtraPage.config.ts +++ /dev/null @@ -1,3 +0,0 @@ -export default definePageConfig({ - disableScroll: true, -}); diff --git a/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManageExtraPage/flexJobManageExtraPage.vue b/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManageExtraPage/flexJobManageExtraPage.vue deleted file mode 100644 index dfc28eb..0000000 --- a/apps/bMiniApp/src/subpackages/flexJobManage/flexJobManageExtraPage/flexJobManageExtraPage.vue +++ /dev/null @@ -1,17 +0,0 @@ -<template> - <web-view :src="urlLink" /> -</template> - -<script setup lang="ts"> -import Taro from '@tarojs/taro'; - -defineOptions({ - name: 'flexJobManageExtraPage', -}); - -const router = Taro.useRouter(); - -const url = (router.params.url as string) ?? ''; - -const urlLink = computed(() => decodeURIComponent(url)); -</script> diff --git a/apps/cMiniApp/src/app.config.ts b/apps/cMiniApp/src/app.config.ts index 4c97564..a8ac25a 100644 --- a/apps/cMiniApp/src/app.config.ts +++ b/apps/cMiniApp/src/app.config.ts @@ -66,7 +66,6 @@ 'authenticationResult/authenticationResult', 'authenticationRealName/authenticationRealName', 'authenticationFace/authenticationFace', - 'extraPage/extraPage', ], }, { @@ -82,7 +81,6 @@ 'mineCollectTask/mineCollectTask', 'mineAgreementSign/mineAgreementSign', 'mineAgreementSignDetail/mineAgreementSignDetail', - 'mineAgreementSignExtraPage/mineAgreementSignExtraPage', 'setting/setting', ], }, @@ -94,6 +92,9 @@ 'unboundBankCard/unboundBankCard', 'incomeDetail/incomeDetail', 'incomeDetailInfo/incomeDetailInfo', + 'withdraw/withdraw', + 'withdrawResult/withdrawResult', + 'withdrawDetailInfo/withdrawDetailInfo', ], }, { @@ -122,6 +123,10 @@ root: 'subpackages/user', pages: ['complaint/complaint'], }, + { + root: 'subpackages/extraPage', + pages: ['extraPage/extraPage'], + }, ], // preloadRule: { // 'pages/mine/index': { diff --git a/apps/cMiniApp/src/assets/wallet/icon-wallet-alipay.png b/apps/cMiniApp/src/assets/wallet/icon-wallet-alipay.png new file mode 100644 index 0000000..eb18cd9 --- /dev/null +++ b/apps/cMiniApp/src/assets/wallet/icon-wallet-alipay.png Binary files differ diff --git a/apps/cMiniApp/src/assets/wallet/icon-wallet-bank.png b/apps/cMiniApp/src/assets/wallet/icon-wallet-bank.png new file mode 100644 index 0000000..e0a5a4b --- /dev/null +++ b/apps/cMiniApp/src/assets/wallet/icon-wallet-bank.png Binary files differ diff --git a/apps/cMiniApp/src/assets/wallet/icon-wallet-step-wait.png b/apps/cMiniApp/src/assets/wallet/icon-wallet-step-wait.png new file mode 100644 index 0000000..dc5916e --- /dev/null +++ b/apps/cMiniApp/src/assets/wallet/icon-wallet-step-wait.png Binary files differ diff --git a/apps/cMiniApp/src/assets/wallet/icon-wallet-wechat.png b/apps/cMiniApp/src/assets/wallet/icon-wallet-wechat.png new file mode 100644 index 0000000..0bb1c6b --- /dev/null +++ b/apps/cMiniApp/src/assets/wallet/icon-wallet-wechat.png Binary files differ diff --git a/apps/cMiniApp/src/constants/router.ts b/apps/cMiniApp/src/constants/router.ts index d8b744c..bf56af1 100644 --- a/apps/cMiniApp/src/constants/router.ts +++ b/apps/cMiniApp/src/constants/router.ts @@ -29,7 +29,6 @@ authenticationJBR = '/subpackages/authentication/authenticationJBR/authenticationJBR', authenticationRealName = '/subpackages/authentication/authenticationRealName/authenticationRealName', authenticationFace = '/subpackages/authentication/authenticationFace/authenticationFace', - extraPage = '/subpackages/authentication/extraPage/extraPage', citySelect = '/subpackages/city/citySelect/citySelect', mineSign = '/subpackages/mine/mineSign/mineSign', @@ -38,7 +37,6 @@ mineCollectTask = '/subpackages/mine/mineCollectTask/mineCollectTask', mineAgreementSign = '/subpackages/mine/mineAgreementSign/mineAgreementSign', mineAgreementSignDetail = '/subpackages/mine/mineAgreementSignDetail/mineAgreementSignDetail', - mineAgreementSignExtraPage = '/subpackages/mine/mineAgreementSignExtraPage/mineAgreementSignExtraPage', setting = '/subpackages/mine/setting/setting', mineWallet = '/subpackages/wallet/mineWallet/mineWallet', @@ -46,6 +44,9 @@ bindBankCard = '/subpackages/wallet/bindBankCard/bindBankCard', incomeDetail = '/subpackages/wallet/incomeDetail/incomeDetail', incomeDetailInfo = '/subpackages/wallet/incomeDetailInfo/incomeDetailInfo', + withdraw = '/subpackages/wallet/withdraw/withdraw', + withdrawResult = '/subpackages/wallet/withdrawResult/withdrawResult', + withdrawDetailInfo = '/subpackages/wallet/withdrawDetailInfo/withdrawDetailInfo', mineCurriculumVitae = '/subpackages/curriculum/mineCurriculumVitae/mineCurriculumVitae', editMineInfo = '/subpackages/curriculum/editMineInfo/editMineInfo', @@ -55,4 +56,6 @@ mineCertificateAddOrEdit = '/subpackages/curriculum/mineCertificateAddOrEdit/mineCertificateAddOrEdit', mineDetailedInfo = '/subpackages/curriculum/mineDetailedInfo/mineDetailedInfo', expectPosition = '/subpackages/curriculum/expectPosition/expectPosition', + + extraPage = '/subpackages/extraPage/extraPage/extraPage', } diff --git a/apps/cMiniApp/src/subpackages/authentication/extraPage/extraPage.config.ts b/apps/cMiniApp/src/subpackages/extraPage/extraPage/extraPage.config.ts similarity index 100% rename from apps/cMiniApp/src/subpackages/authentication/extraPage/extraPage.config.ts rename to apps/cMiniApp/src/subpackages/extraPage/extraPage/extraPage.config.ts diff --git a/apps/cMiniApp/src/subpackages/authentication/extraPage/extraPage.vue b/apps/cMiniApp/src/subpackages/extraPage/extraPage/extraPage.vue similarity index 100% rename from apps/cMiniApp/src/subpackages/authentication/extraPage/extraPage.vue rename to apps/cMiniApp/src/subpackages/extraPage/extraPage/extraPage.vue diff --git a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue index ad97b52..ccbb0d1 100644 --- a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue @@ -137,7 +137,7 @@ let res = await enterpriseEmployeeServices.personalUserElectronSign(params); if (res) { const encodedUrl = encodeURIComponent(res.signContractLongUrl); - Taro.navigateTo({ url: `${RouterPath.mineAgreementSignExtraPage}?url=${encodedUrl}` }); + Taro.navigateTo({ url: `${RouterPath.extraPage}?url=${encodedUrl}` }); } // } // if (detail.value?.contractTemplateAccess === EnumElectronSignAccess.AlipaySign) { diff --git a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignExtraPage/mineAgreementSignExtraPage.config.ts b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignExtraPage/mineAgreementSignExtraPage.config.ts deleted file mode 100644 index 305fdb1..0000000 --- a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignExtraPage/mineAgreementSignExtraPage.config.ts +++ /dev/null @@ -1,3 +0,0 @@ -export default definePageConfig({ - disableScroll: true, -}); diff --git a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignExtraPage/mineAgreementSignExtraPage.vue b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignExtraPage/mineAgreementSignExtraPage.vue deleted file mode 100644 index df4b9e5..0000000 --- a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignExtraPage/mineAgreementSignExtraPage.vue +++ /dev/null @@ -1,17 +0,0 @@ -<template> - <web-view :src="urlLink" /> -</template> - -<script setup lang="ts"> -import Taro from '@tarojs/taro'; - -defineOptions({ - name: 'mineAgreementSignExtraPage', -}); - -const router = Taro.useRouter(); - -const url = (router.params.url as string) ?? ''; - -const urlLink = computed(() => decodeURIComponent(url)); -</script> diff --git a/apps/cMiniApp/src/subpackages/wallet/incomeDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/wallet/incomeDetail/InnerPage.vue index 93e590f..23bf6c5 100644 --- a/apps/cMiniApp/src/subpackages/wallet/incomeDetail/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/wallet/incomeDetail/InnerPage.vue @@ -1,10 +1,23 @@ <template> + <ProTabs + v-model="queryState.status" + name="home-tab" + :showPaneContent="false" + class="home-tabs" + isTransparent + title-gutter="12" + title-scroll + > + <ProTabPane :title="`鍏ㄩ儴`" :pane-key="0"></ProTabPane> + <ProTabPane :title="`鏀跺叆`" :pane-key="1"></ProTabPane> + <ProTabPane :title="`鎻愮幇`" :pane-key="2"></ProTabPane> + </ProTabs> <List> - <IncomeDetailListItem :item="'鏀跺叆:锟�600.00'"> + <IncomeDetailListItem :item="`鏀跺叆锛氾骏${toThousand(100)} 鎻愮幇锛氾骏${toThousand(200)}`"> <template #title> <div class="income-detail-time-picker"> <ChooseInputWithDatePicker - v-model="form.month" + v-model="queryState.month" type="year-month" format="YYYY骞碝鏈�" :max-date="nowDate" @@ -13,22 +26,41 @@ </div> </template> </IncomeDetailListItem> - <IncomeDetailListItem - :title="'鏀跺叆-瀹佹尝浜哄姏鏃犲咖'" - :item="'2024.12.20 13:30:30'" - :value="'+300.00'" - @click="goIncomeDetailInfo()" - > - </IncomeDetailListItem> </List> + <InfiniteLoading + scrollViewClassName="common-infinite-scroll-list home-list" + v-bind="infiniteLoadingProps" + :key="queryState.status" + > + <template #renderItem="{ item }"> + <IncomeDetailListItem + :title="'鏀跺叆-瀹佹尝浜哄姏鏃犲咖'" + :funds="'+300.00'" + :item="'2024.12.20 13:30:30'" + :value="'閽卞寘浣欓锛�300.00'" + @click="goIncomeDetailInfo()" + > + </IncomeDetailListItem> + </template> + </InfiniteLoading> </template> <script setup lang="ts"> -import { List, IncomeDetailListItem, ChooseInputWithDatePicker } from '@12333/components'; +import { + List, + IncomeDetailListItem, + ChooseInputWithDatePicker, + ProTabs, + ProTabPane, +} from '@12333/components'; import { useUserStore } from '@/stores/modules/user'; import { IconFont } from '@nutui/icons-vue-taro'; import Taro from '@tarojs/taro'; import dayjs from 'dayjs'; +import { useInfiniteLoading } from '@12333/hooks'; +import { EnumPagedListOrder } from '@12333/constants'; +import { toThousand } from '@12333/utils'; +import * as taskServices from '@12333/services/apiV2/task'; defineOptions({ name: 'InnerPage', @@ -36,14 +68,40 @@ const userStore = useUserStore(); const nowDate = dayjs().toDate(); -const form = reactive({ + +const queryState = reactive({ month: dayjs().format('YYYY骞碝鏈�'), + status: 0, }); -function goIncomeDetailInfo() { +const { infiniteLoadingProps } = useInfiniteLoading( + ({ pageParam }) => { + let params: API.GetPersonalApplyTaskInfosQuery = { + pageModel: { + rows: 20, + page: pageParam, + orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], + }, + }; + if (Number(queryState.status)) { + params.status = queryState.status; + } + return taskServices.getPersonalApplyTaskInfos(params, { + showLoading: false, + }); + }, + { + queryKey: ['taskServices/getPersonalApplyTaskInfos', queryState], + } +); + +function goIncomeDetailInfo(row?) { Taro.navigateTo({ url: `${RouterPath.incomeDetailInfo}`, }); + // Taro.navigateTo({ + // url: `${RouterPath.withdrawDetailInfo}`, + // }); } </script> @@ -76,5 +134,17 @@ left: 220px; } } + + .common-infinite-scroll-list { + background-color: #ffffff; + } + + .pro-list { + background: transparent; + } + + .nut-input { + background: transparent; + } } </style> diff --git a/apps/cMiniApp/src/subpackages/wallet/incomeDetail/incomeDetail.vue b/apps/cMiniApp/src/subpackages/wallet/incomeDetail/incomeDetail.vue index 9141308..4e6bb85 100644 --- a/apps/cMiniApp/src/subpackages/wallet/incomeDetail/incomeDetail.vue +++ b/apps/cMiniApp/src/subpackages/wallet/incomeDetail/incomeDetail.vue @@ -1,5 +1,5 @@ <template> - <PageLayout class="incomeDetail-page-wrapper" :title="'鏀跺叆鏄庣粏'"> + <PageLayout class="incomeDetail-page-wrapper" :title="'鏀舵敮鏄庣粏'"> <InnerPage></InnerPage> </PageLayout> </template> diff --git a/apps/cMiniApp/src/subpackages/wallet/incomeDetailInfo/InnerPage.vue b/apps/cMiniApp/src/subpackages/wallet/incomeDetailInfo/InnerPage.vue index 3b14523..dfecbca 100644 --- a/apps/cMiniApp/src/subpackages/wallet/incomeDetailInfo/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/wallet/incomeDetailInfo/InnerPage.vue @@ -1,11 +1,5 @@ <template> - <div class="income-detail-info-money"> - <div class="income-detail-info-money-value"> - <div class="income-detail-info-money-value-unit">锟�</div> - <div class="income-detail-info-money-value-num">{{ '33.33' }}</div> - </div> - <div class="income-detail-info-money-type">{{ '鏀跺叆' }}</div> - </div> + <WithdrawMoneyCard :money="100" title="鏀跺叆"></WithdrawMoneyCard> <List> <ListItem title="娴佹按鍙�" :show-arrow="false"> <template #extra> @@ -22,12 +16,12 @@ <div class="income-detail-info-value">{{ '2024.11.13' }}</div> </template> </ListItem> - <ListItem title="缁撶畻鍗曞唴瀹�" :show-arrow="false"> + <ListItem title="宸ヨ祫鍗曞唴瀹�" :show-arrow="false"> <template #extra> <div class="income-detail-info-value">{{ '33.33鍏�' }}</div> </template> </ListItem> - <ListItem title="缁撶畻鍗曞唴瀹�" :show-arrow="false"> + <ListItem title="宸ヨ祫鍗曞唴瀹�" :show-arrow="false"> <template #extra> <div class="income-detail-info-value">{{ '33.33鍏�' }}</div> </template> @@ -36,7 +30,7 @@ </template> <script setup lang="ts"> -import { List, ListItem } from '@12333/components'; +import { List, ListItem, WithdrawMoneyCard } from '@12333/components'; import { useUserStore } from '@/stores/modules/user'; defineOptions({ diff --git a/apps/cMiniApp/src/subpackages/wallet/incomeDetailInfo/incomeDetailInfo.vue b/apps/cMiniApp/src/subpackages/wallet/incomeDetailInfo/incomeDetailInfo.vue index 50f449d..a318788 100644 --- a/apps/cMiniApp/src/subpackages/wallet/incomeDetailInfo/incomeDetailInfo.vue +++ b/apps/cMiniApp/src/subpackages/wallet/incomeDetailInfo/incomeDetailInfo.vue @@ -1,5 +1,5 @@ <template> - <PageLayout class="incomeDetailInfo-page-wrapper" :title="'鏀跺叆璇︽儏'" developing> + <PageLayout class="incomeDetailInfo-page-wrapper" :title="'鏀跺叆璇︽儏'"> <InnerPage></InnerPage> </PageLayout> </template> diff --git a/apps/cMiniApp/src/subpackages/wallet/mineWallet/InnerPage.vue b/apps/cMiniApp/src/subpackages/wallet/mineWallet/InnerPage.vue index bae21d2..ebb3467 100644 --- a/apps/cMiniApp/src/subpackages/wallet/mineWallet/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/wallet/mineWallet/InnerPage.vue @@ -1,21 +1,16 @@ <template> + <div class="mine-wallet-balance"> + <WithdrawMoneyCard :money="100" :title="`鎻愮幇-${'鏀粯瀹�'}鎻愮幇`"></WithdrawMoneyCard> + <nut-button type="primary" class="mine-wallet-balance-btn" @click="goWithdraw">鎻愮幇</nut-button> + </div> <List> <ListItem title="鏀跺叆鏄庣粏" @click="goIncomeDetail"> </ListItem> - <ListItem title="閾惰鍗�" @click="goBankBind"> - <template #extra> - <div class="bind-bank-card"> - {{ isBinding ? '宸茬粦瀹�' : '鏈粦瀹氥�佺珛鍗崇粦瀹�' }} - </div> - </template> - </ListItem> </List> </template> <script setup lang="ts"> -import { List, ListItem } from '@12333/components'; -import { useUserStore } from '@/stores/modules/user'; +import { List, ListItem, WithdrawMoneyCard } from '@12333/components'; import Taro from '@tarojs/taro'; -import { Message } from '@12333/utils'; defineOptions({ name: 'InnerPage', @@ -31,21 +26,44 @@ }); } -const goBankBind = useAccessReal( +const goWithdraw = useAccessReal( () => { Taro.navigateTo({ - url: `${isBinding.value ? RouterPath.bindBankCard : RouterPath.unboundBankCard}`, + url: `${RouterPath.withdraw}`, }); }, - { message: '瀹屾垚瀹炲悕璁よ瘉鍚庢墠鍙繘琛岄摱琛屽崱缁戝畾' } + { message: '瀹屾垚瀹炲悕璁よ瘉鍚庢墠鍙彁鐜�' } ); +// const goBankBind = useAccessReal( +// () => { +// Taro.navigateTo({ +// url: `${isBinding.value ? RouterPath.bindBankCard : RouterPath.unboundBankCard}`, +// }); +// }, +// { message: '瀹屾垚瀹炲悕璁よ瘉鍚庢墠鍙繘琛岄摱琛屽崱缁戝畾' } +// ); </script> <style lang="scss"> @import '@/styles/common.scss'; -.bind-bank-card { - color: boleGetCssVar('text-color', 'regular'); - font-size: 24px; +.mine-wallet-balance { + text-align: center; + padding: 40px 0 60px; + + .mine-wallet-balance-item { + font-size: 28px; + font-weight: 500; + margin-bottom: 40px; + + &.money { + font-size: 48px; + font-weight: 500; + } + } + + .mine-wallet-balance-btn { + width: 60%; + } } </style> diff --git a/apps/cMiniApp/src/subpackages/wallet/withdraw/InnerPage.vue b/apps/cMiniApp/src/subpackages/wallet/withdraw/InnerPage.vue new file mode 100644 index 0000000..1f75a0a --- /dev/null +++ b/apps/cMiniApp/src/subpackages/wallet/withdraw/InnerPage.vue @@ -0,0 +1,122 @@ +<template> + <ContentScrollView :paddingH="false"> + <nut-form :model-value="form" ref="formRef" :rules="rules"> + <nut-form-item label="鎻愮幇閲戦:" class="bole-form-item" prop="name"> + <nut-input v-model.trim="form.name" placeholder="璇疯緭鍏ユ彁鐜伴噾棰�" /> + </nut-form-item> + <div class="withdraw-divider"> + <div class="withdraw-divider-text">{{ `褰撳墠璐︽埛浣欓${'188.88'}鍏冿紝` }}</div> + <div class="withdraw-divider-btn">鍏ㄩ儴鎻愮幇</div> + </div> + <nut-form-item label-width="0" class="bole-form-item"> + <nut-radio-group class="withdraw-form-wrapper" v-model="form.alipay"> + <div class="withdraw-form-item"> + <nut-radio label="alipay"> {{ '鎻愮幇鍒版敮浠樺疂' }} </nut-radio> + <img :src="IconWalletAlipay" class="withdraw-icon" /> + </div> + <!-- <div class="withdraw-form-item"> + <nut-radio label="wechat"> {{ '鎻愮幇鍒板井淇�' }} </nut-radio> + <img :src="IconWalletWechat" class="withdraw-icon" /> + </div> + <div class="withdraw-form-item"> + <nut-radio label="bank"> {{ '鎻愮幇鍒伴摱琛屽崱' }} </nut-radio> + <img :src="IconWalletBank" class="withdraw-icon" /> + </div> --> + </nut-radio-group> + </nut-form-item> + <nut-form-item label="鏀粯瀹濇埛鍚�:" class="bole-form-item" prop="name"> + <nut-input v-model.trim="form.name" placeholder="璇疯緭鍏ユ敮浠樺疂鎴峰悕" /> + </nut-form-item> + <nut-form-item label="韬唤璇佸彿:" class="bole-form-item" prop="name"> + <nut-input v-model.trim="form.name" placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" /> + </nut-form-item> + <nut-form-item label="鏀粯瀹濊处鍙�:" class="bole-form-item" prop="phoneNumber" required> + <nut-input v-model.trim="form.name" placeholder="璇疯緭鍏ユ敮浠樺疂璐﹀彿/鎵嬫満鍙�" /> + </nut-form-item> + </nut-form> + </ContentScrollView> + <PageFooter> + <PageFooterBtn type="plain" @click="goBack">鍙栨秷</PageFooterBtn> + <PageFooterBtn type="primary" @click="handleConfirm">纭鎻愮幇</PageFooterBtn> + </PageFooter> +</template> + +<script setup lang="ts"> +import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types'; +import IconWalletAlipay from '@/assets/wallet/icon-wallet-alipay.png'; +import IconWalletWechat from '@/assets/wallet/icon-wallet-wechat.png'; +import IconWalletBank from '@/assets/wallet/icon-wallet-bank.png'; +import { goBack } from '@/utils'; +import Taro from '@tarojs/taro'; + +defineOptions({ + name: 'InnerPage', +}); + +const form = reactive({ + name: '', + alipay: 'alipay', +}); + +const rules = reactive<FormRules>({ + name: [{ required: true, message: '璇疯緭鍏�' }], +}); + +const formRef = ref<any>(null); +function handleConfirm() { + Taro.navigateTo({ + url: `${RouterPath.withdrawResult}`, + }); + // if (!formRef.value) return; + // formRef.value.validate().then(({ valid, errors }: any) => { + // if (valid) { + // confirm(); + // } + // }); +} + +async function confirm() { + try { + } catch (error) {} +} +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.withdraw-page-wrapper { + .withdraw-divider { + display: flex; + align-items: center; + font-size: 28px; + color: boleGetCssVar('text-color', 'secondary'); + padding: 20px 40px; + + .withdraw-divider-btn { + color: boleGetCssVar('color', 'primary'); + } + } + + .withdraw-form-wrapper { + width: 100%; + + .withdraw-form-item { + display: flex; + align-items: center; + justify-content: space-between; + padding-right: 40px; + margin-bottom: 12px; + + &:last-child { + margin-bottom: 0; + } + + .withdraw-icon { + width: 36px; + height: 36px; + display: inline-block; + } + } + } +} +</style> diff --git a/apps/cMiniApp/src/subpackages/authentication/extraPage/extraPage.config.ts b/apps/cMiniApp/src/subpackages/wallet/withdraw/withdraw.config.ts similarity index 100% copy from apps/cMiniApp/src/subpackages/authentication/extraPage/extraPage.config.ts copy to apps/cMiniApp/src/subpackages/wallet/withdraw/withdraw.config.ts diff --git a/apps/cMiniApp/src/subpackages/wallet/withdraw/withdraw.vue b/apps/cMiniApp/src/subpackages/wallet/withdraw/withdraw.vue new file mode 100644 index 0000000..350834b --- /dev/null +++ b/apps/cMiniApp/src/subpackages/wallet/withdraw/withdraw.vue @@ -0,0 +1,17 @@ +<template> + <PageLayout class="withdraw-page-wrapper" title="鎻愮幇" has-border> + <InnerPage></InnerPage> + </PageLayout> +</template> + +<script setup lang="ts"> +import InnerPage from './InnerPage.vue'; + +defineOptions({ + name: 'withdraw', +}); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; +</style> diff --git a/apps/cMiniApp/src/subpackages/wallet/withdrawDetailInfo/InnerPage.vue b/apps/cMiniApp/src/subpackages/wallet/withdrawDetailInfo/InnerPage.vue new file mode 100644 index 0000000..75882a7 --- /dev/null +++ b/apps/cMiniApp/src/subpackages/wallet/withdrawDetailInfo/InnerPage.vue @@ -0,0 +1,55 @@ +<template> + <WithdrawMoneyCard :money="100" :title="`鎻愮幇-${'鏀粯瀹�'}鎻愮幇`"></WithdrawMoneyCard> + <List> + <ListItem title="鎻愮幇鍗曞彿" :show-arrow="false"> + <template #extra> + <div class="income-detail-info-value">{{ '5893485943859843095843' }}</div> + </template> + </ListItem> + <ListItem title="鎻愮幇閲戦" :show-arrow="false"> + <template #extra> + <div class="income-detail-info-value">{{ '瀹佹尝浜哄姏鏃犲咖' }}</div> + </template> + </ListItem> + <ListItem title="鎻愮幇鏂瑰紡" :show-arrow="false"> + <template #extra> + <div class="income-detail-info-value">{{ '2024.11.13' }}</div> + </template> + </ListItem> + <ListItem title="鏈嶅姟璐�" :show-arrow="false"> + <template #extra> + <div class="income-detail-info-value">{{ '33.33鍏�' }}</div> + </template> + </ListItem> + <ListItem title="鏀粯瀹濇埛鍚�" :show-arrow="false"> + <template #extra> + <div class="income-detail-info-value">{{ '5893485943859843095843' }}</div> + </template> + </ListItem> + <ListItem title="鏀粯瀹濊处鍙�" :show-arrow="false"> + <template #extra> + <div class="income-detail-info-value">{{ '5893485943859843095843' }}</div> + </template> + </ListItem> + <ListItem title="瀹為檯鍒拌处" :show-arrow="false"> + <template #extra> + <div class="income-detail-info-value">{{ '33.33鍏�' }}</div> + </template> + </ListItem> + </List> +</template> + +<script setup lang="ts"> +import { List, ListItem, WithdrawMoneyCard } from '@12333/components'; +import { useUserStore } from '@/stores/modules/user'; + +defineOptions({ + name: 'InnerPage', +}); + +const userStore = useUserStore(); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; +</style> diff --git a/apps/cMiniApp/src/subpackages/authentication/extraPage/extraPage.config.ts b/apps/cMiniApp/src/subpackages/wallet/withdrawDetailInfo/withdrawDetailInfo.config.ts similarity index 100% copy from apps/cMiniApp/src/subpackages/authentication/extraPage/extraPage.config.ts copy to apps/cMiniApp/src/subpackages/wallet/withdrawDetailInfo/withdrawDetailInfo.config.ts diff --git a/apps/cMiniApp/src/subpackages/wallet/withdrawDetailInfo/withdrawDetailInfo.vue b/apps/cMiniApp/src/subpackages/wallet/withdrawDetailInfo/withdrawDetailInfo.vue new file mode 100644 index 0000000..2b654da --- /dev/null +++ b/apps/cMiniApp/src/subpackages/wallet/withdrawDetailInfo/withdrawDetailInfo.vue @@ -0,0 +1,18 @@ +<template> + <PageLayout class="withdrawDetailInfo-page-wrapper" :title="'鎻愮幇璇︽儏'"> + <InnerPage></InnerPage> + </PageLayout> +</template> + +<script setup lang="ts"> +import { PageLayout } from '@/components'; +import InnerPage from './InnerPage.vue'; + +defineOptions({ + name: 'withdrawDetailInfo', +}); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; +</style> diff --git a/apps/cMiniApp/src/subpackages/wallet/withdrawResult/InnerPage.vue b/apps/cMiniApp/src/subpackages/wallet/withdrawResult/InnerPage.vue new file mode 100644 index 0000000..81848a0 --- /dev/null +++ b/apps/cMiniApp/src/subpackages/wallet/withdrawResult/InnerPage.vue @@ -0,0 +1,125 @@ +<template> + <ContentScrollView :paddingH="false"> + <div class="withdraw-result-step-wrapper"> + <div class="withdraw-result-step-title">浣欓鎻愮幇</div> + <nut-steps + class="withdraw-result-step-content" + progress-dot + direction="vertical" + :current="2" + > + <nut-step title="鍙戣捣鎻愮幇" :content="dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss')"> + </nut-step> + <nut-step + title="鏈烘瀯澶勭悊涓�" + :content="`棰勮${dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss')}鍓嶅埌璐" + > + <template #icon> + <img class="withdraw-result-step-icon-wait" :src="IconWalletStepWait" alt="" /> + </template> + </nut-step> + <nut-step title="鎻愮幇鍒拌处" :content="dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss')"> + </nut-step> + </nut-steps> + </div> + <List> + <ListItem title="鎻愮幇鍗曞彿" :show-arrow="false"> + <template #extra> + <div class="income-detail-info-value">{{ '5893485943859843095843' }}</div> + </template> + </ListItem> + <ListItem title="鎻愮幇閲戦" :show-arrow="false"> + <template #extra> + <div class="income-detail-info-value">{{ '5893485943859843095843' }}</div> + </template> + </ListItem> + <ListItem title="鎻愮幇鏂瑰紡" :show-arrow="false"> + <template #extra> + <div class="income-detail-info-value">{{ '5893485943859843095843' }}</div> + </template> + </ListItem> + <template v-if="walletType === 'alipay'"> + <ListItem title="鏀粯瀹濇埛鍚�" :show-arrow="false"> + <template #extra> + <div class="income-detail-info-value">{{ '5893485943859843095843' }}</div> + </template> + </ListItem> + <ListItem title="鏀粯瀹濊处鍙�" :show-arrow="false"> + <template #extra> + <div class="income-detail-info-value">{{ '5893485943859843095843' }}</div> + </template> + </ListItem> + </template> + <template v-if="walletType === 'bank'"> + <ListItem title="閾惰鍗″彿" :show-arrow="false"> + <template #extra> + <div class="income-detail-info-value">{{ '5893485943859843095843' }}</div> + </template> + </ListItem> + <ListItem title="寮�鎴疯" :show-arrow="false"> + <template #extra> + <div class="income-detail-info-value">{{ '5893485943859843095843' }}</div> + </template> + </ListItem> + </template> + <ListItem title="鏈嶅姟璐�" :show-arrow="false"> + <template #extra> + <div class="income-detail-info-value">{{ '5893485943859843095843' }}</div> + </template> + </ListItem> + <ListItem title="瀹為檯鍒拌处" :show-arrow="false"> + <template #extra> + <div class="income-detail-info-value">{{ '5893485943859843095843' }}</div> + </template> + </ListItem> + </List> + </ContentScrollView> + <PageFooter> + <PageFooterBtn type="primary" @click="handleConfirm">瀹屾垚</PageFooterBtn> + </PageFooter> +</template> + +<script setup lang="ts"> +import { List, ListItem } from '@12333/components'; +import dayjs from 'dayjs'; +import IconWalletStepWait from '@/assets/wallet/icon-wallet-step-wait.png'; + +defineOptions({ + name: 'InnerPage', +}); + +const walletType = ref('alipay'); + +async function handleConfirm() { + try { + } catch (error) {} +} +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.withdrawResult-page-wrapper { + .withdraw-result-step-wrapper { + padding: 20px 60px; + + .withdraw-result-step-title { + font-size: 32px; + font-weight: bold; + text-align: center; + margin-bottom: 40px; + } + + .withdraw-result-step-content { + .nut-step-main { + margin-bottom: 20px; + } + + .withdraw-result-step-icon-wait { + width: 40px; + height: 40px; + } + } + } +} +</style> diff --git a/apps/cMiniApp/src/subpackages/authentication/extraPage/extraPage.config.ts b/apps/cMiniApp/src/subpackages/wallet/withdrawResult/withdrawResult.config.ts similarity index 100% copy from apps/cMiniApp/src/subpackages/authentication/extraPage/extraPage.config.ts copy to apps/cMiniApp/src/subpackages/wallet/withdrawResult/withdrawResult.config.ts diff --git a/apps/cMiniApp/src/subpackages/wallet/withdrawResult/withdrawResult.vue b/apps/cMiniApp/src/subpackages/wallet/withdrawResult/withdrawResult.vue new file mode 100644 index 0000000..f848d95 --- /dev/null +++ b/apps/cMiniApp/src/subpackages/wallet/withdrawResult/withdrawResult.vue @@ -0,0 +1,17 @@ +<template> + <PageLayout class="withdrawResult-page-wrapper" title="鎻愮幇" has-border> + <InnerPage></InnerPage> + </PageLayout> +</template> + +<script setup lang="ts"> +import InnerPage from './InnerPage.vue'; + +defineOptions({ + name: 'withdrawResult', +}); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; +</style> diff --git a/apps/packages/components/assets/wallet/icon-wallet-alipay.png b/apps/packages/components/assets/wallet/icon-wallet-alipay.png new file mode 100644 index 0000000..eb18cd9 --- /dev/null +++ b/apps/packages/components/assets/wallet/icon-wallet-alipay.png Binary files differ diff --git a/packages/components/src/Card/WithdrawMoneyCard.vue b/packages/components/src/Card/WithdrawMoneyCard.vue new file mode 100644 index 0000000..a3210f3 --- /dev/null +++ b/packages/components/src/Card/WithdrawMoneyCard.vue @@ -0,0 +1,63 @@ +<template> + <div class="withdraw-money-card"> + <div class="withdraw-money-card-value"> + <div class="withdraw-money-card-value-unit">锟�</div> + <div class="withdraw-money-card-value-num">{{ toThousand(props.money) }}</div> + </div> + <div class="withdraw-money-card-type">{{ props.title }}</div> + </div> +</template> + +<script setup lang="ts"> +import { toThousand } from '@12333/utils'; + +defineOptions({ + name: 'WithdrawMoneyCard', +}); + +type Props = { + money: number; + title: string; +}; + +const props = withDefaults(defineProps<Props>(), {}); + +const emit = defineEmits<{ + (e: 'update:checkedId', value: string): void; +}>(); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.withdraw-money-card { + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + // background-color: #ffffff; + padding: 70px 0; + + .withdraw-money-card-value { + display: flex; + align-items: center; + font-weight: 600; + color: boleGetCssVar('text-color', 'primary'); + + .withdraw-money-card-value-unit { + font-size: 32px; + } + + .withdraw-money-card-value-num { + font-size: 64px; + } + } + + .withdraw-money-card-type { + margin-top: 10px; + font-weight: 400; + font-size: 28px; + color: boleGetCssVar('text-color', 'primary'); + } +} +</style> diff --git a/packages/components/src/List/IncomeDetailListItem.vue b/packages/components/src/List/IncomeDetailListItem.vue index 886542f..b53e501 100644 --- a/packages/components/src/List/IncomeDetailListItem.vue +++ b/packages/components/src/List/IncomeDetailListItem.vue @@ -2,7 +2,10 @@ <div class="income-detail-list-item"> <div class="income-detail-list-item-inner" :class="{ 'border-none': !showBorder }"> <slot name="title"> - <div class="income-detail-list-item-title">{{ title }}</div> + <div class="income-detail-list-item-title"> + <div class="income-detail-list-item-title-text">{{ title }}</div> + <div class="income-detail-list-item-title-value">{{ funds }}</div> + </div> </slot> <div class="income-detail-list-item-content"> <div class="income-detail-list-item-content-item">{{ item }}</div> @@ -19,6 +22,7 @@ type Props = { title?: string; + funds?: string; item?: string; value?: string; showValue?: boolean; @@ -52,26 +56,18 @@ font-size: 24px; color: boleGetCssVar('text-color', 'primary'); line-height: 34px; + display: flex; + justify-content: space-between; } .income-detail-list-item-content { display: flex; justify-content: space-between; align-items: center; - - .income-detail-list-item-content-item { - font-weight: 400; - font-size: 20px; - color: boleGetCssVar('text-color', 'secondary'); - line-height: 44px; - } - - .income-detail-list-item-content-value { - font-weight: 500; - font-size: 30px; - color: boleGetCssVar('text-color', 'primary'); - line-height: 44px; - } + font-weight: 400; + font-size: 22px; + color: boleGetCssVar('text-color', 'secondary'); + line-height: 44px; } } } diff --git a/packages/components/src/index.ts b/packages/components/src/index.ts index 0adeb76..194ffec 100644 --- a/packages/components/src/index.ts +++ b/packages/components/src/index.ts @@ -25,6 +25,7 @@ export { default as TaskCheckFileCard } from './Card/TaskCheckFileCard.vue'; export { default as MineAgreementSignCard } from './Card/MineAgreementSignCard.vue'; export { default as JobApplicationCard } from './Card/JobApplicationCard.vue'; +export { default as WithdrawMoneyCard } from './Card/WithdrawMoneyCard.vue'; export { default as MyTaskCard } from './Card/MyTaskCard.vue'; export { default as SignCard } from './Card/SignCard.vue'; export { default as FlexJobCard } from './Card/FlexJobCard.vue'; -- Gitblit v1.9.1