From 9f70a1ee5cdffaef3a96e4042c8eea251df2fa0d Mon Sep 17 00:00:00 2001 From: wupengfei <834520024@qq.com> Date: 星期三, 06 八月 2025 17:21:56 +0800 Subject: [PATCH] feat: 字典 --- src/views/DictionaryManage/DictionaryCategoryManage.vue | 5 ++++- src/hooks/dic.ts | 14 ++++++++++++++ src/views/DictionaryManage/DataDictionary.vue | 6 +++--- src/views/DictionaryManage/components/AddOrEditDictionaryDialog.vue | 4 ++-- 4 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/hooks/dic.ts b/src/hooks/dic.ts index ee037f2..8543fa8 100644 --- a/src/hooks/dic.ts +++ b/src/hooks/dic.ts @@ -25,6 +25,12 @@ }); } + function updateDictionaryCategorySelect() { + queryClient.invalidateQueries({ + queryKey: ['dictionaryServices/getDictionaryCategorySelect'], + }); + } + function getDictionaryCategoryById(id: string) { return dictionaryCategoryList.value.find((x) => x.value === id); } @@ -43,6 +49,7 @@ getDictionaryCategoryById, getDictionaryCategoryNameByCode, getDictionaryCategoryByCode, + updateDictionaryCategorySelect, }; } @@ -96,6 +103,12 @@ }); } + function updateDictionaryDataSelect() { + queryClient.invalidateQueries({ + queryKey: ['dictionaryServices/getDictionaryDataSelect'], + }); + } + return { dictionaryDataList, ensureQueryData, @@ -103,5 +116,6 @@ getDictionaryDataNameById, getDictionaryDataNameByCode, getDictionaryDataByCode, + updateDictionaryDataSelect, }; } diff --git a/src/views/DictionaryManage/DataDictionary.vue b/src/views/DictionaryManage/DataDictionary.vue index de06a45..febbb11 100644 --- a/src/views/DictionaryManage/DataDictionary.vue +++ b/src/views/DictionaryManage/DataDictionary.vue @@ -86,10 +86,9 @@ operationBtnMap, }); -const { dictionaryCategoryList, ensureQueryData, getDictionaryCategoryNameByCode } = - useGetDictionaryCategorySelect(); +const { dictionaryCategoryList, ensureQueryData } = useGetDictionaryCategorySelect(); -const { getDictionaryDataNameByCode } = useDictionaryDataSelect({ +const { getDictionaryDataNameByCode, updateDictionaryDataSelect } = useDictionaryDataSelect({ categoryCode: CategoryCode.IndustryCategory, }); @@ -202,6 +201,7 @@ let res = await dictionaryServices.saveDictionaryData(params); if (res) { Message.successMessage('鎿嶄綔鎴愬姛'); + updateDictionaryDataSelect(); getList(paginationState.pageIndex); dialogState.dialogVisible = false; } diff --git a/src/views/DictionaryManage/DictionaryCategoryManage.vue b/src/views/DictionaryManage/DictionaryCategoryManage.vue index b110d7b..973e21b 100644 --- a/src/views/DictionaryManage/DictionaryCategoryManage.vue +++ b/src/views/DictionaryManage/DictionaryCategoryManage.vue @@ -62,6 +62,7 @@ operationBtnMap, }); +const { updateDictionaryCategorySelect } = useGetDictionaryCategorySelect(); const BaseState = { loading: true, }; @@ -121,7 +122,7 @@ } } -const { dialogProps, handleAdd, handleEdit, editForm } = useFormDialog({ +const { dialogProps, handleAdd, handleEdit, editForm, dialogState } = useFormDialog({ onConfirm: handleAddOrEdit, defaultFormParams: { id: '', @@ -146,7 +147,9 @@ let res = await dictionaryServices.saveDictionaryCategory(params); if (res) { Message.successMessage('鎿嶄綔鎴愬姛'); + updateDictionaryCategorySelect(); getList(paginationState.pageIndex); + dialogState.dialogVisible = false; } } catch (error) {} } diff --git a/src/views/DictionaryManage/components/AddOrEditDictionaryDialog.vue b/src/views/DictionaryManage/components/AddOrEditDictionaryDialog.vue index 9784ece..ba5d3ca 100644 --- a/src/views/DictionaryManage/components/AddOrEditDictionaryDialog.vue +++ b/src/views/DictionaryManage/components/AddOrEditDictionaryDialog.vue @@ -10,7 +10,7 @@ <ProFormItemV2 label="琛屼笟绫诲瀷:" prop="field1" - v-if="category?.data?.code === '30'" + v-if="category?.data?.code === CategoryCode.Position" :check-rules="[{ message: '璇烽�夋嫨琛屼笟绫诲瀷' }]" > <ProFormSelect @@ -37,7 +37,7 @@ <ProFormItemV2 label="缂栧彿:" prop="code"> <ProFormText v-model.trim="form.code"></ProFormText> </ProFormItemV2> - <ProFormItemV2 label="鍥剧墖:" prop="src" v-if="category?.data?.code === '50'"> + <ProFormItemV2 label="鍥剧墖:" prop="src" v-if="category?.data?.code === CategoryCode.Welfare"> <ProFormImageUpload v-model:file-url="form.field2" :limitFileCount="1"></ProFormImageUpload> </ProFormItemV2> <ProFormItemV2 label="鐘舵��:" prop="status"> -- Gitblit v1.9.1