From ce7ff0effee22807c8d29a31d6f5f2713d3bf95c Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期四, 11 九月 2025 17:39:51 +0800
Subject: [PATCH] Merge branch 'master' into dev-v1.1

---
 src/views/CPersonManage/components/StaffResumeView.vue |  124 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 124 insertions(+), 0 deletions(-)

diff --git a/src/views/CPersonManage/components/StaffResumeView.vue b/src/views/CPersonManage/components/StaffResumeView.vue
new file mode 100644
index 0000000..e5658c3
--- /dev/null
+++ b/src/views/CPersonManage/components/StaffResumeView.vue
@@ -0,0 +1,124 @@
+<template>
+  <ProForm :model="detail" ref="dialogForm" label-width="120px" is-read>
+    <ProFormCol>
+      <ProFormColItem :span="12">
+        <ProFormItemV2 label="鏈熸湜宀椾綅锛�" prop="name">
+          <div>{{ detail.userExpectJobs }}</div>
+        </ProFormItemV2>
+      </ProFormColItem>
+    </ProFormCol>
+    <ProFormCol>
+      <ProFormColItem :span="12">
+        <ProFormItemV2 label="绌洪棽鏃堕棿锛�" prop="freeTime">
+          <ProFormRadio
+            v-model="detail.freeTime"
+            :value-enum="EnumPersonalFreeTimeText"
+          ></ProFormRadio>
+        </ProFormItemV2>
+      </ProFormColItem>
+    </ProFormCol>
+    <ProFormCol>
+      <ProFormColItem :span="12">
+        <ProFormItemV2 label="姹傝亴鐘舵�侊細" prop="jobSeekingStatus">
+          <ProFormRadio
+            v-model="detail.jobSeekingStatus"
+            :value-enum="EnumPersonalJobSeekingStatusText"
+          ></ProFormRadio>
+        </ProFormItemV2>
+      </ProFormColItem>
+    </ProFormCol>
+    <ProFormCol>
+      <ProFormColItem :span="12">
+        <ProFormItemV2 label="宸ヤ綔骞撮檺锛�" prop="workSeniority">
+          <ProFormText v-model="detail.workSeniority"></ProFormText>
+        </ProFormItemV2>
+      </ProFormColItem>
+    </ProFormCol>
+    <ProFormCol>
+      <ProFormColItem :span="12">
+        <ProFormItemV2 label="宸ヤ綔缁忛獙锛�" prop="workExperience">
+          <ProFormText v-model="detail.workExperience"></ProFormText>
+        </ProFormItemV2>
+      </ProFormColItem>
+    </ProFormCol>
+    <ProFormCol>
+      <ProFormColItem :span="12">
+        <ProFormItemV2 label="韬珮锛�" prop="height">
+          <ProFormInputNumber v-model="detail.height"></ProFormInputNumber>
+        </ProFormItemV2>
+      </ProFormColItem>
+    </ProFormCol>
+    <ProFormCol>
+      <ProFormColItem :span="12">
+        <ProFormItemV2 label="浣撻噸锛�" prop="weight">
+          <ProFormInputNumber v-model="detail.weight"></ProFormInputNumber>
+        </ProFormItemV2>
+      </ProFormColItem>
+    </ProFormCol>
+    <ProFormItemV2 label="涓汉鐓х墖锛�" prop="photos">
+      <ProFormImageUpload v-model:file-url="detail.photos"> </ProFormImageUpload>
+    </ProFormItemV2>
+  </ProForm>
+</template>
+
+<script setup lang="ts">
+import {
+  ProForm,
+  ProFormCol,
+  ProFormColItem,
+  ProFormItemV2,
+  ProFormText,
+  ProFormInputNumber,
+  ProFormRadio,
+  UploadUserFile,
+  ProFormImageUpload,
+} from '@bole-core/components';
+import { EnumPersonalFreeTimeText, EnumPersonalJobSeekingStatusText } from '@/constants';
+import { useQuery } from '@tanstack/vue-query';
+import * as userResumeServices from '@/services/api/userResume';
+import { convertApi2FormUrl } from '@/utils';
+
+defineOptions({
+  name: 'StaffResumeView',
+});
+
+type Form = {
+  id: string;
+};
+
+const form = defineModel<Form>('form');
+
+const detail = reactive({
+  userExpectJobs: '',
+  freeTime: '' as any as EnumPersonalFreeTime,
+  jobSeekingStatus: '' as any as EnumPersonalJobSeekingStatus,
+  workSeniority: '',
+  workExperience: '',
+  height: 0,
+  weight: 0,
+  photos: [] as UploadUserFile[],
+});
+
+const { isLoading } = useQuery({
+  queryKey: ['userResumeServices/getUserResume', form.value.id],
+  queryFn: async () => {
+    return await userResumeServices.getUserResume({ enterpriseEmployeeId: form.value.id });
+  },
+  onSuccess(data) {
+    detail.userExpectJobs =
+      data.userExpectJobs?.length > 0
+        ? data.userExpectJobs.map((x) => x.expectJobContent).join(',')
+        : '';
+    detail.freeTime = data.freeTime;
+    detail.jobSeekingStatus = data.jobSeekingStatus;
+    detail.workSeniority = data.workSeniority;
+    detail.workExperience = data.workExperience;
+    detail.height = data.height ?? 0;
+    detail.weight = data.weight ?? 0;
+    detail.photos = data.photos
+      ? data.photos.map((x) => convertApi2FormUrl(x))
+      : ([] as UploadUserFile[]);
+  },
+  enabled: computed(() => !!form.value.id),
+});
+</script>

--
Gitblit v1.9.1