perf: 添加任务时如果自己不是任务负责人可选择加入协助人员列表
This commit is contained in:
parent
22c06fee5e
commit
60e47e85a3
@ -342,11 +342,13 @@ class ProjectTask extends AbstractModel
|
||||
$content = $data['content'];
|
||||
$times = $data['times'];
|
||||
$owner = $data['owner'];
|
||||
$add_assist = intval($data['add_assist']);
|
||||
$subtasks = $data['subtasks'];
|
||||
$p_level = intval($data['p_level']);
|
||||
$p_name = $data['p_name'];
|
||||
$p_color = $data['p_color'];
|
||||
$top = intval($data['top']);
|
||||
$userid = User::userid();
|
||||
//
|
||||
if (ProjectTask::whereProjectId($project_id)
|
||||
->whereNull('project_tasks.complete_at')
|
||||
@ -411,8 +413,13 @@ class ProjectTask extends AbstractModel
|
||||
$tmpArray[] = $uid;
|
||||
}
|
||||
$owner = $tmpArray;
|
||||
// 协助人员
|
||||
$assist = [];
|
||||
if (!in_array($userid, $owner) && $add_assist) {
|
||||
$assist = [$userid];
|
||||
}
|
||||
// 创建人
|
||||
$task->userid = User::userid();
|
||||
$task->userid = $userid;
|
||||
// 排序位置
|
||||
if ($top) {
|
||||
$task->sort = intval(self::whereColumnId($task->column_id)->orderBy('sort')->value('sort')) - 1;
|
||||
@ -434,7 +441,7 @@ class ProjectTask extends AbstractModel
|
||||
}
|
||||
}
|
||||
//
|
||||
return AbstractModel::transaction(function() use ($times, $subtasks, $content, $owner, $task) {
|
||||
return AbstractModel::transaction(function() use ($assist, $times, $subtasks, $content, $owner, $task) {
|
||||
$task->save();
|
||||
$owner = array_values(array_unique($owner));
|
||||
foreach ($owner as $uid) {
|
||||
@ -446,6 +453,16 @@ class ProjectTask extends AbstractModel
|
||||
'owner' => 1,
|
||||
])->save();
|
||||
}
|
||||
$assist = array_values(array_unique(array_diff($assist, $owner)));
|
||||
foreach ($assist as $uid) {
|
||||
ProjectTaskUser::createInstance([
|
||||
'project_id' => $task->project_id,
|
||||
'task_id' => $task->id,
|
||||
'task_pid' => $task->parent_id ?: $task->id,
|
||||
'userid' => $uid,
|
||||
'owner' => 0,
|
||||
])->save();
|
||||
}
|
||||
if ($content) {
|
||||
ProjectTaskContent::createInstance([
|
||||
'project_id' => $task->project_id,
|
||||
|
@ -82,6 +82,12 @@
|
||||
:multiple-max="10"
|
||||
:placeholder="$L('选择任务负责人')"
|
||||
:project-id="addData.project_id"/>
|
||||
<div v-if="showAddAssist" class="task-add-assist">
|
||||
<Checkbox v-model="addData.add_assist" :true-value="1" :false-value="0">{{$L('加入任务协助人员列表')}}</Checkbox>
|
||||
<ETooltip :content="$L('你不是任务负责人时建议加入任务协助人员列表')">
|
||||
<Icon type="ios-alert-outline" />
|
||||
</ETooltip>
|
||||
</div>
|
||||
</FormItem>
|
||||
<div class="subtasks">
|
||||
<div v-if="addData.subtasks.length > 0" class="sublist">
|
||||
@ -168,6 +174,7 @@ export default {
|
||||
name: "",
|
||||
content: "",
|
||||
owner: 0,
|
||||
add_assist: 1,
|
||||
project_id: 0,
|
||||
column_id: 0,
|
||||
times: [],
|
||||
@ -234,6 +241,14 @@ export default {
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
},
|
||||
|
||||
showAddAssist() {
|
||||
const {owner} = this.addData;
|
||||
if ($A.isArray(owner) && owner.includes(this.userId)) {
|
||||
return false;
|
||||
}
|
||||
return owner != this.userId;
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
@ -464,6 +479,7 @@ export default {
|
||||
name: "",
|
||||
content: "",
|
||||
owner: 0,
|
||||
add_assist: 1,
|
||||
column_id: 0,
|
||||
times: [],
|
||||
subtasks: [],
|
||||
|
@ -179,6 +179,16 @@
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
.task-add-assist {
|
||||
margin-top: 6px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
.ivu-icon {
|
||||
font-size: 16px;
|
||||
color: #999999;
|
||||
}
|
||||
}
|
||||
.ivu-modal-footer {
|
||||
padding: 26px 0 22px !important;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user