wupengfei
7 天以前 e5c36e9cccb9aae08b58eaed3f7b906279a2d6b5
feat: 接口对接
11个文件已修改
547 ■■■■ 已修改文件
.eslintrc-auto-import.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
auto-imports.d.ts 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/constants/apiEnum.ts 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/constants/task.ts 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/task.ts 78 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/typings.d.ts 239 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CPersonManage/CPersonManageList.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CPersonManage/components/CPersonDetailDialog.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CPersonManage/components/StaffDetailInfoView.vue 85 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/CPersonManage/components/StaffResumeView.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/TaskManage/components/TaskDetailView.vue 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.eslintrc-auto-import.json
@@ -50,6 +50,7 @@
    "EnumEnterpriseWalletSignStatus": true,
    "EnumEnterpriseWalletSignStatusText": true,
    "EnumEnterpriseWalletTransactionType": true,
    "EnumGetEnterpriseEmployeesQuerySignContractStatus": true,
    "EnumMenuType": true,
    "EnumMenuVisitLevel": true,
    "EnumOcrAccess": true,
@@ -69,6 +70,9 @@
    "EnumRoleWebApiDataPowerText": true,
    "EnumRoleWebApiDataPowerTextForFilter": true,
    "EnumSettlementCycle": true,
    "EnumSettlementCycleDateMonthArray": true,
    "EnumSettlementCycleDateText": true,
    "EnumSettlementCycleDateWeekArray": true,
    "EnumSettlementCycleText": true,
    "EnumSmsAccess": true,
    "EnumSmsAccessText": true,
auto-imports.d.ts
@@ -53,6 +53,7 @@
  const EnumEnterpriseWalletSignStatusText: typeof import('./src/constants/enterprise')['EnumEnterpriseWalletSignStatusText']
  const EnumEnterpriseWalletTransactionStatus: typeof import('./src/constants/apiEnum')['EnumEnterpriseWalletTransactionStatus']
  const EnumEnterpriseWalletTransactionType: typeof import('./src/constants/apiEnum')['EnumEnterpriseWalletTransactionType']
  const EnumGetEnterpriseEmployeesQuerySignContractStatus: typeof import('./src/constants/apiEnum')['EnumGetEnterpriseEmployeesQuerySignContractStatus']
  const EnumMenuType: typeof import('./src/constants/apiEnum')['EnumMenuType']
  const EnumMenuVisitLevel: typeof import('./src/constants/apiEnum')['EnumMenuVisitLevel']
  const EnumOcrAccess: typeof import('./src/constants/apiEnum')['EnumOcrAccess']
@@ -72,6 +73,10 @@
  const EnumRoleWebApiDataPowerText: typeof import('./src/constants/apiEnumText')['EnumRoleWebApiDataPowerText']
  const EnumRoleWebApiDataPowerTextForFilter: typeof import('./src/constants/apiEnumText')['EnumRoleWebApiDataPowerTextForFilter']
  const EnumSettlementCycle: typeof import('./src/constants/apiEnum')['EnumSettlementCycle']
  const EnumSettlementCycleDateMonthArray: typeof import('./src/constants/task')['EnumSettlementCycleDateMonthArray']
  const EnumSettlementCycleDateText: typeof import('./src/constants/task')['EnumSettlementCycleDateText']
  const EnumSettlementCycleDateUnitText: typeof import('./src/constants/task')['EnumSettlementCycleDateUnitText']
  const EnumSettlementCycleDateWeekArray: typeof import('./src/constants/task')['EnumSettlementCycleDateWeekArray']
  const EnumSettlementCycleText: typeof import('./src/constants/task')['EnumSettlementCycleText']
  const EnumSmsAccess: typeof import('./src/constants/apiEnum')['EnumSmsAccess']
  const EnumSmsAccessText: typeof import('./src/constants/enterprise')['EnumSmsAccessText']
@@ -259,7 +264,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, EnumCodeUrlScene, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, EnumBillingMethod, EnumClientType, EnumCodeUrlScene, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton } from './src/constants/apiEnum'
  export type { EnumBillingMethod, EnumClientType, EnumCodeUrlScene, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumGetEnterpriseEmployeesQuerySignContractStatus, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, EnumBillingMethod, EnumClientType, EnumCodeUrlScene, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionType, EnumGetEnterpriseEmployeesQuerySignContractStatus, EnumMenuType, EnumMenuVisitLevel, EnumOcrAccess, EnumPagedListOrder, EnumPayAccess, EnumPersonalFreeTime, EnumPersonalJobSeekingStatus, EnumPersonalRealMethod, EnumPersonalUserRealStatus, EnumRealAccess, EnumResourceController, EnumResourceMethod, EnumRoleWebApiDataPower, EnumSettlementCycle, EnumSmsAccess, EnumTaskCheckReceiveStatus, EnumTaskRecommendStatus, EnumTaskReleaseStatus, EnumTaskSettlementOrderStatus, EnumTaskSettlementStatus, EnumTaskStatus, EnumTaskUserArrangeStatus, EnumTaskUserHireStatus, EnumTaskUserSignContractStatus, EnumTaskUserSubmitCheckReceiveStatus, EnumUserGender, EnumUserRealMethod, EnumUserStatus, EnumUserType, EnumUserWalletTransactionType, EnumWalletTransactionStatus, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton } from './src/constants/apiEnum'
  import('./src/constants/apiEnum')
  // @ts-ignore
  export type { FlexWorkerEleSignEnum, FlexTaskWorkerHireEnum, FlexWorkerEleSignEnum, FlexTaskWorkerHireEnum } from './src/constants/cPerson'
@@ -350,6 +355,7 @@
    readonly EnumEnterpriseWalletSignStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumEnterpriseWalletSignStatus']>
    readonly EnumEnterpriseWalletSignStatusText: UnwrapRef<typeof import('./src/constants/enterprise')['EnumEnterpriseWalletSignStatusText']>
    readonly EnumEnterpriseWalletTransactionType: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumEnterpriseWalletTransactionType']>
    readonly EnumGetEnterpriseEmployeesQuerySignContractStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumGetEnterpriseEmployeesQuerySignContractStatus']>
    readonly EnumMenuType: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumMenuType']>
    readonly EnumMenuVisitLevel: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumMenuVisitLevel']>
    readonly EnumOcrAccess: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumOcrAccess']>
@@ -369,6 +375,9 @@
    readonly EnumRoleWebApiDataPowerText: UnwrapRef<typeof import('./src/constants/apiEnumText')['EnumRoleWebApiDataPowerText']>
    readonly EnumRoleWebApiDataPowerTextForFilter: UnwrapRef<typeof import('./src/constants/apiEnumText')['EnumRoleWebApiDataPowerTextForFilter']>
    readonly EnumSettlementCycle: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumSettlementCycle']>
    readonly EnumSettlementCycleDateMonthArray: UnwrapRef<typeof import('./src/constants/task')['EnumSettlementCycleDateMonthArray']>
    readonly EnumSettlementCycleDateText: UnwrapRef<typeof import('./src/constants/task')['EnumSettlementCycleDateText']>
    readonly EnumSettlementCycleDateWeekArray: UnwrapRef<typeof import('./src/constants/task')['EnumSettlementCycleDateWeekArray']>
    readonly EnumSettlementCycleText: UnwrapRef<typeof import('./src/constants/task')['EnumSettlementCycleText']>
    readonly EnumSmsAccess: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumSmsAccess']>
    readonly EnumSmsAccessText: UnwrapRef<typeof import('./src/constants/enterprise')['EnumSmsAccessText']>
src/constants/apiEnum.ts
@@ -175,6 +175,16 @@
  Transfer = 20,
}
/** 没写注释 */
export enum EnumGetEnterpriseEmployeesQuerySignContractStatus {
  /**灵工待签约 */
  UserWait = 10,
  /**企业待签约 */
  EnterpriseWait = 20,
  /**已签约 */
  Pass = 30,
}
/** 菜单类型 */
export enum EnumMenuType {
  /**菜单 */
src/constants/task.ts
@@ -9,6 +9,55 @@
  [EnumSettlementCycle.Day]: '日结',
};
export const EnumSettlementCycleDateText = {
  [EnumSettlementCycle.Month]: '每月',
  [EnumSettlementCycle.Week]: '每周',
};
export const EnumSettlementCycleDateWeekArray = [
  { label: '星期一', value: 1 },
  { label: '星期二', value: 2 },
  { label: '星期三', value: 3 },
  { label: '星期四', value: 4 },
  { label: '星期五', value: 5 },
  { label: '星期六', value: 6 },
  { label: '星期日', value: 7 },
];
export const EnumSettlementCycleDateMonthArray = [
  { label: '1日', value: 1 },
  { label: '2日', value: 2 },
  { label: '3日', value: 3 },
  { label: '4日', value: 4 },
  { label: '5日', value: 5 },
  { label: '6日', value: 6 },
  { label: '7日', value: 7 },
  { label: '8日', value: 8 },
  { label: '9日', value: 9 },
  { label: '10日', value: 10 },
  { label: '11日', value: 11 },
  { label: '12日', value: 12 },
  { label: '13日', value: 13 },
  { label: '14日', value: 14 },
  { label: '15日', value: 15 },
  { label: '16日', value: 16 },
  { label: '17日', value: 17 },
  { label: '18日', value: 18 },
  { label: '19日', value: 19 },
  { label: '20日', value: 20 },
  { label: '21日', value: 21 },
  { label: '22日', value: 22 },
  { label: '23日', value: 23 },
  { label: '24日', value: 24 },
  { label: '25日', value: 25 },
  { label: '26日', value: 26 },
  { label: '27日', value: 27 },
  { label: '28日', value: 28 },
  { label: '29日', value: 29 },
  { label: '30日', value: 30 },
  { label: '31日', value: 31 },
];
export const EnumTaskReleaseStatusText = {
  [EnumTaskReleaseStatus.InProcess]: '发布中',
  [EnumTaskReleaseStatus.Stopped]: '已停止',
src/services/api/task.ts
@@ -14,6 +14,36 @@
  });
}
/** 编辑结算名单 POST /api/flexjob/task/editTaskSettlementOrderRoster */
export async function editTaskSettlementOrderRoster(
  body: API.EditTaskSettlementOrderRosterCommand,
  options?: API.RequestConfig
) {
  return request<string>('/api/flexjob/task/editTaskSettlementOrderRoster', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json-patch+json',
    },
    data: body,
    ...(options || {}),
  });
}
/** 导出结算名单 POST /api/flexjob/task/exportTaskSettlementOrderRosters */
export async function exportTaskSettlementOrderRosters(
  body: API.ExportTaskSettlementOrderRostersCommand,
  options?: API.RequestConfig
) {
  return request<string>('/api/flexjob/task/exportTaskSettlementOrderRosters', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json-patch+json',
    },
    data: body,
    ...(options || {}),
  });
}
/** 查询开放任务分页列表 POST /api/flexjob/task/getOpenTaskInfos */
export async function getOpenTaskInfos(
  body: API.GetOpenTaskInfosQuery,
@@ -173,6 +203,39 @@
  );
}
/** 查询任务结算日 GET /api/flexjob/task/getTaskSettlementDates */
export async function getTaskSettlementDates(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.APIgetTaskSettlementDatesParams,
  options?: API.RequestConfig
) {
  return request<string[]>('/api/flexjob/task/getTaskSettlementDates', {
    method: 'GET',
    params: {
      ...params,
    },
    ...(options || {}),
  });
}
/** 导入结算名单 POST /api/flexjob/task/importTaskSettlementOrderRosters */
export async function importTaskSettlementOrderRosters(
  body: API.ImportTaskSettlementOrderRostersCommand,
  options?: API.RequestConfig
) {
  return request<API.ImportTaskSettlementOrderRostersCommandResult>(
    '/api/flexjob/task/importTaskSettlementOrderRosters',
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json-patch+json',
      },
      data: body,
      ...(options || {}),
    }
  );
}
/** 撤回结算 POST /api/flexjob/task/revokeTaskSettlementOrder */
export async function revokeTaskSettlementOrder(
  body: API.RevokeTaskSettlementOrderCommand,
@@ -236,21 +299,6 @@
  options?: API.RequestConfig
) {
  return request<string>('/api/flexjob/task/sureTaskSettlement', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json-patch+json',
    },
    data: body,
    ...(options || {}),
  });
}
/** 确认结算单 POST /api/flexjob/task/sureTaskSettlementOrder */
export async function sureTaskSettlementOrder(
  body: API.SureTaskSettlementOrderCommand,
  options?: API.RequestConfig
) {
  return request<string>('/api/flexjob/task/sureTaskSettlementOrder', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json-patch+json',
src/services/api/typings.d.ts
@@ -207,10 +207,8 @@
  }
  interface APIgetSettlementTaskUsersParams {
    /** 任务Id */
    taskInfoId?: string;
    /** 结算单地址 */
    settlementOrderUrl?: string;
    /** 结算订单Id */
    id?: string;
  }
  interface APIgetTaskEnterpriseParams {
@@ -226,6 +224,17 @@
  interface APIgetTaskSelectParams {
    /** 关键字 */
    keywords?: string;
  }
  interface APIgetTaskSettlementDatesParams {
    /** 任务开始时间 */
    beginTime?: string;
    /** 任务结束时间 */
    endTime?: string;
    /** 结算方式 */
    settlementCycle?: EnumSettlementCycle;
    /** 结算日期 */
    settlementDate?: number;
  }
  interface APIgetTaskUserHireStatusParams {
@@ -429,6 +438,21 @@
    identityBackImg?: string;
    /** Id */
    id?: string;
  }
  interface EditTaskSettlementOrderRosterCommand {
    /** 名单Id */
    id?: string;
    /** 结算金额 */
    settlementAmount: number;
    /** 实发金额 */
    actualSettlementAmount: number;
    /** 收款账户 */
    receiveAccount: string;
    /** 所属银行 */
    bank: string;
    /** 开户支行名称 */
    bankBranch?: string;
  }
  interface ElectronSignCallbackCommand {
@@ -653,6 +677,15 @@
    Recharge = 10,
    /**转账 */
    Transfer = 20,
  }
  enum EnumGetEnterpriseEmployeesQuerySignContractStatus {
    /**灵工待签约 */
    UserWait = 10,
    /**企业待签约 */
    EnterpriseWait = 20,
    /**已签约 */
    Pass = 30,
  }
  enum EnumMenuType {
@@ -970,6 +1003,11 @@
  interface ExportTaskCheckReceiveTaskUsersCommand {
    /** 任务Id */
    id?: string;
  }
  interface ExportTaskSettlementOrderRostersCommand {
    /** 结算订单Id */
    id?: string;
  }
@@ -2055,6 +2093,24 @@
    timestamp?: number;
  }
  interface FriendlyResultImportTaskSettlementOrderRostersCommandResult {
    /** 跟踪Id */
    traceId?: string;
    /** 状态码 */
    code?: number;
    /** 错误码 */
    errorCode?: string;
    data?: ImportTaskSettlementOrderRostersCommandResult;
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
    msg?: any;
    /** 附加数据 */
    extras?: any;
    /** 时间戳 */
    timestamp?: number;
  }
  interface FriendlyResultInt32 {
    /** 跟踪Id */
    traceId?: string;
@@ -2064,6 +2120,25 @@
    errorCode?: string;
    /** 数据 */
    data?: number;
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
    msg?: any;
    /** 附加数据 */
    extras?: any;
    /** 时间戳 */
    timestamp?: number;
  }
  interface FriendlyResultListDateTime {
    /** 跟踪Id */
    traceId?: string;
    /** 状态码 */
    code?: number;
    /** 错误码 */
    errorCode?: string;
    /** 数据 */
    data?: string[];
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
@@ -3139,6 +3214,7 @@
    isReal?: boolean;
    userSignContractStatus?: EnumTaskUserSignContractStatus;
    enterpriseSignContractStatus?: EnumTaskUserSignContractStatus;
    signContractStatus?: EnumGetEnterpriseEmployeesQuerySignContractStatus;
    pageModel?: PagedListQueryPageModel;
  }
@@ -4226,6 +4302,10 @@
    keywords?: string;
    settlementOrderStatus?: EnumTaskSettlementOrderStatus;
    settlementStatus?: EnumTaskSettlementStatus;
    /** 结算时间-起始 */
    settlementTimeBegin?: string;
    /** 结算时间-截止 */
    settlementTimeEnd?: string;
    pageModel?: PagedListQueryPageModel;
  }
@@ -4237,6 +4317,40 @@
  interface GetSettlementTasksQueryResultItem {
    /** 任务Id */
    id?: string;
    /** 所属任务 */
    name?: string;
    /** 任务单号 */
    code?: string;
    checkReceiveStatus?: EnumTaskCheckReceiveStatus;
    settlementOrderStatus?: EnumTaskSettlementOrderStatus;
    /** 结算单名称 */
    settlementOrderName?: string;
    /** 上传时间 */
    settlementOrderTime?: string;
    /** 实发金额 */
    actualSettlementAmount?: number;
    /** 结算金额 */
    settlementAmount?: number;
    settlementStatus?: EnumTaskSettlementStatus;
    /** 创建时间 */
    createdTime?: string;
    /** 结算时间 */
    settlementTime?: string;
    /** 备注 */
    settlementRemark?: string;
    /** 结算人数 */
    settlementUserCount?: number;
  }
  interface GetSettlementTaskUsersQueryResult {
    detail?: GetSettlementTaskUsersQueryResultDetail;
    /** 结算名单 */
    data?: GetSettlementTaskUsersQueryResultItem[];
  }
  interface GetSettlementTaskUsersQueryResultDetail {
    /** 结算订单Id */
    id?: string;
    /** 任务名称 */
    name?: string;
@@ -4256,41 +4370,10 @@
    settlementTime?: string;
    /** 备注 */
    settlementRemark?: string;
    /** 结算人数 */
    settlementUserCount?: number;
  }
  interface GetSettlementTaskUsersQueryResult {
    detail?: GetSettlementTaskQueryResult;
    /** 结算名单 */
    data?: GetSettlementTaskUsersQueryResultItem[];
    /** 错误信息 */
    errors?: GetSettlementTaskUsersQueryResultError[];
  }
  interface GetSettlementTaskUsersQueryResultError {
    /** 错误信息 */
    errorMessage?: string;
    /** 姓名 */
    name?: string;
    /** 身份证号 */
    identity?: string;
    /** 结算金额 */
    settlementAmount?: number;
    /** 实发金额 */
    actualSettlementAmount?: number;
    /** 收款账户 */
    receiveAccount?: string;
    /** 所属银行 */
    bank?: string;
    /** 开户支行名称 */
    bankBranch?: string;
    /** 任务名称 */
    taskName?: string;
  }
  interface GetSettlementTaskUsersQueryResultItem {
    /** 任务用户Id */
    /** 结算名单Id */
    id?: string;
    /** 姓名 */
    name?: string;
@@ -4298,7 +4381,6 @@
    identity?: string;
    /** 手机号 */
    contactPhoneNumber?: string;
    checkReceiveStatus?: EnumTaskCheckReceiveStatus;
    settlementStatus?: EnumTaskSettlementStatus;
    /** 所属银行 */
    bank?: string;
@@ -4358,6 +4440,8 @@
    /** 服务费 */
    serviceFee?: number;
    settlementCycle?: EnumSettlementCycle;
    /** 结算日期 */
    settlementDate?: number;
    /** 福利 */
    benefits?: GetTaskInfoQueryResultBenefit[];
    /** 年龄范围最小 */
@@ -4510,7 +4594,6 @@
    endTime?: string;
    releaseStatus?: EnumTaskReleaseStatus;
    checkReceiveStatus?: EnumTaskCheckReceiveStatus;
    settlementStatus?: EnumTaskSettlementStatus;
    recommendStatus?: EnumTaskRecommendStatus;
    /** 推荐时间 */
    recommendTime?: string;
@@ -4899,6 +4982,58 @@
    contactPhoneNumber?: string;
    /** 身份证号 */
    identity?: string;
  }
  interface ImportTaskSettlementOrderRostersCommand {
    /** 结算订单Id */
    id?: string;
    /** 导入文件地址 */
    url: string;
  }
  interface ImportTaskSettlementOrderRostersCommandResult {
    /** Id */
    id?: string;
    /** 任务名称 */
    name?: string;
    /** 任务单号 */
    code?: string;
    settlementOrderStatus?: EnumTaskSettlementOrderStatus;
    /** 结算单名称 */
    settlementOrderName?: string;
    /** 上传时间 */
    settlementOrderTime?: string;
    /** 实发金额 */
    actualSettlementAmount?: number;
    /** 结算金额 */
    settlementAmount?: number;
    settlementStatus?: EnumTaskSettlementStatus;
    /** 结算时间 */
    settlementTime?: string;
    /** 备注 */
    settlementRemark?: string;
    errors?: ImportTaskSettlementOrderRostersCommandResultError[];
  }
  interface ImportTaskSettlementOrderRostersCommandResultError {
    /** 错误信息 */
    errorMessage?: string;
    /** 姓名 */
    name?: string;
    /** 身份证号 */
    identity?: string;
    /** 结算金额 */
    settlementAmount?: number;
    /** 实发金额 */
    actualSettlementAmount?: number;
    /** 收款账户 */
    receiveAccount?: string;
    /** 所属银行 */
    bank?: string;
    /** 开户支行名称 */
    bankBranch?: string;
    /** 任务名称 */
    taskName?: string;
  }
  interface InviteElectronSignCommand {
@@ -5376,6 +5511,8 @@
    /** 服务费 */
    serviceFee: number;
    settlementCycle: EnumSettlementCycle;
    /** 结算日期 */
    settlementDate: number;
    /** 福利编号 */
    benefits?: string[];
    /** 年龄范围最小 */
@@ -5632,32 +5769,6 @@
  interface SureTaskSettlementCommand {
    /** 任务Id */
    taskInfoId?: string;
  }
  interface SureTaskSettlementOrderCommand {
    /** 任务Id */
    taskInfoId?: string;
    /** 结算单地址 */
    settlementOrderUrl?: string;
    /** 结算名单 */
    taskInfoUsers?: SureTaskSettlementOrderCommandUser[];
  }
  interface SureTaskSettlementOrderCommandUser {
    /** 任务用户Id */
    id?: string;
    /** 姓名 */
    name?: string;
    /** 所属银行 */
    bank?: string;
    /** 开户支行名称 */
    bankBranch?: string;
    /** 收款账户 */
    receiveAccount: string;
    /** 结算金额 */
    settlementAmount: number;
    /** 实发金额 */
    actualSettlementAmount: number;
  }
  type SyncDatabaseCommand = Record<string, any>;
src/views/CPersonManage/CPersonManageList.vue
@@ -184,6 +184,7 @@
    age: row.age ?? ('' as any as number),
    identityImg: row.identityImg ? convertApi2FormUrlOnlyOne(row.identityImg) : [],
    identityBackImg: row.identityBackImg ? convertApi2FormUrlOnlyOne(row.identityBackImg) : [],
    userRealTime: row.realTime ?? '',
    gender: row.gender,
    tabType: 'user',
@@ -200,6 +201,7 @@
    gender: '' as any as EnumUserGender,
    identityImg: [] as UploadUserFile[],
    identityBackImg: [] as UploadUserFile[],
    userRealTime: '',
    tabType: '',
  },
src/views/CPersonManage/components/CPersonDetailDialog.vue
@@ -2,10 +2,10 @@
  <ProDialog title="申请详情" v-model="visible" width="1200px" destroy-on-close>
    <ProTabs v-model="form.tabType" hasBorder>
      <ProTabPane lazy label="人员详情" name="user">
        <!-- <StaffDetailInfoView :form="form" /> -->
        <StaffDetailInfoView :form="form" />
      </ProTabPane>
      <ProTabPane lazy label="人员简历" name="resume">
        <!-- <StaffResumeView :form="form" /> -->
        <StaffResumeView :form="form" />
      </ProTabPane>
      <ProTabPane lazy label="签约详情" name="sign">
        <SignDetailView :form="form" />
@@ -20,7 +20,7 @@
</template>
<script setup lang="ts">
import { ProDialog, ProTabs, ProTabPane } from '@bole-core/components';
import { ProDialog, ProTabs, ProTabPane, UploadUserFile } from '@bole-core/components';
import _ from 'lodash';
import StaffDetailInfoView from './StaffDetailInfoView.vue';
import StaffResumeView from './StaffResumeView.vue';
@@ -33,6 +33,14 @@
type Form = {
  tabType: string;
  id: string;
  name: string;
  identity: string;
  contactPhoneNumber: string;
  age: number;
  gender: EnumUserGender;
  identityImg: UploadUserFile[];
  identityBackImg: UploadUserFile[];
  userRealTime: string;
};
const form = defineModel<Form>('form');
src/views/CPersonManage/components/StaffDetailInfoView.vue
@@ -1,28 +1,28 @@
<template>
  <ProForm :model="detail" ref="dialogForm" label-width="120px" is-read>
  <ProForm :model="form" ref="dialogForm" label-width="120px" is-read>
    <ProFormCol>
      <ProFormColItem :span="12">
        <ProFormItemV2 label="姓名:" prop="name">
          <ProFormText v-model.trim="detail.name"></ProFormText>
          <ProFormText v-model.trim="form.name"></ProFormText>
        </ProFormItemV2>
      </ProFormColItem>
      <ProFormColItem :span="12">
        <ProFormItemV2 label="实名时间:" prop="userRealTime">
          <div>{{ format(detail.userRealTime, 'YYYY-MM-DD HH:mm') }}</div>
          <div>{{ format(form.userRealTime, 'YYYY-MM-DD HH:mm') }}</div>
        </ProFormItemV2>
      </ProFormColItem>
    </ProFormCol>
    <ProFormCol>
      <ProFormColItem :span="12">
        <ProFormItemV2 label="身份证号:" prop="identity">
          <ProFormText v-model.trim="detail.identity"></ProFormText>
          <ProFormText v-model.trim="form.identity"></ProFormText>
        </ProFormItemV2>
      </ProFormColItem>
    </ProFormCol>
    <ProFormCol>
      <ProFormColItem :span="12">
        <ProFormItemV2 label="手机号:" prop="contactPhoneNumber">
          <ProFormText v-model.trim="detail.contactPhoneNumber"></ProFormText>
          <ProFormText v-model.trim="form.contactPhoneNumber"></ProFormText>
        </ProFormItemV2>
      </ProFormColItem>
    </ProFormCol>
@@ -30,7 +30,7 @@
      <ProFormColItem :span="12">
        <ProFormItemV2 label="性别:" prop="gender">
          <ProFormRadio
            v-model="detail.gender"
            v-model="form.gender"
            :value-enum="EnumUserGenderTextForPerson"
          ></ProFormRadio>
        </ProFormItemV2>
@@ -39,15 +39,15 @@
    <ProFormCol>
      <ProFormColItem :span="12">
        <ProFormItemV2 label="年龄:" prop="age">
          <ProFormInputNumber v-model="detail.age"> </ProFormInputNumber>
          <ProFormInputNumber v-model="form.age"> </ProFormInputNumber>
        </ProFormItemV2>
      </ProFormColItem>
    </ProFormCol>
    <ProFormItemV2 label="身份证正面:" prop="identityImg">
      <ProFormImageUpload v-model:file-url="detail.identityImg"> </ProFormImageUpload>
      <ProFormImageUpload v-model:file-url="form.identityImg"> </ProFormImageUpload>
    </ProFormItemV2>
    <ProFormItemV2 label="身份证反面:" prop="identityBackImg">
      <ProFormImageUpload v-model:file-url="detail.identityBackImg"> </ProFormImageUpload>
      <ProFormImageUpload v-model:file-url="form.identityBackImg"> </ProFormImageUpload>
    </ProFormItemV2>
  </ProForm>
</template>
@@ -74,39 +74,46 @@
});
type Form = {
  id: string;
  name: string;
  identity: string;
  contactPhoneNumber: string;
  age: number;
  gender: EnumUserGender;
  identityImg: UploadUserFile[];
  identityBackImg: UploadUserFile[];
  userRealTime: string;
};
const form = defineModel<Form>('form');
const detail = reactive({
  name: '',
  identity: '',
  contactPhoneNumber: '',
  gender: EnumUserGender.Male,
  age: 0,
  identityImg: [] as UploadUserFile[],
  identityBackImg: [] as UploadUserFile[],
  userRealTime: '',
});
// const detail = reactive({
//   name: '',
//   identity: '',
//   contactPhoneNumber: '',
//   gender: EnumUserGender.Male,
//   age: 0,
//   identityImg: [] as UploadUserFile[],
//   identityBackImg: [] as UploadUserFile[],
//   userRealTime: '',
// });
const { isLoading } = useQuery({
  queryKey: ['enterpriseEmployeeServices/getEnterpriseEmployee', form.value.id],
  queryFn: async () => {
    return await enterpriseEmployeeServices.getEnterpriseEmployee({ id: form.value.id });
  },
  onSuccess(data) {
    detail.name = data.name;
    detail.identity = data.identity;
    detail.contactPhoneNumber = data.contactPhoneNumber;
    detail.gender = data.gender;
    detail.age = data.age ?? 0;
    detail.identityImg = data.identityImg ? convertApi2FormUrlOnlyOne(data.identityImg) : [];
    detail.identityBackImg = data.identityBackImg
      ? convertApi2FormUrlOnlyOne(data.identityBackImg)
      : [];
    detail.userRealTime = data.userRealTime ?? '';
  },
  enabled: computed(() => !!form.value.id),
});
// const { isLoading } = useQuery({
//   queryKey: ['enterpriseEmployeeServices/getEnterpriseEmployee', form.value.id],
//   queryFn: async () => {
//     return await enterpriseEmployeeServices.getEnterpriseEmployee({ id: form.value.id });
//   },
//   onSuccess(data) {
//     detail.name = data.name;
//     detail.identity = data.identity;
//     detail.contactPhoneNumber = data.contactPhoneNumber;
//     detail.gender = data.gender;
//     detail.age = data.age ?? 0;
//     detail.identityImg = data.identityImg ? convertApi2FormUrlOnlyOne(data.identityImg) : [];
//     detail.identityBackImg = data.identityBackImg
//       ? convertApi2FormUrlOnlyOne(data.identityBackImg)
//       : [];
//     detail.userRealTime = data.userRealTime ?? '';
//   },
//   enabled: computed(() => !!form.value.id),
// });
</script>
src/views/CPersonManage/components/StaffResumeView.vue
@@ -102,7 +102,7 @@
const { isLoading } = useQuery({
  queryKey: ['userResumeServices/getUserResume', form.value.id],
  queryFn: async () => {
    return await userResumeServices.getUserResume({ enterpriseEmployeeId: form.value.id });
    return await userResumeServices.getUserResume({ userId: form.value.id });
  },
  onSuccess(data) {
    detail.userExpectJobs =
src/views/TaskManage/components/TaskDetailView.vue
@@ -43,6 +43,23 @@
            </ProFormColItem>
          </ProFormCol>
          <ProFormCol>
            <ProFormColItem :span="12" class="settlement-cycle-date-form-item">
              <ProFormItemV2
                label="结算日期:"
                prop="settlementCycle"
                :check-rules="[{ message: '请选择结算日期' }]"
              >
                {{ EnumSettlementCycleDateText[form.settlementCycle] }}
                <ProFormSelect
                  v-model="form.settlementDate"
                  :value-enum="settlementDateList"
                  :button-style="false"
                ></ProFormSelect>
                {{ '结算' }}
              </ProFormItemV2>
            </ProFormColItem>
          </ProFormCol>
          <ProFormCol>
            <ProFormColItem :span="12">
              <ProFormItemV2 label="福利:" prop="benefits">
                <ProFormCheckbox
@@ -68,6 +85,7 @@
                  v-model="form.ageMaxLimit"
                  placeholder="请输入"
                ></ProFormInputNumber>
                岁
              </ProFormItemV2>
            </ProFormColItem>
          </ProFormCol>
@@ -146,6 +164,7 @@
  ProFormRadio,
  ProFormDatePicker,
  ProFormCheckbox,
  ProFormSelect,
} from '@bole-core/components';
import { useQuery } from '@tanstack/vue-query';
import * as taskServices from '@/services/api/task';
@@ -154,6 +173,9 @@
  EnumBillingMethodText,
  EnumBillingMethodUnitText,
  EnumSettlementCycleText,
  EnumSettlementCycleDateText,
  EnumSettlementCycleDateMonthArray,
  EnumSettlementCycleDateWeekArray,
} from '@/constants';
import { ModelValueType } from 'element-plus';
import { format } from '@/utils';
@@ -172,11 +194,22 @@
  categoryCode: CategoryCode.CertificateType,
});
const settlementDateList = computed(() => {
  if (form.settlementCycle === EnumSettlementCycle.Month) {
    return EnumSettlementCycleDateMonthArray;
  }
  if (form.settlementCycle === EnumSettlementCycle.Week) {
    return EnumSettlementCycleDateWeekArray;
  }
  return [];
});
const form = reactive({
  name: '',
  billingMethod: '' as any as EnumBillingMethod,
  serviceFee: 0,
  settlementCycle: '' as any as EnumSettlementCycle,
  settlementDate: null as number,
  benefits: [] as string[],
  ageMinLimit: 0,
  ageMaxLimit: 0,
@@ -203,6 +236,7 @@
    form.billingMethod = data.billingMethod;
    form.serviceFee = data.serviceFee;
    form.settlementCycle = data.settlementCycle;
    form.settlementDate = data.settlementDate;
    form.benefits = data.benefits?.map((x) => x.benefitCode) ?? [];
    form.ageMinLimit = data.ageMinLimit;
    form.ageMaxLimit = data.ageMaxLimit;
@@ -246,5 +280,24 @@
      width: auto;
    }
  }
  .settlement-cycle-date-form-item {
    color: inherit;
    .el-form-item__content {
      flex-wrap: nowrap;
      .el-select {
        margin: 0 20px;
        width: auto;
        min-width: 0;
        flex: 1;
      }
      .pro-from-item-read-content-wrapper {
        width: auto;
      }
    }
  }
}
</style>