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/StaffDetailInfoView.vue |  112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 112 insertions(+), 0 deletions(-)

diff --git a/src/views/CPersonManage/components/StaffDetailInfoView.vue b/src/views/CPersonManage/components/StaffDetailInfoView.vue
new file mode 100644
index 0000000..5dbe708
--- /dev/null
+++ b/src/views/CPersonManage/components/StaffDetailInfoView.vue
@@ -0,0 +1,112 @@
+<template>
+  <ProForm :model="detail" ref="dialogForm" label-width="120px" is-read>
+    <ProFormCol>
+      <ProFormColItem :span="12">
+        <ProFormItemV2 label="濮撳悕锛�" prop="name">
+          <ProFormText v-model.trim="detail.name"></ProFormText>
+        </ProFormItemV2>
+      </ProFormColItem>
+      <ProFormColItem :span="12">
+        <ProFormItemV2 label="瀹炲悕鏃堕棿锛�" prop="userRealTime">
+          <div>{{ format(detail.userRealTime, 'YYYY-MM-DD HH:mm') }}</div>
+        </ProFormItemV2>
+      </ProFormColItem>
+    </ProFormCol>
+    <ProFormCol>
+      <ProFormColItem :span="12">
+        <ProFormItemV2 label="韬唤璇佸彿锛�" prop="identity">
+          <ProFormText v-model.trim="detail.identity"></ProFormText>
+        </ProFormItemV2>
+      </ProFormColItem>
+    </ProFormCol>
+    <ProFormCol>
+      <ProFormColItem :span="12">
+        <ProFormItemV2 label="鎵嬫満鍙凤細" prop="contactPhoneNumber">
+          <ProFormText v-model.trim="detail.contactPhoneNumber"></ProFormText>
+        </ProFormItemV2>
+      </ProFormColItem>
+    </ProFormCol>
+    <ProFormCol>
+      <ProFormColItem :span="12">
+        <ProFormItemV2 label="鎬у埆锛�" prop="gender">
+          <ProFormRadio
+            v-model="detail.gender"
+            :value-enum="EnumUserGenderTextForPerson"
+          ></ProFormRadio>
+        </ProFormItemV2>
+      </ProFormColItem>
+    </ProFormCol>
+    <ProFormCol>
+      <ProFormColItem :span="12">
+        <ProFormItemV2 label="骞撮緞锛�" prop="age">
+          <ProFormInputNumber v-model="detail.age"> </ProFormInputNumber>
+        </ProFormItemV2>
+      </ProFormColItem>
+    </ProFormCol>
+    <ProFormItemV2 label="韬唤璇佹闈細" prop="identityImg">
+      <ProFormImageUpload v-model:file-url="detail.identityImg"> </ProFormImageUpload>
+    </ProFormItemV2>
+    <ProFormItemV2 label="韬唤璇佸弽闈細" prop="identityBackImg">
+      <ProFormImageUpload v-model:file-url="detail.identityBackImg"> </ProFormImageUpload>
+    </ProFormItemV2>
+  </ProForm>
+</template>
+
+<script setup lang="ts">
+import {
+  ProForm,
+  ProFormCol,
+  ProFormColItem,
+  ProFormItemV2,
+  ProFormText,
+  ProFormInputNumber,
+  ProFormImageUpload,
+  ProFormRadio,
+  UploadUserFile,
+} from '@bole-core/components';
+import { convertApi2FormUrlOnlyOne, format } from '@/utils';
+import { useQuery } from '@tanstack/vue-query';
+import { EnumUserGender, EnumUserGenderTextForPerson } from '@/constants';
+import * as enterpriseEmployeeServices from '@/services/api/enterpriseEmployee';
+
+defineOptions({
+  name: 'StaffDetailInfoView',
+});
+
+type Form = {
+  id: string;
+};
+
+const form = defineModel<Form>('form');
+
+const detail = reactive({
+  name: '',
+  identity: '',
+  contactPhoneNumber: '',
+  gender: EnumUserGender.Male,
+  age: 0,
+  identityImg: [] as UploadUserFile[],
+  identityBackImg: [] as UploadUserFile[],
+  userRealTime: '',
+});
+
+const { isLoading } = useQuery({
+  queryKey: ['enterpriseEmployeeServices/getEnterpriseEmployee', form.value.id],
+  queryFn: async () => {
+    return await enterpriseEmployeeServices.getEnterpriseEmployee({ id: form.value.id });
+  },
+  onSuccess(data) {
+    detail.name = data.name;
+    detail.identity = data.identity;
+    detail.contactPhoneNumber = data.contactPhoneNumber;
+    detail.gender = data.gender;
+    detail.age = data.age ?? 0;
+    detail.identityImg = data.identityImg ? convertApi2FormUrlOnlyOne(data.identityImg) : [];
+    detail.identityBackImg = data.identityBackImg
+      ? convertApi2FormUrlOnlyOne(data.identityBackImg)
+      : [];
+    detail.userRealTime = data.userRealTime ?? '';
+  },
+  enabled: computed(() => !!form.value.id),
+});
+</script>

--
Gitblit v1.9.1