"use client" import type React from "react" import { useState } from "react" import { Button } from "@/components/ui/button" import { DialogContent, DialogHeader, DialogTitle } from "@/components/ui/dialog" import { Input } from "@/components/ui/input" import { Label } from "@/components/ui/label" import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select" import { Textarea } from "@/components/ui/textarea" import { Badge } from "@/components/ui/badge" import { Plus, X } from "lucide-react" import { cn } from "@/lib/utils" interface NewPlanFormProps { onClose: () => void } export function NewPlanForm({ onClose }: NewPlanFormProps) { const [step, setStep] = useState(1) const [loading, setLoading] = useState(false) const [formData, setFormData] = useState({ name: "", customerType: "", startDate: "", endDate: "", groupSize: 38, welcomeMessage: "欢迎进群", specificWechatIds: [] as string[], keywords: [] as string[], tags: [] as string[], deviceId: "", operatorId: "", }) const [tempInput, setTempInput] = useState({ wechatId: "", keyword: "", tag: "", }) const handleAddWechatId = () => { if (tempInput.wechatId && !formData.specificWechatIds.includes(tempInput.wechatId)) { setFormData({ ...formData, specificWechatIds: [...formData.specificWechatIds, tempInput.wechatId], }) setTempInput({ ...tempInput, wechatId: "" }) } } const handleAddKeyword = () => { if (tempInput.keyword && !formData.keywords.includes(tempInput.keyword)) { setFormData({ ...formData, keywords: [...formData.keywords, tempInput.keyword], }) setTempInput({ ...tempInput, keyword: "" }) } } const handleAddTag = () => { if (tempInput.tag && !formData.tags.includes(tempInput.tag)) { setFormData({ ...formData, tags: [...formData.tags, tempInput.tag], }) setTempInput({ ...tempInput, tag: "" }) } } const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() setLoading(true) try { // TODO: 实现提交逻辑 await new Promise((resolve) => setTimeout(resolve, 1000)) onClose() } catch (error) { console.error(error) } finally { setLoading(false) } } return ( 新建自动拉群计划
{step === 1 && (
setFormData({ ...formData, name: e.target.value })} placeholder="请输入计划名称" className="w-full" />
setFormData({ ...formData, startDate: e.target.value })} />
setFormData({ ...formData, endDate: e.target.value })} />
{formData.groupSize} 人/群
)} {step === 2 && (