From 42cb53916a430a19843913f2601b5d16779c7010 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期四, 23 十月 2025 22:19:29 +0800
Subject: [PATCH] feat: 接口
---
src/views/Home/BatchChange.vue | 131 ++++++++++++++++++++++++++++++++++---------
1 files changed, 102 insertions(+), 29 deletions(-)
diff --git a/src/views/Home/BatchChange.vue b/src/views/Home/BatchChange.vue
index f966bba..bbfefdd 100644
--- a/src/views/Home/BatchChange.vue
+++ b/src/views/Home/BatchChange.vue
@@ -111,6 +111,7 @@
ProTableV2,
ProFormUpload,
UploadUserFile,
+ XLSXUtils,
} from '@bole-core/components';
import * as insuranceOrderServices from '@/services/api/InsuranceOrder';
import * as insureBatchBillServices from '@/services/api/InsureBatchBill';
@@ -121,6 +122,7 @@
import { useQuery, useQueryClient } from '@tanstack/vue-query';
import { paginateList } from '@/utils';
import dayjs from 'dayjs';
+import _ from 'lodash';
defineOptions({
name: 'BatchChange',
@@ -141,6 +143,26 @@
id: '3',
enCode: 'idNumber',
name: '韬唤璇佸彿',
+ },
+ {
+ id: '3',
+ enCode: 'occupationType',
+ name: '鑱屼笟绫诲瀷',
+ },
+ {
+ id: '3',
+ enCode: 'occupationCode',
+ name: '鑱屼笟鐮佸��',
+ },
+ {
+ id: '3',
+ enCode: 'workEnterprise',
+ name: '鐢ㄥ伐鍗曚綅',
+ },
+ {
+ id: '3',
+ enCode: 'workAddress',
+ name: '鐢ㄥ伐鍦扮偣',
},
{
id: '4',
@@ -216,25 +238,39 @@
url: response.path,
insurePolicyId: id,
};
- let checkRes = await insureBatchBillServices.importCheckBatchAddOrSubOrderData(params, {
- getResponse: true,
- responseType: 'blob',
- });
- if (checkRes?.data?.size) {
+ let res = await insureBatchBillServices.importBatchAddOrSubOrderData(params);
+ if (res?.error.length > 0) {
Message.tipMessage('瀛樺湪閿欒鏁版嵁锛屾槸鍚﹀鍑猴紵')
.then(() => {
- downloadFile(checkRes.data, `閿欒浜哄憳鍚嶅崟`, 'xlsx');
+ XLSXUtils.exportToXLSX({
+ workbookDataList: res?.error,
+ fileName: '閿欒浜哄憳鍚嶅崟',
+ workbookHeaderMap: {
+ changeFlag: '鎵规敼鏍囧織',
+ insuranceScheme: '鏂规浠g爜',
+ name: '琚繚闄╀汉濮撳悕',
+ certType: '璇佷欢绫诲瀷',
+ idNumber: '璇佷欢鍙风爜',
+ age: '骞撮緞',
+ phoneNumber: '鎵嬫満鍙�',
+ occupationType: '鑱屼笟绫诲瀷',
+ occupationCode: '鑱屼笟鐮佸��',
+ workEnterprise: '鐢ㄥ伐鍗曚綅',
+ workAddress: '鐢ㄥ伐鍦扮偣',
+ workType: '鑱屼笟/宸ョ',
+ gender: '鎬у埆',
+ birthDay: '鍑虹敓鏃ユ湡',
+ remark: '澶囨敞',
+ },
+ });
})
.catch(() => {
- // getList(paginationState.pageIndex);
+ state.staffList = _.uniqBy(res.addOrSub, 'idNumber');
+ getList();
});
- } else {
- let res = await insureBatchBillServices.importBatchAddOrSubOrderData(params);
- if (res?.addOrSub?.length) {
- state.staffList = res.addOrSub;
- getList();
- }
}
+ state.staffList = _.uniqBy(res.addOrSub, 'idNumber');
+ getList();
} catch (error) {}
}
async function handleUploadReplace(response: UploadUserFile) {
@@ -243,25 +279,58 @@
url: response.path,
insurePolicyId: id,
};
- let checkRes = await insureBatchBillServices.importCheckBatchUpdateOrderData(params, {
- getResponse: true,
- responseType: 'blob',
- });
- if (checkRes?.data?.size) {
+ // let checkRes = await insureBatchBillServices.importCheckBatchUpdateOrderData(params, {
+ // getResponse: true,
+ // responseType: 'blob',
+ // });
+ // if (checkRes?.data?.size) {
+ // Message.tipMessage('瀛樺湪閿欒鏁版嵁锛屾槸鍚﹀鍑猴紵')
+ // .then(() => {
+ // downloadFile(checkRes.data, `閿欒浜哄憳鍚嶅崟`, 'xlsx');
+ // })
+ // .catch(() => {
+ // // getList(paginationState.pageIndex);
+ // });
+ // } else {
+ // let res = await insureBatchBillServices.importBatchUpdateOrderData(params);
+ // if (res?.update?.length) {
+ // state.staffList = res.update;
+ // getList();
+ // }
+ // }
+ let res = await insureBatchBillServices.importBatchUpdateOrderData(params);
+ if (res?.error.length > 0) {
Message.tipMessage('瀛樺湪閿欒鏁版嵁锛屾槸鍚﹀鍑猴紵')
.then(() => {
- downloadFile(checkRes.data, `閿欒浜哄憳鍚嶅崟`, 'xlsx');
+ XLSXUtils.exportToXLSX({
+ workbookDataList: res?.error,
+ fileName: '閿欒浜哄憳鍚嶅崟',
+ workbookHeaderMap: {
+ orginName: '鍘熻淇濅汉濮撳悕',
+ orginIdNumber: '鍘熻淇濅汉璇佷欢鍙风爜',
+ name: '琚繚闄╀汉濮撳悕',
+ certType: '璇佷欢绫诲瀷',
+ idNumber: '璇佷欢鍙风爜',
+ phoneNumber: '鎵嬫満鍙�',
+ occupationType: '鑱屼笟绫诲瀷',
+ occupationCode: '鑱屼笟鐮佸��',
+ workEnterprise: '鐢ㄥ伐鍗曚綅',
+ workAddress: '鐢ㄥ伐鍦扮偣',
+ workType: '鑱屼笟/宸ョ',
+ gender: '鎬у埆',
+ age: '骞撮緞',
+ birthDay: '鍑虹敓鏃ユ湡',
+ remark: '澶囨敞',
+ },
+ });
})
.catch(() => {
- // getList(paginationState.pageIndex);
+ state.staffList = _.uniqBy(_.uniqBy(res.update, 'idNumber'), 'orginIdNumber');
+ getList();
});
- } else {
- let res = await insureBatchBillServices.importBatchUpdateOrderData(params);
- if (res?.update?.length) {
- state.staffList = res.update;
- getList();
- }
}
+ state.staffList = _.uniqBy(_.uniqBy(res.update, 'idNumber'), 'orginIdNumber');
+ getList();
} catch (error) {}
}
@@ -292,12 +361,16 @@
Message.errorMessage('璇峰厛涓婁紶浜哄憳鍚嶅崟');
return;
}
+ let _addInsStaffList = _.uniqBy(state.staffList, 'idNumber');
let params: API.InsureBatchBillInput = {
insurancePolicyId: id,
effectTime: state.form.time,
- addInsStaffList: state.staffList.filter((x) => x.changeFlag.includes('澧炲姞')),
- updateInsStaffList: state.staffList.filter((x) => x.changeFlag.includes('鏇挎崲')),
- delInsStaffList: state.staffList.filter((x) => x.changeFlag.includes('鍒犻櫎')),
+ addInsStaffList: _addInsStaffList.filter((x) => x.changeFlag.includes('澧炲姞')),
+ updateInsStaffList: _.uniqBy(
+ _addInsStaffList.filter((x) => x.changeFlag.includes('鏇挎崲')),
+ 'orginIdNumber'
+ ),
+ delInsStaffList: _addInsStaffList.filter((x) => x.changeFlag.includes('鍒犻櫎')),
};
let res = await insureBatchBillServices.addOrUpdateInsureBatchBill(params);
if (res) {
--
Gitblit v1.9.1