wupengfei
2025-04-23 e944883d021a71da57b3f6c7ce7101c2bcc31b90
feat: 接口
13个文件已修改
342 ■■■■ 已修改文件
src/components/commonView/FourStreamsMaterialFileTable.vue 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/commonView/SettlementMaterialInfoView.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/commonView/types.ts 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/commonView/utils/index.ts 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/constants/reward.ts 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/ParkBountyApply.ts 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/typings.d.ts 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EnterpriseInfo/EnterpriseInfo.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EnterpriseInfo/components/EnterpriseBasicInfoView.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EnterpriseInfo/components/RewardGrantRecordView.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Reward/RewardGrant.vue 82 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Reward/components/FinancialDialog.vue 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Reward/components/PlateformDialog.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/commonView/FourStreamsMaterialFileTable.vue
@@ -38,21 +38,21 @@
<script setup lang="ts" generic="T">
import {
  FourStreamsMaterialFileTableProps,
  FourStreamsMaterialFileTableItem,
  FourStreamsMaterialFileBusinessTypeEnumText,
  BaseMaterialFileTableItem,
  FourStreamsMaterialFileBusinessTypeEnumText,
} from './types';
import {
  ProTableV2,
  defineColumns,
  defineOperationBtns,
  BlFileUpload,
  bolePreview,
  useDialog,
} from '@bole-core/components';
import FourStreamsBatchMaterialFileDialog from './FourStreamsBatchMaterialFileDialog.vue';
import { downloadFileByUrl } from '@/utils';
import { Message, isFileCanPreview } from '@bole-core/core';
import { Message, isFileCanPreview, downloadWithZip } from '@bole-core/core';
import { useDefineColumns } from '@/hooks';
import FourStreamsBatchMaterialFileDialog from './FourStreamsBatchMaterialFileDialog.vue';
defineOptions({
  name: 'FourStreamsMaterialFileTable',
@@ -85,7 +85,7 @@
        name: '上传',
      },
      extraProps: {
        hide: (row: FourStreamsMaterialFileTableItem) => {
        hide: (row: BaseMaterialFileTableItem<T>) => {
          if (!props.showUploadBtn) return true;
          let fileList = row?.fileList?.filter?.((item) => item.status === 'success');
          return fileList?.length > 0;
@@ -101,7 +101,7 @@
        onClick: (row) => handlePreview(row),
      },
      extraProps: {
        hide: (row: FourStreamsMaterialFileTableItem) => {
        hide: (row: BaseMaterialFileTableItem<T>) => {
          if (!props.showCheckBtn) return true;
          let fileList = row?.fileList?.filter?.((item) => item.status === 'success');
          if (!fileList?.length) {
@@ -125,7 +125,7 @@
        onClick: (row) => handleBatchDownload(row),
      },
      extraProps: {
        hide: (row: FourStreamsMaterialFileTableItem) => {
        hide: (row: BaseMaterialFileTableItem<T>) => {
          return (
            !props.showDownloadBtn ||
            !row?.fileList?.filter?.((item) => item.status === 'success')?.length
@@ -145,7 +145,7 @@
        onClick: (row) => handleDelete(row),
      },
      extraProps: {
        hide: (row: FourStreamsMaterialFileTableItem) => {
        hide: (row: BaseMaterialFileTableItem<T>) => {
          if (!props.showDeleteBtn) return true;
          let fileList = row?.fileList?.filter?.((item) => item.status === 'success');
          return !fileList?.length;
@@ -155,7 +155,7 @@
  ],
});
async function handleDelete(row: FourStreamsMaterialFileTableItem) {
async function handleDelete(row: BaseMaterialFileTableItem<T>) {
  try {
    await Message.deleteMessage();
    row.fileList = [];
@@ -168,11 +168,11 @@
});
const { dialogProps, dialogState } = useDialog();
async function handlePreview(row: FourStreamsMaterialFileTableItem) {
async function handlePreview(row: BaseMaterialFileTableItem<T>) {
  if (row.fileList.length > 1) {
    // currentEnterpriseMaterialFileTableItem.value = row;
    // await nextTick();
    // dialogState.dialogVisible = true;
    currentFourStreamsMaterialFileTableItem.value = row;
    await nextTick();
    dialogState.dialogVisible = true;
  } else {
    bolePreview({
      fileUrl: row.fileList[0].url,
@@ -180,7 +180,7 @@
  }
}
function handleBatchDownload(row: FourStreamsMaterialFileTableItem) {
async function handleBatchDownload(row: BaseMaterialFileTableItem<T>) {
  const successFileList = row.fileList.filter((item) => item.status === 'success');
  if (successFileList.length === 0) {
    Message.errorMessage('没有可下载的文件');
@@ -191,8 +191,11 @@
  } else {
    // downloadWithZip(
    //   successFileList.map((item) => ({ data: item.url })),
    //   `${AllEnterpriseMaterialFileBusinessTypeEnumText[row.fileBusinessType]}材料文件`
    //   `${props.BusinessTypeEnumText[row.fileBusinessType as any]}`
    // );
    currentFourStreamsMaterialFileTableItem.value = row;
    await nextTick();
    dialogState.dialogVisible = true;
  }
}
</script>
src/components/commonView/SettlementMaterialInfoView.vue
@@ -2,7 +2,7 @@
  <ProFormCol>
    <ProFormColItem :span="12">
      <ProFormItemV2 label="本次申报奖励金总额:" prop="applySumAmount">
        <ProFormInputNumber v-model="form.applySumAmount" unit="元" />
        <ProFormInputNumber v-model="form.applySumAmount" formatValue="money" unit="元" />
      </ProFormItemV2>
    </ProFormColItem>
  </ProFormCol>
src/components/commonView/types.ts
@@ -20,6 +20,9 @@
export type ApplyTransferMaterialFileTableItem =
  BaseMaterialFileTableItem<ApplyTransferFileBusinessTypeEnum>;
export type TransferFileEnumInRewardGrandTableItem =
  BaseMaterialFileTableItem<TransferFileEnumInRewardGrand>;
export enum EnterpriseTypeEnum {
  /**
   * 人力资源公司
@@ -102,3 +105,20 @@
  [ApplyTransferFileBusinessTypeEnum.FinanceToFileUrl]: 'financeToFileUrl',
  [ApplyTransferFileBusinessTypeEnum.TransferToFileUrl]: 'transferToFileUrl',
} as const;
export enum TransferFileEnumInRewardGrand {
  /** 拨付凭证*/
  FinanceFileUrl = 200,
  /** 充值凭证*/
  SettleFileUrl = 210,
}
export const TransferFileEnumInRewardGrandText = {
  [TransferFileEnumInRewardGrand.FinanceFileUrl]: '拨付凭证',
  [TransferFileEnumInRewardGrand.SettleFileUrl]: '充值凭证',
};
export const TransferFileEnumInRewardGrandKey = {
  [TransferFileEnumInRewardGrand.FinanceFileUrl]: 'financeFileUrl',
  [TransferFileEnumInRewardGrand.SettleFileUrl]: 'settleFileUrl',
} as const;
src/components/commonView/utils/index.ts
@@ -6,6 +6,9 @@
  FourStreamsMaterialFileBusinessTypeEnum,
  FourStreamsMaterialFileBusinessTypeEnumKey,
  FourStreamsMaterialFileTableItem,
  TransferFileEnumInRewardGrand,
  TransferFileEnumInRewardGrandKey,
  TransferFileEnumInRewardGrandTableItem,
} from '../types';
export class FourStreamsMaterialUtils {
@@ -31,6 +34,12 @@
  static ApplyTransferMaterialFile = [
    ApplyTransferFileBusinessTypeEnum.FinanceToFileUrl,
    ApplyTransferFileBusinessTypeEnum.TransferToFileUrl,
  ];
  /**财政拨付和平台充值凭证  奖励金发放*/
  static TransferFileEnumInRewardGrandFile = [
    TransferFileEnumInRewardGrand.FinanceFileUrl,
    TransferFileEnumInRewardGrand.SettleFileUrl,
  ];
  static isFourStreamsParkType(parkTypeName) {
@@ -78,6 +87,20 @@
      } as ApplyTransferMaterialFileTableItem;
    });
  }
  static initApplyRewardGrandFileList<
    T extends { financeFileUrl?: string; settleFileUrl?: string }
  >(data: T) {
    return this.TransferFileEnumInRewardGrandFile.map((item) => {
      const filePathList = data[TransferFileEnumInRewardGrandKey[item]]
        ? data[TransferFileEnumInRewardGrandKey[item]].split('|')
        : [];
      return {
        fileBusinessType: item,
        fileList: filePathList.map(convertApi2FormUrl),
      } as TransferFileEnumInRewardGrandTableItem;
    });
  }
}
export class ParkTypeUtils {
src/constants/reward.ts
@@ -38,18 +38,34 @@
export enum SettleStatusEnum {
  /**
   * 待发放
   * 待充值
   */
  WaitForSettle = 1,
  /**
   * 已发放
   * 已充值
   */
  HasSettle = 2,
}
export const SettleStatusEnumText = {
  [SettleStatusEnum.WaitForSettle]: '待发放',
  [SettleStatusEnum.HasSettle]: '已发放',
  [SettleStatusEnum.WaitForSettle]: '待充值',
  [SettleStatusEnum.HasSettle]: '已充值',
};
export enum FinanceStatusEnum {
  /**
   * 待拨付
   */
  WaitForIncome = 1,
  /**
   * 已拨付
   */
  HasIncome = 2,
}
export const FinanceStatusEnumText = {
  [FinanceStatusEnum.WaitForIncome]: '待拨付',
  [FinanceStatusEnum.HasIncome]: '已拨付',
};
export enum IncomeStatusEnum {
src/services/api/ParkBountyApply.ts
@@ -493,6 +493,21 @@
  );
}
/** 导入奖励金入账 POST /api/ParkBountyApply/ImportParkBountyData */
export async function importParkBountyData(
  body: API.ImportBountyApplyDataInput,
  options?: API.RequestConfig
) {
  return request<API.ImportBountyApplyDataOutput>('/api/ParkBountyApply/ImportParkBountyData', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}
/** 内部审核 POST /api/ParkBountyApply/IncheckParkBountyApply */
export async function incheckParkBountyApply(
  body: API.IncheckParkBountyApplyInput,
@@ -568,6 +583,21 @@
  });
}
/** 政务端—奖励金发放—上传财政拨付凭证 POST /api/ParkBountyApply/ParkBountyApplyFinanceBill */
export async function parkBountyApplyFinanceBill(
  body: API.ParkBountyApplyFinanceFileInput,
  options?: API.RequestConfig
) {
  return request<number>('/api/ParkBountyApply/ParkBountyApplyFinanceBill', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}
/** 财政入账上传凭证 POST /api/ParkBountyApply/ParkBountyApplyFinanceFile */
export async function parkBountyApplyFinanceFile(
  body: API.ParkBountyApplyRechargeFileInput,
@@ -583,7 +613,7 @@
  });
}
/** 政务端—奖励金发放—上传凭证 POST /api/ParkBountyApply/ParkBountyApplySettle */
/** 政务端—奖励金发放—上传充值凭证 POST /api/ParkBountyApply/ParkBountyApplySettle */
export async function parkBountyApplySettle(
  body: API.ParkBountyApplySettleInput,
  options?: API.RequestConfig
src/services/api/typings.d.ts
@@ -5757,6 +5757,23 @@
    configuration?: Record<string, any>;
  }
  interface ExportBountyApplyData {
    /** 企业名称 */
    enterpriseName: string;
    /** 信用代码 */
    societyCreditCode: string;
    /** 财政拨付金额 */
    financeToAmountStr?: string;
    /** 平台充值金额 */
    transferToAmountStr?: string;
    /** 财政拨付金额 */
    financeToAmount?: number;
    /** 平台充值金额 */
    transferToAmount?: number;
    /** 备注 */
    remark?: string;
  }
  interface ExportInsStaffInput {
    companyId?: string;
    url?: string;
@@ -5873,6 +5890,8 @@
  }
  type FinanceStatusEnum = 1 | 2;
  type FinanceTypeEnum = 10 | 20;
  interface FirstPartyCompanyAuditDatilOutput {
    id?: string;
@@ -6655,6 +6674,7 @@
    remianAmount?: number;
    payRemark?: string;
    fileUrl?: string;
    financeType?: FinanceTypeEnum;
    payFileUrls?: string[];
  }
@@ -7986,6 +8006,7 @@
    inCheckStatus?: BountyCheckStatusEnum;
    settleStatus?: SettleStatusEnum;
    incomeStatus?: IncomeStatusEnum;
    financeStatus?: FinanceStatusEnum;
  }
  interface GetParkBountyApplyListOutput {
@@ -8166,15 +8187,26 @@
    id?: string;
    /** 申请批次号 */
    batchNo?: string;
    /** 发放日期 */
    settleTime?: string;
    /** 入账时间 */
    incomeTime?: string;
    incomeStatus?: TransferToStatusEnum;
    /** 发放金额 */
    /** 申报总额 */
    applySumAmount?: number;
    /** 入账凭证 */
    /** 平台充值入账时间 */
    transferToTime?: string;
    transferToStatus?: TransferToStatusEnum;
    /** 平台充值金额 */
    transferToAmount?: number;
    /** 平台充值入账凭证 */
    transferToFileUrl?: string;
    /** 财政拨付金额 */
    financeToAmount?: number;
    /** 财政拨付入账时间 */
    financeToTime?: string;
    /** 财政拨付发放日期 */
    financeTime?: string;
    /** 平台充值发放日期 */
    settleTime?: string;
    financeToStatus?: FinanceStatusEnum;
    /** 拨付入账凭证 */
    financeToFileUrl?: string;
  }
  interface GetParkCustomerBountyGrantOutputPageOutput {
@@ -8241,6 +8273,8 @@
    payCount?: number;
    /** 最近发放时间 */
    lastPayTime?: string;
    /** 发放总额 */
    bountySumAmount?: number;
    /** 奖励金余额 */
    bountyAmount?: number;
  }
@@ -8737,6 +8771,8 @@
  interface GetUserBaseEnterpriseInfoOutput {
    /** 奖励金余额 */
    bountyAmount?: number;
    /** 充值余额 */
    rechargeAmount?: number;
    enterpriseName?: string;
    societyCreditCode?: string;
    licenseUrl?: string;
@@ -9575,6 +9611,18 @@
  interface IdentityUserUpdateRolesDto {
    roleNames: string[];
  }
  interface ImportBountyApplyDataInput {
    /** 导入地址 */
    url?: string;
    /** 奖励金申请Id */
    parkBountyApplyId?: string;
  }
  interface ImportBountyApplyDataOutput {
    /** 错误数据列表 */
    error?: ExportBountyApplyData[];
  }
  interface ImportIdentityCardInput {
@@ -14332,6 +14380,10 @@
    financeSumAmount?: number;
    /** 平台充值总额 */
    settleSumAmount?: number;
    /** 发放凭证 */
    settleFileUrl?: string;
    /** 财政发放凭证 */
    financeFileUrl?: string;
  }
  interface OutcheckParkBountyApplyInput {
@@ -14468,6 +14520,14 @@
    data?: ParkBountyApplyDetailInfo[];
  }
  interface ParkBountyApplyFinanceFileInput {
    parkBountyApplyId?: string;
    /** 发放凭证 */
    financeFileUrl?: string;
    /** 发放金额 */
    financeSumAmount?: number;
  }
  interface ParkBountyApplyRechargeFileInput {
    parkBountyApplyDetailId?: string;
    /** 平台充值凭证 */
src/views/EnterpriseInfo/EnterpriseInfo.vue
@@ -123,7 +123,7 @@
  },
  {
    id: '10',
    enCode: 'bountyAmount',
    enCode: 'bountySumAmount',
    name: '发放总额',
    width: 150,
  },
@@ -196,6 +196,7 @@
    columnsRenderProps: {
      lastApplyTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
      lastPayTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
      bountySumAmount: { type: 'money' },
      bountyAmount: { type: 'money' },
      enterpriseType: { type: 'enum', valueEnum: EnterpriseTypeText },
    },
src/views/EnterpriseInfo/components/EnterpriseBasicInfoView.vue
@@ -42,8 +42,8 @@
              </ProFormItemV2>
            </ProFormColItem>
            <ProFormColItem :span="8">
              <ProFormItemV2 label="开户支行:" prop="bankName">
                <ProFormText v-model.trim="detail.bankName" />
              <ProFormItemV2 label="开户支行:" prop="bankBranchName">
                <ProFormText v-model.trim="detail.bankBranchName" />
              </ProFormItemV2>
            </ProFormColItem>
            <ProFormColItem :span="8">
src/views/EnterpriseInfo/components/RewardGrantRecordView.vue
@@ -43,27 +43,27 @@
  },
  {
    id: '2',
    enCode: 'batchNo',
    enCode: 'applySumAmount',
    name: '申报总额',
  },
  {
    id: '3',
    enCode: 'applySumAmount',
    enCode: 'financeToAmount',
    name: '财政拨付金额',
  },
  {
    id: '4',
    enCode: 'settleTime',
    enCode: 'financeTime',
    name: '财政拨付日期',
  },
  {
    id: '5',
    enCode: 'applySumAmount',
    enCode: 'transferToAmount',
    name: '平台充值金额',
  },
  {
    id: '6',
    enCode: 'incomeTime',
    enCode: 'settleTime',
    name: '平台充值日期',
  },
];
@@ -118,14 +118,15 @@
    },
    columnsRenderProps: {
      settleTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
      incomeTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
      financeTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
      applySumAmount: { type: 'money' },
      incomeStatus: { type: 'enum', valueEnum: IncomeStatusEnumText },
      financeToAmount: { type: 'money' },
      transferToAmount: { type: 'money' },
    },
  }
);
function openMaterialFileDialog(row: API.ParkBountyApplyTransferDetailInfo) {
function openMaterialFileDialog(row: API.GetParkCustomerBountyGrantOutput) {
  handleMaterialFileAdd({
    list: FourStreamsMaterialUtils.initApplyTransferMaterialFileList(row),
  });
src/views/Reward/RewardGrant.vue
@@ -25,7 +25,16 @@
              @change="getList()"
            ></FieldDatePicker>
          </QueryFilterItem>
          <QueryFilterItem>
          <QueryFilterItem tip-content="财政拨付状态">
            <FieldRadio
              v-model="extraParamState.financeStatus"
              :value-enum="FinanceStatusEnumText"
              buttonStyle
              showAllBtn
              @change="getList()"
            />
          </QueryFilterItem>
          <QueryFilterItem tip-content="平台充值状态">
            <FieldRadio
              v-model="extraParamState.settleStatus"
              :value-enum="SettleStatusEnumText"
@@ -55,7 +64,7 @@
        :show-check-btn="false"
        downloadBtnText="查看"
        title="查看凭证"
        :BusinessTypeEnumText="ApplyTransferFileBusinessTypeEnumText"
        :BusinessTypeEnumText="TransferFileEnumInRewardGrandText"
      />
      <FinancialDialog v-bind="dialogFinancialProps"></FinancialDialog>
      <PlateformDialog v-bind="dialogPlateformProps"></PlateformDialog>
@@ -80,7 +89,12 @@
} from '@bole-core/components';
import { Message, OrderInputType } from '@bole-core/core';
import { format } from '@/utils';
import { SettleStatusEnum, SettleStatusEnumText } from '@/constants';
import {
  SettleStatusEnum,
  SettleStatusEnumText,
  FinanceStatusEnum,
  FinanceStatusEnumText,
} from '@/constants';
import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
import FinancialDialog from './components/FinancialDialog.vue';
import PlateformDialog from './components/PlateformDialog.vue';
@@ -89,8 +103,8 @@
import { useQueryClient } from '@tanstack/vue-query';
import { FourStreamsMaterialUtils } from '@/components/commonView/utils';
import {
  ApplyTransferMaterialFileTableItem,
  ApplyTransferFileBusinessTypeEnumText,
  TransferFileEnumInRewardGrandText,
  TransferFileEnumInRewardGrandTableItem,
} from '@/components/commonView/types';
defineOptions({
@@ -130,12 +144,12 @@
  },
  {
    id: '7',
    enCode: 'settleStatus',
    enCode: 'financeStatus',
    name: '财政拨付状态',
  },
  {
    id: '8',
    enCode: 'settleTime',
    enCode: 'financeTime',
    name: '拨付日期',
  },
  {
@@ -170,7 +184,7 @@
    },
    extraProps: {
      hide: (row: API.GetParkBountyApplyListOutput) =>
        row.settleStatus === SettleStatusEnum.HasSettle,
        row.financeStatus === FinanceStatusEnum.HasIncome,
    },
  },
  {
@@ -196,7 +210,8 @@
    },
    extraProps: {
      hide: (row: API.GetParkBountyApplyListOutput) =>
        row.settleStatus === SettleStatusEnum.WaitForSettle,
        row.settleStatus === SettleStatusEnum.WaitForSettle &&
        row.financeStatus === FinanceStatusEnum.WaitForIncome,
    },
  },
]);
@@ -230,6 +245,7 @@
        },
        batchNo: extraParamState.batchNo,
        settleStatus: extraParamState.settleStatus,
        financeStatus: extraParamState.financeStatus,
        creationTimeBegin: format(extraParamState.creationTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
        creationTimeEnd: format(extraParamState.creationTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
        settleTimeBegin: format(extraParamState.settleTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
@@ -245,6 +261,7 @@
    defaultExtraParams: {
      batchNo: '',
      settleStatus: '' as any as SettleStatusEnum,
      financeStatus: '' as any as FinanceStatusEnum,
      creationTime: [] as unknown as ModelValueType,
      settleTime: [] as unknown as ModelValueType,
      orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }],
@@ -253,13 +270,15 @@
      applyMonth: { type: 'date', format: 'YYYY年MM月' },
      creationTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
      settleTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
      financeTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
      applySumAmount: { type: 'money' },
      settleStatus: { type: 'enum', valueEnum: SettleStatusEnumText },
      financeStatus: { type: 'enum', valueEnum: FinanceStatusEnumText },
    },
  }
);
function goDetail(row: any) {
function goDetail(row: API.GetParkBountyApplyListOutput) {
  router.push({
    name: 'RewardDeclareDetail',
    params: {
@@ -268,15 +287,15 @@
  });
}
function openMaterialFileDialog(row: API.ParkBountyApplyTransferDetailInfo) {
function openMaterialFileDialog(row: API.GetParkBountyApplyListOutput) {
  handleMaterialFileAdd({
    list: FourStreamsMaterialUtils.initApplyTransferMaterialFileList(row),
    list: FourStreamsMaterialUtils.initApplyRewardGrandFileList(row),
  });
}
const { dialogProps: dialogMaterialFileProps, handleAdd: handleMaterialFileAdd } = useFormDialog({
  defaultFormParams: {
    list: [] as ApplyTransferMaterialFileTableItem[],
    list: [] as TransferFileEnumInRewardGrandTableItem[],
  },
});
@@ -289,25 +308,26 @@
  onConfirm: handleFinancial,
  defaultFormParams: {
    parkBountyApplyId: '',
    amount: 0,
    settleFileUrl: [] as UploadUserFile[],
    financeSumAmount: 0,
    financeFileUrl: [] as UploadUserFile[],
  },
});
function openFinancialDialog(row?: API.GetParkBountyApplyListOutput) {
  handleFinancialEdit({
    parkBountyApplyId: row.id,
    amount: 0,
    settleFileUrl: [] as UploadUserFile[],
    financeSumAmount: 0,
    financeFileUrl: [] as UploadUserFile[],
  });
}
async function handleFinancial() {
  try {
    let params: API.ParkBountyApplySettleInput = {
    let params: API.ParkBountyApplyFinanceFileInput = {
      parkBountyApplyId: editFinancialForm.parkBountyApplyId,
      settleFileUrl: editFinancialForm.settleFileUrl.map((x) => x.path).join('|'),
      financeSumAmount: editFinancialForm.financeSumAmount,
      financeFileUrl: editFinancialForm.financeFileUrl.map((x) => x.path).join('|'),
    };
    let res = await parkBountyApplyServices.parkBountyApplySettle(params);
    let res = await parkBountyApplyServices.parkBountyApplyFinanceBill(params);
    if (res) {
      Message.successMessage('操作成功');
      getList(paginationState.pageIndex);
@@ -326,7 +346,7 @@
  onConfirm: handlePlateform,
  defaultFormParams: {
    parkBountyApplyId: '',
    amount: 0,
    settleSumAmount: 0,
    settleFileUrl: [] as UploadUserFile[],
  },
});
@@ -334,12 +354,28 @@
function openPlateformDialog(row?: API.GetParkBountyApplyListOutput) {
  handlePlateformEdit({
    parkBountyApplyId: row.id,
    amount: 0,
    settleSumAmount: 0,
    settleFileUrl: [] as UploadUserFile[],
  });
}
async function handlePlateform() {}
async function handlePlateform() {
  try {
    let params: API.ParkBountyApplySettleInput = {
      parkBountyApplyId: editPlateformForm.parkBountyApplyId,
      settleSumAmount: editPlateformForm.settleSumAmount,
      settleFileUrl: editPlateformForm.settleFileUrl.map((x) => x.path).join('|'),
    };
    let res = await parkBountyApplyServices.parkBountyApplySettle(params);
    if (res) {
      Message.successMessage('操作成功');
      getList(paginationState.pageIndex);
      queryClient.invalidateQueries({
        queryKey: ['parkBountyApplyServices/getGoverDataBoard'],
      });
    }
  } catch (error) {}
}
</script>
<style lang="scss" scoped>
src/views/Reward/components/FinancialDialog.vue
@@ -11,18 +11,23 @@
    <ProForm :model="innerForm" ref="dialogForm" label-width="120px">
      <ProFormItemV2
        label="拨付总额:"
        prop="amount"
        prop="financeSumAmount"
        :check-rules="[{ message: '请输入拨付总额', type: 'number' }]"
      >
        <ProFormInputNumber v-model="innerForm.amount" :controls="false" :min="0" :precision="2" />
        <ProFormInputNumber
          v-model="innerForm.financeSumAmount"
          :controls="false"
          :min="0"
          :precision="2"
        />
      </ProFormItemV2>
      <ProFormItemV2
        label="上传拨付凭证:"
        prop="settleFileUrl"
        prop="financeFileUrl"
        :check-rules="[{ message: '请上传发放凭证', type: 'upload' }]"
      >
        <ProFormUpload
          v-model:file-url="innerForm.settleFileUrl"
          v-model:file-url="innerForm.financeFileUrl"
          :limitFileSize="50"
          accept="doc,docx,pdf,xls,xlsx,jpg/jpeg,png"
        >
@@ -58,8 +63,8 @@
  modelValue: boolean;
  form?: {
    parkBountyApplyId: string;
    amount: number;
    settleFileUrl: UploadUserFile[];
    financeSumAmount: number;
    financeFileUrl: UploadUserFile[];
  };
};
src/views/Reward/components/PlateformDialog.vue
@@ -11,10 +11,15 @@
    <ProForm :model="innerForm" ref="dialogForm" label-width="120px">
      <ProFormItemV2
        label="充值总额:"
        prop="amount"
        prop="settleSumAmount"
        :check-rules="[{ message: '请输入充值总额', type: 'number' }]"
      >
        <ProFormInputNumber v-model="innerForm.amount" :controls="false" :min="0" :precision="2" />
        <ProFormInputNumber
          v-model="innerForm.settleSumAmount"
          :controls="false"
          :min="0"
          :precision="2"
        />
      </ProFormItemV2>
      <ProFormItemV2
        label="上传充值凭证:"
@@ -57,7 +62,7 @@
  modelValue: boolean;
  form?: {
    parkBountyApplyId: string;
    amount: number;
    settleSumAmount: number;
    settleFileUrl: UploadUserFile[];
  };
};