From 0b73bba28e2a8473ab71f5c8b4760c1995ff4fc1 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 21 十月 2025 18:29:07 +0800
Subject: [PATCH] fix: s
---
src/views/Reward/RewardGrantRegister.vue | 161 ++++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 133 insertions(+), 28 deletions(-)
diff --git a/src/views/Reward/RewardGrantRegister.vue b/src/views/Reward/RewardGrantRegister.vue
index c096eb3..bd2dfa9 100644
--- a/src/views/Reward/RewardGrantRegister.vue
+++ b/src/views/Reward/RewardGrantRegister.vue
@@ -11,6 +11,7 @@
:reset="reset"
:operationBtns="registerOperationBtns"
:column="rewardGrantRegisterColumns"
+ :showFinanceStatus="true"
>
<template #btn>
<el-button type="primary" link @click="downloadTemp()">涓嬭浇妯℃澘</el-button>
@@ -26,15 +27,12 @@
v-bind="dialogMaterialFileProps"
:show-upload-btn="false"
:show-delete-btn="false"
- :show-check-btn="false"
- downloadBtnText="鏌ョ湅"
title="鏌ョ湅鍑瘉"
:BusinessTypeEnumText="TransferFileEnumInRewardGrandText"
/>
</ChunkCellV2>
</DetailView>
<template #footer>
- <el-button @click="handleBack">鍙栨秷</el-button>
<el-button @click="handleBack" type="primary">纭</el-button>
</template>
</PageFormLayout>
@@ -61,7 +59,6 @@
import { useQuery } from '@tanstack/vue-query';
import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
import { useRouteView } from '@/hooks';
-import { useIndustrialParkDropDownList } from '@/hooks/industrialPark';
import {
CustomerApplyFileTypeListItem,
EnterpriseApplyFileUtils,
@@ -74,12 +71,12 @@
SettleStatusEnum,
TransferFileEnumInRewardGrandText,
} from '@/constants';
-import { useDeclareEnterpriseTable, rewardGrantRegisterColumns } from '@/hooks';
+import { useDeclareEnterpriseTable, useRewardGrantRegisterColumns } from '@/hooks';
import { TransferFileEnumInRewardGrandTableItem } from '@/components/commonView/types';
import RegisterGrantDialog from './components/RegisterGrantDialog.vue';
import BatchRegisterDialog from './components/BatchRegisterDialog.vue';
import UploadFileDialog from './components/UploadFileDialog.vue';
-import { downloadFileByUrl } from '@/utils';
+import { convertFormUrl2ApiBySeparator, downloadFileByUrl } from '@/utils';
import { Message } from '@bole-core/core';
import { ImportParkBountyDataHeaderMap } from './constants';
@@ -96,10 +93,17 @@
parkTypeName: '',
applyMonth: '',
applySumAmount: 0,
+ financeSumAmount: 0,
+ settleSumAmount: 0,
parkCollectFileList: [] as CustomerApplyFileTypeListItem[],
calculationFileList: [] as CustomerApplyFileTypeListItem[],
- suportEnterpriseUpload: false,
+ extraListFiles: [] as CustomerApplyFileTypeListItem[],
+
+ suportPlatRecharge: false,
+ suportFinance: false,
});
+
+const { rewardGrantRegisterColumns } = useRewardGrantRegisterColumns();
const { extraParamState, paginationState, getList, reset, proTableProps } =
useDeclareEnterpriseTable({
@@ -115,6 +119,13 @@
},
emits: {
onClick: (row) => openRegisterGrantDialog(row),
+ },
+ extraProps: {
+ hide: (row: API.ParkBountyApplyTransferDetailInfo) =>
+ !(
+ row.settleStatus === SettleStatusEnum.WaitForSettle ||
+ row.financeStatus === FinanceStatusEnum.WaitForIncome
+ ),
},
},
{
@@ -145,26 +156,31 @@
form.parkTypeName = data.parkTypeName;
form.applyMonth = data.applyMonth;
form.applySumAmount = data.applySumAmount;
+ form.financeSumAmount = data.financeSumAmount;
+ form.settleSumAmount = data.settleSumAmount;
form.parkCollectFileList = EnterpriseApplyFileUtils.convertApiFileToParkCollectFileList(
data.listFiles
);
form.calculationFileList = EnterpriseApplyFileUtils.convertApiFileToParkCollectFileList(
data.collectCountListFiles
);
- form.suportEnterpriseUpload = data.suportEnterpriseUpload;
+ form.extraListFiles = EnterpriseApplyFileUtils.convertApiFileToExtraListFiles(
+ data.extraListFiles
+ );
+ form.suportPlatRecharge = data.suportPlatRecharge;
+ form.suportFinance = data.suportFinance;
getList();
},
});
-
-const { getIndustrialParkTypeNameById } = useIndustrialParkDropDownList();
const { dialogProps: dialogMaterialFileProps, handleAdd: handleMaterialFileAdd } = useFormDialog({
defaultFormParams: {
list: [] as TransferFileEnumInRewardGrandTableItem[],
},
});
-function openMaterialFileDialog(row: API.GetParkBountyApplyListOutput) {
+
+function openMaterialFileDialog(row: API.ParkBountyApplyTransferDetailInfo) {
handleMaterialFileAdd({
list: FourStreamsMaterialUtils.initApplyRewardGrandFileList(row),
});
@@ -179,42 +195,90 @@
defaultFormParams: {
incomeType: '' as any as IncomeTypeEnum,
parkBountyApplyId: '',
+ parkBountyApplyDetailId: '',
fileUrl: [] as UploadUserFile[],
- financeSumAmount: 0,
+ amount: 0,
showSuportPlatRecharge: false,
showSuportFiscalRecharge: false,
+ // showSuportFinance: false,
},
});
-function openRegisterGrantDialog(row?: API.GetParkBountyApplyListOutput) {
+function openRegisterGrantDialog(row?: API.ParkBountyApplyTransferDetailInfo) {
handleRegisterGrantEdit({
incomeType: '' as any as IncomeTypeEnum,
fileUrl: [] as UploadUserFile[],
showSuportPlatRecharge: row.settleStatus === SettleStatusEnum.WaitForSettle,
- showSuportFiscalRecharge: row.financeStatus === FinanceStatusEnum.WaitForIncome,
- parkBountyApplyId: row.id,
- financeSumAmount: 0,
+ showSuportFiscalRecharge:
+ form.suportFinance && row.financeStatus === FinanceStatusEnum.WaitForIncome,
+ parkBountyApplyId: row.parkBountyApplyId,
+ parkBountyApplyDetailId: row.parkBountyApplyDetailId,
+ amount: 0,
});
}
-async function handleRegisterGrant() {}
+async function handleRegisterGrant() {
+ if (editRegisterForm.incomeType === IncomeTypeEnum.Fiscal) {
+ await parkBountyApplyFinanceReg();
+ } else {
+ await parkBountyApplyTransferReg();
+ }
+}
-const { dialogProps: dialogUploadFileProps, handleAdd: handleUploadFileAdd } = useFormDialog({
+async function parkBountyApplyFinanceReg() {
+ try {
+ let params: API.ParkBountyApplyRechargeInput = {
+ parkBountyApplyDetailId: editRegisterForm.parkBountyApplyDetailId,
+ bountyAmount: editRegisterForm.amount,
+ parkBountyApplyId: editRegisterForm.parkBountyApplyId,
+ financeToFileUrl: convertFormUrl2ApiBySeparator(editRegisterForm.fileUrl),
+ };
+ let res = await parkBountyApplyServices.parkBountyApplyFinanceReg(params);
+ if (res) {
+ Message.successMessage('鎿嶄綔鎴愬姛');
+ getList(paginationState.pageIndex);
+ }
+ } catch (error) {}
+}
+async function parkBountyApplyTransferReg() {
+ try {
+ let params: API.ParkBountyApplyTransferInput = {
+ parkBountyApplyDetailId: editRegisterForm.parkBountyApplyDetailId,
+ transferToAmount: editRegisterForm.amount,
+ parkBountyApplyId: editRegisterForm.parkBountyApplyId,
+ transferToFileUrl: convertFormUrl2ApiBySeparator(editRegisterForm.fileUrl),
+ };
+ let res = await parkBountyApplyServices.parkBountyApplyTransferReg(params);
+ if (res) {
+ Message.successMessage('鎿嶄綔鎴愬姛');
+ getList(paginationState.pageIndex);
+ }
+ } catch (error) {}
+}
+
+const {
+ dialogProps: dialogUploadFileProps,
+ handleAdd: handleUploadFileAdd,
+ editForm: uploadFileForm,
+} = useFormDialog({
onConfirm: handleImportParkBountyData,
defaultFormParams: {
parkBountyApplyId: '',
url: [] as UploadUserFile[],
- certificateUrl: [] as UploadUserFile[],
+ financeToFileUrl: [] as UploadUserFile[],
+ transferToFileUrl: [] as UploadUserFile[],
},
});
-async function handleImportParkBountyData(response: UploadUserFile) {
+async function handleImportParkBountyData() {
try {
let params: API.ImportBountyApplyDataInput = {
- parkBountyApplyId: id,
- url: response.url,
+ parkBountyApplyId: uploadFileForm.parkBountyApplyId,
+ url: uploadFileForm.url?.[0]?.path ?? '',
+ financeToFileUrl: convertFormUrl2ApiBySeparator(uploadFileForm.financeToFileUrl),
+ transferToFileUrl: convertFormUrl2ApiBySeparator(uploadFileForm.transferToFileUrl),
};
- let res = await parkBountyApplyServices.importParkBountyData(params, {
+ let res = await parkBountyApplyServices.importParkBountyDataReg(params, {
timeout: 100000000,
});
if (res.error.length > 0) {
@@ -233,7 +297,8 @@
handleUploadFileAdd({
parkBountyApplyId: id,
url: [] as UploadUserFile[],
- certificateUrl: [] as UploadUserFile[],
+ financeToFileUrl: [] as UploadUserFile[],
+ transferToFileUrl: [] as UploadUserFile[],
});
}
@@ -241,7 +306,8 @@
try {
handleBatchRegisterAdd({
parkBountyApplyId: id,
- showSuportPlatRecharge: false,
+ showSuportPlatRecharge: form.suportPlatRecharge,
+ showSuportFiscalRecharge: form.suportFinance,
});
} catch (error) {}
}
@@ -256,15 +322,54 @@
parkBountyApplyDetailIds: [] as string[],
amount: 0,
companyList: [] as API.GetNotTransferCompanyNameListOutput[],
- incomeType: IncomeTypeEnum.Fiscal,
+ incomeType: '' as any as IncomeTypeEnum,
parkBountyApplyId: '',
showSuportPlatRecharge: false,
+ showSuportFiscalRecharge: false,
- certificateUrl: [] as UploadUserFile[],
+ fileUrl: [] as UploadUserFile[],
},
});
-async function handleBatchRegister() {}
+async function handleBatchRegister() {
+ if (batchRegisterEditForm.incomeType === IncomeTypeEnum.Fiscal) {
+ await parkBountyApplyBatchFinanceReg();
+ } else {
+ await parkBountyApplyBatchTransferReg();
+ }
+}
+
+async function parkBountyApplyBatchFinanceReg() {
+ try {
+ let params: API.ParkBountyApplyBatchFinanceInput = {
+ parkBountyApplyDetailId: batchRegisterEditForm.parkBountyApplyDetailIds,
+ financeToAmount: batchRegisterEditForm.amount,
+ parkBountyApplyId: id,
+ financeToFileUrl: convertFormUrl2ApiBySeparator(batchRegisterEditForm.fileUrl),
+ };
+ let res = await parkBountyApplyServices.parkBountyApplyBatchFinanceReg(params);
+ if (res) {
+ Message.successMessage('鎿嶄綔鎴愬姛');
+ getList(paginationState.pageIndex);
+ }
+ } catch (error) {}
+}
+
+async function parkBountyApplyBatchTransferReg() {
+ try {
+ let params: API.ParkBountyApplyBatchTransferInput = {
+ parkBountyApplyDetailId: batchRegisterEditForm.parkBountyApplyDetailIds,
+ transferToAmount: batchRegisterEditForm.amount,
+ parkBountyApplyId: id,
+ transferToFileUrl: convertFormUrl2ApiBySeparator(batchRegisterEditForm.fileUrl),
+ };
+ let res = await parkBountyApplyServices.parkBountyApplyBatchTransferReg(params);
+ if (res) {
+ Message.successMessage('鎿嶄綔鎴愬姛');
+ getList(paginationState.pageIndex);
+ }
+ } catch (error) {}
+}
function downloadTemp() {
downloadFileByUrl(BountyBatchApplyTransferTemp, '鐧昏妯℃澘');
--
Gitblit v1.9.1