From fa5ee26bb701b816efc811c193ee55504a6efd51 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期三, 03 十二月 2025 17:51:23 +0800
Subject: [PATCH] feat: 通知

---
 apps/bMiniApp/src/subpackages/flexJob/flexJobDetailFromTask/InnerPage.vue |   53 ++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 46 insertions(+), 7 deletions(-)

diff --git a/apps/bMiniApp/src/subpackages/flexJob/flexJobDetailFromTask/InnerPage.vue b/apps/bMiniApp/src/subpackages/flexJob/flexJobDetailFromTask/InnerPage.vue
index 3275278..c406a5f 100644
--- a/apps/bMiniApp/src/subpackages/flexJob/flexJobDetailFromTask/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/flexJob/flexJobDetailFromTask/InnerPage.vue
@@ -11,7 +11,6 @@
       :taskCount="userResumeInfo.taskCount"
       :contactPhoneNumber="userResumeInfo.contactPhoneNumber"
       :identity="userResumeInfo.identity"
-      :userId="enterpriseEmployeeId"
       :userExpectJobs="userResumeInfo.userExpectJobs"
       :freeTime="userResumeInfo.freeTime"
       :jobSeekingStatus="userResumeInfo.jobSeekingStatus"
@@ -21,18 +20,31 @@
       :photos="userResumeInfo.photos"
       :height="userResumeInfo.height"
       :weight="userResumeInfo.weight"
+      :shoeSize="userResumeInfo.shoeSize"
+      :videos="userResumeInfo.videos"
       :taskInfoUsers="userResumeInfo.taskInfoUsers"
       :isCollapse="true"
     >
       <template #footer>
-        <PageFooterBtn type="primary" plain @click="setTaskUserHire(EnumTaskUserHireStatus.Refuse)"
+        <PageFooterBtn
+          type="primary"
+          plain
+          @click="handleAdd()"
+          v-if="taskUserHireStatusResult.hireStatus === EnumTaskUserHireStatus.Wait"
           >璋㈢粷</PageFooterBtn
         >
-        <PageFooterBtn type="primary" @click="setTaskUserHire(EnumTaskUserHireStatus.Pass)"
+        <PageFooterBtn
+          type="primary"
+          @click="setTaskUserHire(EnumTaskUserHireStatus.Pass)"
+          v-if="
+            taskUserHireStatusResult.hireStatus === EnumTaskUserHireStatus.Wait ||
+            taskUserHireStatusResult.hireStatus === EnumTaskUserHireStatus.Refuse
+          "
           >褰曠敤</PageFooterBtn
         >
       </template>
     </JobDetailContent>
+    <RefuseDialog v-bind="dialogProps" />
   </LoadingLayout>
 </template>
 
@@ -41,8 +53,9 @@
 import { useQuery } from '@tanstack/vue-query';
 import * as taskUserServices from '@12333/services/apiV2/taskUser';
 import { Message } from '@12333/utils';
-import { useUserResume } from '@12333/hooks';
+import { useUserResume, useFormDialog } from '@12333/hooks';
 import { EnumTaskUserHireStatus } from '@12333/constants';
+import RefuseDialog from '../components/RefuseDialog.vue';
 
 defineOptions({
   name: 'InnerPage',
@@ -51,21 +64,47 @@
 const router = Taro.useRouter();
 const enterpriseEmployeeId = router.params?.enterpriseEmployeeId ?? '';
 const id = router.params?.id ?? '';
+const taskInfoId = router.params?.taskInfoId ?? '';
 
 const { isLoading, isError, userResumeInfo, refetch } = useUserResume({
-  userId: enterpriseEmployeeId,
+  enterpriseEmployeeId: enterpriseEmployeeId,
 });
 
-async function setTaskUserHire(hireStatus: EnumTaskUserHireStatus) {
+const { data: taskUserHireStatusResult, refetch: taskUserHireStatusRefetch } = useQuery({
+  queryKey: ['taskUserServices/getTaskUserHireStatus', taskInfoId, userResumeInfo.value.id],
+  queryFn: () => {
+    let params: API.APIgetTaskUserHireStatusParams = {
+      taskInfoId: taskInfoId,
+      userId: userResumeInfo.value.id,
+    };
+    return taskUserServices.getTaskUserHireStatus(params, { showLoading: false });
+  },
+  enabled: computed(() => !!userResumeInfo.value.id && !!taskInfoId),
+  placeholderData: () => ({} as API.GetTaskUserHireStatusQueryResult),
+});
+
+const { dialogProps, handleAdd, editForm } = useFormDialog({
+  onConfirm: handleRefuse,
+  defaultFormParams: {
+    remark: '',
+  },
+});
+
+async function handleRefuse() {
+  setTaskUserHire(EnumTaskUserHireStatus.Refuse, editForm.remark);
+}
+
+async function setTaskUserHire(hireStatus: EnumTaskUserHireStatus, remark?: string) {
   try {
     let params: API.SetTaskUserHireCommand = {
       id: id,
       hireStatus: hireStatus,
+      hireRemark: remark,
     };
     let res = await taskUserServices.setTaskUserHire(params);
     if (res) {
       Message.success('鎿嶄綔鎴愬姛');
-      refetch({
+      taskUserHireStatusRefetch({
         type: 'inactive',
       });
     }

--
Gitblit v1.9.1