import { siteapicontrollerCreatereview, siteapicontrollerUpdatereview, } from '@/servers/api/siteApi'; import { Form, Input, InputNumber, Modal, Select, message } from 'antd'; import React, { useEffect } from 'react'; const { TextArea } = Input; const { Option } = Select; interface ReviewFormProps { open: boolean; editing: any; siteId: number; onClose: () => void; onSuccess: () => void; } const ReviewForm: React.FC = ({ open, editing, siteId, onClose, onSuccess, }) => { const [form] = Form.useForm(); // 当编辑状态改变时,重置表单数据 useEffect(() => { if (editing) { form.setFieldsValue({ product_id: editing.product_id, author: editing.author, email: editing.email, content: editing.content, rating: editing.rating, status: editing.status, }); } else { form.resetFields(); } }, [editing, form]); // 处理表单提交 const handleSubmit = async (values: any) => { try { let response; if (editing) { // 更新评论 response = await siteapicontrollerUpdatereview( { siteId, id: editing.id, }, { review: values.content, rating: values.rating, status: values.status, }, ); } else { // 创建新评论 response = await siteapicontrollerCreatereview( { siteId, }, { product_id: values.product_id, review: values.content, rating: values.rating, author: values.author, author_email: values.email, }, ); } if (response.success) { message.success(editing ? '更新成功' : '创建成功'); onSuccess(); onClose(); form.resetFields(); } else { message.error(response.message || '操作失败'); } } catch (error) { console.error('提交评论表单失败:', error); message.error('提交失败,请重试'); } }; return ( form.submit()} okText="保存" cancelText="取消" width={600} >
{!editing && ( <> )}