# P6→NS1/RNS1 缺失项 #1:任务卡片 5 种状态的视觉规范 ## 简要结论 - 状态:⚠️ 部分解决 - 风险等级:🟠 中 - 前端已实现 3 种状态(待处理/已置顶/已放弃)的视觉差异,但缺少「已完成」和「过期」两种独立状态的视觉规范。 ## 详细审查 ### 审查范围 - `apps/miniprogram/miniprogram/utils/vi-colors.ts` — TASK_STATUS_COLORS - `apps/miniprogram/miniprogram/utils/task-config.ts` — TASK_STATUS_CONFIG - `apps/miniprogram/miniprogram/pages/task-list/task-list.wxml` — 卡片模板 - `apps/miniprogram/miniprogram/pages/task-list/task-list.wxss` — 卡片样式 - `apps/miniprogram/miniprogram/pages/task-list/task-list.ts` — 分组逻辑 ### 发现 **已实现的 3 种状态:** 1. **待处理(normal/pending)**:白色卡片,左侧彩条按任务类型着色(红/橙/粉/青),正常文字颜色 2. **已置顶(pinned)**:在待处理基础上增加金色光晕阴影(`box-shadow: 0 5rpx 7rpx rgba(245,158,11,0.12), 0 0 0 8rpx rgba(245,158,11,0.08)`) 3. **已放弃(abandoned)**:左侧彩条变灰(`--status-abandoned-border`),整卡透明度降低(`opacity: 0.55`),标签灰化,文字变灰 **缺失的 2 种状态:** 4. **已完成(completed)**:`task-config.ts` 的 `TASK_STATUS_CONFIG` 中无 `completed` 键;`vi-colors.ts` 的 `TASK_STATUS_COLORS` 中无 `completed` 定义;WXML 中无 `task-card--completed` 类 5. **过期(expired)**:无独立的过期卡片状态样式。过期目前仅通过 `deadline` 字段在卡片内显示红色逾期徽章(`overdue-badge`),但卡片整体样式不变 ### 证据 `vi-colors.ts` 第 4 节仅定义了两种状态: ```typescript export const TASK_STATUS_COLORS = { pinned: { name: '置顶', glowColor: '#f59e0b', ... }, abandoned: { name: '放弃', borderColor: '#d1d5db', textColor: '#9ca3af', opacity: 0.55 }, } ``` `task-config.ts` 仅定义了三种状态: ```typescript export const TASK_STATUS_CONFIG = { normal: { label: '进行中', icon: '📋' }, pinned: { label: '已置顶', icon: '📌' }, abandoned: { label: '已放弃', icon: '❌' }, } ``` ### 建议(如未完全解决) 1. 在 `TASK_STATUS_COLORS` 和 `TASK_STATUS_CONFIG` 中补充 `completed` 和 `expired` 状态定义 2. 已完成状态建议:绿色勾选图标 + 轻微灰化(opacity 0.7-0.8),左侧彩条保留但降低饱和度 3. 过期状态建议:红色边框或红色背景提示,与逾期徽章配合使用 4. 注意:后端 `get_task_list_v2` 按 status 筛选(pending/completed/abandoned),前端目前仅请求 pending 状态,completed 列表页尚未实现