# P6→NS1/RNS1 缺失项 #12:任务列表页的搜索功能 ## 简要结论 - 状态:❌ 未解决 - 风险等级:🟠 中 - 前端无搜索组件,后端 TASK-1 API 不支持搜索参数,前端 services 层无搜索相关调用。 ## 详细审查 ### 审查范围 - `apps/miniprogram/miniprogram/pages/task-list/task-list.wxml` - `apps/miniprogram/miniprogram/pages/task-list/task-list.ts` - `apps/backend/app/routers/xcx_tasks.py` - `apps/backend/app/schemas/xcx_tasks.py` - `apps/miniprogram/miniprogram/services/`(grep 搜索) ### 发现 1. task-list.wxml 中无 `` 或任何搜索输入组件 2. task-list.ts 中无搜索相关的 data 字段(如 `searchKeyword`)或方法(如 `onSearch`) 3. 后端 `GET /api/xcx/tasks` 仅支持 `status`、`page`、`page_size` 三个查询参数,无 `keyword`/`search`/`query` 参数 4. services 目录下 grep `search|keyword|query` 结果为空 5. TaskListResponse schema 中无搜索相关字段 ### 证据 后端路由签名: ```python @router.get("", response_model=TaskListResponse) async def get_tasks( status: str = Query("pending", pattern="^(pending|completed|abandoned)$"), page: int = Query(1, ge=1), page_size: int = Query(20, ge=1, le=100), user: CurrentUser = Depends(require_approved()), ): ``` 无 `keyword` 或 `search` 参数。 task-list.wxml 中 banner 区域和任务列表区域之间无搜索栏。 ### 建议 1. 前端:在 banner 下方、任务列表上方添加 `` 组件,支持按客户名/手机号搜索 2. 后端:`GET /api/xcx/tasks` 添加可选参数 `keyword: str = Query(None)`,在 SQL 中对 `member_name` 和 `member_phone` 做 `ILIKE` 模糊匹配 3. 前端搜索应做防抖(300ms),避免频繁请求 4. 搜索结果为空时显示专用空状态("未找到匹配的客户")