wupengfei
9 天以前 a82a01fb4c8e11e43d65a5c260a9dd79e4cbf69c
feat: 接口对接
1个文件已添加
9个文件已修改
448 ■■■■■ 已修改文件
.eslintrc-auto-import.json 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
auto-imports.d.ts 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/constants/apiEnum.ts 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/dictionary.ts 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/enterpriseEmployee.ts 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/index.ts 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/taskUser.ts 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/typings.d.ts 343 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/userResume.ts 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/TaskManage/TaskManageList.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.eslintrc-auto-import.json
@@ -52,6 +52,7 @@
    "EnumTaskStatus": true,
    "EnumTaskStatusText": true,
    "EnumTaskUserHireStatus": true,
    "EnumTaskUserSignContractStatus": true,
    "EnumUserGender": true,
    "EnumUserGenderText": true,
    "EnumUserInfoStatusText": true,
auto-imports.d.ts
@@ -61,6 +61,7 @@
  const EnumTaskStatus: typeof import('./src/constants/apiEnum')['EnumTaskStatus']
  const EnumTaskStatusText: typeof import('./src/constants/task')['EnumTaskStatusText']
  const EnumTaskUserHireStatus: typeof import('./src/constants/apiEnum')['EnumTaskUserHireStatus']
  const EnumTaskUserSignContractStatus: typeof import('./src/constants/apiEnum')['EnumTaskUserSignContractStatus']
  const EnumUserGender: typeof import('./src/constants/apiEnum')['EnumUserGender']
  const EnumUserGenderText: typeof import('./src/constants/task')['EnumUserGenderText']
  const EnumUserInfoStatus: typeof import('./src/constants/apiEnum')['EnumUserInfoStatus']
@@ -243,7 +244,7 @@
  export type { Component, Slot, Slots, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
  import('vue')
  // @ts-ignore
  export type { EnumBillingMethod, EnumClientType, EnumMenuType, EnumMenuVisitLevel, EnumPagedListOrder, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserHireStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumBillingMethod, EnumClientType, EnumMenuType, EnumMenuVisitLevel, EnumPagedListOrder, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserHireStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType } from './src/constants/apiEnum'
  export type { EnumBillingMethod, EnumClientType, EnumMenuType, EnumMenuVisitLevel, EnumPagedListOrder, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumBillingMethod, EnumClientType, EnumMenuType, EnumMenuVisitLevel, EnumPagedListOrder, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType } from './src/constants/apiEnum'
  import('./src/constants/apiEnum')
  // @ts-ignore
  export type { FlexWorkerEleSignEnum, FlexTaskWorkerHireEnum, FlexWorkerEleSignEnum, FlexTaskWorkerHireEnum } from './src/constants/cPerson'
@@ -333,6 +334,7 @@
    readonly EnumTaskStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskStatus']>
    readonly EnumTaskStatusText: UnwrapRef<typeof import('./src/constants/task')['EnumTaskStatusText']>
    readonly EnumTaskUserHireStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskUserHireStatus']>
    readonly EnumTaskUserSignContractStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskUserSignContractStatus']>
    readonly EnumUserGender: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumUserGender']>
    readonly EnumUserGenderText: UnwrapRef<typeof import('./src/constants/task')['EnumUserGenderText']>
    readonly EnumUserInfoStatusText: UnwrapRef<typeof import('./src/constants/user')['EnumUserInfoStatusText']>
src/constants/apiEnum.ts
@@ -107,6 +107,8 @@
  UserResume = 8,
  /**企业信息 */
  Enterprise = 9,
  /**灵工信息 */
  EnterpriseEmployee = 10,
}
/** 资源请求方式 */
@@ -203,6 +205,16 @@
  Refuse = 30,
}
/** 任务用户签约状态 */
export enum EnumTaskUserSignContractStatus {
  /**待签约 */
  Wait = 10,
  /**已签约 */
  Pass = 20,
  /**已拒签 */
  Refuse = 30,
}
/** 用户性别 */
export enum EnumUserGender {
  /**男 */
src/services/api/dictionary.ts
@@ -17,6 +17,21 @@
  });
}
/** 查询地区选择器 GET /api/flexjob/dictionary/getAreaSelect */
export async function getAreaSelect(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.APIgetAreaSelectParams,
  options?: API.RequestConfig
) {
  return request<API.GetAreaSelectQueryResultOption[]>('/api/flexjob/dictionary/getAreaSelect', {
    method: 'GET',
    params: {
      ...params,
    },
    ...(options || {}),
  });
}
/** 获取数据字典类别分页列表数据 POST /api/flexjob/dictionary/getDictionaryCategories */
export async function getDictionaryCategories(
  body: API.GetDictionaryCategoriesQuery,
src/services/api/enterpriseEmployee.ts
New file
@@ -0,0 +1,21 @@
/* eslint-disable */
// @ts-ignore
import { request } from '@/utils/request';
/** 查询灵工分页列表数据 POST /api/user/enterpriseEmployee/getEnterpriseEmployees */
export async function getEnterpriseEmployees(
  body: API.GetEnterpriseEmployeesQuery,
  options?: API.RequestConfig
) {
  return request<API.GetEnterpriseEmployeesQueryResult>(
    '/api/user/enterpriseEmployee/getEnterpriseEmployees',
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json-patch+json',
      },
      data: body,
      ...(options || {}),
    }
  );
}
src/services/api/index.ts
@@ -4,23 +4,25 @@
// API 唯一标识:
import * as userResume from './userResume';
import * as resource from './resource';
import * as enterpriseEmployee from './enterpriseEmployee';
import * as user from './user';
import * as dictionary from './dictionary';
import * as auth from './auth';
import * as taskUser from './taskUser';
import * as task from './task';
import * as enterprise from './enterprise';
import * as role from './role';
import * as taskUser from './taskUser';
import * as menu from './menu';
export default {
  userResume,
  resource,
  enterpriseEmployee,
  user,
  dictionary,
  auth,
  taskUser,
  task,
  enterprise,
  role,
  taskUser,
  menu,
};
src/services/api/taskUser.ts
@@ -25,3 +25,30 @@
    ...(options || {}),
  });
}
/** 查询应聘报名分页列表信息 POST /api/flexjob/taskUser/getTaskUsers */
export async function getTaskUsers(body: API.GetTaskUsersQuery, options?: API.RequestConfig) {
  return request<API.GetTaskUsersQueryResult>('/api/flexjob/taskUser/getTaskUsers', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json-patch+json',
    },
    data: body,
    ...(options || {}),
  });
}
/** 任务录用 PUT /api/flexjob/taskUser/setTaskUserHire */
export async function setTaskUserHire(
  body: API.SetTaskUserHireCommand,
  options?: API.RequestConfig
) {
  return request<string>('/api/flexjob/taskUser/setTaskUserHire', {
    method: 'PUT',
    headers: {
      'Content-Type': 'application/json-patch+json',
    },
    data: body,
    ...(options || {}),
  });
}
src/services/api/typings.d.ts
@@ -8,6 +8,11 @@
    request?: GetAliyunOSSAcsQuery;
  }
  interface APIgetAreaSelectParams {
    /** 最大深度 */
    maxDeep?: number;
  }
  interface APIgetCurrentLogierMenuParams {
    /** Id */
    id?: string;
@@ -36,6 +41,8 @@
    all?: boolean;
    /** 最大深度 */
    maxDeep?: number;
    /** 携带下级 */
    withChildren?: boolean;
  }
  interface APIgetEnterpriseElectronSignSettingParams {
@@ -151,6 +158,8 @@
  }
  interface BindWxmpUserInfoCommand {
    /** 访问令牌 */
    accessToken: string;
    /** 包括敏感数据在内的完整用户信息的加密数据 */
    encryptedData: string;
    /** 加密算法的初始向量 */
@@ -290,6 +299,8 @@
    UserResume = 8,
    /**企业信息 */
    Enterprise = 9,
    /**灵工信息 */
    EnterpriseEmployee = 10,
  }
  enum EnumResourceMethod {
@@ -376,6 +387,15 @@
    Refuse = 30,
  }
  enum EnumTaskUserSignContractStatus {
    /**待签约 */
    Wait = 10,
    /**已签约 */
    Pass = 20,
    /**已拒签 */
    Refuse = 30,
  }
  enum EnumUserGender {
    /**男 */
    Male = 10,
@@ -453,6 +473,24 @@
    /** 错误码 */
    errorCode?: string;
    data?: GetEnterpriseElectronSignSettingQueryResult;
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
    msg?: any;
    /** 附加数据 */
    extras?: any;
    /** 时间戳 */
    timestamp?: number;
  }
  interface FriendlyResultGetEnterpriseEmployeesQueryResult {
    /** 跟踪Id */
    traceId?: string;
    /** 状态码 */
    code?: number;
    /** 错误码 */
    errorCode?: string;
    data?: GetEnterpriseEmployeesQueryResult;
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
@@ -589,6 +627,24 @@
    timestamp?: number;
  }
  interface FriendlyResultGetTaskUsersQueryResult {
    /** 跟踪Id */
    traceId?: string;
    /** 状态码 */
    code?: number;
    /** 错误码 */
    errorCode?: string;
    data?: GetTaskUsersQueryResult;
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
    msg?: any;
    /** 附加数据 */
    extras?: any;
    /** 时间戳 */
    timestamp?: number;
  }
  interface FriendlyResultGetUserResumeCredentialQueryResult {
    /** 跟踪Id */
    traceId?: string;
@@ -679,6 +735,24 @@
    timestamp?: number;
  }
  interface FriendlyResultGetUserResumesQueryResult {
    /** 跟踪Id */
    traceId?: string;
    /** 状态码 */
    code?: number;
    /** 错误码 */
    errorCode?: string;
    data?: GetUserResumesQueryResult;
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
    msg?: any;
    /** 附加数据 */
    extras?: any;
    /** 时间戳 */
    timestamp?: number;
  }
  interface FriendlyResultGetUserResumeWorkExperienceQueryResult {
    /** 跟踪Id */
    traceId?: string;
@@ -725,6 +799,25 @@
    errorCode?: string;
    /** 数据 */
    data?: number;
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
    msg?: any;
    /** 附加数据 */
    extras?: any;
    /** 时间戳 */
    timestamp?: number;
  }
  interface FriendlyResultListGetAreaSelectQueryResultOption {
    /** 跟踪Id */
    traceId?: string;
    /** 状态码 */
    code?: number;
    /** 错误码 */
    errorCode?: string;
    /** 数据 */
    data?: GetAreaSelectQueryResultOption[];
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
@@ -1005,6 +1098,25 @@
    requestId?: string;
  }
  interface GetAreaSelectQueryResultOption {
    /** Id */
    areaCode?: string;
    /** 地区名称 */
    areaName?: string;
    /** 子级 */
    children?: GetAreaSelectQueryResultOption[];
    /** Id */
    id?: string;
    /** 上级编号 */
    parentCode?: string;
    /** 层级 */
    leyer?: number;
    /** 排序 */
    sort?: number;
    /** 快速查询 */
    quickQuery?: string;
  }
  type GetCurrentLogierMenusQuery = Record<string, any>;
  interface GetDictionaryCategoriesQuery {
@@ -1027,6 +1139,50 @@
  }
  type GetDictionaryCategorySelectQuery = Record<string, any>;
  interface GetDictionaryCategorySelectQueryOption {
    /** Id */
    id?: string;
    /** 编号 */
    code?: string;
    /** 名称 */
    name?: string;
    /** 字段名(逗号隔开) */
    fieldNames?: string;
    /** 备注 */
    remark?: string;
  }
  interface GetDictionaryDataSelectQueryResultOption {
    /** Id */
    id?: string;
    /** 上级Id */
    parentId?: string;
    /** 上级编号 */
    parentCode?: string;
    /** 子级 */
    children?: SelectOptionStringGetDictionaryDataSelectQueryResultOption[];
    /** 字典路径 */
    path?: string;
    /** 深度 */
    deep?: number;
    /** 排序 */
    sort?: number;
    /** 编号 */
    code?: string;
    /** 显示内容 */
    content: string;
    /** 字段1 */
    field1?: string;
    /** 字段2 */
    field2?: string;
    /** 字段3 */
    field3?: string;
    /** 字段4 */
    field4?: string;
    /** 字段5 */
    field5?: string;
  }
  interface GetDictionaryDatasQuery {
    /** 类别Id(Id/编号二选一) */
@@ -1081,6 +1237,58 @@
    signCost?: number;
    /** 一口价 */
    mergeSignCost?: number;
  }
  interface GetEnterpriseEmployeesQuery {
    /** 关键字(姓名/手机/身份证号) */
    keywords?: string;
    /** 登记时间-最早时间 */
    createdTimeStart?: string;
    /** 登记时间-最晚时间 */
    createdTimeEnd?: string;
    /** 签约时间-最早时间 */
    signContractTimeStart?: string;
    /** 签约时间-最晚时间 */
    signContractTimeEnd?: string;
    hireStatus?: EnumTaskUserHireStatus;
    /** 是否实名 */
    isReal?: boolean;
    userSignContractStatus?: EnumTaskUserSignContractStatus;
    enterpriseSignContractStatus?: EnumTaskUserSignContractStatus;
    pageModel?: PagedListQueryPageModel;
  }
  interface GetEnterpriseEmployeesQueryResult {
    pageModel?: PagedListQueryResultPageModel;
    /** 数据 */
    data?: GetEnterpriseEmployeesQueryResultItem[];
  }
  interface GetEnterpriseEmployeesQueryResultItem {
    /** 灵工Id */
    id?: string;
    /** 姓名 */
    name?: string;
    /** 身份证号 */
    identity?: string;
    gender?: EnumUserGender;
    /** 年龄 */
    age?: number;
    /** 手机号 */
    contactPhoneNumber?: string;
    hireStatus?: EnumTaskUserHireStatus;
    /** 实名状态 */
    userIsReal?: boolean;
    userSignContractStatus?: EnumTaskUserSignContractStatus;
    /** 录用时间 */
    hireTime?: string;
    /** 实名时间 */
    userRealTime?: string;
    /** 签约时间 */
    userSignContractTime?: string;
    enterpriseSignContractStatus?: EnumTaskUserSignContractStatus;
    /** 企业签约时间 */
    enterpriseSignContractTime?: string;
  }
  interface GetEnterpriseQueryResult {
@@ -1424,8 +1632,12 @@
    enterpriseId?: string;
    /** 企业全称 */
    enterpriseName?: string;
    /** 联系电话 */
    contactPhoneNumber?: string;
    /** 在招岗位数量 */
    taskCount?: number;
    /** 报名人数 */
    applyCount?: number;
    /** 任务名称 */
    name?: string;
    billingMethod?: EnumBillingMethod;
@@ -1467,6 +1679,7 @@
    isCollected?: boolean;
    status?: EnumTaskStatus;
    releaseStatus?: EnumTaskReleaseStatus;
    hireStatus?: EnumTaskUserHireStatus;
  }
  interface GetTaskInfoQueryResultBenefit {
@@ -1575,6 +1788,52 @@
    stoppedReleaseCount?: number;
  }
  interface GetTaskUsersQuery {
    /** 任务Id */
    id?: string;
    pageModel?: PagedListQueryPageModel;
  }
  interface GetTaskUsersQueryResult {
    pageModel?: PagedListQueryResultPageModel;
    /** 数据 */
    data?: GetTaskUsersQueryResultItem[];
  }
  interface GetTaskUsersQueryResultItem {
    /** 任务雇佣Id */
    id?: string;
    /** 头像 */
    avatar?: string;
    /** 姓名 */
    name?: string;
    /** 身份证号 */
    identity?: string;
    /** 手机号 */
    contactPhoneNumber?: string;
    gender?: EnumUserGender;
    /** 年龄 */
    age?: number;
    /** 是否实名 */
    isReal?: boolean;
    realMethod?: EnumUserRealMethod;
    /** 身份编号 */
    personalIdentityCode?: string;
    /** 身份 */
    personalIdentityContent?: string;
    /** 学历编号 */
    educationalBackgroundCode?: string;
    /** 学历 */
    educationalBackgroundContent?: string;
    /** 上岗次数 */
    taskCount?: number;
    /** 工作资历 */
    workSeniority?: string;
    /** 工作经验 */
    workExperience?: string;
    hireStatus?: EnumTaskUserHireStatus;
  }
  interface GetUserInfoRolesQueryResultItem {
    /** 角色Id */
    id?: string;
@@ -1658,8 +1917,6 @@
    name?: string;
    /** 手机号 */
    contactPhoneNumber?: string;
    /** 身份证号 */
    identity?: string;
    /** 身份编号 */
    personalIdentityCode?: string;
    /** 身份 */
@@ -1730,6 +1987,8 @@
    weight?: number;
    /** 生活照 */
    photos?: string[];
    /** 经历 */
    taskInfoUsers?: GetUserResumeQueryResultExperience[];
  }
  interface GetUserResumeQueryResultCredential {
@@ -1760,6 +2019,72 @@
    expectJobCode?: string;
    /** 期望岗位 */
    expectJobContent?: string;
  }
  interface GetUserResumeQueryResultExperience {
    /** 签约时间 */
    signContractTime?: string;
    /** 企业全称 */
    enterpriseName?: string;
    /** 任务名称 */
    name?: string;
  }
  interface GetUserResumesQuery {
    /** 任务Id */
    taskInfoId?: string;
    /** 期望岗位编号 */
    userExpectJobs?: string[];
    gender?: EnumUserGender;
    /** 身份编号 */
    personalIdentityCode?: string;
    /** 年龄范围最小 */
    ageMin?: number;
    /** 年龄范围大 */
    ageMax?: number;
    /** 资格证书编号 */
    userCredentials?: string[];
    pageModel?: PagedListQueryPageModel;
  }
  interface GetUserResumesQueryResult {
    pageModel?: PagedListQueryResultPageModel;
    /** 数据 */
    data?: GetUserResumesQueryResultItem[];
  }
  interface GetUserResumesQueryResultItem {
    /** 用户Id */
    id?: string;
    /** 头像 */
    avatar?: string;
    /** 姓名 */
    name?: string;
    /** 手机号 */
    contactPhoneNumber?: string;
    /** 身份证号 */
    identity?: string;
    /** 年龄 */
    age?: number;
    gender?: EnumUserGender;
    /** 是否实名 */
    isReal?: boolean;
    /** 实名时间 */
    realTime?: string;
    /** 身份编号 */
    personalIdentityCode?: string;
    /** 身份 */
    personalIdentityContent?: string;
    /** 学历编号 */
    educationalBackgroundCode?: string;
    /** 学历 */
    educationalBackgroundContent?: string;
    /** 上岗次数 */
    taskCount?: number;
    /** 工作资历 */
    workSeniority?: string;
    /** 工作经验 */
    workExperience?: string;
  }
  type GetUserResumeWorkExperienceQuery = Record<string, any>;
@@ -2161,8 +2486,6 @@
    name?: string;
    /** 手机号 */
    contactPhoneNumber?: string;
    /** 身份证号 */
    identity: string;
    /** 身份编号 */
    personalIdentityCode: string;
    /** 学历编号 */
@@ -2185,8 +2508,7 @@
    value?: string;
    /** 标签 */
    label?: string;
    /** 数据 */
    data?: any;
    data?: GetDictionaryCategorySelectQueryOption;
  }
  interface SelectOptionStringGetDictionaryDataSelectQueryResultOption {
@@ -2194,8 +2516,7 @@
    value?: string;
    /** 标签 */
    label?: string;
    /** 数据 */
    data?: any;
    data?: GetDictionaryDataSelectQueryResultOption;
  }
  interface SendLoginOrRegisterVerifyCodeCommand {
@@ -2264,6 +2585,12 @@
    releaseStatus?: EnumTaskReleaseStatus;
  }
  interface SetTaskUserHireCommand {
    /** 任务雇佣Id */
    id?: string;
    hireStatus?: EnumTaskUserHireStatus;
  }
  interface SetUserInfoRolesCommand {
    /** 用户Id */
    userInfoId?: string;
src/services/api/userResume.ts
@@ -127,6 +127,18 @@
  );
}
/** 查询灵工分页列表数据 POST /api/user/userResume/getUserResumes */
export async function getUserResumes(body: API.GetUserResumesQuery, options?: API.RequestConfig) {
  return request<API.GetUserResumesQueryResult>('/api/user/userResume/getUserResumes', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json-patch+json',
    },
    data: body,
    ...(options || {}),
  });
}
/** 查询用户简历-工作经验 GET /api/user/userResume/getUserResumeWorkExperience */
export async function getUserResumeWorkExperience(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
src/views/TaskManage/TaskManageList.vue
@@ -150,7 +150,12 @@
      settlementStatus: { type: 'enum', valueEnum: EnumTaskSettlementStatusText },
      beginTime: { type: 'date', format: 'YYYY-MM-DD' },
      endTime: { type: 'date', format: 'YYYY-MM-DD' },
      serviceFee: { type: 'money' },
      serviceFee: {
        type: 'money',
        formatter: (row) => {
          return `${row.serviceFee}${EnumBillingMethodUnitText[row.billingMethod]}`;
        },
      },
    },
  }
);