From 157ccc5dd9df9358f62a2f753668f21bec1c90ee Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期五, 29 八月 2025 16:47:32 +0800 Subject: [PATCH] feat: 签约 --- apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue | 97 +++++++++++++++++++++++++++++++----------------- 1 files changed, 63 insertions(+), 34 deletions(-) diff --git a/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue index bc00fd5..3204d9c 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> @@ -107,40 +121,28 @@ :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="detail?.applyButton === GetTaskInfoQueryResultApplyButton.WaitHire" + @click="handleSign" + > + {{ 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 > @@ -157,6 +159,7 @@ 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'; @@ -174,9 +177,12 @@ EnumSettlementCycleText, BillingMethodEnumUnit, EnumTaskReleaseStatus, - EnumTaskUserHireStatus, - GetTaskInfoQueryResultApplyButton, + GetPersonalApplyTaskInfosQueryStatusColor, + GetTaskInfoQueryResultApplyButtonText, + GetPersonalHireTaskInfosQueryStatusColor, + GetTaskInfoQueryResultHireButtonText, GetTaskInfoQueryResultHireButton, + GetTaskInfoQueryResultApplyButton, } from '@12333/constants'; import { useAccessLogin } from '@/hooks'; @@ -187,7 +193,7 @@ /** * TODO 缂哄皯 鎶曡瘔涓炬姤鎺ュ彛 */ - +const { userDetail } = useUser(); const router = Taro.useRouter(); const id = router.params?.id ?? ''; const from = router.params?.from ?? ''; @@ -270,4 +276,27 @@ }); } }); + +function handleHire() { + 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> -- Gitblit v1.9.1