新增空闲锁屏、修复401等问题,新增文件版本管理、共享库等占位符
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
<template>
|
||||
<ModulePlaceholder
|
||||
:title="TEXT.modules.fileVersionManagement.title"
|
||||
:subtitle="TEXT.modules.fileVersionManagement.subtitle"
|
||||
:list-title="TEXT.modules.fileVersionManagement.listTitle"
|
||||
:empty-description="TEXT.modules.fileVersionManagement.emptyDescription"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import ModulePlaceholder from "../../components/ModulePlaceholder.vue";
|
||||
import { TEXT } from "../../locales";
|
||||
</script>
|
||||
@@ -0,0 +1,13 @@
|
||||
<template>
|
||||
<ModulePlaceholder
|
||||
:title="TEXT.modules.knowledgeInstructionFiles.title"
|
||||
:subtitle="TEXT.modules.knowledgeInstructionFiles.subtitle"
|
||||
:list-title="TEXT.modules.knowledgeInstructionFiles.listTitle"
|
||||
:empty-description="TEXT.modules.knowledgeInstructionFiles.emptyDescription"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import ModulePlaceholder from "../../components/ModulePlaceholder.vue";
|
||||
import { TEXT } from "../../locales";
|
||||
</script>
|
||||
@@ -0,0 +1,13 @@
|
||||
<template>
|
||||
<ModulePlaceholder
|
||||
:title="TEXT.modules.knowledgeSupportFiles.title"
|
||||
:subtitle="TEXT.modules.knowledgeSupportFiles.subtitle"
|
||||
:list-title="TEXT.modules.knowledgeSupportFiles.listTitle"
|
||||
:empty-description="TEXT.modules.knowledgeSupportFiles.emptyDescription"
|
||||
/>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import ModulePlaceholder from "../../components/ModulePlaceholder.vue";
|
||||
import { TEXT } from "../../locales";
|
||||
</script>
|
||||
@@ -1,14 +1,18 @@
|
||||
export type StageStatus = "NOT_STARTED" | "IN_PROGRESS" | "COMPLETED" | "BLOCKED";
|
||||
|
||||
export type StageKey =
|
||||
| "institution_initiation_status"
|
||||
| "ethics_status"
|
||||
| "contract_sign_status"
|
||||
| "startup_status"
|
||||
| "enrollment_status"
|
||||
| "inspection_status"
|
||||
| "closeout_status";
|
||||
|
||||
export type StageCompletionKey =
|
||||
| "institution_initiation_completed_at"
|
||||
| "ethics_completed_at"
|
||||
| "contract_sign_completed_at"
|
||||
| "startup_completed_at"
|
||||
| "enrollment_completed_at"
|
||||
| "inspection_completed_at"
|
||||
@@ -17,14 +21,18 @@ export type StageCompletionKey =
|
||||
export interface CenterOverview {
|
||||
center_id: string;
|
||||
center_name: string;
|
||||
institution_initiation_status: StageStatus;
|
||||
ethics_status: StageStatus;
|
||||
contract_sign_status: StageStatus;
|
||||
startup_status: StageStatus;
|
||||
enrollment_status: StageStatus;
|
||||
inspection_status: StageStatus;
|
||||
closeout_status: StageStatus;
|
||||
enrollment_target: number;
|
||||
enrollment_actual: number;
|
||||
institution_initiation_completed_at?: string;
|
||||
ethics_completed_at?: string;
|
||||
contract_sign_completed_at?: string;
|
||||
startup_completed_at?: string;
|
||||
enrollment_completed_at?: string;
|
||||
inspection_completed_at?: string;
|
||||
@@ -59,10 +67,12 @@ export const STAGE_ORDER: Array<{
|
||||
label: string;
|
||||
completedKey: StageCompletionKey;
|
||||
}> = [
|
||||
{ key: "institution_initiation_status", label: "机构立项", completedKey: "institution_initiation_completed_at" },
|
||||
{ key: "ethics_status", label: "伦理审批", completedKey: "ethics_completed_at" },
|
||||
{ key: "contract_sign_status", label: "合同签署", completedKey: "contract_sign_completed_at" },
|
||||
{ key: "startup_status", label: "启动", completedKey: "startup_completed_at" },
|
||||
{ key: "enrollment_status", label: "入组", completedKey: "enrollment_completed_at" },
|
||||
{ key: "inspection_status", label: "稽查", completedKey: "inspection_completed_at" },
|
||||
{ key: "inspection_status", label: "末次稽查", completedKey: "inspection_completed_at" },
|
||||
{ key: "closeout_status", label: "关中心", completedKey: "closeout_completed_at" },
|
||||
];
|
||||
|
||||
@@ -104,14 +114,18 @@ export const adaptProjectOverview = (raw: unknown): ProjectOverviewViewModel =>
|
||||
return {
|
||||
center_id: toString((center as any).center_id || (center as any).id),
|
||||
center_name: toString((center as any).center_name || (center as any).name),
|
||||
institution_initiation_status: normalizeStatus((center as any).institution_initiation_status),
|
||||
ethics_status: normalizeStatus((center as any).ethics_status),
|
||||
contract_sign_status: normalizeStatus((center as any).contract_sign_status),
|
||||
startup_status: normalizeStatus((center as any).startup_status),
|
||||
enrollment_status: enrollmentStatus,
|
||||
inspection_status: normalizeStatus((center as any).inspection_status),
|
||||
closeout_status: normalizeStatus((center as any).closeout_status),
|
||||
enrollment_target: toNumber((center as any).enrollment_target),
|
||||
enrollment_actual: hasEnrollmentStage ? enrollmentActualRaw : 0,
|
||||
institution_initiation_completed_at: toString((center as any).institution_initiation_completed_at),
|
||||
ethics_completed_at: toString((center as any).ethics_completed_at),
|
||||
contract_sign_completed_at: toString((center as any).contract_sign_completed_at),
|
||||
startup_completed_at: toString((center as any).startup_completed_at),
|
||||
enrollment_completed_at: toString((center as any).enrollment_completed_at),
|
||||
inspection_completed_at: toString((center as any).inspection_completed_at),
|
||||
|
||||
@@ -9,8 +9,12 @@ export const overviewMock: ProjectOverviewResponse = {
|
||||
{
|
||||
center_id: "center-001",
|
||||
center_name: "中心01",
|
||||
institution_initiation_status: "COMPLETED",
|
||||
institution_initiation_completed_at: "2024-12-20",
|
||||
ethics_status: "COMPLETED",
|
||||
ethics_completed_at: "2025-01-12",
|
||||
contract_sign_status: "COMPLETED",
|
||||
contract_sign_completed_at: "2025-01-20",
|
||||
startup_status: "COMPLETED",
|
||||
startup_completed_at: "2025-02-03",
|
||||
enrollment_status: "IN_PROGRESS",
|
||||
@@ -22,8 +26,11 @@ export const overviewMock: ProjectOverviewResponse = {
|
||||
{
|
||||
center_id: "center-002",
|
||||
center_name: "中心02",
|
||||
institution_initiation_status: "COMPLETED",
|
||||
institution_initiation_completed_at: "2025-01-05",
|
||||
ethics_status: "COMPLETED",
|
||||
ethics_completed_at: "2025-02-08",
|
||||
contract_sign_status: "IN_PROGRESS",
|
||||
startup_status: "IN_PROGRESS",
|
||||
enrollment_status: "NOT_STARTED",
|
||||
inspection_status: "NOT_STARTED",
|
||||
@@ -34,8 +41,12 @@ export const overviewMock: ProjectOverviewResponse = {
|
||||
{
|
||||
center_id: "center-003",
|
||||
center_name: "中心03",
|
||||
institution_initiation_status: "COMPLETED",
|
||||
institution_initiation_completed_at: "2024-12-10",
|
||||
ethics_status: "COMPLETED",
|
||||
ethics_completed_at: "2024-12-28",
|
||||
contract_sign_status: "COMPLETED",
|
||||
contract_sign_completed_at: "2025-01-05",
|
||||
startup_status: "COMPLETED",
|
||||
startup_completed_at: "2025-01-20",
|
||||
enrollment_status: "COMPLETED",
|
||||
@@ -48,8 +59,12 @@ export const overviewMock: ProjectOverviewResponse = {
|
||||
{
|
||||
center_id: "center-004",
|
||||
center_name: "中心04",
|
||||
institution_initiation_status: "COMPLETED",
|
||||
institution_initiation_completed_at: "2024-12-22",
|
||||
ethics_status: "COMPLETED",
|
||||
ethics_completed_at: "2025-01-15",
|
||||
contract_sign_status: "COMPLETED",
|
||||
contract_sign_completed_at: "2025-01-25",
|
||||
startup_status: "BLOCKED",
|
||||
enrollment_status: "NOT_STARTED",
|
||||
inspection_status: "NOT_STARTED",
|
||||
@@ -60,6 +75,7 @@ export const overviewMock: ProjectOverviewResponse = {
|
||||
{
|
||||
center_id: "center-005",
|
||||
center_name: "中心05",
|
||||
institution_initiation_status: "IN_PROGRESS",
|
||||
ethics_status: "IN_PROGRESS",
|
||||
startup_status: "NOT_STARTED",
|
||||
enrollment_status: "NOT_STARTED",
|
||||
|
||||
Reference in New Issue
Block a user