report.md 100 KB

八个移动界面验收记录(约定 H5 范围已完成)

后续样式修正:运输计划详情

按用户要求对齐客户详情:基础、运费、装送货及产品字段左右排列,字段名14px/400/#323233,字段值14px/400/#969799,分区标题13px/700/#087f57;去除嵌套色块与多余边框,保留状态提示、合同链接和44px操作触区。只修改移动detail.vue、PlanStopReadCard.vue、PlanStopFeedbackCard.vue的scoped样式,模板与业务script逐字对比不变,Web未修改。

375/414实测文档宽367/406,无横向溢出;414分区左右各10px(扣除8px滚动条),6锚点单行高44、底栏按钮高44。基础、装送货、产品、运费截图复核;未写业务数据。ESLint、三文件模板/样式编译、12项已有详情测试及diff检查通过;前端与根图谱增量更新exit0。本次未重复全量构建。

证据在../2026-10-23/:M07-style-aligned-base-375.png、M07-style-aligned-stops-375.png、M07-style-aligned-freight-414.png、M07-style-aligned-metrics-375.json、M07-style-aligned-metrics-414.json。

范围:客户管理、产品管理、报价单管理、报价单审批、合同管理、合同审批、运输计划、危化品证上传。初始基线 97cbba3b0,2026-10-23接续基线 5b00081d8,工作分支 codex/mobile-eight-pages-qa。Web 页面仅作只读业务对照;修复不得改变 Web 功能和展示。

当前结论(2026-10-23 收尾更新)

本轮已完成原先等待确认的三项业务操作:新测试合同驳回即时刷新、专用运输计划安排及调整、三类测试证书上传保存与自动齐备。下面为最新状态,后文为按时间保留的过程记录;历史“待授权/待返修”由后续同项验证结果覆盖,不再重复执行。

模块 验收结果 / 已完成证据 限制或剩余项
M01 客户管理 H5 范围内新增编辑、联系人、跟进、开票、筛选返回及附件上传预览下载通过;身份保护、校验及375/414布局触区修复有回归证据 商机按用户要求排除。合同数量指标沿用与Web同一存储字段,不等同关联合同列表实时条数,未修改共享统计口径
M02 产品管理 新增编辑、上下架、分类全路径、危化标记、品牌别名、数字边界和取消回退通过;U02最终375/414复验通过 保留用户认可的页面模式
M03 报价管理 客户/联系人/产品检索、别名品牌、保存、金额及版本一致性、搜索返回通过;375/414最终回归通过 失败、乱序、身份切换等受控测试与真实UI证据分别记录
M04 报价审批 专用单驳回→编辑→再提审→本人通过;必填意见、已审动作限制、筛选返回及触区通过 只有admin账号,其他真实角色未实测
M05 合同管理 独立移动表单、选择器卡片、编辑复制、普通/框架模式、金额校验、详情锚点及375/414布局通过 Web仅作只读对照,原功能不变
M06 合同审批 原专用单完整审批闭环通过;新单SX/X-JT20261023001于09:13:26驳回后立即显示草稿/已拒绝且审批按钮消失,无需刷新 早期即时刷新异常本轮未再现,不臆造根因或修改共享请求层
M07 运输计划 保存/复制/装送关联、移动合同产品卡片、快捷建档、安排/调整持久化、数量提醒、实际量/运费/合同查看/分段元数据通过;375/414及5173 H5容器复验通过 打印排除。状态写后读取失败、迟到响应、人员证书失败等为生产代码受控测试;未执行真实发货或地磅业务
M08 危化品证上传 三槽位上传、预览、保存重开、自动齐备、列表联动通过;未上传列表查无PO20261021002,全部列表唯一命中且已齐备 下载由用户在普通浏览器实测确认“下载成功,图片可打开”;内置浏览器拦截仅保留为工具限制记录,不再作为未完成项

约定 H5 验收范围完成:8/8,100%。 用户确认测试计划PO20261021002的购买证下载成功、图片可打开,补齐M08最后一项。此项证据来源为用户人工实测,不记为自动化下载验证。微信开发者工具/真机按用户要求暂缓,不能以H5替代。

最终代码验证已有记录:R4定向27项、R5最终12项通过,两级复核通过;最终生产构建exit0(1m12s),前端及根图谱更新exit0。收尾再查R5五文件SHA均与冻结清单一致,无新增源码变化,因此没有重复构建。全库类型检查仍存在既有错误,不宣称通过。

所有写操作仅涉及台账中的合成数据;无真实履约、发货或对外消息。新司机链接未复制发送或打开。证书为TEST ONLY图片,非有效证件。用户范围排除:商机、运输打印;设备边界:H5先验收。

问题台账

ID 严重性 问题 证据 处理状态
C01 P2 CRM 列表重查卸载搜索框,丢失焦点;详情返回丢条件 M01-search-focus.json、M01-return-list-375 四移动列表已修,75项纯测试通过;独立规格评审通过;合同搜索焦点、返回条件、报价审批返回Tab已实测;完整六入口回归进行中
C02 P2 报价客户/商机选择固定首30匹配且输入不即时过滤 M03-customer-search-stale-375 与 M03-customer-search-submit-375;CRM审计A04 已修,18项定向测试及规格/质量审查通过;实际验证第二批31–60条可达、输入即查、联系人姓名/电话搜索
C03 P2 报价/合同更多筛选确定后金额标题误变全部金额 M03-more-amount-375、M03-amount-label-defect-375;CRM审计A06 已修并完成独立复审;报价预设保持、自定义→全部清空已真实验证,合同UI继续回归
C04 P2 合同产品明细锚点滚动后误高亮甲乙方 M05-anchor-defect-375 已修,真实滚动高亮回归通过
C05 P2 合同关联报价为空、单位展示dun、缺税费及合计,含税字段口径与Web不同 M05-detail-375、WEB-contract-detail;同合同34DD6E3254DF44288CBA41EBF625D072 已修,普通合同真实UI回归通过;框架单价/总价/税费已真实回查并与同一Web框架合同的随行就市一致
C06 P2 合同移动新增仍为窄桌面弹窗;客户表格固定操作列遮挡名称,产品编辑横表不适合手机 M05-new-375、M05-customer-picker-defect-375 已改移动独立表单、Vant选择Sheet及产品卡片;375/414真实新增/编辑/复制/框架模式回归,50项测试及两级审查通过;审批闭环已完成,详情布局及最终回归继续
C07 P2 已审批合同选择后仍启用通过/驳回按钮 M06-approved-batch-gating-375 已修;真实选中1项后按钮仍禁用;未点击审批动作,不认定后端曾允许重复审批
C08 P2 合同详情在前置拒绝时仍可能给后续待审人操作按钮 CRM审计A05真实computed模拟 已按Python当前轮及缺时间降级对齐,93项本批+列表回归、独立复审通过;无真实第二账号复测
C09 P2 报价产品选择器第二页失败再试跳第三页 CRM审计A02实际源码函数模拟 已修,实际函数失败重试/旧响应/跨搜索缓存18项通过,真实跨搜索确认仅加入已选测试产品成功;又遇到真实请求失败,重试恢复成功
C10 P2 客户迁移要求排序入口缺失 CRM审计A08 已修;创建时间升降序、取消/重开、详情返回及默认排序已实测,两级审查通过
C11 P2 冷启动直接打开产品详情,函数式确认弹窗缺基础CSS,落在文档流底部且确认按钮被固定底栏遮挡 M02-direct-detail-confirm-layout-defect-414、同名json:popup position=static 已补移动壳Dialog/Toast样式,确认按钮40→44px;冷启动复验position=fixed、居中且真实确认上架成功,独立复核通过
C12 P2 合同复制来源失败后错误被持续骨架遮住,无重试入口 M05-copy-load-error-hidden-defect-414;移动form.vue的contentLoading/bootLoading分支 已修并真实复测:不存在来源显示“合同不存在”及重新加载,重试后仍正确保护、无空白可保存表单;M05-invalid-copy-retry-safe-375
C13 P2 小程序WebView包装已有查询参数的移动路径时重复拼问号,票据混入业务参数且不被清除 miniprogram/pages/common/mp-webview.vue:200;带copyFrom深链实际地址 已修;25项新测试+客户model回归通过及两级评审通过,真实带tab=follow深链回归通过,票据已正常清除;证据票据脱敏
C14 P1 客户添加跟进时,可选的下次联系时间为空却发送空字符串,导致日期字段SQL1292并保存失败 M01-follow-empty-nexttime-save-defect-414;FollowPanel.vue save实际提交 已修为空日期省略字段;25项新测试+客户model回归及两级评审通过,真实保存成功并回查跟进计数/时间;未改Web/后端
C15 P2 报价草稿更换客户联系人后,保存详情姓名仍旧联系人,但手机是新联系人 M03-test-draft-contact-name-defect-414,专用测试单SXDD-20261021001 移动专用入口已修;后端36/36、前端36/36及规格复审通过,质量复审通过;真实切换空手机号联系人后旧快照清空,再切回完整联系人正确回显;Web原接口保持不变
C16 P2 报价移动编辑最终总金额只展示产品合计,未加运费/桶押金,与保存详情不一致 实际UI:2×12.5=25,运费5押金3,form最终25/detail最终33 移动表单显示已修并真实验证25+5+3=33,与详情/Web只读对照一致;保存产品finalAmount口径不变;质量复审通过
C17 P2 客户跟进选中联系人后保存记录显示未关联联系人 M01-follow-empty-date-fixed-contact-label-defect-414;移动payload未提交schema已支持的contactName 移动payload已补,真实新增跟进后刷新仍显示移动验收测试联系人;下次时间为空保存正常;质量复审通过,不改Web/后端
C18 P2 产品移动编辑的分类输入只显示叶节点,未显示完整祖先路径 M02-category-input-path-defect-414;同记录列表完整路径正确 已修;分类输入完整路径、树节点仅名称及保存重进已实测;加载失败名称回退有定向测试,两级审查通过
C19 P2 移动报价驳回提示称无法再次提交,与编辑后回草稿再提审的实际规则不一致 M04-test-quote-reject-confirmation-414;update_quote重置草稿并作废旧审批 移动确认提示已修为可编辑回草稿再提交,规格及质量复审通过;专用报价已完成驳回、编辑、再提审、本人通过的真实闭环
C20 P1/P2 新合同移动表单规格复审发现元数据失败可能丢品牌、选择后必填残留、金额无约束、默认日期跨时区、已有联系人不能新增、小触区及按钮默认蓝色 review_contract_mobile_spec生产函数模拟;M05-new-mobile-form-375和实际字段操作 规格/质量复审通过,50项测试Root独立复跑通过;真实草稿/Web对照通过;414px验证1.5×29.99行/总额均44.99,手填1.001仍拦截;PC模板及计算路径隔离通过
C21 P2 移动报价缺别名/品牌选择及就地维护;详情自动套主数据首别名,偏离所存报价行 M03-test-quote-submitted-own-approver-414;readonly audit实际函数复现 规格/质量复审通过,155项相关回归;实际选择/清空/第二别名维护保存通过;跨控制器刷新失败阻写已修并独立复核
C22 P2 合同详情/列表及报价详情审批人弹层缺少检索,长列表连同完成栏滚出视口 合同真实38名候选无搜索;三处移动popup模板核实 已修三入口;375真实姓名/账号检索、空格大小写、取消恢复、12已选底栏、本人提审及批量跳过通过;规格/质量PASS
C23 P2 客户联系人手机号标记必填但空值仍保存成功,缺少Web手机号/邮箱校验 M01-contact-required-phone-bypass-375;ContactPanel.save仅验姓名,Web ContactFormDialog.rules有required/pattern/email 已修并通过136项及两级审查;真实联系人空/错手机号、错误邮箱、客户简称/手机/邮箱已验证拦截;商机边界按用户最新指示排除
C24 P2 产品长名称时毒/爆标记一起被ellipsis裁切;360px分类标签被压断行 M02-long-test-product-list-360/414及geometry.json,标题right279,毒left306、爆left341 已修;360/375/414实测毒/爆完整可见、分类标签不折行,两级审查通过
C25 P2 客户附件上传成功或失败后,卡片持续显示上传中 M01-upload-success-stuck-uploading-defect-414;真实组件script使用Vue响应式缓存复现 reactive最小修复、成功/失败RED→GREEN;真实上传立即可预览、保存重开及下载一致已通过;规格/质量PASS,质量独立8项通过
C26 P2 报价相同到期日的剩余天数与Web差一天,缺今天到期文案 同一测试报价到期2026-11-20,移动31天/Web30天;移动强制拼T23:59:59,Web按原日期计算 已仅移动修复并定向验证日期分支;真实SXDD-20261021001显示剩余30天,与Web一致;规格/质量PASS
C27 P1/P2 同组件切换合同ID后URL已变化但仍展示旧合同,存在记录误操作风险 C27-contract-route-id-stale-content-414:URL2211FA…,显示旧测试合同004;未执行任何写入 C27A CRM、C27B运输/证书、C27C客户子面板均两级审查通过及对应UI回归;不改Web,详见后续分批记录
T01 P2 运输列表与5选择器旧搜索覆盖新结果,失败分页跳页 transport-code-audit.md 已修;五类选择器规格/质量PASS,52项root回归及375/414真实检索/取消/确认/分页通过
T02 P2 运输表单车牌挤窄、底栏文字截断、客户仍桌面表格、无分区定位 M07-new-375、M07-customer-picker-375 R2主表单、基础/运输区及底栏已修复复核;R3客户/装送货/产品区正在实施,未验收整体表单
T03 P2 运输编辑详情加载失败后暴露空表单供提交 transport-code-audit.md T07、M07-missing-record-empty-edit-defect-414 移动门禁已修,规格及质量最终PASS;76项R1与119项相关通过,375/414不存在ID中文错误/44px/重试保护已实测
T04 P2 运输详情缺实际量及多个运费只读字段(打印已按用户要求排除) M07-detail-375、WEB-plan-detail、运输迁移设计 R5已补实际量、8运费、反馈/地磅/快照及完整合同;375/414实测并两级复核通过;保留业务闭环限制
T05 P2 危化证详情仅点击锚点更新高亮,手动滚动不同步 transport-code-audit.md T06 已修sticky/滚动高亮/末尾/锁到期同步及双列;375/414实测与122项相关、两级审查PASS
T06 P2 运输和危化证列表重查卸载搜索框导致焦点丢失,详情返回丢搜索条件 M08-search-focus-defect-375.focus.json(activeTag BODY)、M08-return-loses-search-375;M07-search-focus-defect-375、M07-return-loses-search-375 已修;规格及质量最终PASS,正常筛选返回/会话/44px真实回归通过;另拆T06b失败后重试恢复也已完成,详见后文
T07 P2 危化证更多筛选的动态候选仅过滤首500项,真实存在的新计划号无法搜到 M08-plan-facet-search-misses-existing-375;已齐备列表705条包含PO20261009022,候选500条止于PO20260922026 已修并两级复核PASS;远程候选检索、双列日期、44px真实回归通过,root82/82;Web默认hook不变
U01 P2 部分移动按钮/附件操作触达不足44px 代码审计与关键弹窗截图 危化证更多筛选确定按钮实测高30px;产品列表更多字段29.5px、编辑/下架/删除/查看30px;合同已选项移除原不足44;继续逐项量测后只改移动样式
U02 P2 合同详情6个锚点在414宽挤成多行,短字段全部单列导致高度冗长 M05-contract-data-anchor-fixed-414 375/414双列、通栏、六锚点44px单行横滚已实测;末尾到底误高亮已修,375/414稳定附件、Home恢复基础;两级复审通过
QA01 P3 旧附件测试仍断言旧类名att-grid scripts/mp-crm-primitives.test.mjs:83 已按真实组件类名和布局更新,相关测试通过;未修改生产行为以迁就旧断言

已观察的业务规则

  • 报价草稿允许无产品保存,不是必填校验失败。已建立并编辑一条明确标识的零金额测试草稿,见 test-data.md;没有执行审批或真实交易。
  • 两张专用报价/合同已由admin完成审批闭环,空驳回理由拦截通过;原有真实业务单据仍只读。
  • 危化证默认未上传列表6条,与Web一致。易制毒分购买证/运输证、易制爆分合法证明;允许先确认齐备后补附件,缺附件不自动等于不得齐备,按Web规则判断。
  • 客户业务Tab与待审/已审Tab切换的是数据集;不机械改成锚点。长详情/表单的分区定位另行修复。

证据边界

CUA 负责实际浏览器操作;源码/纯函数模拟不计真实保存或权限验收。当前只有admin账号,尚未取得微信真机与其他角色证据。服务在本机运行,但默认数据库/MinIO为远程测试资源,不能称本地隔离。早期截图未逐张附视口元数据,最终回归须重拍关键375/414状态;后续截图附 viewport.json。

最新真实回归补充

  • 批C规格与质量通过,162项后追加底部锚点3项,相关165项通过;最后P2追加规格88+13边界、质量5+7边界通过。
  • 产品更多字段及编辑/下架/删除/查看在360/375/414实测均至少44px,展开、编辑回填、返回恢复搜索与展开、查看、下架/删除取消均正常;本轮没有再次执行上下架或删除。
  • 报价搜索/取消回归截图真实宽度为414,已纠正文件名;合同picker/长列表/批量回归为375。
  • 四份运输前置专用合同002–005全部经admin本人审批通过。批量提审选5条时仅处理3草稿、跳过2非草稿;不代表已完成运输安排。

C27 记录身份保护实施边界(只读审计结论)

  • CRM:合同/报价切ID同步失效旧详情与操作、重载并检查ID+generation;报价产品补全先局部数据再有效发布,审批API仍传pending审批记录ID。客户已有详情序号,仅删除确认后不得读取新routeId;产品加载先清空,动作核对detail.id。CustomerPoolSheet确认/卸载同样失效。
  • 合同原生file input需在打开选择器时捕获record/action会话,不能只在change回调取当前id;确认/上传await后写前再次核对。旧写已经发出不能撤销,但不得刷新/导航/清busy到新记录。
  • 同ID query变化不重复读详情;from入口改变关闭不适用操作并失效待确认动作。认证ready前不发读请求,ready后只一次;A→B→A拒绝首个A响应。
  • 运输:详情+安排动作composable内部await写refs需移动opt-in guard,PC默认保持;危化证父页keyed子实例隔离和关闭上传,setReady确认后复核ID,CertUpload固定保存目标且旧回调不关闭新会话。
  • 证据为合同真实UI和其他页面生产函数deferred mock复现;尚未修复,不计验收通过。

R1 返修复核进展

  • 四项规格阻塞已修并独立复现通过:旧合同响应清空新产品、卸载后旧保存继续安排、无效产品200误判成功、无效合同200缓存为空。真实缓存实现验证失败项被驱逐且重试重新请求成功。
  • 错误页编辑404中文为“运输计划不存在或已删除”,375/414无横溢,返回和重试44px;重试失败仍无可提交空表单。两轮跨送货段调度补测后规格及质量最终PASS,本条不表示运输完整验收。

  • R1最终76项定向、119项相关回归通过,两级审查PASS;真实新增空暂存PO20261021001、375/414编辑重开及Web只读回查通过,桌面新增原模板和取消行为已查看。C27A CRM记录身份保护开始实施。

  • 运输R3前置实测:客户专用合同002/003均可选入,合同行弹窗保留两行同productId不同合同;414px弹窗为横向宽表,只能直接看到合同号/部分产品编号,无检索入口(M07-contract-lines-table-clipped-414)。选择两行后表单保留两条并分别显示合同号。最终保存与重开仍在测试,不能据此记完整通过。

C27C待修:客户子面板操作会话

  • ContactPanel primary/remove、FollowPanel remove、InvoicePanel remove确认后缺卸载会话复核,父详情换ID卸载后旧确认仍可写旧记录。
  • OpportunityActions remove在确认后重新读取props.opportunity.id,有A确认→切B→删除B风险;save旧返回可能关闭新表单。C27A只修5个主详情/公海文件,子面板独立小批待修,不计已完成。

本轮继续验收记录

  • PO20261021001 已由空暂存补齐并正式保存为待安排:装货合同002数量1、003数量2;送货甲004数量1、乙005数量2。详情、重新编辑回填与 Web 只读两段核对一致,合计3,未安排运输。Web刷新时须由草稿切至待安排查看,记录消失于草稿列表属于正常状态变更。
  • 危化品流程前置专用合同006/007已由admin本人审批通过,尚未创建对应危化品测试计划、上传证书或确认齐备。
  • C27A 真实同组件合同/报价/产品/客户换ID均清旧内容后展示新记录;不存在产品仅显示错误/重试。报价同ID从管理切审批入口关闭提交弹层(未提交)。代码规格复核177项PASS后,质量审查发现父客户同步换ID与Pool子props更新的微任务窗口,已交回修复;不能记本批最终PASS。
  • 运输详情414px无整页横溢,但送货段切换按钮实测高26.5px,六分区标签有折行;纳入R5移动布局修复。证据M07-multi-stop-detail-touch-defect-native.png及geometry.json。
  • 原生浏览器截图与部分CDP截图比例有差异,后者出现缩放/拼接失真;本轮补充 *-native.png 作为可视证据。Web多段一致性以对应只读AX文本为业务证据,不以失真的1440截图判定布局。
  • C27A最终规格及质量PASS:59项专项、250项相关通过;真实Vue父子renderer覆盖确认resolve后同tick换ID及已发写请求旧回调,均不会继续写入/导航新页。同ID换tab真实浏览器保留公海原因、换客户关闭弹层已验证(未确认转移)。五个主详情/公海组件的本批保护完成,C27B运输/证书正在实施,C27C子面板另列待修。
  • C27B真实基线补证:从PO20261021001详情直接切到不存在计划URL,仍残留PO001及编辑/安排按钮(C27-transport-route-id-stale-content.txt/native.png);未点击任何写入操作。

用户补充视觉问题与执行顺序

  • 用户明确指出合同产品选择器仍为Web宽表,要求手机避免桌面展示;已将独立移动卡片、多字段检索、跨搜索多选、固定已选数量/确认底栏调整为下一优先批。具体方案见 docs/superpowers/plans/2026-10-21-mobile-contract-line-picker.md,桌面表格保持。
  • 用户指出运输详情Tab折行与右侧贴边。Tab根因为 .van-tab 被 flex:1 1 0 均分,四字文本宽不足52px且white-space normal;已局部改为不压缩单行横滚,实际375/414全部文字20px单行、点击区44px。
  • 右侧裁切同时有验收工具叠加raw CDP414与原生375模拟的问题;已清除四个tab的raw设备覆盖,统一browser viewport,标准tab.screenshot复核375(body367、section10→357)和414(body406、section10→396),两侧10px、无整页横溢。未盲目修改Web/全局padding。
  • 样式证据 M07-detail-tabs-spacing-fixed-375.png、M07-detail-tabs-spacing-fixed-414.png 及两份geometry;均实际查看。用户要求加强主动视觉检查,已把逐页首/中/尾、弹窗、展开、空/错态、键盘可达性加入上述计划统一清单,不能以测试数或DOM尺寸代替截图验收。

C27B 完成及视觉复查补充

  • C27B最终规格、质量审查PASS,76项专项及215项相关回归通过。额外补测同tick A→B→A父子重挂载与复制过程中刷新:新记录可恢复操作,旧结果不能影响新记录或遗留复制忙态。实际不存在运输记录仅错误/重试,无旧详情操作。
  • 已创建危化证专用计划PO20261021002(见test-data.md),当前三个证书槽位均未上传、未齐备;上传及齐备确认授权仍待回复。
  • 后续确认browser viewport尺寸只对当前展示测试tab生效,其他tab可能保持旧宽度。最终375/414证据必须同时读取目标tab的innerWidth/innerHeight,不以工具设置成功为依据;其它tab残留raw覆盖再次清除。产品页M02-product-list-375-visual.png实际414,M02-product-expanded-375-visual.png存在合成缩放失真,两张均不作为375视觉通过证据,待在主测试tab重拍。
  • R3A真实375/414移动卡片已目视检查:标题/搜索/底栏完整可见,短字段双列,两侧留白。002勾选→trim搜索003→勾选003→无结果仍已选2;取消重开清零。重复选择已有002/003不会增加产品行,数量仍1/2;未保存计划。规格/质量审查尚待完成。

C28 主动视觉复查发现(待修)

  • 客户详情375px,先资料后联系人并展开卡片,End到底出现整屏空白:document.scrollHeight2635,联系人实际内容高928,隐藏资料wrapper高0却scrollHeight2513、overflow visible。当前customer.scss对animated tabs content/track/panel强制overflow visible,隐藏swipe页内容仍扩展滚动区域。证据M01-hidden-tab-scroll-overflow-defect-375.png/json。需局部隔离隐藏页溢出,保留业务Tab切换/滑动和状态,不改成锚点。
  • 联系人新增、刷新、设主要、编辑、删除均高30px,其他跟进toolbar也30px;源自customer.scss统一button mixin及footer重复30px覆盖。证据M01-contact-buttons-under44-defect-375.json与M01-contact-list-final-375.png。客户移动按钮应至少44px,窄屏toolbar换行,不挤占/覆盖内容;不修改桌面或全局van-dialog。
  • 产品列表375最终证据已补拍:M02-product-list-final-375.png、M02-product-expanded-final-375.png、M02-product-bottom-final-375.png,实际innerWidth375/body367,长标签/分类换行与底部操作可见;早期失真图仍排除。

T05 危化证详情视觉复核扩展(待修)

  • 实际375点击证书与附件后,滚至末区,标题与页签全部滚出屏幕,不能直接切其他锚点;header为sticky但top=-2362,tabs top=-2284。.cert-detail-page { overflow-x:hidden }计算为hidden auto创建非实际滚动的祖先,影响header/Vant sticky。证据M08-cert-sticky-lost-defect-375.json、M08-cert-attachments-visual-review-375.png。修复须同时恢复滚动高亮、点击定位偏移和稳定吸顶。
  • 基础信息短字段全部单列,计划类型/状态/日期/公司等占满一屏;M08-cert-detail-visual-review-375.png。按用户节约高度要求,计划编号、备注/多送货时间等长字段通栏,普通短字段双列;字段/权限不删减。

R3A 最终复核

  • 规格审查新增真实合同fetch失败/合同watch替换stop两项卡死复现,原测试175通过未覆盖此副作用;修复后180项相关及独立25项均通过。规格与质量最终PASS,PC ElDialog除v-else外逐字保持。
  • 真实375/414装货卡片、双列品牌别名、trim检索、跨搜索保选/空结果、取消重开、重复选择去重、送货只列当前合同004通过。414弹窗0→414,所有关闭/搜索/取消/确认44px,无整页横溢,截图已逐张查看。
  • 运输详情375末尾备注高亮已实际验证,证据M07-bottom-anchor-fixed-375.png;最新视图两侧留白与单行页签保持。本批完成,完整运输表单/详情其余项仍按R2–R6继续。

  • R3A补充Web真实1440px原12业务列/同产品两合同显示及取消返回通过,未确认/保存;图谱frontend已更新1099文件,零模型API。

C28 真实视觉回归

  • 375同路径资料→联系人→展开→End,文档高2635降为1106,底部无隐藏资料造成的大段空白;header/页签保持可见。当前面板新增/刷新/收起/设主要/编辑/删除全44px,页面宽367无横滚。保存按钮44px,弹层不受内容裁剪,填写未保存文字后关闭未落库。
  • 414跟进页高896(不再继承资料长滚动范围),添加/刷新/展开44px;切回联系人仍保持展开,滚动到底正常。证据M01-contact-bottom-spacing-fixed-375/414.png、M01-contact-touch-fixed-375.geometry.json、M01-contact-form-touch-fixed-375.png、M01-follow-touch-fixed-414.png。
  • H5鼠标拖动不能当微信触摸滑动验收;IAB不支持CDP Input.dispatchTouchEvent。本批未改swipeable/Tab状态,点击切换状态保持已验证,微信真实滑动仍属于用户已延期的真机验收。

  • C28 最终规格与质量审查均 PASS;客户相关 138 项回归通过,Sass 编译通过,stylelint 与本批前同为 30 项既有诊断,无新增。仅客户移动局部样式改动。

C29 报价详情主动视觉复查(待修)

  • 实际414px,基础信息、金额汇总、产品税率/单位/数量/价格等全部单列,单产品详情高度2768px;可配对的短字段占用过多高度。证据 M03-quote-base-density-defect-414.png、M03-quote-product-density-defect-414.png。采用与合同详情一致的局部双列,编号/主题/客户/分类/条款等长字段通栏,不删字段,不影响Web。
  • End到底(scrollY1872+height896=scrollHeight2768),末区审批流程已完整可见,仍高亮产品明细;需修正短末区到达文档底部的高亮,并保留点击滚动锁、Home和空/缺失区处理。

  • 同轮合同375/414主体双列、长文字、页尾高亮/Home正常;更多按钮宽36、高44,加入C29局部修复。报价/合同700ms锁也按T05发现的中断边界补查。

T05 最终视觉与逻辑复核

  • 实际375/414,header top0高66、tabs top66高44;中段锚点top约122,未被固定栏遮挡;底部选证书与附件、Home恢复基础。页面scrollWidth分别367/406等于可视内容宽,无整页横溢。基础短字段两列、长备注完整换行。证据M08-cert-base-fixed-375/414.png、M08-cert-middle-fixed-375.png、M08-cert-bottom-sticky-fixed-375/414.png。
  • 质量复核发现700ms锁内Home停止滚动后没有新事件可触发同步,生产函数受控复现;已补到期同步、连续点击替换计时器、卸载清理与失效记录guard。新增4项RED→GREEN,导航18+identity76+picker28共122项由根独立运行通过,规格/质量最终PASS。真实浏览器同调用click+Home未能稳定中断滚动,M08-cert-fast-home-inconclusive-375.png不作为该边界复现证据,此项以生产函数受控测试为准。

C30 报价/合同列表触控复查(待修)

  • 实际375审批列表:两者返回/筛选36px;报价查看30px,展开29.5px;合同多选36px、展开29.5px、批量通过/驳回30px且宽42px。manage/approve共用组件,需修四入口局部样式。卡片长标题截断和长产品信息换行正常,未发现整页横溢。
  • 报价更多筛选弹层关闭46px、日期/重置/确定44px,当前正常;未保存变更。合同只打开多选测量后退出,未选记录/提交。
  • 证据M04-approval-touch-defect-375.png、M06-approval-touch-defect-375.png,计划2026-10-21-mobile-crm-list-touch.md。

C29 最终复核

  • 375/414报价基础/金额/产品双列、长分类和备注换行通过;414同单scrollHeight2768→2195,金额仍最终33/产品25/运费5/桶押金3。底部审批流程高亮与Home基础通过;无横滚,内容宽367/406。
  • 合同更多375/414均44×44,其余底栏按钮未挤出;菜单打开/关闭、End附件高亮通过。证据M03-quote-{base,amount,products,bottom}-fixed-*.png、M05-contract-more-touch-fixed-375/414.png。
  • 新导航30项RED→GREEN,实施者相关284通过,根独立168通过;规格/质量各独立109通过并最终PASS,SFC/SCSS通过,ESLint相对基线无新增。两处既有fixture仅补依赖注入,未放宽断言。整个模块后续列表触区C30仍待修,不能据此记全部验收。

C32 金额跨界面复查发现(待修)

  • 报价管理真实SXDD-20261021001卡片最终25,详情最终33,产品25/运费5/桶押金3;此前C16只修表单显示,此次发现卡片仍采用旧finalAmount。Web现行QuoteListPage.getQuoteFinalAmount和QuoteDetailDialog均三项相加,不能修改Web/API保存字段。
  • 移动versions也存在同类取值,需核对接口字段与Web历史口径后统一移动显示。证据M03-list-final-amount-defect-414.png,计划2026-10-21-mobile-quote-amount-consistency.md。

T06 运输列表复查补充

  • 375输入完整PO20261021002后列表重挂载、焦点变BODY,符合已有焦点问题;同列表返回/筛选36px、展开29.5px、更多/复制/安排30px,FAB52。证据M07-list-touch-defect-375.png。后续运输列表局部触区与焦点/返回批次一起处理,当前不记完成。
  • 危化证375同样搜索后focus BODY;返回/筛选36、展开30.8、三操作按钮30、勾选20×20。搜索PO002→展开→详情→返回,搜索清空且展开0,已实际确认。证据M08-list-touch-defect-375.png、M08-return-query-lost-defect-375.png。展开日期直接显示ISO T00:00:00,后续展示格式一并核对。

C30 最终复核

  • 规格发现合同新增入口使用原生speed-item而非van-button,已修漏匹配;规格/质量最终PASS。仅两个移动列表scoped style,模板/script逐字保持,SFC/SCSS通过,ESLint基线268诊断完全相同、Stylelint0。
  • 根实际375/414报价审批返回/筛选/展开/查看均44,报价管理复制/提交/查看44,新增44、主FAB52;合同审批返回/筛选/多选/展开44,勾选外层44×44、批量通过/驳回44×44,底栏65px未遮挡卡片;合同管理新增44、FAB52,375提交审批66×44、作废44×44,未实际提交/作废。
  • 证据M04-approval-touch-fixed-375.png、M04-approval-expanded-touch-fixed-414.png、M03-list-touch-fixed-375.png、M06-approval-touch-fixed-375.png、M06-batch-touch-fixed-375/414.png、M05-contract-list-speed-touch-fixed-414.png、M05-contract-batch-touch-fixed-375.png。金额口径C32仍待修。

C32 最终复核

  • 真实375/414列表测试报价001最终金额33;进入同一详情33,版本历史33。热更新后原页面仍保留旧helper模块,整页reload后正确,不能把reload前25当作最终修复失败。证据M03-list-final-amount-fixed-375/414.png、M03-version-amount-fixed-414.png。
  • 移动三处共享helper,只读API原字段,未修改Web/backend/保存payload。新边界RED7失败→相关107通过;根独立60通过;规格与质量最终PASS,lint无新增、SFC通过。前端图谱更新1101文件成功。
  • 用户询问进度时已告知约70%(工作量估算),8页尚未全部验收。C27C客户子面板身份保护继续实施,T06运输列表焦点/返回/触区待接续;危化证上传和齐备确认仍待具体上传授权回复。

  • 版本历史额外视觉发现:当前版本/草稿已有status-tag类但呈现为相邻普通文字(M03-version-amount-fixed-414.png),移动版本页缺与详情一致的标签样式;后续移动局部样式补齐,不混入C32金额修复结论。

  • C32 补充 Web 只读核对:1440px 搜索专用 SXDD-20261021001,最终33、产品25、运费5、桶押金3,与修复后移动展示一致。证据 WEB-M03-final-amount-33-readonly-1440.png,未编辑 Web 数据。

  • C33 版本页补查计划已记录:除了状态标签,loadVersions 两段请求缺路由身份/卸载保护,需独立受控复现后修复,不能沿用 C32 金额通过结论代替整页验收。

C27C 根回归(审查中)

  • 根独立运行新40+原188,共228/228通过,日志 /tmp/mobile-c27c-root-final.log。生产实现待规格、质量独立审查通过后再记本批完成。
  • 375 原客户联系人编辑输入未保存草稿后切换合成客户甲,旧弹窗关闭且只显示甲联系人;返回原客户仍是原始名称,未提交写入。414 同客户联系人展开→跟进→联系人仍展开;开票编辑正确回显并取消。证据 M01-contact-switch-record-fixed-375.png、M01-contact-return-original-fixed-414.png、M01-invoice-edit-identity-regression-414.png。
  • 调整 viewport 后立即截图会捕获 resize 过渡帧,首次414截图右侧暂时裁切;稳定后 DOM width/client/scroll 都414,卡片 left10/right404,重新截图无裁切。过渡帧不作为业务缺陷证据。

  • C27C 最终规格与质量均 PASS;质量独立40/40,根228/228。关联4条合同加载、专用001展开查看及关闭正常,截图 M01-related-contract-identity-regression-414.png;商机为空,未宣称真实商机写闭环。旧fixture没有修改前文件快照,实施者仅提供具体依赖注入记录;旧188基线日志与新24失败/4通过RED日志存在,但不把实施描述当独立diff证明。

  • T06 已启动实施,仍为未验收状态。根全局diff检查发现图谱生成报告里的CRLF片段被判尾随空白,后续图谱更新完成后只清理这些生成行,不混入业务代码修复。

运输编辑页补充视觉基线

  • 375 专用 PO001 编辑,车牌输入被两个同行按钮挤成79×36px,车辆库110×36、三方快捷134×36、承运商库122×36;车牌占位已截断。分区标题仅13px高,与移动详情层级不一致。页面本身scrollWidth367没有横滚,但不代表内部控件可用,继续归R2处理。证据 M07-form-vehicle-field-density-defect-375.png。
  • 车辆库本身已使用移动卡片,搜索不存在的测试关键词得到暂无可用车辆,焦点保持INPUT,关闭不写入车辆。T01生命周期风险仍需受控反序/失败测试,不把这次正常检索算作全路径通过。已新增独立T01执行计划。

T06 根实测与审查返修

  • 根相关241/241通过 /tmp/mobile-t06-root-final.log。375运输搜索刷新、无结果后恢复均focus INPUT;展开PO002→详情→返回,关键词PO002和展开1恢复。初版卡片按钮仍30px,被共享样式高优先级覆盖,根实际发现后局部选择器修正为44px;返回/筛选/展开44,FAB52。
  • 414危化证搜索focus INPUT,卡片展开日期为2026-10-21而非ISO;详情返回关键词/展开/滚动恢复。375checkbox外层44×44、批量清空/齐备/取消齐备全44高,未执行齐备;空结果恢复正常,今天筛选→详情→返回仍今天+PO002。证据 M07-list-return-expanded-fixed-375.png、M07-list-return-restored-fixed-375.png、M08-list-return-restored-fixed-414.png、M08-list-batch-touch-fixed-375.png。
  • 规格审查复现两项待修:齐备GET返回ID不匹配仍以返回ID写入;复制clipboard等待期间账号session变化未同步失效composable,旧成功提示仍出现。交回实施者补受控测试和最小修复,尚未进入质量审查,不能记T06最终通过。
  • 危化证更多筛选375另发现日期起/止全部单列,4个输入占据几乎整个可视区,计划编号选择框36高;纳入T07选择过滤批次局部布局修复,不混改T06。证据 M08-more-filter-density-defect-375.png。

2026-10-23 接续验收

  • 当前分支 codex/mobile-eight-pages-qa,接续基线 5b00081d8;此前修改已在当前提交中。不得继续用早期工作区 diff 作为本轮修改范围。
  • T06 规格返修已完成,但最终质量检查发现危化证列表缺少会话切换的同步清理:旧请求失效后仍可能留下旧列表、权限和 loading。该项正在补复现测试和修复,T06 暂不结案。
  • 重新加载当前源码后,414×896 运输列表已实测搜索加载期间头部保留、焦点保持;专用 PO20261021002 展开→详情→返回保留关键词与展开状态。展开按钮和卡片三个操作按钮均44px高,页面宽414、body滚动宽406,无横向溢出。证据:../2026-10-23/M07-list-return-expanded-414.png,已查看截图。
  • 414运输无结果→重新搜索有结果,空结果期间焦点仍为INPUT;日期弹层取消不改变原关键词。375详情六标签均44px高且nowrap,前三个内容分区left10/right357(body367),两侧10px;414备注锚点选中且正文未被固定底栏遮盖。截图:../2026-10-23/M07-detail-tabs-spacing-375.png、../2026-10-23/M07-detail-remark-anchor-414.png,均已目视检查。
  • 本次未执行运输安排、齐备确认或新证件上传。整体8模块仍未完成最终验收,维持约72%的工作量估算。
  • T06会话返修:token/tenant/roles 三类同步清理复现先失败,增加 watcher、权限闭锁、子上传组件即时失效、新会话可见重载及上传success身份核对后,根独立相关回归225/225通过(/tmp/mobile-20261023-root-t06.log);规格与质量独立复审均PASS。生产修改仅危化证移动列表,未修改Web。
  • 414危化证搜索加载中保持输入焦点;上传面板打开/取消后列表可继续使用。首次详情返回时出现一次“计划加载失败,请重试”,点击重试后恢复结果与关键词;该失败后展开状态没有恢复,不将这次记为展开恢复通过。重新执行正常详情往返,关键词、展开和滚动位置保留,截图../2026-10-23/M08-list-return-expanded-414.png已查看。会话切换竞态是生产代码受控测试,未在真实账号上更改角色或租户。
  • 图谱前端与根目录更新均退出0;生成报告中40处CRLF已统一为LF,定向diff空白检查通过。T07筛选弹层仍有日期单列占高、动态候选仅首500项问题,重新截图../2026-10-23/M08-more-filter-before-375.png,未计修复。

  • T06会话返修质量独立55+76项通过;本批结案。首次返回失败后重试丢展开/滚动快照单列T06b待修,避免遗漏。375批量checkbox44×44,三个批量按钮均44高,无横溢;证据../2026-10-23/M08-batch-touch-375.png。下一批进入T07移动筛选。

2026-10-23 T07 真实筛选回归(返修中)

  • HBuilderX恢复H5服务5173后,通过原工作台登录,8个菜单分别进入正确移动业务页并返回工作台,全部通过;只是入口链路,不代表8模块完整验收。证据 ../2026-10-23/workbench-entry-return.json(产品入口单独实测,JSON记录其余7项)。
  • 原更多计划编号候选仅首500项,实际列表可见PO20261009022但选择器搜索无匹配。新增移动远程选择后,相同编号可选、应用后列表仅1条;取消选择不改草稿,确认后重开仍保留,搜索无结果时已选不消失。
  • 375/414日期起止双列、数值范围双列、固定底栏与内容留白已截图;日期开始晚于结束和数值最小大于最大阻止应用并显示具体提示;重置恢复712条。证据 M08-more-filter-fixed-375/414.png、M08-number-range-validation-414.png 位于2026-10-23目录。
  • 根实测发现新facet底栏按钮仍被共享样式覆盖成30px,已局部修复;375最终输入/选项/按钮均44px、搜索清除44×44,弹层clientWidth=scrollWidth=375。414也无横溢。合同摘要内部load/delivery经规格审查修为供、需,真实回显已验证。根相关80/80通过,日志 /tmp/mobile-t07-root-final.log。
  • 本批仍未最终通过:点击搜索清除图标重复出现关闭facet,合同无匹配关键词仍显示静态出库/入库项;已交实施者定位修复。规格代码审查已通过前一版本,质量审查尚在进行。不得用正常查询通过代替边界结案。

T07 最终复核

  • 原Vant内置clear图标改为移动局部原生44×44“清空搜索”按钮,避免鼠标blur后图标消失的点击目标变化。真实375选PO20261021002再清空,弹层继续打开、关键词为空、已选1项保留;截图../2026-10-23/M08-search-clear-preserves-picker-375.png已查看。真实Vant Search挂载事件测试覆盖清除,不仅测试helper。
  • 合同静态出库/入库选项随关键词过滤;真实414搜mobile-qa-none出现“无匹配数据,请尝试其他关键词”,不残留无关项,截图../2026-10-23/M08-contract-search-empty-fixed-414.png已查看。主筛选供/需摘要已真实复核。
  • 规格及质量最终PASS;新9项、根相关总82/82通过,日志/tmp/mobile-t07-root-final.log。样式编译与lint通过;请求失败/反序/会话边界由真实production代码受控测试证明,正常查询与布局由浏览器实测证明。本批结案,8模块仍未全部验收,继续T06b及运输表单等剩余项。

T06b 返回失败恢复(完成)

  • 移动返回helper新增默认关闭的失败恢复选项,仅两PL列表开启;失败保留实例内页数/展开/滚动等快照,重试重拉数据后恢复,成功消费一次;不保存业务行或localStorage。两个错误重试入口接入helper,普通分页重试行为保留。
  • 新增真实helper及两页面请求/重试函数测试,首次与补页失败、并发、查询/账号变化又变回、离页卸载、默认关闭均覆盖。质量复审另复现同内容userinfo对象替换误失效,改多source按值监听后,根相关114/114通过(/tmp/mobile-t06b-root-final.log)。两份既有测试与实施前快照完全一致。
  • 实际375运输正常详情往返,关键词PO002和展开保持,滚动538→538;414危化证289→289。证据../2026-10-23/M07-return-retry-regression-375.png、M07-return-scroll-regression.json、M08-return-retry-regression-414.png,截图已查看。网络失败恢复以受控生产代码测试为证据,不宣称浏览器故障重试已实测。
  • 顺带实测下一批T01:375车辆库关闭28×21、分类160.5×34、搜索327×36,触区不足;无结果状态正常。证据../2026-10-23/M07-vehicle-picker-touch-before-375.png,未选用真实车辆、未保存计划。
  • T06b最终规格、质量均PASS;质量独立114/114。不存在本批未结审查项,进入T01五选择器修复。

T01 五类选择器(实施中)

  • 根继续实测375承运商、地址Sheet:关闭28×21、搜索327×36、行约64.8,空搜索均正常;截图../2026-10-23/M07-carrier-picker-before-375.png、M07-address-picker-before-375.png已查看。未选用/保存真实人车、承运商或地址。
  • 合同截图跨越源码热更新,输入被组件重新挂载清空,标记M07-contract-picker-intermediate-375.png;不作为搜索功能失败或最终通过证据。待生产代码冻结后整页加载复测,防止把热更新现象混为业务问题。
  • 实施者已用真实SFC请求测试复现旧结果覆盖、分页失败无可见错误、合同串客户、受限产品吞失败;本批尚未完成审查及最终浏览器验收。统一要求同内容用户资料替换不清选择,而实际账号/上下文变更又变回仍失效旧请求。

T01 五类移动选择器完成(2026-10-23)

  • 根会话/查询/页码保护、失败可见原页重试、去重、关闭/卸载取消延迟检索及合同详情身份保护完成;受限产品失败不再伪装空集合。相同内容账户对象不误清状态,真实账户/上下文改变同步失效。
  • 规格、质量独立复审均PASS。root最终52/52相关测试通过;质量独立99项通过。目标SFC编译与lint通过,全仓类型检查仍有既有其他范围诊断,不能称全仓通过。
  • 375车辆/414承运商、地址、合同、375与414产品弹层已实测;关闭、搜索、分类、已选产品取消、底栏至少44px。产品名称搜索有结果,跨空结果保留已选1项,取消重开为0且表单未写;确认后名称、规格正确回填。检索按页面提示支持名称/拼音/规格,产品编码检索本轮无结果,不宣称编码检索支持。
  • 车辆切山峡分类后关闭重开恢复三方,加载更多从20到40条。真实车辆只读,不选用。合同006确认仍仅已选1份,不重复添加。
  • 通用产品入口仅在未保存新表单中临时选内部客户以验证无合同分支;没有暂存、创建、安排或写客户偏好,检查后已返回列表。
  • 证据目录2026-10-23:M07-product-picker-selection-fixed-375/414.png、M07-vehicle-picker-reopen-pagination-fixed-414.png,以及既有vehicle/carrier/address/contract-picker-fixed截图。截图已目视检查。
  • 主表单仍有36px库按钮、26px添加产品和拥挤底栏,归R2/R3继续修复;T01通过不等于运输模块验收。

R2 开始(2026-10-23)

T01已完成后开始基础/运输主表单移动独立模板。唯一实现者implement_mobile_transport_form_r2;Web原新增表单1440基线已拍摄并目视,WEB-plan-new-before-R2-1440.png。本批未完成,尚未实际验收新模板。客户关联面板补验详见cases,发现合同数量汇总0而关联合同列表4,待Web口径对照,不擅改Web。

C34 客户详情离页触发空ID读取(2026-10-23,新发现待修)

  • 真实复现两次:测试客户详情(资料页或联系人页)→返回客户列表,列表显示“缺少客户ID”。截图 2026-10-23/M01-return-empty-id-toast-defect-375.png,已目视。
  • 当前m/crm/customer/detail.vue同步watch在route.params.id变空时invalidate后仍load(nextId),load只有shellReady/disposed门禁、没有空ID/本详情路由归属门禁,离页卸载前发起无效读取。此为源码推断触发链,需生产SFC测试确认。
  • 修复仅移动详情:离开所属详情路由立即失效旧读取/面板动作,不对空ID或其他页面ID发客户请求;load/refreshInfo二次门禁。保留A→B、A→B→A、同ID query切tab、shellReady一次初始化、失败可见重试。先RED后GREEN,规格/质量复审,再真实返回无toast与同组件切ID验收。不得改共享请求全局提示以掩盖错误。

R2 第一轮实际验收发现(2026-10-23)

  • 375顶部五锚点44px、底栏52/137.5/137.5×44,创建并安排运输文案完整。装货定位top123,navBottom111;备注到底保持高亮。
  • 计划日期2026-10-24同步装/送日期。未保存。
  • 失败:公司选择安徽云栋后仍安庆山峡,单据类型反而空;Vant close-on-click-action先清choice再select的事件顺序被规格复核确认。
  • 失败:is-link箭头掉输入框下一行左侧并制造空白;装送slots丢原el-form top标签上下文,日期控件挤窄截字。
  • 规格复核新增:丢原装/送/计划数量汇总和不平衡提醒;车辆证件card模式不显示主/挂车归属。均已要求返修,不判R2通过。
  • 证据M07-R2-new-first-review-375.png、M07-R2-remark-anchor-first-review-375.png;首次136项运输测试通过没有覆盖以上真实交互,必须补测后再验。

客户合同数量口径只读对照补充

2026-10-23通过Web /crm/customer 打开同一测试客户,合同页实际显示001/002/003/006共4份,金额44.99/1000/2000/100,与移动关联列表一致。Web详情未显示合同数量统计;移动资料的合同数量0来自customer.py:_row_to_dict中的存储字段contract_count(缺值也回0),不能把它视为实时关联合同数量。后续仅移动显示口径需核对,不能修改Web或擅改已有合同数据。

R2 第二轮复验(仍未通过)

五项返修经规格复核PASS、140项定向通过;真实375确认公司改安徽云栋、单据类型仍不选择,日期联动正常,箭头已同行。Root另发现两项:基础el-form-item margin-bottom12使同排wrapped field90px/direct field102px,输入位置差6px;从1000高视口转812后,常量viewportHeight误判键盘,填写日期触发底栏display:none,innerHeight=visualViewport.height=812且blur至BODY仍不恢复。已要求局部对齐与视口/focus生命周期修复;质量审查尚未开始,不将R2标完成。所有本轮新建表单均未保存并已退出。

R2 第三轮真实验证补充

最终代码冷加载后,1440×1000→375×812→填写日期→失焦,innerHeight和visualViewport均812、active BODY,footer flex恢复;前一热更新残留实例不计新代码失败。基础同排输入y完全一致。空新表单点击正式创建提示“请选择装货客户”,无保存导航。规格141项PASS后进入独立质量审查。

冷启动主按钮仍Vant蓝色,且新增scss使用FreshMint主色,违反移动规范三墙绿,已另要求局部token/按钮background-border补齐,保持Web全局不变。颜色修复完成并再冷启动前不验收R2。

R2 实际页面复验补充(2026-10-23,本批仍进行中)

  • 冷启动375宽主按钮实际背景/边框为rgb(10,159,109),未再落回Vant蓝色;主按钮高44,底栏文字完整。414宽创建日期/计划日期输入同为y220、高44,公司/类型同为y322、高44;无整页横溢。证据 ../2026-10-23/M07-R2-new-final-green-375.png、M07-R2-new-final-green-414.png。
  • 公司改为安徽云栋时单据类型仍不选择,再选择直销单正确;计划日期2026-10-24同步两段装送日期。仅未保存表单操作,无新增计划。414末尾备注锚点正确且文档到底;M07-R2-remark-final-414.png。
  • 专用PO20261021001编辑回填保持两装货合同行002/003数量1/2、两个送货段甲004与乙005数量1/2、合计3个及1+2=3。第二段切换回填正确,备注未丢;未保存。证据 M07-R2-edit-totals-414.png。现有产品名称仍过度省略,继续在R3卡片批次处理,不能计整体表单验收完成。
  • 已有PO20261009022仅打开编辑、人员/车辆详情展示,未改选人车、未保存/安排。司机按姓名检索正确,押运员不存在名称显示空结果;车辆详情显示关联人员与主车证件,不存在挂车时无虚假挂车组。
  • 新发现人员搜索清空触区34×24,已局部修复,375实测44×44,清空选择行375×44;414最终复测仍待。证据 M07-R2-driver-search-414.png 是修复前,不得作为通过证据。
  • 新发现375证件卡片复用桌面KV表后长证号末位被迫换行,附件标签挤占预览宽度;证据 M07-R2-cert-narrow-layout-defect-375.png。正进行mobile弹层限定修复,不修改共享Web默认样式。已有远程附件缩略图有读取失败,本轮未改附件数据,需后续区分资源问题与展示容错。
  • root独立四组回归142/142通过(/tmp/mobile-r2-root-final.log);随后搜索触区实现者143/143通过。新增样式修复后需要最终两级复核及root验证,当前不能把R2标记完整通过。

R2 最终增量审查与真实回归

  • 新增搜索清空最初仅扩大内置Vant图标,H5实测仍未清词。根因是实际安装的Vant Field仅将clear绑定touchstart。现已改本移动搜索专用原生按钮,含可访问名称、44×44命中区和click清空;414实测input.value清空且列表由单人恢复20项,人员选择未修改、未保存既有业务记录。证据 ../2026-10-23/M07-R2-driver-clear-fixed-414.png。
  • 375证件卡通栏实测单元内容宽315、无横溢,18位证号完整同行;附件预览141.5×141.5、下载44×44,标签不再占半宽。证据 M07-R2-cert-fullwidth-fixed-375.png。远程附件缩略图读取失败仍为独立待核查项,不能据布局通过宣称附件可预览。
  • 最终规格复审独立145/145 PASS,质量增量独立19/19 PASS;root最终四组145/145(/tmp/mobile-r2-root-final.log),diff-check通过。测试基线比较依赖临时文件、缺失时未明确skip为非阻断维护项,后续统一整理,不更改历史Web基线以通过测试。
  • Web1440新增对话框before/after同视口对照,字段位置、两侧装送栏、四个底栏按钮和原样式一致;root未填入或保存Web表单。证据 WEB-plan-new-before-R2-1440.png、WEB-plan-new-after-R2-1440.png。该证据仅证明本批表单对照,不等于所有Web全量回归。
  • 新合成基础草稿PO20261023001(469ADA50973C4F6BAD771EC4E48BD5AA)从375新表单更多→暂存成功,未要求装送客户/产品/计划日期/类型,详情状态草稿中。仅默认基础字段和明确测试备注,无人车、无安排、无履约。新增是验证R2新模板真实暂存入口,旧PO001已转正式待安排不能替代此空草稿用例。
  • 暂存首次点击落在开发环境Vue DevTools悬浮入口(elementFromPoint证实),点击暂存文字后成功。此为开发工具遮挡,未据此更改生产提交流程或重复提交。
  • R2代码实现和两级复核已完成;已安排/调整底栏暂无专用真实fixture,仅模式测试证据,真机软键盘仍未验收;随R4/最终验收补齐。R3装送段移动控件、R4安排、R5详情和R6打印仍待完成。下一生产批次C34客户离页空ID保护已开始。

  • R2草稿PO20261023001重新编辑成功:备注完整回填、空装送数据保持、保存及保存并安排底栏可见;375末尾备注锚点正确。证据 ../2026-10-23/M07-R2-minimal-draft-reopened-375.png。未再次保存。

C34 客户详情离页保护完成(2026-10-23)

  • 只改移动客户detail:读取/刷新/动作在请求前后核对真实MpCrmCustomerDetail路由及非空当前ID;route.name与ID变化同步失效,离开详情后不再发空ID客户请求。未修改Web、后端或共享请求提示。
  • 实际SFC/setup+Vue renderer的20项新测试先RED(首18项中13失败)后GREEN,包含子ContactPanel集成。规格独立79/79、质量独立79/79均PASS;root四组130/130(/tmp/c34-root-final.log),目标lint/format/diff检查通过。
  • 375资料页返回、414联系人页按测试手机号19900000001筛选后返回,列表加载正确且无“缺少客户ID”提示,同时间段浏览器错误日志未出现该错误。筛选只显示第二联系人。证据 ../2026-10-23/M01-C34-return-fixed-375.png、M01-C34-return-fixed-414.png、M01-C34-contact-filter-414.png。
  • 本轮无客户写入。未撤销已经发出的网络请求,但过期结果不能更新当前页面/动作,这不等于请求层取消。
  • R2+C34前端图谱已成功更新(/tmp/mobile-r2-c34-frontend-graph.log);根图谱更新也已exit0完成(/tmp/mobile-r2-c34-root-graph.log),本批图谱同步完成。

C33 修复前实际复现(2026-10-23)

  • 375报价001版本显示当前版本/草稿,但.status-tag实际背景透明、普通文本颜色,返回按钮已44×44无需再改。
  • 同SPA从001 versions切至002 versions,URL已为464FBC…,界面仍显示001的草稿、¥33.00和05:40:14。等待后仍旧数据;返回详情则正确导航002。证据 ../2026-10-23/M03-C33-versions-before-375.png、M03-C33-versions-stale-route-375.png/.txt。未点击旧版本进入其他记录,无写入。
  • 下一批按C33计划修复异步/路由身份与标签,不改Web。

  • 客户合同数量补充只读源码核查:Web客户主列表也有可选contractCount列(index.vue:491,直读同字段),不是只有移动端才读取该指标。先前Web详情不显示该字段不能据此推断应删除移动字段。当前0与关联合同列表4的差异仍需确认共享指标口径,禁止为凑数量修改Web/backend或擅自把合同条数替代指标。

C33 版本页修复与真实回归完成(2026-10-23)

  • 仅移动版本页加入认证ready、路由ID/名称、请求代次与卸载保护,两段await均核对当前身份;同ID query不重复读取。卡片状态标签、长文本、失败/空列表恢复、键盘可达性补齐,Web及金额helper不变。
  • 规格独立41/41、质量独立21/21 PASS;root生命周期+金额卡41/41(/tmp/c33-root-card-final.log),生命周期+持久化31/31(/tmp/c33-root-final.log)。两组重叠21项,不累加报72项。ESLint、Prettier、Stylelint及定向diff-check通过。
  • 375真实审批通过报价002显示25;001/002同SPA切换立即清旧内容,随后各显示草稿33/审批通过25。414卡片left10/right404、document scrollWidth414,无横溢;重拍稳定截图覆盖早期resize过渡截图。返回详情保持当前报价及from=manage,Enter版本链接正常。
  • 不存在报价显示“报价单不存在”,点击重试显示加载后仍正确错误;重试按钮88×44、背景rgb(10,159,109)。再切报价001正常恢复。证据 ../2026-10-23/M03-C33-versions-error-retry.png、M03-C33-versions-draft-fixed-414.png、M03-C33-versions-approved-fixed-375.png/414.png。没有新建/编辑/审批报价。
  • 空列表恢复、长文本、网络错误、ABA/卸载为真实SFC的受控测试;不将其描述成真实业务数据已覆盖。C33图谱同步完成:frontend会话41219、root会话94724均exit0;日志/tmp/mobile-c33-frontend-graph.log和/tmp/mobile-c33-root-graph.log。
  • 测试执行偏差:实现者曾误启动test-mp-crm-quote.mjs浏览器脚本,发现后立即终止,进程已退出,未计验收证据。源码显示/api/经fixture拦截、无真实凭据,但无完整运行trace,不能断言每一步网络行为。审计原始记录/tmp/c33-accidental-browser-audit.txt;后续仅运行已检查的纯tsx测试,真实浏览器继续由CUA执行。
  • R3装送货移动表单已完成只读准备,C33图谱终态确认后已给写入绿灯;目前唯一实现者implement_mobile_transport_stops_r3进行中。整体仍约72%,未完成八模块验收。

R3 实际基线与新增锚点缺陷(2026-10-23)

375打开专用PO20261021001编辑,仅查看/展开/切换,未保存或安排。客户名被窄控件省略、联系方式裁切;已选合同展开仍九列桌面表格,只见前几列,证据../2026-10-23/M07-R3-load-before-375.png、M07-R3-contract-expanded-before-375.png。同期开了“服务暂时不可用”提示但明细存在,日志只有HTTP Error Object,不能凭此断言具体失败接口;实现者另源码确认元数据失败被吞掉,纳入移动错误/重试处理。

送货段切换按钮实测高26.84375px。点击“送货”定位后,nav.bottom111、期望阈值123,section.top123.46875,锁期结束syncScroll使用无容差<=导致高亮退回“装货”;稳定截图M07-R3-delivery-anchor-before-375.png,已交R3一并补像素容差与回归。段2实际客户乙/合同005/数量2回填正确,没有做移动/删除/保存。

客户商机更多筛选补测:375专用客户0条,商机名称填“移动验收”→确定显示已筛→重开保留值→重置确定恢复。布局截图M01-opportunity-more-empty-375.png。无可用合成商机,未操作真实旧记录;C23商机编辑数字边界仍只有受控测试,不标真实完成。

R3 Web原模板基线:1440×1000打开同PO001编辑,装货合同002/003与送货甲004、乙005及数量1/2保持;截图WEB-plan-edit-before-R3-1440.png与完整AXWEB-plan-edit-before-R3.txt。没有修改字段,点击取消关闭;后续与R3完成后的相同入口对照。

证据格式补充:本轮CUA截图返回JPEG字节,沿用历史.png文件名;实际格式/像素尺寸已读取并存入2026-10-23/C33-R3-baseline-evidence-dimensions.json。R3 CSS视口实测375×812,原始截图为367×795;布局结论以只读DOM geometry与原始截图共同判定,不把截图宽度当成CSS视口。R5只读样本PO20261008010在Web已安排列中显示装实绩33.97、送34(计划均30),可用于后续对照;点击详情时开发HMR重载回列表,详情尚未取证,不计R5完成。

R3 第一阶段只读视觉检查(进行中,不计验收完成)

实现者报告五个PC根模板与临时实施前基线逐字比较及11项初始检查通过;这些尚不覆盖完整业务和异步场景。Root在375只读打开同PO001:客户全名可读,合同产品展开变为字段卡片,产品短字段两列、长名称不再省略;送货段切换按钮44px,原26.84px问题已改善。证据M07-R3-load-first-review-375.png、M07-R3-contract-expanded-first-review-375.png、M07-R3-product-first-review-375.png。

本轮发现并交实现者继续处理:

  • 送货段操作行可用宽323px,四按钮总宽+间距326.8px,删除单独换行。应整理为移动一致布局而非缩小触区。
  • 客户Sheet输入“移动验收”返回三条专用客户,未选择/确认;默认清空34×24、关闭22×22,需44px和H5可点击清空,其他新增Sheet同查。证据M07-R3-customer-picker-first-review-375.png。
  • 代码初版setQuantity每次input立刻Number/round可能吞掉小数输入中间态,已要求实际逐字1.125用例,不能仅fill覆盖;暂未修改业务数量。
  • 保留原装送客户/日期必填提示和规则注册;不能只换可见Vant字段使原正式保存校验失效,暂存强度仍按原逻辑。

1px锚点容差已接入,但期间HMR重挂载/布局变化导致部分截图滚动位置改变,初版截图不计最终锚点通过。身份保护、元数据写后刷新失败阻写及完整合同只读查看仍在实现。未保存计划、未移动/删除段、未改客户/产品;不把第一阶段编译检查或初版截图当R3整体PASS。

R3 第二阶段真实交互补验(未保存,未完成整批)

  • 375客户选择Sheet按“移动验收”检索显示3条合成客户;原生清空按钮与关闭按钮均实测44×44。点击清空后输入为空,恢复默认20条及加载更多入口;关闭后装货客户仍为测试客户,未确认更换。证据../2026-10-23/M07-R3-customer-picker-controls-fixed-375.png。
  • 送货段操作改为2×2,375每个按钮157.5×44,间距8px,无删除按钮孤立挤行。375及414送货锚点稳定保持高亮;414内容卡left10/right396、文档scrollWidth406≤innerWidth414。证据M07-R3-delivery-toolbar-fixed-375.png、M07-R3-delivery-toolbar-fixed-414.png。
  • 第一条装货产品先清空,再真实逐字输入1.125,输入与失焦后均保持1.125;装货总量3.125、送货3并显示数量不平衡提醒。随后还原1,恢复1+2=3。此次只操作未保存表单,不计持久化验证。
  • 切至送货乙后上移,客户乙/合同005/数量2/“移动验收送货乙;禁止实际运输”一起保持,汇总变2+1=3;再下移恢复甲、乙顺序与1+2=3。尚未验证删除再新增及保存重开。
  • 合同只读Sheet的AX显示联系人/电话、日期、负责人、交易主体及产品字段;取截图期间HMR重挂载关闭Sheet,因此M07-R3-contract-read-sheet-414.png不计合同详情最终视觉通过证据,待代码冻结后重拍。没有保存、安排或修改Web业务记录。
  • 追加发现客户Sheet选中后确定按钮仍为Vant蓝色rgb(25,137,250),仅局部--van-primary-color不足以覆盖按钮颜色。实现者补移动弹窗button token后,414真实复测背景/边框均rgb(10,159,109)、高44,选中后取消未改客户。前后证据M07-R3-customer-picker-blue-defect-414.png、M07-R3-customer-picker-green-fixed-414.png。

R3 首次冻结后保存回归与规格阻断(仍未通过)

  • root独立纯tsx五组178/178通过,日志/tmp/mobile-r3-root-final.log;规格审查同样178/178,但发现测试未覆盖的实际问题,不能据绿色测试标R3完成。
  • 414实际包装Sheet仅显示合同允许的20kg/袋,搜索不存在项显示空态、清空恢复,确认原包规正确。可安排明细显示合同1000、已安排0、可安排1000,关闭44×44;证据M07-R3-available-quantity-sheet-414.png。
  • 冷加载PO001,装货002行选已有第二别名和测试品牌,003保持空;第二送货段乙修改备注后上移、删除,最后一段甲的删除禁用;新增空段无旧产品,选择乙后读取原客户偏好,再选合同005、产品卡片。产品选中后搜索无结果仍保留已选1项,确认成功。补日期10-21、数量2、合成联系方式及重建备注,装送恢复1+2=3。点击普通保存成功,回到同ID待安排详情,无车辆/安排/履约。
  • 真实阻断:重新编辑后002的别名/品牌均为空;Web刷新后只读详情同样为空,而且计划总量2、装货3/送货3,出现数量不平衡。证据M07-R3-alias-brand-lost-after-save-414.png、WEB-R3-after-save-alias-total-defect-375.txt/.png。Web证据实际CSS375×812,已纠正早期误写1440文件名,不能用作1440视觉回归证据。
  • 独立规格审查实际执行helpers发现mergePlanProductsFromLoadMirror缺planProductId时按productId首匹配且不消耗匹配,两不同合同行产生同一个计划产品ID;后端缺explicit关联时也首匹配。这与真实计划层数量和元数据覆盖一致。已交唯一实现者评估移动opt-in一对一身份修复,保Web默认,不直接全局改helper。
  • 规格另两项阻断:合同行确认按旧deliveryIndex取目标,A段开选择器后重排[B,A]会把A产品追加到B(实际生产函数复现);合同查看只含基础字段和摘要,缺金额/结算/附件/单价税率/阶梯价格等完整只读内容。需返修再规格复核,尚未启动质量审查或本批图谱。
  • 成功持久化部分:重建乙段客户/合同005/数量2、联系方式和备注在详情正确;证据M07-R3-saved-rebuilt-delivery-414.png。此局部成功不抵消上述阻断,整体进度暂保持约72%。

R5 同单据只读基线补齐(2026-10-23,未修复)

  • 通过列表打开既有已安排计划 PO20261008010(ID 9C63207F66FD4104948818E44BAB34A9),Web 与移动端均只读,没有安排、保存、创建或分享公开链接。
  • Web 明细显示计划装送数量均30,装货实际33.97、送货实际34,司机执行回传时间及图片,地磅单CRKDH0002965、净重33.97。移动明细只显示计划数量与“地磅单 出库”,缺实际数量、执行回传和磅单详细信息,继续归入R5。
  • Web 运费8字段完整,计算方式为按趟次、金额500.00、开票否;移动仅显示是否有运费、金额、备注3项,其他5项待补齐。Web回传图片本身显示资源加载异常,不能将此样本当作图片预览成功证据。
  • 证据位于../2026-10-23/:WEB-R5-PO20261008010-readonly-1440.txt(公开链接和手机号已脱敏)、WEB-R5-PO20261008010-freight-1440.png、M07-R5-PO20261008010-before-414.txt、M07-R5-actual-quantity-missing-before-414.png、M07-R5-freight-fields-missing-before-414.png。实际CSS视口复核为Web1440×1000、移动414×896,记录于R5-PO20261008010-viewport.json。

U02 产品/客户最终回归新增触区缺陷(2026-10-23,待修)

  • 产品375搜索“移动验收”正确返回2条;毒/爆标记可见,展开字段和分类全路径正常,详情图片锚点可见且高亮正确。进入编辑未改值,取消后414列表保留搜索与展开状态。全过程未保存/上传/上下架/删除。
  • 尚未通过触控验收:产品列表返回按钮44×36,三个筛选36px高;详情编辑/下架/删除均30px高。编辑页底栏确定/取消及新增品牌/别名/重新生成均30px高,删除品牌/别名30×36,数字增减32×18;输入框内部34px(需检查完整可点击外框后修复,不把内部文字框当整个命中区)。客户列表返回44×44已通过,但顶部视图Tab仍34px、三个筛选36px。
  • 来源核对:styles/mp-webview.scss列表紧凑规则覆盖44px原语为36px,客户Tab高度34px;components/business/product-form-dialog/index.vuepage样式显式使用30px按钮。后续作为独立移动触区收尾批次,保持现有产品/客户页面模式、PC模板与样式;不能全局放大Web Element控件。
  • 修复应将实际可点击区域提升到至少44×44(数字增减不能保留上下两个18px目标,可移动分支改左右布局),为无文字删除按钮加具体可访问名称;同时复测底栏遮挡、375/414换行和分类/数字/品牌别名既有交互。需等R3评审通过后由单一实现者执行,不并行改共享代码。
  • 新证据在../2026-10-23/:M02-final-search-375.png、M02-final-detail-375.png及geometry、M02-final-form-375.png及geometry、M02-final-form-brand-controls-414.png、M02-final-edit-cancel-return-414.txt、M02-final-list-414-geometry.json、M01-final-header-touch-414.json/.png。此前U01仅卡片操作按钮通过,不代表上述页面所有触区通过。

M04/M06 审批只读回归(2026-10-23)

  • 375报价审批、合同审批的返回、状态Tab、三个筛选均实测44px,合同多选44px;没有产品/客户页面的36px回退。几何记录../2026-10-23/M04-M06-final-header-touch-375.json。
  • 已审批专用报价SXDD-20261021002查询唯一结果,详情保持最终25.00、2×12.50、税费2.88及已通过审批轨迹,无重复审批操作。375标签未折行、内容两侧留白、页面无横溢;返回已审批保留查询,414展开产品长名称/规格完整换行。证据M04-final-readonly-detail-375.png及geometry、M04-final-return-expanded-414.txt/.png。
  • 已审批专用合同SX/X-JT20261021001查询唯一结果,详情保持合同44.99、运费5、押金3、合计52.99及已通过轨迹;375顶部六分区横向滚动、文字不折行,内容留白正常;414返回保留已审批及查询,展开正常。证据M06-readonly-recheck-detail-375.png及geometry、M06-readonly-recheck-return-414.png。
  • 全程未重复提交/驳回/通过,也未修改业务数据;这轮只读结果不关闭首次驳回即时刷新异常。合同详情将被R3以只读嵌入方式复用,R3冻结后仍须再次验证普通详情入口不受影响。

R3 后端修复中间态与运行环境核对(2026-10-23)

  • root已在实际服务使用的backend/venv Python3.9独立运行tests/test_pl_mobile_product_identity.py及tests/test_pl_mobile_stop_meta.py,当时33项通过(纯函数/AST隔离服务测试,无数据库连接)。这是中间代码检查,不是新存储真实落库验收。
  • 源码确认移动请求若沿用原draft异常吞掉分支,部分段会被置空后返回成功;已要求独立移动暂存轻校验和端到端保全。另需覆盖只有送货、尚无装货及歧义关联未选时的草稿,不能只测有完整关联的0数量样本。
  • 当前8000服务为Python3.9 uvicorn,无--reload。新后端代码尚未重启生效,SQL仅已准备、未执行,快照flag默认关闭。已要求前端显式验证移动存储能力,防止旧后端忽略新增请求字段却返回成功。迁移、启用、受控重启及真实保存只在冻结审查后进行。
  • scripts/check_field_consistency.py在当前仓库未找到,不能记录为已通过;后续以实际schema/SQL/API字段核查补证。R3仍未冻结,未开始最终规格复审/质量审查。
  • 实际旧服务下打开新增计划,能力门禁已阻止表单写入(零input,无保存按钮,重试/返回44px),但能力接口404错误被错误解释为“运输计划不存在或已删除”;已交实现者区分能力版本错误与真实单据不存在。证据M07-R3-old-backend-new-guard-375.txt/.png,未写任何数据。
  • 重新只读解析当前默认配置(未连接数据库、未输出连接串/密钥):数据库仍指向非回环远程资源,目标不同于生产配置,但不能据此假定为专用隔离库;默认文件尚无移动快照flag。新侧表迁移仍未执行。
  • 返修根因补充:服务端create会生成新计划产品UUID、update拒绝客户端虚构已有ID,单靠前端修首匹配不足以原子绑定新增同产品合同行,需显式请求内关联键。装送段产品目前没有独立别名/品牌持久化字段,且不能为送货另增计划产品导致总量翻倍。已允许实现者准备必要mobile opt-in协议及隔离快照存储设计/迁移SQL;尚未执行真实DB迁移。新存储方案必须保证未迁移且未opt-in的Web旧接口不查询新表/新列、不改变行为,具体方案仍评估中。

R3 第二次冻结核验与新发现(2026-10-23,仍未验收)

  • 实现者冻结38文件;root使用实际Python3.9环境独立运行两组后端隔离测试,41/41通过。pnpm build退出0,1m12s,日志/tmp/mobile-r3-root-build.log;保留既有组件同名和大包警告,不把构建成功当作实际业务验收。
  • 旧后端能力404的提示已修正,真实新增375、编辑414均显示“运输服务版本不支持移动产品快照,请联系管理员更新服务后重试”,无可提交表单。证据../2026-10-23/M07-R3-old-backend-new-guard-fixed-375.txt/.png与M07-R3-old-backend-edit-guard-fixed-414.txt/.png。没有保存、迁移或重启服务。
  • 冻结后普通移动合同001只读回归:375视口,内容left10/right357、scrollWidth367≤innerWidth375;六个锚点均nowrap且44px,返回/更多/编辑/作废按钮44px;金额44.99+5+3=52.99及已通过审批内容保持。证据M06-R3-frozen-normal-contract-375.png及geometry。普通入口仍显示原上传/编辑操作,未点击;嵌入只读模式另行验证。
  • 规格复审新增P1:编辑回填仅有planProductId的送货行,在原关联装货B删除、同规格装货A唯一剩余时,resolveMobileDeliveryLoad会忽略失效的旧ID而退回唯一候选A,正式提交被静默改绑。已有测试仅覆盖有mobileLoadProductKey的主动选择状态,遗漏回填状态。需拒绝失效显式关联,暂存可保留待关联,正式保存要求用户重选;等待完整复审结论后统一返修。R3尚未进入质量审查,整体进度仍约72%。

  • 完整规格复审结论为FAIL,两项P1统一交回原实现者。第二项为Web显式合法改别名后,后端快照清空alias_name,移动hydrate/enrich优先采用空快照,下次提交恢复标准名;需补“Web改别名→移动打开→再次保存”跨层验证,与移动主动清空别名区分。原三项阻断方向已通过,不开始质量审查。

  • root另运行原后端draft_save、stop_upsert、package_validate三组13/13通过,未连接业务DB,9条现有Pydantic/SQLAlchemy弃用警告。此项支持旧逻辑回归,不替代Web页面实际保存测试。

  • 普通合同414继续回归:横向滑动后附件锚点可点击并高亮,附件区完整可见,底栏不遮挡;文档406≤414、底部按钮44px。证据M06-R3-frozen-normal-contract-414.png及geometry。缩放前375金额锚点稳定定位amountTop110.31px;未操作上传/编辑/作废。

  • 后端重启前置核查发现backend/app.pid记录3269且进程已不存在,真正8000服务为PID13849(父13811,现存Cursor启动shell),无reload。不能直接用过期PID文件认定服务停止或盲目执行restart;后续应重新核对8000监听进程身份,受控重启当前服务并验证新进程/能力端点。此次仅只读核查,未停止任何进程。

  • 对用户原截图同一PO002再次只读回归:414所有六个锚点nowrap/44px,卡片left10/right396,scrollWidth406≤414,右侧留白正常。证据M07-user-layout-regression-414.png及geometry。基础信息短字段仍逐项通栏,已在R5写入两列短字段/长字段通栏的具体要求,避免仅“无横溢”就算移动布局优化完成。

R3 两项P1闭环与质量审查启动(2026-10-23)

  • 两项修复重新冻结:历史ID失效与pending草稿不再自动改绑,只有手动重选才恢复;NULL别名快照表示Web改名待识别,空串保留移动明确清空。真实Python resolve/write/attach/Pydantic JSON贯通TS hydrate/enrich/mirror/prepare覆盖新别名、改回标准名、明确清空。
  • root独立复跑相同10前端脚本324/324(/tmp/mobile-r3-root-second-front.log),实际Python3.9后端两脚本46/46(0.80s)。规格独立复核相关前端66/66、后端46/46及38文件hash一致,结论PASS,可进入质量审查。
  • 已启动独立质量审查;二次修改后生产构建正在重新执行。尚未启用新后端/迁移,也未完成PO001真实修复保存,仍不计本批最终验收。
  • 原运输详情布局375也复核:六锚点nowrap/44px,卡片left10/right357,scrollWidth367≤375。证据M07-user-layout-regression-375.png及geometry,与414结果一致。

  • 二次生产构建完成:exit0、1m1s,日志/tmp/mobile-r3-root-second-build.log,仍只有既有同名组件/大包提醒。

  • 质量审查发现一项P2并交唯一实现者:移动草稿允许空/省略deliveries,实际sync_plan_legacy_from_stops仍索引deliveries[0],create/update会500;原测试以lambda替身掩盖同步异常。需实际校验+同步函数参与回归,保全装货数据及清空需方兼容字段,不能用拒绝全部未完成草稿替代修复。

  • 原始5173小程序H5外层只读检查:正常嵌入127.0.0.1:3006产品页面;375外层viewport/iframe宽均375、iframe高812,外层scrollWidth375。搜索“移动验收”返回2条,查看产品SXWL007466后返回保留查询及2条结果,无重复导航栏。证据M02-wrapper-search-375.png/.txt、M02-wrapper-detail-375.png、M02-wrapper-return-375.txt。截图使用浏览器viewport能力重拍,已覆盖早期CDP单独缩放造成大画布空白的图,不把该空白当应用布局缺陷;U02已知小触区仍待修复,不据本次读取宣告产品模块最终通过。

R3 真实保存及复制闭环(2026-10-23,后续草稿验收仍进行中)

  • 两项P1及空送货数组同步P2修复后,规格、质量复核均PASS;此前root前端324项、后端新旧相关71项通过,生产构建exit0。测试不是整批验收完成依据。
  • 已执行新增侧表迁移20261023_mobile_plan_stop_product_meta.sql并启用本机移动快照flag;仅新增表,未直接读写业务记录或改已有表。旧无reload服务已停止,新服务通过实际移动能力门禁及保存重开验证。backend/app.pid为过期值,后续运行状态须以监听进程和实际UI为准。
  • PO001修复保存并重开:装货002数量1、别名“移动验收第二别名”、品牌“移动验收品牌”;003数量2、无别名品牌。送货甲004明确关联002,独立别名“移动验收别名”、品牌空;乙005关联003、数量2、联系方式与备注保留。计划总量/装/送均3。证据M07-R3-repaired-*,位于../2026-10-23/。
  • 本轮新鲜Web只读详情再次确认PO001计划总量3、装3、送3及“1+2=3”;未编辑或保存Web。证据WEB-R3-repaired-total-readonly-1440.txt/.png。Web原明细别名列仍显示其原口径,不能将移动独立侧表字段与Web可见列混为一谈。
  • 完整合同只读Sheet已实际打开、滚动、关闭,含金额/单价税额/条款/审批/附件区域,关闭保留父表单状态;证据M07-R3-full-contract-sheet*。普通合同页面375/414回归证据保留。
  • 新鲜复制闭环:列表复制PO001→回填两条装货及两段送货→只改测试备注→普通创建,返回新ID 9A7C8C428FA74947967C614F26E1069F,编号PO20261023002,待安排。重开后甲关联002、独立别名与品牌保持,乙关联003且数量2/联系方式/备注保持,汇总3/3/3。未选择车辆、未安排、未生成地磅。证据M07-R3-copy-before-create-375.txt、M07-R3-copy-created-375.txt/.png、M07-R3-copy-reopen-first-375.txt及second。
  • 复制后的源记录再次读取、草稿待关联保存重开、414弹窗补验尚待完成;不将上述局部闭环记为8模块全部验收。

  • 复制后重新读取源PO001:原备注、装002/003的别名品牌、送甲关联及3/3/3保持,证据M07-R3-source-after-copy-375.txt。

  • 复用空草稿PO20261023001:未填装货、日期/类型未补,仅送货甲合同004产品数量0及行备注。暂存成功仍同ID草稿中;重开客户/合同/0数量/行备注及待关联均保留。点击正式保存明确提示“送货第1段…无法唯一关联装货产品,请选择关联装货产品”,留在编辑页,未安排。证据M07-R3-delivery-only-zero-draft-*、M07-R3-unlinked-formal-save-blocked-375.*。

  • 同时发现移动汇总单位错误:无装货明细且送货为“个”时,汇总默认“吨”。已交原实现者以实际移动模板SSR RED复现,发现混合单位也会直接累加并误判平衡;修复限定移动显示,禁止改默认Web口径、payload或后端。此项未过审前R3仍开放。

  • 414真实补验:CSS414×896、文档406,无横溢;合同产品Sheet为双列字段卡片,选择一行后搜索不存在项仍“已选1项”,取消不新增产品。完整合同Sheet宽414、关闭触区44×44,金额/条款/供需方/产品/审批/附件均可读,关闭返回父表单。证据M07-R3-contract-product-card-414.png、M07-R3-picker-selection-filter-retained-414.png、M07-R3-full-contract-sheet-414.png。

  • 上一冻结版本图谱已完成:backend/frontend脚本exit0;根graphify update进程30913于本轮确认exit0,153823节点/223943边,HTML因节点超过5000上限跳过,JSON和GRAPH_REPORT已更新。新单位修复完成后再增量更新,不复用旧图谱作新改动完成证据。

  • 复制单PO20261023002的Web只读补验确认总量3/装3/送3、正确新备注、无车辆;证据WEB-R3-copy-readonly-1440.txt。

  • 原5173 H5外层编辑复制单正常加载能力门禁后的完整表单,414×896 iframe与外层宽度均414,无重复导航;证据M07-R3-wrapper-copy-edit-414.png。未在外层再保存。

  • 414复制单未保存表单中临时移除装002产品:送甲关联立即变待选择,装总量2/送3;普通保存明确拦“无法唯一关联装货产品”,没有静默改绑装003,随后reload放弃临时修改。证据M07-R3-stale-load-link-blocked-414.txt/.png;reload仍加载中,需待载入确认后再记原值恢复。

  • 单位修复首轮规格FAIL:raw unit导致dun/吨同义不归一、显示原码并误判不平衡;已交原实现者补字典及历史值兼容,尚未开始质量审查。

R3本批收尾与U02开始(2026-10-23)

  • 单位字典返修经规格、质量两级独立复核PASS;root新鲜运行原10前端脚本331/331、0失败,日志/tmp/mobile-r3-root-unit-front.log。生产构建exit0、59.51s,日志/tmp/mobile-r3-root-unit-build.log(既有同名组件/大包提示仍存在)。完整38文件hash清单SHA256 45a3e06631beb0eff16341aa69ee9b18fb90621bfc18f120e0539303604a60b3。
  • 移动按真实单位汇总,dun/吨及普通字典编码/中文历史值一致,未知不误判平衡;原Web模板、resolver、payload/后端未因单位修复变更。真实375草稿显示送货0个,临时改1显示1个不平衡后还原0;截图M07-R3-delivery-only-unit-zero-fixed-375.png。
  • 414失效关联保存拦截后reload已完成,原保存的装002关联与3/3/3恢复;证据M07-R3-copy-after-block-reload-414.txt已覆盖加载中临时文件。
  • R3移动装送编辑及必要持久化修复的源码评审、外部合成数据主要H5闭环已通过。内部客户/地磅、特殊权限分支为隔离测试,微信真机尚未验收;运输整体仍有R4/R5/R6待做,不据R3关闭宣告运输或8界面全部通过。
  • U02由新唯一实现者开始:产品/客户触区44px、产品移动数字增减布局及按钮名称;保持原页面模式及Web。root继续实际375/414测试。单位新增import后的图谱更新待本轮代码收尾统一执行。

U02 产品/客户触区修复验收(2026-10-23)

  • 修改3生产文件,仅产品/客户移动scope:列表返回/筛选、客户视图Tab44px;产品详情操作44px;产品编辑输入/选择器44px、数字左右44×44、底栏44px;品牌名称独占一行,删除44px且有具体可访问名称,底部留白同步增高。业务脚本、绑定、事件及Web默认数字布局保留。
  • root第一轮实测发现三个select wrapper仍36px,根因全局el-ui.scss带!important;经仅移动scope覆盖后,375三个选择器均44。414表单全部可见布局的button/rolebutton/input/select wrapper检查无<44px;末尾别名和固定底栏无重叠,长名称完整可读。
  • 产品与客户列表分别375/414反向补验:顶部返回/筛选/客户Tabs全部44px,文档宽度不超过视口。产品414分类面板定位正常,选择测试子类得到1条,恢复全部分类2条;客户375“我的→全部”切换保留关键词。更多筛选面板原已44,无扩改。
  • 原生键盘真实数值回归:税率99后加到100,增加按钮禁用;输入-1归0,13.6按原整数精度为14;库存2.5加到3.5,库存及预警负数归0。CUA Playwright fill/pressSequentially曾只改变input.value、未更新Element aria-valuenow,已改用原生click/键盘全选/typeText/Tab完成真实事件,不把工具差异误报生产缺陷。
  • 实际新增品牌/别名空行并分别删除,仅局部表单;取消未保存后列表关键词“移动验收”及2条结果保留,重新详情税率13%、库存0、预警10、原1品牌2别名均保持。没有产品业务写入/上下架/删除/上传。
  • Web1440只读打开同产品编辑后取消,仍3列、数字控件右侧上下32×18及36px高度;没有编辑保存。截图WEB-U02-product-edit-1440.png。
  • 规格、质量独立PASS;root4/4生产模板参数/实际handler回归通过,生产构建exit0、59.01s(既有同名组件/大包提醒),日志/tmp/mobile-u02-root-build.log。基线及冻结4文件hash /tmp/mobile-u02-before/frozen.sha256。正在统一更新前端及根图谱。
  • 新证据均在../2026-10-23/:U02-product-form-before-375-geometry.json、U02-product-form-after-375-geometry.json(首轮仍有select36,不能当最终全部PASS)、U02-lists-after-375-414-geometry.json、U02-lists-reverse-widths-geometry.json、U02-product-detail-after-375-geometry.json、U02-product-detail-after-cancel-375.txt、U02-product-brand-alias-fixed-375.png/414.png、U02-customer-header-fixed-375.png/414.png及U02-product-header-fixed-414.png。最终选择器44及414表单命中区已实际DOM复测,记录见本节。

2026-10-23 范围调整与 R4 开始

  • 用户明确运输计划打印功能不需要开发;R6 已取消,已有打印保持原样,不再作为本次验收完成门槛。
  • R4 当前只读复现:375 快捷建档识别后仍单列大间距、按钮偏小,合成文本车牌皖QA1023/挂车皖QA102挂识别成功,尚未提交建档。证据 ../2026-10-23/M07-R4-paste-recognized-before-375.png。
  • 源码证实 create 成功后 performArrangeAfterSave 内 GET 抛错会跳过返回已保存 ID 的收尾;本批需修复移动失败恢复,避免重复建单。实施者已开始调查,尚未计完成。
  • U02 前端图谱进程确认退出0;根图谱 session10097 当前仍运行,未重复启动。

  • U02根图谱 session10097 已确认退出0:153876节点、223999边;图过大跳过HTML,JSON/GRAPH_REPORT更新。R4已开始源码变化,最终冻结后另更新图谱。

  • R4嵌入快捷创建375实测仍为居中Element桌面弹窗;已保存基线 M07-R4-paste-embedded-before-375.png,取消回到原计划且未保存。

  • M01补查专用客户商机列表确为0条,移动关联商机页只有既有商机修改/推进/跟进,无新增入口;不修改真实商机或为通过用例扩大移动功能。数值边界继续记受控证据。

M03 报价管理本轮最终回归(2026-10-23)

  • 375搜索专用SXDD-20261021001唯一命中,展开显示产品25+运费5+押金3;详情、版本页与列表最终金额均33,已保存第二别名、品牌空保持。
  • 375详情全部按钮/锚点44px,文档367≤375;414产品锚点、短字段双列、长分类全路径换行、左右留白及底栏正常。版本页375/414均正确显示当前版本/草稿;从版本返回详情再返回列表,关键词与展开保持。未保存、提审或改动业务数据。
  • 证据 ../2026-10-23/M03-final-card-expanded-375.png、M03-final-detail-375.png及geometry、M03-final-approval-anchor-375.png、M03-final-versions-375.png/414.png、M03-final-product-anchor-414.png、M03-final-return-expanded-414.txt/.png。
  • 初次Playwright点击版本历史未触发导航,原生触控正常;不将工具差异记生产缺陷。期间开发热更新发生全页刷新,重新原生输入后搜索与返回验证正常,不将热更新造成的临时查询清空记生产回归。

R4验收进展与M06复验前置

  • R4新版375短字段双列、表单控件及底栏44px、无横溢;挂车空提交拦截,承运商无匹配只保留未选择。独立page顶部返回原33.67×28已补scoped44px,414实测44×44。嵌入弹层414为全高移动样式,关闭后父计划未存备注及3/3/3保留;随后reload放弃临时修改,未保存计划/建档/安排。
  • 规格首轮发现paste旧会话冲突/commit晚到以及旧安排presenter跨记录弹窗,两项集中返修后独立27/27与11hash PASS;质量审查进行中。最终build已独立确认exit0 1m14;后续生命周期小修已SFC编译/定向回归,不重复全量构建。
  • M06新增专用合同SX/X-JT20261023001,1元,已提交admin本人;停驳回确认等待新单授权,详细ID及状态见test-data.md。原001不变。

R4快捷创建真实操作补验(2026-10-23)

  • 合成车辆V2重复识别:取消不关闭输入;复用后核载保持原3吨、司机/押运员仍正确;覆盖更新到4吨后车辆详情读回4.00,原人员关联保留。新建、复用和覆盖的移动回填已得到实际UI证据。
  • 原计划PO001刷新后仍无人车、原备注、计划/装/送各3,未把测试中的临时选择保存到源计划。
  • R4安排及人员调整闭环仍待专用PO23002确认授权;R5详情修复待冻结审查和浏览器实测。以上不代表运输计划整模块已验收。
  • 进度统计取消“约80%”作为验收依据,后续以逐模块关闭项和未验证项呈现;运输打印不在任务范围内。

R5详情首轮真实UI验收(2026-10-23)

  • 只读PO20261008010:计划30,装货实际33.97、送货实际34、按趟运费500.00,与原Web对照一致;8项运费齐全,按趟运输量/单价为—。装货地磅单SX-20261001160124001及反馈图片入口可见。原历史图片损坏不能算预览通过。
  • 375/414顶部6锚点均单行高44,无整页横溢,内容左右10;短字段双列,长字段通栏。证据M07-R5-load-375.png、M07-R5-freight-414.png、M07-R5-detail-414-geometry.json。
  • 本轮发现两项未过:送货合同入口只显示编号和客户(无完整合同查看);详情底部更多按钮宽36而非44。已交定向返修,不能标记R5验收完成。

R5规格审查追加:分段mobileProductMeta优先级错误已由PO001真实UI复现(送004套用装002品牌,别名显示—);移动无历史快照的人车读取还会吞掉人员证书失败,需保留partialErrors及重试。与合同入口/36px按钮共4项P2交同一实现者定向修复;其他数据源、实际量、段匹配、运费来源、快照优先及路由响应隔离通过本批规格核查。

R5四项返修复测

  • 规格最终PASS(最新清单 /tmp/mobile-r5-read-protocol-freeze.sha256);9/9测试含真实loadDetail调用includeMobileProductMeta协议参数,避免只测局部helper。
  • PO001刷新实测装002“移动验收第二别名/移动验收品牌”、送004“移动验收别名/—”;未安排实际量均—,未把计划量冒充实际量。证据M07-R5-stop-metadata-fixed.txt。
  • 合同004弹层已读取完整基本/金额条款/供需方/产品/审批/附件;无写操作。关闭前后仍同计划URL且scrollY均1780,位置保留。更多按钮实测44×44。
  • 无快照人员证书失败进入局部错误可重试已由生产代码测试覆盖;未伪称线上失败注入实测。质量审查及最终集成检查未完成,R5暂不宣布整体通过。

最后状态操作修复与验收边界(2026-10-23)

  • 状态端点仅返回PlanRead;移动详情原先用简版响应覆盖完整记录,导致产品/装送段消失。现写成功后GET(id,true)重取完整详情;读取失败明确“状态已保存,无需再次提交”,重试只读。三状态、读取失败和迟到响应的生产控制器12/12通过,两级定向复核PASS。未修改Web、后端和打印。
  • 首轮集成构建 /tmp/mobile-r45-integrated-build.log exit0;包含最后状态补丁的最终构建 /tmp/mobile-r45-final-build.log 已exit0(1m12s);前端图谱 /tmp/mobile-r45-final-frontend-graph.log 已exit0(42749节点);根图谱 /tmp/mobile-r45-final-root-graph.log 已exit0。构建有既有UserSelector重名和大chunk提示;全库类型检查仍有既有错误,不宣称类型检查通过。
  • M01商机UI边界缺fixture已再次核实:Web专用客户商机空、详情无新增,已配置商机路径实际404。已请求一条可写的合成商机;不修改真实商机或绕开UI建数据。证据M01-opportunity-entry-unavailable.txt。
  • 当前外部待办:M06新测试合同驳回确认;M07专用PO23002安排/调整确认;M08专用PO002证书图片上传/齐备确认。M01商机已按用户最新指示排除。此前授权仅原单据/客户附件,未擅自扩大到新单据。

原小程序H5容器集成复验

从localhost:5173/pages/common/mp-webview载入PO001移动详情,375/414均实际检查:单行锚点、左右留白、双列字段及固定底栏正常,装送独立别名品牌正确。不代表微信真机通过。证据M07-R5-miniprogram-wrapper-375.png及414.png。最新R5五文件hash与冻结清单一致,diff检查通过;源码不再继续变更。

用户范围调整(2026-10-23)

用户明确“商机不需要填写啊,不用管”。商机修改、阶段推进、商机跟进及其测试数据准备不再属于本次验收;此前商机缺fixture的等待项取消,不再继续索要或创建。客户管理其余功能仍在原范围内。运输打印同样维持排除。此指示不构成对剩余合同驳回、运输安排/调整、证书上传/齐备的授权。

用户确认继续后的三项业务收尾与下载边界

  • M06:M06-new-reject-immediate-result.txt/.png,证明新测试合同驳回后立即草稿/已拒绝,旧审批按钮消失。
  • M07:PO20261023002先安排皖QA1023(人员可空),再调整皖QA1024及合成司机/押运员;重开保持已安排、正确人车及3/3/3。合同累计数量未因调整重复增加。证据M07-adjusted-reloaded-375.txt与M07-adjust-success-quantity-sheet-375.png。
  • M08:PO20261021002三附件保存后自动已齐备,重开持久化且仍待安排;购买证预览显示TEST ONLY。未上传筛选0条、全部筛选1条且已齐备,见M08-after-upload-missing-filter.txt和M08-after-upload-all-filter.txt。
  • 下载边界:普通UI点击下载,签名接口200;CDP观察文件Document请求被inspector阻断(net::ERR_BLOCKED_BY_CLIENT),未找到落盘文件,不能判PASS。证据M08-download-browser-block.json。已请求用户在普通浏览器验证;没有绕过浏览器拦截,也没有为工具问题修改共享下载功能。
  • 上述证据均位于../2026-10-23/。本轮只更新验收记录及已授权合成业务数据,无生产源码新修改。

最终关闭确认

用户针对PO20261021002购买证下载验证回复:“下载成功,图片可打开”。据此关闭M08下载待验收项,约定H5范围8/8完成。保留此前浏览器阻断记录以说明自动化工具限制;未再次下载、上传或修改源码。商机、运输打印排除,真机、其他真实角色及真实运输地磅不在本次已验证结论内。

验收后视觉反馈修正:危化品证详情对齐客户详情

  • 用户指出双危险品标签紧贴及字段颜色不一致。实际浏览器对照客户详情:字段名rgb(50,50,51)、字段值rgb(150,151,153),均14px/400;分区标题rgb(8,127,87)、13px/700。原危化证字段分别为偏绿#71857b/#223b33,双Tag间距实测0。
  • 仅修改移动CertDetail.vue模板及cert.scss详情范围:危险品标签flex布局gap8px;字段左右排列和颜色字号按客户详情;透明分区去除白卡阴影及嵌套绿色背景;证书槽位间距16px。业务script逐字比较保持不变,未修改Web组件或共享下载行为。
  • 375/414实际视口验证:文档宽367/406,无横向溢出;Tag间距8px;锚点高44px、不换行;414底栏按钮44px。Vue模板/SCSS编译、ESLint、18项已有详情导航测试及diff检查通过。前端与根图谱增量更新均exit0。
  • 证据:../2026-10-23/M08-style-aligned-base-375.png、M08-style-aligned-certificates-375.png、M08-style-aligned-certificates-414.png、M08-style-aligned-metrics-414.json。此项为样式修正,未再次执行业务写操作;此前H5功能验收结论保留,不代表不存在后续视觉改进。