feat(report): 检查报告 PDF 导出和归档;项目状态流转(递交 / 归档)
- report 模块:导出 → worker 用 Gotenberg 把 HTML 转成 A4 PDF → 按项目数据密钥加密存储 → report
(不可改、存哈希);report_job 记生成过程(迁移 0009),完成推 report.ready、发通知
- 报告首页:项目信息、投标文件版本、检查依据、规则版本、导出人、检查覆盖范围、汇总、免责声明;
问题明细带两侧出处和处理人;附录为需人工核对的勾选结果;模板文字不出现「通过 / 合格 / 保证」
- 前端「报告」标签页:导出选项、内嵌预览、历次报告下载;工作台「导出检查报告」直达
- 项目状态流转 POST /projects/{id}/transitions:致命未处理也能递交(确认框说明),
递交后只读,撤销归档回到归档前的状态,都写审计
- 通知补上检查、报告的标题
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1515,6 +1515,15 @@ paths:
|
||||
operationId: generateReport
|
||||
summary: 生成检查报告 PDF(后台生成,完成后推送事件)
|
||||
description: 致命问题未处理也可以导出(红线 4)。每次生成都是一份新报告。
|
||||
requestBody:
|
||||
required: false
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
type: object
|
||||
properties:
|
||||
citations: { type: boolean, default: true, description: 问题明细带招标、投标两侧出处 }
|
||||
manual_checks: { type: boolean, default: true, description: 附录「需人工核对」 }
|
||||
responses:
|
||||
'202':
|
||||
description: 已排队
|
||||
@@ -3039,7 +3048,7 @@ components:
|
||||
id: { $ref: '#/components/schemas/Id' }
|
||||
kind:
|
||||
type: string
|
||||
enum: [parse_succeeded, parse_failed, check_succeeded, check_failed, quota_80, quota_100,
|
||||
enum: [parse_succeeded, parse_failed, check_succeeded, check_failed, report_succeeded, report_failed, quota_80, quota_100,
|
||||
subscription_activated, subscription_expiring]
|
||||
title: { type: string }
|
||||
project_id:
|
||||
|
||||
Reference in New Issue
Block a user