Go to file
zty efb537e966 feat(phase4): 专业端空间污染源溯源视图
ProjectConfig 每个空间加"溯源"入口 → SpaceTracingModal:
5项污染物分tab,各显示预测浓度vs限值、达标/超标、各材料贡献率排序条、
超标时标红污染源材料(累计贡献>50%)并给整改建议。复用 generate 落库的
contributionRate,污染源前端按累计>50%算。

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-12 10:34:54 +08:00
apps feat(phase4): 专业端空间污染源溯源视图 2026-06-12 10:34:54 +08:00
packages/shared feat(phase4): 接入真实预测计算模型(中国建材院) 2026-06-12 10:31:26 +08:00
.gitignore init: 室内装修工程污染物预测系统复刻 (阶段0-3) 2026-06-11 13:58:15 +08:00
README.md init: 室内装修工程污染物预测系统复刻 (阶段0-3) 2026-06-11 13:58:15 +08:00
package.json init: 室内装修工程污染物预测系统复刻 (阶段0-3) 2026-06-11 13:58:15 +08:00
pnpm-lock.yaml init: 室内装修工程污染物预测系统复刻 (阶段0-3) 2026-06-11 13:58:15 +08:00
pnpm-workspace.yaml init: 室内装修工程污染物预测系统复刻 (阶段0-3) 2026-06-11 13:58:15 +08:00

README.md

室内装修工程污染物预测系统(复刻版)

基于原 indoorhealthair.com 功能复刻。全栈 TypeScript。

技术栈

选型
前端 Vue3 + Vite + Ant Design Vue + Pinia + Vue Router
后端 NestJS + Prisma
数据库 PostgreSQL
包管理 pnpm 单仓monorepo

目录结构

apps/
  api/                NestJS 后端
    prisma/schema.prisma   数据模型
    prisma/seed.ts         种子数据(组织 + 公共材料)
    src/auth/              登录鉴权 (JWT)
    src/materials/         材料库接口
  web/                Vue3 前端
    src/pages/             页面(登录/首页/材料库/模板库/历史)
    src/layouts/           顶部导航布局
    src/api/               接口封装
    src/stores/            Pinia 状态
packages/
  shared/             前后端共享:污染物/标准/枚举 + 预测引擎
research/             对原站的功能抓取(截图+脚本,仅供参考)

快速开始

# 1. 安装依赖
pnpm install

# 2. 配置数据库连接
cp apps/api/.env.example apps/api/.env
#   编辑 .env填入 DATABASE_URL

# 3. 建表 + 种子数据
pnpm db:migrate      # 创建数据库表
pnpm db:seed         # 写入组织(YPJKKJ/CBMA123456) + 示例材料

# 4. 启动(前后端并行)
pnpm dev
#   API: http://localhost:3000/api
#   Web: http://localhost:5173   登录账号 YPJKKJ / CBMA123456

开发路线图

  • 阶段 0 地基monorepo、共享域、登录、布局导航
  • 阶段 1 数据底座:数据模型、材料库接口、种子数据
  • 阶段 2 材料库 + 模板库(收藏、自建库 CRUD、新建材料表单
  • 阶段 3 项目配置核心(新建项目、空间抽屉、选材/预计算、生成报告)
  • 阶段 4 预测引擎(接入标定散发公式、贡献率、评级)
  • 阶段 5 报告 + 历史记录(生成/查看/复用)
  • 阶段 6 联调打磨、部署

⚠️ 待补充的关键资产

  1. 散发模型公式packages/shared/src/prediction.tsemissionRate() 目前为占位实现,需替换为你已标定的公式。
  2. 材料检测数据apps/api/prisma/seed.ts 中材料散发参数Y0/Yp/B为占位值需导入真实实验室检测数据。
  3. 国标限值packages/shared/src/pollutants.ts 中 GB39126-2020 / GB-T18883-2022 限值为草拟值需按官方标准核对GB50325-2020 已按原站抓取)。