improvement: some new gadgets added to dashboard. some new functionality added to existed gadgets.

This commit is contained in:
2026-07-14 03:06:56 +03:30
parent ec2b23f4b1
commit d383a4abc3
34 changed files with 944 additions and 191 deletions

View File

@@ -94,6 +94,17 @@ export class ListLabTasksDto {
@IsBoolean()
overdue?: boolean;
/** When true, only tasks with no assignee. */
@IsOptional()
@Transform(toBoolean)
@IsBoolean()
unassignedOnly?: boolean;
/** Narrow list to a single prosthesis type code. */
@IsOptional()
@IsString()
prosthesisTypeCode?: string;
@IsOptional()
@IsIn(['date', 'status', 'clinic', 'patient', 'important', 'prosthesis', 'taskType', 'dueDate'])
sortBy?: TaskSortField;
@@ -172,6 +183,17 @@ export class LocateTaskPageDto {
@IsBoolean()
overdue?: boolean;
/** When true, only tasks with no assignee. */
@IsOptional()
@Transform(toBoolean)
@IsBoolean()
unassignedOnly?: boolean;
/** Narrow list to a single prosthesis type code. */
@IsOptional()
@IsString()
prosthesisTypeCode?: string;
@IsOptional()
@IsIn(['date', 'status', 'clinic', 'patient', 'important', 'prosthesis', 'taskType', 'dueDate'])
sortBy?: TaskSortField;

View File

@@ -337,6 +337,10 @@ export class TasksService {
},
...(status !== undefined ? { status } : {}),
...(query.assignedToMe ? { assigneeUserId: actorUserId } : {}),
...(query.unassignedOnly ? { assigneeUserId: null } : {}),
...(query.prosthesisTypeCode?.trim()
? { prosthesisTypeCode: query.prosthesisTypeCode.trim() }
: {}),
};
const stepCompleted = query.stepCompleted?.trim();
@@ -385,6 +389,8 @@ export class TasksService {
stepCompleted: query.stepCompleted,
assignedToMe: query.assignedToMe,
overdue: query.overdue,
unassignedOnly: query.unassignedOnly,
prosthesisTypeCode: query.prosthesisTypeCode,
sortBy: query.sortBy,
sortDir: query.sortDir,
limit: query.limit,