审批管理系统 - 项目总结

📅 2026/8/13 23:12:50
审批管理系统 - 项目总结
审批管理系统 - 项目总结一、 项目概述1.1 项目背景1.2 核心业务需求1.3 核心设计原则二、 技术架构三、 项目文件结构四、 核心数据模型4.1 审批单据ApprovalDocument4.2 审批意见ApprovalOpinion五、 状态流转图状态说明六、 功能页面图示6.1 整体功能结构6.2 提出人页面6.3 领导页面6.4 秘书页面七、 角色与功能对应表八、 完整流程演示九、 技术亮点十、 测试用户十一、 访问地址十二、 项目总结一、 项目概述1.1 项目背景公司需要一个专门的审批事项管理系统处理日常的报批、审批、定稿和生效流程。涉及提出人、管理层3-5人和秘书室三个角色文件格式包括 PDF、Word、Excel 等。1.2 核心业务需求文件类型说明报批件各部门、项目或职能人员提出呈报管理层自动发送至秘书室保存审批意见件管理层对报批件发表意见可多次往返修改审批定稿件管理层讨论决定等待发送和生效审批生效件最终确定可实施自动归档1.3 核心设计原则原则说明秘书室总控秘书室是流程的阀门控制所有状态流转状态驱动所有操作围绕单据状态变化展开文件与代码分离上传文件独立存储在 data 目录角色权限分离提出人、领导、秘书看到不同的功能和数据浏览器架构B/S 架构局域网内任何电脑通过浏览器访问二、 技术架构层次技术说明前端HTML Bootstrap 5响应式界面后端Django 6.0Python Web 框架数据库PostgreSQL 17关系型数据库文件存储本地文件系统独立于代码目录部署Windows 局域网开发服务器 0.0.0.0:8000三、 项目文件结构D:\approval_project\ │ ├── code\ ← 所有代码Git 管理 │ │ │ ├── config\ ← 项目配置 │ │ ├── settings.py ← 数据库/时区/媒体路径 │ │ ├── urls.py ← 总路由 │ │ └── wsgi.py │ │ │ ├── templates\ ← 前端模板 │ │ ├── base\base.html ← 基础导航模板 │ │ ├── accounts\login.html ← 登录页面 │ │ ├── documents\ ← 提出人页面 │ │ │ ├── submit.html ← 新建申请 │ │ │ ├── list.html ← 我的申请列表 │ │ │ ├── detail.html ← 申请详情 │ │ │ └── revise.html ← 修改申请 │ │ ├── secretary\ ← 秘书页面 │ │ │ ├── dashboard.html ← 工作台含统计卡片 │ │ │ ├── all_documents.html ← 全部文件列表 │ │ │ ├── statistics.html ← 统计报告 │ │ │ ├── preview.html ← 初审 │ │ │ ├── summary.html ← 汇总 │ │ │ └── finalize.html ← 定稿 │ │ └── leader\ ← 领导页面 │ │ ├── pending.html ← 待我审批 │ │ └── submitted.html ← 我已审批 │ │ │ ├── accounts\ ← 用户管理 │ │ ├── models.py ← User角色/部门 │ │ ├── admin.py ← 后台注册 │ │ └── views.py ← 登录视图 │ │ │ ├── documents\ ← 审批单据核心 │ │ ├── models.py ← ApprovalDocument ApprovalOpinion │ │ ├── services.py ← 状态流转服务 │ │ ├── views.py ← 提出人视图 │ │ └── admin.py ← 后台注册 │ │ │ ├── attachments\ ← 附件管理 │ │ ├── models.py ← Attachment │ │ └── admin.py │ │ │ ├── secretary\ ← 秘书总控台 │ │ ├── views.py ← 秘书工作台/全部文件/统计报告 │ │ └── urls.py │ │ │ ├── leader\ ← 领导模块 │ │ ├── views.py ← 待我审批/我已审批/提交意见 │ │ └── urls.py │ │ │ ├── notifications\ ← 消息通知 │ │ └── models.py ← Notification │ │ │ └── archives\ ← 归档管理 │ └── models.py ← ArchiveLog │ ├── data\ ← 用户文件独立存储 │ └── documents\ │ ├── drafts\ ← 报批件 │ ├── final\ ← 定稿文件 │ └── opinions\ ← 意见附件 │ ├── backups\ ← 备份目录 │ └── 20260805\ │ ├── approval_db_20260805.sql ← 数据库备份 │ └── documents_20260805.zip ← 文件备份 │ ├── venv\ ← Python 虚拟环境 ├── backup_en.bat ← 手动备份脚本 └── auto_backup.bat ← 自动备份脚本四、 核心数据模型4.1 审批单据ApprovalDocument字段类型说明idAutoField编号titleCharField事项标题statusCharField状态11种current_versionIntegerField当前版本号submitterForeignKey提出人secretaryForeignKey负责秘书draft_fileFileField报批件final_fileFileField最终定稿expected_effective_dateDateField期望生效日期actual_effective_dateDateField实际生效日期4.2 审批意见ApprovalOpinion字段类型说明documentForeignKey关联审批单leaderForeignKey审批领导decisionCharField同意/需修改/驳回commentTextField审批意见attachment_fileFileField意见附件is_latestBooleanField是否最新意见五、 状态流转图┌─────────────────────────────────────────────────────────────────────┐ │ 审批单据状态流转 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ ① 草稿 ──提交──→ ② 待秘书初审 ──初审通过──→ ③ 待领导批示 │ │ ↑ │ │ │ │ │ │ 退回修改 │ 领导提交意见 │ │ │ ↓ ↓ │ │ │ ④ 退回修改 ⑤ 意见收集中 │ │ │ │ │ │ │ └────────────────────┘ │ │ │ 提出人修改后重新提交 │ │ │ │ │ │ ┌──────────────┴──────────────┐ │ │ │ 有领导需修改 │ │ │ │ │ │ │ ↓ │ │ │ ⑥ 待提出人修改 │ │ │ │ │ │ │ │ 修改后重新提交 │ │ │ ↓ │ │ │ ② 待秘书初审 │ │ │ │ │ │ │ │ 全部同意 │ │ │ ↓ │ │ │ ⑦ 待秘书定稿 │ │ │ │ │ │ │ │ 秘书定稿 │ │ │ ↓ │ │ │ ⑧ 待生效 │ │ │ │ │ │ │ │ 到期生效 │ │ │ ↓ │ │ │ ⑨ 已生效 │ │ │ │ │ │ │ │ 归档 │ │ │ ↓ │ │ │ ⑩ 已归档 │ │ │ │ └─────────────────────────────────────────────────────────────────────┘状态说明状态码中文名称说明draft草稿提出人创建未提交pending_init待秘书初审秘书检查附件和格式waiting_approval待领导批示领导发表意见collecting意见收集中自动判断是否全部提交waiting_revise待提出人修改有领导要求修改pending_finalize待秘书定稿秘书上传定稿文件waiting_effective待生效等待生效日期completed已生效审批完成archived已归档归档保存六、 功能页面图示6.1 整体功能结构┌─────────────────────────────────────────────────────────────────────┐ │ 审批管理系统 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ 提出人 │ │ 领导 │ │ 秘书 │ │ │ │ (Submitter) │ │ (Leader) │ │ (Secretary) │ │ │ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │ │ │ │ │ │ │ ▼ ▼ ▼ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ 我的申请 │ │ 待我审批 │ │ 工作台 │ │ │ │ 新建申请 │ │ 我已审批 │ │ 全部文件 │ │ │ │ 申请详情 │ │ 提交意见 │ │ 统计报告 │ │ │ │ 修改申请 │ │ │ │ 初审/汇总/定稿│ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────────┘6.2 提出人页面┌─────────────────────────────────────────────────────────────────────┐ │ 审批管理系统 tian_zhiguo [提出人] 退出 │ ├─────────────────────────────────────────────────────────────────────┤ │ 我的申请 | 新建申请 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ 我的申请 │ │ │ │ ┌─────┬───────────────────┬──────────┬────────┬─────────────┐ │ │ │ │ │编号 │ 标题 │ 状态 │ 版本 │ 创建时间 │ │ │ │ │ ├─────┼───────────────────┼──────────┼────────┼─────────────┤ │ │ │ │ │ 7 │ 现场服务零星材料 │ 待修改 │ v3 │ 08-05 10:57 │ │ │ │ │ │ 8 │ 流程管理软件采购 │ 已生效 │ v1 │ 08-05 12:09 │ │ │ │ │ └─────┴───────────────────┴──────────┴────────┴─────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ 功能新建申请 → 上传报批件 → 提交 → 查看详情 → 修改后重新提交 │ │ │ └─────────────────────────────────────────────────────────────────────┘6.3 领导页面┌─────────────────────────────────────────────────────────────────────┐ │ 审批管理系统 zr [领导] 退出 │ ├─────────────────────────────────────────────────────────────────────┤ │ 待我审批 | 我已审批 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ 待我审批 │ │ │ │ ┌─────┬───────────────────┬──────────┬─────────────────────┐ │ │ │ │ │编号 │ 标题 │ 提出人 │ 操作 │ │ │ │ │ ├─────┼───────────────────┼──────────┼─────────────────────┤ │ │ │ │ │ 7 │ 现场服务零星材料 │ tian_.. │ [审批] │ │ │ │ │ └─────┴───────────────────┴──────────┴─────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ 我已审批 │ │ │ │ ┌─────┬───────────────────┬──────────┬──────────┬───────────┐ │ │ │ │ │编号 │ 标题 │ 提出人 │ 我的决定 │ 审批时间 │ │ │ │ │ ├─────┼───────────────────┼──────────┼──────────┼───────────┤ │ │ │ │ │ 7 │ 现场服务零星材料 │ tian_.. │ 需修改 │ 08-05 11:11│ │ │ │ │ └─────┴───────────────────┴──────────┴──────────┴───────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ 功能待审批列表 → 提交意见同意/需修改/驳回 附件上传 │ │ 我已审批列表 → 查看自己审批过的所有申请 │ │ │ └─────────────────────────────────────────────────────────────────────┘6.4 秘书页面┌─────────────────────────────────────────────────────────────────────┐ │ 审批管理系统 xiaomi [秘书] 退出 │ ├─────────────────────────────────────────────────────────────────────┤ │ 工作台 | 全部文件 | 统计报告 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────────────────────────────────────────────────────┐ │ │ │ 统计卡片 │ │ │ │ ┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐ │ │ │ │ │总申请 │ │审批中 │ │待修改 │ │已生效 │ │已驳回 │ │ │ │ │ │ 25 │ │ 3 │ │ 2 │ │ 18 │ │ 2 │ │ │ │ │ └───────┘ └───────┘ └───────┘ └───────┘ └───────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ │ │ │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ │ │ 待初审 [3]│ │ 待汇总 [2]│ │ 待定稿 [1] │ │ │ └─────────────┘ └─────────────┘ └─────────────┘ │ │ │ │ 功能初审 → 汇总 → 定稿生效 → 全部文件查看 → 统计报告 │ │ │ └─────────────────────────────────────────────────────────────────────┘七、 角色与功能对应表角色功能页面主要操作提出人我的申请、新建申请、申请详情、修改申请提交报批件、修改后重新提交领导待我审批、我已审批、提交意见审批同意/需修改/驳回、上传附件秘书工作台、全部文件、统计报告、初审、汇总、定稿初审、汇总意见、定稿生效、查看全部文件、统计报告管理员Django 后台管理用户、查看所有数据八、 完整流程演示┌─────────────────────────────────────────────────────────────────────┐ │ 完整审批流程 │ ├─────────────────────────────────────────────────────────────────────┤ │ │ │ 提出人 秘书 领导 │ │ ──────── ──── ──── │ │ │ │ │ │ │ ① 新建申请 │ │ │ │ │ (上传报批件) │ │ │ │ │ │ │ │ │ ② 提交申请 ──────────────→│ │ │ │ │ │ │ │ │ │ ③ 初审通过 ────────────────→│ │ │ │ │ │ │ │ │ │ ④ 提交意见 │ │ │ │ │ │ │ │ │ (同意/需修改/驳回) │ │ │ │ │ │ │ │ ⑤ 汇总通过 │ │ │ │ │ │ │ │ │ ⑥ 定稿生效 │ │ │ │ │ │ │ │ ⑦ 查看生效文件 │ │ │ │ │ │ │ │ │ ▼ ▼ ▼ │ │ ─────────────── 审批完成 ─────────────── │ │ │ └─────────────────────────────────────────────────────────────────────┘九、 技术亮点特性实现方式文件上传Django FileField按日期自动分类存储状态流转服务层统一管理11种状态自动切换自动汇总领导全部提交后自动进入汇总阶段统计报告按状态、部门、时间、领导多维度统计数据备份脚本自动备份数据库和文件保留7天局域网部署多用户同时访问无需安装客户端十、 测试用户用户名密码角色adminadmin123管理员tian_zhiguoTian2026提出人xiaomiAbc2024#秘书zrzr的密码领导llll的密码领导lsqlsq的密码领导fqcfqc的密码领导十一、 访问地址地址说明http://192.168.110.222:8000系统首页自动跳转http://192.168.110.222:8000/adminDjango 管理后台http://192.168.110.222:8000/secretary/dashboard/秘书工作台http://192.168.110.222:8000/leader/pending/领导待审批http://192.168.110.222:8000/documents/my-list/提出人我的申请十二、 项目总结项目内容项目名称审批管理系统开发周期约 3 天含调试代码行数约 1500 行数据模型7 张表页面数量14 个用户角色4 个管理员/提出人/领导/秘书部署方式Windows 局域网 B/S 架构备份方案自动备份数据库 文件 项目已完整交付可正式投入使用