From b6cd12914a60f09260efdbc889015ddfda676de6 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期五, 22 八月 2025 09:41:40 +0800 Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobMiniApp --- apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue | 110 ++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 84 insertions(+), 26 deletions(-) diff --git a/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue index 3261651..58fd1fc 100644 --- a/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue +++ b/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue @@ -4,10 +4,24 @@ <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骞碝M鏈圖D鏃�') }} 鑷� @@ -27,7 +41,7 @@ :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> @@ -108,14 +122,34 @@ @click="handleCall" ></PageFooterAction> <PageFooterBtn - v-if="detail.releaseStatus === EnumTaskReleaseStatus.InProcess" + v-if="from === 'sign'" type="primary" - @click="handleApply" - >{{ `鎶ュ悕锛�${detail?.applyCount ?? 0}浜哄凡鎶ュ悕锛塦 }}</PageFooterBtn + :disabled="detail?.applyButton === GetTaskInfoQueryResultApplyButton.WaitHire" + @click="handleSign" > - <PageFooterBtn v-if="detail.releaseStatus === EnumTaskReleaseStatus.Stopped" color="#999999" - >宸插仠姝�</PageFooterBtn + {{ 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" + >{{ `鎶ュ悕锛�${detail?.applyCount ?? 0}浜哄凡鎶ュ悕锛塦 }}</PageFooterBtn + > + + <PageFooterBtn v-if="detail.releaseStatus === EnumTaskReleaseStatus.Stopped" color="#999999" + >宸插仠姝�</PageFooterBtn + > + </template> </PageFooter> </LoadingLayout> </template> @@ -142,6 +176,12 @@ EnumSettlementCycleText, BillingMethodEnumUnit, EnumTaskReleaseStatus, + GetPersonalApplyTaskInfosQueryStatusColor, + GetTaskInfoQueryResultApplyButtonText, + GetPersonalHireTaskInfosQueryStatusColor, + GetTaskInfoQueryResultHireButtonText, + GetTaskInfoQueryResultHireButton, + GetTaskInfoQueryResultApplyButton, } from '@12333/constants'; import { useAccessLogin } from '@/hooks'; @@ -150,11 +190,12 @@ }); /** - * TODO 缂哄皯宸叉姤鍚嶄汉鏁� 鎵嬫満 鎶曡瘔涓炬姤鎺ュ彛 鎶ュ悕鎺ュ彛 + * TODO 缂哄皯 鎶曡瘔涓炬姤鎺ュ彛 */ const router = Taro.useRouter(); -const taskId = router.params?.id ?? ''; +const id = router.params?.id ?? ''; +const from = router.params?.from ?? ''; const { isLoading, @@ -162,10 +203,10 @@ data: detail, refetch, } = useQuery({ - queryKey: ['taskServices/getTaskInfo', taskId], + queryKey: ['taskServices/getTaskInfo', id], queryFn: async () => { return await taskServices.getTaskInfo( - { id: taskId }, + { id: id }, { showLoading: false, } @@ -181,7 +222,7 @@ const goComplaint = useAccessLogin(() => { Taro.navigateTo({ - url: `${RouterPath.complaint}?id=${taskId}`, + url: `${RouterPath.complaint}?id=${id}`, }); }); @@ -196,35 +237,33 @@ const handleApply = useAccessLogin(async () => { try { let params: API.ApplyTaskCommand = { - ids: [taskId], + ids: [id], }; 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: [taskId], + 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) {} }); @@ -236,4 +275,23 @@ }); } }); + +function handleHire() { + Taro.navigateTo({ + url: `${RouterPath.taskSubmitCheck}?id=${id}`, + }); +} +function handleSign() { + // Taro.navigateTo({ + // url: `${RouterPath}?id=${id}`, + // }); +} + +function goMap() { + Taro.openLocation({ + latitude: detail.value?.latitude, + longitude: detail.value?.longitude, + scale: 18, + }); +} </script> -- Gitblit v1.9.1