perf: 添加任务支持自定义协助人

This commit is contained in:
kuaifan 2023-07-11 13:39:38 +08:00
parent e27ea9e117
commit 4703b03b82
3 changed files with 30 additions and 27 deletions

View File

@ -363,7 +363,8 @@ class ProjectTask extends AbstractModel
$content = $data['content']; $content = $data['content'];
$times = $data['times']; $times = $data['times'];
$owner = $data['owner']; $owner = $data['owner'];
$add_assist = intval($data['add_assist']); $add_assist = intval($data['add_assist']); // 将自己添加到参与者
$assist = $data['assist']; // 参与者,此项设置时 add_assist 无效
$subtasks = $data['subtasks']; $subtasks = $data['subtasks'];
$p_level = intval($data['p_level']); $p_level = intval($data['p_level']);
$p_name = $data['p_name']; $p_name = $data['p_name'];
@ -438,9 +439,12 @@ class ProjectTask extends AbstractModel
} }
$owner = $tmpArray; $owner = $tmpArray;
// 协助人员 // 协助人员
$assist = []; $assist = is_array($assist) ? $assist : [];
if (!in_array($userid, $owner) && $add_assist) { if (empty($assist)) {
$assist = [$userid]; // 添加自己
if (!in_array($userid, $owner) && $add_assist) {
$assist = [$userid];
}
} }
// 创建人 // 创建人
$task->userid = $userid; $task->userid = $userid;

View File

@ -78,7 +78,7 @@
type="datetimerange" type="datetimerange"
@on-change="taskTimeChange(addData.times)"/> @on-change="taskTimeChange(addData.times)"/>
</FormItem> </FormItem>
<FormItem :label="$L('任务负责人')" > <FormItem :label="$L('负责人')" >
<UserSelect <UserSelect
v-model="addData.owner" v-model="addData.owner"
:multiple-max="10" :multiple-max="10"
@ -86,12 +86,16 @@
:project-id="addData.project_id" :project-id="addData.project_id"
:avatar-size="24" :avatar-size="24"
border/> border/>
<div v-if="showAddAssist" class="task-add-assist"> </FormItem>
<Checkbox v-model="addData.add_assist" :true-value="1" :false-value="0">{{$L('加入任务协助人员列表')}}</Checkbox> <FormItem :label="$L('协助人员')" >
<ETooltip :disabled="$isEEUiApp || windowTouch" :content="$L('你不是任务负责人时建议加入任务协助人员列表')"> <UserSelect
<Icon type="ios-alert-outline" /> v-model="addData.assist"
</ETooltip> :multiple-max="10"
</div> :title="$L('选择任务协助人员')"
:project-id="addData.project_id"
:disabled-choice="addData.owner"
:avatar-size="24"
border/>
</FormItem> </FormItem>
<FormItem> <FormItem>
<div slot="label"> <div slot="label">
@ -223,7 +227,7 @@ export default {
name: "", name: "",
content: "", content: "",
owner: [], owner: [],
add_assist: 1, assist: [],
project_id: 0, project_id: 0,
column_id: 0, column_id: 0,
times: [], times: [],
@ -306,14 +310,18 @@ export default {
} }
} }
return 0; return 0;
},
showAddAssist() {
return !this.addData.owner.includes(this.userId);
} }
}, },
watch: { watch: {
'addData.owner'(owner) {
this.addData.assist = this.addData.assist.filter(item => {
return owner.indexOf(item) === -1;
})
if (owner.length === 0 && this.addData.assist.length === 0) {
this.addData.assist = [this.userId];
}
},
'addData.project_id'(projectId) { 'addData.project_id'(projectId) {
if (projectId > 0) { if (projectId > 0) {
$A.IDBSave("cacheAddTaskProjectId", projectId); $A.IDBSave("cacheAddTaskProjectId", projectId);
@ -537,7 +545,7 @@ export default {
name: "", name: "",
content: "", content: "",
owner: [], owner: [],
add_assist: 1, assist: [],
column_id: 0, column_id: 0,
times: [], times: [],
subtasks: [], subtasks: [],

View File

@ -162,6 +162,7 @@
.taskfont { .taskfont {
display: inline-block; display: inline-block;
transform: scale(0.9); transform: scale(0.9);
opacity: 0.8;
font-size: 12px; font-size: 12px;
margin-right: 0; margin-right: 0;
} }
@ -210,16 +211,6 @@
width: 100%; width: 100%;
} }
} }
.task-add-assist {
margin-top: 6px;
display: flex;
align-items: center;
justify-content: flex-end;
.ivu-icon {
font-size: 16px;
color: $primary-desc-color;
}
}
.ivu-modal-footer { .ivu-modal-footer {
padding: 26px 0 22px !important; padding: 26px 0 22px !important;
} }