Admin:统一列表搜索区的清除按钮 #248

Open
opened 2026-08-15 17:45:52 +08:00 by ila · 1 comment
Owner

基本信息

  • 类型:需求
  • 父级大工单:#14
  • 所属 MVP / 版本:#15 / Admin 界面一致性
  • 阶段:列表筛选交互统一
  • 状态:待验收

要解决什么

顺运宝数据和档口入库码的搜索区已经在“搜索”前提供常驻“清除”入口,但蝦皮数据、PDD 商品、采集采购、客户端列表和用户管理只有搜索无结果时才可能出现“查看全部/清除条件”链接。采购员需要先手工清空输入框和下拉框,跨模块操作不一致。

复现方式:进入上述任一页面,设置关键词或状态并搜索;工具条中找不到可以一次恢复默认列表的“清除”按钮。

做什么 / 不做什么

  • 做:
    • 在蝦皮数据、PDD 商品、采集采购、客户端列表和用户管理的搜索区增加常驻“清除”入口。
    • 统一顺序为“查询控件 → 清除 → 搜索”。
    • 清除关键词及该列表的状态、类型、创建人等筛选条件,省略 page 使列表回到第 1 页,并保留归一化后的 page_size���
    • 蝦皮回收站和“未登记商品”属于独立查看范围,清除普通搜索条件时继续保留当前查看范围。
    • 补充模板测试和界面规范。
  • 不做:
    • 不修改顺运宝数据和档口入库码已有清除行为。
    • 不给没有搜索区的店铺管理、AI 配置增加无意义按钮。
    • 不修改数据库、接口、查询 SQL、分页规则或 Client。

怎么做

  • 修改 admin/templates/shopee/list.html、pdd/list.html、task/list.html、client/list.html、user/list.html,使用普通 GET 链接实现清除,不增加 JavaScript。
  • 所有清除链接只携带 page_size;蝦皮页面按当前模式额外保留 deleted、unlinked。
  • 新增模板级回归测试,逐页校验清除链接、按钮顺序和参数边界。
  • 更新 docs/admin/05-ui-specification.md,把统一交互写入长期基线。

验收标准

  • 5 个目标 Tab 的工具条都显示“清除”,且位于“搜索”之前。
  • 点击清除会移除关键词及该页面的状态、类型、创建人等普通筛选,并回到第 1 页。
  • 清除后保留当前 page_size;蝦皮回收站和未登记商品范围不会被意外退出。
  • 顺运宝数据、档口入库码、店铺管理和 AI 配置不发生行为变化。
  • 模板测试覆盖 5 个页面,并通过固定 Go 1.23.0 的 build/test。
  • 界面规范与最终页面行为一致。

怎么验证

从 admin/ 执行:

$env:GOTOOLCHAIN='go1.23.0'
go vet ./...
go build ./...
go test ./... -count=1
Remove-Item Env:GOTOOLCHAIN

再检查 5 个模板中“清除”链接位于“搜索”按钮之前,链接不携带普通筛选和页码参数。

## 基本信息 - 类型:需求 - 父级大工单:#14 - 所属 MVP / 版本:#15 / Admin 界面一致性 - 阶段:列表筛选交互统一 - 状态:待验收 ## 要解决什么 顺运宝数据和档口入库码的搜索区已经在“搜索”前提供常驻“清除”入口,但蝦皮数据、PDD 商品、采集采购、客户端列表和用户管理只有搜索无结果时才可能出现“查看全部/清除条件”链接。采购员需要先手工清空输入框和下拉框,跨模块操作不一致。 复现方式:进入上述任一页面,设置关键词或状态并搜索;工具条中找不到可以一次恢复默认列表的“清除”按钮。 ## 做什么 / 不做什么 - 做: - 在蝦皮数据、PDD 商品、采集采购、客户端列表和用户管理的搜索区增加常驻“清除”入口。 - 统一顺序为“查询控件 → 清除 → 搜索”。 - 清除关键词及该列表的状态、类型、创建人等筛选条件,省略 `page` 使列表回到第 1 页,并保留归一化后的 `page_size`��� - 蝦皮回收站和“未登记商品”属于独立查看范围,清除普通搜索条件时继续保留当前查看范围。 - 补充模板测试和界面规范。 - 不做: - 不修改顺运宝数据和档口入库码已有清除行为。 - 不给没有搜索区的店铺管理、AI 配置增加无意义按钮。 - 不修改数据库、接口、查询 SQL、分页规则或 Client。 ## 怎么做 - 修改 `admin/templates/shopee/list.html`、`pdd/list.html`、`task/list.html`、`client/list.html`、`user/list.html`,使用普通 GET 链接实现清除,不增加 JavaScript。 - 所有清除链接只携带 `page_size`;蝦皮页面按当前模式额外保留 `deleted`、`unlinked`。 - 新增模板级回归测试,逐页校验清除链接、按钮顺序和参数边界。 - 更新 `docs/admin/05-ui-specification.md`,把统一交互写入长期基线。 ## 验收标准 - [x] 5 个目标 Tab 的工具条都显示“清除”,且位于“搜索”之前。 - [x] 点击清除会移除关键词及该页面的状态、类型、创建人等普通筛选,并回到第 1 页。 - [x] 清除后保留当前 `page_size`;蝦皮回收站和未登记商品范围不会被意外退出。 - [x] 顺运宝数据、档口入库码、店铺管理和 AI 配置不发生行为变化。 - [x] 模板测试覆盖 5 个页面,并通过固定 Go 1.23.0 的 build/test。 - [x] 界面规范与最终页面行为一致。 ## 怎么验证 从 `admin/` 执行: ```powershell $env:GOTOOLCHAIN='go1.23.0' go vet ./... go build ./... go test ./... -count=1 Remove-Item Env:GOTOOLCHAIN ``` 再检查 5 个模板中“清除”链接位于“搜索”按钮之前,链接不携带普通筛选和页码参数。
Author
Owner

实施完成,待用户验收

  • 蝦皮数据、PDD 商品、采集采购、客户端列表、用户管理均已在“搜索”前增加常驻“清除”。
  • 清除普通筛选并回到第 1 页,保留 page_size;蝦皮回收站和未登记商品查看范围继续保留。
  • 使用普通 GET 链接实现,没有新增 JavaScript、接口、数据库或 Client 改动。
  • 新增 5 页集中式模板回归测试,并同步更新界面规范。
  • 固定 Go 1.23.0 的 go vet ./...、go build ./...、go test ./... -count=1 全部通过。
  • 实现提交:9f35419
  • 归档提交:d79e5c4
  • 归档:docs/task/248-admin统一列表搜索区清除按钮.md

未验证:未登录浏览器在 1366×768 下逐页人工点击;模板结构、链接参数、操作顺序和完整 Go 回归已经自动验证。

## 实施完成,待用户验收 - 蝦皮数据、PDD 商品、采集采购、客户端列表、用户管理均已在“搜索”前增加常驻“清除”。 - 清除普通筛选并回到第 1 页,保留 `page_size`;蝦皮回收站和未登记商品查看范围继续保留。 - 使用普通 GET 链接实现,没有新增 JavaScript、接口、数据库或 Client 改动。 - 新增 5 页集中式模板回归测试,并同步更新界面规范。 - 固定 Go 1.23.0 的 `go vet ./...`、`go build ./...`、`go test ./... -count=1` 全部通过。 - 实现提交:`9f35419` - 归档提交:`d79e5c4` - 归档:`docs/task/248-admin统一列表搜索区清除按钮.md` 未验证:未登录浏览器在 1366×768 下逐页人工点击;模板结构、链接参数、操作顺序和完整 Go 回归已经自动验证。
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: chengma/cmautobuy#248