From bb5ae7dcec45af53d7f88f6ba8bfc0ed618976b9 Mon Sep 17 00:00:00 2001 From: ditiqi Date: Sun, 26 Jan 2025 21:56:05 +0800 Subject: [PATCH 1/8] add --- apps/web/src/app/auth/register.tsx | 10 +++++----- .../layout/element/usermenu/user-form.tsx | 16 ++++++++-------- .../src/components/models/staff/staff-form.tsx | 18 ++++++++++-------- 3 files changed, 23 insertions(+), 21 deletions(-) diff --git a/apps/web/src/app/auth/register.tsx b/apps/web/src/app/auth/register.tsx index bfbfeca..fb28b17 100644 --- a/apps/web/src/app/auth/register.tsx +++ b/apps/web/src/app/auth/register.tsx @@ -123,7 +123,7 @@ export const RegisterForm = ({ onSubmit, isLoading }: RegisterFormProps) => { { noStyle rules={[ { message: "请输入证件号" }, - { - pattern: /^\d{5,12}$/, - message: "请输入有效的证件号(5-12位数字)", - }, + // { + // pattern: /^\d{5,12}$/, + // message: "请输入有效的证件号(5-12位数字)", + // }, ]}> diff --git a/apps/web/src/components/layout/element/usermenu/user-form.tsx b/apps/web/src/components/layout/element/usermenu/user-form.tsx index 6f8ade0..6d4d9f7 100644 --- a/apps/web/src/components/layout/element/usermenu/user-form.tsx +++ b/apps/web/src/components/layout/element/usermenu/user-form.tsx @@ -185,13 +185,13 @@ export default function StaffForm() { /> Date: Sun, 26 Jan 2025 22:01:49 +0800 Subject: [PATCH 2/8] add 0126 --- .../editor/context/LetterEditorContext.tsx | 31 ++++++++++++------- .../post/editor/form/LetterBasicForm.tsx | 21 ++++++------- 2 files changed, 28 insertions(+), 24 deletions(-) diff --git a/apps/web/src/components/models/post/editor/context/LetterEditorContext.tsx b/apps/web/src/components/models/post/editor/context/LetterEditorContext.tsx index 88bdaf0..c1d2472 100644 --- a/apps/web/src/components/models/post/editor/context/LetterEditorContext.tsx +++ b/apps/web/src/components/models/post/editor/context/LetterEditorContext.tsx @@ -45,6 +45,10 @@ export function LetterFormProvider({ const onSubmit = async (data: LetterFormData) => { try { + if (!data?.content) { + toast.error("请输入正文"); + return; + } console.log("data", data); const receivers = data?.receivers; const terms = data?.terms; @@ -70,23 +74,23 @@ export function LetterFormProvider({ isPublic: data?.isPublic, resources: data.resources?.length ? { - connect: ( - data.resources?.filter(Boolean) || [] - ).map((fileId) => ({ - fileId, - })), - } + connect: ( + data.resources?.filter(Boolean) || [] + ).map((fileId) => ({ + fileId, + })), + } : undefined, }, }); - const formattedDateTime = dayjs().format('YYYY-MM-DD HH:mm:ss') + const formattedDateTime = dayjs().format("YYYY-MM-DD HH:mm:ss"); // 创建包含信件编号和提交时间的文本 const fileContent = `信件编号: ${result.id}\n投递时间: ${formattedDateTime}`; // 创建包含信件编号和提交时间的Blob对象 - const blob = new Blob([fileContent], { type: 'text/plain' }); + const blob = new Blob([fileContent], { type: "text/plain" }); // 创建下载链接 const downloadUrl = window.URL.createObjectURL(blob); - const link = document.createElement('a'); + const link = document.createElement("a"); link.href = downloadUrl; link.download = `信件编号-${result.id}.txt`; // 设置下载文件名 document.body.appendChild(link); @@ -94,9 +98,12 @@ export function LetterFormProvider({ document.body.removeChild(link); window.URL.revokeObjectURL(downloadUrl); - toast.success(`信件投递成功!信件编号已保存到本地,请妥善保管用于进度查询`, { - duration: 5000 // 10秒 - }); + toast.success( + `信件投递成功!信件编号已保存到本地,请妥善保管用于进度查询`, + { + duration: 5000, // 10秒 + } + ); navigate(`/${result.id}/detail`, { replace: true }); form.resetFields(); } catch (error) { diff --git a/apps/web/src/components/models/post/editor/form/LetterBasicForm.tsx b/apps/web/src/components/models/post/editor/form/LetterBasicForm.tsx index 9dd655f..6ac7e50 100644 --- a/apps/web/src/components/models/post/editor/form/LetterBasicForm.tsx +++ b/apps/web/src/components/models/post/editor/form/LetterBasicForm.tsx @@ -78,18 +78,15 @@ export function LetterBasicForm() { - -
- { - form.setFieldValue( - "resources", - resources - ); - }} - /> -
-
+ {/* */} +
+ { + form.setFieldValue("resources", resources); + }} + /> +
+ {/*
*/}
{/* Footer Actions */} From b8a8c1b04479de175103cc4c125094733524e2d1 Mon Sep 17 00:00:00 2001 From: ditiqi Date: Sun, 26 Jan 2025 22:06:00 +0800 Subject: [PATCH 3/8] add --- .../post/editor/form/LetterBasicForm.tsx | 33 +++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/apps/web/src/components/models/post/editor/form/LetterBasicForm.tsx b/apps/web/src/components/models/post/editor/form/LetterBasicForm.tsx index 6ac7e50..89296d1 100644 --- a/apps/web/src/components/models/post/editor/form/LetterBasicForm.tsx +++ b/apps/web/src/components/models/post/editor/form/LetterBasicForm.tsx @@ -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( +
+ 表单校验失败: + {errorMessages.map((msg, i) => ( + · {msg} + ))} +
, + { + duration: 5000, // 显示 5 秒 + position: "top-center", + } + ); + } + }; return (
*/} {/* Footer Actions */}