From 403ce87b79b7f402b8000b95c5b0b9d77bc393d0 Mon Sep 17 00:00:00 2001 From: songshankun <songshankun@foxmail.com> Date: 星期三, 01 十一月 2023 17:01:35 +0800 Subject: [PATCH] feat: 任务控制弹窗添加状态转换逻辑 --- src/stores/tasks.ts | 33 ++++++++++++++++++++++++++++++++- 1 files changed, 32 insertions(+), 1 deletions(-) diff --git a/src/stores/tasks.ts b/src/stores/tasks.ts index 8f8599d..02f2694 100644 --- a/src/stores/tasks.ts +++ b/src/stores/tasks.ts @@ -25,7 +25,7 @@ offset: 0, limit: 3 } - getTaskList(params) + return getTaskList(params) .then((res) => { channels.value = res.data }) @@ -33,6 +33,36 @@ console.error(err) channels.value = [] }) + } + + /** + * 鏁版嵁鍔犺浇瀹屾垚鍚庤嚜鍔ㄩ�変腑涓�涓换鍔� + */ + function autoSelectTask(channel: number) { + const currentChannelTaskList = channels.value[channel].Tasks + if (currentChannelTaskList?.length) { + activeTask.value = currentChannelTaskList[0] + } else { + const firstNotEmptyChannel = Object.entries(channels.value).find((ele) => { + const taskList = (ele[1] as TasksResponse)?.Tasks + + return !!taskList.length + }) + + if (firstNotEmptyChannel) { + const channelNumber = +firstNotEmptyChannel[0] + activeTask.value = channels.value[channelNumber].Tasks[0] + } + } + } + + /** + * 鍒锋柊鎵�鏈夋暟鎹� + */ + function reload(channel: number) { + getChannels(currentType.value).then(() => { + autoSelectTask(channel) + }) } function moreChannelTasksBtn(channelNumber: number) { @@ -96,6 +126,7 @@ getChannels, moreBtnStatus, activeTask, + reload, setActiveTask, requestParamsMap, getParamsByChannel, -- Gitblit v1.8.0