2026-08-06-pl-plan-cert-hazard-filter-design.md 1.6 KB

危化品证上传:仅展示危化计划 +「未上传证书」Tab

背景

【危化品证上传】页当前复用运输计划列表,未按危化属性过滤,大量无需上传证书的计划干扰操作。

需求

  1. 本页所有单据类型 Tab(全部 / 入库 / 出库 / 直销)仅展示至少含一件易制毒或易制爆产品的运输计划。
  2. 在「直销单」后增加 Tab「未上传证书」:含危化产品,且至少一件产品缺少必需证书附件。
  3. 「未上传证书」判定只看附件是否齐全,与「证书齐备」标记无关。

证书缺口规则(与现网一致)

  • 易制毒:须有购买证、运输证(purchaseCertUrl / transportCertUrl)
  • 易制爆:须有合法证明(legalUseCertUrl)
  • 危化标识以 CRM 产品主数据为准(is_toxic / is_explosive),不信任计划产品快照

方案

后端 GET /transport/plan/ 增加可选查询参数:

参数 含义
hasHazardProduct=1 计划存在危化产品(CRM)
certUploadStatus=incomplete 存在危化产品且至少一张必需证书 URL 为空

本页默认始终传 hasHazardProduct=1;切到「未上传证书」时额外传 certUploadStatus=incomplete,并清空 planType。

运输计划、归档等其它页面不传上述参数,行为不变。

前端

  • PlPlanTypeTabs 支持可选 tabs 覆盖,本页传入含「未上传证书」的 Tab 列表。
  • Tab 值 cert_incomplete 与单据类型互斥。

非目标

  • 不改证书齐备业务语义
  • 不改菜单角标算法(若后续要对齐可另开需求)