From 0f8d487b2c5bd082f9193952430f9a3e74798602 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期三, 20 八月 2025 15:56:22 +0800
Subject: [PATCH] feat: 实名
---
apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue | 103 +++++++++++++++++++++++++++++++++++++--------------
1 files changed, 74 insertions(+), 29 deletions(-)
diff --git a/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
index 8ac1076..a10ccc6 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,16 +121,30 @@
:isFlex="false"
@click="handleCall"
></PageFooterAction>
+ <PageFooterBtn v-if="from === 'sign'" type="primary" disabled>
+ {{ GetTaskInfoQueryResultApplyButtonText[detail.applyButton] }}
+ </PageFooterBtn>
<PageFooterBtn
- v-if="detail.releaseStatus === EnumTaskReleaseStatus.InProcess"
+ v-if="from === 'hire'"
type="primary"
- @click="handleApply"
- :disabled="detail?.hireStatus === EnumTaskUserHireStatus.Wait"
- >{{ `鎶ュ悕锛�${detail?.applyCount ?? 0}浜哄凡鎶ュ悕锛塦 }}</PageFooterBtn
+ :disabled="detail?.hireButton !== GetTaskInfoQueryResultHireButton.ApplyCheckReceive"
+ @click="handleHire"
>
- <PageFooterBtn v-if="detail.releaseStatus === EnumTaskReleaseStatus.Stopped" color="#999999"
- >宸插仠姝�</PageFooterBtn
- >
+ {{ 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>
@@ -143,7 +171,11 @@
EnumSettlementCycleText,
BillingMethodEnumUnit,
EnumTaskReleaseStatus,
- EnumTaskUserHireStatus,
+ GetPersonalApplyTaskInfosQueryStatusColor,
+ GetTaskInfoQueryResultApplyButtonText,
+ GetPersonalHireTaskInfosQueryStatusColor,
+ GetTaskInfoQueryResultHireButtonText,
+ GetTaskInfoQueryResultHireButton,
} from '@12333/constants';
import { useAccessLogin } from '@/hooks';
@@ -152,11 +184,12 @@
});
/**
- * TODO 缂哄皯宸叉姤鍚嶄汉鏁� 鎵嬫満 鎶曡瘔涓炬姤鎺ュ彛 鎶ュ悕鎺ュ彛
+ * TODO 缂哄皯 鎶曡瘔涓炬姤鎺ュ彛
*/
const router = Taro.useRouter();
-const taskId = router.params?.id ?? '';
+const id = router.params?.id ?? '';
+const from = router.params?.from ?? '';
const {
isLoading,
@@ -164,10 +197,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,
}
@@ -183,7 +216,7 @@
const goComplaint = useAccessLogin(() => {
Taro.navigateTo({
- url: `${RouterPath.complaint}?id=${taskId}`,
+ url: `${RouterPath.complaint}?id=${id}`,
});
});
@@ -198,35 +231,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) {}
});
@@ -238,4 +269,18 @@
});
}
});
+
+function handleHire() {
+ Taro.navigateTo({
+ url: `${RouterPath.taskSubmitCheck}?id=${id}`,
+ });
+}
+
+function goMap() {
+ Taro.openLocation({
+ latitude: detail.value?.latitude,
+ longitude: detail.value?.longitude,
+ scale: 18,
+ });
+}
</script>
--
Gitblit v1.9.1