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