Selaa lähdekoodia

修改字典内容,更新前端字典缓存

Signed-off-by: IMaster <logole@live.cn>
IMaster 2 vuotta sitten
vanhempi
commit
71b00185a8

+ 2 - 1
Web/src/views/system/dict/component/editDictData.vue

@@ -86,7 +86,7 @@ const props = defineProps({
 	title: String,
 	title: String,
 	dictTypeId: Number,
 	dictTypeId: Number,
 });
 });
-const emits = defineEmits(['handleQuery']);
+const emits = defineEmits(['handleQuery', 'handleUpdate']);
 const ruleFormRef = ref();
 const ruleFormRef = ref();
 const state = reactive({
 const state = reactive({
 	isShowDialog: false,
 	isShowDialog: false,
@@ -123,6 +123,7 @@ const submit = () => {
 		} else {
 		} else {
 			await getAPI(SysDictDataApi).apiSysDictDataAddPost(state.ruleForm);
 			await getAPI(SysDictDataApi).apiSysDictDataAddPost(state.ruleForm);
 		}
 		}
+		emits('handleUpdate');
 		closeDialog();
 		closeDialog();
 	});
 	});
 };
 };

+ 2 - 1
Web/src/views/system/dict/component/editDictType.vue

@@ -59,7 +59,7 @@ import { UpdateDictTypeInput } from '/@/api-services/models';
 const props = defineProps({
 const props = defineProps({
 	title: String,
 	title: String,
 });
 });
-const emits = defineEmits(['handleQuery']);
+const emits = defineEmits(['handleQuery', 'handleUpdate']);
 const ruleFormRef = ref();
 const ruleFormRef = ref();
 const state = reactive({
 const state = reactive({
 	isShowDialog: false,
 	isShowDialog: false,
@@ -93,6 +93,7 @@ const submit = () => {
 		} else {
 		} else {
 			await getAPI(SysDictTypeApi).apiSysDictTypeAddPost(state.ruleForm);
 			await getAPI(SysDictTypeApi).apiSysDictTypeAddPost(state.ruleForm);
 		}
 		}
+		emits('handleUpdate');
 		closeDialog();
 		closeDialog();
 	});
 	});
 };
 };

+ 15 - 2
Web/src/views/system/dict/index.vue

@@ -239,8 +239,8 @@
 			</el-col>
 			</el-col>
 		</el-row>
 		</el-row>
 
 
-		<EditDictType ref="editDictTypeRef" :title="state.editDictTypeTitle" @handleQuery="handleDictTypeQuery" />
-		<EditDictData ref="editDictDataRef" :title="state.editDictDataTitle" @handleQuery="handleDictDataQuery" />
+		<EditDictType ref="editDictTypeRef" :title="state.editDictTypeTitle" @handleQuery="handleDictTypeQuery" @handleUpdate="updateDictSession" />
+		<EditDictData ref="editDictDataRef" :title="state.editDictDataTitle" @handleQuery="handleDictDataQuery" @handleUpdate="updateDictSession" />
 	</div>
 	</div>
 </template>
 </template>
 
 
@@ -251,6 +251,8 @@ import EditDictType from '/@/views/system/dict/component/editDictType.vue';
 import EditDictData from '/@/views/system/dict/component/editDictData.vue';
 import EditDictData from '/@/views/system/dict/component/editDictData.vue';
 
 
 import { getAPI } from '/@/utils/axios-utils';
 import { getAPI } from '/@/utils/axios-utils';
+import { Session } from '/@/utils/storage';
+import { useUserInfo } from '/@/stores/userInfo';
 import { SysDictTypeApi, SysDictDataApi } from '/@/api-services/api';
 import { SysDictTypeApi, SysDictDataApi } from '/@/api-services/api';
 import { SysDictType, SysDictData } from '/@/api-services/models';
 import { SysDictType, SysDictData } from '/@/api-services/models';
 
 
@@ -374,6 +376,7 @@ const delDictType = (row: any) => {
 		.then(async () => {
 		.then(async () => {
 			await getAPI(SysDictTypeApi).apiSysDictTypeDeletePost({ id: row.id });
 			await getAPI(SysDictTypeApi).apiSysDictTypeDeletePost({ id: row.id });
 			handleDictTypeQuery();
 			handleDictTypeQuery();
+			updateDictSession();
 			ElMessage.success('删除成功');
 			ElMessage.success('删除成功');
 		})
 		})
 		.catch(() => {});
 		.catch(() => {});
@@ -389,6 +392,7 @@ const delDictData = (row: any) => {
 		.then(async () => {
 		.then(async () => {
 			await getAPI(SysDictDataApi).apiSysDictDataDeletePost({ id: row.id });
 			await getAPI(SysDictDataApi).apiSysDictDataDeletePost({ id: row.id });
 			handleDictDataQuery();
 			handleDictDataQuery();
+			updateDictSession();
 			ElMessage.success('删除成功');
 			ElMessage.success('删除成功');
 		})
 		})
 		.catch(() => {});
 		.catch(() => {});
@@ -417,4 +421,13 @@ const handleDictDataCurrentChange = (val: number) => {
 	state.tableDictDataParams.page = val;
 	state.tableDictDataParams.page = val;
 	handleDictDataQuery();
 	handleDictDataQuery();
 };
 };
+
+// 更新前端字典缓存
+const updateDictSession = async () => {
+	if (Session.get('dictList')) {
+		const dictList = await useUserInfo().getAllDictList();
+		Session.set('dictList', dictList);
+	}
+	await useUserInfo().setDictList();
+};
 </script>
 </script>