feat: 增强处理历史导出记录摘要展示

This commit is contained in:
2026-06-04 02:35:23 +08:00
parent e9b3f13eec
commit 0e49466746
3 changed files with 62 additions and 0 deletions

View File

@@ -151,6 +151,7 @@ def build_detail_summary(log: AgentAuditLog, conversation, notifications) -> dic
详情页模板只负责展示,字段拼装与优先级判断统一放在服务层。 详情页模板只负责展示,字段拼装与优先级判断统一放在服务层。
""" """
structured_output = log.structured_output or {} structured_output = log.structured_output or {}
output_file = structured_output.get("output_file") or {}
export_node = None export_node = None
if conversation and conversation.node_results: if conversation and conversation.node_results:
export_node = next( export_node = next(
@@ -161,6 +162,13 @@ def build_detail_summary(log: AgentAuditLog, conversation, notifications) -> dic
return { return {
"export_status": structured_output.get("export_status") or (export_node or {}).get("status", "-"), "export_status": structured_output.get("export_status") or (export_node or {}).get("status", "-"),
"download_url": structured_output.get("download_url", ""), "download_url": structured_output.get("download_url", ""),
"output_file_name": output_file.get("file_name", ""),
"output_file_relative_path": output_file.get("relative_path", ""),
"export_mode": output_file.get("export_mode", ""),
"template_name": structured_output.get("template_name", ""),
"template_version": structured_output.get("template_version", ""),
"draft_export_status": structured_output.get("draft_export_status", ""),
"formal_export_status": structured_output.get("formal_export_status", ""),
"blocked_items": structured_output.get("blocked_items") or [], "blocked_items": structured_output.get("blocked_items") or [],
"notification_receipt": latest_notification.receipt if latest_notification else {}, "notification_receipt": latest_notification.receipt if latest_notification else {},
} }

View File

@@ -57,6 +57,12 @@
<h2 class="section-title">导出状态摘要</h2> <h2 class="section-title">导出状态摘要</h2>
<ul class="detail-list"> <ul class="detail-list">
<li class="detail-item"><strong>导出状态</strong><div>{{ detail_summary.export_status|default:"-" }}</div></li> <li class="detail-item"><strong>导出状态</strong><div>{{ detail_summary.export_status|default:"-" }}</div></li>
<li class="detail-item"><strong>输出文件名</strong><div>{{ detail_summary.output_file_name|default:"-" }}</div></li>
<li class="detail-item"><strong>导出模式</strong><div>{{ detail_summary.export_mode|default:"-" }}</div></li>
<li class="detail-item"><strong>模板名称</strong><div>{{ detail_summary.template_name|default:"-" }}</div></li>
<li class="detail-item"><strong>模板版本</strong><div>{{ detail_summary.template_version|default:"-" }}</div></li>
<li class="detail-item"><strong>草稿导出状态</strong><div>{{ detail_summary.draft_export_status|default:"-" }}</div></li>
<li class="detail-item"><strong>正式导出状态</strong><div>{{ detail_summary.formal_export_status|default:"-" }}</div></li>
<li class="detail-item"><strong>下载地址</strong><div>{{ detail_summary.download_url|default:"-" }}</div></li> <li class="detail-item"><strong>下载地址</strong><div>{{ detail_summary.download_url|default:"-" }}</div></li>
<li class="detail-item"> <li class="detail-item">
<strong>阻断项</strong> <strong>阻断项</strong>

View File

@@ -451,3 +451,51 @@ def test_audit_detail_page_shows_export_summary_and_notification_receipt(client,
assert "风险项未清零" in content assert "风险项未清零" in content
assert "通知回执" in content assert "通知回执" in content
assert "msg-9" in content assert "msg-9" in content
def test_audit_detail_page_shows_export_file_name_and_mode(client, db):
Conversation.objects.create(
conversation_id="conv-003",
title="产品C",
product_name="产品C",
batch_id="SUB-20260604-003",
task_status="success",
node_results=[
{"label": "Word 回填导出", "status": "待复核"},
{"label": "飞书通知", "status": "已完成"},
],
)
log = create_audit_log(
"document_review",
"Word 回填导出",
"导出任务",
AgentResult(
answer="已生成导出草稿",
status="success",
structured_output={
"export_status": "draft_only",
"template_name": "注册证导出模板",
"template_version": "V1.0",
"download_url": "/media/exports/20260604/SUB-20260604-003-draft.docx",
"output_file": {
"file_name": "SUB-20260604-003-draft.docx",
"relative_path": "exports/20260604/SUB-20260604-003-draft.docx",
"export_mode": "draft",
},
},
),
batch_id="SUB-20260604-003",
conversation_id="conv-003",
product_name="产品C",
)
response = client.get(reverse("audit:detail", args=[log.id]))
content = response.content.decode("utf-8")
assert response.status_code == 200
assert "输出文件名" in content
assert "SUB-20260604-003-draft.docx" in content
assert "导出模式" in content
assert "draft" in content
assert "模板版本" in content
assert "V1.0" in content