"use client" import { useState } from "react" import { Button } from "@/components/ui/button" import { Input } from "@/components/ui/input" import { Dialog, DialogContent, DialogHeader, DialogTitle } from "@/components/ui/dialog" import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table" import { Search, Plus, Trash2 } from "lucide-react" import type { WechatGroup } from "@/types/group-sync" // 模拟数据 const mockGroups: WechatGroup[] = [ { id: "1", name: "快捷语", avatar: "/placeholder.svg?height=40&width=40", serviceAccount: { id: "sa1", name: "贝蒂喜品牌wxid_rtlwsjytjk1991", avatar: "/placeholder.svg?height=40&width=40", }, }, { id: "2", name: "产品交流群", avatar: "/placeholder.svg?height=40&width=40", serviceAccount: { id: "sa1", name: "贝蒂喜品牌wxid_rtlwsjytjk1991", avatar: "/placeholder.svg?height=40&width=40", }, }, { id: "3", name: "客户服务群", avatar: "/placeholder.svg?height=40&width=40", serviceAccount: { id: "sa2", name: "客服小助手wxid_abc123", avatar: "/placeholder.svg?height=40&width=40", }, }, ] interface GroupSelectorProps { selectedGroups: WechatGroup[] onGroupsChange: (groups: WechatGroup[]) => void onPrevious: () => void onNext: () => void onSave: () => void onCancel: () => void } export function GroupSelector({ selectedGroups = [], onGroupsChange, onPrevious, onNext, onSave, onCancel, }: GroupSelectorProps) { const [isDialogOpen, setIsDialogOpen] = useState(false) const [searchTerm, setSearchTerm] = useState("") const [serviceFilter, setServiceFilter] = useState("") const handleAddGroup = (group: WechatGroup) => { if (!selectedGroups.some((g) => g.id === group.id)) { onGroupsChange([...selectedGroups, group]) } setIsDialogOpen(false) } const handleRemoveGroup = (groupId: string) => { onGroupsChange(selectedGroups.filter((group) => group.id !== groupId)) } const filteredGroups = mockGroups.filter((group) => { const matchesSearch = group.name.toLowerCase().includes(searchTerm.toLowerCase()) const matchesService = !serviceFilter || group.serviceAccount.name.includes(serviceFilter) return matchesSearch && matchesService }) return (
* 推送社群:
{selectedGroups.length > 0 ? ( 序号 群信息 推送客服 操作 {selectedGroups.map((group, index) => ( {index + 1}
{group.name}
{group.name}
{group.serviceAccount.name}
{group.serviceAccount.name}
))}
) : (
请点击"选择微信聊天群"按钮添加群组
)}
选择微信聊天群
setSearchTerm(e.target.value)} />
setServiceFilter(e.target.value)} />
序号 群信息 归属客服 操作 {filteredGroups.map((group, index) => ( {index + 1}
{group.name}
{group.name}
{group.serviceAccount.name}
))}
) }