wupengfei
2025-07-11 4acf2dd771619afee364a9db3d2f527b087dddb3
feat: 页面
9个文件已修改
462 ■■■■ 已修改文件
src/constants/fourStreams.ts 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/constants/reward.ts 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/ParkBountyApply.ts 138 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/User.ts 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/typings.d.ts 201 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EnterpriseInfo/EnterpriseInfo.vue 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EnterpriseInfo/components/RewardGrantRecordView.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Reward/RewardGrant.vue 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Reward/components/RegisterDialog.vue 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/constants/fourStreams.ts
@@ -41,15 +41,15 @@
} as const;
export enum ApplyTransferFileBusinessTypeEnum {
  /** 拨付凭证*/
  /** 财政拨付凭证*/
  FinanceToFileUrl = 100,
  /** 充值凭证*/
  /** 平台拨付凭证*/
  TransferToFileUrl = 110,
}
export const ApplyTransferFileBusinessTypeEnumText = {
  [ApplyTransferFileBusinessTypeEnum.FinanceToFileUrl]: '拨付凭证',
  [ApplyTransferFileBusinessTypeEnum.TransferToFileUrl]: '充值凭证',
  [ApplyTransferFileBusinessTypeEnum.FinanceToFileUrl]: '财政拨付凭证',
  [ApplyTransferFileBusinessTypeEnum.TransferToFileUrl]: '平台拨付凭证',
};
export const ApplyTransferFileBusinessTypeEnumKey = {
@@ -58,15 +58,15 @@
} as const;
export enum TransferFileEnumInRewardGrand {
  /** 拨付凭证*/
  /** 财政拨付凭证*/
  FinanceFileUrl = 200,
  /** 充值凭证*/
  /** 平台拨付凭证*/
  SettleFileUrl = 210,
}
export const TransferFileEnumInRewardGrandText = {
  [TransferFileEnumInRewardGrand.FinanceFileUrl]: '拨付凭证',
  [TransferFileEnumInRewardGrand.SettleFileUrl]: '充值凭证',
  [TransferFileEnumInRewardGrand.FinanceFileUrl]: '财政拨付凭证',
  [TransferFileEnumInRewardGrand.SettleFileUrl]: '平台拨付凭证',
};
export const TransferFileEnumInRewardGrandKey = {
src/constants/reward.ts
@@ -140,7 +140,7 @@
export const IncomeTypeEnumText = {
  [IncomeTypeEnum.Fiscal]: '财政拨付',
  [IncomeTypeEnum.Platform]: '平台充值',
  [IncomeTypeEnum.Platform]: '平台拨付',
};
export enum EnterpriseRechargeStatusEnum {
src/services/api/ParkBountyApply.ts
@@ -107,6 +107,39 @@
  });
}
/** 运营端-奖励金统计报表导出 POST /api/ParkBountyApply/ExportBonusStatistics */
export async function exportBonusStatistics(
  body: API.GetBonusStatisticsListInput,
  options?: API.RequestConfig
) {
  return request<any>('/api/ParkBountyApply/ExportBonusStatistics', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}
/** 运营端-奖励金统计报表 POST /api/ParkBountyApply/GetBonusStatisticsList */
export async function getBonusStatisticsList(
  body: API.GetBonusStatisticsListInput,
  options?: API.RequestConfig
) {
  return request<API.GetBonusStatisticsListOutputPageOutput>(
    '/api/ParkBountyApply/GetBonusStatisticsList',
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      data: body,
      ...(options || {}),
    }
  );
}
/** 获取可选择公司和已剔除公司 POST /api/ParkBountyApply/GetCompanyNameList */
export async function getCompanyNameList(
  body: API.GetCompanyNameListInput,
@@ -129,6 +162,24 @@
) {
  return request<API.GetParkBountyApplyListOutputPageOutput>(
    '/api/ParkBountyApply/GetCustmoerParkBountyApplyList',
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      data: body,
      ...(options || {}),
    }
  );
}
/** 奖励金统计报表--获取企业消费明细列表 POST /api/ParkBountyApply/GetEnterpriseConsumptionList */
export async function getEnterpriseConsumptionList(
  body: API.GetRewardsDetailsInput,
  options?: API.RequestConfig
) {
  return request<API.GetEnterpriseConsumptionListOutputPageOutput>(
    '/api/ParkBountyApply/GetEnterpriseConsumptionList',
    {
      method: 'POST',
      headers: {
@@ -273,6 +324,60 @@
      params: {
        ...params,
      },
      ...(options || {}),
    }
  );
}
/** 运营端-奖励金获取企业充值明细列表 POST /api/ParkBountyApply/GetEnterpriseRechargeList */
export async function getEnterpriseRechargeList(
  body: API.GetRewardsDetailsInput,
  options?: API.RequestConfig
) {
  return request<API.GetEnterpriseRechargeListOutputPageOutput>(
    '/api/ParkBountyApply/GetEnterpriseRechargeList',
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      data: body,
      ...(options || {}),
    }
  );
}
/** 奖励金统计报表--获取提现明细列表 POST /api/ParkBountyApply/GetEnterpriseWithdrawList */
export async function getEnterpriseWithdrawList(
  body: API.GetRewardsDetailsInput,
  options?: API.RequestConfig
) {
  return request<API.GetEnterpriseDrawWithOutputPageOutput>(
    '/api/ParkBountyApply/GetEnterpriseWithdrawList',
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      data: body,
      ...(options || {}),
    }
  );
}
/** 奖励金统计报表--获取财政拨付列表 POST /api/ParkBountyApply/GetFiscalAllocationList */
export async function getFiscalAllocationList(
  body: API.GetRewardsDetailsInput,
  options?: API.RequestConfig
) {
  return request<API.GetFiscalAllocationOutputPageOutput>(
    '/api/ParkBountyApply/GetFiscalAllocationList',
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      data: body,
      ...(options || {}),
    }
  );
@@ -661,6 +766,39 @@
  );
}
/** 奖励金统计报表--获取平台拨付列表 POST /api/ParkBountyApply/GetPlatformAllocationList */
export async function getPlatformAllocationList(
  body: API.GetRewardsDetailsInput,
  options?: API.RequestConfig
) {
  return request<API.GetPlatformAllocationOutputPageOutput>(
    '/api/ParkBountyApply/GetPlatformAllocationList',
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
      },
      data: body,
      ...(options || {}),
    }
  );
}
/** 奖励金报表--余额列表 POST /api/ParkBountyApply/GetRemainAmountList */
export async function getRemainAmountList(
  body: API.GetRewardsDetailsInput,
  options?: API.RequestConfig
) {
  return request<API.GetRemainAmountOutput>('/api/ParkBountyApply/GetRemainAmountList', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}
/** 导入奖励金入账 POST /api/ParkBountyApply/ImportParkBountyData */
export async function importParkBountyData(
  body: API.ImportBountyApplyDataInput,
src/services/api/User.ts
@@ -306,6 +306,20 @@
  });
}
/** 获取江佑保用户信息 GET /api/User/GetJybUserInfo/${param0} */
export async function getJybUserInfoId(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.APIgetJybUserInfoIdParams,
  options?: API.RequestConfig
) {
  const { id: param0, ...queryParams } = params;
  return request<API.JybUserInfoDto>(`/api/User/GetJybUserInfo/${param0}`, {
    method: 'GET',
    params: { ...queryParams },
    ...(options || {}),
  });
}
/** 获取互相关注分页列表 POST /api/User/GetMutualFollowUserPage */
export async function getMutualFollowUserPage(body: API.PageInput, options?: API.RequestConfig) {
  return request<API.FollowUserListOutputPageOutput>('/api/User/GetMutualFollowUserPage', {
src/services/api/typings.d.ts
@@ -1535,6 +1535,10 @@
    suppierType?: number;
  }
  interface APIgetJybUserInfoIdParams {
    id: string;
  }
  interface APIgetLgGigWorkUserDetailParams {
    id?: string;
  }
@@ -6531,6 +6535,63 @@
    listDeleteChooseCompany?: GetCompanyNameListOutput[];
  }
  interface GetBonusStatisticsListInput {
    pageModel?: Pagination;
    /** 企业名/信用代码/联系人/手机号 */
    searchKeyWord?: string;
    /** 所属园区 */
    industrialParkId?: string;
    /** 申请奖励金月份 */
    applyMonth?: string;
  }
  interface GetBonusStatisticsListOutput {
    enterpriseId?: string;
    /** 企业名称 */
    enterpriseName?: string;
    /** 信用代码 */
    societyCreditCode?: string;
    /** 所属园区 */
    industrialParkName?: string;
    parkId?: string;
    /** 联系人 */
    contact?: string;
    /** 联系人电话 */
    contactPhone?: string;
    /** 申请奖励金月份 */
    applyMonth?: string;
    /** 申报批次号 */
    batchNo?: string;
    /** 财政拨付金额 */
    financeSumAmount?: number;
    /** 平台拨付金额 */
    transferSumAmount?: number;
    /** 企业充值总额 */
    prechargeSumAmount?: number;
    /** 企业出账总额 */
    tradeSumAmount?: number;
    /** 企业提现总额 */
    withDrawalAmount?: number;
    /** 账户余额 */
    remainAmount?: number;
    /** 是否支持平台充值 */
    suportPlatRecharge?: boolean;
    /** 是否支持用户提现 */
    suportWithDraw?: boolean;
    /** 是否显示企业充值 */
    enablePrecharge?: boolean;
    /** 是否显示企业消费 */
    enableTrade?: boolean;
    /** 是否显示余额列 */
    enableRemain?: boolean;
  }
  interface GetBonusStatisticsListOutputPageOutput {
    pageModel?: Pagination;
    objectData?: any;
    data?: GetBonusStatisticsListOutput[];
  }
  interface GetBusinessPayInfoInput {
    pageModel?: Pagination;
    settleNo?: string;
@@ -6903,6 +6964,25 @@
    data?: GetEnterpriseBuntyTradeDto[];
  }
  interface GetEnterpriseConsumptionListOutput {
    id?: string;
    /** 消费日期 */
    tradeTime?: string;
    /** 消费类型 */
    payRemark?: string;
    /** 消费金额 */
    tradeAmount?: number;
    /** 消费凭证 */
    payFileUrl?: string;
    financeType?: FinanceTypeEnum;
  }
  interface GetEnterpriseConsumptionListOutputPageOutput {
    pageModel?: Pagination;
    objectData?: any;
    data?: GetEnterpriseConsumptionListOutput[];
  }
  interface GetEnterpriseCredentialDataResponse {
    contactMobile?: string;
    address?: string;
@@ -6976,6 +7056,24 @@
    pageModel?: Pagination;
    objectData?: any;
    data?: GetEnterpriseDrawWithListOutput[];
  }
  interface GetEnterpriseDrawWithOutput {
    id?: string;
    /** 申请提现日期 */
    creationTime?: string;
    /** 审核通过日期 */
    checkDateTime?: string;
    /** 提现金额 */
    withdrawalAmount?: number;
    /** 提现凭证 */
    checkFileUrl?: string;
  }
  interface GetEnterpriseDrawWithOutputPageOutput {
    pageModel?: Pagination;
    objectData?: any;
    data?: GetEnterpriseDrawWithOutput[];
  }
  interface GetEnterpriseMonthApplyFileOutput {
@@ -7090,6 +7188,24 @@
    creationTime?: string;
  }
  interface GetEnterpriseRechargeListOutput {
    id?: string;
    /** 充值日期 */
    creationTime?: string;
    /** 审核通过日期 */
    checkDateTime?: string;
    /** 充值金额 */
    prechargeAmount?: number;
    /** 充值凭证 */
    rechargeVoucherFileUrl?: string;
  }
  interface GetEnterpriseRechargeListOutputPageOutput {
    pageModel?: Pagination;
    objectData?: any;
    data?: GetEnterpriseRechargeListOutput[];
  }
  interface GetExternalSystemInput {
    pageModel?: Pagination;
    /** 关键字 */
@@ -7105,6 +7221,24 @@
    account?: string;
    /** 源文件id */
    fid?: string;
  }
  interface GetFiscalAllocationOutput {
    id?: string;
    /** 拨付日期 */
    financeToTime?: string;
    /** 入账日期 */
    financeIncomeTime?: string;
    /** 拨付金额 */
    financeSumAmount?: number;
    /** 入账凭证 */
    financeToFileUrl?: string;
  }
  interface GetFiscalAllocationOutputPageOutput {
    pageModel?: Pagination;
    objectData?: any;
    data?: GetFiscalAllocationOutput[];
  }
  interface GetFrontConsultListInput {
@@ -8795,6 +8929,24 @@
    platformServiceType?: PlatformServiceTypeEnum;
  }
  interface GetPlatformAllocationOutput {
    id?: string;
    /** 充值日期 */
    settleTime?: string;
    /** 入账日期 */
    incomeTime?: string;
    /** 充值金额 */
    settleSumAmount?: number;
    /** 凭证 */
    settleFileUrl?: string;
  }
  interface GetPlatformAllocationOutputPageOutput {
    pageModel?: Pagination;
    objectData?: any;
    data?: GetPlatformAllocationOutput[];
  }
  interface GetPlatFormPurchasesInput {
    pageModel?: Pagination;
    /** 类别Id */
@@ -8894,9 +9046,36 @@
    queryCondition?: string;
  }
  interface GetRemainAmountOutput {
    id?: string;
    applyMonth?: string;
    /** 申报批次号 */
    batchNo?: string;
    /** 财政拨付余额 */
    financeRemain?: number;
    /** 平台拨付余额 */
    platformRemain?: number;
    /** 预充值余额 */
    prechargeRemain?: number;
    /** 是否支持平台充值 */
    suportPlatRecharge?: boolean;
    /** 是否支持用户提现 */
    suportWithDraw?: boolean;
  }
  interface GetRewardPercentagesInput {
    /** 排序信息:默认按Up主等级:UpLevel升序 */
    orderInput?: OrderInput[];
  }
  interface GetRewardsDetailsInput {
    pageModel?: Pagination;
    /** 用户id */
    id?: string;
    /** 申请月份 */
    applyMonth?: string;
    /** 申报批次号 */
    batchNo?: string;
  }
  interface GetRolesInput {
@@ -13003,6 +13182,28 @@
    properties?: Record<string, any>;
  }
  interface JybUserInfoDto {
    id?: string;
    /** 企业名称 */
    enterpriseName?: string;
    /** 联系人 */
    contact?: string;
    /** 联系电话 */
    contactPhone?: string;
    /** 统一社会信用代码 */
    societyCreditCode?: string;
    /** 详细地址 */
    addressDetail?: string;
    /** 用户手机号 */
    phoneNumber?: string;
    /** 银行总行名称 */
    bankName?: string;
    /** 银行卡号 */
    bankCardNumber?: string;
    /** 绑定邮箱地址 */
    bindEmailAddress?: string;
  }
  interface KeyInput {
    id?: string;
  }
src/views/EnterpriseInfo/EnterpriseInfo.vue
@@ -14,7 +14,7 @@
              @change="getList()"
            ></FieldDatePicker>
          </QueryFilterItem>
          <QueryFilterItem tip-content="最近拨付日期">
          <QueryFilterItem tip-content="最近财政拨付日期">
            <FieldDatePicker
              v-model="extraParamState.lastPayTime"
              type="daterange"
@@ -25,7 +25,7 @@
              @change="getList()"
            ></FieldDatePicker>
          </QueryFilterItem>
          <QueryFilterItem tip-content="最近充值日期">
          <QueryFilterItem tip-content="最近平台拨付日期">
            <FieldDatePicker
              v-model="extraParamState.lastSettleTime"
              type="daterange"
@@ -129,37 +129,37 @@
  {
    id: '9',
    enCode: 'lastFinanceTime',
    name: '最近拨付日期',
    name: '最近财政拨付日期',
    width: 180,
  },
  {
    id: '10',
    enCode: 'financeSumAmount',
    name: '拨付总额',
    name: '财政拨付总额',
    width: 150,
  },
  {
    id: '11',
    enCode: 'settleCount',
    name: '平台充值次数',
    name: '平台拨付次数',
    width: 150,
  },
  {
    id: '12',
    enCode: 'lastSettleTime',
    name: '最近充值日期',
    name: '最近平台拨付日期',
    width: 180,
  },
  {
    id: '13',
    enCode: 'settleSumAmount',
    name: '充值总额',
    name: '平台拨付总额',
    width: 150,
  },
  {
    id: '14',
    enCode: 'bountyAmount',
    name: '平台充值余额',
    name: '平台拨付余额',
    width: 150,
  },
];
src/views/EnterpriseInfo/components/RewardGrantRecordView.vue
@@ -58,12 +58,12 @@
  {
    id: '5',
    enCode: 'transferToAmount',
    name: '平台充值金额',
    name: '平台拨付金额',
  },
  {
    id: '6',
    enCode: 'settleTime',
    name: '平台充值日期',
    name: '平台拨付日期',
  },
];
src/views/Reward/RewardGrant.vue
@@ -14,7 +14,7 @@
              @change="getList()"
            ></FieldDatePicker>
          </QueryFilterItem>
          <QueryFilterItem tip-content="拨付日期">
          <QueryFilterItem tip-content="财政拨付登记日期">
            <FieldDatePicker
              v-model="extraParamState.financeTime"
              type="daterange"
@@ -25,7 +25,7 @@
              @change="getList()"
            ></FieldDatePicker>
          </QueryFilterItem>
          <QueryFilterItem tip-content="充值日期">
          <QueryFilterItem tip-content="平台拨付登记日期">
            <FieldDatePicker
              v-model="extraParamState.settleTime"
              type="daterange"
@@ -36,7 +36,7 @@
              @change="getList()"
            ></FieldDatePicker>
          </QueryFilterItem>
          <QueryFilterItem tip-content="财政拨付状态">
          <QueryFilterItem tip-content="财政拨付登记状态">
            <FieldRadio
              v-model="extraParamState.financeStatus"
              :value-enum="FinanceStatusEnumTextV2Query"
@@ -45,7 +45,7 @@
              @change="getList()"
            />
          </QueryFilterItem>
          <QueryFilterItem tip-content="平台充值状态">
          <QueryFilterItem tip-content="平台拨付登记状态">
            <FieldRadio
              v-model="extraParamState.settleStatus"
              :value-enum="SettleStatusEnumTextV2Query"
@@ -174,19 +174,19 @@
  {
    id: '8',
    enCode: 'financeTime',
    name: '登记拨付日期',
    name: '财政拨付登记日期',
    width: 180,
  },
  {
    id: '9',
    enCode: 'settleStatus',
    name: '平台充值登记状态',
    name: '平台拨付登记状态',
    width: 160,
  },
  {
    id: '10',
    enCode: 'settleTime',
    name: '登记充值日期',
    name: '平台拨付登记日期',
    width: 180,
  },
];
@@ -243,22 +243,22 @@
        ),
    },
  },
  {
    data: {
      enCode: 'uploadCertBtn',
      name: '上传凭证',
    },
    emits: {
      onClick: (role) => openCertRewardDialog(role),
    },
    extraProps: {
      hide: (row: API.GetParkBountyApplyListOutput) =>
        !(
          row.settleStatus === SettleStatusEnum.HasSettle ||
          row.financeStatus === FinanceStatusEnum.HasIncome
        ),
    },
  },
  // {
  //   data: {
  //     enCode: 'uploadCertBtn',
  //     name: '上传凭证',
  //   },
  //   emits: {
  //     onClick: (role) => openCertRewardDialog(role),
  //   },
  //   extraProps: {
  //     hide: (row: API.GetParkBountyApplyListOutput) =>
  //       !(
  //         row.settleStatus === SettleStatusEnum.HasSettle ||
  //         row.financeStatus === FinanceStatusEnum.HasIncome
  //       ),
  //   },
  // },
  {
    data: {
      enCode: 'checkBtn',
@@ -411,6 +411,7 @@
  defaultFormParams: {
    incomeType: '' as any as IncomeTypeEnum,
    parkBountyApplyId: '',
    fileUrl: [] as UploadUserFile[],
    financeSumAmount: 0,
    showSuportPlatRecharge: false,
    showSuportFiscalRecharge: false,
@@ -420,6 +421,7 @@
function openRegisterDialog(row?: API.GetParkBountyApplyListOutput) {
  handleRegisterEdit({
    incomeType: '' as any as IncomeTypeEnum,
    fileUrl: [] as UploadUserFile[],
    showSuportPlatRecharge: row.settleStatus === SettleStatusEnum.WaitForSettle,
    showSuportFiscalRecharge: row.financeStatus === FinanceStatusEnum.WaitForIncome,
    parkBountyApplyId: row.id,
src/views/Reward/components/RegisterDialog.vue
@@ -32,6 +32,17 @@
          :precision="2"
        ></ProFormInputNumber>
      </ProFormItemV2>
      <ProFormItemV2
        label="上传入账凭证:"
        prop="fileUrl"
        :check-rules="[{ message: '请上传入账凭证', type: 'upload' }]"
      >
        <ProFormUpload
          v-model:file-url="form.fileUrl"
          :limitFileSize="50"
          accept="doc,docx,pdf,xls,xlsx,jpg/jpeg,png"
        ></ProFormUpload>
      </ProFormItemV2>
    </ProForm>
    <template #footer>
      <span class="dialog-footer">
@@ -50,6 +61,8 @@
  ProFormItemV2,
  ProFormInputNumber,
  ProFormRadio,
  ProFormUpload,
  UploadUserFile,
} from '@bole-core/components';
import { IncomeTypeEnumText, IncomeTypeEnum, FinanceStatusEnum } from '@/constants';
@@ -57,20 +70,12 @@
  name: 'RegisterDialog',
});
type Props = {
  /**
   * @deprecated
   */
  financeSumAmount?: number;
};
const props = withDefaults(defineProps<Props>(), {});
const visible = defineModel({ type: Boolean });
type Form = {
  title?: string;
  financeSumAmount: number;
  fileUrl: UploadUserFile[];
  incomeType: IncomeTypeEnum;
  showSuportPlatRecharge: boolean;
  showSuportFiscalRecharge: boolean;