From 9aac2c1549edac37a887a50b57e38ef247a455ad Mon Sep 17 00:00:00 2001 From: kuaifan Date: Fri, 9 Dec 2022 09:28:38 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E4=BC=98=E5=8C=96=E5=88=A0=E9=99=A4?= =?UTF-8?q?=E6=88=96=E5=BD=92=E6=A1=A3=E9=A1=B9=E7=9B=AE=E5=90=8E=E6=95=B0?= =?UTF-8?q?=E9=87=8F=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/assets/js/store/actions.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js index a5a141068..6ae2cd057 100644 --- a/resources/assets/js/store/actions.js +++ b/resources/assets/js/store/actions.js @@ -677,6 +677,7 @@ export default { data.project_user = [] } state.cacheProjects.push(data); + state.projectTotal++ } // state.cacheDialogs.some(dialog => { @@ -710,10 +711,16 @@ export default { const index = state.cacheProjects.findIndex(project => project.id == id); if (index > -1) { state.cacheProjects.splice(index, 1); + state.projectTotal = Math.max(0, state.projectTotal - 1) } }) if (ids.includes(state.projectId)) { - const project = state.cacheProjects.find(({id}) => id && id != project_id); + const project = $A.cloneJSON(state.cacheProjects).sort((a, b) => { + if (a.top_at || b.top_at) { + return $A.Date(b.top_at) - $A.Date(a.top_at); + } + return b.id - a.id; + }).find(({id}) => id && id != project_id); if (project) { $A.goForward({name: 'manage-project', params: {projectId: project.id}}); } else {