feat: 审批通过按钮增加防重复点击,避免重复提示

This commit is contained in:
刘泉佳
2026-10-22 14:06:50 +08:00
parent 2f64abfc83
commit b9de34aa0e
4 changed files with 56 additions and 32 deletions
+13 -7
View File
@@ -334,6 +334,7 @@ export default {
ArrowDown,
ArrowUp,
loading: false,
approveLoading: false,
query: emptyQuery(),
searchFields: preSettlementSearchFields,
searchExpanded: false,
@@ -691,18 +692,23 @@ export default {
});
},
async handleApprove(row) {
await this.$confirm('确认审批通过该预付结算单?', '提示', { type: 'warning' });
const loading = this.$loading({
lock: true,
text: '审批处理中,请稍候…',
background: 'rgba(255, 255, 255, 0.6)',
});
// 防止重复点击:请求进行中忽略后续点击,避免重复审批和重复提示
if (this.approveLoading) return;
this.approveLoading = true;
let loading = null;
try {
await this.$confirm('确认审批通过该预付结算单?', '提示', { type: 'warning' });
loading = this.$loading({
lock: true,
text: '审批处理中,请稍候…',
background: 'rgba(255, 255, 255, 0.6)',
});
await approve({ id: row.id });
this.$message.success('审批通过');
this.loadTable();
} finally {
loading.close();
loading?.close();
this.approveLoading = false;
}
},
async handleReturn(row) {