refactor: remove add-rule button, keep only quick-add dropdown

All rule patterns are covered by presets, no need for blank rule creation

Also fix missing Refresh icon import
This commit is contained in:
mediabot-pt
2026-07-06 22:52:19 +08:00
parent 36e05896e5
commit cf26f2f6b1

View File

@@ -54,7 +54,6 @@
<!-- 右侧:卡片式可视化编辑 -->
<div style="flex:1;overflow:auto;min-height:0">
<div style="display:flex;gap:8px;align-items:center;margin-bottom:10px;flex-wrap:wrap">
<el-button size="small" type="primary" @click="addRule"><el-icon style="margin-right:2px"><Plus /></el-icon>添加规则</el-button>
<el-dropdown @command="addPreset">
<el-button size="small">快速添加<el-icon style="margin-left:2px"><ArrowDown /></el-icon></el-button>
<template #dropdown>
@@ -69,7 +68,7 @@
</el-dropdown-menu>
</template>
</el-dropdown>
<span v-if="!parsed.length" style="color:#909399;font-size:13px">— 暂无规则,点击添加或从模板导入</span>
<span v-if="!parsed.length" style="color:#909399;font-size:13px">— 暂无规则,请使用「快速添加」选择模板</span>
</div>
<!-- 规则卡片列表 -->
@@ -193,7 +192,7 @@
<script setup>
import { ref, computed, onMounted } from 'vue'
import { Plus, ArrowDown, ArrowUp, Rank, Delete } from '@element-plus/icons-vue'
import { ArrowDown, ArrowUp, Rank, Delete, Refresh } from '@element-plus/icons-vue'
import api from '../api'
// ============ 选项配置 ============
@@ -400,17 +399,6 @@ const editRule = async (row) => {
const sync = () => { editorJson.value = JSON.stringify(parsed.value, null, 2) }
const addRule = () => {
const d = typeDefaults['KILL']
const r = { type:'KILL', metric:d.metric, threshold:0, unit:d.unit, condition:d.condition,
applicable:null, description:'', _fold:false }
if (existsRule(r)) {
ElMessage.warning('活跃度(无条件)规则已存在,同类型+适用条件只能添加一次')
return
}
parsed.value = [...parsed.value, r]
}
const confirmRemove = async (idx) => {
try { await ElMessageBox.confirm('确定删除此规则?', '确认', { type:'warning', confirmButtonText:'删除' }) } catch { return }
const arr = [...parsed.value]; arr.splice(idx, 1); parsed.value = arr