PNT PRODUCT REQUIREMENTS
帕恩检测项目管理系统 PRD
全站结构、业务流程、数据模型与权限规则的统一说明。
一、全站结构思维导图
系统以订单为业务源;开案后生成项目执行载体。报价/订单数据与项目进度数据在项目开始后分离保存。主导航按需加载,刷新保持当前页面或详情标签。
- 帕恩检测项目管理系统
- 销售
- 订单列表
- 数据看板
- 回款
- 认款
- 新建报价(独立入口)
- 项目
- 项目列表
- 表格/流程视图
- 测试、报告、认证流程
- 项目看板
- 历史记录与提醒
- 报告
- 报告列表
- 编号与报告附件
- 查询、排序、分页
- 财务
- 收款作业
- 认款录入
- 绩效统计
- 回款审批与结案审批
- 客户
- 客户列表与分类
- 客户详情与人员分配
- 订单/项目关联
- 方案
- 产品与检测
- 国家与认证(共享产品分类)
- 认证流程图
- Excel 导入导出与备份
- 设置(右上角)
- 系统管理
- 管理员账号
- 账号设置
- 设计规范与本 PRD
- 销售
二、核心业务流程
客户、产品、认证、金额
项目经理负责审批
人员、样品、测试、认证
回款审批、结案审批
订单与项目状态
| 对象 | 状态 | 关键规则 |
|---|---|---|
| 订单 | 未开案 → 开案申请中 → 已开案 → 已结案 | 未开案可编辑;开案后进入项目;结案需满足待收为 0 并经财务审批。 |
| 项目 | 未开始 → 进行中 → 已完成/已作废 | 未开始保持订单基础数据;正式开始后进度独立保存;普通角色不能撤回开案。 |
| 回款 | 未认款 → 申请中 → 已审批/已驳回 | 销售侧认款,财务侧审批;审批后计入已收,驳回可修改或撤销。 |
三、权限与人员模型
三层权限判断
板块查看权限 → 数据查看范围 → 页面区域编辑权限 → 业务状态限制。服务端必须重复校验,前端隐藏不等于授权。
数据范围
普通人员默认仅看与自己相关的数据;部门经理可按开关查看本部门同级及下属;管理员与系统管理员可查看全部。
固定岗位 ID
岗位使用固定英文 ID,中文名称仅为显示文案。支持多角色、单部门;经理身份由“岗位角色 + 部门经理”动态组合,不创建重复业务角色。
编辑区域
按页面功能区配置基础策略与个人覆盖。个人覆盖优先于部门覆盖,再继承角色/页面默认;不绕过数据相关性和状态限制。
固定岗位
销售 客服 项目工程师 认证工程师 检测工程师 会计 财务 人事 质量工程师 验厂工程师
四、数据与技术架构
| 数据 | 存储 | 说明 |
|---|---|---|
| 订单、项目 | quote_records SQLite 表 | 完整记录、项目进度、人员、财务与历史信息按记录保存。 |
| 客户 | customers SQLite 表 | 客户简称、全称、创建人、关联人员与关联订单/项目。 |
| 认款录入 | payment_entries SQLite 表 | 金额、付款方、收款方、回执、时间和认款状态;旧 JSON 仅作迁移备份。 |
| 用户与方案库 | app_state SQLite 表 | 用户、部门、角色、板块权限、页面区域权限和方案库状态;管理员凭据使用独立键隔离保存。 |
| 浏览器状态 | localStorage | 仅登录状态、当前页面、详情标签和界面偏好;不作为业务数据源。 |
两个工作树使用独立 SQLite。默认部署只上传程序文件,不覆盖服务器业务数据;数据库迁移必须先备份、校验数量和字段,再切换读写。
五、交互与设计规范
导航
主导航与二级导航统一使用按钮/标签样式,无默认下划线;新页面从设置或对应模块入口进入,刷新保持当前页面。
表格
支持排序、查询、分页、横向滚动;可编辑表格单击选中、快速双击编辑,Delete / Backspace 清空选区,点击外部提交编辑;安全字段支持 Excel 多单元格粘贴和拖拽填充。
方案分类
产品与认证共用同一产品分类主数据。认证选择区按国家、分类、认证项目三级折叠展示;同名分类在不同国家保持独立展开状态。
弹窗与附件
弹窗居中、窄屏可滚动;文件列表支持多文件、粘贴、删除和压缩;图片按既定长边规则处理。
反馈
慢请求显示加载提示;保存失败显示用户可读错误;危险操作使用确认或倒计时;所有业务保存后刷新必须保持。
六、安全与可靠性
身份与权限
服务端会话、密码哈希和 Bearer 鉴权;无效会话返回 401,已登录但越权的读取/写入返回 403。系统管理员兼容单/多角色会话标识。
管理员凭据隔离
账号、手机号、密码与密保从用户/权限聚合中独立保存并校验完整性。仅当前系统管理员本人可从专用入口修改;普通配置保存不能覆盖。账号或密码变更只注销该管理员会话。
数据与恢复
写入仅持有短数据库锁;版本化迁移记录在 schema_migrations。整站恢复点同步保存 SQLite 与受控附件侧车包,恢复后重建索引并校验。
文件与导入
新附件以哈希、MIME、大小、归属和权限元数据管理,文件置于私有受控目录;Excel 导入在解析前限制路径、文件数、解压量和压缩比。
PDF 与本地测试
PDF 在禁网、独立受限进程中限时渲染;本地 CSS/JS 默认不缓存,确保刷新始终使用与本地服务一致的前端版本。
七、验收与发布
- 运行 Python 回归测试,覆盖角色、权限、客户、项目历史、方案库、迁移、附件、PDF 和导入安全。
- 使用管理员、销售、客服、项目经理、项目工程师、认证工程师、检测工程师、财务账号分别验证可见范围和可编辑区域。
- 完整走通“报价→开案→人员分配→项目执行→回款→审批→结案→业绩统计”,至少三轮且每轮修复后重跑。
- 发布前仅提交程序,合并到
main,部署脚本默认保留服务器数据并做程序备份。