Browse Source

fix(export): 为导出功能添加错误处理机制

在多个模块的导出逻辑中增加 try-catch 异常捕获,确保即使导出失败也不会影响
用户体验,并统一处理 loading 状态。涉及的页面包括:售后订单、正常订单、
运费明细、对账单、商品列表、积分相关记录及员工列表等。
zhangtao 2 weeks ago
parent
commit
47bf6ac499

+ 6 - 3
src/views/delivery/after-sales-order/index.vue

@@ -339,10 +339,13 @@ function handleReset() {
   getNums();
 }
 async function handleExport() {
-  const form = getFieldsValue();
   loading.value = true;
-  await commonExport('/platform/orderRefund/export', form, '售后订单列表.xlsx');
-  loading.value = false;
+  try {
+    await commonExport('/platform/orderRefund/export', getFieldsValue(), '售后订单列表.xlsx');
+    loading.value = false;
+  } catch {
+    loading.value = false;
+  }
 }
 </script>
 

+ 6 - 3
src/views/delivery/normal-order/index.vue

@@ -327,10 +327,13 @@ function handleRefsh() {
   getNums();
 }
 async function handleExport() {
-  const form = getFieldsValue();
   loading.value = true;
-  await commonExport('/platform/order/export', form, '正常订单列表.xlsx');
-  loading.value = false;
+  try {
+    await commonExport('/platform/order/export', getFieldsValue(), '正常订单列表.xlsx');
+    loading.value = false;
+  } catch {
+    loading.value = false;
+  }
 }
 </script>
 

+ 6 - 2
src/views/finance/commodity-freight/index.vue

@@ -163,8 +163,12 @@ function handleSearch() {
 
 async function handleExport() {
   setTableLoading(true);
-  await commonExport('/platform/sku/freightStatisticsExcel', getSeachForm(), '运费明细列表.xlsx');
-  setTableLoading(false);
+  try {
+    await commonExport('/platform/sku/freightStatisticsExcel', getSeachForm(), '运费明细列表.xlsx');
+    setTableLoading(false);
+  } catch {
+    setTableLoading(false);
+  }
 }
 </script>
 

+ 6 - 2
src/views/finance/summary/index.vue

@@ -114,8 +114,12 @@ function handleSearch() {
 
 async function handleExport() {
   setTableLoading(true);
-  await commonExport('/platform/sku/skuStatisticsExcel', getSeachForm(), '对账单列表.xlsx');
-  setTableLoading(false);
+  try {
+    await commonExport('/platform/sku/skuStatisticsExcel', getSeachForm(), '对账单列表.xlsx');
+    setTableLoading(false);
+  } catch {
+    setTableLoading(false);
+  }
 }
 </script>
 

+ 6 - 2
src/views/goods/store-goods/index.vue

@@ -335,8 +335,12 @@ async function getData() {
 getData();
 async function handleExport() {
   setTableLoading(true);
-  await commonExport('/shop/shopProd/export', getSeachForm(), '商品列表.xlsx');
-  setTableLoading(false);
+  try {
+    await commonExport('/shop/shopProd/export', getSeachForm(), '商品列表.xlsx');
+    setTableLoading(false);
+  } catch {
+    setTableLoading(false);
+  }
 }
 </script>
 

+ 12 - 4
src/views/government/points/index.vue

@@ -253,14 +253,22 @@ async function hanleExportFailure(code: string) {
     return;
   }
   loading.value = true;
-  await commonExport('/platform/pointsFailureRecord/export', { code }, '失败的记录.xlsx');
-  loading.value = false;
+  try {
+    await commonExport('/platform/pointsFailureRecord/export', { code }, '失败的记录.xlsx');
+    loading.value = false;
+  } catch {
+    loading.value = false;
+  }
 }
 
 async function exportIntegral() {
   setTableLoading(true);
-  await commonExport('/platform/pointsRecharge/export', getSeachForm(), '积分列表.xlsx');
-  setTableLoading(false);
+  try {
+    await commonExport('/platform/pointsRecharge/export', getSeachForm(), '积分列表.xlsx');
+    setTableLoading(false);
+  } catch {
+    setTableLoading(false);
+  }
 }
 
 function handleSearch() {

+ 6 - 3
src/views/government/user-list/index.vue

@@ -293,10 +293,13 @@ function handleSearch() {
   refresh();
 }
 async function handleExport() {
-  const form = getSeachForm();
   setTableLoading(true);
-  await commonExport('/admin/enterprise/export', form, '员工列表.xlsx');
-  setTableLoading(false);
+  try {
+    await commonExport('/admin/enterprise/export', getSeachForm(), '员工列表.xlsx');
+    setTableLoading(false);
+  } catch {
+    setTableLoading(false);
+  }
 }
 </script>