This commit is contained in:
ditiqi 2025-01-26 22:01:49 +08:00
parent f71e48a627
commit 901fb2e9ac
2 changed files with 28 additions and 24 deletions

View File

@ -45,6 +45,10 @@ export function LetterFormProvider({
const onSubmit = async (data: LetterFormData) => { const onSubmit = async (data: LetterFormData) => {
try { try {
if (!data?.content) {
toast.error("请输入正文");
return;
}
console.log("data", data); console.log("data", data);
const receivers = data?.receivers; const receivers = data?.receivers;
const terms = data?.terms; const terms = data?.terms;
@ -70,23 +74,23 @@ export function LetterFormProvider({
isPublic: data?.isPublic, isPublic: data?.isPublic,
resources: data.resources?.length resources: data.resources?.length
? { ? {
connect: ( connect: (
data.resources?.filter(Boolean) || [] data.resources?.filter(Boolean) || []
).map((fileId) => ({ ).map((fileId) => ({
fileId, fileId,
})), })),
} }
: undefined, : 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}`; const fileContent = `信件编号: ${result.id}\n投递时间: ${formattedDateTime}`;
// 创建包含信件编号和提交时间的Blob对象 // 创建包含信件编号和提交时间的Blob对象
const blob = new Blob([fileContent], { type: 'text/plain' }); const blob = new Blob([fileContent], { type: "text/plain" });
// 创建下载链接 // 创建下载链接
const downloadUrl = window.URL.createObjectURL(blob); const downloadUrl = window.URL.createObjectURL(blob);
const link = document.createElement('a'); const link = document.createElement("a");
link.href = downloadUrl; link.href = downloadUrl;
link.download = `信件编号-${result.id}.txt`; // 设置下载文件名 link.download = `信件编号-${result.id}.txt`; // 设置下载文件名
document.body.appendChild(link); document.body.appendChild(link);
@ -94,9 +98,12 @@ export function LetterFormProvider({
document.body.removeChild(link); document.body.removeChild(link);
window.URL.revokeObjectURL(downloadUrl); window.URL.revokeObjectURL(downloadUrl);
toast.success(`信件投递成功!信件编号已保存到本地,请妥善保管用于进度查询`, { toast.success(
duration: 5000 // 10秒 `信件投递成功!信件编号已保存到本地,请妥善保管用于进度查询`,
}); {
duration: 5000, // 10秒
}
);
navigate(`/${result.id}/detail`, { replace: true }); navigate(`/${result.id}/detail`, { replace: true });
form.resetFields(); form.resetFields();
} catch (error) { } catch (error) {

View File

@ -78,18 +78,15 @@ export function LetterBasicForm() {
</Form.Item> </Form.Item>
</TabPane> </TabPane>
<TabPane tab="附件" key="2"> <TabPane tab="附件" key="2">
<Form.Item name="resources" required={false}> {/* <Form.Item name="resources" 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">
<TusUploader <TusUploader
onChange={async (resources) => { onChange={async (resources) => {
form.setFieldValue( form.setFieldValue("resources", resources);
"resources", }}
resources />
); </div>
}} {/* </Form.Item> */}
/>
</div>
</Form.Item>
</TabPane> </TabPane>
</Tabs> </Tabs>
{/* Footer Actions */} {/* Footer Actions */}