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