diff --git a/web/src/views/ClientView.vue b/web/src/views/ClientView.vue index c88190a..5a8dbd2 100644 --- a/web/src/views/ClientView.vue +++ b/web/src/views/ClientView.vue @@ -4,7 +4,7 @@ import { useRoute, useRouter } from 'vue-router' import { NCard, NButton, NSpace, NTag, NTable, NEmpty, NFormItem, NInput, NInputNumber, NSelect, NModal, NSwitch, - NIcon, useMessage, useDialog, NSpin + NIcon, useMessage, useDialog, NSpin, NAlert } from 'naive-ui' import { ArrowBackOutline, CreateOutline, TrashOutline, @@ -198,14 +198,11 @@ const saveRename = async () => { } const startEdit = () => { - // 只编辑非插件管理的规则 - editRules.value = rules.value - .filter(rule => !rule.plugin_managed) - .map(rule => ({ - ...rule, - type: rule.type || 'tcp', - enabled: rule.enabled !== false - })) + editRules.value = rules.value.map(rule => ({ + ...rule, + type: rule.type || 'tcp', + enabled: rule.enabled !== false + })) editing.value = true } @@ -226,9 +223,7 @@ const removeRule = (index: number) => { const saveEdit = async () => { try { // 合并插件管理的规则和编辑后的规则 - const pluginManagedRules = rules.value.filter(r => r.plugin_managed) - const allRules = [...pluginManagedRules, ...editRules.value] - await updateClient(clientId, { id: clientId, nickname: nickname.value, rules: allRules }) + await updateClient(clientId, { id: clientId, nickname: nickname.value, rules: editRules.value }) editing.value = false message.success('保存成功') await loadClient() @@ -545,27 +540,30 @@ const handleDeletePlugin = (plugin: ClientPlugin) => {