From e5a13c89df765018ec1e0c5eb366ca2de779b39a Mon Sep 17 00:00:00 2001 From: song Date: Thu, 16 Sep 2021 16:59:25 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=97=B6=E9=97=B4=E8=BD=B4=E8=87=AA?= =?UTF-8?q?=E5=8A=A8=E6=BB=9A=E5=8A=A8=E5=88=B0=E5=AF=B9=E5=BA=94=E4=BD=8D?= =?UTF-8?q?=E7=BD=AE=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + src/components/TimeLine/TimeLine.vue | 13 +++++++++---- src/pages/project/project.vue | 10 ++++++---- src/store/task/mutations.js | 9 +++++++++ src/store/task/state.js | 1 + 5 files changed, 26 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index be1d986..8a00672 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -127,6 +127,7 @@ - | 修改角色栏组件 | [a54c601](https://dd.tall.wiki/gitea/wally/tall-mui-3-project/commits/a54c601) - | 修改项目详情页返回首页bug | [e942887](https://dd.tall.wiki/gitea/wally/tall-mui-3-project/commits/e942887) - | 全局任务点击时保存角色id到本地 | [e1a17c5](https://dd.tall.wiki/gitea/wally/tall-mui-3-project/commits/e1a17c5) + - | 分享未登录提示修改 | [80eb4c5](https://dd.tall.wiki/gitea/wally/tall-mui-3-project/commits/80eb4c5) - | 分享项目链接 | [d867239](https://dd.tall.wiki/gitea/wally/tall-mui-3-project/commits/d867239) - | 切换到默认项目角色没有激活状态的bug | [438d448](https://dd.tall.wiki/gitea/wally/tall-mui-3-project/commits/438d448) - | 切换日历时查询小红点 | [7091789](https://dd.tall.wiki/gitea/wally/tall-mui-3-project/commits/7091789) diff --git a/src/components/TimeLine/TimeLine.vue b/src/components/TimeLine/TimeLine.vue index f0abcb9..df2e2ea 100644 --- a/src/components/TimeLine/TimeLine.vue +++ b/src/components/TimeLine/TimeLine.vue @@ -109,10 +109,15 @@ export default { this.setScrollToTaskId(`a${taskId}`); this.$t.storage.setStorageSync('taskId', ''); // 记录后即刻清除本地存储 } else { - // 没有本地记录的taskId - // 找到当前时间基准线的任务id 记录 并滚动到当前时间基准线 - const task = this.tasks.find(item => this.$moment(+item.planStart).isSame(this.timeNode, this.timeGranularity)); - task && this.setScrollToTaskId(`a${task.id}`); // 有这个task 就记录他的id + const item = this.tasks.find(task => task.detailId); + if (item) { + this.setScrollToTaskId(`a${item.id}`); + } else { + // 没有本地记录的taskId + // 找到当前时间基准线的任务id 记录 并滚动到当前时间基准线 + const task = this.tasks.find(item => this.$moment(+item.planStart).isSame(this.timeNode, this.timeGranularity)); + task && this.setScrollToTaskId(`a${task.id}`); // 有这个task 就记录他的id + } } }, }, diff --git a/src/pages/project/project.vue b/src/pages/project/project.vue index 7380e2e..a46201d 100644 --- a/src/pages/project/project.vue +++ b/src/pages/project/project.vue @@ -29,7 +29,7 @@ export default { computed: { ...mapState('user', ['user', 'token']), ...mapState('role', ['visibleRoles', 'roleId']), - ...mapState('task', ['timeNode', 'timeUnit', 'tasks', 'regularTask', 'newProjectInfo', 'showSkeleton']), + ...mapState('task', ['timeNode', 'timeUnit', 'tasks', 'regularTask', 'newProjectInfo', 'showSkeleton', 'showScrollTo']), ...mapState('project', ['project']), ...mapGetters('task', ['timeGranularity']), ...mapGetters('project', ['projectId']), @@ -113,6 +113,7 @@ export default { 'setShowSkeleton', 'setTopEnd', 'setBottomEnd', + 'setShowScrollTo', ]), // 初始化 定期任务 @@ -125,11 +126,11 @@ export default { // 滚动到对应位置 let timer = null; timer = setInterval(() => { - if (!this.showSkeleton) { + if (this.showScrollTo) { clearInterval(timer); this.$nextTick(() => this.$refs.timeLine.setScrollPosition()); } - }, 1000); + }, 500); }, // 切换了 颗粒度 || 角色时候 获取初始定期任务 @@ -188,6 +189,7 @@ export default { // TODO: 提示错误 console.error('err: ', err); } else { + this.setShowScrollTo(true); // 有数据用数据替换刻度 // 没有数据 继续加载刻度 if (data && data.length) { @@ -270,7 +272,7 @@ export default { oldTasks = flatten(oldTasks); // 1维拍平 this.clearTasks(); // setUpTasks setUpTasks 的限制 需要清空 - type === 0 ? this.setUpTasks(oldTasks) : this.setUpTasks(oldTasks); + type === 0 ? this.setUpTasks(oldTasks) : this.setDownTasks(oldTasks); }, /** diff --git a/src/store/task/mutations.js b/src/store/task/mutations.js index d1cd0ec..e465507 100644 --- a/src/store/task/mutations.js +++ b/src/store/task/mutations.js @@ -192,6 +192,15 @@ const mutations = { setShowSkeleton(state, show) { state.showSkeleton = show; }, + + /** + * 是否设置时间轴自动滚动的位置 + * @param {Object} state + * @param {Boolean} show + */ + setShowScrollTo(state, show) { + state.showScrollTo = show; + }, }; export default mutations; diff --git a/src/store/task/state.js b/src/store/task/state.js index fc0982f..023378d 100644 --- a/src/store/task/state.js +++ b/src/store/task/state.js @@ -19,6 +19,7 @@ const state = { tasks: [], // 所有的定期任务 showSkeleton: false, // 定期任务骨架屏 newProjectInfo: {}, + showScrollTo: false, // 是否可以设置时间轴自动滚动的位置 }; export default state;