按用户要求对齐客户详情:基础、运费、装送货及产品字段左右排列,字段名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 功能和展示。
本轮已完成原先等待确认的三项业务操作:新测试合同驳回即时刷新、专用运输计划安排及调整、三类测试证书上传保存与自动齐备。下面为最新状态,后文为按时间保留的过程记录;历史“待授权/待返修”由后续同项验证结果覆盖,不再重复执行。
| 模块 | 验收结果 / 已完成证据 | 限制或剩余项 |
|---|---|---|
| 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 | 已按真实组件类名和布局更新,相关测试通过;未修改生产行为以迁就旧断言 |
CUA 负责实际浏览器操作;源码/纯函数模拟不计真实保存或权限验收。当前只有admin账号,尚未取得微信真机与其他角色证据。服务在本机运行,但默认数据库/MinIO为远程测试资源,不能称本地隔离。早期截图未逐张附视口元数据,最终回归须重拍关键375/414状态;后续截图附 viewport.json。
错误页编辑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)。选择两行后表单保留两条并分别显示合同号。最终保存与重开仍在测试,不能据此记完整通过。
*-native.png 作为可视证据。Web多段一致性以对应只读AX文本为业务证据,不以失真的1440截图判定布局。docs/superpowers/plans/2026-10-21-mobile-contract-line-picker.md,桌面表格保持。.van-tab 被 flex:1 1 0 均分,四字文本宽不足52px且white-space normal;已局部改为不压缩单行横滚,实际375/414全部文字20px单行、点击区44px。M07-detail-tabs-spacing-fixed-375.png、M07-detail-tabs-spacing-fixed-414.png 及两份geometry;均实际查看。用户要求加强主动视觉检查,已把逐页首/中/尾、弹窗、展开、空/错态、键盘可达性加入上述计划统一清单,不能以测试数或DOM尺寸代替截图验收。.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。修复须同时恢复滚动高亮、点击定位偏移和稳定吸顶。运输详情375末尾备注高亮已实际验证,证据M07-bottom-anchor-fixed-375.png;最新视图两侧留白与单行页签保持。本批完成,完整运输表单/详情其余项仍按R2–R6继续。
R3A补充Web真实1440px原12业务列/同产品两合同显示及取消返回通过,未确认/保存;图谱frontend已更新1099文件,零模型API。
H5鼠标拖动不能当微信触摸滑动验收;IAB不支持CDP Input.dispatchTouchEvent。本批未改swipeable/Tab状态,点击切换状态保持已验证,微信真实滑动仍属于用户已延期的真机验收。
C28 最终规格与质量审查均 PASS;客户相关 138 项回归通过,Sass 编译通过,stylelint 与本批前同为 30 项既有诊断,无新增。仅客户移动局部样式改动。
End到底(scrollY1872+height896=scrollHeight2768),末区审批流程已完整可见,仍高亮产品明细;需修正短末区到达文档底部的高亮,并保留点击滚动锁、Home和空/缺失区处理。
同轮合同375/414主体双列、长文字、页尾高亮/Home正常;更多按钮宽36、高44,加入C29局部修复。报价/合同700ms锁也按T05发现的中断边界补查。
用户询问进度时已告知约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 金额通过结论代替整页验收。
调整 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片段被判尾随空白,后续图谱更新完成后只清理这些生成行,不混入业务代码修复。
codex/mobile-eight-pages-qa,接续基线 5b00081d8;此前修改已在当前提交中。不得继续用早期工作区 diff 作为本轮修改范围。../2026-10-23/M07-list-return-expanded-414.png,已查看截图。../2026-10-23/M07-detail-tabs-spacing-375.png、../2026-10-23/M07-detail-remark-anchor-414.png,均已目视检查。/tmp/mobile-20261023-root-t06.log);规格与质量独立复审均PASS。生产修改仅危化证移动列表,未修改Web。../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/workbench-entry-return.json(产品入口单独实测,JSON记录其余7项)。M08-more-filter-fixed-375/414.png、M08-number-range-validation-414.png 位于2026-10-23目录。/tmp/mobile-t07-root-final.log。../2026-10-23/M08-search-clear-preserves-picker-375.png已查看。真实Vant Search挂载事件测试覆盖清除,不仅测试helper。../2026-10-23/M08-contract-search-empty-fixed-414.png已查看。主筛选供/需摘要已真实复核。/tmp/mobile-t07-root-final.log。样式编译与lint通过;请求失败/反序/会话边界由真实production代码受控测试证明,正常查询与布局由浏览器实测证明。本批结案,8模块仍未全部验收,继续T06b及运输表单等剩余项。/tmp/mobile-t06b-root-final.log)。两份既有测试与实施前快照完全一致。../2026-10-23/M07-return-retry-regression-375.png、M07-return-scroll-regression.json、M08-return-retry-regression-414.png,截图已查看。网络失败恢复以受控生产代码测试为证据,不宣称浏览器故障重试已实测。../2026-10-23/M07-vehicle-picker-touch-before-375.png,未选用真实车辆、未保存计划。../2026-10-23/M07-carrier-picker-before-375.png、M07-address-picker-before-375.png已查看。未选用/保存真实人车、承运商或地址。M07-contract-picker-intermediate-375.png;不作为搜索功能失败或最终通过证据。待生产代码冻结后整页加载复测,防止把热更新现象混为业务问题。T01已完成后开始基础/运输主表单移动独立模板。唯一实现者implement_mobile_transport_form_r2;Web原新增表单1440基线已拍摄并目视,WEB-plan-new-before-R2-1440.png。本批未完成,尚未实际验收新模板。客户关联面板补验详见cases,发现合同数量汇总0而关联合同列表4,待Web口径对照,不擅改Web。
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测试确认。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或擅改已有合同数据。
五项返修经规格复核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标完成。所有本轮新建表单均未保存并已退出。
最终代码冷加载后,1440×1000→375×812→填写日期→失焦,innerHeight和visualViewport均812、active BODY,footer flex恢复;前一热更新残留实例不计新代码失败。基础同排输入y完全一致。空新表单点击正式创建提示“请选择装货客户”,无保存导航。规格141项PASS后进入独立质量审查。
冷启动主按钮仍Vant蓝色,且新增scss使用FreshMint主色,违反移动规范三墙绿,已另要求局部token/按钮background-border补齐,保持Web全局不变。颜色修复完成并再冷启动前不验收R2。
../2026-10-23/M07-R2-new-final-green-375.png、M07-R2-new-final-green-414.png。M07-R2-remark-final-414.png。M07-R2-edit-totals-414.png。现有产品名称仍过度省略,继续在R3卡片批次处理,不能计整体表单验收完成。M07-R2-driver-search-414.png 是修复前,不得作为通过证据。M07-R2-cert-narrow-layout-defect-375.png。正进行mobile弹层限定修复,不修改共享Web默认样式。已有远程附件缩略图有读取失败,本轮未改附件数据,需后续区分资源问题与展示容错。/tmp/mobile-r2-root-final.log);随后搜索触区实现者143/143通过。新增样式修复后需要最终两级复核及root验证,当前不能把R2标记完整通过。../2026-10-23/M07-R2-driver-clear-fixed-414.png。M07-R2-cert-fullwidth-fixed-375.png。远程附件缩略图读取失败仍为独立待核查项,不能据布局通过宣称附件可预览。/tmp/mobile-r2-root-final.log),diff-check通过。测试基线比较依赖临时文件、缺失时未明确skip为非阻断维护项,后续统一整理,不更改历史Web基线以通过测试。WEB-plan-new-before-R2-1440.png、WEB-plan-new-after-R2-1440.png。该证据仅证明本批表单对照,不等于所有Web全量回归。R2代码实现和两级复核已完成;已安排/调整底栏暂无专用真实fixture,仅模式测试证据,真机软键盘仍未验收;随R4/最终验收补齐。R3装送段移动控件、R4安排、R5详情和R6打印仍待完成。下一生产批次C34客户离页空ID保护已开始。
R2草稿PO20261023001重新编辑成功:备注完整回填、空装送数据保持、保存及保存并安排底栏可见;375末尾备注锚点正确。证据 ../2026-10-23/M07-R2-minimal-draft-reopened-375.png。未再次保存。
/tmp/c34-root-final.log),目标lint/format/diff检查通过。../2026-10-23/M01-C34-return-fixed-375.png、M01-C34-return-fixed-414.png、M01-C34-contact-filter-414.png。/tmp/mobile-r2-c34-frontend-graph.log);根图谱更新也已exit0完成(/tmp/mobile-r2-c34-root-graph.log),本批图谱同步完成。../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或擅自把合同条数替代指标。
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完成。
实现者报告五个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。
本轮发现并交实现者继续处理:
M07-R3-customer-picker-first-review-375.png。1px锚点容差已接入,但期间HMR重挂载/布局变化导致部分截图滚动位置改变,初版截图不计最终锚点通过。身份保护、元数据写后刷新失败阻写及完整合同只读查看仍在实现。未保存计划、未移动/删除段、未改客户/产品;不把第一阶段编译检查或初版截图当R3整体PASS。
../2026-10-23/M07-R3-customer-picker-controls-fixed-375.png。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。此次只操作未保存表单,不计持久化验证。M07-R3-contract-read-sheet-414.png不计合同详情最终视觉通过证据,待代码冻结后重拍。没有保存、安排或修改Web业务记录。--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。/tmp/mobile-r3-root-final.log;规格审查同样178/178,但发现测试未覆盖的实际问题,不能据绿色测试标R3完成。M07-R3-available-quantity-sheet-414.png。M07-R3-alias-brand-lost-after-save-414.png、WEB-R3-after-save-alias-total-defect-375.txt/.png。Web证据实际CSS375×812,已纠正早期误写1440文件名,不能用作1440视觉回归证据。mergePlanProductsFromLoadMirror缺planProductId时按productId首匹配且不消耗匹配,两不同合同行产生同一个计划产品ID;后端缺explicit关联时也首匹配。这与真实计划层数量和元数据覆盖一致。已交唯一实现者评估移动opt-in一对一身份修复,保Web默认,不直接全局改helper。M07-R3-saved-rebuilt-delivery-414.png。此局部成功不抵消上述阻断,整体进度暂保持约72%。9C63207F66FD4104948818E44BAB34A9),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。styles/mp-webview.scss列表紧凑规则覆盖44px原语为36px,客户Tab高度34px;components/business/product-form-dialog/index.vuepage样式显式使用30px按钮。后续作为独立移动触区收尾批次,保持现有产品/客户页面模式、PC模板与样式;不能全局放大Web Element控件。../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仅卡片操作按钮通过,不代表上述页面所有触区通过。../2026-10-23/M04-M06-final-header-touch-375.json。M04-final-readonly-detail-375.png及geometry、M04-final-return-expanded-414.txt/.png。M06-readonly-recheck-detail-375.png及geometry、M06-readonly-recheck-return-414.png。backend/venv Python3.9独立运行tests/test_pl_mobile_product_identity.py及tests/test_pl_mobile_stop_meta.py,当时33项通过(纯函数/AST隔离服务测试,无数据库连接)。这是中间代码检查,不是新存储真实落库验收。--reload。新后端代码尚未重启生效,SQL仅已准备、未执行,快照flag默认关闭。已要求前端显式验证移动存储能力,防止旧后端忽略新增请求字段却返回成功。迁移、启用、受控重启及真实保存只在冻结审查后进行。scripts/check_field_consistency.py在当前仓库未找到,不能记录为已通过;后续以实际schema/SQL/API字段核查补证。R3仍未冻结,未开始最终规格复审/质量审查。M07-R3-old-backend-new-guard-375.txt/.png,未写任何数据。pnpm build退出0,1m12s,日志/tmp/mobile-r3-root-build.log;保留既有组件同名和大包警告,不把构建成功当作实际业务验收。../2026-10-23/M07-R3-old-backend-new-guard-fixed-375.txt/.png与M07-R3-old-backend-edit-guard-fixed-414.txt/.png。没有保存、迁移或重启服务。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写入两列短字段/长字段通栏的具体要求,避免仅“无横溢”就算移动布局优化完成。
/tmp/mobile-r3-root-second-front.log),实际Python3.9后端两脚本46/46(0.80s)。规格独立复核相关前端66/66、后端46/46及38文件hash一致,结论PASS,可进入质量审查。原运输详情布局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已知小触区仍待修复,不据本次读取宣告产品模块最终通过。
20261023_mobile_plan_stop_product_meta.sql并启用本机移动快照flag;仅新增表,未直接读写业务记录或改已有表。旧无reload服务已停止,新服务通过实际移动能力门禁及保存重开验证。backend/app.pid为过期值,后续运行状态须以监听进程和实际UI为准。M07-R3-repaired-*,位于../2026-10-23/。WEB-R3-repaired-total-readonly-1440.txt/.png。Web原明细别名列仍显示其原口径,不能将移动独立侧表字段与Web可见列混为一谈。M07-R3-full-contract-sheet*。普通合同页面375/414回归证据保留。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/吨同义不归一、显示原码并误判不平衡;已交原实现者补字典及历史值兼容,尚未开始质量审查。
/tmp/mobile-r3-root-unit-front.log。生产构建exit0、59.51s,日志/tmp/mobile-r3-root-unit-build.log(既有同名组件/大包提示仍存在)。完整38文件hash清单SHA256 45a3e06631beb0eff16341aa69ee9b18fb90621bfc18f120e0539303604a60b3。M07-R3-delivery-only-unit-zero-fixed-375.png。M07-R3-copy-after-block-reload-414.txt已覆盖加载中临时文件。WEB-U02-product-edit-1440.png。/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/M07-R4-paste-recognized-before-375.png。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条,移动关联商机页只有既有商机修改/推进/跟进,无新增入口;不修改真实商机或为通过用例扩大移动功能。数值边界继续记受控证据。
../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。R5规格审查追加:分段mobileProductMeta优先级错误已由PO001真实UI复现(送004套用装002品牌,别名显示—);移动无历史快照的人车读取还会吞掉人员证书失败,需保留partialErrors及重试。与合同入口/36px按钮共4项P2交同一实现者定向修复;其他数据源、实际量、段匹配、运费来源、快照优先及路由响应隔离通过本批规格核查。
从localhost:5173/pages/common/mp-webview载入PO001移动详情,375/414均实际检查:单行锚点、左右留白、双列字段及固定底栏正常,装送独立别名品牌正确。不代表微信真机通过。证据M07-R5-miniprogram-wrapper-375.png及414.png。最新R5五文件hash与冻结清单一致,diff检查通过;源码不再继续变更。
用户明确“商机不需要填写啊,不用管”。商机修改、阶段推进、商机跟进及其测试数据准备不再属于本次验收;此前商机缺fixture的等待项取消,不再继续索要或创建。客户管理其余功能仍在原范围内。运输打印同样维持排除。此指示不构成对剩余合同驳回、运输安排/调整、证书上传/齐备的授权。
用户针对PO20261021002购买证下载验证回复:“下载成功,图片可打开”。据此关闭M08下载待验收项,约定H5范围8/8完成。保留此前浏览器阻断记录以说明自动化工具限制;未再次下载、上传或修改源码。商机、运输打印排除,真机、其他真实角色及真实运输地磅不在本次已验证结论内。