zhengyiming
2 天以前 fd285d44f704d57751bbf2dc88f8818acccd0c6f
src/views/CPersonManage/CPersonManageList.vue
@@ -5,25 +5,20 @@
        <template #query>
          <QueryFilterItem tip-content="实名状态">
            <FieldRadio
              v-model="extraParamState.realVerifyStatus"
              v-model="extraParamState.isReal"
              :value-enum="[
                {
                  value: false,
                  label: '未实名',
                },
                {
                  value: true,
                  label: '已实名',
                },
                { label: '已实名', value: true },
                { label: '未实名', value: false },
              ]"
              buttonStyle
              showAllBtn
              :all-btn-value="null"
              @change="getList()"
            />
          </QueryFilterItem>
          <QueryFilterItem tip-content="最近录用时间">
            <FieldDatePicker
              v-model="extraParamState.nearlyHireDateTime"
              v-model="extraParamState.hireTime"
              type="daterange"
              range-separator="~"
              start-placeholder="开始时间"
@@ -34,7 +29,7 @@
          </QueryFilterItem>
          <QueryFilterItem tip-content="最近签约时间">
            <FieldDatePicker
              v-model="extraParamState.nearlySignDateTime"
              v-model="extraParamState.signContractTime"
              type="daterange"
              range-separator="~"
              start-placeholder="开始时间"
@@ -45,7 +40,7 @@
          </QueryFilterItem>
          <QueryFilterItem>
            <SearchInput
              v-model="extraParamState.searchKeys"
              v-model="extraParamState.keywords"
              style="width: 300px"
              placeholder="姓名/手机/身份证号/客户"
              @on-click-search="getList"
@@ -78,11 +73,10 @@
  UploadUserFile,
} from '@bole-core/components';
import { useAccess, useGlobalEventContext } from '@/hooks';
import { Gender } from '@/constants';
import CPersonDetailDialog from './components/CPersonDetailDialog.vue';
import { OrderInputType } from '@bole-core/core';
import { convertApi2FormUrlOnlyOne, format } from '@/utils';
import { ModelValueType } from 'element-plus';
import * as userServices from '@/services/api/user';
defineOptions({
  name: 'CPersonManageList',
@@ -128,33 +122,24 @@
} = useTable(
  async ({ pageIndex, pageSize }, extraParamState) => {
    try {
      let params: API.GetUserClientForBackInput = {
      let params: API.GetPersonalUserInfosQuery = {
        pageModel: {
          rows: pageSize,
          page: pageIndex,
          orderInput: extraParamState.orderInput,
        },
        searchKeys: extraParamState.searchKeys,
        nearlyHireDateTimeBegin: format(
          extraParamState.nearlyHireDateTime?.[0] ?? '',
        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'
        ),
        nearlyHireDateTimeEnd: format(
          extraParamState.nearlyHireDateTime?.[1] ?? '',
          'YYYY-MM-DD 23:59:59'
        ),
        nearlySignDateTimeBegin: format(
          extraParamState.nearlySignDateTime?.[0] ?? '',
          'YYYY-MM-DD 00:00:00'
        ),
        nearlySignDateTimeEnd: format(
          extraParamState.nearlySignDateTime?.[1] ?? '',
          'YYYY-MM-DD 23:59:59'
        ),
        realVerifyStatus: extraParamState.realVerifyStatus,
        signContractEnd: format(extraParamState.signContractTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
        isReal: extraParamState.isReal,
      };
      let res = await flexEnterpriseWokerServices.getUserClientList(params, {
      let res = await userServices.getPersonalUserInfos(params, {
        showLoading: !state.loading,
      });
      return res;
@@ -164,64 +149,59 @@
  },
  {
    defaultExtraParams: {
      searchKeys: '',
      realVerifyStatus: '' as any as boolean,
      nearlyHireDateTime: [] as unknown as ModelValueType,
      nearlySignDateTime: [] as unknown as ModelValueType,
      orderInput: [{ property: 'userId', order: OrderInputType.Desc }],
      keywords: '',
      orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
      hireTime: [] as unknown as ModelValueType,
      signContractTime: [] as unknown as ModelValueType,
      isReal: null as any as boolean,
    },
    queryKey: ['flexEnterpriseWokerServices/getUserClientList'],
    queryKey: ['userServices/getPersonalUserInfos'],
    columnsRenderProps: {
      realVerifyStatus: {
        type: 'enum',
        valueEnum: [
          { label: '已实名', value: true },
          { label: '未实名', value: false },
        ],
      gender: { type: 'enum', valueEnum: EnumUserGenderTextForPerson },
      isReal: {
        formatter: (row: API.GetPersonalUserInfosQueryResultItem) => {
          return row.isReal ? '已实名' : '未实名';
        },
      },
      realVerifyTime: { type: 'date' },
      hireTime: { 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.GetUserClientForBackOutput) {
  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>