mirror of
https://github.com/kuaifan/dootask.git
synced 2026-09-11 22:49:11 +00:00
fix(task): 支持为未领取任务指定负责人
This commit is contained in:
parent
b05b0874f8
commit
ac43f630d3
@ -15,10 +15,10 @@ related_tools: [update_task, get_task]
|
|||||||
related_pages: [task_detail]
|
related_pages: [task_detail]
|
||||||
prerequisites: []
|
prerequisites: []
|
||||||
negative:
|
negative:
|
||||||
- 一个任务必须至少有一个负责人,不能"无主"
|
- 任务暂时没有负责人时只能自己领取,不能指定其他项目成员
|
||||||
- 协作者不能完成任务,只有负责人能(或有 TASK_UPDATE 权限的项目角色)
|
- 协作者不能完成任务,只有负责人能(或有 TASK_UPDATE 权限的项目角色)
|
||||||
- 负责人 / 协作者不会自动获得评论权限以外的项目权限
|
- 负责人 / 协作者不会自动获得评论权限以外的项目权限
|
||||||
last_verified: v1.7.90
|
last_verified: v1.9.18
|
||||||
---
|
---
|
||||||
|
|
||||||
# 负责人与协作者
|
# 负责人与协作者
|
||||||
@ -28,7 +28,12 @@ DooTask 通过 `ProjectTaskUser` 表维护任务参与人:每条记录 `userid
|
|||||||
- `owner=1` — **负责人**
|
- `owner=1` — **负责人**
|
||||||
- `owner=0` — **协作者**(assist)
|
- `owner=0` — **协作者**(assist)
|
||||||
|
|
||||||
一个任务允许多个负责人(多 owner=1)和多个协作者,但每个任务必须至少 1 个负责人。
|
一个任务允许多个负责人(多 owner=1)和多个协作者,也可以暂时没有负责人。
|
||||||
|
|
||||||
|
## 设置入口
|
||||||
|
- 已有负责人:打开任务详情,在「负责人」字段中增删项目成员
|
||||||
|
- 暂无负责人:既可以通过顶部「领取任务」将自己设为负责人,也可以在详情底部的「添加」菜单选择「负责人」,再指定项目成员
|
||||||
|
- 「负责人」和「协助人员」未设置时都收纳在详情底部的统一「添加」菜单中,设置后显示为独立字段
|
||||||
|
|
||||||
## 权限差异
|
## 权限差异
|
||||||
|
|
||||||
|
|||||||
@ -203,16 +203,17 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</FormItem>
|
</FormItem>
|
||||||
<FormItem v-if="getOwner.length > 0">
|
<FormItem v-if="getOwner.length > 0 || ownerForce">
|
||||||
<div class="item-label" slot="label">
|
<div class="item-label" slot="label">
|
||||||
<i class="taskfont"></i>{{$L('负责人')}}
|
<i class="taskfont"></i>{{$L('负责人')}}
|
||||||
</div>
|
</div>
|
||||||
<UserSelect
|
<UserSelect
|
||||||
|
ref="owner"
|
||||||
class="item-content user"
|
class="item-content user"
|
||||||
v-model="ownerData.owner_userid"
|
v-model="ownerData.owner_userid"
|
||||||
:multiple-max="10"
|
:multiple-max="10"
|
||||||
:avatar-size="28"
|
:avatar-size="28"
|
||||||
:title="$L('修改负责人')"
|
:title="$L(getOwner.length > 0 ? '修改负责人' : '选择任务负责人')"
|
||||||
:project-id="taskDetail.project_id"
|
:project-id="taskDetail.project_id"
|
||||||
:add-icon="false"
|
:add-icon="false"
|
||||||
:disabled="isDepartmentReadonly"
|
:disabled="isDepartmentReadonly"
|
||||||
@ -638,6 +639,7 @@ export default {
|
|||||||
|
|
||||||
ownerData: {},
|
ownerData: {},
|
||||||
ownerLoad: 0,
|
ownerLoad: 0,
|
||||||
|
ownerForce: false,
|
||||||
|
|
||||||
removeLoad: 0,
|
removeLoad: 0,
|
||||||
|
|
||||||
@ -928,6 +930,13 @@ export default {
|
|||||||
name: '优先级',
|
name: '优先级',
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
if (!($A.isArray(taskDetail.task_user) && taskDetail.task_user.find(({owner}) => owner === 1))) {
|
||||||
|
list.push({
|
||||||
|
command: 'owner',
|
||||||
|
icon: '',
|
||||||
|
name: '负责人',
|
||||||
|
});
|
||||||
|
}
|
||||||
if (!($A.isArray(taskDetail.task_user) && taskDetail.task_user.find(({owner}) => owner === 0 ))) {
|
if (!($A.isArray(taskDetail.task_user) && taskDetail.task_user.find(({owner}) => owner === 0 ))) {
|
||||||
list.push({
|
list.push({
|
||||||
command: 'assist',
|
command: 'assist',
|
||||||
@ -1061,6 +1070,7 @@ export default {
|
|||||||
this.timeForce = false;
|
this.timeForce = false;
|
||||||
this.loopForce = false;
|
this.loopForce = false;
|
||||||
this.tagForce = false;
|
this.tagForce = false;
|
||||||
|
this.ownerForce = false;
|
||||||
this.assistForce = false;
|
this.assistForce = false;
|
||||||
this.visibleForce = false;
|
this.visibleForce = false;
|
||||||
this.addsubForce = false;
|
this.addsubForce = false;
|
||||||
@ -1839,6 +1849,13 @@ export default {
|
|||||||
})
|
})
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'owner':
|
||||||
|
this.ownerForce = true;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.owner.onSelection();
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
|
||||||
case 'assist':
|
case 'assist':
|
||||||
this.assistForce = true;
|
this.assistForce = true;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user