评审结果提交增加防抖
This commit is contained in:
@ -55,6 +55,8 @@ const GroupLeaderModal: React.FC<GroupLeaderModalProps> = ({
|
|||||||
const [supplierReviewerMap, setSupplierReviewerMap] = useState < Record < string, string[]>> ({});
|
const [supplierReviewerMap, setSupplierReviewerMap] = useState < Record < string, string[]>> ({});
|
||||||
const [groupSummaryResult, setGroupSummaryResult] = useState < { [k: string]: '0' | '1' | undefined } > ({});
|
const [groupSummaryResult, setGroupSummaryResult] = useState < { [k: string]: '0' | '1' | undefined } > ({});
|
||||||
const [remarkModal, setRemarkModal] = useState({ open: false, remark: '', file: undefined as any });
|
const [remarkModal, setRemarkModal] = useState({ open: false, remark: '', file: undefined as any });
|
||||||
|
//提交防抖
|
||||||
|
const [submitting, setSubmitting] = useState(false);
|
||||||
|
|
||||||
// 适配新结构
|
// 适配新结构
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@ -136,12 +138,20 @@ const GroupLeaderModal: React.FC<GroupLeaderModalProps> = ({
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (submitting) return; // 防重复提交
|
||||||
|
setSubmitting(true);
|
||||||
|
try {
|
||||||
update({ coscoAccessUserItemList: summaryParams, accessWorkId }).then((res: any) => {
|
update({ coscoAccessUserItemList: summaryParams, accessWorkId }).then((res: any) => {
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
message.success('提交成功');
|
message.success('提交成功');
|
||||||
onSubmit && onSubmit();
|
onSubmit && onSubmit();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
setSubmitting(false); // 无论成功失败都解锁
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// 构造二级表头
|
// 构造二级表头
|
||||||
@ -270,7 +280,7 @@ const GroupLeaderModal: React.FC<GroupLeaderModalProps> = ({
|
|||||||
{view ? '关闭' : '取消'}
|
{view ? '关闭' : '取消'}
|
||||||
</Button>,
|
</Button>,
|
||||||
!view && (
|
!view && (
|
||||||
<Button key="submit" type="primary" onClick={handleSubmit}>
|
<Button key="submit" type="primary" onClick={handleSubmit} disabled={submitting}>
|
||||||
提交评审结果
|
提交评审结果
|
||||||
</Button>
|
</Button>
|
||||||
)
|
)
|
||||||
|
@ -73,7 +73,8 @@ const ResultModal: React.FC<ResultModalProps> = ({
|
|||||||
const [remarks, setRemarks] = useState('');
|
const [remarks, setRemarks] = useState('');
|
||||||
const [fileList, setFileList] = useState < any[] > ([]);
|
const [fileList, setFileList] = useState < any[] > ([]);
|
||||||
const [currentUserItemId, setCurrentUserItemId] = useState < string | null > (null);
|
const [currentUserItemId, setCurrentUserItemId] = useState < string | null > (null);
|
||||||
|
//提交防抖
|
||||||
|
const [submitting, setSubmitting] = useState(false);
|
||||||
// 拉取并整理表格数据
|
// 拉取并整理表格数据
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (visible && record?.id) {
|
if (visible && record?.id) {
|
||||||
@ -227,6 +228,9 @@ const ResultModal: React.FC<ResultModalProps> = ({
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (submitting) return; // 防重复提交
|
||||||
|
setSubmitting(true);
|
||||||
|
try {
|
||||||
// 提交审核
|
// 提交审核
|
||||||
update({ coscoAccessUserItemList: result, accessWorkId }).then((res) => {
|
update({ coscoAccessUserItemList: result, accessWorkId }).then((res) => {
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
@ -234,6 +238,11 @@ const ResultModal: React.FC<ResultModalProps> = ({
|
|||||||
onSubmit()
|
onSubmit()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
setSubmitting(false); // 无论成功失败都解锁
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// 组装表头
|
// 组装表头
|
||||||
@ -330,7 +339,7 @@ const ResultModal: React.FC<ResultModalProps> = ({
|
|||||||
{view ? '关闭' : '取消'}
|
{view ? '关闭' : '取消'}
|
||||||
</Button>,
|
</Button>,
|
||||||
!view && (
|
!view && (
|
||||||
<Button key="submit" type="primary" onClick={handleSubmit}>
|
<Button key="submit" type="primary" onClick={handleSubmit} disabled={submitting}>
|
||||||
提交评审结果
|
提交评审结果
|
||||||
</Button>
|
</Button>
|
||||||
)
|
)
|
||||||
|
Reference in New Issue
Block a user