From 18ae94990058312aacee0573373793ad64debc22 Mon Sep 17 00:00:00 2001 From: KenanZhu <3471685733@qq.com> Date: Sat, 13 Dec 2025 14:22:28 +0800 Subject: [PATCH] =?UTF-8?q?feat(ALTimerTaskWidget):=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=AE=9A=E6=97=B6=E5=99=A8=E4=BB=BB=E5=8A=A1=E7=8A=B6=E6=80=81?= =?UTF-8?q?=20-=20=E6=89=A7=E8=A1=8C=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/gui/ALAddTimerTaskDialog.py | 1 + src/gui/ALTimerTaskWidget.py | 19 +++++++++++++++++++ src/gui/ALTimerTaskWidget.ui | 24 ++++++++++++++++++++++++ 3 files changed, 44 insertions(+) diff --git a/src/gui/ALAddTimerTaskDialog.py b/src/gui/ALAddTimerTaskDialog.py index 0dbb01c..a21fa80 100644 --- a/src/gui/ALAddTimerTaskDialog.py +++ b/src/gui/ALAddTimerTaskDialog.py @@ -36,6 +36,7 @@ class TimerTaskStatus(Enum): READY = "已就绪" RUNNING = "执行中" EXECUTED = "已执行" + ERROR = "执行失败" OUTDATED = "已过期" diff --git a/src/gui/ALTimerTaskWidget.py b/src/gui/ALTimerTaskWidget.py index 1063f17..c656e49 100644 --- a/src/gui/ALTimerTaskWidget.py +++ b/src/gui/ALTimerTaskWidget.py @@ -94,6 +94,9 @@ class TimerTaskItemWidget(QWidget): case TimerTaskStatus.EXECUTED: TaskStatusText = "已执行" TaskStatusColor = "#4CAF50" + case TimerTaskStatus.ERROR: + TaskStatusText = "执行失败" + TaskStatusColor = "#FF5722" case TimerTaskStatus.OUTDATED: TaskStatusText = "已过期" TaskStatusColor = "#FF5722" @@ -315,6 +318,7 @@ class ALTimerTaskWidget(QWidget, Ui_ALTimerTaskWidget): pending = 0 in_queue = 0 executed = 0 + invalid = 0 total = len(self.__timer_tasks) for timer_task in self.__timer_tasks: if timer_task["status"] == TimerTaskStatus.PENDING: @@ -324,10 +328,14 @@ class ALTimerTaskWidget(QWidget, Ui_ALTimerTaskWidget): in_queue += 1 elif timer_task["status"] == TimerTaskStatus.EXECUTED: executed += 1 + elif timer_task["status"] == TimerTaskStatus.ERROR\ + or timer_task["status"] == TimerTaskStatus.OUTDATED: + invalid += 1 self.TotalTaskLabel.setText(f"总任务:{total}") self.PendingTaskLabel.setText(f"待执行:{pending}") self.InQueueTaskLabel.setText(f"队列中:{in_queue}") self.ExecutedTaskLabel.setText(f"已执行:{executed}") + self.InvalidTaskLabel.setText(f"无效的:{invalid}") def updateTimerTaskList( @@ -470,3 +478,14 @@ class ALTimerTaskWidget(QWidget, Ui_ALTimerTaskWidget): if task["task_uuid"] == timer_task["task_uuid"]: task["status"] = TimerTaskStatus.EXECUTED self.timerTasksChanged.emit() + + @Slot(dict) + def onTimerTaskIsError( + self, + timer_task: dict + ): + + for task in self.__timer_tasks: + if task["task_uuid"] == timer_task["task_uuid"]: + task["status"] = TimerTaskStatus.ERROR + self.timerTasksChanged.emit() diff --git a/src/gui/ALTimerTaskWidget.ui b/src/gui/ALTimerTaskWidget.ui index fb43171..363ead3 100644 --- a/src/gui/ALTimerTaskWidget.ui +++ b/src/gui/ALTimerTaskWidget.ui @@ -137,6 +137,30 @@ + + + + + 70 + 25 + + + + + 25 + 70 + + + + QLabel { + color: #FF5722 +} + + + 无效的:0 + + +