This commit is contained in:
ditiqi 2025-01-26 22:06:00 +08:00
parent 901fb2e9ac
commit b8a8c1b044
1 changed files with 31 additions and 2 deletions

View File

@ -6,12 +6,39 @@ import { TusUploader } from "@web/src/components/common/uploader/TusUploader";
import StaffSelect from "../../../staff/staff-select";
import TermSelect from "../../../term/term-select";
import TabPane from "antd/es/tabs/TabPane";
import toast from "react-hot-toast";
export function LetterBasicForm() {
const { onSubmit, receiverId, termId, form } = useLetterEditor();
const handleFinish = async (values: any) => {
await onSubmit(values);
};
const handleSubmit = async () => {
try {
await form.validateFields();
form.submit();
toast.success("提交成功!");
} catch (error) {
// 提取所有错误信息
const errorMessages = (error as any).errorFields
.map((field) => field.errors[0])
.filter(Boolean);
// 显示 toast 错误提示
toast.error(
<div className="flex flex-col gap-1">
<b></b>
{errorMessages.map((msg, i) => (
<span key={i}>· {msg}</span>
))}
</div>,
{
duration: 5000, // 显示 5 秒
position: "top-center",
}
);
}
};
return (
<div className=" p-6 ">
<Form
@ -63,7 +90,9 @@ export function LetterBasicForm() {
<TabPane tab="正文" key="1">
<Form.Item
name="content"
rules={[{ required: true, message: "请输入内容" }]}
rules={[
{ required: true, message: "请输入正文内容" },
]}
required={false}>
<div className="rounded-xl border border-white hover:ring-1 ring-white transition-all duration-300 ease-in-out bg-slate-100">
<QuillEditor
@ -109,7 +138,7 @@ export function LetterBasicForm() {
</Form.Item>
<Button
type="primary"
onClick={() => form.submit()}
onClick={handleSubmit}
size="large"
icon={<SendOutlined />}
className="w-full sm:w-40">