diff --git a/web/src/views/Configs.vue b/web/src/views/Configs.vue index 67aefee..773b58d 100644 --- a/web/src/views/Configs.vue +++ b/web/src/views/Configs.vue @@ -11,11 +11,9 @@ - + @@ -45,6 +43,8 @@ @@ -149,30 +149,35 @@ const escapeHtml = (str) => { return str.replace(/&/g, '&').replace(//g, '>') } +const auditing = ref(false) + const handleApprove = async (row) => { try { await ElMessageBox.confirm(`确认通过站点 ${row.siteId} 的配置版本 ${row.version}?`, '提示') + auditing.value = true await api.configs.approve(row.id) ElMessage.success('已通过') + viewVisible.value = false fetchPending() } catch (e) { if (e !== 'cancel') ElMessage.error(e.response?.data?.message || '操作失败') - } + } finally { auditing.value = false } } const handleReject = async (row) => { try { const { value: comment } = await ElMessageBox.prompt('请输入拒绝原因', '拒绝配置', { - confirmButtonText: '确认', - cancelButtonText: '取消', + confirmButtonText: '确认', cancelButtonText: '取消', inputValidator: (v) => v ? true : '请输入拒绝原因' }) + auditing.value = true await api.configs.reject(row.id, comment) ElMessage.success('已拒绝') + viewVisible.value = false fetchPending() } catch (e) { if (e !== 'cancel') ElMessage.error(e.response?.data?.message || '操作失败') - } + } finally { auditing.value = false } } onMounted(fetchPending)