|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <!-- <ProTabs | 
|---|
|  |  |  | v-model="queryState.status" | 
|---|
|  |  |  | v-model="queryState.type" | 
|---|
|  |  |  | name="home-tab" | 
|---|
|  |  |  | :showPaneContent="false" | 
|---|
|  |  |  | class="home-tabs" | 
|---|
|  |  |  | 
|---|
|  |  |  | title-scroll | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <ProTabPane :title="`全部`" :pane-key="0"></ProTabPane> | 
|---|
|  |  |  | <ProTabPane :title="`收入`" :pane-key="1"></ProTabPane> | 
|---|
|  |  |  | <ProTabPane :title="`提现`" :pane-key="2"></ProTabPane> | 
|---|
|  |  |  | <ProTabPane :title="`收入`" :pane-key="EnumUserWalletTransactionType.Income"></ProTabPane> | 
|---|
|  |  |  | <ProTabPane :title="`提现`" :pane-key="EnumUserWalletTransactionType.Withdraw"></ProTabPane> | 
|---|
|  |  |  | </ProTabs> --> | 
|---|
|  |  |  | <List> | 
|---|
|  |  |  | <IncomeDetailListItem :item="`收入:¥${toThousand(100)} 提现:¥${toThousand(200)}`"> | 
|---|
|  |  |  | <IncomeDetailListItem :item="`收入:¥${toThousand(sumIncome)} `"> | 
|---|
|  |  |  | <template #title> | 
|---|
|  |  |  | <div class="income-detail-time-picker"> | 
|---|
|  |  |  | <ChooseInputWithDatePicker | 
|---|
|  |  |  | v-model="queryState.month" | 
|---|
|  |  |  | type="year-month" | 
|---|
|  |  |  | format="YYYY年M月" | 
|---|
|  |  |  | :max-date="nowDate" | 
|---|
|  |  |  | format="YYYY-MM" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | <IconFont name="triangle-down" class="income-detail-time-picker-icon"></IconFont> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | 
|---|
|  |  |  | <InfiniteLoading | 
|---|
|  |  |  | scrollViewClassName="common-infinite-scroll-list home-list" | 
|---|
|  |  |  | v-bind="infiniteLoadingProps" | 
|---|
|  |  |  | :key="queryState.status" | 
|---|
|  |  |  | :key="queryState.type" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <template #renderItem="{ item }"> | 
|---|
|  |  |  | <IncomeDetailListItem | 
|---|
|  |  |  | :title="'收入-宁波人力无忧'" | 
|---|
|  |  |  | :funds="'+300.00'" | 
|---|
|  |  |  | :item="'2024.12.20 13:30:30'" | 
|---|
|  |  |  | :value="'钱包余额:300.00'" | 
|---|
|  |  |  | @click="goIncomeDetailInfo()" | 
|---|
|  |  |  | :title="item.title" | 
|---|
|  |  |  | :funds="item.amount" | 
|---|
|  |  |  | :item="dayjs(item.createdTime).format('YYYY-MM-DD HH:mm:ss')" | 
|---|
|  |  |  | :value="`钱包余额:${toThousand(item.balance)}`" | 
|---|
|  |  |  | @click="goIncomeDetailInfo(item)" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | </IncomeDetailListItem> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | 
|---|
|  |  |  | 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 { EnumPagedListOrder, EnumUserWalletTransactionType } from '@12333/constants'; | 
|---|
|  |  |  | import { toThousand } from '@12333/utils'; | 
|---|
|  |  |  | import * as taskServices from '@12333/services/apiV2/task'; | 
|---|
|  |  |  | import * as userServices from '@12333/services/apiV2/user'; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | defineOptions({ | 
|---|
|  |  |  | name: 'InnerPage', | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const userStore = useUserStore(); | 
|---|
|  |  |  | const nowDate = dayjs().toDate(); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const queryState = reactive({ | 
|---|
|  |  |  | month: dayjs().format('YYYY年M月'), | 
|---|
|  |  |  | status: 0, | 
|---|
|  |  |  | month: dayjs().format('YYYY-MM'), | 
|---|
|  |  |  | type: 0 as any as EnumUserWalletTransactionType, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const sumIncome = computed(() => { | 
|---|
|  |  |  | return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.sumIncome ?? 0; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | const sumWithdraw = computed(() => { | 
|---|
|  |  |  | return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.sumWithdraw ?? 0; | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const { infiniteLoadingProps } = useInfiniteLoading( | 
|---|
|  |  |  | ({ pageParam }) => { | 
|---|
|  |  |  | let params: API.GetPersonalApplyTaskInfosQuery = { | 
|---|
|  |  |  | let params: API.GetPersonalUserTransactionsQuery = { | 
|---|
|  |  |  | pageModel: { | 
|---|
|  |  |  | rows: 20, | 
|---|
|  |  |  | page: pageParam, | 
|---|
|  |  |  | orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | type: EnumUserWalletTransactionType.Income, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | if (Number(queryState.status)) { | 
|---|
|  |  |  | params.status = queryState.status; | 
|---|
|  |  |  | // if (Number(queryState.type)) { | 
|---|
|  |  |  | //   params.type = queryState.type; | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | if (queryState.month) { | 
|---|
|  |  |  | params.createdTimeStart = dayjs(queryState.month).startOf('month').format('YYYY-MM-DD'); | 
|---|
|  |  |  | params.createdTimeEnd = dayjs(queryState.month).endOf('month').format('YYYY-MM-DD'); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return taskServices.getPersonalApplyTaskInfos(params, { | 
|---|
|  |  |  | return userServices.getPersonalUserTransactions(params, { | 
|---|
|  |  |  | showLoading: false, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | { | 
|---|
|  |  |  | queryKey: ['taskServices/getPersonalApplyTaskInfos', queryState], | 
|---|
|  |  |  | queryKey: ['userServices/getPersonalUserTransactions', queryState], | 
|---|
|  |  |  | } | 
|---|
|  |  |  | ); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function goIncomeDetailInfo(row?) { | 
|---|
|  |  |  | function goIncomeDetailInfo(row: API.GetPersonalUserTransactionsQueryResultItem) { | 
|---|
|  |  |  | Taro.navigateTo({ | 
|---|
|  |  |  | url: `${RouterPath.incomeDetailInfo}`, | 
|---|
|  |  |  | url: `${RouterPath.incomeDetailInfo}?id=${row.id}`, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | // Taro.navigateTo({ | 
|---|
|  |  |  | //   url: `${RouterPath.withdrawDetailInfo}`, | 
|---|
|  |  |  | // }); | 
|---|
|  |  |  | // if (row.type === EnumUserWalletTransactionType.Income) { | 
|---|
|  |  |  | //   Taro.navigateTo({ | 
|---|
|  |  |  | //     url: `${RouterPath.incomeDetailInfo}?id=${row.id}`, | 
|---|
|  |  |  | //   }); | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | // if (row.type === EnumUserWalletTransactionType.Withdraw) { | 
|---|
|  |  |  | //   Taro.navigateTo({ | 
|---|
|  |  |  | //     url: `${RouterPath.withdrawDetailInfo}?id=${row.id}`, | 
|---|
|  |  |  | //   }); | 
|---|
|  |  |  | // } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|
|  |  |  |  | 
|---|