Aptli

验证

验证是报告提交后的质量控制步骤。自当前版本起,验证不再是独立页面 —— 验证与其所对应的报告并列呈现,在报告列表中显示为交通灯徽章,在展开的报告视图中显示为按状态分组的徽章行。

主管或质检员打开报告,点击验证徽章在弹出的模态框中查看或创建验证,核验测量数据与安装质量,并针对报告中具体条目记录发现问题。每条发现问题都有对应的严重性等级(严重、警告、信息),整体验证状态决定是否释放付款,或要求工作人员整改。

验证的位置

报告列表: 每一条报告行都在独立的列中显示一个聚合验证徽章(灰/红/黄/绿)。徽章展示最严重的状态及数量——例如,若该报告有三条失败验证,则显示 FAILED · 3。悬停徽章可查看各状态的明细,如 failed: 1, passed: 2

展开的报告: 在列表中展开报告后,会显示一行按状态分组的验证徽章。点击任意徽章可打开 ValidationEditModal —— 一个功能完整的覆盖层,无需离开报告即可查看、编辑或创建验证。

移动端: 移动端主管队列 /m/validations 保持不变。移动端验证员继续通过专用列表处理已分配的验证任务。

打印视图: 独立的 /fulfillment/validations/:id 页面作为仅供打印的视图保留。模态框头部有打印按钮,点击后在新标签页打开打印页面。旧书签的深链接依然有效。

打开验证

从报告列表操作:

  1. 找到要验证的报告
  2. 点击报告行中的验证徽章(或展开报告行,查看按状态分组的徽章)
  3. ValidationEditModal 在当前页面上层打开
  4. 查看已有验证,或在没有验证时点击创建验证
  5. 记录发现问题、上传照片、设置状态并保存

访问控制:

  • 查看验证无需特殊权限
  • 创建需要 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 管理员权限

工作流程:

  1. 导航至【履约】→【报告】
  2. 展开或打开要验证的报告
  3. 点击验证徽章打开 ValidationEditModal,若无验证则点击创建验证
  4. 核对已完成工作与实际现场情况
  5. 针对已完成工作中的每项资源:
    • 核验测量数据
    • 检查安装质量
    • 在发现问题中记录任何异常
  6. 上传质量问题照片
  7. 设置整体状态(pass/fail/needs-revision/approved-with-notes)
  8. 添加总体备注(摘要)
  9. 点击提交,报告与验证编辑一同保存

现场验证: 移动验证员工作流程(/m/validations):

  • GPS 定位验证(是否在现场?)
  • 相机集成,用于拍摄质量问题照片
  • 语音转文字,用于描述输入
  • 离线模式(恢复网络后提交)

验证工作流

典型流程:

  1. 报告提交 — 工作人员完成报告
  2. 徽章可见 — 报告列表中,无验证的报告显示灰色"none"徽章
  3. 验证员打开报告 — 点击徽章,打开模态框
  4. 现场核查 — 验证员实地考察(或基于照片和数据进行审核)
  5. 实测 — 对工程质量进行物理核验
  6. 照片记录 — 记录质量状况(合格或不合格)的影像
  7. 发现问题 — 在模态框内记录任何差异
  8. 状态判定 — 为验证设置 pass/fail/needs-revision
  9. 提交 — 报告与验证原子性保存
  10. 后续处理 — 若为 needs-revision,工作人员整改问题
  11. 重新验证 — 重新打开徽章,为现有验证添加发现问题,或创建新验证
  12. 最终批准 — 报告获批,付款释放

按验证状态筛选报告

由于验证现在存在于报告页面,报告列表接受验证状态筛选

  • all — 所有报告(默认)
  • none — 没有任何验证的报告(需要质检关注)
  • any — 至少有一条验证的报告
  • failed — 至少有一条失败验证的报告
  • revision — 至少有一条 needs-revision 验证的报告
  • passed — 所有验证均通过的报告

自定义筛选仍可使用:

  • 验证者(执行质检的人员)
  • 日期范围
  • 严重性(仅显示 critical 发现问题)
  • 问题类型(volume_mismatch、quality_issue 等)

付款集成

验证控制付款释放:

付款保留:

  • 状态为 fail 的报告 → 付款保留
  • 状态为 needs-revision 的报告 → 部分付款(可配置)
  • 状态为 approved-with-notes 的报告 → 全额付款,附注追踪

付款释放流程:

  1. 提交报告
  2. 通过徽章/模态框执行验证
  3. 若为 pass 或 approved-with-notes → 付款释放
  4. 若为 needs-revision → 部分付款,需重新验证
  5. 若为 fail → 不付款,需返工

财务保障:

  • 防止为不合格工作付款
  • 激励质量提升
  • 为付款决策提供审计追踪

验证分析

追踪质量趋势随时间的变化:

按员工统计:

  • 每位员工的合格率
  • 常见问题类型
  • 改进趋势
  • 培训需求识别

按任务类型:

  • 哪些任务失败率最高
  • 资源特定的质量问题(线缆 vs 人工 vs 设备)
  • 估算准确性(数量不符表明估算不佳)

按验证者统计:

  • 一致性检查(某个验证者是否过于严格/宽松?)
  • 验证周转时间
  • 严重性分布分析

最佳实践

及时验证:

  • 使用报告列表的 none 筛选器找出待质检的报告
  • 在报告提交后 24–48 小时内完成验证
  • 新鲜证据(材料仍可见,工人仍记得)
  • 加快向工人付款

具体的发现问题:

  • 通过在已完成工作列表中的位置(第一项、第二项等)引用具体条目,使发现问题具有可操作性
  • 详细描述有助于工作人员理解问题
  • 照片提供无可辩驳的证据

建设性反馈:

  • 将问题视为培训机会
  • 说明问题的重要性(涉及安全、标准、成本)
  • 提供改进建议

统一标准:

  • 对所有员工采用相同标准
  • 明确记录质量标准
  • 定期校准验证(确保一致性)

使用打印视图输出纸质副本:

  • 在现有验证上打开 ValidationEditModal
  • 点击模态框头部的打印按钮
  • 打印页面在新标签页打开,可直接打印或导出为 PDF

验证不可变性

软删除: 验证可标记为已删除但保留在数据库中:

  • 保留质量控制历史记录
  • 维持付款审计追踪
  • 可配置保留期限
  • 通过 viewDeleted 管理员权限查看已删除验证

编辑限制: 付款释放后:

  • 验证转为只读状态(模态框仅供查看)
  • 修改需创建新验证并附注释
  • 确保财务完整性
  • 版本历史记录追踪最终确定前的所有变更