|
@@ -239,8 +239,28 @@
|
|
|
if (!props.batchDelete) return;
|
|
if (!props.batchDelete) return;
|
|
|
doRequest(
|
|
doRequest(
|
|
|
() =>
|
|
() =>
|
|
|
- new Promise((resolve, _reject) => {
|
|
|
|
|
- props.batchDelete!({ ids: selectedRowKeys.value }, (res: any) => resolve(res));
|
|
|
|
|
|
|
+ new Promise((resolve, reject) => {
|
|
|
|
|
+ let done = false;
|
|
|
|
|
+ props.batchDelete!(
|
|
|
|
|
+ { ids: selectedRowKeys.value },
|
|
|
|
|
+ (res: any) => {
|
|
|
|
|
+ if (done) return;
|
|
|
|
|
+ done = true;
|
|
|
|
|
+ resolve(res);
|
|
|
|
|
+ },
|
|
|
|
|
+ (err: any) => {
|
|
|
|
|
+ if (done) return;
|
|
|
|
|
+ done = true;
|
|
|
|
|
+ reject(err);
|
|
|
|
|
+ }
|
|
|
|
|
+ );
|
|
|
|
|
+ // 兜底:API 未触发任何回调时(如取消弹窗),自动结束 pending 状态
|
|
|
|
|
+ setTimeout(() => {
|
|
|
|
|
+ if (!done) {
|
|
|
|
|
+ done = true;
|
|
|
|
|
+ resolve(undefined);
|
|
|
|
|
+ }
|
|
|
|
|
+ }, 3000);
|
|
|
}),
|
|
}),
|
|
|
{ confirm: false }
|
|
{ confirm: false }
|
|
|
);
|
|
);
|