feat(ui): 查标第 6 步前端补齐
- 读标页:每条清单项写最近一次检查的结论,点投标侧出处看投标原文;
「已响应」也能反馈判断有误(漏报);证书要求写资质库里的情况
(新接口 GET /projects/{id}/qualification-matches,资质库空时不写)
- 概览:检查记录卡(历次检查、各级问题数、报告下载)、文件卡
- 工作台:「致命」列、统计可点筛选、待处理的致命问题卡(?f= 定位到问题)
- 日期输入加日历弹层(DateInput,Reka UI Calendar)
- 查标页:? 键显示快捷键说明;反馈对话框抽成 FeedbackDialog 共用
- 扫描件提示去掉多余空格
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
83
packages/api-client/src/schema.d.ts
vendored
83
packages/api-client/src/schema.d.ts
vendored
@@ -912,6 +912,30 @@ export interface paths {
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/projects/{project_id}/qualification-matches": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path: {
|
||||
project_id: components["parameters"]["ProjectId"];
|
||||
};
|
||||
cookie?: never;
|
||||
};
|
||||
/**
|
||||
* 读标清单上的资质库情况(qualification-plan §4,第 6 步)
|
||||
* @description 正式清单里资格条件、评分项中认出证书类别的条目,每类给出资质库里有效期最晚的一条,按投标截止日判断是否过期
|
||||
* (没有截止时间按今天)。认类别、排除产品和人员证书的口径和查标一样;资质库是空的时 items 为空(QL3)。
|
||||
*
|
||||
*/
|
||||
get: operations["listQualificationMatches"];
|
||||
put?: never;
|
||||
post?: never;
|
||||
delete?: never;
|
||||
options?: never;
|
||||
head?: never;
|
||||
patch?: never;
|
||||
trace?: never;
|
||||
};
|
||||
"/projects/{project_id}/check-runs": {
|
||||
parameters: {
|
||||
query?: never;
|
||||
@@ -1425,6 +1449,30 @@ export interface components {
|
||||
PlanCode: "free" | "pro" | "enterprise";
|
||||
/** @enum {string} */
|
||||
QualificationKind: "certificate" | "system_cert" | "software_copyright" | "other";
|
||||
/** @description 一类证书在资质库里的情况(读标页用) */
|
||||
QualificationMatch: {
|
||||
family: string;
|
||||
/** @description 资质库里这一类有几条 */
|
||||
count: number;
|
||||
/**
|
||||
* @description 按 as_of 判断;missing 是资质库里没有这一类
|
||||
* @enum {string}
|
||||
*/
|
||||
state: "valid" | "expired" | "missing";
|
||||
/** @description 有效期最晚的一条;没有时为 null */
|
||||
record: null | {
|
||||
id: components["schemas"]["Id"];
|
||||
name: string;
|
||||
kind: components["schemas"]["QualificationKind"];
|
||||
level?: string | null;
|
||||
cert_no?: string | null;
|
||||
/**
|
||||
* Format: date
|
||||
* @description null 表示长期有效
|
||||
*/
|
||||
valid_to: string | null;
|
||||
};
|
||||
};
|
||||
/** @enum {string} */
|
||||
ProjectFieldKey: "name" | "code" | "purchaser" | "agency" | "procurement_method" | "legal_regime" | "budget_total" | "ceiling_total" | "eval_method" | "accept_consortium" | "accept_imported" | "sme_only" | "deadline_at";
|
||||
/**
|
||||
@@ -4040,6 +4088,41 @@ export interface operations {
|
||||
};
|
||||
};
|
||||
};
|
||||
listQualificationMatches: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
header?: never;
|
||||
path: {
|
||||
project_id: components["parameters"]["ProjectId"];
|
||||
};
|
||||
cookie?: never;
|
||||
};
|
||||
requestBody?: never;
|
||||
responses: {
|
||||
/** @description OK */
|
||||
200: {
|
||||
headers: {
|
||||
[name: string]: unknown;
|
||||
};
|
||||
content: {
|
||||
"application/json": {
|
||||
/**
|
||||
* Format: date
|
||||
* @description 按哪天判断有效期
|
||||
*/
|
||||
as_of: string;
|
||||
/** @description as_of 是投标截止日(false 时是今天) */
|
||||
by_deadline: boolean;
|
||||
items: {
|
||||
checklist_item_id: components["schemas"]["Id"];
|
||||
families: components["schemas"]["QualificationMatch"][];
|
||||
}[];
|
||||
};
|
||||
};
|
||||
};
|
||||
404: components["responses"]["NotFound"];
|
||||
};
|
||||
};
|
||||
listCheckRuns: {
|
||||
parameters: {
|
||||
query?: never;
|
||||
|
||||
Reference in New Issue
Block a user