| | |
| | | </QueryFilterItem> |
| | | <QueryFilterItem tip-content="最近录用时间"> |
| | | <FieldDatePicker |
| | | v-model="extraParamState.createdTime" |
| | | v-model="extraParamState.hireTime" |
| | | type="daterange" |
| | | range-separator="~" |
| | | start-placeholder="开始时间" |
| | |
| | | </QueryFilterItem> |
| | | <QueryFilterItem> |
| | | <SearchInput |
| | | v-model="extraParamState.searchKeys" |
| | | v-model="extraParamState.keywords" |
| | | style="width: 300px" |
| | | placeholder="姓名/手机/身份证号/客户" |
| | | @on-click-search="getList" |
| | |
| | | UploadUserFile, |
| | | } from '@bole-core/components'; |
| | | import { useAccess, useGlobalEventContext } from '@/hooks'; |
| | | import { Gender } from '@/constants'; |
| | | import CPersonDetailDialog from './components/CPersonDetailDialog.vue'; |
| | | import { convertApi2FormUrlOnlyOne, format } from '@/utils'; |
| | | import { ModelValueType } from 'element-plus'; |
| | | import * as enterpriseEmployeeServices from '@/services/api/enterpriseEmployee'; |
| | | import * as userServices from '@/services/api/user'; |
| | | |
| | | defineOptions({ |
| | | name: 'CPersonManageList', |
| | |
| | | } = useTable( |
| | | async ({ pageIndex, pageSize }, extraParamState) => { |
| | | try { |
| | | let params: API.GetEnterpriseEmployeesQuery = { |
| | | let params: API.GetPersonalUserInfosQuery = { |
| | | pageModel: { |
| | | rows: pageSize, |
| | | page: pageIndex, |
| | | orderInput: extraParamState.orderInput, |
| | | }, |
| | | keywords: extraParamState.searchKeys, |
| | | //TODO 应该是录用时间 还没有 |
| | | createdTimeStart: format(extraParamState.createdTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), |
| | | createdTimeEnd: format(extraParamState.createdTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), |
| | | signContractTimeStart: format( |
| | | keywords: extraParamState.keywords, |
| | | hireTimeBegin: format(extraParamState.hireTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), |
| | | hireTimeEnd: format(extraParamState.hireTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), |
| | | signContractBegin: format( |
| | | extraParamState.signContractTime?.[0] ?? '', |
| | | 'YYYY-MM-DD 00:00:00' |
| | | ), |
| | | signContractTimeEnd: format( |
| | | extraParamState.signContractTime?.[1] ?? '', |
| | | 'YYYY-MM-DD 23:59:59' |
| | | ), |
| | | signContractEnd: format(extraParamState.signContractTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), |
| | | isReal: extraParamState.isReal, |
| | | }; |
| | | |
| | | let res = await enterpriseEmployeeServices.getEnterpriseEmployees(params, { |
| | | let res = await userServices.getPersonalUserInfos(params, { |
| | | showLoading: !state.loading, |
| | | }); |
| | | return res; |
| | |
| | | }, |
| | | { |
| | | defaultExtraParams: { |
| | | searchKeys: '', |
| | | keywords: '', |
| | | orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], |
| | | createdTime: [] as unknown as ModelValueType, |
| | | hireTime: [] as unknown as ModelValueType, |
| | | signContractTime: [] as unknown as ModelValueType, |
| | | isReal: null as any as boolean, |
| | | }, |
| | | queryKey: ['enterpriseEmployeeServices/getEnterpriseEmployees'], |
| | | queryKey: ['userServices/getPersonalUserInfos'], |
| | | columnsRenderProps: { |
| | | gender: { type: 'enum', valueEnum: EnumUserGenderTextForPerson }, |
| | | hireStatus: { type: 'enum', valueEnum: EnumTaskUserHireStatusText }, |
| | | userIsReal: { |
| | | formatter: (row: API.GetEnterpriseEmployeesQueryResultItem) => { |
| | | return row.userIsReal ? '已实名' : '未实名'; |
| | | isReal: { |
| | | formatter: (row: API.GetPersonalUserInfosQueryResultItem) => { |
| | | return row.isReal ? '已实名' : '未实名'; |
| | | }, |
| | | }, |
| | | userSignContractStatus: { type: 'enum', valueEnum: EnumTaskUserSignContractStatusText }, |
| | | hireTime: { type: 'date' }, |
| | | userRealTime: { type: 'date' }, |
| | | userSignContractTime: { type: 'date' }, |
| | | realTime: { type: 'date' }, |
| | | signContractTime: { type: 'date' }, |
| | | enterprises: { |
| | | formatter: (row: API.GetPersonalUserInfosQueryResultItem) => { |
| | | return row.enterprises ? row.enterprises.map((x) => x).join(',') : ''; |
| | | }, |
| | | }, |
| | | }, |
| | | } |
| | | ); |
| | | |
| | | async function openDialog(row?: API.GetEnterpriseEmployeesQueryResultItem) { |
| | | const res = await getUserDetailForBack('98ac4c01-3598-ebf3-fa7d-3a189bb6b587'); |
| | | async function openDialog(row?: API.GetPersonalUserInfosQueryResultItem) { |
| | | const res = await getPersonalUserInfoSignContracts(row?.id ?? ''); |
| | | handleEdit({ |
| | | userId: row.userId ?? '98ac4c01-3598-ebf3-fa7d-3a189bb6b587', |
| | | name: res.name, |
| | | idNumber: res.idNumber, |
| | | contactPhone: res.contactPhone, |
| | | age: res.age, |
| | | certificateFrontImgUrl: res.certificateFrontImgUrl |
| | | ? convertApi2FormUrlOnlyOne(res.certificateFrontImgUrl) |
| | | : [], |
| | | certificateBackImgUrl: res.certificateBackImgUrl |
| | | ? convertApi2FormUrlOnlyOne(res.certificateBackImgUrl) |
| | | : [], |
| | | id: row.id ?? '', |
| | | name: row.name ?? '', |
| | | identity: row.identity ?? '', |
| | | contactPhoneNumber: row.contactPhoneNumber, |
| | | age: row.age ?? ('' as any as number), |
| | | identityImg: row.identityImg ? convertApi2FormUrlOnlyOne(row.identityImg) : [], |
| | | identityBackImg: row.identityBackImg ? convertApi2FormUrlOnlyOne(row.identityBackImg) : [], |
| | | |
| | | genderType: Gender.Female, |
| | | gender: row.gender, |
| | | tabType: 'user', |
| | | }); |
| | | } |
| | | |
| | | const { dialogProps, handleEdit } = useFormDialog({ |
| | | defaultFormParams: { |
| | | userId: '', |
| | | id: '', |
| | | name: '', |
| | | idNumber: '', |
| | | contactPhone: '', |
| | | identity: '', |
| | | contactPhoneNumber: '', |
| | | age: 0, |
| | | genderType: '' as any as Gender, |
| | | certificateFrontImgUrl: [] as UploadUserFile[], |
| | | certificateBackImgUrl: [] as UploadUserFile[], |
| | | gender: '' as any as EnumUserGender, |
| | | identityImg: [] as UploadUserFile[], |
| | | identityBackImg: [] as UploadUserFile[], |
| | | |
| | | tabType: '', |
| | | }, |
| | | }); |
| | | |
| | | async function getUserDetailForBack(userId: string) { |
| | | async function getPersonalUserInfoSignContracts(id: string) { |
| | | try { |
| | | // return await flexEnterpriseWokerServices.getUserDetailForBack({ userId: userId }); |
| | | return await userServices.getPersonalUserInfoSignContracts({ id: id }); |
| | | } catch (error) {} |
| | | } |
| | | </script> |