From 939ea6170c682682fc7e78303e71fd38b443402e Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期四, 14 八月 2025 17:44:34 +0800 Subject: [PATCH] feat: 接口对接 --- src/views/CPersonManage/components/CPersonDetailDialog.vue | 134 +++++++++++++++++++++----------------------- 1 files changed, 64 insertions(+), 70 deletions(-) diff --git a/src/views/CPersonManage/components/CPersonDetailDialog.vue b/src/views/CPersonManage/components/CPersonDetailDialog.vue index e6d9e99..0173529 100644 --- a/src/views/CPersonManage/components/CPersonDetailDialog.vue +++ b/src/views/CPersonManage/components/CPersonDetailDialog.vue @@ -1,28 +1,31 @@ <template> - <ProDialog title="鐢宠璇︽儏" v-model="innerVisible" width="1200px" destroy-on-close> - <ProTabs v-model="innerForm.tabType" hasBorder> + <ProDialog title="鐢宠璇︽儏" v-model="visible" width="1200px" destroy-on-close> + <ProTabs v-model="form.tabType" hasBorder> <ProTabPane lazy label="浜哄憳璇︽儏" name="user"> <ProForm :model="form" ref="dialogForm" label-width="120px" is-read> <ProFormItemV2 label="濮撳悕:" prop="name"> - <ProFormText v-model.trim="innerForm.name" /> + <ProFormText v-model.trim="form.name" /> </ProFormItemV2> - <ProFormItemV2 label="韬唤璇佸彿:" prop="idNumber"> - <ProFormText v-model.trim="innerForm.idNumber" /> + <ProFormItemV2 label="韬唤璇佸彿:" prop="identity"> + <ProFormText v-model.trim="form.identity" /> </ProFormItemV2> - <ProFormItemV2 label="鎵嬫満鍙�:" prop="contactPhone"> - <ProFormText v-model.trim="innerForm.contactPhone" /> + <ProFormItemV2 label="鎵嬫満鍙�:" prop="contactPhoneNumber"> + <ProFormText v-model.trim="form.contactPhoneNumber" /> </ProFormItemV2> - <ProFormItemV2 label="鎬у埆:" prop="age"> - <ProFormRadio v-model="innerForm.genderType" :value-enum="GenderText"></ProFormRadio> + <ProFormItemV2 label="鎬у埆:" prop="gender"> + <ProFormRadio + v-model="form.gender" + :value-enum="EnumUserGenderTextForPerson" + ></ProFormRadio> </ProFormItemV2> <ProFormItemV2 label="骞撮緞:" prop="age"> - <ProFormInputNumber v-model="innerForm.age" unit="宀�"></ProFormInputNumber> + <ProFormInputNumber v-model="form.age" unit="宀�"></ProFormInputNumber> </ProFormItemV2> - <ProFormItemV2 label="韬唤璇佹闈�:" prop="certificateFrontImgUrl"> - <ProFormImageUpload v-model:file-url="innerForm.certificateFrontImgUrl" /> + <ProFormItemV2 label="韬唤璇佹闈�:" prop="identityImg"> + <ProFormImageUpload v-model:file-url="form.identityImg" /> </ProFormItemV2> - <ProFormItemV2 label="韬唤璇佸弽闈�:" prop="certificateBackImgUrl"> - <ProFormImageUpload v-model:file-url="innerForm.certificateBackImgUrl" /> + <ProFormItemV2 label="韬唤璇佸弽闈�:" prop="identityBackImg"> + <ProFormImageUpload v-model:file-url="form.identityBackImg" /> </ProFormItemV2> </ProForm> </ProTabPane> @@ -33,6 +36,11 @@ </ProDialogTableWrapper> </ProTabPane> </ProTabs> + <template #footer> + <span class="dialog-footer"> + <el-button @click="emit('onCancel')">鍏抽棴</el-button> + </span> + </template> </ProDialog> </template> @@ -51,46 +59,44 @@ ProFormImageUpload, ProFormRadio, ProFormInputNumber, + defineColumns, } from '@bole-core/components'; -import { OrderInputType } from '@bole-core/core'; import _ from 'lodash'; -import * as flexEnterpriseWokerServices from '@/services/api/FlexEnterpriseWoker'; -import { setOSSLink } from '@/utils'; -import { FlexTaskWorkerHireEnumText, FlexWorkerEleSignEnumText, Gender, GenderText } from '@/constants'; +import * as userServices from '@/services/api/user'; +import { + EnumUserGender, + EnumUserGenderTextForPerson, + EnumTaskUserHireStatusText, + EnumTaskUserSignContractStatusText, +} from '@/constants'; defineOptions({ name: 'CPersonDetailDialog', }); -type Props = { - modelValue: boolean; - form: { - tabType: string; - userId: string; - name: string; - idNumber: string; - contactPhone: string; - age: number; - genderType:Gender; - certificateFrontImgUrl: UploadUserFile[]; - certificateBackImgUrl: UploadUserFile[]; - }; +type Form = { + tabType: string; + id: string; + name: string; + identity: string; + contactPhoneNumber: string; + age: number; + gender: EnumUserGender; + identityImg: UploadUserFile[]; + identityBackImg: UploadUserFile[]; }; -const props = withDefaults(defineProps<Props>(), { - modelValue: false, -}); +const form = defineModel<Form>('form'); +const visible = defineModel<boolean>('modelValue'); const emit = defineEmits<{ - (e: 'update:modelValue', value: boolean): void; - (e: 'update:form', value: Props['form']): void; (e: 'onCancel'): void; }>(); -const column: API.CustomModuleColumnDto[] = [ +const column = defineColumns([ { id: '1', - enCode: 'enterpirseName', + enCode: 'enterpriseName', name: '鎵�灞炲鎴�', }, { @@ -105,22 +111,22 @@ }, { id: '4', - enCode: 'hireDateTime', + enCode: 'hireTime', name: '褰曠敤鏃堕棿', }, { id: '5', - enCode: 'userSignStatus', + enCode: 'userSignContractStatus', name: '绛剧害鐘舵��', }, { id: '6', - enCode: 'enterSignStatus', + enCode: 'enterpriseSignContractStatus', name: '浼佷笟绛剧害鐘舵��', }, { id: '7', - enCode: 'enterSignTime', + enCode: 'enterpriseSignContractTime', name: '浼佷笟绛剧害鏃堕棿', }, { @@ -128,31 +134,18 @@ enCode: 'contractUrl', name: '鐢靛瓙鍚堝悓', }, -]; - -const innerVisible = computed({ - get() { - return props.modelValue; - }, - set(val) { - emit('update:modelValue', val); - }, -}); -const innerForm = computed({ - get() { - return props.form; - }, - set(val) { - emit('update:form', val); - }, -}); +]); watch( - () => innerVisible.value, + visible, (val) => { + console.log('val: ', val); if (val) { getList(); } + }, + { + immediate: true, } ); @@ -164,29 +157,30 @@ } = useTable( async ({ pageIndex, pageSize }, extraParamState) => { try { - let params: API.GetUserClientSignListInput = { + let params: API.GetPersonalUserInfoSignContractsQuery = { pageModel: { rows: pageSize, page: pageIndex, orderInput: extraParamState.orderInput, }, - userId: props.form.userId, + id: form.value.id, }; - let res = await flexEnterpriseWokerServices.getUserClientSignList(params); + let res = await userServices.getPersonalUserInfoSignContracts(params); return res; } catch (error) {} }, { defaultExtraParams: { - orderInput: [{ property: 'applyTime', order: OrderInputType.Desc }], + orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], }, columnsRenderProps: { applyTime: { type: 'date' }, - hireDateTime: { type: 'date' }, - userSignTime: { type: 'date' }, - hireStatus: { type: 'enum', valueEnum: FlexTaskWorkerHireEnumText }, - userSignStatus: { type: 'enum', valueEnum: FlexWorkerEleSignEnumText }, - enterSignStatus: { type: 'enum', valueEnum: FlexWorkerEleSignEnumText }, + hireTime: { type: 'date' }, + enterpriseSignContractTime: { type: 'date' }, + hireStatus: { type: 'enum', valueEnum: EnumTaskUserHireStatusText }, + userSignContractStatus: { type: 'enum', valueEnum: EnumTaskUserSignContractStatusText }, + enterpriseSignContractStatus: { type: 'enum', valueEnum: EnumTaskUserSignContractStatusText }, + contractUrl: { type: 'url' }, }, } ); -- Gitblit v1.9.1