From 7508a26c00c2ce93ad8c08394f0f9d3d13ebb4ab Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期四, 26 六月 2025 14:25:40 +0800
Subject: [PATCH] feat: 接口对接
---
src/constants/insuranceClaim.ts | 15 +++++++
src/services/api/typings.d.ts | 18 +++++++++
src/views/Home/components/InsureOrderInfoView.vue | 5 ++
src/views/Home/Home.vue | 14 +++++++
pnpm-lock.yaml | 46 +++++++++++-----------
src/services/api/InsuranceOrder.ts | 15 +++++++
6 files changed, 89 insertions(+), 24 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index a1d7665..6b8c375 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -21,13 +21,13 @@
version: 1.0.3(@bole-12333/chat-kit@1.0.1)(@tiptap/core@2.1.13)(@tiptap/extension-document@2.1.13)(@tiptap/extension-image@2.1.13)(@tiptap/extension-mention@2.1.13)(@tiptap/extension-paragraph@2.1.13)(@tiptap/extension-placeholder@2.1.13)(@tiptap/extension-text@2.1.13)(@tiptap/pm@2.1.13)(@tiptap/suggestion@2.1.13)(dayjs@1.11.6)(vue@3.5.11)
'@bole-core/components':
specifier: latest
- version: 1.3.10(@bole-core/core@1.0.6)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@tanstack/vue-query@4.37.1)(@videojs-player/vue@1.0.0)(@vueuse/core@11.1.0)(@vueuse/shared@11.1.0)(dayjs@1.11.6)(element-plus@2.9.1)(lodash@4.17.21)(mitt@3.0.0)(senin-help@1.0.5)(senin-vue@1.0.4)(video.js@7.20.3)(vue-component-type-helpers@2.1.6)(vue@3.5.11)
+ version: 1.3.10(@bole-core/core@1.0.7)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@tanstack/vue-query@4.37.1)(@videojs-player/vue@1.0.0)(@vueuse/core@11.1.0)(@vueuse/shared@11.1.0)(dayjs@1.11.6)(element-plus@2.9.1)(lodash@4.17.21)(mitt@3.0.0)(senin-help@1.0.5)(senin-vue@1.0.4)(video.js@7.20.3)(vue-component-type-helpers@2.1.6)(vue@3.5.11)
'@bole-core/core':
specifier: latest
- version: 1.0.6(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.9.1)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.1)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5)
+ version: 1.0.7(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.9.1)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.1)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5)
'@bole-core/pretty-layout':
specifier: latest
- version: 1.2.0(@bole-core/core@1.0.6)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@vueuse/core@11.1.0)(element-plus@2.9.1)(fuse.js@6.6.2)(lottie-web@5.10.2)(path-browserify@1.0.1)(path-to-regexp@6.2.1)(pinia@2.2.4)(vue-router@4.4.5)(vue@3.5.11)
+ version: 1.2.0(@bole-core/core@1.0.7)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@vueuse/core@11.1.0)(element-plus@2.9.1)(fuse.js@6.6.2)(lottie-web@5.10.2)(path-browserify@1.0.1)(path-to-regexp@6.2.1)(pinia@2.2.4)(vue-router@4.4.5)(vue@3.5.11)
'@bole-core/sass-utils':
specifier: latest
version: 0.0.1(element-plus@2.9.1)
@@ -1889,7 +1889,7 @@
vue: 3.5.11(typescript@4.8.4)
dev: false
- /@bole-core/components@1.3.10(@bole-core/core@1.0.6)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@tanstack/vue-query@4.37.1)(@videojs-player/vue@1.0.0)(@vueuse/core@11.1.0)(@vueuse/shared@11.1.0)(dayjs@1.11.6)(element-plus@2.9.1)(lodash@4.17.21)(mitt@3.0.0)(senin-help@1.0.5)(senin-vue@1.0.4)(video.js@7.20.3)(vue-component-type-helpers@2.1.6)(vue@3.5.11):
+ /@bole-core/components@1.3.10(@bole-core/core@1.0.7)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@tanstack/vue-query@4.37.1)(@videojs-player/vue@1.0.0)(@vueuse/core@11.1.0)(@vueuse/shared@11.1.0)(dayjs@1.11.6)(element-plus@2.9.1)(lodash@4.17.21)(mitt@3.0.0)(senin-help@1.0.5)(senin-vue@1.0.4)(video.js@7.20.3)(vue-component-type-helpers@2.1.6)(vue@3.5.11):
resolution: {integrity: sha512-SRE33nhD4i8MQVvBGbCGH++RfozRM74ctmkhCOCeCoZnlKSqI/i9UlYVrg1Yre5P9TLjh7vEXmSI4TlALrTNXQ==}
peerDependencies:
'@bole-core/core': '*'
@@ -1909,7 +1909,7 @@
vue: 3.5.11
vue-component-type-helpers: ^2.1.6
dependencies:
- '@bole-core/core': 1.0.6(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.9.1)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.1)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5)
+ '@bole-core/core': 1.0.7(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.9.1)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.1)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5)
'@bole-core/sass-utils': 0.0.1(element-plus@2.9.1)
'@element-plus/icons-vue': 2.3.1(vue@3.5.11)
'@tanstack/vue-query': 4.37.1(vue@3.5.11)
@@ -1927,8 +1927,8 @@
vue-component-type-helpers: 2.1.6
dev: false
- /@bole-core/core@1.0.6(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.9.1)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.1)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5):
- resolution: {integrity: sha512-0q0E0ebl6+Arqgg2+OxewmeyizwlxGQdHLLivA9WaFxAY6a5rskVYyEgCwf7hCr4C3saXpNVTzhmmvjVxrr6Lw==}
+ /@bole-core/core@1.0.7(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.9.1)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.1)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5):
+ resolution: {integrity: sha512-VICs9m+qAaMvORNcaKSP1Gkr4thhxvwooh2hd7fBmkIYqDitOYmcssBsPno7jjp+5fuZYQ3LwHQ9Vl/whbTpCw==}
peerDependencies:
'@ywwlmm/openapi': '*'
ali-oss: '*'
@@ -1959,7 +1959,7 @@
xlsx-style: 0.8.13(patch_hash=6ixwdxwh5a3amidwu6vee22jpi)
dev: false
- /@bole-core/pretty-layout@1.2.0(@bole-core/core@1.0.6)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@vueuse/core@11.1.0)(element-plus@2.9.1)(fuse.js@6.6.2)(lottie-web@5.10.2)(path-browserify@1.0.1)(path-to-regexp@6.2.1)(pinia@2.2.4)(vue-router@4.4.5)(vue@3.5.11):
+ /@bole-core/pretty-layout@1.2.0(@bole-core/core@1.0.7)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@vueuse/core@11.1.0)(element-plus@2.9.1)(fuse.js@6.6.2)(lottie-web@5.10.2)(path-browserify@1.0.1)(path-to-regexp@6.2.1)(pinia@2.2.4)(vue-router@4.4.5)(vue@3.5.11):
resolution: {integrity: sha512-LvneMdMfGj6dpFR7voQd2F+v02P4zYHGP3BAWKcrTj8BMeWXRt08Sz7qBrhq1F8lidjqi7TCttQbx2cEV1qBEA==}
peerDependencies:
'@bole-core/core': '*'
@@ -1975,7 +1975,7 @@
vue: 3.5.11
vue-router: '*'
dependencies:
- '@bole-core/core': 1.0.6(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.9.1)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.1)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5)
+ '@bole-core/core': 1.0.7(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.9.1)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.1)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5)
'@bole-core/sass-utils': 0.0.1(element-plus@2.9.1)
'@element-plus/icons-vue': 2.3.1(vue@3.5.11)
'@vueuse/core': 11.1.0(vue@3.5.11)
@@ -3692,8 +3692,8 @@
vue-demi: 0.13.11(vue@3.5.11)
dev: false
- /@tencentcloud/call-engine-js@3.0.1:
- resolution: {integrity: sha512-OafM512KDbk4b9dpVVymLvuQuoVNqp7ZQmnZVjDmC5v/bQxA1FSUaAinty+7AU1Fb1FxQwxuHKDPysQAU+9M0g==}
+ /@tencentcloud/call-engine-js@3.1.0:
+ resolution: {integrity: sha512-ygbGO+NDsqVoF4ud4bAto4zLzqC6CYSJ1lvkoMsRHdaTeXi2M4qrcAqbqbrFD9L8VjLTsbw1o2MzbQCQfYnv3g==}
dependencies:
'@tencentcloud/chat': 3.5.5
core-js: 3.38.1
@@ -3703,10 +3703,10 @@
tuikit-logger: 0.0.4-beta.1
dev: false
- /@tencentcloud/call-uikit-vue2.6@4.0.6(vue@3.5.11):
- resolution: {integrity: sha512-As0qoW6TncyZ0y10Ogm6KrziZGznM5DX5HBPdYfZDbDm6eIYxG13HD3K8BzUC/GRlny8Nxn4EfhSkn48StBruQ==}
+ /@tencentcloud/call-uikit-vue2.6@4.0.7(vue@3.5.11):
+ resolution: {integrity: sha512-w3EankGnt74+S6rDrsVsLY/sRm+R4PtnHQEKHiJyySOGUKlgthq8/gOh2Lee03mh3+Yd6gRivOnEmlBbVNEmQA==}
dependencies:
- '@tencentcloud/call-engine-js': 3.0.1
+ '@tencentcloud/call-engine-js': 3.1.0
'@tencentcloud/chat': 3.5.5
'@tencentcloud/tui-core': 2.4.0
'@vue/composition-api': 1.7.2(vue@3.5.11)
@@ -3714,10 +3714,10 @@
- vue
dev: false
- /@tencentcloud/call-uikit-vue2@4.0.6:
- resolution: {integrity: sha512-egV/rS0T77vj3+d3YpurJxynFBJ41hbBO8WPmwc5z9BD2qjM2HSKgbMR2jGF6XAxjherCK/qlaIZLQQiNIKmNQ==}
+ /@tencentcloud/call-uikit-vue2@4.0.7:
+ resolution: {integrity: sha512-EzLrlzOgAnIY+aSVT2if06D0ebPgqIXTcVQuY+xj6NQI+PTpfkRu/SAlC50CHuaGOdH7F5P+U32dCOjcCoS4BQ==}
dependencies:
- '@tencentcloud/call-engine-js': 3.0.1
+ '@tencentcloud/call-engine-js': 3.1.0
'@tencentcloud/chat': 3.5.5
'@tencentcloud/tui-core': 2.4.0
dev: false
@@ -3729,10 +3729,10 @@
tuicall-engine-webrtc: 3.1.7
dev: false
- /@tencentcloud/call-uikit-vue@4.0.6:
- resolution: {integrity: sha512-eqcIv2QcsH1iRdpbBJu6sv73wVMzaeb4Bap5A2B+uVJrnrwEd1KwOzk8wV4gNIbtF08fK933R4OnkuCRMhoH4A==}
+ /@tencentcloud/call-uikit-vue@4.0.7:
+ resolution: {integrity: sha512-FGaCeCOAyk0z/qiobT+d9F1RFKLal1/lhk51pDso38MlJbvhzk7/s/feubO1Fbi5nHqRBF71m7+RS44m/Fcspg==}
dependencies:
- '@tencentcloud/call-engine-js': 3.0.1
+ '@tencentcloud/call-engine-js': 3.1.0
'@tencentcloud/chat': 3.5.5
'@tencentcloud/tui-core': 2.4.0
dev: false
@@ -3758,9 +3758,9 @@
'@tiptap/pm': ^2.0.0-beta.220
'@tiptap/suggestion': ^2.0.0-beta.220
dependencies:
- '@tencentcloud/call-uikit-vue': 4.0.6
- '@tencentcloud/call-uikit-vue2': 4.0.6
- '@tencentcloud/call-uikit-vue2.6': 4.0.6(vue@3.5.11)
+ '@tencentcloud/call-uikit-vue': 4.0.7
+ '@tencentcloud/call-uikit-vue2': 4.0.7
+ '@tencentcloud/call-uikit-vue2.6': 4.0.7(vue@3.5.11)
'@tencentcloud/chat-uikit-engine': 2.4.4
'@tencentcloud/tui-core': 2.4.0
'@tencentcloud/tui-customer-service-plugin': 2.2.6(@tencentcloud/tui-core@2.4.0)(vue@3.5.11)
diff --git a/src/constants/insuranceClaim.ts b/src/constants/insuranceClaim.ts
index e35e4e6..e5d7e69 100644
--- a/src/constants/insuranceClaim.ts
+++ b/src/constants/insuranceClaim.ts
@@ -86,3 +86,18 @@
'30D': '鏈堜繚',
'360D': '骞翠繚',
};
+
+export enum InsuranceClaimAuditStatusEnum {
+ /**椹冲洖 */
+ Reject = -10,
+ /**寰呭鏍� */
+ WaitAudit = 10,
+ /**閫氳繃 */
+ Pass = 20,
+}
+
+export const InsuranceClaimAuditStatusEnumText = {
+ [InsuranceClaimAuditStatusEnum.Reject]: '椹冲洖',
+ [InsuranceClaimAuditStatusEnum.WaitAudit]: '寰呭鏍�',
+ [InsuranceClaimAuditStatusEnum.Pass]: '閫氳繃',
+};
diff --git a/src/services/api/InsuranceOrder.ts b/src/services/api/InsuranceOrder.ts
index a0906de..9fc8e40 100644
--- a/src/services/api/InsuranceOrder.ts
+++ b/src/services/api/InsuranceOrder.ts
@@ -398,6 +398,21 @@
});
}
+/** 淇濆崟瀹℃牳 POST /api/InsuranceOrder/InsurancePolicyAudit */
+export async function insurancePolicyAudit(
+ body: API.InsurancePolicyAuditInput,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/InsuranceOrder/InsurancePolicyAudit', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** 淇敼淇濆崟浜哄憳淇℃伅 POST /api/InsuranceOrder/UpdateInsuranceStaffInfo */
export async function updateInsuranceStaffInfo(
body: API.UpdateInsuranceStaffInfoInput,
diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts
index 265e288..676f2d5 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -897,6 +897,8 @@
companyName?: string;
isClosedOutTime?: boolean;
auditStatus?: InsuranceClaimAuditStatusEnum;
+ /** 瀹℃牳澶囨敞 */
+ auditRemark?: string;
/** 淇濋櫓浜у搧IdNumber */
productIdNumber?: string;
}
@@ -1467,6 +1469,22 @@
materialName?: string;
}
+ interface InsurancePolicyAuditInput {
+ /** 淇濆崟Id */
+ insurancePolicyId?: string;
+ /** 淇濆崟璧锋湡 */
+ effectStartTime?: string;
+ /** 淇濆崟姝㈡湡 */
+ effectEndTime?: string;
+ /** 淇濋 */
+ sumInsured?: number;
+ /** 淇濊垂 */
+ amount?: number;
+ auditStatus?: InsuranceClaimAuditStatusEnum;
+ /** 瀹℃牳澶囨敞 */
+ auditRemark?: string;
+ }
+
type InsurancePolicyStatusEnum = 10 | 20 | 30;
interface InsureBatchBillDetailDto {
diff --git a/src/views/Home/Home.vue b/src/views/Home/Home.vue
index 1dc4f3a..d8736f1 100644
--- a/src/views/Home/Home.vue
+++ b/src/views/Home/Home.vue
@@ -26,6 +26,15 @@
</QueryFilterItem>
<QueryFilterItem>
<FieldRadio
+ v-model="extraParamState.auditStatus"
+ :value-enum="InsuranceClaimAuditStatusEnumText"
+ buttonStyle
+ showAllBtn
+ @change="getList()"
+ />
+ </QueryFilterItem>
+ <QueryFilterItem>
+ <FieldRadio
v-model="extraParamState.status"
:value-enum="InsurancePolicyStatusEnumText"
buttonStyle
@@ -109,6 +118,8 @@
InsurancePolicyStatusEnumText,
InsurancePolicyStatusEnum,
AppType,
+ InsuranceClaimAuditStatusEnumText,
+ InsuranceClaimAuditStatusEnum,
} from '@/constants';
import dayjs from 'dayjs';
import _ from 'lodash';
@@ -209,10 +220,12 @@
creationDate: [] as unknown as ModelValueType,
condition: '',
status: '' as any as InsurancePolicyStatusEnum,
+ auditStatus: '' as any as InsuranceClaimAuditStatusEnum,
insurancePeriod: '',
},
columnsRenderProps: {
status: { type: 'enum', valueEnum: InsurancePolicyStatusEnumText },
+ auditStatus: { type: 'enum', valueEnum: InsuranceClaimAuditStatusEnumText },
insurancePeriod: { type: 'enum', valueEnum: insuranceTypeText },
creationTime: { type: 'date', format: 'YYYY-MM-DD' },
effectStartTime: { type: 'date', format: 'YYYY-MM-DD' },
@@ -243,6 +256,7 @@
condition: extraParamState.condition,
insurancePeriod: extraParamState.insurancePeriod,
status: extraParamState.status,
+ auditStatus: extraParamState.auditStatus,
};
return params;
}
diff --git a/src/views/Home/components/InsureOrderInfoView.vue b/src/views/Home/components/InsureOrderInfoView.vue
index 6969481..841ce59 100644
--- a/src/views/Home/components/InsureOrderInfoView.vue
+++ b/src/views/Home/components/InsureOrderInfoView.vue
@@ -85,6 +85,7 @@
<template v-if="detail.status === InsurancePolicyStatusEnum.WaitEffect">
<el-button @click="handleTemplateDownload()" link type="primary">妯℃澘涓嬭浇</el-button>
<BlFileUpload
+ v-if="detail.auditStatus !== InsuranceClaimAuditStatusEnum.Pass"
:limitFileSize="10"
accept="xls,xlsx"
:showTip="false"
@@ -149,6 +150,7 @@
insuranceTypeText,
InsurancePolicyStatusEnum,
InsurancePolicyStatusEnumText,
+ InsuranceClaimAuditStatusEnum,
} from '@/constants';
import ChangePersonInfoDialog from './ChangePersonInfoDialog.vue';
import InsureClaimDetailDialog from './InsureClaimDetailDialog.vue';
@@ -239,7 +241,8 @@
},
extraProps: {
hide: (row: API.GetInsuranceStaffPageTemplate) =>
- detail.value?.status !== InsurancePolicyStatusEnum.WaitEffect,
+ detail.value?.status !== InsurancePolicyStatusEnum.WaitEffect ||
+ detail.value?.auditStatus === InsuranceClaimAuditStatusEnum.Pass,
},
},
{
--
Gitblit v1.9.1