Files
check-course-syllabus-aa/assets/html/example-report.html
taojianmin 1d78e542ca v1.0.1: 课程教学大纲合规性体检 - 初版骨架
基于匠厂 skill-template 主仓 v1.0.108 派生的业务技能。

核心业务:
- 教师在教务系统提交新开课或修订大纲时自动触发
- 格式结构 + 课程目标与毕业要求矩阵匹配 + 课程思政融合度三维体检
- 以批注模式嵌入原 Word 文档,文末给出百分制评分

输出形态:
- Word 文档红 / 黄 / 绿三色批注
- 百分制体检评分 + HTML 体检报告 + 修改建议清单

预期提效:教务处培养方案审核环节的返工次数减少 70%;大纲编制的规范性达到 95% 以上。

业务行生命周期:无(一次性体检结果存档,不重复处理)

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-14 12:19:12 +08:00

117 lines
3.9 KiB
HTML

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8" />
<title>{{TITLE}}</title>
<style>
/* 数据管理 iframe 预览布局基线 */
html, body {
margin: 0;
padding: 16px;
font-family: -apple-system, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
color: #1f2329;
background: #fafbfc;
line-height: 1.6;
}
.report { max-width: 100%; }
.header {
padding: 20px;
background: linear-gradient(135deg, #047857 0%, #10b981 100%);
color: #fff;
border-radius: 8px;
margin-bottom: 16px;
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
}
.header h1 { margin: 0; font-size: 22px; }
.header .meta { color: #d1fae5; font-size: 13px; margin-top: 4px; }
.score-box {
flex-shrink: 0;
padding: 16px 24px;
background: rgba(255, 255, 255, 0.18);
border: 1px solid rgba(255, 255, 255, 0.35);
border-radius: 8px;
text-align: center;
}
.score-box .num { font-size: 36px; font-weight: 700; line-height: 1; }
.score-box .label { font-size: 12px; margin-top: 4px; }
.section {
padding: 16px 20px;
background: #fff;
border: 1px solid #e5e6eb;
border-radius: 8px;
margin-bottom: 16px;
}
.section h2 { margin: 0 0 12px; font-size: 16px; color: #047857; }
.checklist { list-style: none; padding: 0; margin: 0; }
.checklist li {
padding: 10px 12px;
border-radius: 6px;
margin-bottom: 6px;
display: flex;
gap: 10px;
align-items: flex-start;
}
.checklist li.red { background: #fef2f2; color: #991b1b; }
.checklist li.yellow { background: #fffbeb; color: #92400e; }
.checklist li.green { background: #ecfdf5; color: #065f46; }
.checklist li .icon { font-weight: 700; flex-shrink: 0; }
.summary-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
gap: 12px;
}
.summary-card {
padding: 12px 16px;
background: #f8fafc;
border: 1px solid #e5e6eb;
border-radius: 8px;
}
.summary-card .label { color: #8c959f; font-size: 12px; }
.summary-card .value { font-size: 18px; font-weight: 600; margin-top: 4px; }
.footer { margin-top: 16px; color: #8c959f; font-size: 12px; text-align: right; }
</style>
</head>
<body>
<div class="report">
<div class="header">
<div>
<h1>{{TITLE}}</h1>
<div class="meta">体检编号:{{AUDIT_ID}} · 课程:{{COURSE_NAME}} · 任课教师:{{TEACHER_NAME}}</div>
<div class="meta">体检完成时间:{{GENERATED_AT}}</div>
</div>
<div class="score-box">
<div class="num">{{SCORE}}</div>
<div class="label">百分制评分</div>
</div>
</div>
<div class="section">
<h2>体检概览</h2>
<div class="summary-grid">
<div class="summary-card"><div class="label">格式结构</div><div class="value">{{FORMAT_SCORE}} 分</div></div>
<div class="summary-card"><div class="label">课程目标与毕业要求匹配</div><div class="value">{{MATRIX_SCORE}} 分</div></div>
<div class="summary-card"><div class="label">课程思政融合度</div><div class="value">{{IDEOLOGY_SCORE}} 分</div></div>
<div class="summary-card"><div class="label">不达标项</div><div class="value">{{ISSUE_COUNT}} 项</div></div>
</div>
</div>
<div class="section">
<h2>体检结论与建议</h2>
<p style="margin: 0; color: #4e5969;">{{CONCLUSION}}</p>
</div>
<div class="section">
<h2>不达标项清单(按重要性排序)</h2>
<ul class="checklist">
{{CHECKLIST_BODY}}
</ul>
</div>
<div class="footer">本报告由「课程教学大纲合规性体检」技能自动生成 · 最终审核权归教务处教学科</div>
</div>
</body>
</html>