From 1bbd7061dac79cacf5513234a04cac8ba0be5c6f Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 21 三月 2025 09:15:36 +0800
Subject: [PATCH] feat: 接口对接

---
 apps/cMiniApp/src/subpackages/curriculum/mineCurriculumVitae/InnerPage.vue |  298 ++++++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 190 insertions(+), 108 deletions(-)

diff --git a/apps/cMiniApp/src/subpackages/curriculum/mineCurriculumVitae/InnerPage.vue b/apps/cMiniApp/src/subpackages/curriculum/mineCurriculumVitae/InnerPage.vue
index 9ac70ee..c8b000e 100644
--- a/apps/cMiniApp/src/subpackages/curriculum/mineCurriculumVitae/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/curriculum/mineCurriculumVitae/InnerPage.vue
@@ -8,29 +8,40 @@
       class="mine-curriculum-noticebar"
     />
     <div class="mine-curriculum-info-wrapper">
-      <UserAvatar :size="60" class="mine-curriculum-avatar" />
+      <Avatar
+        :size="60"
+        class="mine-curriculum-avatar"
+        :src="setOSSLink(detail?.resumeBaseInfo?.avatarUrl ?? '')"
+      ></Avatar>
       <div class="mine-curriculum-info-content">
         <div class="mine-curriculum-info-item">
           <div class="mine-curriculum-info-item-left">
             <div class="mine-curriculum-info-item-name">
-              {{ userStore.userDetail?.userName ?? '' }}
+              {{ detail?.resumeBaseInfo?.name ?? '' }}
             </div>
             <div class="mine-curriculum-info-item-gender">
               <div class="mine-curriculum-info-item-gender-dot">路</div>
-              <img :src="IconAuth" class="mine-curriculum-info-item-gender-icon" />
+              <img
+                v-if="detail?.resumeBaseInfo?.genderType === Gender.Male"
+                :src="IconMale"
+                class="mine-curriculum-info-item-gender-icon"
+              />
+              <img v-else :src="IconFemale" class="mine-curriculum-info-item-gender-icon" />
             </div>
           </div>
           <IconFont name="rect-right" size="16" color="#6D6E6E" @click="goEditMineInfo"></IconFont>
         </div>
         <div class="mine-curriculum-info-item">
           <div class="mine-curriculum-info-item-left">
-            <img :src="IconAuth" class="mine-curriculum-info-item-phone-icon" />
+            <img :src="IconPhone" class="mine-curriculum-info-item-phone-icon" />
             <div class="mine-curriculum-info-item-phone">
-              {{ userStore.userDetail?.phoneNumber ?? '' }}
+              {{ detail?.resumeBaseInfo?.phoneNumber ?? '' }}
             </div>
           </div>
           <div class="mine-curriculum-info-item-detail">
-            {{ '26宀� | 闈炲鐢� | 鏈' }}
+            {{
+              `${detail?.resumeBaseInfo?.age}宀� | ${detail?.resumeBaseInfo?.socialIdentityName} | ${detail?.resumeBaseInfo?.educationalLevelName}`
+            }}
           </div>
         </div>
       </div>
@@ -46,17 +57,23 @@
         </div>
         <MineAgreementSignDetailItem label="鏈熸湜宀椾綅" class="mine-curriculum-intention-job">
           <template #detail>
-            <JobTagList />
+            <JobTagList :jobTagList="jobTag" />
           </template>
         </MineAgreementSignDetailItem>
         <MineAgreementSignDetailItem label="绌洪棽鏃堕棿">
           <template #detail>
-            <div class="mine-curriculum-intention-bold">涓嶉檺</div>
+            <div class="mine-curriculum-intention-bold">
+              {{ UserResumeFreeTimeEnumText[detail?.resumeExpectationJob?.freeTime] }}
+            </div>
           </template>
         </MineAgreementSignDetailItem>
         <MineAgreementSignDetailItem label="姹傝亴鐘舵��">
           <template #detail>
-            <div class="mine-curriculum-intention-bold">绉瀬鎵惧伐浣�</div>
+            <div class="mine-curriculum-intention-bold">
+              {{
+                UserResumeJobSeekingStatusEnumText[detail?.resumeExpectationJob?.jobSeekingStatus]
+              }}
+            </div>
           </template>
         </MineAgreementSignDetailItem>
       </div>
@@ -88,11 +105,23 @@
 import { useUserStore } from '@/stores/modules/user';
 import { useIsLogin } from '@/hooks';
 import MineAgreementSignDetailItem from '../../mine/mineAgreementSignDetail/MineAgreementSignDetailItem.vue';
-import { List, ListItem, JobTagList } from '@12333/components';
+import { List, ListItem, JobTagList, Avatar } from '@12333/components';
+import {
+  Gender,
+  UserResumeFreeTimeEnumText,
+  UserResumeJobSeekingStatusEnumText,
+} from '@12333/constants';
 import { RouterPath } from '@/constants';
+import * as userResumeServices from '@12333/services/api/userResume';
 import IconArrow from '@/assets/setting/icon-arrow.png';
 import IconAuth from '@/assets/mine/icon-auth.png';
+import IconMale from '@/assets/mine/icon-male.png';
+import IconFemale from '@/assets/mine/icon-female.png';
+import IconPhone from '@/assets/mine/icon-phone.png';
 import Taro from '@tarojs/taro';
+import { useQuery } from '@tanstack/vue-query';
+import { setOSSLink } from '@12333/utils';
+import { useEvent, useEventChannel } from 'senin-mini/hooks';
 
 defineOptions({
   name: 'InnerPage',
@@ -100,6 +129,39 @@
 
 const userStore = useUserStore();
 const isLogin = useIsLogin();
+const router = Taro.useRouter();
+
+const taskId = router.params?.taskId;
+
+const eventChannel = useEventChannel();
+
+useEvent('updateResume', function (data: { content: boolean }) {
+  if (data.content) {
+    refetch({
+      type: 'inactive',
+    });
+  }
+});
+
+const jobTag = computed(
+  () => detail?.value?.resumeExpectationJob?.jobIdList?.map((x) => x.name) ?? []
+);
+
+const {
+  isLoading,
+  isError,
+  data: detail,
+  refetch,
+} = useQuery({
+  queryKey: ['userResumeServices/getUserResume', taskId],
+  queryFn: async () => {
+    return await userResumeServices.getUserResume({
+      showLoading: false,
+    });
+  },
+  placeholderData: () => ({} as API.MyResumeOutput),
+  onSuccess(data) {},
+});
 
 function goPage(routeName: string) {
   Taro.navigateTo({
@@ -126,133 +188,153 @@
 <style lang="scss">
 @import '@/styles/common.scss';
 
-.mine-curriculum-noticebar {
-  .nut-noticebar__page {
-    padding: 0;
-  }
-}
-
-.mine-curriculum-info-wrapper {
-  padding: 24px 0 60px;
-  display: flex;
-
-  .mine-curriculum-avatar {
-    margin-right: 24px;
+.mineCurriculumVitae-page-wrapper {
+  .mine-curriculum-noticebar {
+    .nut-noticebar__page {
+      padding: 0;
+    }
   }
 
-  .mine-curriculum-info-content {
+  .mine-curriculum-info-wrapper {
+    padding: 24px 0 60px;
     display: flex;
-    flex-direction: column;
-    padding: 12px 0;
-    justify-content: space-between;
-    flex: 1;
-    min-width: 0;
 
-    .mine-curriculum-info-item {
+    .mine-curriculum-avatar {
+      margin-right: 24px;
+    }
+
+    .mine-curriculum-info-content {
       display: flex;
-      align-items: center;
+      flex-direction: column;
+      padding: 12px 0;
       justify-content: space-between;
+      flex: 1;
+      min-width: 0;
 
-      .mine-curriculum-info-item-left {
-        display: inline-flex;
+      .mine-curriculum-info-item {
+        display: flex;
         align-items: center;
+        justify-content: space-between;
 
-        .mine-curriculum-info-item-name {
-          font-size: 32px;
+        .mine-curriculum-info-item-left {
+          display: inline-flex;
+          align-items: center;
+
+          .mine-curriculum-info-item-name {
+            font-size: 32px;
+            line-height: 40px;
+            font-weight: 600;
+            color: boleGetCssVar('text-color', 'primary');
+          }
+
+          .mine-curriculum-info-item-gender {
+            display: inline-flex;
+            align-items: center;
+
+            .mine-curriculum-info-item-gender-dot {
+              margin: 0 8px;
+              line-height: 40px;
+            }
+
+            .mine-curriculum-info-item-gender-icon {
+              width: 28px;
+              height: 28px;
+            }
+          }
+
+          .mine-curriculum-info-item-phone {
+            font-size: 28px;
+            line-height: 40px;
+            font-weight: 400;
+            color: boleGetCssVar('text-color', 'primary');
+          }
+
+          .mine-curriculum-info-item-phone-icon {
+            width: 40px;
+            height: 40px;
+          }
+        }
+
+        .mine-curriculum-info-item-detail {
+          font-size: 24px;
           line-height: 40px;
+          color: boleGetCssVar('text-color', 'primary');
+        }
+      }
+    }
+  }
+
+  .mine-curriculum-intention {
+    padding: 30px 0;
+    border-radius: 12px;
+
+    .mine-curriculum-intention-content {
+      padding: 0 boleGetCssVar('size', 'body-padding-h') 40px;
+      border-bottom: 1px solid #f6f6f6;
+
+      .mine-curriculum-intention-title {
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+        margin-bottom: 40px;
+
+        .mine-curriculum-intention-title-text {
+          font-size: 32px;
           font-weight: 600;
           color: boleGetCssVar('text-color', 'primary');
         }
 
-        .mine-curriculum-info-item-gender {
+        .mine-curriculum-intention-title-edit {
           display: inline-flex;
           align-items: center;
+          font-size: 22px;
+          color: boleGetCssVar('text-color', 'regular');
 
-          .mine-curriculum-info-item-gender-dot {
-            margin: 0 8px;
-            line-height: 40px;
+          .mine-curriculum-intention-title-edit-icon {
+            width: 32px;
+            height: 32px;
           }
-
-          .mine-curriculum-info-item-gender-icon {
-            width: 36px;
-            height: 36px;
-          }
-        }
-
-        .mine-curriculum-info-item-phone {
-          font-size: 28px;
-          line-height: 40px;
-          font-weight: 400;
-          color: boleGetCssVar('text-color', 'primary');
-        }
-
-        .mine-curriculum-info-item-phone-icon {
-          width: 24px;
-          height: 24px;
         }
       }
 
-      .mine-curriculum-info-item-detail {
-        font-size: 24px;
-        line-height: 40px;
-        color: boleGetCssVar('text-color', 'primary');
+      .mine-curriculum-intention-job {
+        align-items: flex-start;
+
+        .mine-curriculum-intention-job-content {
+          display: inline-flex;
+          flex-wrap: wrap;
+
+          .mine-curriculum-intention-job-item {
+            font-size: 20px;
+            color: boleGetCssVar('color', 'primary');
+            padding: 6px 16px;
+            background-color: #edf2ff;
+            border-radius: 4px;
+            display: inline-flex;
+            align-items: center;
+            justify-content: center;
+            margin-right: 16px;
+            margin-bottom: 14px;
+          }
+        }
       }
-    }
-  }
-}
 
-.mine-curriculum-intention {
-  padding: 30px 0;
-  border-radius: 12px;
-
-  .mine-curriculum-intention-content {
-    padding: 0 boleGetCssVar('size', 'body-padding-h') 40px;
-    border-bottom: 1px solid #f6f6f6;
-
-    .mine-curriculum-intention-title {
-      display: flex;
-      justify-content: space-between;
-      align-items: center;
-      margin-bottom: 40px;
-
-      .mine-curriculum-intention-title-text {
-        font-size: 32px;
+      .mine-curriculum-intention-bold {
         font-weight: 600;
+        font-size: 28px;
         color: boleGetCssVar('text-color', 'primary');
       }
+    }
 
-      .mine-curriculum-intention-title-edit {
-        display: inline-flex;
-        align-items: center;
-        font-size: 22px;
-        color: boleGetCssVar('text-color', 'regular');
+    .mine-curriculum-intention-enit-btn {
+      font-size: 22px;
+      color: boleGetCssVar('text-color', 'regular');
+    }
 
-        .mine-curriculum-intention-title-edit-icon {
-          width: 32px;
-          height: 32px;
-        }
+    .mine-curriculum-intention-detail {
+      .pro-list-item-inner {
+        border-bottom: none;
       }
-    }
-
-    .mine-curriculum-intention-job {
-      align-items: flex-start;
-    }
-
-    .mine-curriculum-intention-bold {
-      font-weight: 600;
-      font-size: 28px;
-      color: boleGetCssVar('text-color', 'primary');
-    }
-  }
-
-  .mine-curriculum-intention-enit-btn {
-    font-size: 22px;
-    color: boleGetCssVar('text-color', 'regular');
-  }
-
-  .mine-curriculum-intention-detail {
-    .pro-list-item-inner {
-      border-bottom: none;
     }
   }
 }

--
Gitblit v1.9.1