# -*- coding: utf-8 -*-
|
"""生成《交通统计报表审核系统-用户使用说明书》Word 文档。"""
|
import os
|
from docx import Document
|
from docx.shared import Pt, Inches, RGBColor
|
from docx.enum.text import WD_ALIGN_PARAGRAPH
|
from docx.enum.table import WD_TABLE_ALIGNMENT
|
from docx.oxml.ns import qn
|
|
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
|
SHOT_DIR = os.path.join(BASE_DIR, "usage_screenshots")
|
OUT_PATH = os.path.join(BASE_DIR, "交通统计报表审核系统-用户使用说明书.docx")
|
|
SCREENSHOTS = [
|
("01_工作台.jpg", "一、工作台", [
|
"工作台是登录系统后的首页,顶部为系统名称与当前页面名称,左侧为功能菜单(工作台、数据导入、数据查看、企业解释、审核结果、报表生成、规则管理、用户管理)。",
|
"页面主体展示统计数据卡片,方便用户快速了解本报表期的数据概况(如企业数、车辆数、轨迹里程、审核结果等关键指标)。",
|
"左侧菜单与顶部区域固定不动,页面内容较多时仅内容区域滚动,便于用户随时切换功能。",
|
]),
|
("02_数据导入.jpg", "二、数据导入", [
|
"数据导入用于把用户整理的 Excel 模板数据批量导入系统,支持的数据类型包括:交企统H203-2表(道路货物运输月度生产情况)、运政车辆、轨迹里程、规上规下拆分运输量、货运量周转量等。",
|
"操作步骤:①选择数据类型;②选择报表期(以页面选择的月份为准,导入当月与1-当月累计数据);③点击“上传”选择 Excel 文件;④点击“导入”。",
|
"导入时系统会逐行校验数据,导入失败的行会提示行号,方便用户在 Excel 中定位并修改错误数据后重新导入。",
|
]),
|
("03_数据查看.jpg", "三、数据查看", [
|
"数据查看用于查询已经导入系统的数据,便于核对与追溯。",
|
"可按数据类型(分类)、报表期(选择具体月份)筛选,并支持输入关键字搜索企业等信息。",
|
"查询结果以表格展示,表格数据较多时仅表格内部滚动,标题与筛选条件区保持固定,方便持续浏览。",
|
]),
|
("04_企业解释.jpg", "四、企业解释", [
|
"企业解释用于查看企业在审核中提交的解释说明,并可使用 AI 对每一条解释进行智能分析。",
|
"点击某条解释的“AI分析”后弹出对话窗口:窗口上方展示 AI 的分析输出,下方为用户的输入框,可与 AI 进行多轮对话,进一步获得处置建议。",
|
"对话过程中,AI 可自动查询数据库中的相关数据,给出有数据支撑的建议,而不是凭空推断。",
|
]),
|
("05_审核结果.jpg", "五、审核结果", [
|
"审核结果页用于执行审核并查看审核结论。",
|
"操作步骤:①选择报表期;②点击“执行审核”重新计算,或点击“查询结果”查看历史审核结果。",
|
"审核结果较多时,可按“企业名称”(关键字)和“审核规则”进行过滤,帮助用户快速定位重点企业。",
|
"结果表格包含企业名称、审核规则、实际值、阈值/对比、偏差说明、等级、状态与操作列;对误报的记录可点击“确认忽略”。",
|
]),
|
("06_报表生成.jpg", "六、报表生成", [
|
"报表生成用于按选定的报表期自动计算并导出各类统计报表。",
|
"选择报表期后点击相应按钮即可生成并下载报表,当前支持:货运量周转量、货运量分市州明细、货运量排名、周转量排名。",
|
"报表数据由系统根据已导入的数据自动计算生成,无需人工整理。",
|
]),
|
("07_规则管理.jpg", "七、规则管理", [
|
"规则管理用于维护审核规则(如阈值、对比方式等)。",
|
"当前演示版本中该页面为占位页,正式版本将支持规则的查看、新增、修改与启停管理。",
|
]),
|
("08_用户管理.jpg", "八、用户管理", [
|
"用户管理用于维护系统登录用户及其权限。",
|
"当前演示版本中该页面为占位页,正式版本将支持用户的增删改查与角色权限分配。",
|
]),
|
]
|
|
def set_font(run, size=12, bold=False, color=None, name="微软雅黑"):
|
run.font.size = Pt(size)
|
run.font.bold = bold
|
run.font.name = name
|
r = run._element.rPr.rFonts
|
r.set(qn("w:eastAsia"), name)
|
if color:
|
run.font.color.rgb = RGBColor(*color)
|
|
def add_heading(doc, text, size=16, color=(0x1F, 0x4E, 0x79), space_before=18, space_after=10):
|
p = doc.add_paragraph()
|
p.paragraph_format.space_before = Pt(space_before)
|
p.paragraph_format.space_after = Pt(space_after)
|
run = p.add_run(text)
|
set_font(run, size=size, bold=True, color=color)
|
return p
|
|
def add_body(doc, text, size=11, indent=0.3, space_after=6):
|
p = doc.add_paragraph()
|
p.paragraph_format.space_after = Pt(space_after)
|
p.paragraph_format.first_line_indent = Inches(indent)
|
p.paragraph_format.line_spacing = 1.4
|
run = p.add_run(text)
|
set_font(run, size=size)
|
return p
|
|
def main():
|
doc = Document()
|
# 页面设置:A4
|
for section in doc.sections:
|
section.page_width = Inches(8.27)
|
section.page_height = Inches(11.69)
|
section.left_margin = Inches(0.9)
|
section.right_margin = Inches(0.9)
|
section.top_margin = Inches(0.9)
|
section.bottom_margin = Inches(0.9)
|
|
# ===== 封面 =====
|
for _ in range(6):
|
doc.add_paragraph()
|
p = doc.add_paragraph()
|
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
|
run = p.add_run("交通统计报表审核系统")
|
set_font(run, size=30, bold=True, color=(0x1F, 0x4E, 0x79))
|
p = doc.add_paragraph()
|
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
|
run = p.add_run("用户使用说明书")
|
set_font(run, size=24, bold=True, color=(0x33, 0x33, 0x33))
|
for _ in range(4):
|
doc.add_paragraph()
|
p = doc.add_paragraph()
|
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
|
run = p.add_run("(演示版 Demo)")
|
set_font(run, size=14, color=(0x88, 0x88, 0x88))
|
p = doc.add_paragraph()
|
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
|
run = p.add_run("2026 年 8 月")
|
set_font(run, size=14, color=(0x88, 0x88, 0x88))
|
doc.add_page_break()
|
|
# ===== 文档说明 =====
|
add_heading(doc, "文档说明", size=18, space_before=6)
|
add_body(doc, "本说明书面向系统使用者,介绍“交通统计报表审核系统”各功能页面的用途与操作方法。系统围绕交通运输企业统计数据的上报、导入、查看、审核与报表生成等环节设计,帮助企业用户和审核人员高效完成数据填报质量核查工作。")
|
add_body(doc, "系统主要功能包括:数据导入、数据查看、企业解释(含 AI 智能分析)、审核结果(含 AI 处置建议)、报表生成,以及规则管理、用户管理等管理功能。")
|
add_body(doc, "本文档中的页面截图取自演示环境,页面布局与正式环境可能略有差异,功能与操作方式以实际系统为准。")
|
doc.add_page_break()
|
|
# ===== 各页面章节 =====
|
for fname, title, descs in SCREENSHOTS:
|
add_heading(doc, title, size=18, space_before=6)
|
for d in descs:
|
add_body(doc, d)
|
shot_path = os.path.join(SHOT_DIR, fname)
|
if os.path.exists(shot_path):
|
p = doc.add_paragraph()
|
p.alignment = WD_ALIGN_PARAGRAPH.CENTER
|
run = p.add_run()
|
run.add_picture(shot_path, width=Inches(6.2))
|
cap = doc.add_paragraph()
|
cap.alignment = WD_ALIGN_PARAGRAPH.CENTER
|
r = cap.add_run(f"图:{title.replace('、', ' ')}页面")
|
set_font(r, size=9, color=(0x88, 0x88, 0x88))
|
doc.add_page_break()
|
|
doc.save(OUT_PATH)
|
print("OK:", OUT_PATH)
|
|
if __name__ == "__main__":
|
main()
|