From 12cce14bc30a85bbf96b5b30bb1aff1fc354091a Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期四, 27 三月 2025 15:07:21 +0800
Subject: [PATCH] feat: 接口对接

---
 src/views/Home/BatchChange.vue |   91 ++++++++++++++++++++++++++++++++++++---------
 1 files changed, 73 insertions(+), 18 deletions(-)

diff --git a/src/views/Home/BatchChange.vue b/src/views/Home/BatchChange.vue
index 3bda0ec..fb48b4d 100644
--- a/src/views/Home/BatchChange.vue
+++ b/src/views/Home/BatchChange.vue
@@ -3,8 +3,10 @@
     <AppScrollContainer>
       <ChunkCell title="1">
         <template #title>
-          <el-text>{{ `淇濆崟鍙凤細${'958585860689'}` }}</el-text>
-          <el-text>{{ `鎶曚繚浜猴細${'浜哄姏鏃犲咖'}` }}</el-text>
+          <div class="batch-change-title">
+            <el-text style="margin-right: 20px">{{ `淇濆崟鍙凤細${'958585860689'}` }}</el-text>
+            <el-text>{{ `鎶曚繚浜猴細${'浜哄姏鏃犲咖'}` }}</el-text>
+          </div>
         </template>
         <ProForm :model="state.form" ref="formRef" label-width="120px">
           <ProFormCol>
@@ -32,10 +34,11 @@
                   :limitFileSize="10"
                   accept="xlsx,xls"
                   :showTip="false"
+                  :on-success="handleUploadAddOrReduce"
                 >
                   <template #default>
                     <el-button type="primary">鍔犲噺浜�</el-button>
-                    <el-button link type="primary" @click.stop="handleTemplateDownload"
+                    <el-button link type="primary" @click.stop="DownloadAddOrReducePersonTemplate"
                       >涓嬭浇妯℃澘</el-button
                     >
                   </template>
@@ -52,10 +55,11 @@
                   :limitFileSize="10"
                   accept="xlsx,xls"
                   :showTip="false"
+                  :on-success="handleUploadReplace"
                 >
                   <template #default>
                     <el-button type="primary">鏇挎崲浜�</el-button>
-                    <el-button link type="primary" @click.stop="handleTemplateDownload"
+                    <el-button link type="primary" @click.stop="downloadReplacePersonTemplate"
                       >涓嬭浇妯℃澘</el-button
                     >
                   </template>
@@ -81,7 +85,7 @@
         >
         </ProTableV2>
         <div class="chuck-add-or-edit-actions">
-          <el-button class="chuck-add-or-edit-actions" type="primary" @click="handleSubmit"
+          <el-button class="chuck-add-or-edit-actions btn" type="primary" @click="handleSubmit"
             >鎻愪氦</el-button
           >
         </div>
@@ -97,25 +101,20 @@
   ProForm,
   ProFormItemV2,
   ChunkCell,
-  ProFormText,
-  ProTableQueryFilterBar,
-  QueryFilterItem,
-  SearchInput,
   ProFormCol,
   ProFormColItem,
   ProFormDatePicker,
-  ProFormInputNumber,
   useTable,
   ProTableV2,
-  ProFormRadio,
-  FieldSelect,
-  defineOperationBtns,
-  useFormDialog,
   ProFormUpload,
   UploadUserFile,
 } from '@bole-core/components';
 import * as insuranceOrderServices from '@/services/api/InsuranceOrder';
-import { OrderInputType } from '@bole-core/core';
+import * as insureBatchBillServices from '@/services/api/InsureBatchBill';
+import { downloadFileByUrl, Message, OrderInputType } from '@bole-core/core';
+import { InsuranceAddOrReduceTempPath, InsuranceChangeTempPath } from '@/constants';
+import { useRouteView } from '@/hooks';
+import { FormInstance } from 'element-plus';
 
 defineOptions({
   name: 'BatchChange',
@@ -165,6 +164,7 @@
 ];
 
 const route = useRoute();
+const { closeViewPush } = useRouteView();
 const id = route.params.id as string;
 const BaseState = {
   loading: true,
@@ -209,9 +209,62 @@
   }
 );
 
+async function handleUploadAddOrReduce(response: UploadUserFile) {
+  try {
+    let params: API.ImportBatchAddOrSubOrderInput = {
+      url: response.path,
+      insurePolicyId: id,
+    };
+    let res = await insureBatchBillServices.importBatchAddOrSubOrderData(params);
+  } catch (error) {}
+}
+async function handleUploadReplace(response: UploadUserFile) {
+  try {
+    let params: API.ImportBatchAddOrSubOrderInput = {
+      url: response.path,
+      insurePolicyId: id,
+    };
+    let res = await insureBatchBillServices.importBatchUpdateOrderData(params);
+  } catch (error) {}
+}
+
 function handleClear() {}
-function handleSubmit() {}
-function handleTemplateDownload() {}
+
+const formRef = ref<FormInstance>();
+function handleSubmit() {
+  if (!formRef.value) return;
+  formRef.value.validate((valid) => {
+    if (valid) {
+      addOrUpdateInsureBatchBill();
+    } else {
+      return;
+    }
+  });
+}
+
+async function addOrUpdateInsureBatchBill() {
+  try {
+    let params = {};
+    let res = await insureBatchBillServices.addOrUpdateInsureBatchBill(params);
+    if (res) {
+      Message.successMessage('鎻愪氦鎴愬姛');
+      handleBack();
+    }
+  } catch (error) {}
+}
+
+function DownloadAddOrReducePersonTemplate() {
+  downloadFileByUrl(InsuranceAddOrReduceTempPath, '鍔犲噺浜烘ā鏉�');
+}
+function downloadReplacePersonTemplate() {
+  downloadFileByUrl(InsuranceChangeTempPath, '鏇挎崲浜烘ā鏉�');
+}
+
+function handleBack() {
+  closeViewPush(route, {
+    name: 'Home',
+  });
+}
 
 onMounted(async () => {
   await getBatchRefundInfoDetail();
@@ -223,6 +276,8 @@
 @use '@/style/common.scss' as *;
 
 .chuck-add-or-edit-actions {
-  //   margin-bottom: 20px;
+  &.btn {
+    margin-bottom: 20px;
+  }
 }
 </style>

--
Gitblit v1.9.1