diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js index c24033834..792cba0ca 100644 --- a/resources/assets/js/store/actions.js +++ b/resources/assets/js/store/actions.js @@ -823,18 +823,19 @@ export default { * 获取项目 * @param state * @param dispatch - * @param data + * @param getters + * @param callData * @returns {Promise} */ - getProjects({state, dispatch}, data) { + getProjects({state, dispatch, getters}, callData) { return new Promise(function (resolve, reject) { if (state.userId === 0) { state.cacheProjects = []; reject({msg: 'Parameter error'}); return; } - const request = $A.isJson(data) ? data : { - deleted_at: state.projectDeletedAt || $A.formatDate("Y-m-d H:i:s", $A.Time() - 86400 * 30) + const request = $A.isJson(callData) ? callData : { + deleted_at: state.projectDeletedAt || getters.getProjectLastAt }; let showLoad = true; if (typeof request.hideLoad !== "undefined") { @@ -2099,10 +2100,11 @@ export default { * 获取会话列表 * @param state * @param dispatch + * @param getters * @param data * @returns {Promise} */ - getDialogs({state, dispatch}, data) { + getDialogs({state, dispatch, getters}, data) { return new Promise(function (resolve, reject) { if (state.userId === 0) { state.cacheDialogs = []; @@ -2110,7 +2112,7 @@ export default { return; } data = $A.isJson(data) ? data : { - deleted_at: state.dialogDeletedAt || $A.formatDate("Y-m-d H:i:s", $A.Time() - 86400 * 30) + deleted_at: state.dialogDeletedAt || getters.getDialogLastAt } if (data.hideLoad !== true) { state.loadDialogs++; @@ -2122,9 +2124,6 @@ export default { data.page = 1 if (state.cacheDialogs.length > 0) { const tmpList = state.cacheDialogs.sort((a, b) => { - if (a.top_at || b.top_at) { - return $A.Date(b.top_at) - $A.Date(a.top_at); - } return $A.Date(b.last_at) - $A.Date(a.last_at); }) data.at_after = tmpList[0].last_at; diff --git a/resources/assets/js/store/getters.js b/resources/assets/js/store/getters.js index 6a6883f53..8906e91ff 100644 --- a/resources/assets/js/store/getters.js +++ b/resources/assets/js/store/getters.js @@ -185,5 +185,35 @@ export default { } } return array - } + }, + + /** + * 获取项目最后更新时间 + * @param state + * @returns {*} + */ + getProjectLastAt(state) { + if (state.cacheProjects.length > 0) { + const tmpList = state.cacheProjects.sort((a, b) => { + return $A.Date(b.updated_at) - $A.Date(a.updated_at); + }) + return tmpList[0].updated_at; + } + return $A.formatDate("Y-m-d H:i:s", $A.Time() - 86400 * 30) + }, + + /** + * 获取会话最后更新时间 + * @param state + * @returns {*} + */ + getDialogLastAt(state) { + if (state.cacheDialogs.length > 0) { + const tmpList = state.cacheDialogs.sort((a, b) => { + return $A.Date(b.last_at) - $A.Date(a.last_at); + }) + return tmpList[0].last_at; + } + return $A.formatDate("Y-m-d H:i:s", $A.Time() - 86400 * 30) + }, }