1. 优化工作坊列表布局,实现标题与按钮垂直对齐 2. 实现查看结果按钮的防抖功能和加载状态 3. 优化时间排序逻辑,默认按时间降序,点击按钮按时间升序 4. 实现多选功能,勾选框与工作坊名称高度对齐 5. 添加AI结果缓存功能,避免重复API调用 6. 优化空状态显示,居中创建第一个工作坊按钮 7. 完善README.md文档,添加新功能描述和使用指南 8. 调整字体样式,优化视觉效果
90 lines
3.6 KiB
HTML
90 lines
3.6 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="zh-CN">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>决策要点 - {{ workshop.name }}</title>
|
|
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<!-- 页面标题 -->
|
|
<header>
|
|
<h1>决策要点 - {{ workshop.name }}</h1>
|
|
<p>基于多角色辩论的AI决策分析结果</p>
|
|
</header>
|
|
|
|
<!-- 导航按钮 -->
|
|
<div class="btn-group">
|
|
<button onclick="window.location.href='{{ url_for('index') }}'" class="btn-secondary">返回首页</button>
|
|
<button onclick="window.location.href='{{ url_for('start_debate', workshop_id=workshop_id) }}'" class="btn-primary">继续辩论</button>
|
|
</div>
|
|
|
|
<!-- 流程指示器 -->
|
|
<div class="process-indicator">
|
|
<div class="process-step">
|
|
<div class="process-step-number completed">1</div>
|
|
<div class="process-step-text completed">创建工作坊</div>
|
|
</div>
|
|
<div class="process-arrow">→</div>
|
|
<div class="process-step">
|
|
<div class="process-step-number completed">2</div>
|
|
<div class="process-step-text completed">配置角色</div>
|
|
</div>
|
|
<div class="process-arrow">→</div>
|
|
<div class="process-step">
|
|
<div class="process-step-number completed">3</div>
|
|
<div class="process-step-text completed">开始辩论</div>
|
|
</div>
|
|
<div class="process-arrow">→</div>
|
|
<div class="process-step">
|
|
<div class="process-step-number active">4</div>
|
|
<div class="process-step-text active">查看结果</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 工作坊目标 -->
|
|
<div class="card">
|
|
<h2>工作坊目标</h2>
|
|
<div class="goal-content">{{ workshop.goal }}</div>
|
|
</div>
|
|
|
|
<!-- AI 生成的决策要点 -->
|
|
<div class="card">
|
|
<h2>AI 生成的决策要点</h2>
|
|
<div class="decision-points">
|
|
{{ workshop.decision_points }}
|
|
</div>
|
|
</div>
|
|
|
|
<!-- 辩论内容摘要 -->
|
|
<div class="card">
|
|
<h2>辩论内容摘要</h2>
|
|
{% if workshop.debate_content %}
|
|
{% for item in workshop.debate_content %}
|
|
<div class="debate-item">
|
|
<div class="role-tag">{{ item.role }}</div>
|
|
<div class="opinion-content">{{ item.opinion }}</div>
|
|
</div>
|
|
{% endfor %}
|
|
{% else %}
|
|
<div class="empty-state">
|
|
<p>暂无辩论内容,请先添加辩论内容</p>
|
|
</div>
|
|
{% endif %}
|
|
</div>
|
|
|
|
<!-- 最终决策输入框 -->
|
|
<div class="card">
|
|
<h2>最终决策</h2>
|
|
<form method="POST" action="{{ url_for('save_final_decision', workshop_id=workshop_id) }}">
|
|
<div class="form-group">
|
|
<label for="final_decision">请输入最终决策:</label>
|
|
<textarea id="final_decision" name="final_decision" rows="4" placeholder="请输入最终决策内容..." class="form-control">{{ workshop.final_decision }}</textarea>
|
|
</div>
|
|
<button type="submit" class="btn-success">保存最终决策</button>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html> |