improvement: tasks and cases feature updated based on the new prosthesis types and their steps. the whole assignment proccess removed from the flow.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
export type LabTaskStatus = 'PENDING' | 'IN_PROGRESS' | 'COMPLETED';
|
||||
export type LabTaskStatus = 'IN_PROGRESS' | 'COMPLETED';
|
||||
|
||||
export interface LabCaseListItem {
|
||||
id: string;
|
||||
@@ -14,9 +14,23 @@ export interface LabCaseListItem {
|
||||
taskProgress: { completed: number; total: number };
|
||||
}
|
||||
|
||||
export interface LabTaskUser {
|
||||
id: string;
|
||||
name: string;
|
||||
}
|
||||
|
||||
export interface LabTaskTimelineEvent {
|
||||
id: string;
|
||||
fromStatus: LabTaskStatus | null;
|
||||
toStatus: LabTaskStatus;
|
||||
changedAt: string;
|
||||
changedBy: LabTaskUser | null;
|
||||
}
|
||||
|
||||
export interface LabCaseTask {
|
||||
id: string;
|
||||
tooth: string;
|
||||
treatmentDetailId: string;
|
||||
teeth: string[];
|
||||
treatmentType: string;
|
||||
prosthesisTypeCode: string;
|
||||
prosthesisTypeLabel: string;
|
||||
@@ -24,21 +38,33 @@ export interface LabCaseTask {
|
||||
stepOrder: number;
|
||||
stepLabel: string;
|
||||
status: LabTaskStatus;
|
||||
priority: number;
|
||||
assignedAt: string | null;
|
||||
isImportant: boolean;
|
||||
createdAt: string;
|
||||
assigneeUserId: string | null;
|
||||
assignee: { id: string; name: string; email: string } | null;
|
||||
lastStatusChangedAt: string | null;
|
||||
lastStatusChangedBy: LabTaskUser | null;
|
||||
timeline: LabTaskTimelineEvent[];
|
||||
}
|
||||
|
||||
export interface LabCaseTasksByTooth {
|
||||
tooth: string;
|
||||
export interface LabCaseTaskGroup {
|
||||
treatmentDetailId: string;
|
||||
teeth: string[];
|
||||
treatmentType: string;
|
||||
prosthesisTypeCode: string;
|
||||
prosthesisTypeLabel: string;
|
||||
tasks: LabCaseTask[];
|
||||
}
|
||||
|
||||
export interface LabCaseComment {
|
||||
id: string;
|
||||
body: string;
|
||||
authorSide: 'LAB' | 'CLINIC';
|
||||
authorName: string | null;
|
||||
authorOrganizationName: string | null;
|
||||
visibleToClinic: boolean;
|
||||
createdAt: string;
|
||||
canToggleVisibility: boolean;
|
||||
}
|
||||
|
||||
export interface LabCaseDetail {
|
||||
id: string;
|
||||
sentAt: string | null;
|
||||
@@ -64,17 +90,10 @@ export interface LabCaseDetail {
|
||||
sentAt: string;
|
||||
}>;
|
||||
tasks: LabCaseTask[];
|
||||
tasksByTooth: LabCaseTasksByTooth[];
|
||||
tasksByTooth: LabCaseTaskGroup[];
|
||||
taskProgress: { completed: number; total: number };
|
||||
}
|
||||
|
||||
export interface AssignableMember {
|
||||
userId: string;
|
||||
name: string;
|
||||
email: string;
|
||||
isOwner: boolean;
|
||||
}
|
||||
|
||||
export interface ListLabCasesParams {
|
||||
q?: string;
|
||||
page?: number;
|
||||
@@ -100,21 +119,38 @@ export interface PaginatedLabCases {
|
||||
};
|
||||
}
|
||||
|
||||
export type TaskSortField = 'date' | 'status' | 'clinic' | 'patient' | 'important';
|
||||
|
||||
export interface ListLabTasksParams {
|
||||
q?: string;
|
||||
clinicOrganizationId?: string;
|
||||
status?: LabTaskStatus;
|
||||
completed?: boolean;
|
||||
important?: boolean;
|
||||
sentFrom?: string;
|
||||
sentTo?: string;
|
||||
sortBy?: TaskSortField;
|
||||
sortDir?: 'asc' | 'desc';
|
||||
page?: number;
|
||||
limit?: number;
|
||||
}
|
||||
|
||||
export interface LabTaskListItem {
|
||||
id: string;
|
||||
labCaseId: string;
|
||||
tooth: string;
|
||||
treatmentDetailId: string;
|
||||
teeth: string[];
|
||||
treatmentType: string;
|
||||
prosthesisTypeCode: string;
|
||||
prosthesisTypeLabel: string;
|
||||
workflowStepCode: string;
|
||||
stepOrder: number;
|
||||
stepLabel: string;
|
||||
status: LabTaskStatus;
|
||||
priority: number;
|
||||
assignedAt: string | null;
|
||||
isImportant: boolean;
|
||||
lastStatusChangedAt: string | null;
|
||||
lastStatusChangedBy: LabTaskUser | null;
|
||||
createdAt: string;
|
||||
assigneeUserId: string | null;
|
||||
assignee: { id: string; name: string; email: string } | null;
|
||||
clinic: { id: string; name: string };
|
||||
patient: { id: string; firstName: string; lastName: string };
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user