Browse Source

perf: 1.时间轴筛选相同的时间替换数据 2.整理代码

pull/44/head
song 4 years ago
parent
commit
e082ccb76f
  1. 1
      CHANGELOG.md
  2. 1
      src/components/Roles/Roles.vue
  3. 21
      src/components/TimeLine/TimeLine.vue
  4. 7
      src/components/TimeLine/component/TimeBox.vue
  5. 14
      src/pages/project/project.vue
  6. 3
      src/plugins/p-wbs-import/p-wbs-import.vue
  7. 9
      src/store/task/mutations.js
  8. 1
      src/store/task/state.js

1
CHANGELOG.md

@ -161,6 +161,7 @@
### 🚀 性能优化 ### 🚀 性能优化
范围|描述|commitId 范围|描述|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) - | 修改定期任务骨架屏高度 | [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) - | 插件查询及展示 | [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) - | 整理代码 | [7a55315](https://dd.tall.wiki/gitea/ccsens_fe/TALL-MUI-3/commits/7a55315)

1
src/components/Roles/Roles.vue

@ -85,7 +85,6 @@ export default {
// projectroleId // projectroleId
changeRole(id, index) { changeRole(id, index) {
try { try {
console.log('切换角色');
// script // script
this.clearPluginScript(); this.clearPluginScript();
this.$nextTick(() => { this.$nextTick(() => {

21
src/components/TimeLine/TimeLine.vue

@ -31,20 +31,17 @@ export default {
mixins: [mixin], mixins: [mixin],
data() { data() {
return { return { top: 0 };
top: 0,
viewId: '', //
};
}, },
computed: { computed: {
...mapState('role', ['visibleRoles']), ...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']), ...mapGetters('task', ['timeGranularity']),
}, },
methods: { methods: {
...mapMutations('task', ['setScrollTop', 'setShrink', 'setUpTasks', 'setDownTasks']), ...mapMutations('task', ['setScrollTop', 'setShrink', 'setUpTasks', 'setDownTasks', 'setViewId']),
// //
scroll(e) { scroll(e) {
@ -98,17 +95,21 @@ export default {
}, },
// //
setViewId() { setScrollPosition() {
const { tasks, timeNode } = this; const { tasks, timeNode } = this;
for (let i = 0; i < tasks.length; i++) { for (let i = 0; i < tasks.length; i++) {
const item = tasks[i]; const item = tasks[i];
const show = this.$t.time.isSame(+item.planStart, +timeNode, this.timeGranularity); const show = this.$t.time.isSame(+item.planStart, +timeNode, this.timeGranularity);
if (item.detailId) { // storagetimeNode,storetimeNode
this.viewId = `a${item.id}`; const taskId = this.$t.storage.getStorageSync('taskId');
// storage
if (taskId) {
this.setViewId(`a${taskId}`);
this.$t.storage.setStorageSync('taskId', '');
return; return;
} }
if (show) { if (show) {
this.viewId = `a${item.id}`; this.setViewId(`a${item.id}`);
return; return;
} }
} }

7
src/components/TimeLine/component/TimeBox.vue

@ -38,7 +38,7 @@
class="h-16" class="h-16"
margin="0" margin="0"
v-if="tasks && tasks.length && task.process !== 4 && !showSkeleton" v-if="tasks && tasks.length && task.process !== 4 && !showSkeleton"
@click="onClickTask(+task.planStart)" @click="onClickTask(+task.planStart, task.id)"
> >
<!-- 任务面板插件 --> <!-- 任务面板插件 -->
<view slot="body"> <view slot="body">
@ -105,11 +105,12 @@ export default {
/** /**
* 点击了定期任务的面板 更新可变的日常任务 * 点击了定期任务的面板 更新可变的日常任务
* @param {number} planStart 任务计划开始时间 * @param {number} planStart 任务计划开始时间
* @param {string} taskId 任务id
*/ */
onClickTask(planStart) { onClickTask(planStart, taskId) {
const param = { roleId: this.roleId, timeNode: planStart, timeUnit: this.timeUnit }; const param = { roleId: this.roleId, timeNode: planStart, timeUnit: this.timeUnit };
this.getGlobal(param); this.getGlobal(param);
this.$t.storage.setStorageSync('timeNode', planStart); this.$t.storage.setStorageSync('taskId', taskId);
this.$t.storage.setStorageSync('roleId', this.roleId); this.$t.storage.setStorageSync('roleId', this.roleId);
}, },

14
src/pages/project/project.vue

@ -44,6 +44,7 @@ export default {
* 永久日常任务不发生改变 * 永久日常任务不发生改变
*/ */
async timeNode(val) { async timeNode(val) {
console.log('时间基准点发生变化: ', val);
if (val && this.roleId) { if (val && this.roleId) {
// //
await this.initTasks(); await this.initTasks();
@ -59,10 +60,7 @@ export default {
roleId(val) { roleId(val) {
if (val) { if (val) {
console.log('角色发生变化: ', val); console.log('角色发生变化: ', val);
// storagetimeNode,storetimeNode this.setTimeNode(Date.now());
this.setTimeNode(+this.$t.storage.getStorageSync('timeNode') !== 0 ? +this.$t.storage.getStorageSync('timeNode') : Date.now());
// storage
this.$t.storage.setStorageSync('timeNode', '');
// //
this.getPermanent(val); this.getPermanent(val);
} }
@ -152,7 +150,7 @@ export default {
this.setNextTasks(); this.setNextTasks();
await this.getInitTasks(); await this.getInitTasks();
setTimeout(() => { setTimeout(() => {
this.$refs.child.setViewId(); this.$refs.child.setScrollPosition();
}, 2000); }, 2000);
}, },
@ -268,17 +266,19 @@ export default {
for (let j = 0; j < data.length; j++) { for (let j = 0; j < data.length; j++) {
const item = data[j]; const item = data[j];
// //
if (+data[0].planStart < +newTasks[0].planStart) { if (+newTasks[0].planStart > +data[0].planStart) {
this.setPrevTasks(); this.setPrevTasks();
newTasks = [...this.tasks]; newTasks = [...this.tasks];
i--;
break; break;
} else if (+data[data.length - 1].planStart > +newTasks[newTasks.length - 1].planStart) { } else if (+data[data.length - 1].planStart > +newTasks[newTasks.length - 1].planStart) {
this.setNextTasks(); this.setNextTasks();
newTasks = [...this.tasks]; newTasks = [...this.tasks];
i--;
break; break;
} else { } 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) { if (taskItem) {
arr.push(item); arr.push(item);
if (task.detailId) { if (task.detailId) {

3
src/plugins/p-wbs-import/p-wbs-import.vue

@ -54,8 +54,7 @@ export default {
// TODO: // TODO:
async handleUpdate() { async handleUpdate() {
try { try {
const data = await this.$u.api.import({ projectId: this.projectId }); await this.$u.api.import({ projectId: this.projectId });
console.log('data: ', data);
// WBS // WBS
// //
this.onUploadSuccess(); this.onUploadSuccess();

9
src/store/task/mutations.js

@ -8,6 +8,15 @@ const mutations = {
state.scrollTop = num; state.scrollTop = num;
}, },
/**
* 记录时间轴向上滚动的距离
* @param { object } state
* @param { string } data
*/
setViewId(state, data) {
state.viewId = data;
},
/** /**
* 设置日常任务当前是否应该处于收缩状态 * 设置日常任务当前是否应该处于收缩状态
* @param { object } state * @param { object } state

1
src/store/task/state.js

@ -1,5 +1,6 @@
const state = { const state = {
scrollTop: 0, scrollTop: 0,
viewId: '', // 时间轴自动滚动的位置
isShrink: false, // true: 收起, false:展开 isShrink: false, // true: 收起, false:展开
tip: { tip: {
taskId: '', // 当前正在修改状态的任务的id taskId: '', // 当前正在修改状态的任务的id

Loading…
Cancel
Save