From d82fea569f9bb487364d667cdf3af626cf06f20e Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期三, 02 四月 2025 17:24:18 +0800
Subject: [PATCH] fix: bug

---
 src/views/Home/components/BatchChangeRecordView.vue |  124 ++++++++++++++++++++++++++++++-----------
 1 files changed, 91 insertions(+), 33 deletions(-)

diff --git a/src/views/Home/components/BatchChangeRecordView.vue b/src/views/Home/components/BatchChangeRecordView.vue
index 0dcdf53..7707a6a 100644
--- a/src/views/Home/components/BatchChangeRecordView.vue
+++ b/src/views/Home/components/BatchChangeRecordView.vue
@@ -1,15 +1,24 @@
 <template>
   <LoadingLayout :loading="state.loading">
     <AppContainer>
-      <ProTableV2
-        v-bind="proTableProps"
-        :columns="column"
-        :operationBtns="operationBtns"
-        :autoHeight="false"
-        :tableProps="{
-          maxHeight: '400px',
-        }"
-      >
+      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
+        <template #checkStatus="{ row }">
+          <el-tooltip
+            class="box-item"
+            effect="dark"
+            :content="row.auditNote"
+            placement="top-start"
+            v-if="row.checkStatus === BatchBillCheckStatus.CheckTurnDown"
+          >
+            <div style="display: inline-flex; align-items: center">
+              {{ BatchBillCheckStatusText[row.checkStatus] }}
+              <el-icon size="16" color="#3a71ff"><QuestionFilled /></el-icon>
+            </div>
+          </el-tooltip>
+          <el-text v-else>
+            {{ BatchBillCheckStatusText[row.checkStatus] }}
+          </el-text>
+        </template>
       </ProTableV2>
       <BatchChangeRecordDetailDialog v-bind="dialogProps"></BatchChangeRecordDetailDialog>
     </AppContainer>
@@ -24,9 +33,15 @@
   defineOperationBtns,
   useFormDialog,
 } 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 BatchChangeRecordDetailDialog from './BatchChangeRecordDetailDialog.vue';
+import {
+  BatchBillCheckStatus,
+  BatchBillCheckStatusText,
+  BatchChangeTypeEnumText,
+} from '@/constants';
+import { setOSSLink } from '@/utils';
 
 defineOptions({
   name: 'BatchChangeRecordView',
@@ -35,47 +50,47 @@
 const column: API.CustomModuleColumnDto[] = [
   {
     id: '1',
-    enCode: 'name',
+    enCode: 'batchBillNo',
     name: '鎵瑰崟鍙�',
   },
   {
     id: '2',
-    enCode: 'name',
+    enCode: 'changeType',
     name: '鎵规敼绫诲瀷',
   },
   {
     id: '3',
-    enCode: 'name',
+    enCode: 'creationTime',
     name: '鐢宠鏃ユ湡',
   },
   {
     id: '4',
-    enCode: 'idNumber',
+    enCode: 'effectTime',
     name: '鎵规敼鐢熸晥鏃ユ湡',
   },
   {
     id: '5',
-    enCode: 'idNumber',
+    enCode: 'insurePersonNumber',
     name: '鍦ㄤ繚浜烘暟',
   },
   {
     id: '6',
-    enCode: 'idNumber',
+    enCode: 'orginInsurePersonNumber',
     name: '鍘熷湪淇濅汉鏁�',
   },
   {
     id: '7',
-    enCode: 'idNumber',
+    enCode: 'addPersonNumber',
     name: '鏂板',
   },
   {
     id: '8',
-    enCode: 'idNumber',
+    enCode: 'subPersonNumber',
     name: '鍑忓皯',
   },
   {
     id: '9',
-    enCode: 'idNumber',
+    enCode: 'checkStatus',
     name: '鎵瑰崟鐘舵��',
   },
 ];
@@ -89,9 +104,21 @@
     emits: {
       onClick: (role) => handleDetail(role),
     },
-    // extraProps: {
-    //   hide: (row: API.InsuranceOrderListOutput) => !row.orderBillFile,
-    // },
+    extraProps: {
+      hide: (row: API.InsureBatchBillDto) => row.checkStatus !== BatchBillCheckStatus.InValidate,
+    },
+  },
+  {
+    data: {
+      enCode: 'downloadBtn',
+      name: '涓嬭浇鎵瑰崟',
+    },
+    emits: {
+      onClick: (role) => handleDownload(role),
+    },
+    extraProps: {
+      hide: (row: API.InsureBatchBillDto) => row.checkStatus !== BatchBillCheckStatus.InValidate,
+    },
   },
 ]);
 
@@ -112,16 +139,15 @@
 } = useTable(
   async ({ pageIndex, pageSize }, extraParamState) => {
     try {
-      let params: API.QueryInsuranceOrderPageInput = {
+      let params: API.GetInsuranceBatchBillInput = {
         pageModel: {
           rows: pageSize,
           page: pageIndex,
           orderInput: extraParamState.orderInput,
         },
-        condition: extraParamState.keyWord,
-        // insurePolicyOperateHistoryId: id,
+        insurancePolicyId: id,
       };
-      let res = await insuranceOrderServices.getInsuranceOrderPage(params, {
+      let res = await insureBatchBillServices.getInsureBatchBillList(params, {
         showLoading: !state.loading,
       });
       return res;
@@ -130,22 +156,54 @@
   {
     defaultExtraParams: {
       keyWord: '',
-      orderInput: [{ property: 'id', order: OrderInputType.Asc }],
+      orderInput: [{ property: 'insureBatchBillId', order: OrderInputType.Asc }],
     },
-    columnsRenderProps: {},
+    columnsRenderProps: {
+      creationTime: {
+        type: 'date',
+        format: 'YYYY-MM-DD',
+      },
+      effectTime: {
+        type: 'date',
+        format: 'YYYY-MM-DD',
+      },
+      changeType: {
+        type: 'enum',
+        valueEnum: BatchChangeTypeEnumText,
+      },
+    },
   }
 );
+
+async function getInsureBatchDetail(id: string) {
+  try {
+    return await insureBatchBillServices.getInsureBatchDetail({ batchBillId: id });
+  } catch (error) {}
+}
 
 const { dialogProps, handleEdit } = useFormDialog({
   defaultFormParams: {
     id: '',
+    staffList: [] as API.InsureBatchBillDetailDto[],
   },
 });
 
-function handleDetail(row: API.InsuranceOrderListOutput) {
-  handleEdit({
-    id: row.id,
-  });
+async function handleDetail(row: API.InsureBatchBillDto) {
+  try {
+    const res = await getInsureBatchDetail(row.insureBatchBillId);
+    handleEdit({
+      id: row.insureBatchBillId,
+      staffList: res.staffList,
+    });
+  } catch (error) {}
+}
+
+function handleDownload(row: API.InsureBatchBillDto) {
+  if (!row.attachmentUrl) {
+    Message.errorMessage('鏈笂浼犳壒鍗曟枃浠�');
+    return;
+  }
+  downloadFileByUrl(setOSSLink(row.attachmentUrl));
 }
 
 onMounted(async () => {

--
Gitblit v1.9.1