| | |
| | | <Cell :title="detail?.name ?? ''" titleSize="large"> |
| | | <template #title-right> |
| | | <img |
| | | v-if="from === 'apply'" |
| | | :src="detail.isCollected ? IconAttentioActive : IconAttention" |
| | | class="taskDetail-attention-icon" |
| | | @click="handleAttention" |
| | | /> |
| | | <div |
| | | v-if="from === 'sign'" |
| | | :style="{ color: GetPersonalApplyTaskInfosQueryStatusColor[detail.applyButton] }" |
| | | > |
| | | {{ GetTaskInfoQueryResultApplyButtonText[detail.applyButton] }} |
| | | </div> |
| | | <div |
| | | v-if="from === 'hire'" |
| | | :style="{ color: GetPersonalHireTaskInfosQueryStatusColor[detail.hireButton] }" |
| | | > |
| | | {{ 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日') }} 至 |
| | |
| | | :isFlex="false" |
| | | @click="handleCall" |
| | | ></PageFooterAction> |
| | | <template v-if="from === 'mine'"> |
| | | <PageFooterBtn |
| | | v-if="detail.applyButton === GetTaskInfoQueryResultApplyButton.WaitHire" |
| | | color="#999999" |
| | | disabled |
| | | >待确认</PageFooterBtn |
| | | > |
| | | <!-- <PageFooterBtn |
| | | v-if="detail.applyButton === GetTaskInfoQueryResultApplyButton.WaitSignContract" |
| | | >去签约</PageFooterBtn |
| | | > --> |
| | | <PageFooterBtn |
| | | v-if="detail.hireButton === GetTaskInfoQueryResultHireButton.InProcess" |
| | | color="#999999" |
| | | disabled |
| | | >进行中</PageFooterBtn |
| | | > |
| | | <!-- <PageFooterBtn |
| | | v-if="detail.hireButton === GetTaskInfoQueryResultHireButton.ApplyCheckReceive" |
| | | >申请验收</PageFooterBtn |
| | | > --> |
| | | <PageFooterBtn |
| | | v-if="detail.hireButton === GetTaskInfoQueryResultHireButton.Completed" |
| | | color="#999999" |
| | | disabled |
| | | >已完成</PageFooterBtn |
| | | > |
| | | </template> |
| | | <template v-else> |
| | | <PageFooterBtn v-if="from === 'sign'" type="primary" disabled> |
| | | {{ GetTaskInfoQueryResultApplyButtonText[detail.applyButton] }} |
| | | </PageFooterBtn> |
| | | <PageFooterBtn |
| | | v-if="from === 'hire'" |
| | | type="primary" |
| | | :disabled="detail?.hireButton !== GetTaskInfoQueryResultHireButton.ApplyCheckReceive" |
| | | @click="handleHire" |
| | | > |
| | | {{ GetTaskInfoQueryResultHireButtonText[detail.hireButton] }} |
| | | </PageFooterBtn> |
| | | <template v-if="from === 'apply'"> |
| | | <PageFooterBtn |
| | | v-if="detail?.releaseStatus === EnumTaskReleaseStatus.InProcess" |
| | | type="primary" |
| | | @click="handleApply" |
| | | :disabled="detail?.hireStatus" |
| | | :disabled="!!detail?.hireStatus" |
| | | >{{ `报名(${detail?.applyCount ?? 0}人已报名)` }}</PageFooterBtn |
| | | > |
| | | |
| | |
| | | EnumSettlementCycleText, |
| | | BillingMethodEnumUnit, |
| | | EnumTaskReleaseStatus, |
| | | EnumTaskUserHireStatus, |
| | | GetTaskInfoQueryResultApplyButton, |
| | | GetPersonalApplyTaskInfosQueryStatusColor, |
| | | GetTaskInfoQueryResultApplyButtonText, |
| | | GetPersonalHireTaskInfosQueryStatusColor, |
| | | GetTaskInfoQueryResultHireButtonText, |
| | | GetTaskInfoQueryResultHireButton, |
| | | } from '@12333/constants'; |
| | | import { useAccessLogin } from '@/hooks'; |
| | |
| | | }); |
| | | |
| | | /** |
| | | * TODO 缺少 手机 投诉举报接口 报名接口 |
| | | * TODO 缺少 投诉举报接口 |
| | | */ |
| | | |
| | | const router = Taro.useRouter(); |
| | |
| | | }; |
| | | 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}`, |
| | | }); |
| | | } |
| | | </script> |