No Branch/Tag Specified
main
fix/348-reveal-swipe
feat/340-syb-excluded-products
fix/351-inner-code-apply-selection
fix/350-match-layout
fix/350-inner-code-matching
feat/349-batch-return-use
feat/347-batch-return-cancel
feat/345-yeeke-reship
fix/346-root-serves-spa
fix/344-inner-code-stall-match
fix/343-syb-writeback-session
feat/339-syb-page-size
feat/338-return-match
feat/337-yeeke-admin-ui
feat/336-yeeke-return-sync
fix/335-bottom-submit-node
fix/334-spec-probe-top-swipe
fix/333-purchaser-device-owner
fix/331-spec-panel-recognition
fix/330-syb-writeback-session
feat/327-syb-writeback-filter
feat/326-order-information
fix/325-order-result
feat/316-chrome-order-backfill
fix/307-backfill-entry
feat/305-syb-order-writeback
feat/306-order-paid-amount
release/283
fix/283-purchase-mapping-consistency
fix/230-horizontal-spec-selection
feat/263-spec-rematch
fix/262-purchase-handoff
fix/260-261-purchase-readiness
fix/259-partial-collection-link
feat/258-one-click-replace
fix/257-color-normalized-match
fix/256-collection-single-dimension
fix/255-current-page-reidentify
feat/253-one-click-link
fix/254-match-loading
fix/251-syb-spec-candidates
feat/250-continuous-collection
fix/249-local-purchase-diagnostics
fix/248-bottom-submit
fix/247-short-address-panel
fix/246-address-return-panel
fix/245-purchase-failure-diagnostics
fix/244-selected-card-duplicates
fix/243-spec-entry-recovery
feat/242-agent-order-backfill
feat/241-order-backfill-endpoint
fix/239-syb-partial-sync
fix/238-spec-panel-preswipe
feat/237-client-api-keys
feat/236-purchaser-syb-sync
fix/235-syb-pagination-overlap
release/234-integrated
fix/229-address-entry-dedup
fix/228-selection-proof-panel-transition
fix/227-address-panel-return
fix/226-reopen-pdd-on-manual-retry
fix/225-in-place-purchase-retry
fix/224-final-spec-revalidation
fix/223-probed-confirmed-mapping
chore/221-devharness-sync
feat/218-purchase-result-bubble
fix/217-agent-retry-current-spec
fix/216-syb-spec-role-order
feat/215-mandatory-live-spec-probe
feat/214-verified-purchase-actions
fix/212-syb-sync-shop-snapshot
feat/211-spec-entry-ready-wait
feat/210-order-result-payment-transition
feat/209-pdd-bottom-spec-entry
feat/200-ai-match-result-purchase-ready
feat/199-job-execution-logs
feat/198-syb-ai-parse
feat/195-scheduled-spec-auto-match
fix/197-ai-write-timeout
feat/190-syb-inline-correction
fix/193-address-entry-reveal
feat/194-one-click-spec-match
fix/192-order-result-scroll
No results found.
Labels
No items
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: OPC/goauto#351
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
当前状态
已实施、验证、合并 main 并按授权部署至 167;待用户验收。无迁移、无真实 SYB 回写。
原始需求及事实
用户反馈混选很多入库码记录,只有 1 条可回写,但确认弹窗被不可回写项阻塞。基线 main 4959f3d:按钮数字只统计 ready,而 openApply/confirmApply 提交 selected 的所有 ID;服务端对任一非 ready 项拒绝整批,预览 blocked 也会禁用整批确认。
目标:批量混选时仅操作当前页选中的 ready 项,其他项明确跳过;显示数量、预览和实际提交范围一致。
范围、依赖与非目标
交付单元仅 Web:syb-inner-codes 页面及受影响测试。依赖 #350 已合并发布的匹配及 rematch 能力,依赖已满足;不与 #340 捆绑。Server API、字段、数据库、权限、订单、匹配算法及 SYB 回写执行器不变;无需迁移。不自动执行真实 SYB 回写。
轻量设计证据 v1(复用现有页面/Element Plus 弹窗)
沿用列表勾选和“回写 N”按钮。N 由当前页勾选且 ready 的唯一记录计算;N=0、加载失败、匹配/回写/提交进行中禁用。
点击按钮时固定本次当前页勾选与合格 ID,预览只发送合格项;确认期间列表刷新/勾选改变不更改固定范围。弹窗标题“确认回写 N 条业务记录”,展示“选中 X 条,可回写 N 条,跳过 Y 条”,保留入库码总数/占位/替换旧码指标。跳过为说明,不阻塞合法项。确认按钮“回写 N 条”,只提交通过预览的固定 ID。
预览时部分候选已不合格:明确显示并剔除,使用剩余合格项重新取得准确预览,剩余为零则禁用;不自动回写。预览异常、返回范围不一致时显示错误并禁用,不能将空预览当成功。确认期间及提交中不能重复提交;请求结果未知不自动重试,仍由原回写状态/只读复核流程处理。
加载/预览失败、无可用项、状态变化、原权限边界和取消均保留。小范围恢复既有批量按钮含义,无新页面,复用现有弹窗,无需完整独立原型。
确认来源:用户在上述最小方案后明确“建工单,做,合并,部署”;确认人用户,时间 2026-09-29,覆盖全部上述最小范围。
验收和验证
混选已回写/失败/ready 只预览并提交 ready;数量真实一致;候选 ID 去重、排除离页项;打开后更改选择/列表不扩大范围;预览 blocked 剔除并刷新准确指标,零合格项及网络失败禁用;后端状态冲突仍明确失败、不盲目重试。按钮互斥/防双击/取消及原匹配、回写行为回归。
执行 Web 单元测试、浏览器隔离 mock、受影响 ESLint、生产构建、diff 检查;部署保持原 Server/config/static/temp,切换 dist 与重启 GoAuto/Nginx,检查首页、资源、API及无运行中任务。不调用真实 /apply 接口测试。
风险与文档
只过滤提交范围,不放宽后端校验。发布已获用户明确授权;真实回写仍须采购员在页面人工确认。保留旧发布用于回滚。
长期文档更新 Business-Rules-and-Glossary 的批量回写确认范围;无 API/schema/权限变化,其他契约不改。Wiki-first 在线回读 revision 后一轮 sync/check。实现/提交/上线验证回写本单,保持待验收。
实施、合并与线上发布完成,待验收(2026-09-29)
实现与设计证据
仅修改 Web 档口入库码页面及测试。沿用现有列表/Element Plus 弹窗,设计按用户已确认的 v1 最小方案执行。ui-ux-pro-max 用于明确批量操作范围与跳过反馈,不增加页面、审批或权限。
验证
Git 与文档
源码 ee8f80f987e386c75fa05752e77b0524687d0d87;文档 d72d77d;main 合并 1e582cd868bf8d23b599147dcbd11c69d61bca0c,已推送并回读一致。#340 未合并。
Wiki Business-Rules-and-Glossary 在线更新/回读 revision 32c6b496de47b54ca04e081271114c28ff439e0c,一轮 sync 与一轮 sync --check 通过(17 页一致)。无 API/schema/权限变化,不改其他契约。docs/12-syb-erp-interface.md 无关镜像差异未提交。
发布
线上目录 /home/goauto/releases/20260929-351-web;原 /home/goauto/releases/20260929-350-v2-4959f3d 保留用于回滚。
只发布 Web dist;复制原 Server/config/static/temp,不改凭据或定时任务,不执行迁移。Web 发布包 SHA-256 b6df030ca308535e051a4860bc1e8940dfd034eab3744a97c45f41a7e03a7bb5;原 Server SHA-256 4a980df95a6e27429b62e82f6cbea2646642e6f262ba307243e7a6a82f5cfd59,上传/复制后均已核对。
发布前无运行中采集/采购/匹配/回写;原子切换 current、重启 GoAuto、nginx -t/reload 通过;服务 active,启动后无 panic/fatal/1146/1054。发布前后全部入库码记录状态及更新时间完全相同;没有 SQL 生产状态修改、匹配或 SYB 回写。
验收与边界
请强刷档口入库码页,全选混合状态记录,确认“回写 N”及弹窗跳过数量正确,只操作合法项。真实 SYB 回写留给采购员人工确认,本轮未执行,工单保持开放待验收。MCP 不可用按既有记录使用 Gitea API。