feat: initialize snmp oid editor state
This commit is contained in:
@@ -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()
|
||||
|
||||
Reference in New Issue
Block a user