From 3f7e4f5dc89127eeab326fbc4b31a545f515a376 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期一, 20 十月 2025 15:24:15 +0800
Subject: [PATCH] fix: bug
---
packages/hooks/dic.ts | 60 +++++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 41 insertions(+), 19 deletions(-)
diff --git a/packages/hooks/dic.ts b/packages/hooks/dic.ts
index f13b0da..bb28a9f 100644
--- a/packages/hooks/dic.ts
+++ b/packages/hooks/dic.ts
@@ -1,6 +1,6 @@
import { useQuery, useQueryClient } from '@tanstack/vue-query';
import * as dictionaryServices from '@12333/services/apiV2/dictionary';
-import { MaybeRef, unref } from 'vue';
+import { MaybeRef, unref, computed } from 'vue';
import { CategoryCode } from '@12333/constants';
export function useGetDictionaryCategorySelect() {
@@ -13,26 +13,25 @@
fieldNamesMap: x.data.fieldNames ? JSON.parse(x.data.fieldNames) : {},
}));
},
- placeholderData: () =>
- [] as API.SelectQueryResultOptionGuidGetDictionaryCategorySelectQueryOption[],
+ placeholderData: () => [] as API.SelectOptionGuidGetDictionaryCategorySelectQueryOption[],
});
const queryClient = useQueryClient();
function ensureQueryData() {
return queryClient.ensureQueryData<
- API.SelectQueryResultOptionGuidGetDictionaryCategorySelectQueryOption[]
+ API.SelectOptionGuidGetDictionaryCategorySelectQueryOption[]
>({
queryKey: ['dictionaryServices/getDictionaryCategorySelect'],
});
}
function getDictionaryCategoryById(id: string) {
- return dictionaryCategoryList.value.find((x) => x.value === id);
+ return dictionaryCategoryList.value.find((x) => x.data?.id === id);
}
function getDictionaryCategoryByCode(code: string) {
- return dictionaryCategoryList.value.find((x) => x.code === code);
+ return dictionaryCategoryList.value.find((x) => x.data?.code === code);
}
function getDictionaryCategoryNameByCode(code: string) {
@@ -51,37 +50,53 @@
type UseDictionaryDataSelectOptions = {
categoryId?: MaybeRef<string>;
categoryCode?: MaybeRef<CategoryCode>;
+ parentId?: MaybeRef<string>;
+ staleTime?: number;
+ /** 鍏抽敭瀛� */
+ keywords?: MaybeRef<string>;
+ /** 鏌ヨ鎵�鏈� */
+ all?: MaybeRef<boolean>;
+ maxDeep?: number;
};
export function useDictionaryDataSelect({
categoryId,
categoryCode,
+ parentId,
+ staleTime,
+ keywords,
+ all,
+ maxDeep,
}: UseDictionaryDataSelectOptions) {
+ const params = computed(() => ({
+ categoryId: unref(categoryId),
+ categoryCode: unref(categoryCode),
+ parentId: unref(parentId),
+ keywords: unref(keywords),
+ all: unref(all),
+ maxDeep: maxDeep,
+ }));
const { data: dictionaryDataList, refetch } = useQuery({
- queryKey: ['dictionaryServices/getDictionaryDataSelect', categoryId, categoryCode],
+ queryKey: ['dictionaryServices/getDictionaryDataSelect', params],
queryFn: async () => {
- let res = await dictionaryServices.getDictionaryDataSelect(
- {
- categoryId: unref(categoryId),
- categoryCode: unref(categoryCode),
- },
- { showLoading: false }
- );
+ let res = await dictionaryServices.getDictionaryDataSelect(params.value, {
+ showLoading: false,
+ });
return res.map((x) => ({
...x,
code: x.data?.code ?? '',
}));
},
- placeholderData: () =>
- [] as API.SelectQueryResultOptionGuidGetDictionaryDataSelectQueryResultOption[],
+ placeholderData: () => [] as API.SelectOptionStringGetDictionaryDataSelectQueryResultOption[],
+ staleTime,
});
function getDictionaryDataNameById(id: string) {
- return dictionaryDataList.value?.find((x) => x.value === id)?.label;
+ return dictionaryDataList.value?.find((x) => x.data?.id === id)?.label;
}
function getDictionaryDataByCode(code: string) {
- return dictionaryDataList.value?.find((x) => x.code === code);
+ return dictionaryDataList.value?.find((x) => x.data?.code === code);
}
function getDictionaryDataNameByCode(code: string) {
@@ -92,8 +107,14 @@
function ensureQueryData() {
return queryClient.ensureQueryData<
- API.SelectQueryResultOptionGuidGetDictionaryDataSelectQueryResultOption[]
+ API.SelectOptionStringGetDictionaryDataSelectQueryResultOption[]
>({
+ queryKey: ['dictionaryServices/getDictionaryDataSelect'],
+ });
+ }
+
+ function updateDictionaryDataSelect(categoryId?: string) {
+ queryClient.invalidateQueries({
queryKey: ['dictionaryServices/getDictionaryDataSelect'],
});
}
@@ -105,5 +126,6 @@
getDictionaryDataNameById,
getDictionaryDataNameByCode,
getDictionaryDataByCode,
+ updateDictionaryDataSelect,
};
}
--
Gitblit v1.9.1