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/.user.ini
/storage/*.key
/config/LICENSE
/vendor
/build
/tmp

View File

@ -15,7 +15,7 @@ class TimeRange
public function __construct($data)
{
if (is_array($data)) {
$range = Base::explodeInt($data['timerange']);
$range = explode("," , $data['timerange']);
if ($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'];
}
} else {
$range = Base::explodeInt($data);
$range = explode("," , $data);
}
//
$this->updated = $range[0] ? Carbon::parse($range[0]) : null;
$this->deleted = $range[1] ? Carbon::parse($range[1]) : null;
$updated = Base::isNumber($range[0]) ? intval($range[0]) : trim($range[0]);
$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 dispatch
* @param project_id
*/
forgetProject({state}, project_id) {
forgetProject({state, dispatch}, project_id) {
$A.execMainDispatch("forgetProject", project_id)
//
const ids = $A.isArray(project_id) ? project_id : [project_id];
ids.some(id => {
const index = state.cacheProjects.findIndex(project => project.id == id);
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.projectTotal = Math.max(0, state.projectTotal - 1)
}
@ -1046,8 +1049,8 @@ export default {
ids.some(id => {
const index = state.cacheColumns.findIndex(column => column.id == id);
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)
dispatch('getProjectOne', state.cacheColumns[index].project_id).catch(() => {})
state.cacheColumns.splice(index, 1);
}
})
@ -2245,15 +2248,17 @@ export default {
/**
* 忘记对话数据
* @param state
* @param dispatch
* @param dialog_id
*/
forgetDialog({state}, dialog_id) {
forgetDialog({state, dispatch}, dialog_id) {
$A.execMainDispatch("forgetDialog", dialog_id)
//
const ids = $A.isArray(dialog_id) ? dialog_id : [dialog_id];
ids.some(id => {
const index = state.cacheDialogs.findIndex(dialog => dialog.id == id);
if (index > -1) {
dispatch("forgetDialogMsg", state.dialogMsgs.filter(item => item.dialog_id == dialog_id).map(item => item.id))
state.cacheDialogs.splice(index, 1);
}
})