"use client" import { useState } from "react" import { Dialog, DialogContent, DialogHeader, DialogTitle, DialogFooter } from "@/components/ui/dialog" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select" import { RadioGroup, RadioGroupItem } from "@/components/ui/radio-group" import { Checkbox } from "@/components/ui/checkbox" interface CreateAlertRuleDialogProps { open: boolean onOpenChange: (open: boolean) => void } export function CreateAlertRuleDialog({ open, onOpenChange }: CreateAlertRuleDialogProps) { const [formData, setFormData] = useState({ name: "", metric: "", operator: "gt", threshold: "", duration: "5", severity: "warning", channels: [] as string[], }) const toggleChannel = (channel: string) => { setFormData({ ...formData, channels: formData.channels.includes(channel) ? formData.channels.filter((c) => c !== channel) : [...formData.channels, channel], }) } const handleSubmit = () => { console.log("创建告警规则:", formData) onOpenChange(false) } return ( 新建告警规则
setFormData({ ...formData, name: e.target.value })} />
setFormData({ ...formData, threshold: e.target.value })} />
setFormData({ ...formData, duration: e.target.value })} />
setFormData({ ...formData, severity: value })} className="flex gap-4" >
{["邮件", "短信", "企业微信", "钉钉", "Webhook"].map((channel) => (
toggleChannel(channel)} />
))}
) }