diff --git a/src/views/system/SettingManage.vue b/src/views/system/SettingManage.vue index c7ff7e1..aea6250 100644 --- a/src/views/system/SettingManage.vue +++ b/src/views/system/SettingManage.vue @@ -1954,11 +1954,29 @@ const submitSettingForm = async () => { note: settingForm.note } + // 保存原始的开放状态用于比较 + const originalOpen = selectedNode.value?.data?.open + const newOpen = settingForm.open + const res = settingForm.id ? await updateSetting(submitData) : await createSetting(submitData) if (res.data.code === 200) { + // 如果是修改配置且开放状态有变化,调用setSettingOpen + if (settingForm.id && originalOpen !== newOpen) { + try { + await setSettingOpen({ + id: settingForm.id, + open: newOpen + }) + console.log('配置开放状态已更新:', { id: settingForm.id, open: newOpen }) + } catch (openError) { + console.error('更新开放状态失败:', openError) + ElMessage.warning('配置已更新,但开放状态更新失败') + } + } + ElMessage.success(settingForm.id ? '修改成功' : '创建成功') settingDialogVisible.value = false