From 2a4aecd380fad4ccb1303be0526eabf56bd3d9a6 Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期五, 27 六月 2025 16:49:08 +0800 Subject: [PATCH] Merge branch 'dev-2.2.0' of http://120.26.58.240:8888/r/JYBIndependentFront into dev-2.2.0 --- 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 e628e7b..ea15a1a 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