perf: 优化数据删除

This commit is contained in:
kuaifan 2023-03-11 11:57:43 +08:00
parent efc023c44d
commit e44123476f
3 changed files with 16 additions and 7 deletions

1
.gitignore vendored
View File

@ -5,6 +5,7 @@
/public/.well-known /public/.well-known
/public/.user.ini /public/.user.ini
/storage/*.key /storage/*.key
/config/LICENSE
/vendor /vendor
/build /build
/tmp /tmp

View File

@ -15,7 +15,7 @@ class TimeRange
public function __construct($data) public function __construct($data)
{ {
if (is_array($data)) { if (is_array($data)) {
$range = Base::explodeInt($data['timerange']); $range = explode("," , $data['timerange']);
if ($data['updated_at'] || $data['at_after']) { if ($data['updated_at'] || $data['at_after']) {
$range[0] = $data['updated_at'] ?: $data['at_after']; $range[0] = $data['updated_at'] ?: $data['at_after'];
} }
@ -23,11 +23,14 @@ class TimeRange
$range[1] = $data['deleted_at']; $range[1] = $data['deleted_at'];
} }
} else { } else {
$range = Base::explodeInt($data); $range = explode("," , $data);
} }
// //
$this->updated = $range[0] ? Carbon::parse($range[0]) : null; $updated = Base::isNumber($range[0]) ? intval($range[0]) : trim($range[0]);
$this->deleted = $range[1] ? Carbon::parse($range[1]) : null; $deleted = Base::isNumber($range[1]) ? intval($range[1]) : trim($range[1]);
//
$this->updated = $updated ? Carbon::parse($updated) : null;
$this->deleted = $deleted ? Carbon::parse($deleted) : null;
} }
/** /**

View File

@ -820,15 +820,18 @@ export default {
/** /**
* 忘记项目数据 * 忘记项目数据
* @param state * @param state
* @param dispatch
* @param project_id * @param project_id
*/ */
forgetProject({state}, project_id) { forgetProject({state, dispatch}, project_id) {
$A.execMainDispatch("forgetProject", project_id) $A.execMainDispatch("forgetProject", project_id)
// //
const ids = $A.isArray(project_id) ? project_id : [project_id]; const ids = $A.isArray(project_id) ? project_id : [project_id];
ids.some(id => { ids.some(id => {
const index = state.cacheProjects.findIndex(project => project.id == id); const index = state.cacheProjects.findIndex(project => project.id == id);
if (index > -1) { if (index > -1) {
dispatch("forgetTask", state.cacheTasks.filter(item => item.project_id == project_id).map(item => item.id))
dispatch("forgetColumn", state.cacheColumns.filter(item => item.project_id == project_id).map(item => item.id))
state.cacheProjects.splice(index, 1); state.cacheProjects.splice(index, 1);
state.projectTotal = Math.max(0, state.projectTotal - 1) state.projectTotal = Math.max(0, state.projectTotal - 1)
} }
@ -1046,8 +1049,8 @@ export default {
ids.some(id => { ids.some(id => {
const index = state.cacheColumns.findIndex(column => column.id == id); const index = state.cacheColumns.findIndex(column => column.id == id);
if (index > -1) { if (index > -1) {
dispatch("forgetTask", state.cacheTasks.filter(item => item.column_id == column_id).map(item => item.id))
project_ids.push(state.cacheColumns[index].project_id) project_ids.push(state.cacheColumns[index].project_id)
dispatch('getProjectOne', state.cacheColumns[index].project_id).catch(() => {})
state.cacheColumns.splice(index, 1); state.cacheColumns.splice(index, 1);
} }
}) })
@ -2245,15 +2248,17 @@ export default {
/** /**
* 忘记对话数据 * 忘记对话数据
* @param state * @param state
* @param dispatch
* @param dialog_id * @param dialog_id
*/ */
forgetDialog({state}, dialog_id) { forgetDialog({state, dispatch}, dialog_id) {
$A.execMainDispatch("forgetDialog", dialog_id) $A.execMainDispatch("forgetDialog", dialog_id)
// //
const ids = $A.isArray(dialog_id) ? dialog_id : [dialog_id]; const ids = $A.isArray(dialog_id) ? dialog_id : [dialog_id];
ids.some(id => { ids.some(id => {
const index = state.cacheDialogs.findIndex(dialog => dialog.id == id); const index = state.cacheDialogs.findIndex(dialog => dialog.id == id);
if (index > -1) { if (index > -1) {
dispatch("forgetDialogMsg", state.dialogMsgs.filter(item => item.dialog_id == dialog_id).map(item => item.id))
state.cacheDialogs.splice(index, 1); state.cacheDialogs.splice(index, 1);
} }
}) })