From 3bb8da58c0c3e086b24f28755207aba38b69cd5c Mon Sep 17 00:00:00 2001 From: xuesinan <1404152492@qq.com> Date: Wed, 24 Nov 2021 16:29:06 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20"=E5=88=B7=E6=96=B0=E9=A1=B5=E9=9D=A2?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=95=B0=E6=8D=AE=E6=B8=85=E7=A9=BA=E9=97=AE?= =?UTF-8?q?=E9=A2=98"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/tall/center/ProjectDetail.vue | 16 ++++++++++------ src/components/tall/left/Projects.vue | 20 ++++++++++++++++---- src/components/tall/top/Navbar.vue | 5 +++++ src/store/tall/projects/index.js | 1 - src/store/tall/task/index.js | 11 +++++++++-- src/views/detail/Test.vue | 5 +++++ src/views/home/Index.vue | 3 ++- 7 files changed, 47 insertions(+), 14 deletions(-) diff --git a/src/components/tall/center/ProjectDetail.vue b/src/components/tall/center/ProjectDetail.vue index 586e83f..14ade0b 100644 --- a/src/components/tall/center/ProjectDetail.vue +++ b/src/components/tall/center/ProjectDetail.vue @@ -2,8 +2,8 @@ @@ -25,7 +25,7 @@
- + {{ dayjs(item.planStart).format('D日 HH:mm') }}
@@ -56,6 +56,7 @@ import { computed, watch, reactive, ref } from 'vue'; import { useStore } from 'vuex'; import dayjs from 'dayjs'; import { findShowRole, getRegularTask, findSonTask, findProjectById } from 'apis'; +import { ReloadOutlined, MoreOutlined, PlayCircleOutlined } from '@ant-design/icons-vue'; const store = useStore(); const projectId = sessionStorage.getItem('projectId'); @@ -222,6 +223,11 @@ function toDetail(item) { color: #333; } +.project-action .anticon { + margin-left: 16px; + cursor: pointer; +} + .role-list { padding: 0 16px; height: 36px; @@ -282,9 +288,7 @@ function toDetail(item) { height: 32px; } -.task-time img { - width: 23px; - height: 23px; +.task-time .anticon { margin-right: 16px; } diff --git a/src/components/tall/left/Projects.vue b/src/components/tall/left/Projects.vue index 198d419..d96a11a 100644 --- a/src/components/tall/left/Projects.vue +++ b/src/components/tall/left/Projects.vue @@ -79,6 +79,7 @@ const store = useStore(); const projects = reactive({ projects: [] }); const visible = ref(false); const deleteId = ref(null); +const projectId = sessionStorage.getItem('projectId'); // 点击操作面试显示隐藏 const showActionCard = item => { @@ -94,9 +95,18 @@ const getProjectsList = async (startTime, endTime) => { data.forEach(item => { item.show = false; + if (item.id === projectId) { + item.show = true; + } + if (item.sonProjectList) { item.sonProjectList.forEach(sonItem => { sonItem.show = false; + + if (sonItem.id === projectId) { + sonItem.show = true; + item.show = true; + } }); } @@ -111,11 +121,13 @@ const getProjectsList = async (startTime, endTime) => { getProjectsList(dayjs().startOf('day').format('x'), dayjs().endOf('day').format('x')); -function toDetail(project) { +function toDetail(item) { + item.show = !item.show; + const obj = { - id: project.id, - name: project.name, - url: project.url, + id: item.id, + name: item.name, + url: item.url, }; store.commit('projects/setProject', obj); diff --git a/src/components/tall/top/Navbar.vue b/src/components/tall/top/Navbar.vue index 9aafa88..8783626 100644 --- a/src/components/tall/top/Navbar.vue +++ b/src/components/tall/top/Navbar.vue @@ -10,6 +10,11 @@ import { useStore } from 'vuex'; const store = useStore(); const taskDetail = computed(() => store.state.task.taskDetail); // 任务名称 const taskInfo = ref({}); +const sessionTaskDetail = sessionStorage.getItem('taskDetail'); + +if (sessionTaskDetail) { + taskInfo.value = JSON.parse(sessionTaskDetail); +} // 监听任务信息 watch(taskDetail, newVal => { diff --git a/src/store/tall/projects/index.js b/src/store/tall/projects/index.js index 240928f..87df125 100644 --- a/src/store/tall/projects/index.js +++ b/src/store/tall/projects/index.js @@ -57,7 +57,6 @@ export default { */ setProject(state, data) { state.project = data || { name: '加载中...' }; - console.log(11111111111, data); if (data) { sessionStorage.setItem('projectId', data.id); sessionStorage.setItem('project', JSON.stringify(data)); diff --git a/src/store/tall/task/index.js b/src/store/tall/task/index.js index 71a733e..f360005 100644 --- a/src/store/tall/task/index.js +++ b/src/store/tall/task/index.js @@ -289,8 +289,15 @@ export default { /** * 设置当前点击的任务信息 */ - setTaskDetail(state, show) { - state.taskDetail = show; + setTaskDetail(state, data) { + state.taskDetail = data; + if (data) { + sessionStorage.setItem('taskId', data.id); + sessionStorage.setItem('taskDetail', JSON.stringify(data)); + } else { + sessionStorage.removeItem('taskId'); + sessionStorage.removeItem('taskDetail'); + } }, }, diff --git a/src/views/detail/Test.vue b/src/views/detail/Test.vue index ec232f3..d2fe2b9 100644 --- a/src/views/detail/Test.vue +++ b/src/views/detail/Test.vue @@ -14,6 +14,11 @@ import { useStore } from 'vuex'; const store = useStore(); const taskDetail = computed(() => store.state.task.taskDetail); // 任务名称 const taskInfo = ref({}); +const sessionTaskDetail = sessionStorage.getItem('taskDetail'); + +if (sessionTaskDetail) { + taskInfo.value = JSON.parse(sessionTaskDetail); +} // 监听任务信息 watch(taskDetail, newVal => { diff --git a/src/views/home/Index.vue b/src/views/home/Index.vue index 8fa3d71..669f36e 100644 --- a/src/views/home/Index.vue +++ b/src/views/home/Index.vue @@ -16,7 +16,7 @@ - + @@ -45,6 +45,7 @@ import ProjectDetail from 'components/tall/center/ProjectDetail.vue'; const locale = zhCN; const store = useStore(); const collapsed = computed(() => store.state.layout.display.left); // 是否显示左栏 +const sessionTaskId = sessionStorage.getItem('taskId'); // 验证 获取query中u参数 获取token // const route = useRoute();