add
This commit is contained in:
parent
901fb2e9ac
commit
b8a8c1b044
|
@ -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">
|
||||
|
|
Loading…
Reference in New Issue