fix: 配置审核改为先查看内容再审核,审核按钮移到查看弹窗内

This commit is contained in:
mediabot-pt
2026-06-30 16:45:57 +08:00
parent 7a53bdecb9
commit 3168577050

View File

@@ -11,11 +11,9 @@
<el-table-column prop="schemaVersion" label="Schema" width="100" />
<el-table-column prop="submitterId" label="提交者" width="100" />
<el-table-column prop="createdAt" label="提交时间" width="180" />
<el-table-column label="操作" width="280">
<el-table-column label="操作" width="100">
<template #default="scope">
<el-button size="small" type="primary" @click="handleView(scope.row)">查看</el-button>
<el-button size="small" type="success" @click="handleApprove(scope.row)">通过</el-button>
<el-button size="small" type="danger" @click="handleReject(scope.row)">拒绝</el-button>
<el-button size="small" type="primary" @click="handleView(scope.row)">查看审核</el-button>
</template>
</el-table-column>
</el-table>
@@ -45,6 +43,8 @@
</div>
<template #footer>
<el-button @click="viewVisible = false">关闭</el-button>
<el-button type="danger" @click="handleReject(viewing)">拒绝</el-button>
<el-button type="success" @click="handleApprove(viewing)" :loading="auditing">通过</el-button>
</template>
</el-dialog>
</div>
@@ -149,30 +149,35 @@ const escapeHtml = (str) => {
return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;')
}
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)