mirror of
https://github.com/kuaifan/dootask.git
synced 2026-02-21 16:00:31 +00:00
perf: 优化同时加载同个任务
This commit is contained in:
parent
7826cc8f68
commit
4024aca002
@ -105,13 +105,11 @@ export default {
|
|||||||
task_id: this.taskId,
|
task_id: this.taskId,
|
||||||
archived: 'all'
|
archived: 'all'
|
||||||
}).then(() => {
|
}).then(() => {
|
||||||
this.loadIng--;
|
|
||||||
this.$store.dispatch("getTaskContent", this.taskId);
|
this.$store.dispatch("getTaskContent", this.taskId);
|
||||||
this.$store.dispatch("getTaskFiles", this.taskId);
|
this.$store.dispatch("getTaskFiles", this.taskId);
|
||||||
this.$store.dispatch("getTaskForParent", this.taskId).catch(() => {})
|
this.$store.dispatch("getTaskForParent", this.taskId).catch(() => {})
|
||||||
this.$store.dispatch("getTaskPriority").catch(() => {})
|
this.$store.dispatch("getTaskPriority").catch(() => {})
|
||||||
}).catch(({msg}) => {
|
}).catch(({msg}) => {
|
||||||
this.loadIng--;
|
|
||||||
$A.modalError({
|
$A.modalError({
|
||||||
content: msg,
|
content: msg,
|
||||||
onOk: () => {
|
onOk: () => {
|
||||||
@ -120,6 +118,8 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}).finally(_ => {
|
||||||
|
this.loadIng--;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
shortcutEvent(e) {
|
shortcutEvent(e) {
|
||||||
|
|||||||
20
resources/assets/js/store/actions.js
vendored
20
resources/assets/js/store/actions.js
vendored
@ -48,6 +48,7 @@ export default {
|
|||||||
const {ret, data, msg} = result;
|
const {ret, data, msg} = result;
|
||||||
if (ret === -1 && params.checkRole !== false) {
|
if (ret === -1 && params.checkRole !== false) {
|
||||||
//身份丢失
|
//身份丢失
|
||||||
|
state.userId = 0;
|
||||||
$A.modalError({
|
$A.modalError({
|
||||||
content: msg,
|
content: msg,
|
||||||
onOk: () => {
|
onOk: () => {
|
||||||
@ -494,6 +495,8 @@ export default {
|
|||||||
try {
|
try {
|
||||||
const cacheLoginEmail = $A.getStorageString("cacheLoginEmail");
|
const cacheLoginEmail = $A.getStorageString("cacheLoginEmail");
|
||||||
const cacheFileSort = $A.getStorageJson("cacheFileSort");
|
const cacheFileSort = $A.getStorageJson("cacheFileSort");
|
||||||
|
const languageType = window.localStorage['__language:type__'];
|
||||||
|
const themeMode = window.localStorage['__theme:mode__'];
|
||||||
//
|
//
|
||||||
window.localStorage.clear();
|
window.localStorage.clear();
|
||||||
//
|
//
|
||||||
@ -503,6 +506,8 @@ export default {
|
|||||||
state.cacheColumns = [];
|
state.cacheColumns = [];
|
||||||
state.cacheTasks = [];
|
state.cacheTasks = [];
|
||||||
//
|
//
|
||||||
|
window.localStorage['__language:type__'] = languageType;
|
||||||
|
window.localStorage['__theme:mode__'] = themeMode;
|
||||||
$A.setStorage("cacheProjectParameter", state.cacheProjectParameter);
|
$A.setStorage("cacheProjectParameter", state.cacheProjectParameter);
|
||||||
$A.setStorage("cacheServerUrl", state.cacheServerUrl);
|
$A.setStorage("cacheServerUrl", state.cacheServerUrl);
|
||||||
$A.setStorage("cacheLoginEmail", cacheLoginEmail);
|
$A.setStorage("cacheLoginEmail", cacheLoginEmail);
|
||||||
@ -1192,15 +1197,30 @@ export default {
|
|||||||
reject({msg: 'Parameter error'});
|
reject({msg: 'Parameter error'});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
//
|
||||||
|
if ($A.isArray(state.taskOneLoad[data.task_id])) {
|
||||||
|
state.taskOneLoad[data.task_id].push({resolve, reject})
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
state.taskOneLoad[data.task_id] = []
|
||||||
|
//
|
||||||
dispatch("call", {
|
dispatch("call", {
|
||||||
url: 'project/task/one',
|
url: 'project/task/one',
|
||||||
data,
|
data,
|
||||||
}).then(result => {
|
}).then(result => {
|
||||||
dispatch("saveTask", result.data);
|
dispatch("saveTask", result.data);
|
||||||
resolve(result)
|
resolve(result)
|
||||||
|
state.taskOneLoad[data.task_id].some(item => {
|
||||||
|
item.resolve(result)
|
||||||
|
})
|
||||||
}).catch(e => {
|
}).catch(e => {
|
||||||
console.warn(e);
|
console.warn(e);
|
||||||
reject(e)
|
reject(e)
|
||||||
|
state.taskOneLoad[data.task_id].some(item => {
|
||||||
|
item.reject(e)
|
||||||
|
})
|
||||||
|
}).finally(_ => {
|
||||||
|
delete state.taskOneLoad[data.task_id]
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|||||||
1
resources/assets/js/store/state.js
vendored
1
resources/assets/js/store/state.js
vendored
@ -87,6 +87,7 @@ const stateData = {
|
|||||||
|
|
||||||
// 任务等待状态
|
// 任务等待状态
|
||||||
taskLoading: [],
|
taskLoading: [],
|
||||||
|
taskOneLoad: {},
|
||||||
|
|
||||||
// 任务流程信息
|
// 任务流程信息
|
||||||
taskFlows: [],
|
taskFlows: [],
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user