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