wupengfei
3 天以前 8319ca8d93e46780a48d6100b3804d5660fe0e7d
feat: 页面
2个文件已添加
12个文件已修改
378 ■■■■ 已修改文件
.eslintrc-auto-import.json 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
auto-imports.d.ts 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/constants/apiEnum.ts 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/hooks/index.ts 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/hooks/settlement.ts 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/codeUrl.ts 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/index.ts 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/task.ts 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/typings.d.ts 140 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/user.ts 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ServiceChargeManage/ServiceChargeDetail.vue 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ServiceChargeManage/ServiceChargeManage.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ServiceChargeManage/components/UploadStatementDialog.vue 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ServiceChargeManage/constants/columns.ts 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.eslintrc-auto-import.json
@@ -19,6 +19,7 @@
    "EnumBillingMethodUnitText": true,
    "EnumClientType": true,
    "EnumClientTypeText": true,
    "EnumCodeUrlScene": true,
    "EnumContractTemplateStatus": true,
    "EnumContractTemplateStatusText": true,
    "EnumContractTemplateValueRecorder": true,
@@ -228,6 +229,7 @@
    "useRouter": true,
    "useSetReactive": true,
    "useSlots": true,
    "useTaskSelect": true,
    "useTemplateRef": true,
    "useUser": true,
    "useVModel": true,
auto-imports.d.ts
@@ -23,6 +23,7 @@
  const EnumBillingMethodUnitText: typeof import('./src/constants/task')['EnumBillingMethodUnitText']
  const EnumClientType: typeof import('./src/constants/apiEnum')['EnumClientType']
  const EnumClientTypeText: typeof import('./src/constants/apiEnumText')['EnumClientTypeText']
  const EnumCodeUrlScene: typeof import('./src/constants/apiEnum')['EnumCodeUrlScene']
  const EnumContractTemplateStatus: typeof import('./src/constants/apiEnum')['EnumContractTemplateStatus']
  const EnumContractTemplateStatusText: typeof import('./src/constants/electronSign')['EnumContractTemplateStatusText']
  const EnumContractTemplateValueRecorder: typeof import('./src/constants/apiEnum')['EnumContractTemplateValueRecorder']
@@ -221,6 +222,7 @@
  const useSetReactive: typeof import('./src/hooks/global/helper')['useSetReactive']
  const useSign: typeof import('./src/hooks/sign')['useSign']
  const useSlots: typeof import('vue')['useSlots']
  const useTaskSelect: typeof import('./src/hooks/settlement')['useTaskSelect']
  const useTemplateRef: typeof import('vue')['useTemplateRef']
  const useUser: typeof import('./src/hooks/useUser')['useUser']
  const useVModel: typeof import('./src/hooks/help')['useVModel']
@@ -236,7 +238,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, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionStatus, 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, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, EnumBillingMethod, EnumClientType, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionStatus, 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, 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, EnumEnterpriseWalletTransactionStatus, 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, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton, EnumBillingMethod, EnumClientType, EnumCodeUrlScene, EnumContractTemplateStatus, EnumContractTemplateValueRecorder, EnumContractTemplateValueType, EnumDataSource, EnumDbAuditOperate, EnumElectronSignAccess, EnumEnterpriseCostStatus, EnumEnterpriseCostType, EnumEnterpriseRealMethod, EnumEnterpriseWalletAccess, EnumEnterpriseWalletExpandindirectOrderFileType, EnumEnterpriseWalletExpandindirectOrderScene, EnumEnterpriseWalletExpandindirectOrderStatus, EnumEnterpriseWalletSignStatus, EnumEnterpriseWalletTransactionStatus, 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, GetPersonalApplyTaskInfosQueryStatus, GetPersonalHireTaskInfosQueryStatus, GetTaskInfoQueryResultApplyButton, GetTaskInfoQueryResultHireButton } from './src/constants/apiEnum'
  import('./src/constants/apiEnum')
  // @ts-ignore
  export type { CategoryCode, IdentityCodeEnum, EducationCodeEnum, CertificateTypeCodeEnum, WelfareCodeEnum } from './src/constants/dic'
@@ -284,6 +286,7 @@
    readonly EnumBillingMethodUnitText: UnwrapRef<typeof import('./src/constants/task')['EnumBillingMethodUnitText']>
    readonly EnumClientType: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumClientType']>
    readonly EnumClientTypeText: UnwrapRef<typeof import('./src/constants/apiEnumText')['EnumClientTypeText']>
    readonly EnumCodeUrlScene: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumCodeUrlScene']>
    readonly EnumContractTemplateStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumContractTemplateStatus']>
    readonly EnumContractTemplateStatusText: UnwrapRef<typeof import('./src/constants/electronSign')['EnumContractTemplateStatusText']>
    readonly EnumContractTemplateValueRecorder: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumContractTemplateValueRecorder']>
@@ -473,6 +476,7 @@
    readonly useRouter: UnwrapRef<typeof import('vue-router')['useRouter']>
    readonly useSetReactive: UnwrapRef<typeof import('./src/hooks/global/helper')['useSetReactive']>
    readonly useSlots: UnwrapRef<typeof import('vue')['useSlots']>
    readonly useTaskSelect: UnwrapRef<typeof import('./src/hooks/settlement')['useTaskSelect']>
    readonly useTemplateRef: UnwrapRef<typeof import('vue')['useTemplateRef']>
    readonly useUser: UnwrapRef<typeof import('./src/hooks/useUser')['useUser']>
    readonly useVModel: UnwrapRef<typeof import('./src/hooks/help')['useVModel']>
src/constants/apiEnum.ts
@@ -21,6 +21,12 @@
  Wxmp = 20,
}
/** 编号地址场景 */
export enum EnumCodeUrlScene {
  /**签约地址 */
  ElectronSignUrl = 10,
}
/** 合同制版状态 */
export enum EnumContractTemplateStatus {
  /**待制版 */
@@ -293,34 +299,36 @@
  FlexJobServerTaskUser = 2,
  /**任务验收 */
  FlexJobServerTaskCheckReceive = 3,
  /**编号地址 */
  CommonServerCodeUrls = 4,
  /**文件 */
  CommonServerFileUtils = 4,
  CommonServerFileUtils = 5,
  /**文字识别 */
  CommonServerOcrUtils = 5,
  CommonServerOcrUtils = 6,
  /**日志记录 */
  CommonServerLogRecords = 6,
  CommonServerLogRecords = 7,
  /**用户认证 */
  UserServerAuth = 7,
  UserServerAuth = 8,
  /**用户菜单 */
  UserServerMenu = 8,
  UserServerMenu = 9,
  /**用户资源 */
  UserServerResource = 9,
  UserServerResource = 10,
  /**用户角色 */
  UserServerRole = 10,
  UserServerRole = 11,
  /**用户信息 */
  UserServerUser = 11,
  UserServerUser = 12,
  /**电子签 */
  UserServerElectronSign = 12,
  UserServerElectronSign = 13,
  /**用户简历 */
  UserServerUserResume = 13,
  UserServerUserResume = 14,
  /**企业信息 */
  UserServerEnterprise = 14,
  UserServerEnterprise = 15,
  /**企业钱包 */
  UserServerEnterpriseWallet = 15,
  UserServerEnterpriseWallet = 16,
  /**灵工信息 */
  UserServerEnterpriseEmployee = 16,
  UserServerEnterpriseEmployee = 17,
  /**电子签 */
  ElectronSignServerElectronSign = 17,
  ElectronSignServerElectronSign = 18,
}
/** 资源请求方式 */
src/hooks/index.ts
@@ -9,3 +9,4 @@
export * from './menu';
export * from './dic';
export * from './sign';
export * from './settlement';
src/hooks/settlement.ts
New file
@@ -0,0 +1,23 @@
import { useQuery, useQueryClient } from '@tanstack/vue-query';
import * as taskServices from '@/services/api/task';
export function useTaskSelect() {
  const queryClient = useQueryClient();
  const { data } = useQuery({
    queryKey: ['taskServices/getTaskSelect'],
    queryFn: () => {
      return taskServices.getTaskSelect(
        {},
        {
          showLoading: false,
        }
      );
    },
    placeholderData: () => [] as API.SelectOptionGuidGetTaskSelectQueryOption[],
  });
  const taskSelect = computed(() => data.value?.map((x) => x.data));
  return { taskSelect };
}
src/services/api/codeUrl.ts
New file
@@ -0,0 +1,30 @@
/* eslint-disable */
// @ts-ignore
import { request } from '@/utils/request';
/** 查询编号地址 GET /api/common/codeUrl/getCodeUrl */
export async function getCodeUrl(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.APIgetCodeUrlParams,
  options?: API.RequestConfig
) {
  return request<string>('/api/common/codeUrl/getCodeUrl', {
    method: 'GET',
    params: {
      ...params,
    },
    ...(options || {}),
  });
}
/** 保存编号地址 POST /api/common/codeUrl/saveCodeUrl */
export async function saveCodeUrl(body: API.SaveCodeUrlCommand, options?: API.RequestConfig) {
  return request<string>('/api/common/codeUrl/saveCodeUrl', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json-patch+json',
    },
    data: body,
    ...(options || {}),
  });
}
src/services/api/index.ts
@@ -11,6 +11,7 @@
import * as resource from './resource';
import * as dictionary from './dictionary';
import * as enterpriseWallet from './enterpriseWallet';
import * as codeUrl from './codeUrl';
import * as electronSign from './electronSign';
import * as userResume from './userResume';
import * as auth from './auth';
@@ -29,6 +30,7 @@
  resource,
  dictionary,
  enterpriseWallet,
  codeUrl,
  electronSign,
  userResume,
  auth,
src/services/api/task.ts
@@ -155,6 +155,24 @@
  });
}
/** 查询任务选择器数据 GET /api/flexjob/task/getTaskSelect */
export async function getTaskSelect(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.APIgetTaskSelectParams,
  options?: API.RequestConfig
) {
  return request<API.SelectOptionGuidGetTaskSelectQueryOption[]>(
    '/api/flexjob/task/getTaskSelect',
    {
      method: 'GET',
      params: {
        ...params,
      },
      ...(options || {}),
    }
  );
}
/** 撤回结算 POST /api/flexjob/task/revokeTaskSettlementOrder */
export async function revokeTaskSettlementOrder(
  body: API.RevokeTaskSettlementOrderCommand,
src/services/api/typings.d.ts
@@ -29,6 +29,13 @@
    date?: string;
  }
  interface APIgetCodeUrlParams {
    /** 场景 */
    scene?: EnumCodeUrlScene;
    /** 编号 */
    code?: string;
  }
  interface APIgetContractTemplateParams {
    /** 模板Id */
    id?: string;
@@ -146,6 +153,11 @@
    request?: GetPersonalLoginInfoQuery;
  }
  interface APIgetPersonalUserBankCardParams {
    /** 查询个人用户银行卡信息 */
    request?: GetPersonalUserBankCardQuery;
  }
  interface APIgetPersonalUserElectronSignParams {
    /** 灵工Id */
    id?: string;
@@ -202,6 +214,11 @@
  interface APIgetTaskInfoParams {
    /** Id */
    id?: string;
  }
  interface APIgetTaskSelectParams {
    /** 关键字 */
    keywords?: string;
  }
  interface APIgetTaskUserHireStatusParams {
@@ -493,6 +510,11 @@
    Wxmp = 20,
  }
  enum EnumCodeUrlScene {
    /**签约地址 */
    ElectronSignUrl = 10,
  }
  enum EnumContractTemplateStatus {
    /**待制版 */
    Wait = 10,
@@ -738,34 +760,36 @@
    FlexJobServerTaskUser = 2,
    /**任务验收 */
    FlexJobServerTaskCheckReceive = 3,
    /**编号地址 */
    CommonServerCodeUrls = 4,
    /**文件 */
    CommonServerFileUtils = 4,
    CommonServerFileUtils = 5,
    /**文字识别 */
    CommonServerOcrUtils = 5,
    CommonServerOcrUtils = 6,
    /**日志记录 */
    CommonServerLogRecords = 6,
    CommonServerLogRecords = 7,
    /**用户认证 */
    UserServerAuth = 7,
    UserServerAuth = 8,
    /**用户菜单 */
    UserServerMenu = 8,
    UserServerMenu = 9,
    /**用户资源 */
    UserServerResource = 9,
    UserServerResource = 10,
    /**用户角色 */
    UserServerRole = 10,
    UserServerRole = 11,
    /**用户信息 */
    UserServerUser = 11,
    UserServerUser = 12,
    /**电子签 */
    UserServerElectronSign = 12,
    UserServerElectronSign = 13,
    /**用户简历 */
    UserServerUserResume = 13,
    UserServerUserResume = 14,
    /**企业信息 */
    UserServerEnterprise = 14,
    UserServerEnterprise = 15,
    /**企业钱包 */
    UserServerEnterpriseWallet = 15,
    UserServerEnterpriseWallet = 16,
    /**灵工信息 */
    UserServerEnterpriseEmployee = 16,
    UserServerEnterpriseEmployee = 17,
    /**电子签 */
    ElectronSignServerElectronSign = 17,
    ElectronSignServerElectronSign = 18,
  }
  enum EnumResourceMethod {
@@ -1490,6 +1514,24 @@
    timestamp?: number;
  }
  interface FriendlyResultGetPersonalUserBankCardQueryResult {
    /** 跟踪Id */
    traceId?: string;
    /** 状态码 */
    code?: number;
    /** 错误码 */
    errorCode?: string;
    data?: GetPersonalUserBankCardQueryResult;
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
    msg?: any;
    /** 附加数据 */
    extras?: any;
    /** 时间戳 */
    timestamp?: number;
  }
  interface FriendlyResultGetPersonalUserElectronSignQueryResult {
    /** 跟踪Id */
    traceId?: string;
@@ -2140,6 +2182,25 @@
    errorCode?: string;
    /** 数据 */
    data?: SelectOptionGuidGetEnterpriseContractTemplateSelectQueryOption[];
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
    msg?: any;
    /** 附加数据 */
    extras?: any;
    /** 时间戳 */
    timestamp?: number;
  }
  interface FriendlyResultListSelectOptionGuidGetTaskSelectQueryOption {
    /** 跟踪Id */
    traceId?: string;
    /** 状态码 */
    code?: number;
    /** 错误码 */
    errorCode?: string;
    /** 数据 */
    data?: SelectOptionGuidGetTaskSelectQueryOption[];
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
@@ -3622,6 +3683,20 @@
    hireRefuseTaskCount?: number;
  }
  type GetPersonalUserBankCardQuery = Record<string, any>;
  interface GetPersonalUserBankCardQueryResult {
    access?: EnumEnterpriseWalletAccess;
    /** 银行卡号 */
    code?: string;
    /** 所属银行 */
    bank?: string;
    /** 所属支行 */
    bankBranch?: string;
    /** 银行预留手机号 */
    phoneNumber?: string;
  }
  interface GetPersonalUserElectronSignQueryResult {
    /** 灵工Id */
    id?: string;
@@ -4279,6 +4354,15 @@
    stoppedReleaseCount?: number;
  }
  interface GetTaskSelectQueryOption {
    /** 任务Id */
    id?: string;
    /** 任务单号 */
    code?: string;
    /** 任务名称 */
    name?: string;
  }
  interface GetTaskUserHireStatusQueryResult {
    hireStatus?: EnumTaskUserHireStatus;
  }
@@ -4813,6 +4897,14 @@
    taskInfoId?: string;
  }
  interface SaveCodeUrlCommand {
    scene?: EnumCodeUrlScene;
    /** 地址 */
    url?: string;
    /** 过期时间 */
    expiredTime?: string;
  }
  interface SaveContractTemplateCommand {
    /** 企业Id(运营端保存时) */
    enterpriseId?: string;
@@ -5063,6 +5155,18 @@
    id?: string;
  }
  interface SavePersonalUserBankCardCommand {
    access?: EnumEnterpriseWalletAccess;
    /** 银行卡号 */
    code?: string;
    /** 所属银行 */
    bank?: string;
    /** 所属支行 */
    bankBranch?: string;
    /** 银行预留手机号 */
    phoneNumber?: string;
  }
  interface SaveRoleCommand {
    /** Id */
    id?: string;
@@ -5194,6 +5298,14 @@
    data?: GetEnterpriseContractTemplateSelectQueryOption;
  }
  interface SelectOptionGuidGetTaskSelectQueryOption {
    /** 值 */
    value?: string;
    /** 标签 */
    label?: string;
    data?: GetTaskSelectQueryOption;
  }
  interface SelectOptionStringGetDictionaryDataSelectQueryResultOption {
    /** 值 */
    value?: string;
src/services/api/user.ts
@@ -20,6 +20,23 @@
  );
}
/** 查询个人用户银行卡信息 GET /api/user/user/getPersonalUserBankCard */
export async function getPersonalUserBankCard(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.APIgetPersonalUserBankCardParams,
  options?: API.RequestConfig
) {
  return request<API.GetPersonalUserBankCardQueryResult>('/api/user/user/getPersonalUserBankCard', {
    method: 'GET',
    params: {
      ...params,
      request: undefined,
      ...params['request'],
    },
    ...(options || {}),
  });
}
/** 查询C端人员分页列表数据 POST /api/user/user/getPersonalUserInfos */
export async function getPersonalUserInfos(
  body: API.GetPersonalUserInfosQuery,
@@ -68,6 +85,21 @@
  });
}
/** 保存用户银行卡信息 POST /api/user/user/savePersonalUserBankCard */
export async function savePersonalUserBankCard(
  body: API.SavePersonalUserBankCardCommand,
  options?: API.RequestConfig
) {
  return request<string>('/api/user/user/savePersonalUserBankCard', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json-patch+json',
    },
    data: body,
    ...(options || {}),
  });
}
/** 设置用户信息角色 PUT /api/user/user/setUserInfoRoles */
export async function setUserInfoRoles(
  body: API.SetUserInfoRolesCommand,
src/views/ServiceChargeManage/ServiceChargeDetail.vue
@@ -1,6 +1,6 @@
<template>
  <LoadingLayout :loading="isLoading">
    <AppScrollContainer>
    <AppContainer>
      <ChunkCell title="结算单详情">
        <ProForm :model="form" ref="formRef" label-width="120px" :is-read="true">
          <ProFormCol>
@@ -34,12 +34,12 @@
          <ProFormCol>
            <ProFormColItem :span="8">
              <ProFormItemV2 label="结算金额:" prop="settlementAmount">
                <ProFormInputNumber v-model="form.settlementAmount"> </ProFormInputNumber>
                <ProFormText v-model="form.settlementAmount"> </ProFormText>
              </ProFormItemV2>
            </ProFormColItem>
            <ProFormColItem :span="8">
              <ProFormItemV2 label="实发金额:" prop="actualSettlementAmount">
                <ProFormInputNumber v-model="form.actualSettlementAmount"> </ProFormInputNumber>
                <ProFormText v-model="form.actualSettlementAmount"> </ProFormText>
              </ProFormItemV2>
            </ProFormColItem>
          </ProFormCol>
@@ -67,7 +67,7 @@
          </el-steps>
        </div>
      </ChunkCell> -->
      <ChunkCell title="结算名单">
      <ChunkCell title="结算名单" style="flex: 1">
        <ProTableQueryFilterBar @on-reset="reset">
          <template #query>
            <QueryFilterItem>
@@ -84,7 +84,7 @@
        <ProTableV2
          v-bind="proTableProps"
          :columns="SettlementListColumns"
          :operationBtns="operationBtns"
          :show-operation-column="false"
          :auto-height="false"
          ref="proTable"
          :tableProps="{
@@ -93,19 +93,20 @@
        >
        </ProTableV2>
        <div class="chuck-add-or-edit-actions">
          <el-button @click="handleBack">取消</el-button>
          <el-button class="chuck-add-or-edit-actions" @click="handleBack">取消</el-button>
          <el-button class="chuck-add-or-edit-actions" type="primary" @click="handleSubmit"
            >确认</el-button
          >
        </div>
      </ChunkCell>
    </AppScrollContainer>
    </AppContainer>
    <EditAccountInfoDialog v-bind="dialogProps"></EditAccountInfoDialog>
  </LoadingLayout>
</template>
<script setup lang="ts">
import {
  LoadingLayout,
  AppContainer,
  AppScrollContainer,
  ChunkCell,
  ProForm,
@@ -129,7 +130,7 @@
import * as taskUserServices from '@/services/api/taskUser';
import EditAccountInfoDialog from './components/EditAccountInfoDialog.vue';
import { Message } from '@bole-core/core';
import { paginateList } from '@/utils';
import { paginateList, setOssFileName, toThousand } from '@/utils';
defineOptions({
  name: 'ServiceChargeDetail',
@@ -150,13 +151,13 @@
]);
const route = useRoute();
const id = (route.query.id as string) ?? '';
const id = (route.params.id as string) ?? '';
const url = (route.query.url as string) ?? '';
const form = reactive({
  name: '',
  settlementAmount: 0,
  actualSettlementAmount: 0,
  settlementAmount: '',
  actualSettlementAmount: '',
  code: '',
  settlementOrderName: '',
  settlementOrderTime: '',
@@ -175,10 +176,10 @@
  placeholderData: () => ({} as API.GetSettlementTaskQueryResult),
  onSuccess(data) {
    form.name = data.name;
    form.settlementAmount = data.settlementAmount;
    form.actualSettlementAmount = data.actualSettlementAmount;
    form.settlementAmount = toThousand(data.settlementAmount);
    form.actualSettlementAmount = toThousand(data.actualSettlementAmount);
    form.code = data.code;
    form.settlementOrderName = data.settlementOrderName;
    form.settlementOrderName = setOssFileName(data.settlementOrderName);
    form.settlementOrderTime = data.settlementOrderTime;
  },
  enabled: !!id,
@@ -225,7 +226,11 @@
      orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
    },
    queryKey: ['taskUserServices/getSettlementTaskUsers'],
    columnsRenderProps: {},
    columnsRenderProps: {
      settlementTime: { type: 'date' },
      settlementAmount: { type: 'money' },
      actualSettlementAmount: { type: 'money' },
    },
  }
);
@@ -253,7 +258,9 @@
    let params: API.SureTaskSettlementOrderCommand = {
      taskInfoId: id,
      settlementOrderUrl: url,
      taskInfoUsers: [],
      taskInfoUsers: proTableProps.value.tableData.map(
        (x) => ({ ...x } as API.SureTaskSettlementOrderCommandUser)
      ),
    };
    let res = await taskServices.sureTaskSettlementOrder(params);
    if (res) {
src/views/ServiceChargeManage/ServiceChargeManage.vue
@@ -284,7 +284,8 @@
});
async function handleAddOrEdit() {
  goDetail(editForm.id, editForm.settlementUrl[0]?.url);
  console.log('editForm: ', editForm);
  goDetail(editForm.id, editForm.settlementUrl[0]?.path);
}
const {
@@ -320,8 +321,8 @@
    id: row.id,
    name: row.name,
    code: row.code,
    settlementUserCount: row.settlementUserCount,
    settlementAmount: row.settlementAmount,
    settlementUserCount: row.settlementUserCount ?? 0,
    settlementAmount: row.settlementAmount ?? 0,
  });
}
@@ -343,16 +344,18 @@
  response: UploadUserFile & { file: File & { uid: number } },
  row: API.GetSettlementTasksQueryResultItem
) {
  if (response.url) {
    goDetail(row.id, response.url);
  if (response.path) {
    goDetail(row.id, response.path);
  }
}
function goDetail(id: string, url?: string) {
  router.push({
    name: 'ServiceChargeDetail',
    query: {
    params: {
      id: id,
    },
    query: {
      url: url ? url : '',
    },
  });
src/views/ServiceChargeManage/components/UploadStatementDialog.vue
@@ -11,8 +11,10 @@
      <ProFormItemV2 label="任务单号:" prop="code" :check-rules="[{ message: '请选择任务单号' }]">
        <ProFormSelect
          v-model="form.code"
          :valueEnum="[]"
          :valueEnum="taskSelect"
          placeholder="请选择任务单号"
          enum-value-key="id"
          enum-label-key="code"
          filterable
          clearable
          @change="handleCodeChange"
@@ -36,7 +38,7 @@
          v-model:file-url="form.settlementUrl"
          :limit="1"
          :limitFileSize="10"
          accept="jpg/jpeg,png,pdf"
          accept="xlsx,xls"
        ></ProFormUpload>
      </ProFormItemV2>
    </ProForm>
@@ -60,6 +62,7 @@
  ProFormSelect,
  UploadUserFile,
} from '@bole-core/components';
import { Message } from '@bole-core/core';
defineOptions({
  name: 'UploadStatementDialog',
@@ -73,6 +76,8 @@
  settlementUrl: UploadUserFile[];
};
const { taskSelect } = useTaskSelect();
const visible = defineModel({ type: Boolean });
const form = defineModel<Form>('form');
@@ -84,7 +89,14 @@
const dialogForm = ref<FormInstance>();
function handleCodeChange() {}
function handleCodeChange(value: string) {
  if (value) {
    form.value.name = taskSelect.value?.find((item) => item.id === value)?.name ?? '';
    form.value.id = value;
  } else {
    Message.errorMessage('请选择任务单号');
  }
}
function onDialogClose() {
  if (!dialogForm.value) return;
src/views/ServiceChargeManage/constants/columns.ts
@@ -61,42 +61,42 @@
  },
  {
    id: '2',
    enCode: 'name',
    enCode: 'identity',
    name: '身份证号',
  },
  {
    id: '3',
    enCode: 'name',
    enCode: 'contactPhoneNumber',
    name: '手机号',
  },
  {
    id: '4',
    enCode: 'name',
    enCode: 'bank',
    name: '所属银行',
  },
  {
    id: '5',
    enCode: 'name',
    enCode: 'bankBranch',
    name: '所属支行',
  },
  {
    id: '6',
    enCode: 'name',
    enCode: 'receiveAccount',
    name: '收款帐户',
  },
  {
    id: '7',
    enCode: 'signNum',
    enCode: 'settlementAmount',
    name: '结算金额',
  },
  {
    id: '8',
    enCode: 'name',
    enCode: 'actualSettlementAmount',
    name: '实发金额',
  },
  {
    id: '9',
    enCode: 'name',
    enCode: 'settlementTime',
    name: '结算时间',
  },
]);