fix(frontend): 调整审核页布局与报告渲染

This commit is contained in:
2026-06-06 16:37:40 +08:00
parent b1a336d019
commit fd88ff4652
5 changed files with 261 additions and 76 deletions

View File

@@ -5,18 +5,56 @@
{% block body_class %}app-body{% endblock %}
{% block content %}
<main class="workspace" data-sidebar-state="open">
<main class="app-shell">
<header class="topbar">
<div class="topbar-left">
<div class="tabbar" role="tablist" aria-label="页面切换">
<button class="tab" type="button" role="tab" aria-selected="false">首页</button>
<button class="tab" type="button" role="tab" aria-selected="false">知识库管理</button>
<button class="tab active" type="button" role="tab" aria-selected="true">审核智能体</button>
<button class="tab" type="button" role="tab" aria-selected="false">视频实时监测</button>
</div>
</div>
<div class="topbar-right">
<div class="user-menu" id="userMenu">
<button class="user-menu-trigger" id="userMenuTrigger" type="button" aria-haspopup="menu" aria-expanded="false">
<span class="avatar large">{{ request.user.username|slice:":1"|upper }}</span>
<div class="user-copy">
<strong>{{ request.user.username }}</strong>
<span>当前登录用户</span>
</div>
<span class="caret"></span>
</button>
<div class="user-dropdown" id="userDropdown" role="menu">
<div class="user-dropdown-section" role="none">
<p class="user-dropdown-label">用户信息</p>
<strong class="user-dropdown-name">{{ request.user.username }}</strong>
</div>
<a class="user-dropdown-link" href="{% url 'password_change' %}" role="menuitem">修改密码</a>
<form action="{% url 'logout' %}" method="post" class="user-dropdown-form" role="none">
{% csrf_token %}
<button class="user-dropdown-link danger-link" type="submit" role="menuitem">退出登录</button>
</form>
</div>
</div>
</div>
</header>
<section class="workspace" data-sidebar-state="open">
<aside class="sidebar" id="sidebar">
<div class="sidebar-top">
<button class="icon-button sidebar-toggle" type="button" id="sidebarToggle" aria-label="折叠侧边栏">
<span></span>
<span></span>
</button>
<div class="brand">
<span class="brand-mark"></span>
<div class="brand-copy">
<strong class="brand-text">审核智能体</strong>
<span class="brand-subtitle">临床注册文件审核工作台</span>
<div class="sidebar-header">
<button class="icon-button sidebar-toggle" type="button" id="sidebarToggle" aria-label="折叠侧边栏">
<span></span>
<span></span>
</button>
<div class="brand">
<span class="brand-mark"></span>
<div class="brand-copy">
<strong class="brand-text">审核智能体</strong>
<span class="brand-subtitle">临床注册文件审核工作台</span>
</div>
</div>
</div>
<form method="post">
@@ -53,45 +91,6 @@
</aside>
<section class="chat-shell">
<header class="topbar">
<div class="topbar-left">
<button class="icon-button mobile-toggle" type="button" id="mobileSidebarToggle" aria-label="展开侧边栏">
<span></span>
<span></span>
</button>
<div class="tabbar" role="tablist" aria-label="页面切换">
<button class="tab" type="button" role="tab" aria-selected="false">首页</button>
<button class="tab" type="button" role="tab" aria-selected="false">知识库管理</button>
<button class="tab active" type="button" role="tab" aria-selected="true">审核智能体</button>
<button class="tab" type="button" role="tab" aria-selected="false">视频实时监测</button>
</div>
</div>
<div class="topbar-right">
<div class="user-menu" id="userMenu">
<button class="user-menu-trigger" id="userMenuTrigger" type="button" aria-haspopup="menu" aria-expanded="false">
<span class="avatar large">{{ request.user.username|slice:":1"|upper }}</span>
<div class="user-copy">
<strong>{{ request.user.username }}</strong>
<span>当前登录用户</span>
</div>
<span class="caret"></span>
</button>
<div class="user-dropdown" id="userDropdown" role="menu">
<div class="user-dropdown-section" role="none">
<p class="user-dropdown-label">用户信息</p>
<strong class="user-dropdown-name">{{ request.user.username }}</strong>
</div>
<a class="user-dropdown-link" href="{% url 'password_change' %}" role="menuitem">修改密码</a>
<form action="{% url 'logout' %}" method="post" class="user-dropdown-form" role="none">
{% csrf_token %}
<button class="user-dropdown-link danger-link" type="submit" role="menuitem">退出登录</button>
</form>
</div>
</div>
</div>
</header>
<section class="chat-stage" data-stream-url="{% url 'chat_stream' %}">
<div class="chat-scroll-wrap">
<div class="chat-scroll" id="chatScroll">
@@ -114,7 +113,12 @@
{% if message.role == "assistant" %}AI{% else %}{{ request.user.username|slice:":1"|upper }}{% endif %}
</div>
<div class="message-bubble">
<p>{{ message.content|linebreaksbr }}</p>
{% if message.role == "assistant" %}
<div class="message-content markdown-content"></div>
<template class="message-raw">{{ message.content }}</template>
{% else %}
<p>{{ message.content|linebreaksbr }}</p>
{% endif %}
</div>
</article>
{% endfor %}
@@ -230,6 +234,7 @@
</div>
</section>
</aside>
</section>
</main>
{% endblock %}