zhengyiming
3 天以前 d64e4b3a63f88ca012a7c76dc622533c29d2f3ce
src/views/CPersonManage/CPersonManageList.vue
@@ -18,7 +18,7 @@
          </QueryFilterItem>
          <QueryFilterItem tip-content="最近录用时间">
            <FieldDatePicker
              v-model="extraParamState.createdTime"
              v-model="extraParamState.hireTime"
              type="daterange"
              range-separator="~"
              start-placeholder="开始时间"
@@ -40,7 +40,7 @@
          </QueryFilterItem>
          <QueryFilterItem>
            <SearchInput
              v-model="extraParamState.searchKeys"
              v-model="extraParamState.keywords"
              style="width: 300px"
              placeholder="姓名/手机/身份证号/客户"
              @on-click-search="getList"
@@ -73,11 +73,10 @@
  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',
@@ -123,28 +122,24 @@
} = 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;
@@ -154,67 +149,59 @@
  },
  {
    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) {
  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) {
  try {
    // return await flexEnterpriseWokerServices.getUserDetailForBack({ userId: userId });
  } catch (error) {}
}
</script>