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 StaffSelect from "../../../staff/staff-select";
|
||||||
import TermSelect from "../../../term/term-select";
|
import TermSelect from "../../../term/term-select";
|
||||||
import TabPane from "antd/es/tabs/TabPane";
|
import TabPane from "antd/es/tabs/TabPane";
|
||||||
|
import toast from "react-hot-toast";
|
||||||
|
|
||||||
export function LetterBasicForm() {
|
export function LetterBasicForm() {
|
||||||
const { onSubmit, receiverId, termId, form } = useLetterEditor();
|
const { onSubmit, receiverId, termId, form } = useLetterEditor();
|
||||||
const handleFinish = async (values: any) => {
|
const handleFinish = async (values: any) => {
|
||||||
await onSubmit(values);
|
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 (
|
return (
|
||||||
<div className=" p-6 ">
|
<div className=" p-6 ">
|
||||||
<Form
|
<Form
|
||||||
|
@ -63,7 +90,9 @@ export function LetterBasicForm() {
|
||||||
<TabPane tab="正文" key="1">
|
<TabPane tab="正文" key="1">
|
||||||
<Form.Item
|
<Form.Item
|
||||||
name="content"
|
name="content"
|
||||||
rules={[{ required: true, message: "请输入内容" }]}
|
rules={[
|
||||||
|
{ required: true, message: "请输入正文内容" },
|
||||||
|
]}
|
||||||
required={false}>
|
required={false}>
|
||||||
<div className="rounded-xl border border-white hover:ring-1 ring-white transition-all duration-300 ease-in-out bg-slate-100">
|
<div className="rounded-xl border border-white hover:ring-1 ring-white transition-all duration-300 ease-in-out bg-slate-100">
|
||||||
<QuillEditor
|
<QuillEditor
|
||||||
|
@ -109,7 +138,7 @@ export function LetterBasicForm() {
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
<Button
|
<Button
|
||||||
type="primary"
|
type="primary"
|
||||||
onClick={() => form.submit()}
|
onClick={handleSubmit}
|
||||||
size="large"
|
size="large"
|
||||||
icon={<SendOutlined />}
|
icon={<SendOutlined />}
|
||||||
className="w-full sm:w-40">
|
className="w-full sm:w-40">
|
||||||
|
|
Loading…
Reference in New Issue