From 63f27012358691479719c70ee004ff2ad4f9e21b Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期一, 01 九月 2025 15:14:42 +0800 Subject: [PATCH] feat: 接口对接 --- src/views/CPersonManage/components/CPersonDetailDialog.vue | 108 +++++++++++++++++++++++++++++++++-------------------- 1 files changed, 67 insertions(+), 41 deletions(-) diff --git a/src/views/CPersonManage/components/CPersonDetailDialog.vue b/src/views/CPersonManage/components/CPersonDetailDialog.vue index 63b7079..cd5cb06 100644 --- a/src/views/CPersonManage/components/CPersonDetailDialog.vue +++ b/src/views/CPersonManage/components/CPersonDetailDialog.vue @@ -6,29 +6,43 @@ <ProFormItemV2 label="濮撳悕:" prop="name"> <ProFormText v-model.trim="form.name" /> </ProFormItemV2> - <ProFormItemV2 label="韬唤璇佸彿:" prop="idNumber"> - <ProFormText v-model.trim="form.idNumber" /> + <ProFormItemV2 label="韬唤璇佸彿:" prop="identity"> + <ProFormText v-model.trim="form.identity" /> </ProFormItemV2> - <ProFormItemV2 label="鎵嬫満鍙�:" prop="contactPhone"> - <ProFormText v-model.trim="form.contactPhone" /> + <ProFormItemV2 label="鎵嬫満鍙�:" prop="contactPhoneNumber"> + <ProFormText v-model.trim="form.contactPhoneNumber" /> </ProFormItemV2> - <ProFormItemV2 label="鎬у埆:" prop="age"> - <ProFormRadio v-model="form.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="form.age" unit="宀�"></ProFormInputNumber> </ProFormItemV2> - <ProFormItemV2 label="韬唤璇佹闈�:" prop="certificateFrontImgUrl"> - <ProFormImageUpload v-model:file-url="form.certificateFrontImgUrl" /> + <ProFormItemV2 label="韬唤璇佹闈�:" prop="identityImg"> + <ProFormImageUpload v-model:file-url="form.identityImg" /> </ProFormItemV2> - <ProFormItemV2 label="韬唤璇佸弽闈�:" prop="certificateBackImgUrl"> - <ProFormImageUpload v-model:file-url="form.certificateBackImgUrl" /> + <ProFormItemV2 label="韬唤璇佸弽闈�:" prop="identityBackImg"> + <ProFormImageUpload v-model:file-url="form.identityBackImg" /> </ProFormItemV2> </ProForm> </ProTabPane> <ProTabPane lazy label="绛剧害璇︽儏" name="sign"> <ProDialogTableWrapper :height="400"> <ProTableV2 v-bind="proTableProps" :columns="column" :show-operation-column="false"> + <template #contractUrl="{ row }"> + <PreviewBtn + v-if=" + row.userSignContractStatus === EnumTaskUserSignContractStatus.Pass && + row.contractUrl + " + :show-download-btn="false" + :url="setOSSLink(row.contractUrl)" + > + </PreviewBtn> + </template> </ProTableV2> </ProDialogTableWrapper> </ProTabPane> @@ -56,17 +70,19 @@ ProFormImageUpload, ProFormRadio, ProFormInputNumber, + defineColumns, + PreviewBtn, } 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 * as userServices from '@/services/api/user'; import { - FlexTaskWorkerHireEnumText, - FlexWorkerEleSignEnumText, - Gender, - GenderText, + EnumUserGender, + EnumUserGenderTextForPerson, + EnumTaskUserHireStatusText, + EnumTaskUserSignContractStatusText, + EnumTaskUserSignContractStatus, } from '@/constants'; +import { setOSSLink } from '@/utils'; defineOptions({ name: 'CPersonDetailDialog', @@ -74,27 +90,27 @@ type Form = { tabType: string; - userId: string; + id: string; name: string; - idNumber: string; - contactPhone: string; + identity: string; + contactPhoneNumber: string; age: number; - genderType: Gender; - certificateFrontImgUrl: UploadUserFile[]; - certificateBackImgUrl: UploadUserFile[]; + gender: EnumUserGender; + identityImg: UploadUserFile[]; + identityBackImg: UploadUserFile[]; }; const form = defineModel<Form>('form'); -const visible = defineModel<boolean>('visible'); +const visible = defineModel<boolean>('modelValue'); const emit = defineEmits<{ (e: 'onCancel'): void; }>(); -const column: API.CustomModuleColumnDto[] = [ +const column = defineColumns([ { id: '1', - enCode: 'enterpirseName', + enCode: 'enterpriseName', name: '鎵�灞炲鎴�', }, { @@ -109,22 +125,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: '浼佷笟绛剧害鏃堕棿', }, { @@ -132,14 +148,18 @@ enCode: 'contractUrl', name: '鐢靛瓙鍚堝悓', }, -]; +]); watch( - () => visible.value, + visible, (val) => { + console.log('val: ', val); if (val) { getList(); } + }, + { + immediate: true, } ); @@ -151,29 +171,35 @@ } = useTable( async ({ pageIndex, pageSize }, extraParamState) => { try { - let params: API.GetUserClientSignListInput = { + let params: API.GetPersonalUserInfoSignContractsQuery = { pageModel: { rows: pageSize, page: pageIndex, orderInput: extraParamState.orderInput, }, - userId: form.value.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', + // showDownloadBtn: false, + // formatter: (row: API.GetPersonalUserInfoSignContractsQueryResultItem) => + // setOSSLink(row.contractUrl), + // }, }, } ); -- Gitblit v1.9.1