feat: 商业认证审核显示上传的证明图片
All checks were successful
PR Preview / teardown-preview (pull_request) Has been skipped
Test / unit-test (push) Successful in 5s
Test / build-check (push) Successful in 4s
PR Preview / test (pull_request) Successful in 5s
PR Preview / deploy-preview (pull_request) Successful in 15s
Test / e2e-test (push) Successful in 50s

- 审核列表显示缩略图(60x60),点击查看大图
- 全屏遮罩预览,点击关闭

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-11 16:34:52 +00:00
parent 5cd954ccad
commit 6448c24caf

View File

@@ -31,6 +31,7 @@
<span class="review-name">{{ group.latest.display_name || group.latest.username }}</span>
<span class="review-reason">商户名{{ group.latest.business_name }}</span>
<span class="biz-status-tag" :class="'biz-' + group.effectiveStatus">{{ { pending: '待审核', approved: '已通过', rejected: '已拒绝' }[group.effectiveStatus] }}</span>
<img v-if="group.latest.document && group.latest.document.startsWith('data:image')" :src="group.latest.document" class="biz-doc-preview" @click="showDocFull = group.latest.document" />
</div>
<div class="review-actions">
<template v-if="group.effectiveStatus === 'pending'">
@@ -111,6 +112,11 @@
</div>
<div class="user-count"> {{ users.length }} 个用户</div>
<!-- Full-size document preview -->
<div v-if="showDocFull" class="doc-overlay" @click="showDocFull = null">
<img :src="showDocFull" class="doc-full-img" />
</div>
</div>
</template>
@@ -128,6 +134,7 @@ const users = ref([])
const searchQuery = ref('')
const filterRole = ref('')
const translations = ref([])
const showDocFull = ref(null)
const businessApps = ref([])
import { reactive } from 'vue'
@@ -443,6 +450,10 @@ onMounted(() => {
}
.biz-reject-reason { color: #c62828; font-size: 11px; }
.biz-time { color: #bbb; font-size: 11px; margin-left: auto; }
.biz-doc-preview { width: 60px; height: 60px; object-fit: cover; border-radius: 6px; cursor: pointer; border: 1px solid #e5e4e7; margin-top: 6px; }
.biz-doc-preview:hover { border-color: #7ec6a4; }
.doc-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.7); z-index: 1000; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.doc-full-img { max-width: 90vw; max-height: 90vh; border-radius: 10px; }
.btn-approve {
background: #4a9d7e;