{{ t.type === 'error' ? '❌' : t.type === 'success' ? '✅' : 'ℹ️' }} {{ t.message }}
📋

PM Tool

局域网 + Tailscale 外网访问

{{ loginError }}

还没有账号?
外网访问方式
在 LAN 内(同 WiFi)
http://192.168.1.168
公网访问(任意设备,无需客户端)
https://dzzrobot2.taild2e7df.ts.net
Tailscale Funnel 直通,自动 HTTPS
Tailscale 内网(需装客户端)
http://dzzrobot.taild2e7df.ts.net
需在客户端安装 Tailscale 并登录 jchenshef@gmail.com

注册账号

注册成功后自动登录。注册用户默认角色为 MEMBER(成员)。

{{ registerError }}

{{ currentProject.key }}

{{ currentProject.name }}

{{ statusLabel(currentProject.status) }}

{{ route.name === 'overview' ? '我的概览' : route.name === 'my-tasks' ? '我的任务' : route.name === 'users' ? '用户管理' : 'PM Tool' }}

我的任务(总)
{{ overview.assigned.total }}
逾期
{{ overview.assigned.overdue }}
我创建的
{{ overview.created.total }}
进行中
{{ overview.assigned.byStatus.IN_PROGRESS || 0 }}

状态分布

{{ statusLabel(status) }}
{{ count }}

最近更新

还没有任务
{{ t.project.key }}-{{ t.number }} {{ t.title }} {{ statusLabel(t.status) }} {{ priorityLabel(t.priority) }}
没有任务
任务 项目 状态 优先级 截止 负责人
#{{ t.number }} {{ t.title }}
{{ t.project.key }} {{ statusLabel(t.status) }} {{ priorityLabel(t.priority) }} {{ t.dueDate ? formatDate(t.dueDate) : '—' }} {{ '@' + (t.assignee?.username || '未分配') }}
{{ col.label }} {{ tasksByStatus[col.key].length }}
{{ currentProject.key }}-{{ t.number }}
{{ t.title }}
{{ t.description }}
{{ priorityLabel(t.priority) }}
{{ t.assignee.username }}
没有任务
# 标题 状态 优先级 负责人 截止 更新
{{ t.number }} {{ t.title }} {{ statusLabel(t.status) }} {{ priorityLabel(t.priority) }} {{ t.assignee ? '@' + t.assignee.username : '—' }} {{ t.dueDate ? formatDate(t.dueDate) : '—' }} {{ formatTime(t.updatedAt) }}

任务分布

{{ statusLabel(status) }}
{{ count }}
总任务
{{ projectTotal }}
已完成
{{ projectStatusCounts.DONE || 0 }}
完成率
{{ projectTotal ? Math.round((projectStatusCounts.DONE || 0) / projectTotal * 100) : 0 }}%

成员工作量

暂无成员
{{ m.user.displayName || m.user.username }} {{ '@' + m.user.username }}
{{ memberTaskCounts[m.userId] || 0 }} 任务
用户 邮箱 角色 拥有项目 负责任务 创建任务 注册时间 操作
{{ u.displayName || u.username }}
{{ '@' + u.username }}
{{ u.email }} {{ roleLabel(u.role) }} {{ u._count?.ownedProjects || 0 }} {{ u._count?.assignedTasks || 0 }} {{ u._count?.createdTasks || 0 }} {{ formatDate(u.createdAt) }} (自己)
加载中…

新建项目

新建任务

{{ u.displayName || u.username }} {{ '@' + u.username }}
{{ datePickerYear }} 年 {{ datePickerMonth }} 月
{{ d }}
{{ cell.day }}

项目成员

{{ m.user.displayName || m.user.username }}
{{ '@' + m.user.username }} · {{ roleLabel(m.user.role) }} · {{ roleLabel(m.role) }}
添加成员
{{ u.displayName || u.username }} {{ '@' + u.username }}
没找到可添加的用户

更换头像

暂无头像

支持 jpg/png/webp/gif,最大 2MB

{{ avatarUploadError }}

{{ userDialogMode === 'create' ? '添加用户' : '编辑用户' }}

键盘快捷键

新建任务C
聚焦搜索/
关闭弹窗Esc
切换看板/列表/概览1 2 3
显示帮助?