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