feat(V0.2): 任务类型标签 —— 项目级自定义 + 任务标记 + 列表/看板展示
Docker Build and Push / build-image (push) Successful in 1m21s
Docker Build and Push / build-image (push) Successful in 1m21s
- 数据: Project.taskKinds (JSON, 未配置回落默认 需求/Bug/FEATURE/优化), Task.kind (≤20字); 迁移 20261025030000_task_kind - 服务: 项目 PUT 支持整体替换 taskKinds (去重/上限30/至少1个); 任务 create/update 支持 kind (空串清空) - 项目管理: 新增「任务类型」分区, chips 展示 + 弹层编辑 (删除/新增) - 任务详情: 新增「类型」字段, 项目类型 chips 点选, 可清空 - 展示: 列表行左下与看板卡左下显示彩色小标签 (需求蓝/Bug红/FEATURE紫/优化橙, 自定义类型灰)
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import StatusDot from './StatusDot.jsx'
|
||||
import { kindColor } from '../../pages/task/kind.js'
|
||||
|
||||
const statusLabel = (s) => (s === 'done' ? '完成' : s === 'doing' ? '执行中' : '未开始')
|
||||
|
||||
@@ -48,9 +49,14 @@ export default function TaskRow({
|
||||
<>
|
||||
<div className="task-main">
|
||||
<div className="task-title">{task.title}</div>
|
||||
{task.members?.length > 0 && (
|
||||
{(task.kind || task.members?.length > 0) && (
|
||||
<div className="task-meta">
|
||||
<span className="members">+ {task.members.map((m) => m.name).join('、')}</span>
|
||||
{task.kind && (
|
||||
<span className="kind-tag" style={{ background: kindColor(task.kind) }}>{task.kind}</span>
|
||||
)}
|
||||
{task.members?.length > 0 && (
|
||||
<span className="members">+ {task.members.map((m) => m.name).join('、')}</span>
|
||||
)}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user