From 3a3cc473c33cb4a97399ace76a1b35e9ffd68525 Mon Sep 17 00:00:00 2001 From: songshankun <songshankun@foxmail.com> Date: 星期一, 20 十一月 2023 16:45:17 +0800 Subject: [PATCH] feat: 无任务选中通道时从p[lc读取统计 --- src/stores/tasks.ts | 59 ++++++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 38 insertions(+), 21 deletions(-) diff --git a/src/stores/tasks.ts b/src/stores/tasks.ts index 02f2694..6ebd205 100644 --- a/src/stores/tasks.ts +++ b/src/stores/tasks.ts @@ -33,6 +33,30 @@ console.error(err) channels.value = [] }) + .finally(() => { + // 棣栨鑾峰彇閫氶亾鏁版嵁鏃惰嚜鍔ㄩ�変腑绗竴涓换鍔� + selectFirstTask(channels.value) + }) + } + + function selectFirstTask(channels: TasksGroupByChannel) { + const firstNotEmptyChannel = Object.entries(channels).find((ele) => { + const taskList = (ele[1] as TasksResponse)?.Tasks + + return !!taskList?.length + }) + + if (firstNotEmptyChannel) { + const channelNumber = +firstNotEmptyChannel[0] + activeTask.value = channels[channelNumber].Tasks[0] + setActiveChannel(channelNumber) + } else { + // 濡傛灉娌℃湁浠诲姟灏辨竻绌哄綋鍓嶉�変腑鐨勪换鍔� + activeTask.value = undefined + if (channels[0]) { + setActiveChannel(0) + } + } } /** @@ -59,10 +83,14 @@ /** * 鍒锋柊鎵�鏈夋暟鎹� */ - function reload(channel: number) { + function reloadChannel(channel: number) { getChannels(currentType.value).then(() => { autoSelectTask(channel) }) + } + + function reloadAllData() { + getChannels(currentType.value) } function moreChannelTasksBtn(channelNumber: number) { @@ -101,37 +129,26 @@ /** 褰撳墠楂樹寒鐨勪换鍔� */ const activeTask = ref<Task>() - function setActiveTask(task: Task) { + function setActiveTask(task: Task | undefined) { activeTask.value = task } - const requestParamsMap = ref<{ - [channel: number]: TaskListParams - }>({}) - function getParamsByChannel(channel: number) { - return ( - requestParamsMap.value[channel] ?? { - type: 1, - offset: 0, - limit: 3 - } - ) + const activeChannel = ref<number>(0) + function setActiveChannel(channelNumber: number) { + activeChannel.value = channelNumber } - function setParamsByChannel(channel: number, params: TaskListParams) { - requestParamsMap.value[channel] = params - } return { channels, getChannels, moreBtnStatus, activeTask, - reload, + reloadChannel, setActiveTask, - requestParamsMap, - getParamsByChannel, - setParamsByChannel, moreChannelTasksBtn, - foldChannelTasksBtn + foldChannelTasksBtn, + reloadAllData, + activeChannel, + setActiveChannel } }) -- Gitblit v1.8.0