| | |
| | | <template> |
| | | <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch"> |
| | | <ContentScrollView style="background-color: transparent"> |
| | | <Cell :title="'客房服务员'" titleSize="large"> |
| | | <div class="taskDetail-time">2025年2月5日 至 2025年3月5日</div> |
| | | <Cell :title="detail.taskName" titleSize="large"> |
| | | <div class="taskDetail-time"> |
| | | {{ |
| | | `${dayjs(detail.startDate).format('YYYY年MM月DD日')}至${dayjs(detail.endDate).format( |
| | | 'YYYY年MM月DD日' |
| | | )}` |
| | | }} |
| | | </div> |
| | | <div class="task-card-welfare-wrapper"> |
| | | <div class="task-card-welfare-list"> |
| | | <div class="task-card-welfare-list-item">日结</div> |
| | | <div class="task-card-welfare-list-item">男女不限</div> |
| | | <div class="task-card-welfare-list-item">包三餐</div> |
| | | <div class="task-card-welfare-list-item"> |
| | | {{ FlexTaskSettleTypeEnumText[detail.settleType] }} |
| | | </div> |
| | | </div> |
| | | <TaskPrice :value="212" /> |
| | | <TaskPrice :value="detail.fee" :unit="SalaryTimeTypeEnumUnit[detail.feeType]" /> |
| | | </div> |
| | | <div class="taskDetail-address-wrapper"> |
| | | <div class="taskDetail-address-title-wrapper"> |
| | |
| | | <Cell :show-title="false"> |
| | | <CellChunk title="福利信息"> |
| | | <div class="taskDetail-welfare-list"> |
| | | <TaskDetailWelfareItem :icon="IconLocaltion" text="高温补贴" /> |
| | | <TaskDetailWelfareItem :icon="IconLocaltion" text="高温补贴" /> |
| | | <TaskDetailWelfareItem :icon="IconLocaltion" text="高温补贴" /> |
| | | <TaskDetailWelfareItem :icon="IconLocaltion" text="高温补贴" /> |
| | | <TaskDetailWelfareItem :icon="IconLocaltion" text="高温补贴" /> |
| | | <TaskDetailWelfareItem |
| | | v-for="item in detail.taskWeals" |
| | | :key="item.id" |
| | | :icon="setOSSLink(item.name)" |
| | | :text="item.name" |
| | | /> |
| | | </div> |
| | | </CellChunk> |
| | | </Cell> |
| | |
| | | import * as flexWorkerServices from '@12333/services/api/FlexWorker'; |
| | | import IconLocaltion from '@/assets/flexJob/icon-localtion.png'; |
| | | import { TaskPrice, TaskDetailWelfareItem } from '@12333/components'; |
| | | import { SalaryTimeTypeEnumUnit, FlexTaskSettleTypeEnumText } from '@/constants/task'; |
| | | import dayjs from 'dayjs'; |
| | | import { setOSSLink } from '@12333/utils'; |
| | | |
| | | defineOptions({ |
| | | name: 'JobDetail', |
| | |
| | | // const props = withDefaults(defineProps<Props>(), {}); |
| | | const router = Taro.useRouter(); |
| | | |
| | | const taskId = router.params?.id ?? 'c4cfe028-23e7-0be8-ee56-3a11e3743b9d'; |
| | | const taskId = router.params?.taskId; |
| | | |
| | | const { |
| | | isLoading, |
| | |
| | | data: detail, |
| | | refetch, |
| | | } = useQuery({ |
| | | queryKey: ['flexWorkerServices/getOrdeForDetail', taskId], |
| | | queryKey: ['flexWorkerServices/getFlexTaskDto', taskId], |
| | | queryFn: async () => { |
| | | return await flexWorkerServices.getOrdeForDetail( |
| | | return await flexWorkerServices.getFlexTaskDto( |
| | | { id: taskId }, |
| | | { |
| | | showLoading: false, |
| | | } |
| | | ); |
| | | }, |
| | | placeholderData: () => ({} as API.OrderInfoDto), |
| | | placeholderData: () => ({} as API.GetFlexTaskDtoOutput), |
| | | onSuccess(data) {}, |
| | | }); |
| | | </script> |