# maintenance **Repository Path**: teampanel/maintenance ## Basic Information - **Project Name**: maintenance - **Description**: 一个设备报修从提交、受理、派单、处理到服务完成的全流程闭环管理系统 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-14 - **Last Updated**: 2026-05-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: 维护, 维保, 报修 ## README # 智能维护报修管理平台 > 实现设备报修从提交、受理、派单、处理到服务完成的全流程闭环管理 ## 功能特性 ### 📱 用户端(扫码报修) - **扫码快速反馈**:用户扫描二维码即可提交故障报修 - **项目信息展示**:显示项目名称、使用单位、供应商、负责人及联系方式等信息 - **维保期提醒**:展示验收时间、维保期截止日期 - **故障描述**:支持详细描述故障情况 ### 🔧 管理后台 - **工单列表**:查看全部工单,支持按状态筛选 - **工单详情**:查看工单详细信息及处理记录 - **状态流转**:支持待受理→已受理→处理中→已完成的全流程管理 - **处理日志**:完整记录工单处理全过程,可追溯可审计 ### 📊 数据大屏 - **实时统计**:今日工单、本月工单、待受理、已完成等关键指标 - **状态分布**:饼图展示各状态工单占比 - **趋势分析**:7天工单趋势折线图 - **及时关单率**:仪表盘展示关单效率 - **事件类型统计**:柱状图展示各类故障分布 ## 技术架构 ### 技术栈 - **后端**:Node.js + Express - **数据库**:SQLite(轻量级嵌入式数据库) - **前端**:HTML5 + CSS3 + 原生 JavaScript - **图表库**:ECharts ### 项目结构 ``` maintenance/ ├── package.json # 项目配置 ├── README.md # 项目说明 ├── backend/ │ ├── server.js # 服务器入口 │ ├── db/ │ │ └── init.js # 数据库初始化与模型 │ └── routes/ │ ├── projects.js # 项目管理API │ └── tickets.js # 工单管理API └── frontend/ ├── user/ │ └── index.html # 用户端扫码报修页面 ├── admin/ │ └── index.html # 管理后台页面 └── dashboard/ └── index.html # 数据大屏页面 ``` ### 数据库设计 **projects(项目表)** | 字段 | 类型 | 说明 | |------|------|------| | id | INTEGER | 主键 | | project_name | TEXT | 项目名称 | | client_unit | TEXT | 使用单位 | | supplier | TEXT | 供应商 | | supplier_manager | TEXT | 供应商负责人 | | supplier_phone | TEXT | 供应商联系电话 | | service_manager | TEXT | 服务负责人 | | service_phone | TEXT | 服务联系电话 | | acceptance_date | TEXT | 验收时间 | | warranty_end_date | TEXT | 维保期截止日期 | | maintenance_leader | TEXT | 维保负责人 | | qrcode_id | TEXT | 二维码标识(唯一) | **tickets(工单表)** | 字段 | 类型 | 说明 | |------|------|------| | id | INTEGER | 主键 | | project_id | INTEGER | 关联项目ID | | reporter_name | TEXT | 报修人姓名 | | reporter_phone | TEXT | 报修人电话 | | fault_description | TEXT | 故障描述 | | status | TEXT | 状态(pending/accepted/processing/completed) | | created_at | TEXT | 创建时间 | | updated_at | TEXT | 更新时间 | | completed_at | TEXT | 完成时间 | **ticket_logs(工单日志表)** | 字段 | 类型 | 说明 | |------|------|------| | id | INTEGER | 主键 | | ticket_id | INTEGER | 关联工单ID | | action | TEXT | 操作类型 | | operator | TEXT | 操作人 | | remark | TEXT | 备注 | | created_at | TEXT | 创建时间 | ## 快速开始 ### 安装依赖 ```bash npm install ``` ### 启动服务 ```bash npm start ``` ### 访问地址 - **用户端**:http://localhost:3000/user/index.html?qrcode=PRJ001 - **管理后台**:http://localhost:3000/admin - **数据大屏**:http://localhost:3000/dashboard ## API接口 ### 项目管理 - `GET /api/projects` - 获取所有项目 - `GET /api/projects/qrcode/:qrcodeId` - 根据二维码ID获取项目 - `POST /api/projects` - 创建新项目 ### 工单管理 - `GET /api/tickets` - 获取工单列表(支持status筛选) - `GET /api/tickets/:id` - 获取工单详情 - `POST /api/tickets` - 提交新工单 - `PUT /api/tickets/:id/status` - 更新工单状态 - `GET /api/tickets/stats/summary` - 获取统计摘要 ## 使用说明 ### 1. 创建二维码 每个项目对应一个唯一的二维码ID(qrcode_id),二维码链接格式为: ``` http://your-domain/user/index.html?qrcode=项目二维码ID ``` ### 2. 扫码报修流程 1. 用户扫描二维码进入报修页面 2. 查看项目信息确认 3. 填写报修人信息和故障描述 4. 提交报修请求 5. 系统自动创建工单并记录处理日志 ### 3. 工单处理流程 1. **待受理**:工单创建后等待处理 2. **已受理**:管理员确认工单 3. **处理中**:工程师开始维修 4. **已完成**:维修完成,等待客户回访 ## 预置演示数据 系统启动时自动创建演示项目: | 项目信息 | 内容 | |----------|------| | 项目名称 | 医院门诊楼设备维保项目 | | 使用单位 | XX市第一人民医院 | | 供应商 | XX医疗设备有限公司 | | 供应商负责人 | 张经理(13800138000) | | 服务负责人 | 李工(13900139000) | | 二维码ID | PRJ001 | ## 许可证 MIT License