From d54c9c48c0b4f7c609e0aa65671a6c3fd26f94b4 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期五, 04 七月 2025 13:19:29 +0800
Subject: [PATCH] fix: 江佑保系统健壮性修复

---
 src/hooks/dic.ts |   53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 53 insertions(+), 0 deletions(-)

diff --git a/src/hooks/dic.ts b/src/hooks/dic.ts
index ce60fd7..7c5ab3e 100644
--- a/src/hooks/dic.ts
+++ b/src/hooks/dic.ts
@@ -27,8 +27,61 @@
     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 ?? '';
+  }
+
+  const queryClient = useQueryClient();
+
+  function ensureUserInsureProductSetting() {
+    return queryClient.ensureQueryData<API.InsureProductSettingDto[]>({
+      queryKey: ['dictionaryServices/getUserInsureProductSetting'],
+    });
+  }
+
+  /**鏄惁鏄敓鐓庝繚璐﹀彿 */
+  const isSjbAccount = computed(() => allUserInsureProductSettingList.value.length > 0);
+
   return {
     allUserInsureProductSettingList,
+    getInsureProductByIdNumber,
+    getInsureProductIdByIdNumber,
+    refetch,
+    ensureUserInsureProductSetting,
+    isSjbAccount,
+  };
+}
+
+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,
   };
 }

--
Gitblit v1.9.1