From 5cf7fd6bf3ca6e174b603c3591a3fbf699ddf976 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 08 七月 2025 13:40:20 +0800
Subject: [PATCH] fix: 江佑保系统健壮性修复

---
 src/hooks/insuranceClaim.ts |   51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 51 insertions(+), 0 deletions(-)

diff --git a/src/hooks/insuranceClaim.ts b/src/hooks/insuranceClaim.ts
index 836852b..47f22ba 100644
--- a/src/hooks/insuranceClaim.ts
+++ b/src/hooks/insuranceClaim.ts
@@ -1,5 +1,6 @@
 import * as insuranceClaimServices from '@/services/api/InsuranceClaim';
 import * as insuranceOrderServices from '@/services/api/InsuranceOrder';
+import { downloadFileByUrl, setOSSLink } from '@/utils';
 import { useQuery, useQueryClient } from '@tanstack/vue-query';
 
 type UseInsuranceOrderMaterialListOptions = {
@@ -50,3 +51,53 @@
     isLoading,
   };
 }
+
+export function useInsureActions() {
+  const router = useRouter();
+  async function handleGoDownloadInvoice(id: string) {
+    try {
+      await insuranceOrderServices.getInvoiceId({ id: id });
+      router.push({
+        name: 'InsureDownloadInvoice',
+        params: {
+          id: id,
+        },
+      });
+    } catch (error) {}
+  }
+
+  async function handleGoStampFiles(id: string) {
+    try {
+      router.push({
+        name: 'InsurancePolicyStampFiles',
+        params: {
+          id: id,
+        },
+      });
+    } catch (error) {}
+  }
+
+  return {
+    handleGoDownloadInvoice,
+    handleGoStampFiles,
+  };
+}
+
+export function useDownloadPolicyFileId() {
+  async function handleDownload(row: API.InsurancePolicyPayDto) {
+    try {
+      if (row.policyOssUrl) {
+        downloadFileByUrl(setOSSLink(row.policyOssUrl), `淇濆崟_${row.channelOrderNo}`);
+      } else {
+        let res = await insuranceOrderServices.downloadPolicyFileId({ id: row.id });
+        if (res) {
+          window.open(res, '_blank');
+        }
+      }
+    } catch (error) {}
+  }
+
+  return {
+    handleDownload,
+  };
+}

--
Gitblit v1.9.1