import { format, hiddenIDNumberForEnd4 } from '@/utils';
|
import { useTable } from '@bole-core/components';
|
import * as enterpriseEmployeeServices from '@/services/api/enterpriseEmployee';
|
import { ModelValueType } from 'element-plus';
|
|
export function getEnterpriseEmployeesHooks() {
|
const {
|
getDataSource: getList,
|
proTableProps,
|
paginationState,
|
extraParamState,
|
reset,
|
} = useTable(
|
async ({ pageIndex, pageSize }, extraParamState) => {
|
try {
|
let params: API.GetEnterpriseEmployeesQuery = {
|
pageModel: {
|
rows: pageSize,
|
page: pageIndex,
|
orderInput: extraParamState.orderInput,
|
},
|
keywords: extraParamState.searchWord,
|
createdTimeStart: format(extraParamState.createdTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
|
createdTimeEnd: format(extraParamState.createdTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
|
userRealTimeStart: format(extraParamState.userRealTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
|
userRealTimeEnd: format(extraParamState.userRealTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
|
signContractTimeStart: format(
|
extraParamState.signContractTime?.[0] ?? '',
|
'YYYY-MM-DD 00:00:00'
|
),
|
signContractTimeEnd: format(
|
extraParamState.signContractTime?.[1] ?? '',
|
'YYYY-MM-DD 23:59:59'
|
),
|
userSignContractTimeStart: format(
|
extraParamState.userSignContractTime?.[0] ?? '',
|
'YYYY-MM-DD 00:00:00'
|
),
|
userSignContractTimeEnd: format(
|
extraParamState.userSignContractTime?.[1] ?? '',
|
'YYYY-MM-DD 23:59:59'
|
),
|
hireStatus: extraParamState.hireStatus,
|
isReal: extraParamState.isReal,
|
userSignContractStatus: extraParamState.userSignContractStatus,
|
enterpriseSignContractStatus: extraParamState.enterpriseSignContractStatus,
|
|
source: extraParamState.source,
|
};
|
|
let res = await enterpriseEmployeeServices.getEnterpriseEmployees(params);
|
return res;
|
} catch (error) {
|
console.log('error: ', error);
|
}
|
},
|
{
|
defaultExtraParams: {
|
searchWord: '',
|
orderInput: [{ property: 'createdTime', order: EnumPagedListOrder.Desc }],
|
createdTime: [] as unknown as ModelValueType,
|
signContractTime: [] as unknown as ModelValueType,
|
userSignContractTime: [] as unknown as ModelValueType,
|
userRealTime: [] as unknown as ModelValueType,
|
hireStatus: '' as any as EnumTaskUserHireStatus,
|
isReal: null as any as boolean,
|
userSignContractStatus: '' as any as EnumTaskUserSignContractStatus,
|
enterpriseSignContractStatus: '' as any as EnumTaskUserSignContractStatus,
|
source: '' as any as EnumEnterpriseEmployeeSource,
|
},
|
queryKey: ['enterpriseEmployeeServices/getEnterpriseEmployees'],
|
columnsRenderProps: {
|
gender: { type: 'enum', valueEnum: EnumUserGenderTextForPerson },
|
hireStatus: { type: 'enum', valueEnum: EnumTaskUserHireStatusText },
|
userIsReal: {
|
formatter: (row: API.GetEnterpriseEmployeesQueryResultItem) => {
|
return row.userIsReal ? '已实名' : '未实名';
|
},
|
},
|
userSignContractStatus: { type: 'enum', valueEnum: EnumTaskUserSignContractStatusText },
|
hireTime: { type: 'date' },
|
userRealTime: { type: 'date' },
|
userSignContractTime: { type: 'date' },
|
enterpriseSignContractStatus: {
|
type: 'enum',
|
valueEnum: EnumTaskUserSignContractStatusText,
|
},
|
enterpriseSignContractTime: { type: 'date' },
|
contractBegin: { type: 'date' },
|
contractEnd: { type: 'date' },
|
source: { type: 'enum', valueEnum: EnumEnterpriseEmployeeSourceText },
|
identity: {
|
formatter: (row: API.GetPersonalUserInfosQueryResultItem) => {
|
return hiddenIDNumberForEnd4(row.identity);
|
},
|
},
|
},
|
}
|
);
|
|
return {
|
getList,
|
proTableProps,
|
paginationState,
|
extraParamState,
|
reset,
|
};
|
}
|