From a9c37cc5a6521b3b23209f4e3588dc7b422ebc41 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Tue, 28 Jun 2022 14:49:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8D=8F=E5=8A=A9=E4=BB=BB?= =?UTF-8?q?=E5=8A=A1=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../assets/js/pages/manage/dashboard.vue | 25 ++---------------- resources/assets/js/store/actions.js | 2 ++ resources/assets/js/store/getters.js | 26 +++++++++++++++++++ 3 files changed, 30 insertions(+), 23 deletions(-) diff --git a/resources/assets/js/pages/manage/dashboard.vue b/resources/assets/js/pages/manage/dashboard.vue index 9b93c61e2..422baf305 100644 --- a/resources/assets/js/pages/manage/dashboard.vue +++ b/resources/assets/js/pages/manage/dashboard.vue @@ -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; diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js index d526f8847..dbd529db2 100644 --- a/resources/assets/js/store/actions.js +++ b/resources/assets/js/store/actions.js @@ -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)) }) }, diff --git a/resources/assets/js/store/getters.js b/resources/assets/js/store/getters.js index 7dbe4a3df..6a6883f53 100644 --- a/resources/assets/js/store/getters.js +++ b/resources/assets/js/store/getters.js @@ -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 + } }