From 4e1f449cb2ecc9aec9b4b4196a9ca5e8673735fe Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期四, 14 八月 2025 11:02:36 +0800 Subject: [PATCH] feat: 接口 --- src/views/EmploymentManage/EmploymentSignList.vue | 121 ++++++++++++++++++++++++---------------- 1 files changed, 72 insertions(+), 49 deletions(-) diff --git a/src/views/EmploymentManage/EmploymentSignList.vue b/src/views/EmploymentManage/EmploymentSignList.vue index 4cacc5d..043951e 100644 --- a/src/views/EmploymentManage/EmploymentSignList.vue +++ b/src/views/EmploymentManage/EmploymentSignList.vue @@ -5,11 +5,8 @@ <template #query> <QueryFilterItem tip-content="褰曠敤鐘舵��"> <FieldRadio - v-model="extraParamState.flexEnterpriseSettingStatus" - :value-enum="[ - { label: '宸插綍鐢�', value: 1 }, - { label: '寰呭綍鐢�', value: 0 }, - ]" + v-model="extraParamState.hireStatus" + :value-enum="EnumTaskUserHireStatusText" buttonStyle showAllBtn @change="getList()" @@ -53,10 +50,12 @@ UploadUserFile, } from '@bole-core/components'; import { EmploymentSignColumns } from './constants/columns'; -import { OrderInputType, Message } from '@bole-core/core'; -import { FlexEnterpriseSettingStatus, Gender } from '@/constants'; +import { Message } from '@bole-core/core'; +import { EnumUserGender, EnumTaskUserHireStatusText } from '@/constants'; import StaffInfoDialog from '@/views/FlexJobManage/components/StaffInfoDialog.vue'; import { convertApi2FormUrlOnlyOne } from '@/utils'; +import * as taskUserServices from '@/services/api/taskUser'; +import * as enterpriseEmployeeServices from '@/services/api/enterpriseEmployee'; defineOptions({ name: 'EmploymentSignList', @@ -78,10 +77,11 @@ name: '褰曠敤', }, emits: { - onClick: (role) => handleRecruit(role), + onClick: (role) => setTaskUserHire(role, EnumTaskUserHireStatus.Pass), }, extraProps: { - hide: (row) => false, + hide: (row: API.GetTaskUsersQueryResultItem) => + row.hireStatus === EnumTaskUserHireStatus.Pass, }, }, { @@ -90,10 +90,11 @@ name: '璋㈢粷', }, emits: { - onClick: (role) => handleRefuse(role), + onClick: (role) => setTaskUserHire(role, EnumTaskUserHireStatus.Refuse), }, extraProps: { - hide: (row) => false, + hide: (row: API.GetTaskUsersQueryResultItem) => + row.hireStatus !== EnumTaskUserHireStatus.Wait, }, }, ]); @@ -121,17 +122,18 @@ } = useTable( async ({ pageIndex, pageSize }, extraParamState) => { try { - let params: API.GetFlexEnterpriseInput = { + let params: API.GetTaskUsersQuery = { pageModel: { rows: pageSize, page: pageIndex, orderInput: extraParamState.orderInput, }, - flexEnterpriseSettingStatus: extraParamState.flexEnterpriseSettingStatus, - searchWord: extraParamState.searchWord, + id: id, + keywords: extraParamState.searchWord, + hireStatus: extraParamState.hireStatus, }; - let res = await flexEnterpriseServices.getFlexEnterpriseList(params, { + let res = await taskUserServices.getTaskUsers(params, { showLoading: !state.loading, }); return res; @@ -142,11 +144,14 @@ { defaultExtraParams: { searchWord: '', - orderInput: [{ property: 'id', order: OrderInputType.Desc }], - flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus, + orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], + hireStatus: '' as any as EnumTaskUserHireStatus, }, - queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'], - columnsRenderProps: {}, + queryKey: ['taskUserServices/getTaskUsers'], + columnsRenderProps: { + gender: { type: 'enum', valueEnum: EnumUserGenderTextForPerson }, + hireStatus: { type: 'enum', valueEnum: EnumTaskUserHireStatusText }, + }, } ); @@ -158,44 +163,62 @@ defaultFormParams: { id: '', name: '', - idNumber: '', - phoneNumber: '', - genderType: Gender.Male, - age: 0, - companyId: '', - customerId: '', + identity: '', + contactPhoneNumber: '', + gender: EnumUserGender.Male, + age: null as any as number, idFrontUrl: [] as UploadUserFile[], idBackUrl: [] as UploadUserFile[], contractUrl: [] as UploadUserFile[], regiterTime: '', - realVerifyTime: '', - signTime: '', + userRealTime: '', + userSignContractTime: '', isDetail: false, }, }); -function openDialog(row) { - handleStaffInfoEdit({ - id: row.id, - name: row.name, - idNumber: row.idNumber, - phoneNumber: row.phoneNumber, - genderType: Gender.Male, - age: row.age ?? 0, - companyId: row.companyId, - customerId: row.customerId, - idFrontUrl: convertApi2FormUrlOnlyOne(row.idFrontUrl), - idBackUrl: convertApi2FormUrlOnlyOne(row.idBackUrl), - contractUrl: convertApi2FormUrlOnlyOne(row.contractUrl, { - fileName: row.contractUrl ? row.contractUrl.split('/').pop() : '鍚堝悓', - }), - regiterTime: row.regiterTime, - realVerifyTime: row.realVerifyTime, - signTime: row.signTime, - isDetail: true, - }); +async function openDialog(row: API.GetTaskUsersQueryResultItem) { + try { + let detail = await enterpriseEmployeeServices.getEnterpriseEmployee({ + id: row.enterpriseEmployeeId, + }); + handleStaffInfoEdit({ + id: row.id, + name: row.name, + identity: row.identity, + contactPhoneNumber: row.contactPhoneNumber, + gender: detail.gender, + age: detail.age ?? null, + idFrontUrl: convertApi2FormUrlOnlyOne(detail.identityImg), + idBackUrl: convertApi2FormUrlOnlyOne(detail.identityBackImg), + contractUrl: convertApi2FormUrlOnlyOne(detail.contractUrl, { + fileName: detail.contractUrl ? detail.contractUrl.split('/').pop() : '鍚堝悓', + }), + regiterTime: detail.applyTime ?? '', + userRealTime: detail.userRealTime ?? '', + userSignContractTime: detail.userSignContractTime ?? '', + isDetail: true, + }); + } catch (error) {} } -function handleRecruit(row) {} -function handleRefuse(row) {} +async function setTaskUserHire( + row: API.GetTaskUsersQueryResultItem, + hireStatus: EnumTaskUserHireStatus +) { + try { + await Message.tipMessage( + `纭瑕�${hireStatus === EnumTaskUserHireStatus.Pass ? '褰曠敤' : '璋㈢粷'}鍚楋紵` + ); + let params: API.SetTaskUserHireCommand = { + id: row.id, + hireStatus: hireStatus, + }; + let res = await taskUserServices.setTaskUserHire(params); + if (res) { + Message.successMessage('鎿嶄綔鎴愬姛'); + getList(paginationState.pageIndex); + } + } catch (error) {} +} </script> -- Gitblit v1.9.1