fix: guard bill generation submission

This commit is contained in:
2026-07-14 11:20:28 +08:00
parent 5cf6aede1e
commit aaf49d5580

View File

@@ -89,9 +89,11 @@ const BillsPage: React.FC = () => {
}, [bills, searchText, filterStatus]);
const handleGenerate = async () => {
setSaving(true);
const values = await generateForm.validateFields();
if (saving) return;
try {
const values = await generateForm.validateFields();
setSaving(true);
const res: any = await api.post('/bills/generate', {
periodStart: values.period[0].format('YYYY-MM-DD'),
periodEnd: values.period[1].format('YYYY-MM-DD'),
@@ -99,9 +101,12 @@ const BillsPage: React.FC = () => {
message.success(res.message || '生成成功');
setGenerateModal(false);
generateForm.resetFields();
fetchData();
void fetchData();
} catch (e: any) {
message.error(e?.message || '生成失败');
// Ant Design 的表单校验失败会 reject字段本身已展示错误无需再弹“生成失败”。
if (!e?.errorFields) {
message.error(e?.message || '生成失败');
}
} finally {
setSaving(false);
}