#113 首次实现后,采购弹窗仍会显示未勾选货运单的商品、颜色、尺码和价格输入。复现步骤:
已确认根因:模板给每个未选 .purchase-confirm-row 设置了 hidden,JavaScript 也会更新 row.hidden 并禁用输入;但 CSS 的 .purchase-confirm-row { display: grid; } 覆盖了隐藏表现,且现有 Go 模板测试没有验证浏览器最终样式,所以缺陷未在自动测试中发现。
.purchase-confirm-row
hidden
row.hidden
.purchase-confirm-row { display: grid; }
本工单继续保证每条已选明细只展示当前 mapping_option_key 对应的唯一 PDD 组合及一个价格输入,不展示其他货运单、其他颜色或其他 SKU。
mapping_option_key
.purchase-confirm-row[hidden] { display: none; }
PddChoices
syb_id + mapping_option_key + context_version
admin/static/css/app.css
setupPurchaseModal
data-purchase-id
disabled
SybOrderView
PddOptionChoice
mapping_option_key/context_version
预计修改文件:
admin/static/js/app.js
admin/templates/syb/list.html
docs/admin/05-ui-specification.md
从 admin/ 执行:
admin/
$env:GOTOOLCHAIN="go1.23.0" go vet ./... go build ./... go test ./... -count=1 Remove-Item Env:GOTOOLCHAIN
浏览器验证:
display: none
状态:待实施。本工单与 #112 分开交付:只处理价格确认区按当前 mapping_option_key 展示选定颜色和对应价格,不修改执行模式、规格映射算法或价格采集结构。本轮未修改代码、未提交 Git。
开始实施 #113。范围只处理采购确认区按当前有效 mapping_option_key 展示选定的 PDD 颜色和对应价格;不修改映射算法、执行模式、采集价格结构或用户已有的 Client 改动。
实现完成,状态:待用户验收。
66565d50ccfc3682860280613c6f70d2b3efde8b
5536592
docs/task/113-采购价格仅展示选定颜色.md
go vet ./...
go build ./...
go test ./... -count=1
git diff --check
状态退回:待实施。复验确认首次实现未满足“未选中行隐藏”:.purchase-confirm-row { display: grid; } 覆盖了模板/JavaScript 设置的 hidden,导致其他货运单及规格价格行仍显示。工单已改为缺陷,要求补充 [hidden] { display: none; } 等效规则、保持未选 input disabled,并增加单选/批量/重复打开的浏览器人工验收。本轮仅更新工单,未修改代码。
[hidden] { display: none; }
开始按复验缺陷重新实施 #113:补齐未选采购确认行的强制隐藏样式,核对重复打开/批量选择时 hidden 与 disabled 同步,并增加 CSS/模板回归验证。不会连接 Android 或创建真实订单。
复验缺陷修复完成,状态:待用户验收。
1345803
3b659eb
66565d5
display:none
用户已明确验收通过。验收清单已回填,本工单关闭。
No dependencies set.
The note is not visible to the blocked user.
基本信息
要解决什么
#113 首次实现后,采购弹窗仍会显示未勾选货运单的商品、颜色、尺码和价格输入。复现步骤:
已确认根因:模板给每个未选
.purchase-confirm-row设置了hidden,JavaScript 也会更新row.hidden并禁用输入;但 CSS 的.purchase-confirm-row { display: grid; }覆盖了隐藏表现,且现有 Go 模板测试没有验证浏览器最终样式,所以缺陷未在自动测试中发现。本工单继续保证每条已选明细只展示当前
mapping_option_key对应的唯一 PDD 组合及一个价格输入,不展示其他货运单、其他颜色或其他 SKU。做什么 / 不做什么
做
.purchase-confirm-row[hidden] { display: none; }规则,确保未选行在浏览器中不可见。PddChoices全量传给采购价格确认区。syb_id + mapping_option_key + context_version重新校验映射,拒绝失效或串行数据。不做
已确认的实现方案
admin/static/css/app.css为采购确认行补充属性选择器隐藏规则,优先级足以覆盖默认 grid 布局。setupPurchaseModal:每次打开都只根据当前按钮的data-purchase-id或当前勾选框生成选中集合,并同步hidden与所有 input 的disabled。SybOrderView继续只通过当前mapping_option_key查找唯一PddOptionChoice,模板只渲染其格式化标签和一个价格输入。mapping_option_key/context_version。PddChoices;浏览器手工验证单选、批量和重复打开三种场景。预计修改文件:
admin/static/css/app.cssadmin/static/js/app.js(若状态重置检查需要)admin/templates/syb/list.htmldocs/admin/05-ui-specification.md验收标准
hidden,其全部 input 保持disabled且不会随表单提交。.purchase-confirm-row[hidden] { display: none; }或等效规则。mapping_option_key对应 choice。怎么验证
从
admin/执行:浏览器验证:
display: none,其 input 为 disabled。风险和回退
状态:待实施。本工单与 #112 分开交付:只处理价格确认区按当前 mapping_option_key 展示选定颜色和对应价格,不修改执行模式、规格映射算法或价格采集结构。本轮未修改代码、未提交 Git。
开始实施 #113。范围只处理采购确认区按当前有效 mapping_option_key 展示选定的 PDD 颜色和对应价格;不修改映射算法、执行模式、采集价格结构或用户已有的 Client 改动。
实现完成,状态:待用户验收。
66565d50ccfc3682860280613c6f70d2b3efde8b5536592docs/task/113-采购价格仅展示选定颜色.mdgo vet ./...、go build ./...、go test ./... -count=1全部通过,git diff --check通过Admin:采购价格区仅展示已映射的选定颜色to Admin:采购价格区仅展示已选明细和映射规格状态退回:待实施。复验确认首次实现未满足“未选中行隐藏”:
.purchase-confirm-row { display: grid; }覆盖了模板/JavaScript 设置的hidden,导致其他货运单及规格价格行仍显示。工单已改为缺陷,要求补充[hidden] { display: none; }等效规则、保持未选 input disabled,并增加单选/批量/重复打开的浏览器人工验收。本轮仅更新工单,未修改代码。开始按复验缺陷重新实施 #113:补齐未选采购确认行的强制隐藏样式,核对重复打开/批量选择时 hidden 与 disabled 同步,并增加 CSS/模板回归验证。不会连接 Android 或创建真实订单。
复验缺陷修复完成,状态:待用户验收。
13458033b659eb66565d5.purchase-confirm-row[hidden] { display: none; },防止 grid 覆盖 hidden;回归测试同时约束模板初始 disabled 和 JavaScript 每次打开同步 hidden/disabledgo vet ./...、go build ./...、go test ./... -count=1全部通过;Microsoft Edge headless 验证计算样式为display:none用户已明确验收通过。验收清单已回填,本工单关闭。