<template>
|
<InfiniteLoading scrollViewClassName="common-infinite-scroll-list" v-bind="infiniteLoadingProps">
|
<template #renderItem="{ item }">
|
<FlexJobCard
|
:name="item.name"
|
:age="item.age"
|
:genderType="item.genderType"
|
:workExperience="item.workExperience"
|
>
|
<template #footerLeft>
|
<div class="flexJob-card-footer-text">{{ FlexTaskWorkerHireEnum[item.hireStatus] }}</div>
|
</template>
|
<template #footerRight>
|
<nut-button type="primary" @click="goToJobDetail(item.userId)">查看详情</nut-button>
|
</template>
|
</FlexJobCard>
|
</template>
|
</InfiniteLoading>
|
</template>
|
|
<script setup lang="ts">
|
import { OrderInputType } from '@12333/constants';
|
import { RouterPath } from '@/constants';
|
import { FlexTaskWorkerHireEnum } from '@/constants/task';
|
import { useInfiniteLoading } from '@12333/hooks';
|
import * as flexWorkerServices from '@12333/services/api/FlexWorker';
|
import { FlexJobCard } from '@12333/components';
|
import Taro from '@tarojs/taro';
|
|
defineOptions({
|
name: 'SignList',
|
});
|
|
// type Props = {};
|
|
// const props = withDefaults(defineProps<Props>(), {});
|
|
const router = Taro.useRouter();
|
const taskId = router.params?.taskId ?? '';
|
|
const { infiniteLoadingProps } = useInfiniteLoading(
|
({ pageParam }) => {
|
let params: API.GetFlexTaskWorkerApplyListInput = {
|
flexTaskId: taskId,
|
pageModel: {
|
rows: 20,
|
page: pageParam,
|
orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }],
|
},
|
};
|
|
return flexWorkerServices.getFlexTaskWorkerApplyList(params, {
|
showLoading: false,
|
});
|
},
|
{
|
queryKey: ['flexWorkerServices/getFlexTaskWorkerApplyList'],
|
}
|
);
|
|
function goToJobDetail(id: string) {
|
Taro.navigateTo({
|
url: `${RouterPath.flexJobDetailFromTask}?id=${id}`,
|
});
|
}
|
</script>
|
|
<style lang="scss">
|
@import '@/styles/common.scss';
|
</style>
|