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="schemaVersion" label="Schema" width="100" />
<el-table-column prop="submitterId" label="提交者" width="100" /> <el-table-column prop="submitterId" label="提交者" width="100" />
<el-table-column prop="createdAt" label="提交时间" width="180" /> <el-table-column prop="createdAt" label="提交时间" width="180" />
<el-table-column label="操作" width="280"> <el-table-column label="操作" width="100">
<template #default="scope"> <template #default="scope">
<el-button size="small" type="primary" @click="handleView(scope.row)">查看</el-button> <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>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -45,6 +43,8 @@
</div> </div>
<template #footer> <template #footer>
<el-button @click="viewVisible = false">关闭</el-button> <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> </template>
</el-dialog> </el-dialog>
</div> </div>
@@ -149,30 +149,35 @@ const escapeHtml = (str) => {
return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;') return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;')
} }
const auditing = ref(false)
const handleApprove = async (row) => { const handleApprove = async (row) => {
try { try {
await ElMessageBox.confirm(`确认通过站点 ${row.siteId} 的配置版本 ${row.version}?`, '提示') await ElMessageBox.confirm(`确认通过站点 ${row.siteId} 的配置版本 ${row.version}?`, '提示')
auditing.value = true
await api.configs.approve(row.id) await api.configs.approve(row.id)
ElMessage.success('已通过') ElMessage.success('已通过')
viewVisible.value = false
fetchPending() fetchPending()
} catch (e) { } catch (e) {
if (e !== 'cancel') ElMessage.error(e.response?.data?.message || '操作失败') if (e !== 'cancel') ElMessage.error(e.response?.data?.message || '操作失败')
} } finally { auditing.value = false }
} }
const handleReject = async (row) => { const handleReject = async (row) => {
try { try {
const { value: comment } = await ElMessageBox.prompt('请输入拒绝原因', '拒绝配置', { const { value: comment } = await ElMessageBox.prompt('请输入拒绝原因', '拒绝配置', {
confirmButtonText: '确认', confirmButtonText: '确认', cancelButtonText: '取消',
cancelButtonText: '取消',
inputValidator: (v) => v ? true : '请输入拒绝原因' inputValidator: (v) => v ? true : '请输入拒绝原因'
}) })
auditing.value = true
await api.configs.reject(row.id, comment) await api.configs.reject(row.id, comment)
ElMessage.success('已拒绝') ElMessage.success('已拒绝')
viewVisible.value = false
fetchPending() fetchPending()
} catch (e) { } catch (e) {
if (e !== 'cancel') ElMessage.error(e.response?.data?.message || '操作失败') if (e !== 'cancel') ElMessage.error(e.response?.data?.message || '操作失败')
} } finally { auditing.value = false }
} }
onMounted(fetchPending) onMounted(fetchPending)