From 9c2cb0c24dabf68ca5f4703340ed2b1f13ddf969 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期三, 13 八月 2025 19:37:15 +0800
Subject: [PATCH] fix: 灵工管理

---
 apps/bMiniApp/src/subpackages/flexJob/flexJobDetail/flexJobDetail.vue |   81 ++++++++++++++++++++++++++++------------
 1 files changed, 56 insertions(+), 25 deletions(-)

diff --git a/apps/bMiniApp/src/subpackages/flexJob/flexJobDetail/flexJobDetail.vue b/apps/bMiniApp/src/subpackages/flexJob/flexJobDetail/flexJobDetail.vue
index 243cce3..307de77 100644
--- a/apps/bMiniApp/src/subpackages/flexJob/flexJobDetail/flexJobDetail.vue
+++ b/apps/bMiniApp/src/subpackages/flexJob/flexJobDetail/flexJobDetail.vue
@@ -1,7 +1,30 @@
 <template>
   <PageLayoutWithBg class="flexJobDetail-page-wrapper" title="鐏靛伐璇︽儏" :need-auth="false">
     <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch">
-      <JobDetailContent :isCollapse="isCollapse">
+      <JobDetailContent
+        :avatar="userResumeInfo.avatar"
+        :name="userResumeInfo.name"
+        :age="userResumeInfo.age"
+        :isReal="userResumeInfo.isReal"
+        :gender="userResumeInfo.gender"
+        :personalIdentityContent="userResumeInfo.personalIdentityContent"
+        :educationalBackgroundContent="userResumeInfo.educationalBackgroundContent"
+        :taskCount="userResumeInfo.taskCount"
+        :contactPhoneNumber="userResumeInfo.contactPhoneNumber"
+        :identity="userResumeInfo.identity"
+        :isCollapse="isCollapse"
+        :userId="enterpriseEmployeeId"
+        :userExpectJobs="userResumeInfo.userExpectJobs"
+        :freeTime="userResumeInfo.freeTime"
+        :jobSeekingStatus="userResumeInfo.jobSeekingStatus"
+        :userCredentials="userResumeInfo.userCredentials"
+        :workSeniority="userResumeInfo.workSeniority"
+        :workExperience="userResumeInfo.workExperience"
+        :photos="userResumeInfo.photos"
+        :height="userResumeInfo.height"
+        :weight="userResumeInfo.weight"
+        :taskInfoUsers="userResumeInfo.taskInfoUsers"
+      >
         <template #footer>
           <PageFooterAction
             :icon="IconShare"
@@ -10,11 +33,12 @@
             openType="share"
           ></PageFooterAction>
           <PageFooterAction
-            :icon="IconAttentionActive"
+            :icon="userResumeInfo.isCollected ? IconAttentionActive : IconAttention"
             text="鏀惰棌"
             :isFlex="false"
+            @click="handleAttention"
           ></PageFooterAction>
-          <PageFooterBtn type="primary" @click="toggle">绔嬪嵆鑱旂郴</PageFooterBtn>
+          <PageFooterBtn type="primary" @click="handleContact">绔嬪嵆鑱旂郴</PageFooterBtn>
         </template>
       </JobDetailContent>
     </LoadingLayout>
@@ -24,40 +48,47 @@
 <script setup lang="ts">
 import Taro from '@tarojs/taro';
 import { useQuery } from '@tanstack/vue-query';
-import * as flexWorkerServices from '@12333/services/api/FlexWorker';
+import * as userResumeServices from '@12333/services/apiV2/userResume';
 import IconShare from '@/assets/flexJob/icon-share.png';
 import IconAttention from '@/assets/flexJob/icon-attention-lg.png';
 import IconAttentionActive from '@/assets/flexJob/icon-attention-lg-active.png';
 import { useToggle } from 'senin-mini/hooks';
+import { Message } from '@12333/utils';
+import { useUserResume } from '@12333/hooks';
+import { useAccessLogin } from '@/hooks';
 
 defineOptions({
   name: 'flexJobDetail',
 });
 
 const router = Taro.useRouter();
-const taskId = router.params?.id ?? '';
+const enterpriseEmployeeId = router.params?.enterpriseEmployeeId ?? '';
 
-const {
-  isLoading,
-  isError,
-  data: detail,
-  refetch,
-} = useQuery({
-  queryKey: ['flexWorkerServices/getOrdeForDetail', taskId],
-  queryFn: async () => {
-    return await flexWorkerServices.getOrdeForDetail(
-      { id: taskId },
-      {
-        showLoading: false,
-      }
-    );
-  },
-  placeholderData: () => ({} as API.OrderInfoDto),
+const { isLoading, isError, userResumeInfo, refetch } = useUserResume({
+  userId: enterpriseEmployeeId,
 });
 
 const { isCollapse, toggle } = useToggle();
-</script>
 
-<style lang="scss">
-@import '@/styles/common.scss';
-</style>
+const handleContact = useAccessLogin(async () => {
+  try {
+    if (!isCollapse.value) {
+      await userResumeServices.contactUserResume({ id: enterpriseEmployeeId });
+      toggle();
+    }
+  } catch (error) {}
+});
+
+async function handleAttention() {
+  try {
+    let params: API.CollectUserResumeCommand = {
+      id: enterpriseEmployeeId,
+      isCollected: !userResumeInfo.value.isCollected,
+    };
+    let res = await userResumeServices.collectUserResume(params);
+    if (res) {
+      refetch({ type: 'inactive' });
+    }
+  } catch (error) {}
+}
+</script>

--
Gitblit v1.9.1