新增电子试验主文件目录与文件归档

This commit is contained in:
Cheng Zhou
2026-05-28 10:54:13 +08:00
parent 31fcb7e6f2
commit fa961f1391
20 changed files with 2226 additions and 10 deletions
+1
View File
@@ -18,6 +18,7 @@ export interface DocumentSummary {
id: string;
trial_id: string;
site_id?: string | null;
etmf_node_id?: string | null;
doc_type: string;
title: string;
scope_type: DocumentScopeType;
+63
View File
@@ -0,0 +1,63 @@
import type { DocumentScopeType, DocumentSummary } from "./documents";
export type EtmfNodeStatus = "NOT_REQUIRED" | "MISSING" | "UPLOADED" | "EFFECTIVE" | "INACTIVE";
export interface EtmfTreeNode {
id: string;
study_id: string;
parent_id?: string | null;
code: string;
name: string;
description?: string | null;
scope_type: DocumentScopeType;
required: boolean;
expected_doc_type?: string | null;
sort_order: number;
is_active: boolean;
status: EtmfNodeStatus;
document_count: number;
effective_document_count: number;
created_at: string;
updated_at: string;
children: EtmfTreeNode[];
}
export interface EtmfNodeCreatePayload {
study_id: string;
parent_id?: string | null;
code: string;
name: string;
description?: string | null;
scope_type?: DocumentScopeType;
required?: boolean;
expected_doc_type?: string | null;
sort_order?: number;
is_active?: boolean;
}
export interface EtmfNodeUpdatePayload {
parent_id?: string | null;
code?: string;
name?: string;
description?: string | null;
scope_type?: DocumentScopeType;
required?: boolean;
expected_doc_type?: string | null;
sort_order?: number;
is_active?: boolean;
}
export type EtmfDocumentCreatePayload = {
trial_id: string;
site_id?: string | null;
doc_no: string;
doc_type: string;
title: string;
scope_type: DocumentScopeType;
owner_id?: string | null;
description?: string | null;
};
export interface EtmfNodeDocumentList {
documents: DocumentSummary[];
}