From d643af2cfa47e8fbe6826378542fe1e95c449045 Mon Sep 17 00:00:00 2001 From: song Date: Tue, 17 Aug 2021 17:51:32 +0800 Subject: [PATCH 1/8] =?UTF-8?q?fix:=201.=E6=97=B6=E9=97=B4=E8=BD=B4?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E6=B8=B2=E6=9F=93=202.=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E5=9F=BA=E5=87=86=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 79 +--------- src/components/Roles/Roles.vue | 9 +- src/components/TimeLine/TimeLine.vue | 144 ++++------------- src/components/TimeLine/component/TimeBox.vue | 3 +- src/mixins/timeline.js | 44 ++++++ src/pages/project/project.vue | 144 ++++++++++++++--- src/store/task/actions.js | 16 +- src/store/task/mutations.js | 149 ++++-------------- src/store/task/state.js | 1 - src/utils/time.js | 12 ++ 10 files changed, 247 insertions(+), 354 deletions(-) create mode 100644 src/mixins/timeline.js diff --git a/CHANGELOG.md b/CHANGELOG.md index f4f1050..aa13ab5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# 0.1.0 (2021-08-13) +# 0.1.0 (2021-08-17) ### 🌟 新功能 范围|描述|commitId @@ -53,26 +53,6 @@ ### 🎨 代码样式 范围|描述|commitId --|--|-- - - | calendar注释 | a2ec112 - - | 代码审查 | d75134c - - | 代码格式细节调整 | cb2532b - - | 任务快捷方式图标增加 | 4aba872 - - | 修改角色样式 | 73e268e - - | 删除calendar中多余的console | e339eec - - | 删除console.log | 5064a38 - - | 删除index中没用的alert代码 | 9c9eec7 - - | 删除mock,console;upload添加loading | 99d42e2 - - | 删除多余字段 | 5ae3973 - - | 删除插件携带的多余文件 | 0f392bb - - | 删除没用代码 | 34b20e1 - - | 图标修改 | 54bca09 - - | 无基本变化 | 21ac4bb - - | 日常任务修改 | dfa7ee2 - - | 更新代码 | 8c27e68 - - | 更新代码 | 1f40a76 - - | 格式细节调整 | b907a03 - - | 添加插件数据 | 2f11b42 - - | 组件新建 | 89c0035 - | calendar注释 | [a2ec112](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/a2ec112) - | 代码审查 | [d75134c](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/d75134c) - | 代码格式细节调整 | [cb2532b](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/cb2532b) @@ -93,52 +73,12 @@ - | 格式细节调整 | [b907a03](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/b907a03) - | 添加插件数据 | [2f11b42](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/2f11b42) - | 组件新建 | [89c0035](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/89c0035) + - | 细节调整 | [2cfc09a](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/2cfc09a) ### 🐛 Bug 修复 范围|描述|commitId --|--|-- - ID1000343 | 解决向下预加载查询参数时间没+1颗粒度;以及滚动加载颗粒度写死的问题 | 940603a, closes #ID1000343 - plugin | 插件解析机制完善 | 0f5a27d - project title | 项目标题修改; 切换角色移除script | 5c20017 - roles | 修复默认显示不是我的角色的问题 | b69f94f - role | 切换角色的逻辑修正完善 | 4ae534f - task任务逻辑完善 | 减少初始global及regular的不必要请求 | bd4bd38 - - | title.vue根据页面栈显示返回按钮;标题文本超出显示... | 0cbacf4 - - | 上下滑动加载定期任务 | 4090d89 - - | 上下滚动时间轴 | d533a01 - - | 下拉加载定期任务传参,时间格式化修改 | 0b95a0e - - | 任务开始时间延迟插件 | 992a313 - - | 修改main | 749ae9a - - | 修改小红点传参 | 87b20fd - - | 修改报错 | 531c14d - - | 修改接口路径 | df6acf2 - - | 修改角色栏组件 | a54c601 - - | 切换到默认项目角色没有激活状态的bug | 438d448 - - | 切换日历时查询小红点 | 7091789 - - | 定期任务接口 | aa4981c - - | 定期任务插件 | 92b3254 - - | 定期任务未加载时,显示空的时间轴并能上下滑动 | ce38093 - - | 定期任务骨架屏修改 | 8ff72dd - - | 平车演示临时去掉项目快捷方式的toast提示 | e0b2c23 - - | 手动展开日常任务 | 0a4a622 - - | 提示信息显示bug及日常任务收缩问题 | f2f06c5 - - | 插件bug解决 | 41257eb - - | 收到消息修改任务状态 | c378063 - - | 日历无任务时添加小绿点,时间轴刻度无任务不显示时分 | 0f90868 - - | 日常任务html数据查验 | 880ce5c - - | 日常任务插件遍历时的key值修改 | cd26285 - - | 日常任务插件面板高度修改 | 249f9e4 - - | 时间轴上下滑动 | 4d0ae46 - - | 时间轴上下滚动数据加载bug修改 | e82ede4 - - | 时间轴插件 | 225d3cc - - | 时间轴无任务时时间刻度加载修改 | 4921672 - - | 时间轴骨架屏修改 | ca78d02 - - | 角色显示状态修改 | 7d3b906 - - | 角色栏修改 | 19228d6 - - | 解决时间轴报错 | da1eece - - | 跳转详情页返回路径修改 | c5e17c0 - - | 骨架屏替换 | e9fdd71 ID1000343 | 解决向下预加载查询参数时间没+1颗粒度;以及滚动加载颗粒度写死的问题 | [940603a](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/940603a), closes [#ID1000343](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/issues/ID1000343) plugin | 插件解析机制完善 | [0f5a27d](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/0f5a27d) project title | 项目标题修改; 切换角色移除script | [5c20017](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/5c20017) @@ -157,6 +97,7 @@ - | 修改角色栏组件 | [a54c601](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/a54c601) - | 切换到默认项目角色没有激活状态的bug | [438d448](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/438d448) - | 切换日历时查询小红点 | [7091789](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/7091789) + - | 定期任务key值修改 | [c6688db](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/c6688db) - | 定期任务接口 | [aa4981c](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/aa4981c) - | 定期任务插件 | [92b3254](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/92b3254) - | 定期任务未加载时,显示空的时间轴并能上下滑动 | [ce38093](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/ce38093) @@ -219,16 +160,6 @@ ### 🚀 性能优化 范围|描述|commitId --|--|-- - - | 修改定期任务骨架屏高度 | 909a734 - - | 插件查询及展示 | 4dba770 - - | 整理代码 | 7a55315 - - | 日历的更改 | 7353ac8 - - | 测试接口 | 215e074 - - | 组件文件夹新建 | 22bfe7b - - | 组件文件夹新建 | 17bb8c9 - - | 组件文件夹新建 | 1421504 - - | 角色栏文字颜色修改 | 215c6b3 - - | 解决警告 | c932b09 - | 修改定期任务骨架屏高度 | [909a734](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/909a734) - | 插件查询及展示 | [4dba770](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/4dba770) - | 整理代码 | [7a55315](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/7a55315) @@ -260,9 +191,7 @@ 范围|描述|commitId --|--|-- - - | style:index | 978f272 - - | !2 基础模板v1.1.0 | f5e61dd - - | init | c0f1deb - | style:index | [978f272](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/978f272) - | !2 基础模板v1.1.0 | [f5e61dd](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/f5e61dd) - | init | [c0f1deb](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/c0f1deb) + diff --git a/src/components/Roles/Roles.vue b/src/components/Roles/Roles.vue index 1de30b1..524c0ef 100644 --- a/src/components/Roles/Roles.vue +++ b/src/components/Roles/Roles.vue @@ -58,7 +58,7 @@ export default { methods: { ...mapActions('task', ['handleRegularTask', 'getPermanent']), ...mapMutations('role', ['setRoleId']), - ...mapMutations('task', ['setPermanents', 'setDailyTasks', 'clearEndFlag', 'setTimeNode']), + ...mapMutations('task', ['setPermanents', 'setDailyTasks', 'clearEndFlag']), // 设置滚动位置 setCurrentRole(index) { @@ -92,13 +92,6 @@ export default { this.setRoleId(id); //改变index 即手动点击切换 我在此时将当前元素赋值给左边距 实现自动滚动 this.setCurrentRole(index); - // 清空日常任务的数据 - this.setPermanents([]); - this.setDailyTasks([]); - // 清空定期任务数据 - // 到顶的标志复位 - // 到底的标志复位 - this.clearEndFlag(); }); } catch (error) { console.error('role.vue changeRole error: ', error); diff --git a/src/components/TimeLine/TimeLine.vue b/src/components/TimeLine/TimeLine.vue index 3b65aee..449b74e 100644 --- a/src/components/TimeLine/TimeLine.vue +++ b/src/components/TimeLine/TimeLine.vue @@ -4,9 +4,9 @@ - + {{ $moment(+task.planStart).format(startTimeFormat) }} {{ $moment(+task.planStart).format('D日') }} + diff --git a/src/mixins/timeline.js b/src/mixins/timeline.js new file mode 100644 index 0000000..b61c46a --- /dev/null +++ b/src/mixins/timeline.js @@ -0,0 +1,44 @@ +import { mapGetters } from 'vuex'; + +const mixin = { + computed: mapGetters('task', ['timeGranularity']), + + methods: { + /** + * 设置时间轴空数据 + * @param {*} startTime + * @param {*} show true 向上加载,false 向下加载 + */ + setTime(startTime, show) { + let { timeGranularity } = this; + let arr = []; + let str = {}; + if (show) { + for (let i = 10; i > 0; i--) { + str = { + id: this.$u.guid(20, false, 10), + panel: {}, + plugins: [], + process: 4, + planStart: this.$t.time.add(startTime, `-${i}` - 0, timeGranularity).valueOf(), + }; + arr.push(str); + } + } else { + for (let i = 0; i < 10; i++) { + str = { + id: this.$u.guid(20, false, 10), + panel: {}, + plugins: [], + process: 4, + planStart: this.$t.time.add(startTime, i + 1, timeGranularity).valueOf(), + }; + arr.push(str); + } + } + return arr; + }, + }, +}; + +export default mixin; diff --git a/src/pages/project/project.vue b/src/pages/project/project.vue index ad85156..b7b8416 100644 --- a/src/pages/project/project.vue +++ b/src/pages/project/project.vue @@ -18,8 +18,10 @@ diff --git a/src/store/task/actions.js b/src/store/task/actions.js index f48ced7..33e7da9 100644 --- a/src/store/task/actions.js +++ b/src/store/task/actions.js @@ -18,10 +18,10 @@ const actions = { * @param {*} commit * @param {object} param 请求参数 roleId, timeNode, timeUnit */ - async getGlobal({ commit }, param) { + async getGlobal(param) { try { - const data = await uni.$u.api.getGlobal(param); - commit('setDailyTasks', data); + await uni.$u.api.getGlobal(param); + // commit('setDailyTasks', data); } catch (error) { console.log('task actions getGlobal error: ', error); } @@ -33,16 +33,10 @@ const actions = { * @param {number} param.queryType 必填 0 -> 向上 1 -> 向下 */ // eslint-disable-next-line - async getRegulars({ commit, state }, param) { + async getRegulars(param) { try { - // 向上查 且 上边没数据了 不查 - // if (param.queryType === 0) return; - // 向下查 且 下边美术家了 不查 - // if (param.queryType === 1) return; const data = await uni.$u.api.getRegularTask(param); - // 0 -> 向上 1 -> 向下 - // data 有无的判断在mutations里 - param.queryType === 0 ? commit('setUpTasks', data) : commit('setDownTasks', data); + return data; } catch (error) { throw error || '获取定期任务失败'; } diff --git a/src/store/task/mutations.js b/src/store/task/mutations.js index 1994329..a0c51c4 100644 --- a/src/store/task/mutations.js +++ b/src/store/task/mutations.js @@ -52,7 +52,6 @@ const mutations = { */ setTimeNode(state, data) { state.timeNode = data; - console.log('state.timeNode : ', state.timeNode); }, /** @@ -70,65 +69,10 @@ const mutations = { * @param {Array} data 服务端返回的模板数组 */ setUpTasks(state, data) { - if (!data || !data.length) { - state.topEnd = true; - let sTime = ''; - if (!state.tasks || !state.tasks.length) { - sTime = +new Date().getTime(); - } else { - sTime = +state.tasks[0].planStart - 0; - } - const initData = [ - { - id: state.randomId, - panel: {}, - plugins: [], - process: 4, - planStart: uni.$t.time.add(sTime, -6, 'day').valueOf(), - }, - { - id: state.randomId, - panel: {}, - plugins: [], - process: 4, - planStart: uni.$t.time.add(sTime, -5, 'day').valueOf(), - }, - { - id: state.randomId, - panel: {}, - plugins: [], - process: 4, - planStart: uni.$t.time.add(sTime, -4, 'day').valueOf(), - }, - { - id: state.randomId, - panel: {}, - plugins: [], - process: 4, - planStart: uni.$t.time.add(sTime, -3, 'day').valueOf(), - }, - { - id: state.randomId, - panel: {}, - plugins: [], - process: 4, - planStart: uni.$t.time.add(sTime, -2, 'day').valueOf(), - }, - { - id: state.randomId, - panel: {}, - plugins: [], - process: 4, - planStart: uni.$t.time.add(sTime, -1, 'day').valueOf(), - }, - ]; - state.tasks = [...initData.concat(state.tasks)]; + if (!state.tasks.length) { + state.tasks = [...data]; } else { - if (!state.tasks && !state.tasks.length) { - state.tasks = [...data]; - } else { - state.tasks = [...data.concat(state.tasks)]; - } + state.tasks = [...data.concat(state.tasks)]; } }, @@ -138,65 +82,10 @@ const mutations = { * @param {Array} data 服务端返回的模板数组 */ setDownTasks(state, data) { - if (!data || !data.length) { - state.bottomEnd = true; - let sTime = ''; - if (!state.tasks || !state.tasks.length) { - sTime = +new Date().getTime(); - } else { - sTime = +state.tasks[state.tasks.length - 1].planStart - 0; - } - const initData = [ - { - id: state.randomId, - panel: {}, - plugins: [], - process: 4, - planStart: uni.$t.time.add(sTime, 1, 'day').valueOf(), - }, - { - id: state.randomId, - panel: {}, - plugins: [], - process: 4, - planStart: uni.$t.time.add(sTime, 2, 'day').valueOf(), - }, - { - id: state.randomId, - panel: {}, - plugins: [], - process: 4, - planStart: uni.$t.time.add(sTime, 3, 'day').valueOf(), - }, - { - id: state.randomId, - panel: {}, - plugins: [], - process: 4, - planStart: uni.$t.time.add(sTime, 4, 'day').valueOf(), - }, - { - id: state.randomId, - panel: {}, - plugins: [], - process: 4, - planStart: uni.$t.time.add(sTime, 5, 'day').valueOf(), - }, - { - id: state.randomId, - panel: {}, - plugins: [], - process: 4, - planStart: uni.$t.time.add(sTime, 6, 'day').valueOf(), - }, - ]; - state.tasks = [...state.tasks.concat(initData)]; + if (!state.tasks && !state.tasks.length) { + state.tasks = [...data]; } else { - if (!state.tasks && !state.tasks.length) { - state.tasks = [...data]; - } else { - state.tasks = [...state.tasks.concat(data)]; - } + state.tasks = [...state.tasks.concat(data)]; } }, @@ -218,13 +107,35 @@ const mutations = { state.permanents = tasks || []; }, - // 清空标志位 任务 如切换角色等使用 + /** + * 设置时间轴是否继续向上查任务 + * @param {Object} state + * @param {Boolean} show + */ + setTopEnd(state, show) { + state.topEnd = show; + }, + + /** + * 设置时间轴是否继续向下查任务 + * @param {Object} state + * @param {Boolean} show + */ + setBottomEnd(state, show) { + state.bottomEnd = show; + }, + + // 清空标志位 如切换角色等使用 clearEndFlag(state) { - state.tasks = []; state.topEnd = false; state.bottomEnd = false; }, + // 清空定期任务 + clearTasks(state) { + state.tasks = []; + }, + /** * 收到消息设置任务状态 * @param {Object} state diff --git a/src/store/task/state.js b/src/store/task/state.js index 7aca908..d453785 100644 --- a/src/store/task/state.js +++ b/src/store/task/state.js @@ -25,7 +25,6 @@ const state = { // 定期任务 tasks: [], showSkeleton: false, // 定期任务骨架屏 - randomId: Math.floor(Math.random() * 100000000000000000000), // 随机id }; export default state; diff --git a/src/utils/time.js b/src/utils/time.js index 4997acd..6f1fae2 100644 --- a/src/utils/time.js +++ b/src/utils/time.js @@ -100,6 +100,17 @@ const validateTimeIsToday = time => { return timeDate.getFullYear() === date.getFullYear() && timeDate.getMonth() === date.getMonth() && timeDate.getDate() === date.getDate(); }; +/** + * 检测两个日期是否相同 + * @param {number | date} time + * @param {number | date} value + * @param {string} cycle 传入 day 将会比较 day、 month和 year + */ +const isSame = (time, value, cycle) => { + const str = dayjs(time).isSame(value, cycle); + return str; +}; + /** * 格式化开始时间 * @param {Number} timestamp 时间戳 @@ -344,6 +355,7 @@ export default { convertTime, secondToMinute, setTimestampToStr, + isSame, formatBeginTime, formatDuration, formatDurationToObject, From 14123d758c8ace7efb9eb493a000673b01d9eb15 Mon Sep 17 00:00:00 2001 From: song Date: Wed, 18 Aug 2021 10:10:32 +0800 Subject: [PATCH 2/8] =?UTF-8?q?perf:=20=E4=BF=AE=E6=94=B9=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 3 ++- src/components/Roles/Roles.vue | 2 +- src/store/task/actions.js | 11 +++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aa13ab5..ca779c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -# 0.1.0 (2021-08-17) +# 0.1.0 (2021-08-18) ### 🌟 新功能 范围|描述|commitId @@ -79,6 +79,7 @@ ### 🐛 Bug 修复 范围|描述|commitId --|--|-- + - | 1.时间轴数据渲染 2.时间基准线 | [d643af2](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/d643af2) ID1000343 | 解决向下预加载查询参数时间没+1颗粒度;以及滚动加载颗粒度写死的问题 | [940603a](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/940603a), closes [#ID1000343](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/issues/ID1000343) plugin | 插件解析机制完善 | [0f5a27d](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/0f5a27d) project title | 项目标题修改; 切换角色移除script | [5c20017](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/5c20017) diff --git a/src/components/Roles/Roles.vue b/src/components/Roles/Roles.vue index 524c0ef..2a087f9 100644 --- a/src/components/Roles/Roles.vue +++ b/src/components/Roles/Roles.vue @@ -58,7 +58,7 @@ export default { methods: { ...mapActions('task', ['handleRegularTask', 'getPermanent']), ...mapMutations('role', ['setRoleId']), - ...mapMutations('task', ['setPermanents', 'setDailyTasks', 'clearEndFlag']), + ...mapMutations('task', ['setPermanents', 'clearEndFlag']), // 设置滚动位置 setCurrentRole(index) { diff --git a/src/store/task/actions.js b/src/store/task/actions.js index 33e7da9..b8dfbfb 100644 --- a/src/store/task/actions.js +++ b/src/store/task/actions.js @@ -18,10 +18,10 @@ const actions = { * @param {*} commit * @param {object} param 请求参数 roleId, timeNode, timeUnit */ - async getGlobal(param) { + async getGlobal({ commit }, param) { try { - await uni.$u.api.getGlobal(param); - // commit('setDailyTasks', data); + const data = await uni.$u.api.getGlobal(param); + commit('setDailyTasks', data); } catch (error) { console.log('task actions getGlobal error: ', error); } @@ -33,10 +33,9 @@ const actions = { * @param {number} param.queryType 必填 0 -> 向上 1 -> 向下 */ // eslint-disable-next-line - async getRegulars(param) { + async getRegulars({ commit }, param) { try { - const data = await uni.$u.api.getRegularTask(param); - return data; + return await uni.$u.api.getRegularTask(param); } catch (error) { throw error || '获取定期任务失败'; } From e082ccb76ffd713bf5ab49ba4991514e80d12aef Mon Sep 17 00:00:00 2001 From: song Date: Wed, 18 Aug 2021 11:37:51 +0800 Subject: [PATCH 3/8] =?UTF-8?q?perf:=201.=E6=97=B6=E9=97=B4=E8=BD=B4?= =?UTF-8?q?=E7=AD=9B=E9=80=89=E7=9B=B8=E5=90=8C=E7=9A=84=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E6=9B=BF=E6=8D=A2=E6=95=B0=E6=8D=AE=202.=E6=95=B4=E7=90=86?= =?UTF-8?q?=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + src/components/Roles/Roles.vue | 1 - src/components/TimeLine/TimeLine.vue | 21 ++++++++++--------- src/components/TimeLine/component/TimeBox.vue | 7 ++++--- src/pages/project/project.vue | 14 ++++++------- src/plugins/p-wbs-import/p-wbs-import.vue | 3 +-- src/store/task/mutations.js | 9 ++++++++ src/store/task/state.js | 1 + 8 files changed, 34 insertions(+), 23 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ca779c3..9636235 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -161,6 +161,7 @@ ### 🚀 性能优化 范围|描述|commitId --|--|-- + - | 修改代码格式 | [14123d7](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/14123d7) - | 修改定期任务骨架屏高度 | [909a734](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/909a734) - | 插件查询及展示 | [4dba770](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/4dba770) - | 整理代码 | [7a55315](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/7a55315) diff --git a/src/components/Roles/Roles.vue b/src/components/Roles/Roles.vue index 2a087f9..798ef98 100644 --- a/src/components/Roles/Roles.vue +++ b/src/components/Roles/Roles.vue @@ -85,7 +85,6 @@ export default { // 时间基准点不用管 project监听了roleId 里处理了 changeRole(id, index) { try { - console.log('切换角色'); // 清除多余的script this.clearPluginScript(); this.$nextTick(() => { diff --git a/src/components/TimeLine/TimeLine.vue b/src/components/TimeLine/TimeLine.vue index 449b74e..efcc1ff 100644 --- a/src/components/TimeLine/TimeLine.vue +++ b/src/components/TimeLine/TimeLine.vue @@ -31,20 +31,17 @@ export default { mixins: [mixin], data() { - return { - top: 0, - viewId: '', // 距离顶部的距离 - }; + return { top: 0 }; }, computed: { ...mapState('role', ['visibleRoles']), - ...mapState('task', ['scrollTop', 'showTips', 'tasks', 'topEnd', 'bottomEnd', 'showSkeleton', 'timeNode']), + ...mapState('task', ['scrollTop', 'showTips', 'tasks', 'topEnd', 'bottomEnd', 'showSkeleton', 'timeNode', 'viewId']), ...mapGetters('task', ['timeGranularity']), }, methods: { - ...mapMutations('task', ['setScrollTop', 'setShrink', 'setUpTasks', 'setDownTasks']), + ...mapMutations('task', ['setScrollTop', 'setShrink', 'setUpTasks', 'setDownTasks', 'setViewId']), // 滚动 scroll(e) { @@ -98,17 +95,21 @@ export default { }, // 设置自动滚动位置 - setViewId() { + setScrollPosition() { const { tasks, timeNode } = this; for (let i = 0; i < tasks.length; i++) { const item = tasks[i]; const show = this.$t.time.isSame(+item.planStart, +timeNode, this.timeGranularity); - if (item.detailId) { - this.viewId = `a${item.id}`; + // 如果storage里有timeNode,修改store里的timeNode + const taskId = this.$t.storage.getStorageSync('taskId'); + // 清空storage + if (taskId) { + this.setViewId(`a${taskId}`); + this.$t.storage.setStorageSync('taskId', ''); return; } if (show) { - this.viewId = `a${item.id}`; + this.setViewId(`a${item.id}`); return; } } diff --git a/src/components/TimeLine/component/TimeBox.vue b/src/components/TimeLine/component/TimeBox.vue index a35c0e6..b8e10c3 100644 --- a/src/components/TimeLine/component/TimeBox.vue +++ b/src/components/TimeLine/component/TimeBox.vue @@ -38,7 +38,7 @@ class="h-16" margin="0" v-if="tasks && tasks.length && task.process !== 4 && !showSkeleton" - @click="onClickTask(+task.planStart)" + @click="onClickTask(+task.planStart, task.id)" > @@ -105,11 +105,12 @@ export default { /** * 点击了定期任务的面板 更新可变的日常任务 * @param {number} planStart 任务计划开始时间 + * @param {string} taskId 任务id */ - onClickTask(planStart) { + onClickTask(planStart, taskId) { const param = { roleId: this.roleId, timeNode: planStart, timeUnit: this.timeUnit }; this.getGlobal(param); - this.$t.storage.setStorageSync('timeNode', planStart); + this.$t.storage.setStorageSync('taskId', taskId); this.$t.storage.setStorageSync('roleId', this.roleId); }, diff --git a/src/pages/project/project.vue b/src/pages/project/project.vue index b7b8416..9086a26 100644 --- a/src/pages/project/project.vue +++ b/src/pages/project/project.vue @@ -44,6 +44,7 @@ export default { * 永久日常任务不发生改变 */ async timeNode(val) { + console.log('时间基准点发生变化: ', val); if (val && this.roleId) { // 根据时间和角色查找日常任务 await this.initTasks(); @@ -59,10 +60,7 @@ export default { roleId(val) { if (val) { console.log('角色发生变化: ', val); - // 如果storage里有timeNode,修改store里的timeNode - this.setTimeNode(+this.$t.storage.getStorageSync('timeNode') !== 0 ? +this.$t.storage.getStorageSync('timeNode') : Date.now()); - // 清空storage - this.$t.storage.setStorageSync('timeNode', ''); + this.setTimeNode(Date.now()); // 根据角色查找永久的日常任务 this.getPermanent(val); } @@ -152,7 +150,7 @@ export default { this.setNextTasks(); await this.getInitTasks(); setTimeout(() => { - this.$refs.child.setViewId(); + this.$refs.child.setScrollPosition(); }, 2000); }, @@ -268,17 +266,19 @@ export default { for (let j = 0; j < data.length; j++) { const item = data[j]; // 查找有没有超出时间刻度的时间 - if (+data[0].planStart < +newTasks[0].planStart) { + if (+newTasks[0].planStart > +data[0].planStart) { this.setPrevTasks(); newTasks = [...this.tasks]; + i--; break; } else if (+data[data.length - 1].planStart > +newTasks[newTasks.length - 1].planStart) { this.setNextTasks(); newTasks = [...this.tasks]; + i--; break; } else { // 筛选相同的时间替换数据 - const taskItem = this.$t.time.isSame(+item.planStart, +task.planStart, this.timeGranularity); + const taskItem = this.$t.time.isSame(+task.planStart, +item.planStart, this.timeGranularity); if (taskItem) { arr.push(item); if (task.detailId) { diff --git a/src/plugins/p-wbs-import/p-wbs-import.vue b/src/plugins/p-wbs-import/p-wbs-import.vue index 0e37dd2..00b9b1b 100644 --- a/src/plugins/p-wbs-import/p-wbs-import.vue +++ b/src/plugins/p-wbs-import/p-wbs-import.vue @@ -54,8 +54,7 @@ export default { // TODO: 更新接口没写完 async handleUpdate() { try { - const data = await this.$u.api.import({ projectId: this.projectId }); - console.log('data: ', data); + await this.$u.api.import({ projectId: this.projectId }); // 导入WBS成功后 // 直接打开导入的项目 this.onUploadSuccess(); diff --git a/src/store/task/mutations.js b/src/store/task/mutations.js index a0c51c4..e644faa 100644 --- a/src/store/task/mutations.js +++ b/src/store/task/mutations.js @@ -8,6 +8,15 @@ const mutations = { state.scrollTop = num; }, + /** + * 记录时间轴向上滚动的距离 + * @param { object } state + * @param { string } data + */ + setViewId(state, data) { + state.viewId = data; + }, + /** * 设置日常任务当前是否应该处于收缩状态 * @param { object } state diff --git a/src/store/task/state.js b/src/store/task/state.js index d453785..e8397e0 100644 --- a/src/store/task/state.js +++ b/src/store/task/state.js @@ -1,5 +1,6 @@ const state = { scrollTop: 0, + viewId: '', // 时间轴自动滚动的位置 isShrink: false, // true: 收起, false:展开 tip: { taskId: '', // 当前正在修改状态的任务的id From a3474f81650fc8aff2973c51d65f2c5f50b6994d Mon Sep 17 00:00:00 2001 From: song Date: Wed, 18 Aug 2021 11:50:58 +0800 Subject: [PATCH 4/8] =?UTF-8?q?fix:=20=E8=AE=BE=E7=BD=AE=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E8=BD=B4=E8=87=AA=E5=8A=A8=E6=BB=9A=E5=8A=A8=E5=88=B0=E5=BD=93?= =?UTF-8?q?=E5=89=8D=E4=BD=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + src/pages/project/project.vue | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9636235..b930d9e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -161,6 +161,7 @@ ### 🚀 性能优化 范围|描述|commitId --|--|-- + - | 1.时间轴筛选相同的时间替换数据 2.整理代码 | [e082ccb](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/e082ccb) - | 修改代码格式 | [14123d7](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/14123d7) - | 修改定期任务骨架屏高度 | [909a734](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/909a734) - | 插件查询及展示 | [4dba770](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/4dba770) diff --git a/src/pages/project/project.vue b/src/pages/project/project.vue index 9086a26..bd7e511 100644 --- a/src/pages/project/project.vue +++ b/src/pages/project/project.vue @@ -149,9 +149,6 @@ export default { // 向下加载空数据 this.setNextTasks(); await this.getInitTasks(); - setTimeout(() => { - this.$refs.child.setScrollPosition(); - }, 2000); }, // 切换了 颗粒度 || 角色时候 获取初始定期任务 @@ -242,6 +239,9 @@ export default { } const initData = this.setTime(sTime, true); this.setUpTasks(initData); + this.$nextTick(() => { + this.$refs.child.setScrollPosition(); + }); }, // 设置时间轴向下的空数据 From 30e352fa54d8ba172ba9780425ed1715e33a1ca3 Mon Sep 17 00:00:00 2001 From: song Date: Wed, 18 Aug 2021 15:19:42 +0800 Subject: [PATCH 5/8] =?UTF-8?q?fix:=20=E4=BF=AE=E6=94=B9=E5=AE=9A=E6=9C=9F?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E7=8A=B6=E6=80=810=E5=92=8C4=E6=97=B6?= =?UTF-8?q?=E4=B8=8D=E5=8A=A0=E8=BD=BD=E5=9C=86=E5=9C=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + .../TimeLine/component/TimeStatus.vue | 27 ++++++++++++++++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b930d9e..bdc413f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -121,6 +121,7 @@ - | 角色显示状态修改 | [7d3b906](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/7d3b906) - | 角色栏修改 | [19228d6](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/19228d6) - | 解决时间轴报错 | [da1eece](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/da1eece) + - | 设置时间轴自动滚动到当前位置 | [a3474f8](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/a3474f8) - | 跳转详情页返回路径修改 | [c5e17c0](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/c5e17c0) - | 骨架屏替换 | [e9fdd71](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/e9fdd71) diff --git a/src/components/TimeLine/component/TimeStatus.vue b/src/components/TimeLine/component/TimeStatus.vue index 7215474..b98fcef 100644 --- a/src/components/TimeLine/component/TimeStatus.vue +++ b/src/components/TimeLine/component/TimeStatus.vue @@ -5,13 +5,25 @@ :style="{ color: orderStyle.color }" @tap="changeStatus($event, task.process)" > + + + + + + + + + + + @@ -22,7 +34,7 @@ - + @@ -184,4 +196,17 @@ export default { height: 33px; width: 33px; } + +.progress-box { + background: rgba(255, 255, 255, 0); + width: 33px; + height: 33px; + border: 2px solid #9ca3af; +} + +.progress-box-4 { + width: 25px; + height: 25px; + border: 2px solid #60a5fa; +} From 551da63f697118f36277c3036ae6994c257dac69 Mon Sep 17 00:00:00 2001 From: song Date: Wed, 18 Aug 2021 15:44:13 +0800 Subject: [PATCH 6/8] =?UTF-8?q?fix:=20=E6=97=B6=E9=97=B4=E8=BD=B4=E6=BB=9A?= =?UTF-8?q?=E5=8A=A8=E4=BD=8D=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 + .../TimeLine/component/TimeStatus.vue | 1 - src/pages/project/project.vue | 18 +++++++++++++----- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bdc413f..a8ecc37 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -92,6 +92,7 @@ - | 下拉加载定期任务传参,时间格式化修改 | [0b95a0e](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/0b95a0e) - | 任务开始时间延迟插件 | [992a313](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/992a313) - | 修改main | [749ae9a](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/749ae9a) + - | 修改定期任务状态0和4时不加载圆圈 | [30e352f](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/30e352f) - | 修改小红点传参 | [87b20fd](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/87b20fd) - | 修改报错 | [531c14d](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/531c14d) - | 修改接口路径 | [df6acf2](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/df6acf2) diff --git a/src/components/TimeLine/component/TimeStatus.vue b/src/components/TimeLine/component/TimeStatus.vue index b98fcef..4042b07 100644 --- a/src/components/TimeLine/component/TimeStatus.vue +++ b/src/components/TimeLine/component/TimeStatus.vue @@ -118,7 +118,6 @@ export default { * @param {object} event */ changeStatus(event, process) { - console.log('event, process: ', event, process); if (process === 4) { this.addTask(); return; diff --git a/src/pages/project/project.vue b/src/pages/project/project.vue index bd7e511..0663aec 100644 --- a/src/pages/project/project.vue +++ b/src/pages/project/project.vue @@ -44,7 +44,6 @@ export default { * 永久日常任务不发生改变 */ async timeNode(val) { - console.log('时间基准点发生变化: ', val); if (val && this.roleId) { // 根据时间和角色查找日常任务 await this.initTasks(); @@ -59,7 +58,6 @@ export default { */ roleId(val) { if (val) { - console.log('角色发生变化: ', val); this.setTimeNode(Date.now()); // 根据角色查找永久的日常任务 this.getPermanent(val); @@ -146,9 +144,22 @@ export default { this.getGlobalData(); // 向上加载空数据 this.setPrevTasks(); + // storage没有存储值就跳转到当前时间位置 + const storageTaskId = this.$t.storage.getStorageSync('taskId'); + this.$nextTick(() => { + if (!storageTaskId) { + this.$refs.child.setScrollPosition(); + } + }); // 向下加载空数据 this.setNextTasks(); await this.getInitTasks(); + // 从详情页返回时跳转到之前的位置 storage有存储值 + this.$nextTick(() => { + if (storageTaskId) { + this.$refs.child.setScrollPosition(); + } + }); }, // 切换了 颗粒度 || 角色时候 获取初始定期任务 @@ -239,9 +250,6 @@ export default { } const initData = this.setTime(sTime, true); this.setUpTasks(initData); - this.$nextTick(() => { - this.$refs.child.setScrollPosition(); - }); }, // 设置时间轴向下的空数据 From 2ac40531b1a6985febb315e8f5a609b5ceaf889c Mon Sep 17 00:00:00 2001 From: song Date: Wed, 18 Aug 2021 16:43:59 +0800 Subject: [PATCH 7/8] =?UTF-8?q?fix:=20=E5=88=9D=E5=A7=8B=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E8=A7=92=E8=89=B2=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/Plugin/Plugin.vue | 4 ++-- src/components/Roles/Roles.vue | 1 + src/pages/project/project.vue | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a8ecc37..fd6b0d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -117,6 +117,7 @@ - | 时间轴上下滚动数据加载bug修改 | [e82ede4](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/e82ede4) - | 时间轴插件 | [225d3cc](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/225d3cc) - | 时间轴无任务时时间刻度加载修改 | [4921672](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/4921672) + - | 时间轴滚动位置修改 | [551da63](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/551da63) - | 时间轴骨架屏修改 | [ca78d02](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/ca78d02) - | 监听时间基本点 | [033fca0](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/033fca0) - | 角色显示状态修改 | [7d3b906](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/7d3b906) diff --git a/src/components/Plugin/Plugin.vue b/src/components/Plugin/Plugin.vue index 88a6b41..20d7127 100644 --- a/src/components/Plugin/Plugin.vue +++ b/src/components/Plugin/Plugin.vue @@ -27,8 +27,8 @@ - - + + diff --git a/src/components/Roles/Roles.vue b/src/components/Roles/Roles.vue index 798ef98..6bf350f 100644 --- a/src/components/Roles/Roles.vue +++ b/src/components/Roles/Roles.vue @@ -62,6 +62,7 @@ export default { // 设置滚动位置 setCurrentRole(index) { + console.log('index: ', index); const data = document.getElementsByClassName('tab-children'); // 获取当前所有子元素 并插入到 tabList 列表中 data.forEach(item => { diff --git a/src/pages/project/project.vue b/src/pages/project/project.vue index 0663aec..9ea4c29 100644 --- a/src/pages/project/project.vue +++ b/src/pages/project/project.vue @@ -189,7 +189,7 @@ export default { // 设置 初始显示角色信息 setInitialRoleId(visibleList) { - const index = visibleList.findIndex(item => item.mine === '1'); + const index = visibleList.findIndex(item => +item.mine === 1); const currentRole = index > 0 ? visibleList[index] : visibleList[0]; const storageRoleId = this.$t.storage.getStorageSync('roleId'); const currentRoleId = storageRoleId ? storageRoleId : currentRole ? currentRole.id : ''; From 7bda7e2c2dc1eab763d57a8261e60bd02d61a06b Mon Sep 17 00:00:00 2001 From: song Date: Wed, 18 Aug 2021 18:07:51 +0800 Subject: [PATCH 8/8] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E5=AD=90?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=8F=92=E4=BB=B6=20=E5=AD=90=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E6=8F=92=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 1 + src/apis/plugin.js | 4 ++ src/plugins/p-subproject/p-subproject.vue | 50 ++++++++++++++++++++--- src/plugins/p-subtasks/p-subtasks.vue | 32 ++++++++++++--- 4 files changed, 76 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fd6b0d7..38b457d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -99,6 +99,7 @@ - | 修改角色栏组件 | [a54c601](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/a54c601) - | 切换到默认项目角色没有激活状态的bug | [438d448](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/438d448) - | 切换日历时查询小红点 | [7091789](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/7091789) + - | 初始展示角色修改 | [2ac4053](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/2ac4053) - | 定期任务key值修改 | [c6688db](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/c6688db) - | 定期任务接口 | [aa4981c](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/aa4981c) - | 定期任务插件 | [92b3254](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/92b3254) diff --git a/src/apis/plugin.js b/src/apis/plugin.js index e8ea541..0899cca 100644 --- a/src/apis/plugin.js +++ b/src/apis/plugin.js @@ -5,6 +5,10 @@ const install = (Vue, vm) => { vm.$u.api = { ...vm.$u.api } || {}; // 获取插件信息 vm.$u.api.getOtherPlugin = param => vm.$u.post(`${url}/pluginshop/plugin/query`, param); + // 查询子任务 + vm.$u.api.findSonTask = param => vm.$u.post(`${uni.$t.domain}/task/findSonTask`, param); + // 查询子项目 + vm.$u.api.findSonProject = param => vm.$u.post(`${uni.$t.domain}/project/findSonProject`, param); }; export default { install }; diff --git a/src/plugins/p-subproject/p-subproject.vue b/src/plugins/p-subproject/p-subproject.vue index 67c08b0..602ccd8 100644 --- a/src/plugins/p-subproject/p-subproject.vue +++ b/src/plugins/p-subproject/p-subproject.vue @@ -1,18 +1,58 @@ diff --git a/src/plugins/p-subtasks/p-subtasks.vue b/src/plugins/p-subtasks/p-subtasks.vue index 0f652cb..8e55858 100644 --- a/src/plugins/p-subtasks/p-subtasks.vue +++ b/src/plugins/p-subtasks/p-subtasks.vue @@ -1,18 +1,38 @@