import { MagnifyingGlassIcon } from "@heroicons/react/24/outline"; import { api, useStaff } from "@nice/client"; import { Button, Form, Input, Modal, Select, Table } from "antd"; import { StaffDto } from "@nice/common"; import { useEffect, useState } from "react"; import toast from "react-hot-toast"; export default function StaffMessage() { const initialValues = { username: "", deptId: "", absent: "是", }; const { create, update } = useStaff(); const [searchName, setSearchName] = useState(""); const { data: staffs, isLoading } = api.staff.findMany.useQuery({ where: { username: { contains: searchName } } }); console.log(staffs); const [form] = Form.useForm(); const [visible, setVisible] = useState(false); const [editingRecord, setEditingRecord] = useState(null); const colnums = [ { title: "姓名", dataIndex: "username", key: "username", }, { title: "部门", dataIndex: "deptId", key: "deptId", }, { title: "在位", dataIndex: "absent", key: "absent", render: (_, record) => ( ) }, { title: "操作", key: "action", render: (_, record) => ( ), } ]; const handleNew = () => { form.setFieldsValue(initialValues); setVisible(true); } useEffect(() => { if (editingRecord) { form.setFieldsValue(editingRecord); console.log(editingRecord); } }, [editingRecord]); const handleEdit = (record) => { setEditingRecord(record); form.setFieldsValue(editingRecord); setVisible(true); }; const handleOk = async () => { const values = await form.getFieldsValue(); const orderValue = values.order ? parseFloat(values.order) : null; console.log(values.username); try { if (editingRecord && editingRecord.id) { // console.log(editingRecord); const result = await update.mutateAsync( { where: { id: editingRecord.id, }, data: { username: values.username, deptId: values.deptId, order: orderValue, updatedAt: new Date() } } ); // console.log(result); } else { await create.mutateAsync( { data: { username: values.username, deptId: values.deptId, order: orderValue, createdAt: new Date(), showname: values.username, } } ); } toast.success("保存成功"); setVisible(false); } catch (error) { toast.error("保存失败"); throw error; } }; const handleCancel = () => { setVisible(false); }; const handleSearch = (e) => { setSearchName(e.target.value); }; return (
{/* 修改为flex布局 */}
{/* 添加flex容器 */} {/* 头部区域保持不变... */}
XX 公司人员信息表
{/* 表格容器增加flex布局 */} {isLoading ? (
) : (
({ className: "hover:bg-gray-800/50 transition-colors even:bg-gray-800/50 hover:shadow-lg hover:shadow-blue-500/20", })} > {colnums.map((column) => ( ))} {/* 移除原有text-gray-300 */} {staffs?.map((record) => ( {colnums.map((column) => ( ))} ))}
{column.title}
{column.render?.(record[column.dataIndex], record) || record[column.dataIndex]}
)} {/* 模态框样式更新 */}
); }