| | |
| | | return getTaskList(params) |
| | | .then((res) => { |
| | | channels.value = res.data |
| | | |
| | | // 首次获取通道数据时自动选中第一个任务 |
| | | if (!activeTask?.value) { |
| | | selectFirstTask(channels.value) |
| | | } |
| | | }) |
| | | .catch((err) => { |
| | | console.error(err) |
| | | 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] |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | /** |
| | | * 刷新所有数据 |
| | | */ |
| | | function reload(channel: number) { |
| | | function reloadChannel(channel: number) { |
| | | getChannels(currentType.value).then(() => { |
| | | autoSelectTask(channel) |
| | | }) |
| | | } |
| | | |
| | | function reloadAllData() { |
| | | getChannels(currentType.value) |
| | | } |
| | | |
| | | function moreChannelTasksBtn(channelNumber: number) { |
| | |
| | | activeTask.value = task |
| | | } |
| | | |
| | | const requestParamsMap = ref<{ |
| | | [channel: number]: TaskListParams |
| | | }>({}) |
| | | function getParamsByChannel(channel: number) { |
| | | return ( |
| | | requestParamsMap.value[channel] ?? { |
| | | type: 1, |
| | | offset: 0, |
| | | limit: 3 |
| | | } |
| | | ) |
| | | } |
| | | |
| | | 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 |
| | | } |
| | | }) |