包含多个会话的累积代码变更: - backend: AI 聊天服务、触发器调度、认证增强、WebSocket、调度器最小间隔 - admin-web: ETL 状态页、任务管理、调度配置、登录优化 - miniprogram: 看板页面、聊天集成、UI 组件、导航更新 - etl: DWS 新任务(finance_area_daily/board_cache)、连接器增强 - tenant-admin: 项目初始化 - db: 19 个迁移脚本(etl_feiqiu 11 + zqyy_app 8) - packages/shared: 枚举和工具函数更新 - tools: 数据库工具、报表生成、健康检查 - docs: PRD/架构/部署/合约文档更新 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1.8 KiB
1.8 KiB
P6→NS1/RNS1 缺失项 #12:任务列表页的搜索功能
简要结论
- 状态:❌ 未解决
- 风险等级:🟠 中
- 前端无搜索组件,后端 TASK-1 API 不支持搜索参数,前端 services 层无搜索相关调用。
详细审查
审查范围
apps/miniprogram/miniprogram/pages/task-list/task-list.wxmlapps/miniprogram/miniprogram/pages/task-list/task-list.tsapps/backend/app/routers/xcx_tasks.pyapps/backend/app/schemas/xcx_tasks.pyapps/miniprogram/miniprogram/services/(grep 搜索)
发现
- task-list.wxml 中无
<t-search>或任何搜索输入组件 - task-list.ts 中无搜索相关的 data 字段(如
searchKeyword)或方法(如onSearch) - 后端
GET /api/xcx/tasks仅支持status、page、page_size三个查询参数,无keyword/search/query参数 - services 目录下 grep
search|keyword|query结果为空 - TaskListResponse schema 中无搜索相关字段
证据
后端路由签名:
@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 区域和任务列表区域之间无搜索栏。
建议
- 前端:在 banner 下方、任务列表上方添加
<t-search>组件,支持按客户名/手机号搜索 - 后端:
GET /api/xcx/tasks添加可选参数keyword: str = Query(None),在 SQL 中对member_name和member_phone做ILIKE模糊匹配 - 前端搜索应做防抖(300ms),避免频繁请求
- 搜索结果为空时显示专用空状态("未找到匹配的客户")