From 07aab8bb335132d5dc56f2b000301457079e8539 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期二, 29 九月 2026 10:49:01 +0800
Subject: [PATCH] feat(research): 完善经费拨付流程支持财务报销审批
---
src/views/research/application/modules/fund-panel.vue | 39 ++++++++++++++++++++++++++++++++-------
1 files changed, 32 insertions(+), 7 deletions(-)
diff --git a/src/views/research/application/modules/fund-panel.vue b/src/views/research/application/modules/fund-panel.vue
index f3900fe..49fef57 100644
--- a/src/views/research/application/modules/fund-panel.vue
+++ b/src/views/research/application/modules/fund-panel.vue
@@ -39,6 +39,10 @@
() => (Number(application.value?.budgetAmount) || 0) - registeredAmount.value,
);
+/** 鍚勭姸鎬佽褰曟暟閲忥紝鐢ㄤ簬椤堕儴鎻愮ず锛�0 鏉℃椂涓嶆彁绀猴級 */
+const statusCount = (status: number) =>
+ records.value.filter((item) => item.status === status).length;
+
const [FundFormModal, fundFormModalApi] = useVbenModal({
connectedComponent: FundForm,
destroyOnClose: true,
@@ -176,6 +180,25 @@
</div>
</div>
+ <Alert
+ v-if="statusCount(FundStatus.APPROVING) > 0"
+ type="info"
+ show-icon
+ :message="`鏈� ${statusCount(FundStatus.APPROVING)} 鏉℃嫧浠樿褰曟鍦ㄦ姤閿�瀹℃壒涓紝鏆備笉鍙慨鏀癸紱璐㈠姟瀹℃壒缁撴灉灏嗚嚜鍔ㄥ洖鍐欐湰璁板綍`"
+ />
+ <Alert
+ v-if="statusCount(FundStatus.PAID) > 0"
+ type="success"
+ show-icon
+ :message="`鏈� ${statusCount(FundStatus.PAID)} 鏉℃嫧浠樿褰曡储鍔″凡閫氳繃锛屾嫧娆惧畬鎴恅"
+ />
+ <Alert
+ v-if="statusCount(FundStatus.REJECTED) > 0"
+ type="error"
+ show-icon
+ :message="`鏈� ${statusCount(FundStatus.REJECTED)} 鏉℃嫧浠樿褰曡储鍔″凡椹冲洖锛岃淇敼閲戦鎴栧嚟璇佸悗鐐广�岄噸鏂板彂璧锋姤閿�銆峘"
+ />
+
<div v-if="editable">
<TableAction
:actions="[
@@ -193,13 +216,7 @@
<Grid>
<template #hasAttachment="{ row }">
<Tag :color="row.hasAttachment ? 'success' : 'warning'">
- {{
- row.hasAttachment
- ? '宸蹭笂浼�'
- : row.status === FundStatus.PAID
- ? '缂哄け'
- : '涓嶉渶瑕�'
- }}
+ {{ row.hasAttachment ? '宸蹭笂浼�' : '缂哄け' }}
</Tag>
</template>
<template #actions="{ row }">
@@ -215,6 +232,14 @@
onClick: handleEdit.bind(null, row),
},
{
+ label: '閲嶆柊鍙戣捣鎶ラ攢',
+ type: 'link',
+ icon: ACTION_ICON.REFRESH,
+ auth: ['research:fund:update'],
+ ifShow: () => row.status === FundStatus.REJECTED,
+ onClick: handleEdit.bind(null, row),
+ },
+ {
label: '鍒犻櫎',
type: 'link',
danger: true,
--
Gitblit v1.9.3