mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-13 03:52:50 +00:00
no message
This commit is contained in:
parent
a9b2b041ce
commit
64458c34a2
@ -164,7 +164,7 @@ class ProjectController extends AbstractController
|
|||||||
//
|
//
|
||||||
$data = Project::find($project->id);
|
$data = Project::find($project->id);
|
||||||
$data->addLog("创建项目");
|
$data->addLog("创建项目");
|
||||||
$data->pushMsg('add', $data->toArray());
|
$data->pushMsg('add', $data);
|
||||||
return Base::retSuccess('添加成功', $data);
|
return Base::retSuccess('添加成功', $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -205,7 +205,7 @@ class ProjectController extends AbstractController
|
|||||||
$project->addLog("修改项目介绍");
|
$project->addLog("修改项目介绍");
|
||||||
}
|
}
|
||||||
$project->save();
|
$project->save();
|
||||||
$project->pushMsg('update', $project->toArray());
|
$project->pushMsg('update', $project);
|
||||||
//
|
//
|
||||||
return Base::retSuccess('修改成功', $project);
|
return Base::retSuccess('修改成功', $project);
|
||||||
}
|
}
|
||||||
@ -469,7 +469,7 @@ class ProjectController extends AbstractController
|
|||||||
//
|
//
|
||||||
$data = ProjectColumn::find($column->id);
|
$data = ProjectColumn::find($column->id);
|
||||||
$data->project_task = [];
|
$data->project_task = [];
|
||||||
$data->pushMsg("add", $data->toArray());
|
$data->pushMsg("add", $data);
|
||||||
return Base::retSuccess('添加成功', $data);
|
return Base::retSuccess('添加成功', $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -509,7 +509,7 @@ class ProjectController extends AbstractController
|
|||||||
$column->color = $data['color'];
|
$column->color = $data['color'];
|
||||||
}
|
}
|
||||||
$column->save();
|
$column->save();
|
||||||
$column->pushMsg("update", $column->toArray());
|
$column->pushMsg("update", $column);
|
||||||
return Base::retSuccess('修改成功', $column);
|
return Base::retSuccess('修改成功', $column);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -724,7 +724,7 @@ class ProjectController extends AbstractController
|
|||||||
]));
|
]));
|
||||||
$data = [
|
$data = [
|
||||||
'new_column' => $newColumn,
|
'new_column' => $newColumn,
|
||||||
'task' => ProjectTask::with(['taskUser', 'taskTag'])->find($task->id)->toArray(),
|
'task' => ProjectTask::with(['taskUser', 'taskTag'])->find($task->id),
|
||||||
];
|
];
|
||||||
$task->pushMsg('add', $data);
|
$task->pushMsg('add', $data);
|
||||||
return Base::retSuccess('添加成功', $data);
|
return Base::retSuccess('添加成功', $data);
|
||||||
@ -753,7 +753,7 @@ class ProjectController extends AbstractController
|
|||||||
]);
|
]);
|
||||||
$data = [
|
$data = [
|
||||||
'new_column' => null,
|
'new_column' => null,
|
||||||
'task' => ProjectTask::with(['taskUser', 'taskTag'])->find($task->id)->toArray(),
|
'task' => ProjectTask::with(['taskUser', 'taskTag'])->find($task->id),
|
||||||
];
|
];
|
||||||
$task->pushMsg('add', $data);
|
$task->pushMsg('add', $data);
|
||||||
return Base::retSuccess('添加成功', $data);
|
return Base::retSuccess('添加成功', $data);
|
||||||
@ -805,10 +805,9 @@ class ProjectController extends AbstractController
|
|||||||
// 更新任务
|
// 更新任务
|
||||||
$task->updateTask($data, $updateContent);
|
$task->updateTask($data, $updateContent);
|
||||||
}
|
}
|
||||||
$data = $task->toArray();
|
$data = ProjectTask::with(['taskUser', 'taskTag'])->find($task->id);
|
||||||
$data['is_subtask'] = $task->parent_id > 0;
|
$data->is_update_complete = $task->parent_id == 0 && $updateComplete;
|
||||||
$data['is_update_complete'] = $task->parent_id == 0 && $updateComplete;
|
$data->is_update_content = $updateContent;
|
||||||
$data['is_update_content'] = $updateContent;
|
|
||||||
$task->pushMsg('update', $data);
|
$task->pushMsg('update', $data);
|
||||||
return Base::retSuccess('修改成功', $data);
|
return Base::retSuccess('修改成功', $data);
|
||||||
}
|
}
|
||||||
@ -865,7 +864,7 @@ class ProjectController extends AbstractController
|
|||||||
//
|
//
|
||||||
$file = ProjectTaskFile::find($file->id);
|
$file = ProjectTaskFile::find($file->id);
|
||||||
$task->addLog("上传文件:" . $file->name);
|
$task->addLog("上传文件:" . $file->name);
|
||||||
$task->pushMsg('upload', $file->toArray());
|
$task->pushMsg('upload', $file);
|
||||||
return Base::retSuccess("上传成功", $file);
|
return Base::retSuccess("上传成功", $file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -298,7 +298,7 @@ class Project extends AbstractModel
|
|||||||
// 取消归档
|
// 取消归档
|
||||||
$this->archived_at = null;
|
$this->archived_at = null;
|
||||||
$this->addLog("项目取消归档");
|
$this->addLog("项目取消归档");
|
||||||
$this->pushMsg('add', $this->toArray());
|
$this->pushMsg('add', $this);
|
||||||
} else {
|
} else {
|
||||||
// 归档任务
|
// 归档任务
|
||||||
$this->archived_at = $archived_at;
|
$this->archived_at = $archived_at;
|
||||||
|
|||||||
@ -398,7 +398,7 @@ class ProjectTask extends AbstractModel
|
|||||||
}
|
}
|
||||||
// 负责人
|
// 负责人
|
||||||
if (Arr::exists($data, 'owner')) {
|
if (Arr::exists($data, 'owner')) {
|
||||||
$count = $this->task_user_count;
|
$count = $this->taskUser->count();
|
||||||
$array = [];
|
$array = [];
|
||||||
$owner = is_array($data['owner']) ? $data['owner'] : [$data['owner']];
|
$owner = is_array($data['owner']) ? $data['owner'] : [$data['owner']];
|
||||||
foreach ($owner as $uid) {
|
foreach ($owner as $uid) {
|
||||||
@ -418,17 +418,21 @@ class ProjectTask extends AbstractModel
|
|||||||
break; // 子任务只能是一个负责人
|
break; // 子任务只能是一个负责人
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ProjectTaskUser::whereTaskId($this->id)->whereOwner(1)->whereNotIn('userid', $array)->delete();
|
if ($array) {
|
||||||
$this->syncDialogUser();
|
if ($count == 0 && count($array) == 1 && $array[0] == User::userid()) {
|
||||||
if (count($array) == 0) {
|
|
||||||
$this->addLog("删除{任务}负责人");
|
|
||||||
} else {
|
|
||||||
if ($count == 0) {
|
|
||||||
$this->addLog("认领{任务}");
|
$this->addLog("认领{任务}");
|
||||||
} else {
|
} else {
|
||||||
$this->addLog("修改{任务}负责人");
|
$this->addLog("修改{任务}负责人:" . implode(",", $array));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
$rows = ProjectTaskUser::whereTaskId($this->id)->whereOwner(1)->whereNotIn('userid', $array)->get();
|
||||||
|
if ($rows->isNotEmpty()) {
|
||||||
|
$this->addLog("删除{任务}负责人:" . $rows->implode('userid', ','));
|
||||||
|
foreach ($rows as $row) {
|
||||||
|
$row->delete();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$this->syncDialogUser();
|
||||||
}
|
}
|
||||||
// 计划时间
|
// 计划时间
|
||||||
if (Arr::exists($data, 'times')) {
|
if (Arr::exists($data, 'times')) {
|
||||||
@ -464,13 +468,17 @@ class ProjectTask extends AbstractModel
|
|||||||
]);
|
]);
|
||||||
$array[] = $uid;
|
$array[] = $uid;
|
||||||
}
|
}
|
||||||
ProjectTaskUser::whereTaskId($this->id)->whereOwner(0)->whereNotIn('userid', $array)->delete();
|
if ($array) {
|
||||||
$this->syncDialogUser();
|
$this->addLog("修改{任务}协助人员:" . implode(",", $array));
|
||||||
if (count($array) == 0) {
|
|
||||||
$this->addLog("删除{任务}协助人员");
|
|
||||||
} else {
|
|
||||||
$this->addLog("修改{任务}协助人员");
|
|
||||||
}
|
}
|
||||||
|
$rows = ProjectTaskUser::whereTaskId($this->id)->whereOwner(0)->whereNotIn('userid', $array)->get();
|
||||||
|
if ($rows->isNotEmpty()) {
|
||||||
|
$this->addLog("删除{任务}协助人员:" . $rows->implode('userid', ','));
|
||||||
|
foreach ($rows as $row) {
|
||||||
|
$row->delete();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$this->syncDialogUser();
|
||||||
}
|
}
|
||||||
// 背景色
|
// 背景色
|
||||||
if (Arr::exists($data, 'color') && $this->color != $data['color']) {
|
if (Arr::exists($data, 'color') && $this->color != $data['color']) {
|
||||||
@ -624,7 +632,7 @@ class ProjectTask extends AbstractModel
|
|||||||
$this->addLog("任务取消归档:" . $this->name);
|
$this->addLog("任务取消归档:" . $this->name);
|
||||||
$this->pushMsg('add', [
|
$this->pushMsg('add', [
|
||||||
'new_column' => null,
|
'new_column' => null,
|
||||||
'task' => ProjectTask::with(['taskUser', 'taskTag'])->find($this->id)->toArray(),
|
'task' => ProjectTask::with(['taskUser', 'taskTag'])->find($this->id),
|
||||||
]);
|
]);
|
||||||
} else {
|
} else {
|
||||||
// 归档任务
|
// 归档任务
|
||||||
|
|||||||
@ -45,7 +45,6 @@ class ProjectUser extends AbstractModel
|
|||||||
$tasks = ProjectTask::whereProjectId($this->project_id)->authData($this->userid)->get();
|
$tasks = ProjectTask::whereProjectId($this->project_id)->authData($this->userid)->get();
|
||||||
foreach ($tasks as $task) {
|
foreach ($tasks as $task) {
|
||||||
if (ProjectTaskUser::whereTaskId($task->id)->whereUserid($this->userid)->delete()) {
|
if (ProjectTaskUser::whereTaskId($task->id)->whereUserid($this->userid)->delete()) {
|
||||||
$task->pushMsg('update');
|
|
||||||
$task->syncDialogUser();
|
$task->syncDialogUser();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -328,7 +328,17 @@
|
|||||||
</Form>
|
</Form>
|
||||||
<div slot="footer">
|
<div slot="footer">
|
||||||
<Button type="default" @click="userShow=false">{{$L('取消')}}</Button>
|
<Button type="default" @click="userShow=false">{{$L('取消')}}</Button>
|
||||||
<Button type="primary" :loading="userLoad > 0" @click="onUser">{{$L('保存')}}</Button>
|
<Poptip
|
||||||
|
confirm
|
||||||
|
placement="bottom"
|
||||||
|
@on-ok="onUser"
|
||||||
|
transfer>
|
||||||
|
<div slot="title">
|
||||||
|
<p><strong>{{$L('移除成员负责的任务将变成无负责人,')}}</strong></p>
|
||||||
|
<p>{{$L('注意此操作不可逆!')}}</p>
|
||||||
|
</div>
|
||||||
|
<Button type="primary" :loading="userLoad > 0" style="margin-left:8px">{{$L('保存')}}</Button>
|
||||||
|
</Poptip>
|
||||||
</div>
|
</div>
|
||||||
</Modal>
|
</Modal>
|
||||||
|
|
||||||
@ -843,6 +853,7 @@ export default {
|
|||||||
this.userLoad--;
|
this.userLoad--;
|
||||||
this.userShow = false;
|
this.userShow = false;
|
||||||
this.$store.dispatch("getProjectOne", this.projectId);
|
this.$store.dispatch("getProjectOne", this.projectId);
|
||||||
|
this.$store.dispatch("getTasks", {project_id: this.projectId})
|
||||||
}).catch(({msg}) => {
|
}).catch(({msg}) => {
|
||||||
$A.modalError(msg);
|
$A.modalError(msg);
|
||||||
this.userLoad--;
|
this.userLoad--;
|
||||||
@ -862,6 +873,7 @@ export default {
|
|||||||
this.transferLoad--;
|
this.transferLoad--;
|
||||||
this.transferShow = false;
|
this.transferShow = false;
|
||||||
this.$store.dispatch("getProjectOne", this.projectId);
|
this.$store.dispatch("getProjectOne", this.projectId);
|
||||||
|
this.$store.dispatch("getTasks", {project_id: this.projectId})
|
||||||
}).catch(({msg}) => {
|
}).catch(({msg}) => {
|
||||||
$A.modalError(msg);
|
$A.modalError(msg);
|
||||||
this.transferLoad--;
|
this.transferLoad--;
|
||||||
|
|||||||
50
resources/assets/js/store/actions.js
vendored
50
resources/assets/js/store/actions.js
vendored
@ -354,8 +354,12 @@ export default {
|
|||||||
* @returns {Promise<unknown>}
|
* @returns {Promise<unknown>}
|
||||||
*/
|
*/
|
||||||
getProjectOne({state, dispatch}, project_id) {
|
getProjectOne({state, dispatch}, project_id) {
|
||||||
state.projectLoad++;
|
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
|
if (state.method.runNum(project_id) === 0) {
|
||||||
|
reject({msg: 'Parameter error'});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
state.projectLoad++;
|
||||||
dispatch("call", {
|
dispatch("call", {
|
||||||
url: 'project/one',
|
url: 'project/one',
|
||||||
data: {
|
data: {
|
||||||
@ -380,6 +384,10 @@ export default {
|
|||||||
*/
|
*/
|
||||||
archivedProject({dispatch}, project_id) {
|
archivedProject({dispatch}, project_id) {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
|
if (state.method.runNum(project_id) === 0) {
|
||||||
|
reject({msg: 'Parameter error'});
|
||||||
|
return;
|
||||||
|
}
|
||||||
dispatch("call", {
|
dispatch("call", {
|
||||||
url: 'project/archived',
|
url: 'project/archived',
|
||||||
data: {
|
data: {
|
||||||
@ -403,6 +411,10 @@ export default {
|
|||||||
*/
|
*/
|
||||||
removeProject({dispatch}, project_id) {
|
removeProject({dispatch}, project_id) {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
|
if (state.method.runNum(project_id) === 0) {
|
||||||
|
reject({msg: 'Parameter error'});
|
||||||
|
return;
|
||||||
|
}
|
||||||
dispatch("call", {
|
dispatch("call", {
|
||||||
url: 'project/remove',
|
url: 'project/remove',
|
||||||
data: {
|
data: {
|
||||||
@ -426,6 +438,10 @@ export default {
|
|||||||
*/
|
*/
|
||||||
exitProject({dispatch}, project_id) {
|
exitProject({dispatch}, project_id) {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
|
if (state.method.runNum(project_id) === 0) {
|
||||||
|
reject({msg: 'Parameter error'});
|
||||||
|
return;
|
||||||
|
}
|
||||||
dispatch("call", {
|
dispatch("call", {
|
||||||
url: 'project/exit',
|
url: 'project/exit',
|
||||||
data: {
|
data: {
|
||||||
@ -541,6 +557,10 @@ export default {
|
|||||||
*/
|
*/
|
||||||
removeColumn({dispatch}, column_id) {
|
removeColumn({dispatch}, column_id) {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
|
if (state.method.runNum(column_id) === 0) {
|
||||||
|
reject({msg: 'Parameter error'});
|
||||||
|
return;
|
||||||
|
}
|
||||||
dispatch("call", {
|
dispatch("call", {
|
||||||
url: 'project/column/remove',
|
url: 'project/column/remove',
|
||||||
data: {
|
data: {
|
||||||
@ -580,7 +600,7 @@ export default {
|
|||||||
state[key].push(data);
|
state[key].push(data);
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
if (data.is_subtask) {
|
if (data.parent_id) {
|
||||||
dispatch("getTaskOne", data.parent_id);
|
dispatch("getTaskOne", data.parent_id);
|
||||||
}
|
}
|
||||||
if (data.is_update_complete) {
|
if (data.is_update_complete) {
|
||||||
@ -712,6 +732,7 @@ export default {
|
|||||||
getTaskOne({state, dispatch}, task_id) {
|
getTaskOne({state, dispatch}, task_id) {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
if (state.method.runNum(task_id) === 0) {
|
if (state.method.runNum(task_id) === 0) {
|
||||||
|
reject({msg: 'Parameter error'});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
dispatch("call", {
|
dispatch("call", {
|
||||||
@ -737,6 +758,10 @@ export default {
|
|||||||
*/
|
*/
|
||||||
removeTask({dispatch}, task_id) {
|
removeTask({dispatch}, task_id) {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
|
if (state.method.runNum(task_id) === 0) {
|
||||||
|
reject({msg: 'Parameter error'});
|
||||||
|
return;
|
||||||
|
}
|
||||||
dispatch("call", {
|
dispatch("call", {
|
||||||
url: 'project/task/remove',
|
url: 'project/task/remove',
|
||||||
data: {
|
data: {
|
||||||
@ -761,6 +786,10 @@ export default {
|
|||||||
*/
|
*/
|
||||||
archivedTask({dispatch}, task_id) {
|
archivedTask({dispatch}, task_id) {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
|
if (state.method.runNum(task_id) === 0) {
|
||||||
|
reject({msg: 'Parameter error'});
|
||||||
|
return;
|
||||||
|
}
|
||||||
dispatch("call", {
|
dispatch("call", {
|
||||||
url: 'project/task/archived',
|
url: 'project/task/archived',
|
||||||
data: {
|
data: {
|
||||||
@ -786,6 +815,10 @@ export default {
|
|||||||
*/
|
*/
|
||||||
getTaskContent({state, dispatch}, task_id) {
|
getTaskContent({state, dispatch}, task_id) {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
|
if (state.method.runNum(task_id) === 0) {
|
||||||
|
reject({msg: 'Parameter error'});
|
||||||
|
return;
|
||||||
|
}
|
||||||
dispatch("call", {
|
dispatch("call", {
|
||||||
url: 'project/task/content',
|
url: 'project/task/content',
|
||||||
data: {
|
data: {
|
||||||
@ -815,6 +848,10 @@ export default {
|
|||||||
*/
|
*/
|
||||||
getTaskFiles({state, dispatch}, task_id) {
|
getTaskFiles({state, dispatch}, task_id) {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
|
if (state.method.runNum(task_id) === 0) {
|
||||||
|
reject({msg: 'Parameter error'});
|
||||||
|
return;
|
||||||
|
}
|
||||||
dispatch("call", {
|
dispatch("call", {
|
||||||
url: 'project/task/files',
|
url: 'project/task/files',
|
||||||
data: {
|
data: {
|
||||||
@ -1064,6 +1101,7 @@ export default {
|
|||||||
openDialogUserid({state, dispatch}, userid) {
|
openDialogUserid({state, dispatch}, userid) {
|
||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
if (userid === state.userId) {
|
if (userid === state.userId) {
|
||||||
|
reject({msg: 'Parameter error'});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
dispatch("call", {
|
dispatch("call", {
|
||||||
@ -1175,12 +1213,15 @@ export default {
|
|||||||
return new Promise(function (resolve, reject) {
|
return new Promise(function (resolve, reject) {
|
||||||
const dialog = state.dialogs.find(({id}) => id == dialog_id);
|
const dialog = state.dialogs.find(({id}) => id == dialog_id);
|
||||||
if (!dialog) {
|
if (!dialog) {
|
||||||
|
reject({msg: 'Parameter error'});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (!dialog.hasMorePages) {
|
if (!dialog.hasMorePages) {
|
||||||
|
reject({msg: 'No more page'});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (dialog.loading) {
|
if (dialog.loading) {
|
||||||
|
reject({msg: 'Loading'});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
dialog.loading = true;
|
dialog.loading = true;
|
||||||
@ -1353,7 +1394,8 @@ export default {
|
|||||||
dispatch("saveProject", data)
|
dispatch("saveProject", data)
|
||||||
break;
|
break;
|
||||||
case 'detail':
|
case 'detail':
|
||||||
dispatch("getProjectOne", data);
|
dispatch("getProjectOne", data.id);
|
||||||
|
dispatch("getTasks", {project_id: data.id})
|
||||||
break;
|
break;
|
||||||
case 'archived':
|
case 'archived':
|
||||||
case 'delete':
|
case 'delete':
|
||||||
@ -1399,7 +1441,7 @@ export default {
|
|||||||
dispatch("saveTask", data)
|
dispatch("saveTask", data)
|
||||||
break;
|
break;
|
||||||
case 'upload':
|
case 'upload':
|
||||||
dispatch("getTaskFiles", data.id)
|
dispatch("getTaskFiles", data.task_id)
|
||||||
break;
|
break;
|
||||||
case 'archived':
|
case 'archived':
|
||||||
case 'delete':
|
case 'delete':
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user