| | |
| | | > |
| | | <template #renderItem="{ item }"> |
| | | <TaskCard |
| | | :id="item.id" |
| | | :name="item.name" |
| | | :address-name="item.addressName" |
| | | :begin-time="item.beginTime" |
| | |
| | | :billing-method="item.billingMethod" |
| | | :settlement-cycle="item.settlementCycle" |
| | | :benefits="item.benefits" |
| | | :show-actions="true" |
| | | :release-status="item.releaseStatus" |
| | | @apply="goTaskDetail" |
| | | > |
| | | <template #actions> |
| | | <nut-button @click="goTaskDetail(item)" type="primary">报名</nut-button> |
| | | </template> |
| | | </TaskCard> |
| | | </template> |
| | | </InfiniteLoading> |
| | |
| | | |
| | | <script setup lang="ts"> |
| | | import { TaskCard } from '@12333/components'; |
| | | import { useUserStore } from '@/stores/modules/user'; |
| | | import { useTaskList } from '@12333/hooks'; |
| | | import * as taskServices from '@12333/services/apiV2/task'; |
| | | import * as taskUserServices from '@12333/services/apiV2/taskUser'; |
| | | import { useInfiniteLoading, useTaskList } from '@12333/hooks'; |
| | | import Taro from '@tarojs/taro'; |
| | | import { Message } from '@12333/utils'; |
| | | |
| | | defineOptions({ |
| | | name: 'InnerPage', |
| | | }); |
| | | |
| | | const { infiniteLoadingProps } = useTaskList({ |
| | | defaultQueryMenuState: {}, |
| | | }); |
| | | const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading( |
| | | ({ pageParam }) => { |
| | | let params: API.GetTaskInfosQuery = { |
| | | pageModel: { |
| | | rows: 20, |
| | | page: pageParam, |
| | | }, |
| | | isCollected: true, |
| | | }; |
| | | |
| | | function goTaskDetail(item: API.GetTaskInfosQueryResultItem) { |
| | | return taskServices.getTaskInfos(params, { |
| | | showLoading: false, |
| | | }); |
| | | }, |
| | | { |
| | | queryKey: ['taskServices/getTaskInfos'], |
| | | } |
| | | ); |
| | | |
| | | function goTaskDetail(id: string) { |
| | | Taro.navigateTo({ |
| | | url: `${RouterPath.taskCheckDetail}?id=${item.id}`, |
| | | url: `${RouterPath.taskDetail}?id=${id}&from=apply`, |
| | | }); |
| | | } |
| | | |
| | | function clearExpiredTask() {} |
| | | async function clearExpiredTask() { |
| | | try { |
| | | await Message.confirm({ |
| | | message: '确定要清空已失效任务吗?', |
| | | }); |
| | | let res = await taskUserServices.clearTaskCollect({}); |
| | | if (res) { |
| | | Message.success('清空成功'); |
| | | invalidateQueries(); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |