feat: initialize snmp oid editor state

This commit is contained in:
zxr
2026-07-05 18:00:17 +08:00
parent 99a5f8bd16
commit fafdb0d830

View File

@@ -368,6 +368,13 @@ watch(
collect_interval: props.record.collect_interval || 60,
policy_ids: props.record.policy_ids || [],
})
snmpOidEditMode.value = 'table'
try {
syncSnmpOidRowsFromJson()
} catch {
snmpOidEditMode.value = 'json'
snmpOidRows.value = []
}
} else {
Object.assign(formData, {
name: '',
@@ -395,11 +402,44 @@ watch(
collect_interval: 60,
policy_ids: [],
})
snmpOidEditMode.value = 'table'
snmpOidRows.value = []
}
}
}
)
const addSnmpOidRow = () => {
if (snmpOidEditMode.value !== 'table') {
return
}
snmpOidRows.value.push(createEmptySnmpOidRow())
syncSnmpOidJsonFromRows()
}
const removeSnmpOidRow = (index: number) => {
snmpOidRows.value.splice(index, 1)
syncSnmpOidJsonFromRows()
}
const handleSnmpOidRowChange = () => {
syncSnmpOidJsonFromRows()
}
const switchSnmpOidEditMode = () => {
if (snmpOidEditMode.value === 'table') {
syncSnmpOidJsonFromRows()
snmpOidEditMode.value = 'json'
return
}
try {
syncSnmpOidRowsFromJson()
snmpOidEditMode.value = 'table'
} catch {
Message.warning('SNMP OID 配置必须是合法 JSON 数组,修正后才能切换到表格模式')
}
}
const handleOk = async () => {
try {
await formRef.value?.validate()