'use client'; import { useEffect, useState } from 'react'; import { useForm } from 'react-hook-form'; import { useOrgStore } from './store'; import { Button } from '@/components/ui/button'; import { Input } from '@/components/ui/input'; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from '@/components/ui/table'; import { Dialog, DialogContent, DialogHeader, DialogTitle, } from '@/components/ui/dialog'; import { Popover, PopoverContent, PopoverTrigger, } from '@/components/ui/popover'; import { Plus, Pencil, Trash2, Users } from 'lucide-react'; import { LayoutMain } from '@/modules/layout'; import { UserDrawer } from './components/UserDrawer'; const TableList = () => { const { list, setShowEdit, setFormData, deleteData, setOrgId } = useOrgStore(); const [userDrawerOpen, setUserDrawerOpen] = useState(false); const handleOpenUserDrawer = (org: any) => { setOrgId(org.id); setUserDrawerOpen(true); }; return (
名称 描述 创建时间 更新时间 操作 {list.map((org) => ( {org.username} {org.description || '-'} {org.createdAt ? new Date(org.createdAt).toLocaleString() : '-'} {org.updatedAt ? new Date(org.updatedAt).toLocaleString() : '-'}
确认删除该组织?
))}
); }; const FormModal = () => { const { showEdit, setShowEdit, formData, setFormData, updateData } = useOrgStore(); const { handleSubmit, formState: { errors }, reset, register, } = useForm(); useEffect(() => { if (!showEdit) return; if (formData?.id) { reset(formData); } else { reset({ username: '', description: '' }); } }, [formData, showEdit, reset]); const onSubmit = async (data: any) => { const res = await updateData(data); if (res.code === 200) { setShowEdit(false); setFormData({}); } }; return ( { setShowEdit(open); if (!open) setFormData({}); }}> {formData?.id ? '编辑组织' : '添加组织'}
{errors.username && {errors.username.message as string}}
); }; export const List = () => { const { getList, setShowEdit, setFormData } = useOrgStore(); useEffect(() => { getList(); }, [getList]); return (
); }; export default () => { return ; }