验证
验证是报告提交后的质量控制步骤。自当前版本起,验证不再是独立页面 —— 验证与其所对应的报告并列呈现,在报告列表中显示为交通灯徽章,在展开的报告视图中显示为按状态分组的徽章行。
主管或质检员打开报告,点击验证徽章在弹出的模态框中查看或创建验证,核验测量数据与安装质量,并针对报告中具体条目记录发现问题。每条发现问题都有对应的严重性等级(严重、警告、信息),整体验证状态决定是否释放付款,或要求工作人员整改。
验证的位置
报告列表: 每一条报告行都在独立的列中显示一个聚合验证徽章(灰/红/黄/绿)。徽章展示最严重的状态及数量——例如,若该报告有三条失败验证,则显示 FAILED · 3。悬停徽章可查看各状态的明细,如 failed: 1, passed: 2。
展开的报告: 在列表中展开报告后,会显示一行按状态分组的验证徽章。点击任意徽章可打开 ValidationEditModal —— 一个功能完整的覆盖层,无需离开报告即可查看、编辑或创建验证。
移动端: 移动端主管队列 /m/validations 保持不变。移动端验证员继续通过专用列表处理已分配的验证任务。
打印视图: 独立的 /fulfillment/validations/:id 页面作为仅供打印的视图保留。模态框头部有打印按钮,点击后在新标签页打开打印页面。旧书签的深链接依然有效。
打开验证
从报告列表操作:
- 找到要验证的报告
- 点击报告行中的验证徽章(或展开报告行,查看按状态分组的徽章)
ValidationEditModal在当前页面上层打开- 查看已有验证,或在没有验证时点击创建验证
- 记录发现问题、上传照片、设置状态并保存
访问控制:
- 查看验证无需特殊权限
- 创建需要
validationsCreate管理员权限 - 编辑需要
validationsUpdate管理员权限
统一提交(报告与验证同步)
重新设计后,报告与验证的编辑操作已统一。当您同时打开报告和验证时,提交按钮会一并保存所有修改——报告编辑与验证编辑在一个步骤中完成。验证无需与报告分开单独保存。
验证结构
核心字段:
- 报告 — 所验证报告的引用(从报告打开时自动设置)
- 验证者 — 执行质量控制的用户
- 状态 — pass、fail、needs-revision、approved-with-notes
- 验证日期 — 执行质量控制的时间
- 总体备注 — 总体观察结果与摘要
详细发现:
- 发现问题 — 具体问题的列表
- 照片 — 质量问题的影像记录
- 建议措施 — 后续任务及所需整改
发现问题结构
验证中的每条发现问题针对报告"已完成工作"列表中的具体条目。发现问题包含:
- 涉及的工作条目(通过在已完成工作列表中的位置标识)
- 问题类型 —— 问题的类别(如数量不符、质量缺陷)
- 严重性 —— critical、warning 或 info
- 描述 —— 用通俗语言说明问题
示例: 某份报告记录了 Cat6 电缆(45 米)、接线盒(8 个)和电工工时(3.5 小时)。验证发现电缆数量不符(物理测量 42 米,报告为 45 米,严重性:warning),以及两个安装不当接线盒的严重质量问题(严重性:critical)。
要点:
- 每条发现问题指向具体条目,验证员可在同一份报告中对部分工作标记通过、对其他工作标记问题
- 每份报告可添加多条发现问题
- 详细备注为工作人员的审查保留上下文信息
验证状态
pass — 工作符合质量标准
- 所有测量准确无误
- 安装符合规范要求
- 材料记录完整规范
fail — 工作未达标准
- 存在严重质量问题
- 测量值存在显著偏差
- 需要返工
needs-revision — 存在细微问题,需要整改
- 测量值存在小幅差异(在公差范围内)
- 文档不完整
- 需补充照片
approved-with-notes — 附带保留意见接受
- 工作符合最低标准
- 已记录问题以便追踪
- 需在培训中解决的规律性问题
问题类型
volume_mismatch — 报告数量与实际测量不一致
- 示例:报告声称 50 米电缆,实测为 45 米
- 严重性:warning(微小差异)或 critical(重大偏差)
quality_issue — 安装不符合标准
- 示例:安装不当、缺少防风雨措施、损坏
- 严重性:critical(安全隐患)或 warning(外观问题)
documentation_incomplete — 缺少必要信息
- 示例:无照片、描述模糊、缺少认证
- 严重性:info(轻微)或 warning(法规要求)
location_discrepancy — 在错误位置执行工作
- 示例:报告几何与任务几何不匹配
- 严重性:critical(完全错误的地点)或 warning(轻微偏差)
consumption_mismatch — 消耗材料与完成工作量不符
- 示例:报告完成 50 米电缆施工,实际消耗库存 80 米
- 严重性:warning(需调查浪费/盗窃情况)
safety_violation — 发现不安全操作
- 示例:缺少安全设备、操作程序不当
- 严重性:critical(始终如此)
严重性等级
critical — 需立即整改,工作不可接受
- 安全违规
- 重大质量缺陷
- 显著测量误差
- 财务影响超过阈值
warning — 需关注,但工作勉强可接受
- 轻微质量问题
- 小幅测量偏差
- 文档记录不完整
- 存在培训机会
info — 记录在案以便追踪,无需立即处理
- 最佳实践建议
- 效率改进方案
- 信息性观察
创建验证
所需权限: validationsCreate 管理员权限
工作流程:
- 导航至【履约】→【报告】
- 展开或打开要验证的报告
- 点击验证徽章打开
ValidationEditModal,若无验证则点击创建验证 - 核对已完成工作与实际现场情况
- 针对已完成工作中的每项资源:
- 核验测量数据
- 检查安装质量
- 在发现问题中记录任何异常
- 上传质量问题照片
- 设置整体状态(pass/fail/needs-revision/approved-with-notes)
- 添加总体备注(摘要)
- 点击提交,报告与验证编辑一同保存
现场验证:
移动验证员工作流程(/m/validations):
- GPS 定位验证(是否在现场?)
- 相机集成,用于拍摄质量问题照片
- 语音转文字,用于描述输入
- 离线模式(恢复网络后提交)
验证工作流
典型流程:
- 报告提交 — 工作人员完成报告
- 徽章可见 — 报告列表中,无验证的报告显示灰色"none"徽章
- 验证员打开报告 — 点击徽章,打开模态框
- 现场核查 — 验证员实地考察(或基于照片和数据进行审核)
- 实测 — 对工程质量进行物理核验
- 照片记录 — 记录质量状况(合格或不合格)的影像
- 发现问题 — 在模态框内记录任何差异
- 状态判定 — 为验证设置 pass/fail/needs-revision
- 提交 — 报告与验证原子性保存
- 后续处理 — 若为 needs-revision,工作人员整改问题
- 重新验证 — 重新打开徽章,为现有验证添加发现问题,或创建新验证
- 最终批准 — 报告获批,付款释放
按验证状态筛选报告
由于验证现在存在于报告页面,报告列表接受验证状态筛选:
all— 所有报告(默认)none— 没有任何验证的报告(需要质检关注)any— 至少有一条验证的报告failed— 至少有一条失败验证的报告revision— 至少有一条 needs-revision 验证的报告passed— 所有验证均通过的报告
自定义筛选仍可使用:
- 验证者(执行质检的人员)
- 日期范围
- 严重性(仅显示 critical 发现问题)
- 问题类型(volume_mismatch、quality_issue 等)
付款集成
验证控制付款释放:
付款保留:
- 状态为 fail 的报告 → 付款保留
- 状态为 needs-revision 的报告 → 部分付款(可配置)
- 状态为 approved-with-notes 的报告 → 全额付款,附注追踪
付款释放流程:
- 提交报告
- 通过徽章/模态框执行验证
- 若为 pass 或 approved-with-notes → 付款释放
- 若为 needs-revision → 部分付款,需重新验证
- 若为 fail → 不付款,需返工
财务保障:
- 防止为不合格工作付款
- 激励质量提升
- 为付款决策提供审计追踪
验证分析
追踪质量趋势随时间的变化:
按员工统计:
- 每位员工的合格率
- 常见问题类型
- 改进趋势
- 培训需求识别
按任务类型:
- 哪些任务失败率最高
- 资源特定的质量问题(线缆 vs 人工 vs 设备)
- 估算准确性(数量不符表明估算不佳)
按验证者统计:
- 一致性检查(某个验证者是否过于严格/宽松?)
- 验证周转时间
- 严重性分布分析
最佳实践
及时验证:
- 使用报告列表的
none筛选器找出待质检的报告 - 在报告提交后 24–48 小时内完成验证
- 新鲜证据(材料仍可见,工人仍记得)
- 加快向工人付款
具体的发现问题:
- 通过在已完成工作列表中的位置(第一项、第二项等)引用具体条目,使发现问题具有可操作性
- 详细描述有助于工作人员理解问题
- 照片提供无可辩驳的证据
建设性反馈:
- 将问题视为培训机会
- 说明问题的重要性(涉及安全、标准、成本)
- 提供改进建议
统一标准:
- 对所有员工采用相同标准
- 明确记录质量标准
- 定期校准验证(确保一致性)
使用打印视图输出纸质副本:
- 在现有验证上打开
ValidationEditModal - 点击模态框头部的打印按钮
- 打印页面在新标签页打开,可直接打印或导出为 PDF
验证不可变性
软删除: 验证可标记为已删除但保留在数据库中:
- 保留质量控制历史记录
- 维持付款审计追踪
- 可配置保留期限
- 通过
viewDeleted管理员权限查看已删除验证
编辑限制: 付款释放后:
- 验证转为只读状态(模态框仅供查看)
- 修改需创建新验证并附注释
- 确保财务完整性
- 版本历史记录追踪最终确定前的所有变更