From 8fad5b05aa4d6d4a46b3bc04f2ab9614be73ba99 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期二, 23 九月 2025 17:19:06 +0800
Subject: [PATCH] fix: bug

---
 src/views/ServiceChargeManage/ServiceChargeDetail.vue |   63 ++++++++++++++++++++++++-------
 1 files changed, 49 insertions(+), 14 deletions(-)

diff --git a/src/views/ServiceChargeManage/ServiceChargeDetail.vue b/src/views/ServiceChargeManage/ServiceChargeDetail.vue
index bbaaa59..5a7e3b8 100644
--- a/src/views/ServiceChargeManage/ServiceChargeDetail.vue
+++ b/src/views/ServiceChargeManage/ServiceChargeDetail.vue
@@ -134,7 +134,15 @@
 import EditAccountInfoDialog from './components/EditAccountInfoDialog.vue';
 import SettleDetailDialog from './components/SettleDetailDialog.vue';
 import { Message } from '@bole-core/core';
-import { downloadFile, paginateList, setOssFileName, toThousand } from '@/utils';
+import { SettlementReceiveStatusText } from '@/constants';
+import {
+  downloadFile,
+  downloadFileByUrl,
+  paginateList,
+  setOssFileName,
+  setOSSLink,
+  toThousand,
+} from '@/utils';
 import _ from 'lodash';
 
 defineOptions({
@@ -152,12 +160,14 @@
     emits: {
       onClick: (role) => openDialog(role),
     },
+    extraProps: {
+      hide: () => !isSettlement.value,
+    },
   },
 ]);
 const route = useRoute();
 const id = (route.params.id as string) ?? '';
 const settlement = (route.query.settlement as string) ?? '';
-
 const isSettlement = computed(() => !!settlement);
 
 const form = reactive({
@@ -178,7 +188,7 @@
 
 const state = reactive({ ...BaseState });
 
-const { isLoading } = useQuery({
+const { isLoading, refetch } = useQuery({
   queryKey: ['taskUserServices/getSettlementTaskUsers', id],
   queryFn: async () => {
     return await taskUserServices.getSettlementTaskUsers(
@@ -196,8 +206,8 @@
       form.settlementAmount = res?.detail?.settlementAmount ?? 0;
       form.actualSettlementAmount = res?.detail?.actualSettlementAmount ?? 0;
       form.code = res?.detail?.code;
-      form.settlementOrderName = setOssFileName(res?.detail?.settlementOrderName);
-      form.settlementOrderTime = res?.detail?.settlementOrderTime ?? '';
+      // form.settlementOrderName = setOssFileName(res?.detail?.settlementOrderName);
+      // form.settlementOrderTime = res?.detail?.settlementOrderTime ?? '';
     }
     // if (res?.errors?.length > 0) {
     //   Message.tipMessage('瀛樺湪瀵煎叆閿欒鐨勬暟鎹紝鏄惁瀵煎嚭锛�').then(() => {
@@ -265,6 +275,7 @@
       settlementTime: { type: 'date' },
       settlementAmount: { type: 'money' },
       actualSettlementAmount: { type: 'money' },
+      settlementReceiveStatus: { type: 'enum', valueEnum: SettlementReceiveStatusText },
     },
   }
 );
@@ -277,7 +288,7 @@
     actualSettlementAmount: null as number,
     receiveAccount: '',
     bank: '',
-    bankBranch: '',
+    // bankBranch: '',
   },
 });
 
@@ -289,7 +300,7 @@
       actualSettlementAmount: row?.actualSettlementAmount ?? null,
       receiveAccount: row?.receiveAccount ?? '',
       bank: row?.bank ?? '',
-      bankBranch: row?.bankBranch ?? '',
+      // bankBranch: row?.bankBranch ?? '',
     });
   }
 }
@@ -302,11 +313,12 @@
       actualSettlementAmount: editForm.actualSettlementAmount,
       receiveAccount: editForm.receiveAccount,
       bank: editForm.bank,
-      bankBranch: editForm.bankBranch,
+      // bankBranch: editForm.bankBranch,
     };
     let res = await taskServices.editTaskSettlementOrderRoster(params);
     if (res) {
       Message.successMessage('鎿嶄綔鎴愬姛');
+      refetch();
       getList(paginationState.pageIndex);
     }
   } catch (error) {}
@@ -327,9 +339,32 @@
     let res = await taskServices.importTaskSettlementOrderRosters(params);
     if (res) {
       Message.successMessage('鎿嶄綔鎴愬姛');
+      refetch();
       getList(paginationState.pageIndex);
+      if (res?.errors?.length > 0) {
+        Message.tipMessage('瀛樺湪瀵煎叆閿欒鐨勬暟鎹紝鏄惁瀵煎嚭锛�').then(() => {
+          XLSXUtils.exportToXLSX({
+            workbookDataList: res.errors,
+            fileName: '缁撶畻瀵煎叆-閿欒鏁版嵁',
+            workbookHeaderMap: {
+              name: '濮撳悕',
+              identity: '韬唤璇佸彿',
+              contactPhoneNumber: '鎵嬫満鍙�',
+              bank: '鎵�灞為摱琛�',
+              bankBranch: '鎵�灞炴敮琛�',
+              receiveAccount: '鏀舵璐︽埛',
+              settlementAmount: '缁撶畻閲戦',
+              actualSettlementAmount: '瀹炲彂閲戦',
+              errorMessage: '閿欒淇℃伅',
+            },
+          });
+        });
+      }
     }
-  } catch (error) {}
+  } catch (error) {
+  } finally {
+    form.settlementUrl = [] as UploadUserFile[];
+  }
 }
 
 function handleSubmit() {
@@ -339,6 +374,7 @@
     code: form.code,
     settlementUserCount: form.settlementTaskUsers.length,
     actualSettlementAmount: form.actualSettlementAmount,
+    settlementAccess: '' as any as EnumEnterpriseWalletAccess,
   });
 }
 
@@ -354,6 +390,7 @@
     code: '',
     settlementUserCount: 0,
     actualSettlementAmount: 0,
+    settlementAccess: '' as any as EnumEnterpriseWalletAccess,
   },
 });
 
@@ -365,6 +402,7 @@
   try {
     let params: API.SureTaskSettlementCommand = {
       taskInfoId: id,
+      settlementAccess: settleEditForm.settlementAccess,
     };
     let res = await taskServices.sureTaskSettlement(params);
     if (res) {
@@ -385,12 +423,9 @@
       let params: API.ExportTaskSettlementOrderRostersCommand = {
         id: id,
       };
-      let res = await taskServices.exportTaskSettlementOrderRosters(params, {
-        responseType: 'blob',
-        getResponse: true,
-      });
+      let res = await taskServices.exportTaskSettlementOrderRosters(params);
       if (res) {
-        downloadFile(res, `${form.name}-${form.code}`, 'xlsx');
+        downloadFileByUrl(setOSSLink(res), `${form.name}-${form.code}`);
       }
     } catch (error) {}
   },

--
Gitblit v1.9.1