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)