news 2026/10/22 1:27:29

DooTask 团队管理完全指南:管理员入口、成员 / 部门 / 邀请一体化管理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
DooTask 团队管理完全指南:管理员入口、成员 / 部门 / 邀请一体化管理
  • 后端
  • 前端
  • 协同办公
  • 即时通讯
  • 企业应用

【免费下载链接】dootask

DooTask是一款开源在线项目任务管理工具,提供各类文档协作工具、在线思维导图、在线流程图、项目管理、任务分发、即时IM,文件管理等工具;同时消息功能使用非对称加密技术让你的沟通更安全。

项目地址:https://gitcode.com/gh_mirrors/do/dootask
点击查看免费下载

导读

「团队管理」是 DooTask 中唯一集中处理「成员 + 部门 + 邀请」的管理员页面,涵盖全员列表、部门树编辑、邀请链接 / 邀请码生成三大块,属于管理员应用。本指南将基于官方文档与仓库源码,完整讲解它的入口路径、页面结构、每个操作的具体含义与后台校验规则,帮助系统管理员快速上手并规避常见操作误区(如删除部门失败、离职数据迁移等)。

是什么:DooTask 的管理员团队管理页

团队管理是 DooTask 唯一集中处理「成员 + 部门 + 邀请」的管理员页面,包含:

  • 全员列表:搜索 / 筛选 / 增删用户、改身份(管理员 / 部门负责人 / 临时帐号)、改部门、重置密码、禁用 / 启用;
  • 部门管理:创建 / 重命名 / 删除部门,拖拽调整树结构、设置部门负责人;
  • 邀请加入:生成邀请链接或邀请码(受系统设置「允许注册」开关影响)。

它属于管理员应用(app-admin),需要系统管理员权限才能看到入口。与「联系人 / 部门」视图不同,团队管理是页面跳转,不是抽屉,并且普通成员看不到「团队管理」卡片,只能在「联系人」/「部门」浏览不带管理动作的视图(见 team.md)。

入口路径:桌面端与移动端

根据官方文档,入口路径如下:

端路径
桌面端左侧栏「应用」→ 下方「管理员」分区 →「团队管理」卡片
移动端竖屏底部 Tabbar「应用」→「管理员」分区 →「团队管理」
打开方式点击后跳转独立页面(非抽屉)

在桌面端还有一条等价路径:右上角头像菜单 →「团队管理」(管理员可见),该二级菜单同时包含「导出任务统计 / 导出超期任务 / 导出签到数据」等导出入口(见 manage.vue 中path === 'team'的菜单渲染逻辑)。管理员应用的整体入口说明可参考 entry.md:「团队管理」是管理员分区中唯一以页面跳转方式打开的卡片,其余卡片(LDAP、邮件通知、APP 推送、举报管理等)均为右侧抽屉。

权限要求:admin才能看到入口,普通成员的「我的部门」查看走个人资料页(接口api/users/info/departments),最多看到自己所在的 10 个部门(见 org-department entry.md)。

页面结构:两栏布局

进入团队管理后页面分两栏(见 TeamManagement.vue 模板结构):

  • 左侧部门树:顶部「默认部门」+ 全部部门按 id 升序的树形列表。每行显示:负责人头像、部门管理员头像(多人显示+N)、部门名称、行尾「⋯」操作菜单;底部是「+ 新建部门」按钮。部门树宽度可通过中间的分隔线拖拽调整(100~900px)。
  • 右侧成员列表:选中部门后展示该部门成员,支持按「关键词 = 邮箱 / 昵称 / 职位」搜索。

选中部门后,成员列表会自动带上department过滤条件,且部门负责人始终排在前面(前端通过departmentSelect传入keys.department,后端在 lists() 中依据user_departments表owner_userid命中情况排序)。

三大功能块之一:成员列表

筛选与搜索

成员列表提供以下筛选条件(前端 TeamManagement.vue 与后端 lists() 一一对应):

筛选项可选值 / 说明后端行为
关键词邮箱、昵称、职位;若包含@则只匹配邮箱邮箱 / 电话 / 昵称 / 职位LIKE模糊匹配
身份全部 / 管理员 / 非管理员 / 临时帐号 / 非临时帐号匹配 identity 字段中的admin、temp标识
在职状态在职 / 离职 / 全部disable_at是否为 NULL
邮箱认证全部 / 已邮箱认证 / 未邮箱认证匹配email_verity字段
人脸图片 / MAC 地址仅在启用签到模式(checkinMode)时显示关联user_checkin_faces、user_checkin_macs表过滤

默认每页 20 条,可切换每页 10/20/30/50/100 条,支持翻页、跳页。

成员行内操作

每行末尾「操作」下拉菜单包含(见 TeamManagement.vue):

操作说明
打开会话窗口直接打开与该成员的单聊
设为管理员 / 取消管理员切换admin身份(操作需二次确认)
设为临时帐号 / 取消临时身份切换temp身份(临时帐号限制见系统设置)
标记邮箱为已认证 / 未认证手动维护邮箱认证状态
编辑用户信息打开编辑弹窗,可改邮箱、电话、昵称、职位、部门等
操作离职弹窗设置离职时间,可选交接人
恢复帐号(已离职)仅恢复帐号状态,无法恢复离职时移交的数据
删除需填写删除原因(必填)

这些操作统一调用api/users/operation接口,支持的类型完整清单见 operation() 的 API 注释:setadmin、clearadmin、settemp、cleartemp、setverity、clearverity、checkin_macs、checkin_face、department(修改部门)、setdisable(需disable_time、transfer_userid)、cleardisable、delete(需delete_reason)。

操作离职与交接人(重要)

执行「操作离职」时(见 TeamManagement.vue):

  • 离职时间可从快捷选项选择(12:00 / 17:00 / 18:00 / 19:00 / 现在);
  • 可指定一名交接人(留空则不执行迁移);
  • 系统提示:该成员负责的部门、项目、任务和文件将移交给交接人;同时退出所有群(如果是群主则转让给交接人);
  • 离职操作不可逆。

三大功能块之二:部门管理

部门树与行操作

左侧部门树顶部是系统内置的「默认部门」(表示未分配部门的成员,不能新建 / 删除 / 改名)。每个部门行尾「⋯」菜单提供(见 TeamManagement.vue):

操作说明
添加子部门仅level <= 3的部门可用
部门交流群跳转到该部门绑定的部门群
同步部门成员将子部门成员同步到当前部门
编辑改名 / 改上级 / 改负责人 / 改部门管理员
删除红色文字;含子部门时无法删除

「同步部门成员」后端逻辑见 department__sync():递归获取全部子部门 id,把子部门中未离职的成员补充进当前部门的department字段;当前部门无子部门时前端会直接提示「无需同步」。

新建 / 修改部门表单字段

新建或编辑部门时,表单字段如下(见 TeamManagement.vue):

字段说明
部门名称必填
上级部门下拉选择;默认部门为根;只能选择层级 ≤ 3 的部门作为上级,且不能选择自己或自己的子部门
部门负责人单选(UserSelect)
部门管理员多选,最多 20 人;部门管理员享有部门群的群管理员权限;负责人不能同时被选为管理员
群组设置(仅新建)部门群聊:创建部门群 / 使用现有群;使用现有群时仅支持选择个人群转为部门群

新建部门后,前端还会通过adddeputy/deldeputy接口把表单中勾选的部门管理员同步到后端(见 onSaveDepartment)。

部门管理后台校验规则(源码级)

部门相关操作统一走以下接口(见 routes/api-map.md),后端在 UsersController 中做了完整校验:

接口方法说明
api/users/department/listGET部门列表(限管理员)
api/users/department/addGET新建、修改部门(限管理员)
api/users/department/adddeputyPOST任命部门管理员(限管理员)
api/users/department/deldeputyPOST罢免部门管理员(限管理员)
api/users/department/delGET删除部门(限管理员)
api/users/department/syncGET同步部门成员(限管理员)

新建 / 修改部门的服务端限制(department__add()):

  • 部门名称长度 2~20 个字符;
  • 部门名称不能包含特殊符号(~!@#$%^&*()+-_=.:?<>),也不能包含(M);
  • 全系统最多创建 200 个部门;
  • 部门层级最多 3 级(根「默认部门」不算);
  • 每个部门最多 20 个子部门;
  • 每个用户最多担任 10 个部门的负责人;
  • 不能选择自己的子部门作为上级部门。

部门负责人更换时,后端 saveDepartment() 会同步更新部门群的群主(dialog->owner_id)并调整群成员 role(负责人 role=1、旧负责人恢复 role=0)。

三大功能块之三:邀请加入

「邀请加入」用于生成邀请链接或邀请码,其可用性受系统设置「允许注册」开关影响。后端通过api/users/reg/needinvite暴露当前注册状态(reg__needinvite()):

$reg = Base::settingFind('system', 'reg', 'open'); return [ 'enabled' => $reg !== 'close', // 是否允许注册 'need' => $reg === 'invite', // 是否需要邀请码 ];

即系统设置system.reg支持三档:open(开放注册,无需邀请码)、invite(需要邀请码)、close(关闭注册,此时邀请入口不可用)。注册页面对应逻辑可见登录页的邀请码输入框(login.vue):当系统要求邀请码时,注册表单会出现「邀请码」输入项,提交时携带invite参数并与系统设置的reg_invite比对(见 UsersController.php)。

团队管理页本身还提供「创建用户」与「批量导入」两个快捷入口(见 TeamManagement.vue),前者弹窗创建单个用户,后者走批量导入模板。

已知不支持的限制(边界说明)

根据官方文档,团队管理有以下明确限制:

  • 不支持批量改成员部门:只能逐个改,或通过「批量导入」方式批量调整;
  • 不能直接删除还有成员的部门:必须先把部门下成员转移走,否则报错(后端 department__del() 还会拦截「含有子部门无法删除」,删除成功后部门下成员将移至默认部门,前端弹窗有红色警示);
  • 不支持把成员同时挂在 2 个部门下:每人最多 1 个主部门(成员字段中department以逗号分隔存储多部门归属,但团队管理页按单主部门模型设计)。

与相关功能的关系

  • 部门入口:部门树的更多操作(添加子部门、部门交流群、同步部门成员)细节见 org-department entry.md;
  • 管理员应用:团队管理在「管理员」分区中的定位,见 entry.md;
  • 个人设置:修改自己的资料请走右上角「个人设置」,团队管理页仅用于管理其他成员;
  • 用户导入:批量导入成员的功能详见 user-account/import.md。

实操速查

  1. 新增成员:「应用」→「管理员」→「团队管理」→ 右上「创建用户」,或「批量导入」上传成员表;
  2. 调整部门结构:左侧部门树点击行尾「⋯」→ 添加子部门 / 编辑;拖拽调整结构在当前版本中体现为编辑时修改「上级部门」;
  3. 任命负责人 / 管理员:新建或编辑部门时选择「部门负责人」(单选)与「部门管理员」(多选,最多 20 人);
  4. 成员离职:成员行「操作」→「操作离职」,设置离职时间与交接人(负责的部门 / 项目 / 任务 / 文件将移交,群主身份一并转让);
  5. 开放邀请:先在系统设置中确认「允许注册」状态,再在团队管理中生成邀请链接 / 邀请码。

以上内容基于当前仓库v1.7.90对应的文档与实现验证(last_verified: v1.7.90),入口位置与字段细节以实际部署版本为准。

  • 后端
  • 前端
  • 协同办公
  • 即时通讯
  • 企业应用

【免费下载链接】dootask

DooTask是一款开源在线项目任务管理工具,提供各类文档协作工具、在线思维导图、在线流程图、项目管理、任务分发、即时IM,文件管理等工具;同时消息功能使用非对称加密技术让你的沟通更安全。

项目地址:https://gitcode.com/gh_mirrors/do/dootask
点击查看免费下载

相关推荐

上一篇:三步掌握阿里云OSS管理:图形化云存储工具OSS Browser实战指南
下一篇:网络资源下载器完整指南:三步实现跨平台内容自由获取

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/21 10:58:27

SCI投稿要查AI率吗?2026年国内外期刊AIGC合格线汇总

投稿前查重大家都知道要做&#xff0c;但查AIGC很多人会漏掉&#xff0c;这一步现在和查重一样重要。 别以为自己写的稿子就没有AI率。检测系统看的是句式特征&#xff0c;不管是不是你亲手写的&#xff0c;套路化的综述、总结段落都可能被标红&#xff0c;测出20%-30%很常见。…

作者头像 李华
网站建设 2026/10/19 0:46:03

Linux 基础知识

由于我后期是要学习嵌入式的相关内容&#xff0c;这里我先分享一下我最近今天的学习内容。1. Linux基本命令首先我们知道Linux的根目录是“ / ”&#xff0c;也就是此处其他位置的计算机&#xff08;根目录&#xff09;然后我们来看家目录是“ ~ ”&#xff0c;可以通过路径来查…

作者头像 李华
网站建设 2026/10/19 13:04:56

一、初识 AI Infra

初识 AI Infra&#xff1a;从模型调用到数据搬运的系统分析方法 本文是《深入理解 AI Infra&#xff1a;量化分析与系统设计》第一章的学习总结。 原文&#xff1a;https://bojieli.github.io/ai-infra-book/manuscripts/01-初识 AI Infra.html 一、什么是 AI Infra&#xff1…

作者头像 李华
网站建设 2026/10/19 13:51:15

U.2 企业盘 × PCIe 4.0 / 5.0:主控与验证

U.2&#xff08;SFF-8639&#xff0c;2.5"&#xff09;企业 NVMe 的验证对象不是「一块会跑分的 M.2」&#xff0c;而是 热插拔 双端口 12V 供电 背板/线缆损耗 PLP NVMe-MI 稳态 QoS 固件生命周期。 PCIe 4.0 是当前 U.2 装机主力&#xff1b;PCIe 5.0 在 U.2 上能…

作者头像 李华
网站建设 2026/10/20 14:51:19

Access用了20年杀死VF,等来的却是:国产新型软件反杀!

现如今&#xff0c;使用Access数据库的人可能不多了。Access数据库在早些年的时候&#xff0c;微软旗下有两个广为人知的桌面数据库开发工具。一款是自家研发的Microsoft ACCESS&#xff0c;它依托Windows操作系统&#xff0c;并内嵌于Microsoft Office之中&#xff0c;深受用户…

作者头像 李华