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

危化品证上传筛选 Implementation Plan

For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (- [ ]) syntax for tracking.

Goal: 危化品证上传页只展示含易制毒/易制爆的计划,并新增「未上传证书」Tab。

Architecture: 在 pl_plan_service 提供 EXISTS 子查询过滤器;list_plans 暴露查询参数;本页 Tab 扩展并始终带上筛选参数。

Tech Stack: FastAPI + SQLAlchemy、Vue 3、pytest


File map

File Responsibility
backend/app/services/pl_plan_service.py plan_has_hazard_product_exists / plan_has_incomplete_hazard_cert_exists
backend/app/api/pl/plan.py list_plans 接入新参数
backend/tests/test_pl_plan_cert_list_filters.py SQL/行为单测
web-admin/src/api/pl/index.ts PlanQuery 字段
web-admin/src/utils/pl-display.ts 本页 Tab 常量与映射
web-admin/src/components/business/pl-plan-type-tabs/index.vue 可选 tabs
web-admin/src/views/pl/plan-cert/index.vue 请求参数与 Tab 行为

Tasks

  • Task 1: 后端过滤器单测(红)
  • Task 2: 实现过滤器并接入 list_plans(绿)
  • Task 3: 前端 Tab + API 参数
  • Task 4: 跑测与 graphify 更新