From 07e6a938f7993abf056dc4b106d4ad4fc6354bb5 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期四, 24 七月 2025 14:40:30 +0800
Subject: [PATCH] feat: 接口
---
src/views/Reward/components/RegisterGrantDialog.vue | 2
src/views/Reward/components/BatchRegisterDialog.vue | 4
src/services/api/typings.d.ts | 39 +++++++++
src/views/Reward/RewardApplyTradeCheck.vue | 13 +-
src/services/api/ParkBountyApply.ts | 44 +++++++++++
src/utils/common/common.ts | 32 +++++++
src/views/Reward/components/RewardApplyTradeCheckDialog.vue | 17 ++-
src/views/Reward/constants/columns.ts | 6
src/views/Reward/FinancialApproval.vue | 39 +++++----
src/views/Reward/RewardGrantRegister.vue | 4
10 files changed, 160 insertions(+), 40 deletions(-)
diff --git a/src/services/api/ParkBountyApply.ts b/src/services/api/ParkBountyApply.ts
index 39dd756..daa29dd 100644
--- a/src/services/api/ParkBountyApply.ts
+++ b/src/services/api/ParkBountyApply.ts
@@ -457,6 +457,24 @@
);
}
+/** 鑾峰彇鎵归噺鐧昏涓湭璐㈡斂鎷ㄤ粯鐨勪紒涓� GET /api/ParkBountyApply/GetParkBountyApplyBatchFinanceRegEnterprise */
+export async function getParkBountyApplyBatchFinanceRegEnterprise(
+ // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+ params: API.APIgetParkBountyApplyBatchFinanceRegEnterpriseParams,
+ options?: API.RequestConfig
+) {
+ return request<API.GetNotTransferCompanyNameListOutput[]>(
+ '/api/ParkBountyApply/GetParkBountyApplyBatchFinanceRegEnterprise',
+ {
+ method: 'GET',
+ params: {
+ ...params,
+ },
+ ...(options || {}),
+ }
+ );
+}
+
/** 杩愯惀绔�-濂栧姳閲戝彂鏀�-鍏ヨ处-鑾峰彇鎵归噺鍏ヨ处涓湭鍏ヨ处鐨勪紒涓� GET /api/ParkBountyApply/GetParkBountyApplyBatchTransferEnterprise */
export async function getParkBountyApplyBatchTransferEnterprise(
// 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
@@ -465,6 +483,24 @@
) {
return request<API.GetNotTransferCompanyNameListOutput[]>(
'/api/ParkBountyApply/GetParkBountyApplyBatchTransferEnterprise',
+ {
+ method: 'GET',
+ params: {
+ ...params,
+ },
+ ...(options || {}),
+ }
+ );
+}
+
+/** 鑾峰彇鎵归噺鐧昏涓湭鐧昏鐨勪紒涓� GET /api/ParkBountyApply/GetParkBountyApplyBatchTransferRegEnterprise */
+export async function getParkBountyApplyBatchTransferRegEnterprise(
+ // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+ params: API.APIgetParkBountyApplyBatchTransferRegEnterpriseParams,
+ options?: API.RequestConfig
+) {
+ return request<API.GetNotTransferCompanyNameListOutput[]>(
+ '/api/ParkBountyApply/GetParkBountyApplyBatchTransferRegEnterprise',
{
method: 'GET',
params: {
@@ -1042,6 +1078,14 @@
});
}
+/** 淇鏁版嵁3.4.2.6 POST /api/ParkBountyApply/RepairData3_4_2_6 */
+export async function repairData3426(options?: API.RequestConfig) {
+ return request<any>('/api/ParkBountyApply/RepairData3_4_2_6', {
+ method: 'POST',
+ ...(options || {}),
+ });
+}
+
/** 淇濆瓨濂栭噾鍒嗛厤琛ㄣ�佸鍔遍噾姹囨�昏〃銆佸鍔辨�婚 POST /api/ParkBountyApply/SaveParkBountyApplyCollectFile */
export async function saveParkBountyApplyCollectFile(
body: API.SaveParkBountyApplyCollectFileInput,
diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts
index 6b8a7e0..2d78064 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -87,6 +87,8 @@
bankName?: string;
bankBranchName?: string;
bankCardNumber?: string;
+ /** 瀵嗙爜 */
+ password?: string;
}
interface AddEnterpriseMaterialFileInput {
@@ -1638,7 +1640,15 @@
parkBountyApplyId?: string;
}
+ interface APIgetParkBountyApplyBatchFinanceRegEnterpriseParams {
+ parkBountyApplyId?: string;
+ }
+
interface APIgetParkBountyApplyBatchTransferEnterpriseParams {
+ parkBountyApplyId?: string;
+ }
+
+ interface APIgetParkBountyApplyBatchTransferRegEnterpriseParams {
parkBountyApplyId?: string;
}
@@ -8992,8 +9002,15 @@
transferTimeBegin?: string;
/** 鍑鸿处缁撴潫鏃ユ湡 */
transferTimeEnd?: string;
+ /** 瀹℃牳璧峰鏃ユ湡 */
+ auditTimeBegin?: string;
+ /** 瀹℃牳缁撴潫鏃ユ湡 */
+ auditTimeEnd?: string;
+ /** 鍥尯Id */
+ parkId?: string;
enterpriseId?: string;
auditStatus?: EnumParkBountyTradeDetailAuditStatus;
+ financeAuditStatus?: EnumParkBountyTradeDetailAuditStatus;
}
interface GetParkBountyTradeDetailOutput {
@@ -9007,6 +9024,8 @@
/** 绀句細缁熶竴淇$敤浠g爜 */
societyCreditCode?: string;
authType?: EnterpriseTypeEnum;
+ /** 鍥尯Id */
+ parkId?: string;
/** 鐢宠鍥尯 */
parkName?: string;
/** 鐢宠鍥尯绫诲瀷 */
@@ -9024,11 +9043,17 @@
/** 濂栧姳閲戜綑棰� */
remianAmount?: number;
financeType?: FinanceTypeEnum;
+ showAuditStatus?: EnumParkBountyTradeDetailAuditStatus;
auditStatus?: EnumParkBountyTradeDetailAuditStatus;
/** 瀹℃牳澶囨敞 */
auditRemark?: string;
/** 瀹℃牳鏃堕棿 */
auditTime?: string;
+ financeAuditStatus?: EnumParkBountyTradeDetailAuditStatus;
+ /** 璐㈠姟瀹℃牳澶囨敞 */
+ financeAuditRemark?: string;
+ /** 璐㈠姟瀹℃牳鏃堕棿 */
+ financeAuditTime?: string;
/** 瀹℃牳鍑瘉 */
payAuditFileUrl?: string;
}
@@ -9051,6 +9076,10 @@
transferTimeBegin?: string;
/** 鍑鸿处缁撴潫鏃ユ湡 */
transferTimeEnd?: string;
+ /** 瀹℃牳璧峰鏃ユ湡 */
+ auditTimeBegin?: string;
+ /** 瀹℃牳缁撴潫鏃ユ湡 */
+ auditTimeEnd?: string;
}
interface GetParkBountyTradeOutput {
@@ -10879,6 +10908,12 @@
}
interface ImportBountyApplyDataOutput {
+ /** 骞冲彴鎷ㄤ粯鎬婚 */
+ settleSumAmount?: number;
+ /** 璐㈡斂鎷ㄤ粯鎬婚 */
+ financeSumAmount?: number;
+ /** 鐢虫姤鎬婚 */
+ applySumAmount?: number;
/** 閿欒鏁版嵁鍒楄〃 */
error?: ExportBountyApplyData[];
}
@@ -19852,6 +19887,10 @@
bountyCollectFileUrl?: string;
/** 鐢虫姤鎬婚 */
applySumAmount?: number;
+ /** 骞冲彴鎷ㄤ粯鎬婚 */
+ settleSumAmount?: number;
+ /** 璐㈡斂鎷ㄤ粯鎬婚 */
+ financeSumAmount?: number;
listFiles?: CustomerUploadMonthApplyFileTypeDto[];
}
diff --git a/src/utils/common/common.ts b/src/utils/common/common.ts
index 374c3a8..b0d960d 100644
--- a/src/utils/common/common.ts
+++ b/src/utils/common/common.ts
@@ -1,5 +1,5 @@
import dayjs from 'dayjs';
-import { BoleRegExp } from '@bole-core/core';
+import { BoleRegExp, Message } from '@bole-core/core';
import { round, floor, omitBy } from 'lodash';
export function format(date: string | Date, fmt = 'YYYY-MM-DD') {
@@ -115,3 +115,33 @@
}
return roleName;
}
+
+export function copyTextToClipboard(text: string) {
+ if (navigator.clipboard && window.isSecureContext) {
+ // navigator clipboard 鍚戝壀璐存澘鍐欐枃鏈�
+ navigator.clipboard
+ .writeText(text)
+ .then(() => {
+ Message.successMessage('宸插鍒�');
+ })
+ .catch((error) => {
+ console.error('Failed to copy text to clipboard:', error);
+ });
+ } else {
+ // 鍒涘缓text area
+ let textArea = document.createElement('textarea');
+ textArea.value = text;
+ // 浣縯ext area涓嶅湪viewport锛屽悓鏃惰缃笉鍙
+ textArea.style.position = 'absolute';
+ textArea.style.opacity = 0 as any;
+ textArea.style.left = '-999999px';
+ textArea.style.top = '-999999px';
+ document.body.appendChild(textArea);
+ textArea.select();
+ let res = document.execCommand('copy');
+ if (res) {
+ Message.successMessage('宸插鍒�');
+ }
+ textArea.remove();
+ }
+}
diff --git a/src/views/Reward/FinancialApproval.vue b/src/views/Reward/FinancialApproval.vue
index 465ca53..78ec38c 100644
--- a/src/views/Reward/FinancialApproval.vue
+++ b/src/views/Reward/FinancialApproval.vue
@@ -16,7 +16,7 @@
</QueryFilterItem>
<QueryFilterItem tip-content="瀹℃牳鐘舵��">
<FieldRadio
- v-model="extraParamState.auditStatus"
+ v-model="extraParamState.financeAuditStatus"
:value-enum="EnumParkBountyTradeDetailAuditStatusText"
buttonStyle
showAllBtn
@@ -37,8 +37,8 @@
<QueryFilterItem>
<SearchInput
v-model="extraParamState.searchKeyWord"
- style="width: 200px"
- placeholder="浼佷笟鍚嶇О/淇$敤浠g爜"
+ style="width: 300px"
+ placeholder="浼佷笟鍚�/淇$敤浠g爜/鑱旂郴浜�/鑱旂郴鏂瑰紡"
@on-click-search="getList"
>
</SearchInput>
@@ -102,7 +102,7 @@
},
extraProps: {
hide: (row: API.GetParkBountyTradeDetailOutput) =>
- row.auditStatus === EnumParkBountyTradeDetailAuditStatus.Wait,
+ row.financeAuditStatus === EnumParkBountyTradeDetailAuditStatus.Wait,
},
},
{
@@ -115,7 +115,7 @@
},
extraProps: {
hide: (row: API.GetParkBountyTradeDetailOutput) =>
- row.auditStatus !== EnumParkBountyTradeDetailAuditStatus.Wait,
+ row.financeAuditStatus !== EnumParkBountyTradeDetailAuditStatus.Wait,
},
},
]);
@@ -152,12 +152,10 @@
orderInput: extraParamState.orderInput,
},
searchKeyWord: extraParamState.searchKeyWord,
- // transferTimeBegin: format(extraParamState.transferTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
- // transferTimeEnd: format(extraParamState.transferTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
- creationTimeBegin: format(extraParamState.creationTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
- creationTimeEnd: format(extraParamState.creationTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
- // "enterpriseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- // "auditStatus": 10
+ parkId: extraParamState.enterpriseId,
+ financeAuditStatus: extraParamState.financeAuditStatus,
+ auditTimeBegin: format(extraParamState.creationTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
+ auditTimeEnd: format(extraParamState.creationTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
};
let res = await parkBountyApplyServices.getParkBountyTradeDetailList(params, {
showLoading: !state.loading,
@@ -169,16 +167,17 @@
defaultExtraParams: {
searchKeyWord: '',
enterpriseId: '',
- auditStatus: '' as any as EnumParkBountyTradeDetailAuditStatus,
+ financeAuditStatus: '' as any as EnumParkBountyTradeDetailAuditStatus,
creationTime: [] as unknown as ModelValueType,
orderInput: [{ property: 'tradeTime', order: OrderInputType.Desc }],
},
columnsRenderProps: {
authType: { type: 'enum', valueEnum: EnterpriseTypeText },
tradeTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
+ financeAuditTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
tradeAmount: { type: 'money' },
remianAmount: { type: 'money' },
- auditStatus: {
+ financeAuditStatus: {
type: 'tag',
valueEnum: EnumParkBountyTradeDetailAuditStatusText,
tagTypeEnum: EnumParkBountyTradeDetailAuditStatusTag,
@@ -192,11 +191,13 @@
id: row.id,
isCheck,
auditStatus:
- row.auditStatus === EnumParkBountyTradeDetailAuditStatus.Reject
+ row.financeAuditStatus === EnumParkBountyTradeDetailAuditStatus.Reject
? EnumParkBountyTradeDetailAuditStatus.Reject
: EnumParkBountyTradeDetailAuditStatus.Pass,
- auditRemark: row.auditRemark,
- payAuditFileUrl: convertApi2FormUrlOnlyOne(row.payAuditFileUrl),
+ auditRemark: row.financeAuditRemark,
+ payAuditFileUrl: isCheck
+ ? convertApi2FormUrlOnlyOne(row.payAuditFileUrl)
+ : ([] as UploadUserFile[]),
userName: row.userName,
enterpriseName: row.enterpriseName,
societyCreditCode: row.societyCreditCode,
@@ -207,9 +208,10 @@
tradeAmount: row.tradeAmount,
remianAmount: row.remianAmount,
tradeTime: row.tradeTime,
- auditTime: row.auditTime,
+ auditTime: row.financeAuditTime,
payRemark: row.payRemark,
payFileUrl: convertApi2FormUrlOnlyOne(row.payFileUrl),
+ title: isCheck ? '璇︽儏' : '璐㈠姟瀹℃壒',
});
}
@@ -234,6 +236,7 @@
auditTime: '',
payRemark: '',
payFileUrl: [] as UploadUserFile[],
+ title: '',
},
});
@@ -247,7 +250,7 @@
/** 瀹℃牳鍑瘉 */
payAuditFileUrl: editForm.payAuditFileUrl?.[0]?.path ?? '',
};
- let res = await parkBountyApplyServices.auditParkBountyApplyTrade(params);
+ let res = await parkBountyApplyServices.financeAuditParkBountyApplyTrade(params);
if (res) {
Message.successMessage('鎿嶄綔鎴愬姛');
getList(paginationState.pageIndex);
diff --git a/src/views/Reward/RewardApplyTradeCheck.vue b/src/views/Reward/RewardApplyTradeCheck.vue
index 9c7a057..62ae73f 100644
--- a/src/views/Reward/RewardApplyTradeCheck.vue
+++ b/src/views/Reward/RewardApplyTradeCheck.vue
@@ -37,8 +37,8 @@
<QueryFilterItem>
<SearchInput
v-model="extraParamState.searchKeyWord"
- style="width: 200px"
- placeholder="浼佷笟鍚嶇О/淇$敤浠g爜"
+ style="width: 300px"
+ placeholder="浼佷笟鍚�/淇$敤浠g爜/鑱旂郴浜�/鑱旂郴鏂瑰紡"
@on-click-search="getList"
>
</SearchInput>
@@ -152,12 +152,10 @@
orderInput: extraParamState.orderInput,
},
searchKeyWord: extraParamState.searchKeyWord,
- // transferTimeBegin: format(extraParamState.transferTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
- // transferTimeEnd: format(extraParamState.transferTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
+ parkId: extraParamState.enterpriseId,
creationTimeBegin: format(extraParamState.creationTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
creationTimeEnd: format(extraParamState.creationTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
- // "enterpriseId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- // "auditStatus": 10
+ auditStatus: extraParamState.auditStatus,
};
let res = await parkBountyApplyServices.getParkBountyTradeDetailList(params, {
showLoading: !state.loading,
@@ -176,6 +174,7 @@
columnsRenderProps: {
authType: { type: 'enum', valueEnum: EnterpriseTypeText },
tradeTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
+ auditTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
tradeAmount: { type: 'money' },
remianAmount: { type: 'money' },
auditStatus: {
@@ -210,6 +209,7 @@
auditTime: row.auditTime,
payRemark: row.payRemark,
payFileUrl: convertApi2FormUrlOnlyOne(row.payFileUrl),
+ title: isCheck ? '璇︽儏' : '鍑鸿处瀹℃壒',
});
}
@@ -234,6 +234,7 @@
auditTime: '',
payRemark: '',
payFileUrl: [] as UploadUserFile[],
+ title: '',
},
});
diff --git a/src/views/Reward/RewardGrantRegister.vue b/src/views/Reward/RewardGrantRegister.vue
index d80a889..0515dc7 100644
--- a/src/views/Reward/RewardGrantRegister.vue
+++ b/src/views/Reward/RewardGrantRegister.vue
@@ -174,7 +174,7 @@
},
});
-function openMaterialFileDialog(row: API.GetParkBountyApplyListOutput) {
+function openMaterialFileDialog(row: API.ParkBountyApplyTransferDetailInfo) {
handleMaterialFileAdd({
list: FourStreamsMaterialUtils.initApplyRewardGrandFileList(row),
});
@@ -235,7 +235,7 @@
async function parkBountyApplyTransferReg() {
try {
let params: API.ParkBountyApplyTransferInput = {
- parkBountyApplyDetailId: id,
+ parkBountyApplyDetailId: editRegisterForm.parkBountyApplyDetailId,
transferToAmount: editRegisterForm.amount,
parkBountyApplyId: editRegisterForm.parkBountyApplyId,
transferToFileUrl: convertFormUrl2ApiBySeparator(editRegisterForm.fileUrl),
diff --git a/src/views/Reward/components/BatchRegisterDialog.vue b/src/views/Reward/components/BatchRegisterDialog.vue
index 9d1e70a..8154554 100644
--- a/src/views/Reward/components/BatchRegisterDialog.vue
+++ b/src/views/Reward/components/BatchRegisterDialog.vue
@@ -131,7 +131,7 @@
async function getParkBountyApplyBatchTransferEnterprise() {
try {
- let res = await parkBountyApplyServices.getParkBountyApplyBatchTransferEnterprise({
+ let res = await parkBountyApplyServices.getParkBountyApplyBatchTransferRegEnterprise({
parkBountyApplyId: form.value.parkBountyApplyId,
});
if (res) {
@@ -144,7 +144,7 @@
async function getParkBountyApplyBatchFinanceEnterprise() {
try {
- let res = await parkBountyApplyServices.getParkBountyApplyBatchFinanceEnterprise({
+ let res = await parkBountyApplyServices.getParkBountyApplyBatchFinanceRegEnterprise({
parkBountyApplyId: form.value.parkBountyApplyId,
});
if (res) {
diff --git a/src/views/Reward/components/RegisterGrantDialog.vue b/src/views/Reward/components/RegisterGrantDialog.vue
index c866e8a..a7fb038 100644
--- a/src/views/Reward/components/RegisterGrantDialog.vue
+++ b/src/views/Reward/components/RegisterGrantDialog.vue
@@ -64,7 +64,7 @@
ProFormUpload,
UploadUserFile,
} from '@bole-core/components';
-import { IncomeTypeEnumText, IncomeTypeEnum, FinanceStatusEnum } from '@/constants';
+import { IncomeTypeEnumText, IncomeTypeEnum } from '@/constants';
defineOptions({
name: 'RegisterGrantDialog',
diff --git a/src/views/Reward/components/RewardApplyTradeCheckDialog.vue b/src/views/Reward/components/RewardApplyTradeCheckDialog.vue
index 92e94dc..9995f91 100644
--- a/src/views/Reward/components/RewardApplyTradeCheckDialog.vue
+++ b/src/views/Reward/components/RewardApplyTradeCheckDialog.vue
@@ -1,5 +1,11 @@
<template>
- <ProDialog title="鍑鸿处瀹℃壒" v-model="visible" @close="onDialogClose" destroy-on-close draggable>
+ <ProDialog
+ :title="form.title"
+ v-model="visible"
+ @close="onDialogClose"
+ destroy-on-close
+ draggable
+ >
<PortraitTableWithAttachment v-bind="portraitTableWithAttachmentProps">
<template #title>
<el-row class="portrait-table-with-attachment-title">
@@ -109,15 +115,12 @@
ProFormDatePicker,
UploadUserFile,
} from '@bole-core/components';
-import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
-import { copyTextToClipboard, usePortraitTableWithAttachment } from '@/hooks';
-import { convertApi2FormUrl, convertApi2FormUrlOnlyOne } from '@/utils';
-import { useQuery } from '@tanstack/vue-query';
+import { usePortraitTableWithAttachment } from '@/hooks';
+import { copyTextToClipboard } from '@/utils';
import {
EnumParkBountyTradeDetailAuditStatus,
EnumParkBountyTradeDetailAuditStatusTextForAdudit,
EnterpriseType,
- EnterpriseTypeText,
} from '@/constants';
defineOptions({
@@ -243,7 +246,7 @@
function handleApply() {
copyTextToClipboard(
- `寮�鎴峰悕绉帮細${form.value?.societyCreditCode}\n寮�鎴烽摱琛岋細${form.value?.contactPhone}\n寮�鎴疯处鍙凤細${form.value?.userName}`
+ `寮�鎴峰悕绉帮細${'澶钩璐骇淇濋櫓鏈夐檺鍏徃鎶氬窞涓績鏀叕鍙�'}\n寮�鎴烽摱琛岋細${'涓浗宸ュ晢閾惰鑲′唤鏈夐檺鍏徃鎶氬窞璧d笢鏀'}\n寮�鎴疯处鍙凤細${'1511 2001 2920 0156 069'}`
);
}
</script>
diff --git a/src/views/Reward/constants/columns.ts b/src/views/Reward/constants/columns.ts
index 86b1089..428f1cc 100644
--- a/src/views/Reward/constants/columns.ts
+++ b/src/views/Reward/constants/columns.ts
@@ -75,7 +75,7 @@
},
{
id: '13',
- enCode: 'a',
+ enCode: 'auditTime',
name: '瀹℃牳鏃堕棿',
width: 180,
},
@@ -158,13 +158,13 @@
},
{
id: '12',
- enCode: 'auditStatus',
+ enCode: 'financeAuditStatus',
name: '璐㈠姟瀹℃牳鐘舵��',
width: 160,
},
{
id: '13',
- enCode: 'a',
+ enCode: 'financeAuditTime',
name: '瀹℃牳鏃堕棿',
width: 180,
},
--
Gitblit v1.9.1