{{define "task/list"}} {{template "header" .}} {{/* 三段式布局的第一段:顶部工具条。 采集和采购放在同一页,最常被问的是"有没有卡住的任务", 所以类型/状态筛选放在关键词搜索前面,见 #19。 */}}
{{/* search-narrow 把搜索框收到 30%,让「搜索」按钮紧挨着它。 用类名而不是改 .toolbar input[type="text"]——那条被五个页面共用。 */}}
{{/* 把当前筛选一起带过去,删除完还停在原来的筛选上 */}}
{{/* 第二段:表格。双击一行打开只读详情弹窗,见 static/js/app.js */}}
{{range .Rows}} {{/* 类型是中文文字,不能只靠颜色区分 */}} {{else}} {{/* 空状态要分情况:从没建过任务 和 筛选没结果,下一步动作完全不同 */}} {{end}}
任务编号 类型 执行模式 目标 状态 客户端 更新时间
{{.TaskID}}{{.TypeText}} {{.ExecutionModeText}} {{.Target}} {{.StatusText}} {{.ClientText}} {{.UpdatedAt}}
{{if .IsFiltered}} 当前筛选条件下没有任务。
换个类型、状态或关键词再试。查看全部 {{else}} 还没有任务。
到「PDD 商品」勾选商品点「创建采集任务」, 或到「顺运宝数据」勾选货运单点「创建采购任务」。 {{end}}

双击任意一行可以查看这个任务的完整信息,包括分配客户端、领取/完成时间和错误详情。

{{/* ── 详情弹窗的壳子 ─────────────────────────── 里面的内容双击行时由 /tasks/detail 返回,前端只负责放进来和显示。 机制复用 #18 的 setupRowDetail,不新造一套。 */}} {{template "footer" .}} {{end}}