From 2c0bd65affde857b14fb5434dbbfe6ebf97d12dc Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期五, 27 六月 2025 16:46:06 +0800
Subject: [PATCH] feat: v2.2
---
src/views/Home/components/UploadInsurePersonDialog.vue | 33 ++++++++++++++--
src/services/api/TaiPing.ts | 11 ++---
src/hooks/dic.ts | 40 ++++++++++++++++++++
src/services/api/typings.d.ts | 7 +--
src/views/Home/Home.vue | 2 +
src/services/api/Dictionary.ts | 15 +++++++
6 files changed, 93 insertions(+), 15 deletions(-)
diff --git a/src/hooks/dic.ts b/src/hooks/dic.ts
index ce60fd7..48489a0 100644
--- a/src/hooks/dic.ts
+++ b/src/hooks/dic.ts
@@ -27,8 +27,48 @@
placeholderData: () => [] as API.InsureProductSettingDto[],
});
+ function getInsureProductByIdNumber(productIdNumber: string) {
+ return allUserInsureProductSettingList.value.find((x) => x.productIdNumber === productIdNumber);
+ }
+
+ function getInsureProductIdByIdNumber(productIdNumber: string) {
+ const insureProduct = getInsureProductByIdNumber(productIdNumber);
+ return insureProduct?.id ?? '';
+ }
+
return {
allUserInsureProductSettingList,
+ getInsureProductByIdNumber,
+ getInsureProductIdByIdNumber,
+ refetch,
+ };
+}
+
+type UseInsureProductSchemeAllListOptions = {
+ insureProductId?: MaybeRef<string>;
+};
+
+export function useInsureProductSchemeAllList(options: UseInsureProductSchemeAllListOptions = {}) {
+ const { insureProductId } = options;
+
+ const { data: allInsureProductSchemeList, refetch } = useQuery({
+ queryKey: ['dictionaryServices/getInsureProductSchemeAllList', insureProductId],
+ queryFn: async () => {
+ let res = await dictionaryServices.getInsureProductSchemeAllList(
+ {
+ insureProductId: unref(insureProductId),
+ },
+ { showLoading: false }
+ );
+ return res;
+ },
+ placeholderData: () => [] as API.InsureProductSchemeDto[],
+ enabled: computed(() => !!unref(insureProductId)),
+ staleTime: Infinity,
+ });
+
+ return {
+ allInsureProductSchemeList,
refetch,
};
}
diff --git a/src/services/api/Dictionary.ts b/src/services/api/Dictionary.ts
index a378f67..ca58aca 100644
--- a/src/services/api/Dictionary.ts
+++ b/src/services/api/Dictionary.ts
@@ -62,6 +62,21 @@
});
}
+/** 鑾峰彇淇濋櫓浜у搧鏂规涓嬫媺鍒楄〃 POST /api/Dictionary/GetInsureProductSchemeAllList */
+export async function getInsureProductSchemeAllList(
+ body: API.GetInsureProductSchemePageInput,
+ options?: API.RequestConfig
+) {
+ return request<API.InsureProductSchemeDto[]>('/api/Dictionary/GetInsureProductSchemeAllList', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** 鑾峰彇淇濋櫓浜у搧鏂规鍒楄〃 POST /api/Dictionary/GetInsureProductSchemePage */
export async function getInsureProductSchemePage(
body: API.GetInsureProductSchemePageInput,
diff --git a/src/services/api/TaiPing.ts b/src/services/api/TaiPing.ts
index 331f5f0..5e37d8d 100644
--- a/src/services/api/TaiPing.ts
+++ b/src/services/api/TaiPing.ts
@@ -15,16 +15,13 @@
}
/** 澶钩淇濋櫓鎵夸繚鎴愬姛閫氱煡 POST /api/TaiPing/Success */
-export async function success(
- // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
- params: API.APIsuccessParams,
- options?: API.RequestConfig
-) {
+export async function success(body: string, options?: API.RequestConfig) {
return request<string>('/api/TaiPing/Success', {
method: 'POST',
- params: {
- ...params,
+ headers: {
+ 'Content-Type': 'application/json',
},
+ data: body,
...(options || {}),
});
}
diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts
index 5480026..86d2666 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -363,6 +363,7 @@
url?: string;
serialNum?: string;
productIdNumber?: string;
+ productSchemeIdNumber?: string;
}
interface APIsearchParams {
@@ -380,10 +381,6 @@
interface APIsetForUserParams {
userId?: string;
permissionName?: string;
- }
-
- interface APIsuccessParams {
- input?: string;
}
interface APIupdateDefaultConnectionStringParams {
@@ -1512,6 +1509,8 @@
auditStatus?: InsurancePolicyAuditStatusEnum;
/** 瀹℃牳澶囨敞 */
auditRemark?: string;
+ /** 杩斿洖鍦板潃 */
+ returnUrl?: string;
}
type InsurancePolicyAuditStatusEnum = 10 | 20 | -10;
diff --git a/src/views/Home/Home.vue b/src/views/Home/Home.vue
index d15d74c..2e7cf0e 100644
--- a/src/views/Home/Home.vue
+++ b/src/views/Home/Home.vue
@@ -287,6 +287,7 @@
serialNum: '',
url: [] as UploadUserFile[],
productIdNumber: '',
+ productSchemeIdNumber: '',
},
closeAfterConfirm: false,
});
@@ -317,6 +318,7 @@
serialNum: editForm.serialNum,
url: editForm.url?.[0]?.path,
productIdNumber: editForm.productIdNumber,
+ productSchemeIdNumber: editForm.productSchemeIdNumber,
};
let res = await insuranceOrderServices.importInsStaffToList(params);
if (res.length > 0) {
diff --git a/src/views/Home/components/UploadInsurePersonDialog.vue b/src/views/Home/components/UploadInsurePersonDialog.vue
index 46c9c2e..2222d09 100644
--- a/src/views/Home/components/UploadInsurePersonDialog.vue
+++ b/src/views/Home/components/UploadInsurePersonDialog.vue
@@ -10,7 +10,7 @@
@close="onDialogClose"
width="600px"
>
- <ProForm :model="innerForm" ref="dialogForm" label-width="100px">
+ <ProForm :model="innerForm" ref="dialogForm" label-width="120px">
<ProFormItemV2
label="鎶曚繚浜у搧锛�"
prop="productIdNumber"
@@ -22,8 +22,24 @@
:value-enum="allUserInsureProductSettingList"
clearable
v-model="form.productIdNumber"
- enum-label-key="insuranceScheme"
+ enum-label-key="productName"
enum-value-key="productIdNumber"
+ @change="handleProductChange"
+ ></ProFormSelect>
+ </ProFormItemV2>
+ <ProFormItemV2
+ label="鎶曚繚浜у搧鏂规锛�"
+ prop="productSchemeIdNumber"
+ :check-rules="[{ message: '璇烽�夋嫨鎶曚繚浜у搧鏂规' }]"
+ v-if="allUserInsureProductSettingList.length > 0"
+ >
+ <ProFormSelect
+ placeholder="璇烽�夋嫨鎶曚繚浜у搧鏂规"
+ :value-enum="allInsureProductSchemeList"
+ clearable
+ v-model="form.productSchemeIdNumber"
+ enum-label-key="name"
+ enum-value-key="idNumber"
></ProFormSelect>
</ProFormItemV2>
<ProFormItemV2 label="鎵规鍙凤細" prop="serialNum" :check-rules="[{ message: '璇疯緭鍏ユ壒娆″彿' }]">
@@ -61,7 +77,7 @@
</template>
<script setup lang="ts">
-import { useUserInsureProductSetting } from '@/hooks';
+import { useUserInsureProductSetting, useInsureProductSchemeAllList } from '@/hooks';
import {
ProDialog,
UploadUserFile,
@@ -84,6 +100,7 @@
serialNum: string;
url: UploadUserFile[];
productIdNumber: string;
+ productSchemeIdNumber: string;
};
};
@@ -98,7 +115,15 @@
(e: 'onCancel'): void;
}>();
-const { allUserInsureProductSettingList } = useUserInsureProductSetting();
+const { allUserInsureProductSettingList, getInsureProductIdByIdNumber } =
+ useUserInsureProductSetting();
+const { allInsureProductSchemeList } = useInsureProductSchemeAllList({
+ insureProductId: computed(() => getInsureProductIdByIdNumber(props.form.productIdNumber)),
+});
+
+function handleProductChange() {
+ innerForm.value.productSchemeIdNumber = '';
+}
const innerVisible = computed({
get() {
--
Gitblit v1.9.1