songshankun
2023-11-20 3a3cc473c33cb4a97399ace76a1b35e9ffd68525
src/stores/tasks.ts
@@ -28,15 +28,14 @@
    return getTaskList(params)
      .then((res) => {
        channels.value = res.data
        // 首次获取通道数据时自动选中第一个任务
        if (!activeTask?.value) {
          selectFirstTask(channels.value)
        }
      })
      .catch((err) => {
        console.error(err)
        channels.value = []
      })
      .finally(() => {
        // 首次获取通道数据时自动选中第一个任务
        selectFirstTask(channels.value)
      })
  }
@@ -44,12 +43,19 @@
    const firstNotEmptyChannel = Object.entries(channels).find((ele) => {
      const taskList = (ele[1] as TasksResponse)?.Tasks
      return !!taskList.length
      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)
      }
    }
  }
@@ -123,8 +129,13 @@
  /** 当前高亮的任务 */
  const activeTask = ref<Task>()
  function setActiveTask(task: Task) {
  function setActiveTask(task: Task | undefined) {
    activeTask.value = task
  }
  const activeChannel = ref<number>(0)
  function setActiveChannel(channelNumber: number) {
    activeChannel.value = channelNumber
  }
  return {
@@ -136,6 +147,8 @@
    setActiveTask,
    moreChannelTasksBtn,
    foldChannelTasksBtn,
    reloadAllData
    reloadAllData,
    activeChannel,
    setActiveChannel
  }
})