From b594c6680116745912ed943afd00a9b896496c76 Mon Sep 17 00:00:00 2001
From: songshankun <songshankun@foxmail.com>
Date: 星期一, 30 十月 2023 11:26:43 +0800
Subject: [PATCH] feat: 任务组件添加选中状态;全局状态管理添加当前选中任务

---
 src/views/dashboard/components/ChannelCollapse.vue |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/src/views/dashboard/components/ChannelCollapse.vue b/src/views/dashboard/components/ChannelCollapse.vue
index 693ab61..fb4f3a3 100644
--- a/src/views/dashboard/components/ChannelCollapse.vue
+++ b/src/views/dashboard/components/ChannelCollapse.vue
@@ -7,7 +7,13 @@
         :title="CHANNEL_NAME_MAP[channelNumber] + ' 閫氶亾'"
         :name="String(channelNumber)"
       >
-        <TaskInfo v-for="task in tasks" :key="task.Procedure.ID" :task="task"></TaskInfo>
+        <TaskInfo
+          v-for="task in tasks"
+          :key="task.Procedure.ID"
+          :active="task.Procedure.ID === tasksStore.activeTask?.Procedure.ID"
+          :task="task"
+          @click="tasksStore.setActiveTask(task)"
+        ></TaskInfo>
       </el-collapse-item>
     </el-collapse>
   </div>
@@ -17,6 +23,7 @@
 import type { Task } from '@/api/task'
 import TaskInfo from './TaskInfo.vue'
 import { CHANNEL_NAME_MAP } from '@/common/constants'
+import { useTasksStore } from '@/stores/tasks'
 
 export interface Channel {
   [channelNumber: number]: Task[]
@@ -29,6 +36,8 @@
 const props = defineProps<ChannelCollapseProps>()
 const activeChannel = ref<string[]>([])
 
+const tasksStore = useTasksStore()
+
 watchEffect(() => {
   const channelNumbers = Object.keys(props.channels).sort((a, b) => +a - +b)
   activeChannel.value = [...channelNumbers]

--
Gitblit v1.8.0