fix: guard bill generation submission
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user