<template>
|
<DashboardLayout>
|
<template #leftBlock1>
|
<TaskTabs v-model="activeTaskTab" style="margin-top: 20px" :list="taskTabsTitle"></TaskTabs>
|
</template>
|
<template #leftBlock2>
|
<ChannelCollapse :channels="channels"></ChannelCollapse>
|
</template>
|
<template #middleBlock1>标题</template>
|
<template #middleBlock2>主看板</template>
|
<template #middleBlock3>任务详情</template>
|
<template #middleBlock4>人员信息</template>
|
<template #rightBlock1>时间</template>
|
<template #rightBlock2>状态面板</template>
|
<template #rightBlock3>知识库</template>
|
</DashboardLayout>
|
</template>
|
<script setup lang="ts">
|
import { getTaskList } from '@/api'
|
import { computed, ref, watchEffect } from 'vue'
|
import ChannelCollapse from '@/views/dashboard/components/ChannelCollapse.vue'
|
import type { Task } from '@/api/task'
|
import { chain } from 'lodash-es'
|
import TaskTabs from '@/views/dashboard/components/TaskTabs.vue'
|
|
defineOptions({
|
name: 'DashboardView'
|
})
|
|
const taskList = ref<Task[]>()
|
|
function getChannels() {
|
getTaskList(2)
|
.then((res) => {
|
taskList.value = res.data.Tasks
|
})
|
.catch((err) => {
|
console.error(err)
|
taskList.value = []
|
})
|
}
|
|
const channels = computed(() => {
|
return chain<Task>(taskList.value)
|
.groupBy((ele) => ele.Channel)
|
.value()
|
})
|
|
getChannels()
|
const taskTabsTitle = ['未完成', '今日任务', '已完成']
|
const activeTaskTab = ref('未完成')
|
|
watchEffect(() => {
|
// console.log(activeTaskTab?.value, 111111)
|
})
|
</script>
|
|
<style scoped></style>
|