From e944883d021a71da57b3f6c7ce7101c2bcc31b90 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期三, 23 四月 2025 09:14:27 +0800
Subject: [PATCH] feat: 接口
---
src/views/EnterpriseInfo/components/RewardGrantRecordView.vue | 17 +-
src/services/api/typings.d.ts | 74 +++++++++++-
src/views/Reward/components/PlateformDialog.vue | 11 +
src/views/EnterpriseInfo/EnterpriseInfo.vue | 3
src/components/commonView/SettlementMaterialInfoView.vue | 2
src/views/Reward/RewardGrant.vue | 82 +++++++++---
src/views/EnterpriseInfo/components/EnterpriseBasicInfoView.vue | 4
src/constants/reward.ts | 24 +++
src/components/commonView/types.ts | 20 +++
src/components/commonView/utils/index.ts | 23 +++
src/views/Reward/components/FinancialDialog.vue | 17 +-
src/components/commonView/FourStreamsMaterialFileTable.vue | 33 +++--
src/services/api/ParkBountyApply.ts | 32 +++++
13 files changed, 271 insertions(+), 71 deletions(-)
diff --git a/src/components/commonView/FourStreamsMaterialFileTable.vue b/src/components/commonView/FourStreamsMaterialFileTable.vue
index 4fb8aaf..2ed72e4 100644
--- a/src/components/commonView/FourStreamsMaterialFileTable.vue
+++ b/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>
diff --git a/src/components/commonView/SettlementMaterialInfoView.vue b/src/components/commonView/SettlementMaterialInfoView.vue
index 5558441..25ce58f 100644
--- a/src/components/commonView/SettlementMaterialInfoView.vue
+++ b/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>
diff --git a/src/components/commonView/types.ts b/src/components/commonView/types.ts
index 997e2ba..d3c441b 100644
--- a/src/components/commonView/types.ts
+++ b/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;
diff --git a/src/components/commonView/utils/index.ts b/src/components/commonView/utils/index.ts
index 0122f02..badfdc5 100644
--- a/src/components/commonView/utils/index.ts
+++ b/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 {
diff --git a/src/constants/reward.ts b/src/constants/reward.ts
index 536b7df..fdf0670 100644
--- a/src/constants/reward.ts
+++ b/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 {
diff --git a/src/services/api/ParkBountyApply.ts b/src/services/api/ParkBountyApply.ts
index 908a4cd..58e1366 100644
--- a/src/services/api/ParkBountyApply.ts
+++ b/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
diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts
index 0bd9a1c..aa699ac 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -5757,6 +5757,23 @@
configuration?: Record<string, any>;
}
+ interface ExportBountyApplyData {
+ /** 浼佷笟鍚嶇О */
+ enterpriseName: string;
+ /** 淇$敤浠g爜 */
+ 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;
+ /** 濂栧姳閲戠敵璇稩d */
+ 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;
/** 骞冲彴鍏呭�煎嚟璇� */
diff --git a/src/views/EnterpriseInfo/EnterpriseInfo.vue b/src/views/EnterpriseInfo/EnterpriseInfo.vue
index 5e21bbc..10434a9 100644
--- a/src/views/EnterpriseInfo/EnterpriseInfo.vue
+++ b/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 },
},
diff --git a/src/views/EnterpriseInfo/components/EnterpriseBasicInfoView.vue b/src/views/EnterpriseInfo/components/EnterpriseBasicInfoView.vue
index fbc2d2e..7ffa8c1 100644
--- a/src/views/EnterpriseInfo/components/EnterpriseBasicInfoView.vue
+++ b/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">
diff --git a/src/views/EnterpriseInfo/components/RewardGrantRecordView.vue b/src/views/EnterpriseInfo/components/RewardGrantRecordView.vue
index 435b915..2f94db3 100644
--- a/src/views/EnterpriseInfo/components/RewardGrantRecordView.vue
+++ b/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),
});
diff --git a/src/views/Reward/RewardGrant.vue b/src/views/Reward/RewardGrant.vue
index 5891bf6..83dc7d8 100644
--- a/src/views/Reward/RewardGrant.vue
+++ b/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骞碝M鏈�' },
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>
diff --git a/src/views/Reward/components/FinancialDialog.vue b/src/views/Reward/components/FinancialDialog.vue
index a32c086..1bf081d 100644
--- a/src/views/Reward/components/FinancialDialog.vue
+++ b/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[];
};
};
diff --git a/src/views/Reward/components/PlateformDialog.vue b/src/views/Reward/components/PlateformDialog.vue
index c4136eb..79931a0 100644
--- a/src/views/Reward/components/PlateformDialog.vue
+++ b/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[];
};
};
--
Gitblit v1.9.1