招投标管理平台小工具 - 基于Flask+SQLite的轻量级招投标管理系统
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 5 天前 | ||
| 5 天前 | ||
| 5 天前 | ||
| 5 天前 | ||
| 5 天前 | ||
| 5 天前 | ||
| 5 天前 | ||
| 5 天前 | ||
| 5 天前 |
招投标管理平台小工具
基于 Flask + SQLite 的轻量级招投标管理系统,提供前台展示 + 后台管理 + 完整CRUD + 评审打分 + 统计分析。
✨ 功能特性
前台
- 📊 仪表盘 — 6项关键指标统计卡片 + 最近项目快速访问
- 📁 招标项目 — 项目列表、搜索、状态筛选、分页、详情查看
- 🏢 投标方 — 投标方信息展示、搜索
- 📈 统计分析 — 按分类/状态统计、投标方TOP5排行、平均报价分析
后台管理 (/admin)
- ⚙ 后台概览 — 全局数据统计 + 最近项目/投标动态
- 📁 项目管理 — 项目增删改查 + 状态流转
- 🏢 投标方管理 — 投标方增删改查
- 📝 投标管理 — 投标登记/编辑/删除 + 评审打分入口
- ⭐ 评审管理 — 评审记录查看(技术分40% + 价格分30% + 商务分30%)
API
- 完整RESTful CRUD API(项目/投标方/投标/评审)
- 输入验证 + 错误处理 + 404/500错误页
🛠️ 技术栈
| 层级 | 技术 |
|---|---|
| 后端 | Python Flask 3.x |
| 数据库 | SQLite(含索引优化) |
| 前端 | HTML5 + CSS3 + 原生JS |
| 模板 | Jinja2 |
🚀 快速开始
pip install -r requirements.txt
python app.py # 默认 http://localhost:5000
# 后台管理: http://localhost:5000/admin
📦 项目结构
bidding-platform/
├── app.py # Flask主应用(路由+API+后台)
├── database.py # 数据库初始化+索引+种子数据
├── requirements.txt
├── static/css/style.css # 全局样式(前台+后台)
├── static/js/app.js # 前端交互
└── templates/
├── base.html # 前台基础模板
├── index.html # 仪表盘
├── projects.html # 项目列表(搜索+分页)
├── project_detail.html # 项目详情(JOIN优化)
├── bidders.html # 投标方列表
├── statistics.html # 统计分析
├── 404.html / 500.html # 错误页
└── admin/ # 后台模板
├── admin_base.html
├── dashboard.html
├── projects.html # 项目CRUD
├── bidders.html # 投标方CRUD
├── bids.html # 投标CRUD+评审
└── evaluations.html
🔌 API 接口
| 方法 | 路径 | 说明 |
|---|---|---|
| GET/POST | /api/projects |
项目列表/创建 |
| GET/PUT/DELETE | /api/projects/<id> |
项目详情/更新/删除 |
| GET/POST | /api/bidders |
投标方列表/创建 |
| GET/PUT/DELETE | /api/bidders/<id> |
投标方详情/更新/删除 |
| GET/POST | /api/bids |
投标列表/创建 |
| GET/PUT/DELETE | /api/bids/<id> |
投标详情/更新/删除 |
| POST | /api/bids/<id>/evaluate |
评审打分 |
| GET | /api/stats |
统计数据 |
📝 License
MIT