|  |  |  | 
|---|
|  |  |  | > | 
|---|
|  |  |  | {{ GetTaskInfoQueryResultHireButtonText[detail.hireButton] }} | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div v-if="from === 'cancel'" :style="{ color: '#999999' }">已取消</div> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  | <div class="taskDetail-time"> | 
|---|
|  |  |  | {{ dayjs(detail?.beginTime).format('YYYY年MM月DD日') }} 至 | 
|---|
|  |  |  | 
|---|
|  |  |  | :unit="BillingMethodEnumUnit[detail.billingMethod]" | 
|---|
|  |  |  | /> | 
|---|
|  |  |  | </div> | 
|---|
|  |  |  | <div class="taskDetail-address-wrapper"> | 
|---|
|  |  |  | <div class="taskDetail-address-wrapper" @click="goMap"> | 
|---|
|  |  |  | <div class="taskDetail-address-title-wrapper"> | 
|---|
|  |  |  | <img :src="IconLocaltion" class="taskDetail-address-title-icon" /> | 
|---|
|  |  |  | <div class="taskDetail-address-title">{{ detail?.addressName ?? '' }}</div> | 
|---|
|  |  |  | 
|---|
|  |  |  | @click="goCompanyDetail" | 
|---|
|  |  |  | :enterpriseName="detail?.enterpriseName ?? ''" | 
|---|
|  |  |  | :taskCount="detail?.taskCount ?? 0" | 
|---|
|  |  |  | :isReal="detail?.isReal ?? false" | 
|---|
|  |  |  | ></CompanyDesc> | 
|---|
|  |  |  | </CellChunk> | 
|---|
|  |  |  | </Cell> | 
|---|
|  |  |  | 
|---|
|  |  |  | :isFlex="false" | 
|---|
|  |  |  | @click="handleCall" | 
|---|
|  |  |  | ></PageFooterAction> | 
|---|
|  |  |  | <PageFooterBtn v-if="from === 'sign'" type="primary" disabled> | 
|---|
|  |  |  | <PageFooterBtn | 
|---|
|  |  |  | v-if="from === 'sign'" | 
|---|
|  |  |  | type="primary" | 
|---|
|  |  |  | :disabled="detail?.applyButton === GetTaskInfoQueryResultApplyButton.WaitHire" | 
|---|
|  |  |  | @click="handleSign" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | {{ GetTaskInfoQueryResultApplyButtonText[detail.applyButton] }} | 
|---|
|  |  |  | </PageFooterBtn> | 
|---|
|  |  |  | <PageFooterBtn | 
|---|
|  |  |  | 
|---|
|  |  |  | import { useQuery } from '@tanstack/vue-query'; | 
|---|
|  |  |  | import * as taskServices from '@12333/services/apiV2/task'; | 
|---|
|  |  |  | import * as taskUserServices from '@12333/services/apiV2/taskUser'; | 
|---|
|  |  |  | import * as enterpriseEmployeeServices from '@12333/services/apiV2/enterpriseEmployee'; | 
|---|
|  |  |  | import { useToggle } from 'senin-mini/hooks'; | 
|---|
|  |  |  | import { TaskPrice, TaskDetailWelfareItem } from '@12333/components'; | 
|---|
|  |  |  | import IconAttention from '@/assets/task/icon-attention.png'; | 
|---|
|  |  |  | 
|---|
|  |  |  | GetPersonalHireTaskInfosQueryStatusColor, | 
|---|
|  |  |  | GetTaskInfoQueryResultHireButtonText, | 
|---|
|  |  |  | GetTaskInfoQueryResultHireButton, | 
|---|
|  |  |  | GetTaskInfoQueryResultApplyButton, | 
|---|
|  |  |  | } from '@12333/constants'; | 
|---|
|  |  |  | import { useAccessLogin } from '@/hooks'; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * TODO 缺少 手机 投诉举报接口 报名接口 | 
|---|
|  |  |  | * TODO 缺少 投诉举报接口 | 
|---|
|  |  |  | */ | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const { userDetail } = useUser(); | 
|---|
|  |  |  | const router = Taro.useRouter(); | 
|---|
|  |  |  | const id = router.params?.id ?? ''; | 
|---|
|  |  |  | const from = router.params?.from ?? ''; | 
|---|
|  |  |  | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | let res = await taskUserServices.applyTask(params); | 
|---|
|  |  |  | if (res) { | 
|---|
|  |  |  | Message.success('报名成功', { | 
|---|
|  |  |  | onClosed() { | 
|---|
|  |  |  | refetch({ type: 'inactive' }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | Message.success('报名成功'); | 
|---|
|  |  |  | refetch({ type: 'inactive' }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (error) {} | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | const handleAttention = useAccessLogin(async () => { | 
|---|
|  |  |  | try { | 
|---|
|  |  |  | await Message.confirm({ | 
|---|
|  |  |  | message: `确定${detail.value?.isCollected ? '取消收藏' : '收藏'}吗?`, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | // await Message.confirm({ | 
|---|
|  |  |  | //   message: `确定${detail.value?.isCollected ? '取消收藏' : '收藏'}吗?`, | 
|---|
|  |  |  | // }); | 
|---|
|  |  |  | let params: API.CollectTaskCommand = { | 
|---|
|  |  |  | ids: [id], | 
|---|
|  |  |  | isCollect: !detail.value?.isCollected, | 
|---|
|  |  |  | }; | 
|---|
|  |  |  | let res = await taskUserServices.collectTask(params); | 
|---|
|  |  |  | if (res) { | 
|---|
|  |  |  | Message.success('操作成功', { | 
|---|
|  |  |  | onClosed() { | 
|---|
|  |  |  | refetch({ type: 'inactive' }); | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | refetch({ type: 'inactive' }); | 
|---|
|  |  |  | // Message.success('操作成功', { | 
|---|
|  |  |  | //   onClosed() { | 
|---|
|  |  |  | //     refetch({ type: 'inactive' }); | 
|---|
|  |  |  | //   }, | 
|---|
|  |  |  | // }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } catch (error) {} | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function handleHire() { | 
|---|
|  |  |  | Taro.navigateTo({ | 
|---|
|  |  |  | url: `${RouterPath.taskSubmitCheck}?id=${id}`, | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | Taro.navigateTo({ | 
|---|
|  |  |  | url: `${RouterPath.taskSubmitCheck}?id=${id}`, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | const handleSign = useAccessReal(() => { | 
|---|
|  |  |  | Taro.navigateTo({ | 
|---|
|  |  |  | url: `${RouterPath.mineAgreementSignDetail}?id=${detail.value?.enterpriseEmployeeId}`, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  |  | 
|---|
|  |  |  | function goMap() { | 
|---|
|  |  |  | Taro.openLocation({ | 
|---|
|  |  |  | latitude: detail.value?.latitude, | 
|---|
|  |  |  | longitude: detail.value?.longitude, | 
|---|
|  |  |  | scale: 18, | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | Taro.useDidShow(() => { | 
|---|
|  |  |  | refetch(); | 
|---|
|  |  |  | }); | 
|---|
|  |  |  | </script> | 
|---|