This commit is contained in:
zlwu committed 2026-06-16 15:17:32 +08:00
1 parent 4f24d3b687
commit 1ff73b9a74
202 files changed
+11989 -10045

No files matched your search

@@ -1044,61 +1044,63 @@
class="section-card section-card--white"
>
<div class="section-title section-title--banner"><h3>审核记录</h3></div>
<el-table
v-loading="auditLoading"
class="list-table sub-view-table"
:data="auditRecords"
stripe
empty-text="暂无审核记录"
>
<el-table-column
type="index"
label="序号"
min-width="68"
align="center"
header-align="center"
/>
<el-table-column
prop="createTime"
label="审核时间"
min-width="170"
align="center"
header-align="center"
/>
<el-table-column
prop="auditStatus"
label="审核状态"
min-width="120"
align="center"
header-align="center"
<div class="list-body list-wrap view-inner-table-wrap">
<el-table
v-loading="auditLoading"
class="list-table inner-table"
:data="auditRecords"
stripe
empty-text="暂无审核记录"
>
<template #default="{ row }">
<el-tag
:type="String(row.auditStatus) === 'shtg' ? 'success' : 'warning'"
size="small"
>
{{ auditStatusLabel(String(row.auditStatus || '')) }}
</el-tag>
</template>
</el-table-column>
<el-table-column
prop="auditRemark"
label="审核备注"
min-width="200"
align="center"
header-align="center"
show-overflow-tooltip
/>
<el-table-column
prop="auditorUserName"
label="审核人"
min-width="120"
align="center"
header-align="center"
>
<template #default="{ row }">{{ auditorDisplay(row) }}</template>
</el-table-column>
</el-table>
<el-table-column
type="index"
label="序号"
min-width="68"
align="center"
header-align="center"
/>
<el-table-column
prop="createTime"
label="审核时间"
min-width="170"
align="center"
header-align="center"
/>
<el-table-column
prop="auditStatus"
label="审核状态"
min-width="120"
align="center"
header-align="center"
>
<template #default="{ row }">
<el-tag
:type="String(row.auditStatus) === 'shtg' ? 'success' : 'warning'"
size="small"
>
{{ auditStatusLabel(String(row.auditStatus || '')) }}
</el-tag>
</template>
</el-table-column>
<el-table-column
prop="auditRemark"
label="审核备注"
min-width="200"
align="center"
header-align="center"
show-overflow-tooltip
/>
<el-table-column
prop="auditorUserName"
label="审核人"
min-width="120"
align="center"
header-align="center"
>
<template #default="{ row }">{{ auditorDisplay(row) }}</template>
</el-table-column>
</el-table>
</div>
</div>
</div>
</template>
@@ -1851,26 +1853,21 @@
}
}
async function loadAuditRecords(protocolNoHint?: string) {
async function loadAuditRecords() {
if (!props.showAuditHistory || !props.protocolId) {
auditRecords.value = []
return
}
auditLoading.value = true
try {
const pno =
String(
protocolNoHint || protocol.value?.protocolNo || props.listRow?.protocolNo || ''
).trim() || undefined
const res = await fetchCollectionProtocolAuditList({
page: 1,
pageSize: 100,
keyword: pno
collectionProtocolId: props.protocolId
})
const pid = props.protocolId
auditRecords.value = (res.list || []).filter(
(row) => String(row.collectionProtocolId || '') === pid
)
auditRecords.value = res.list || []
} catch {
auditRecords.value = []
} finally {
auditLoading.value = false
}
@@ -1883,10 +1880,8 @@
bundle.value = null
auditRecords.value = []
const protocolNoHint = String(props.listRow?.protocolNo || '').trim()
const baseLookupsPromise = loadBaseLookups().catch(() => {})
const auditEarlyPromise =
props.showAuditHistory && protocolNoHint ? loadAuditRecords(protocolNoHint) : null
const auditPromise = props.showAuditHistory ? loadAuditRecords() : null
let data: Record<string, any> | null = null
try {
@@ -1902,10 +1897,7 @@
}
void finishLookups(data, baseLookupsPromise)
if (props.showAuditHistory && !auditEarlyPromise) {
void loadAuditRecords()
}
void auditPromise
}
function scrollToSection(key: string) {
@@ -2292,9 +2284,38 @@
gap: 2px;
}
/* ---- Sub View Table ---- */
.sub-view-table {
margin-bottom: 8px;
/* ---- 审核记录内嵌列表(对齐 OpenSpec 嵌套列表 14px 标准) ---- */
.view-inner-table-wrap.list-body.list-wrap {
margin-top: 4px;
border: 1px solid var(--mint-border, #e2e8f0);
border-radius: var(--mint-radius, 10px);
overflow: hidden;
background: #fff;
:deep(.el-table) {
--el-table-header-bg-color: var(--mint-table-head, #f8fafc);
--el-table-border-color: var(--mint-border, #e2e8f0);
--el-table-row-hover-bg-color: var(--mint-row-hover, #f0fdf4);
--el-table-text-color: var(--mint-text, #0f172a);
--el-table-header-text-color: var(--mint-text-muted, #64748b);
font-size: 14px;
}
:deep(.el-table th.el-table__cell) {
font-size: 12px;
font-weight: 600;
color: var(--mint-text-muted, #64748b);
}
:deep(.el-table td.el-table__cell) {
font-size: 14px;
font-weight: 500;
color: var(--mint-text, #0f172a);
}
:deep(.el-empty) {
padding: 24px 0;
}
}
/* ---- Sample Cards ---- */