From 65fdfc6dd82f0bcf6c6826fe1ab645b309f6045c Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期四, 23 十月 2025 19:37:06 +0800
Subject: [PATCH] fix: bug
---
src/views/InsuranceClaim/hooks/index.ts | 98 ++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 93 insertions(+), 5 deletions(-)
diff --git a/src/views/InsuranceClaim/hooks/index.ts b/src/views/InsuranceClaim/hooks/index.ts
index db7dfc7..2203ef7 100644
--- a/src/views/InsuranceClaim/hooks/index.ts
+++ b/src/views/InsuranceClaim/hooks/index.ts
@@ -5,12 +5,17 @@
import { convertAttAchmentsToForm } from '../utils';
import { UploadUserFile } from '@bole-core/components';
import dayjs from 'dayjs';
+import { omit } from 'lodash';
type UseInsuranceClaimDetailOptions = {
insuranceOrderId?: MaybeRef<string>;
+ fromRoute?: MaybeRef<string>;
};
-export function useInsuranceClaimDetail({ insuranceOrderId }: UseInsuranceClaimDetailOptions) {
+export function useInsuranceClaimDetail({
+ insuranceOrderId,
+ fromRoute,
+}: UseInsuranceClaimDetailOptions) {
const DefaultAccidentProcess = `浜嬫晠缁忚繃:
娌荤枟鍖婚櫌:浜岀骇鍙婁互涓婂叕绔嬪尰闄�
璇婃柇缁撴灉(涓庤瘖鏂瘉鏄庝竴鑷�)
@@ -20,11 +25,13 @@
name: '',
idNumber: '',
workType: '',
+ orderNo: '',
laborContractEnterprise: '',
workEnterprise: '',
+ enterpriseName: '',
insuranceBeginTime: '',
insuranceEndTime: '',
- insuredInstitution: '',
+ insuranceOrg: '',
insuranceScheme: '',
contactNumber: '',
bakContactNumber: '',
@@ -53,6 +60,7 @@
const form = reactive({
insuranceOrderId: unref(insuranceOrderId),
+ fromRoute: unref(fromRoute),
reportedTime: '',
accidentTime: '',
...DefaultForm,
@@ -60,6 +68,10 @@
function resetForm() {
Object.assign(form, { ...DefaultForm });
+ }
+
+ function resetFormWithNotOrder() {
+ Object.assign(form, { ...omit(DefaultForm, 'idNumber'), accidentTime: '' });
}
const queryClient = useQueryClient();
@@ -71,7 +83,7 @@
queryFn: async () => {
return await insuranceClaimServices.getInsuranceClaimDetailByOrderId(
{
- orderId: form.insuranceOrderId,
+ orderId: _insuranceOrderId.value,
},
{
showLoading: false,
@@ -152,6 +164,79 @@
});
}
+ const { isLoading: isClaimDetailLoading } = useQuery({
+ queryKey: ['insuranceClaimServices/getInsuranceClaimDetail', _insuranceOrderId],
+ queryFn: async () => {
+ return await insuranceClaimServices.getInsuranceClaimDetail(
+ { id: form.insuranceOrderId },
+ {
+ showLoading: false,
+ }
+ );
+ },
+ placeholderData: () => ({} as API.InsuranceClaimDetailOutput),
+ onSuccess(data) {
+ if (data) {
+ form.name = data.name;
+ form.idNumber = data.idNumber;
+ // form.insuredInstitution = data.insuredInstitution;
+ form.insuranceScheme = data.insuranceScheme;
+ form.insuranceOrg = data.insuranceOrg;
+ form.orderNo = data.orderNo;
+ form.enterpriseName = data.enterpriseName;
+ form.reportedTime = data.reportedTime;
+ form.contactNumber = data.contactNumber;
+ form.bakContactNumber = data.bakContactNumber;
+ form.accidentType = data.accidentType;
+ form.accidentTime = data.accidentTime;
+ form.disabilityRatio = data.disabilityRatio ?? 0;
+ form.accidentAddress = data.accidentAddress;
+ form.accidentProcess = data.accidentProcess ?? DefaultAccidentProcess;
+
+ form.insuranceBeginTime = data.insuranceBeginTime;
+ form.insuranceEndTime = data.insuranceEndTime;
+ form.laborContractEnterprise = data.laborContractEnterprise;
+ form.workEnterprise = data.workEnterprise;
+ form.workType = data.workType;
+
+ form.channel = data.channel;
+ form.onJobFlag = data.onJobFlag;
+ form.gender = data.gender;
+ form.age = data.age;
+ form.premiumAmount = data.premiumAmount;
+ form.incDecAmount = data.incDecAmount;
+
+ form.claimResult = data.claimResult ?? ('' as any as InsuranceClaimResultEnum);
+ form.claimResultTime = data.claimResultTime ?? '';
+ form.downPaymentAmount = data.downPaymentAmount ?? 0;
+
+ const attachmentIdCard = convertAttAchmentsToForm(
+ data.attachments,
+ InsuranceClaimAttachmentBusinessTypeEnum.InjuredIdCardImg
+ );
+ form.attachmentFrontIdCards = attachmentIdCard[0] ? [attachmentIdCard[0]] : [];
+ form.attachmentBackIdCards = attachmentIdCard[1] ? [attachmentIdCard[1]] : [];
+ form.attachmentSites = convertAttAchmentsToForm(
+ data.attachments,
+ InsuranceClaimAttachmentBusinessTypeEnum.InjurySiteImg
+ );
+ form.attachmentHandheldIdCards = convertAttAchmentsToForm(
+ data.attachments,
+ InsuranceClaimAttachmentBusinessTypeEnum.InjuredHandheldIdCardImg
+ );
+ form.attachmentAreas = convertAttAchmentsToForm(
+ data.attachments,
+ InsuranceClaimAttachmentBusinessTypeEnum.InjuredAreaImg
+ );
+ form.attachmentCases = convertAttAchmentsToForm(
+ data.attachments,
+ InsuranceClaimAttachmentBusinessTypeEnum.CasesImg
+ );
+ }
+ },
+ enabled: computed(() => !!form.insuranceOrderId && form.fromRoute === 'InsuranceOrderDetail'),
+ });
+
const { isLoading } = useQuery({
queryKey: ['insuranceOrderServices/getInsuranceOrderDetail', _insuranceOrderId],
queryFn: async () => {
@@ -166,7 +251,7 @@
onSuccess(data) {
importInsuranceOrderData(data);
},
- enabled: computed(() => !!form.insuranceOrderId),
+ enabled: computed(() => !!form.insuranceOrderId && form.fromRoute !== 'InsuranceOrderDetail'),
});
function importInsuranceOrderData(data: API.InsuranceOrderListOutput) {
@@ -174,15 +259,17 @@
form.idNumber = data.idNumber;
form.insuranceBeginTime = data.insuranceBeginTime;
form.insuranceEndTime = data.insuranceEndTime;
- form.insuredInstitution = data.insuredInstitution;
+ form.insuranceOrg = data.insuranceOrg;
form.insuranceScheme = data.insuranceScheme;
form.laborContractEnterprise = data.laborContractEnterprise;
+ form.enterpriseName = data.enterpriseName;
form.workEnterprise = data.workEnterprise;
form.workType = data.workType;
form.channel = data.channel;
form.onJobFlag = data.onJobFlag;
form.gender = data.gender;
form.age = data.age;
+ form.orderNo = data.orderNo;
form.premiumAmount = data.premiumAmount;
form.incDecAmount = data.incDecAmount;
}
@@ -211,6 +298,7 @@
disabledReportedDate,
queryClaimDetailByOrderId,
resetForm,
+ resetFormWithNotOrder,
};
}
--
Gitblit v1.9.1