mirror of
https://github.com/kuaifan/dootask.git
synced 2026-03-17 11:13:26 +00:00
优化协助任务列表
This commit is contained in:
parent
d1f22ead93
commit
a9c37cc5a6
@ -120,7 +120,7 @@ export default {
|
|||||||
computed: {
|
computed: {
|
||||||
...mapState(['userInfo', 'cacheTasks', 'taskCompleteTemps', 'loadDashboardTasks']),
|
...mapState(['userInfo', 'cacheTasks', 'taskCompleteTemps', 'loadDashboardTasks']),
|
||||||
|
|
||||||
...mapGetters(['dashboardTask', 'transforTasks']),
|
...mapGetters(['dashboardTask', 'assistTask', 'transforTasks']),
|
||||||
|
|
||||||
columns() {
|
columns() {
|
||||||
const list = [];
|
const list = [];
|
||||||
@ -137,34 +137,13 @@ export default {
|
|||||||
list.push({
|
list.push({
|
||||||
type: 'assist',
|
type: 'assist',
|
||||||
title: this.getTitle('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 $A.Date(a.end_at || "2099-12-31 23:59:59") - $A.Date(b.end_at || "2099-12-31 23:59:59");
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
return list;
|
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() {
|
total() {
|
||||||
const {dashboardTask} = this;
|
const {dashboardTask} = this;
|
||||||
return dashboardTask.today_count + dashboardTask.overdue_count + dashboardTask.all_count;
|
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)
|
const currentIds = today.map(({id}) => id)
|
||||||
currentIds.push(...overdue.map(({id}) => id))
|
currentIds.push(...overdue.map(({id}) => id))
|
||||||
currentIds.push(...all.map(({id}) => id))
|
currentIds.push(...all.map(({id}) => id))
|
||||||
|
currentIds.push(...getters.assistTask.map(({id}) => id))
|
||||||
//
|
//
|
||||||
dispatch("getTasks", {
|
dispatch("getTasks", {
|
||||||
complete: "no",
|
complete: "no",
|
||||||
@ -1298,6 +1299,7 @@ export default {
|
|||||||
const newIds = today.filter(task => task._time >= time).map(({id}) => id)
|
const newIds = today.filter(task => task._time >= time).map(({id}) => id)
|
||||||
newIds.push(...overdue.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(...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))
|
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
|
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