From bda68a4c87497ffd6f76a15dc6f02cfa04a1fd26 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期三, 13 八月 2025 11:30:52 +0800
Subject: [PATCH] feat: 接口对接

---
 apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue |   99 +++++++++++++++++++++++++------------------------
 1 files changed, 51 insertions(+), 48 deletions(-)

diff --git a/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
index f66686a..51b1318 100644
--- a/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
@@ -4,10 +4,23 @@
       <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>
         </template>
         <div class="taskDetail-time">
           {{ dayjs(detail?.beginTime).format('YYYY骞碝M鏈圖D鏃�') }} 鑷�
@@ -107,42 +120,30 @@
         :isFlex="false"
         @click="handleCall"
       ></PageFooterAction>
+      <PageFooterBtn v-if="from === 'sign'" type="primary" disabled>
+        {{ GetTaskInfoQueryResultApplyButtonText[detail.applyButton] }}
+      </PageFooterBtn>
       <PageFooterBtn
-        v-if="showApplyBtn"
+        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.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
-      >
-      <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>
@@ -169,8 +170,10 @@
   EnumSettlementCycleText,
   BillingMethodEnumUnit,
   EnumTaskReleaseStatus,
-  EnumTaskUserHireStatus,
-  GetTaskInfoQueryResultApplyButton,
+  GetPersonalApplyTaskInfosQueryStatusColor,
+  GetTaskInfoQueryResultApplyButtonText,
+  GetPersonalHireTaskInfosQueryStatusColor,
+  GetTaskInfoQueryResultHireButtonText,
   GetTaskInfoQueryResultHireButton,
 } from '@12333/constants';
 import { useAccessLogin } from '@/hooks';
@@ -184,14 +187,8 @@
  */
 
 const router = Taro.useRouter();
-const taskId = router.params?.id ?? '';
-
-const showApplyBtn = computed(() => {
-  return (
-    detail.value?.releaseStatus === EnumTaskReleaseStatus.InProcess &&
-    (detail.value?.hireStatus === EnumTaskUserHireStatus.Wait || !detail.value?.hireStatus)
-  );
-});
+const id = router.params?.id ?? '';
+const from = router.params?.from ?? '';
 
 const {
   isLoading,
@@ -199,10 +196,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,
       }
@@ -218,7 +215,7 @@
 
 const goComplaint = useAccessLogin(() => {
   Taro.navigateTo({
-    url: `${RouterPath.complaint}?id=${taskId}`,
+    url: `${RouterPath.complaint}?id=${id}`,
   });
 });
 
@@ -233,7 +230,7 @@
 const handleApply = useAccessLogin(async () => {
   try {
     let params: API.ApplyTaskCommand = {
-      ids: [taskId],
+      ids: [id],
     };
     let res = await taskUserServices.applyTask(params);
     if (res) {
@@ -252,7 +249,7 @@
       message: `纭畾${detail.value?.isCollected ? '鍙栨秷鏀惰棌' : '鏀惰棌'}鍚楋紵`,
     });
     let params: API.CollectTaskCommand = {
-      ids: [taskId],
+      ids: [id],
       isCollect: !detail.value?.isCollected,
     };
     let res = await taskUserServices.collectTask(params);
@@ -273,4 +270,10 @@
     });
   }
 });
+
+function handleHire() {
+Taro.navigateTo({
+  url: `${RouterPath.taskSubmitCheck}?id=${id}`,
+})
+}
 </script>

--
Gitblit v1.9.1