mirror of
https://github.com/kuaifan/dootask.git
synced 2026-02-28 04:40:37 +00:00
优化协助任务列表
This commit is contained in:
parent
d1f22ead93
commit
a9c37cc5a6
@ -120,7 +120,7 @@ export default {
|
||||
computed: {
|
||||
...mapState(['userInfo', 'cacheTasks', 'taskCompleteTemps', 'loadDashboardTasks']),
|
||||
|
||||
...mapGetters(['dashboardTask', 'transforTasks']),
|
||||
...mapGetters(['dashboardTask', 'assistTask', 'transforTasks']),
|
||||
|
||||
columns() {
|
||||
const list = [];
|
||||
@ -137,34 +137,13 @@ export default {
|
||||
list.push({
|
||||
type: 'assist',
|
||||
title: this.getTitle('assist'),
|
||||
list: this.assistList.sort((a, b) => {
|
||||
list: this.assistTask.sort((a, b) => {
|
||||
return $A.Date(a.end_at || "2099-12-31 23:59:59") - $A.Date(b.end_at || "2099-12-31 23:59:59");
|
||||
})
|
||||
})
|
||||
return list;
|
||||
},
|
||||
|
||||
assistList() {
|
||||
const filterTask = (task, chackCompleted = true) => {
|
||||
if (task.archived_at) {
|
||||
return false;
|
||||
}
|
||||
if (task.complete_at && chackCompleted === true) {
|
||||
return false;
|
||||
}
|
||||
return task.assist && !task.owner;
|
||||
}
|
||||
let array = this.cacheTasks.filter(task => filterTask(task));
|
||||
if (this.taskCompleteTemps.length > 0) {
|
||||
let tmps = this.cacheTasks.filter(task => this.taskCompleteTemps.includes(task.id) && filterTask(task, false));
|
||||
if (tmps.length > 0) {
|
||||
array = $A.cloneJSON(array)
|
||||
array.push(...tmps);
|
||||
}
|
||||
}
|
||||
return array
|
||||
},
|
||||
|
||||
total() {
|
||||
const {dashboardTask} = this;
|
||||
return dashboardTask.today_count + dashboardTask.overdue_count + dashboardTask.all_count;
|
||||
|
||||
2
resources/assets/js/store/actions.js
vendored
2
resources/assets/js/store/actions.js
vendored
@ -1288,6 +1288,7 @@ export default {
|
||||
const currentIds = today.map(({id}) => id)
|
||||
currentIds.push(...overdue.map(({id}) => id))
|
||||
currentIds.push(...all.map(({id}) => id))
|
||||
currentIds.push(...getters.assistTask.map(({id}) => id))
|
||||
//
|
||||
dispatch("getTasks", {
|
||||
complete: "no",
|
||||
@ -1298,6 +1299,7 @@ export default {
|
||||
const newIds = today.filter(task => task._time >= time).map(({id}) => id)
|
||||
newIds.push(...overdue.filter(task => task._time >= time).map(({id}) => id))
|
||||
newIds.push(...all.filter(task => task._time >= time).map(({id}) => id))
|
||||
newIds.push(...getters.assistTask.filter(task => task._time >= time).map(({id}) => id))
|
||||
dispatch("forgetTask", currentIds.filter(v => newIds.indexOf(v) == -1))
|
||||
})
|
||||
},
|
||||
|
||||
26
resources/assets/js/store/getters.js
vendored
26
resources/assets/js/store/getters.js
vendored
@ -160,4 +160,30 @@ export default {
|
||||
}
|
||||
return result
|
||||
},
|
||||
|
||||
/**
|
||||
* 协助任务
|
||||
* @param state
|
||||
* @returns {*}
|
||||
*/
|
||||
assistTask(state) {
|
||||
const filterTask = (task, chackCompleted = true) => {
|
||||
if (task.archived_at) {
|
||||
return false;
|
||||
}
|
||||
if (task.complete_at && chackCompleted === true) {
|
||||
return false;
|
||||
}
|
||||
return task.assist && !task.owner;
|
||||
}
|
||||
let array = state.cacheTasks.filter(task => filterTask(task));
|
||||
if (state.taskCompleteTemps.length > 0) {
|
||||
let tmps = state.cacheTasks.filter(task => state.taskCompleteTemps.includes(task.id) && filterTask(task, false));
|
||||
if (tmps.length > 0) {
|
||||
array = $A.cloneJSON(array)
|
||||
array.push(...tmps);
|
||||
}
|
||||
}
|
||||
return array
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user