Skip to content

维修管理模块

**本文引用的文件** - [repair.vue](file://app/devicemate-app/modules/repair/repair.vue) - [maintain.vue](file://app/devicemate-app/modules/maintain/maintain.vue) - [add.vue](file://app/devicemate-app/modules/repair/add.vue) - [execute.vue](file://app/devicemate-app/modules/repair/execute.vue) - [checkDetail.vue](file://app/devicemate-app/modules/repair/checkDetail.vue) - [process.vue](file://app/devicemate-app/modules/repair/components/process.vue) - [basicInfo.vue](file://app/devicemate-app/modules/repair/components/basicInfo.vue) - [safety.vue](file://app/devicemate-app/modules/repair/components/safety.vue) - [document.vue](file://app/devicemate-app/modules/repair/components/document.vue) - [addStep.vue](file://app/devicemate-app/modules/repair/addStep.vue) - [apply.vue](file://app/devicemate-app/modules/repair/apply.vue) - [applyPart.vue](file://app/devicemate-app/modules/repair/applyPart.vue) - [maintain.js](file://app/devicemate-app/store/modules/maintain.js)

目录

  1. 简介
  2. 项目结构
  3. 核心组件
  4. 架构总览
  5. 详细组件分析
  6. 依赖关系分析
  7. 性能与可用性建议
  8. 故障排查指南
  9. 结论
  10. 附录

简介

本文件面向“维修管理模块”的开发与维护,系统梳理其业务架构与处理流程,覆盖维修工单管理(创建、审批、派发、执行、验收)、维修任务执行、维修申请与部件申请、检查详情查看、组件化页面设计、表单校验与数据处理逻辑,并给出质量标准与效率优化策略。文档同时提供关键流程的时序图与类图,帮助开发者快速理解与迭代。

项目结构

维修管理模块位于前端应用 devicemate-app 的 modules/repair 目录,采用按功能域划分的目录组织方式,包含主列表页、新增页、执行页、步骤添加、部件申请、检查详情、以及多个可复用的子组件(基础信息、过程记录、文档、安全提示等)。同时,模块内通过 Vuex Store 的命名空间进行状态管理,支持跨页面共享与持久化部分数据。

图表来源

章节来源

核心组件

  • 工单列表页:支持扫码筛选、分页加载、状态筛选、批量操作(签收、执行、派发、确认/驳回)。
  • 新建工单页:设备扫码/输入、基础信息填充、图片上传、提交保存。
  • 执行页:基础信息、维修过程记录(含语音录制/播放/删除)、部件申请、文档查看、安全提示、提交验收。
  • 步骤添加:新增处理步骤与语音附件。
  • 部件申请:部件选择、数量校验、仓库选择、提交申请。
  • 检查详情:展示检查项的参考图与说明。
  • 子组件:基础信息、过程记录、文档、安全提示等,均以 props 接收数据并触发父级更新。

章节来源

架构总览

维修管理模块采用“页面+子组件”组合的组件化架构,页面负责数据获取与状态切换,子组件负责具体表单与交互。页面间通过路由传参与 Vuex Store 共享数据;与后端交互通过统一的 http 封装,支持分页、上传、录音、下载等能力。

图表来源

详细组件分析

维修工单列表(repair.vue)

  • 功能要点
    • 设备状态筛选、搜索、扫码筛选、分页加载。
    • 支持签收、执行、派发、确认/驳回等按钮,依据状态动态显示。
    • 列表项包含设备信息、工单号、时间、位置、状态等。
  • 关键交互
    • 下拉刷新与上拉加载,调用分页查询接口。
    • 点击“执行/派发”跳转对应页面并传递 id。
    • 确认/驳回通过统一接口更新状态。
  • 数据来源
    • 字典列表用于渲染状态标签。
    • 用户信息用于过滤当前执行人。

图表来源

章节来源

新建维修工单(add.vue)

  • 功能要点
    • 设备扫码或手动输入,联动获取设备基础信息。
    • 基础字段填写(如紧急度、缺陷数量/比例、问题描述等)。
    • 故障图片上传,支持多图。
    • 提交保存至后端。
  • 表单校验
    • 必填字段校验(设备编码、紧急度),失败提示。
  • 数据来源
    • 字典列表(紧急度)。
    • 设备主数据接口。

图表来源

章节来源

维修执行与验收(execute.vue + 子组件)

  • 功能要点
    • 基础信息展示与编辑(含字典映射)。
    • 维修过程记录:步骤列表、语音录制/播放/删除、异常位置图片上传。
    • 安全提示展示。
    • 文档查看(PDF/DOC/XLS 下载与打开)。
    • 部件申请(备件/易耗品)。
    • 提交验收,指定验收人。
  • 页面结构
    • tabs 切换:基础信息、维修过程、备件、易耗品、安全、文档。
    • 子组件按需渲染,统一通过 props 传入数据。
  • 数据流
    • 详情页一次性拉取所有数据,子组件按需更新。
    • 录音与图片上传使用独立接口,避免阻塞主流程。

图表来源

章节来源

添加处理步骤(addStep.vue)

  • 功能要点
    • 录制处理意图与目的的语音,支持播放与删除。
    • 提交后合并到工单的处理步骤列表。
  • 交互细节
    • 录音防抖与时长显示。
    • 提交前校验必要字段。

图表来源

章节来源

部件申请与选择(apply.vue + applyPart.vue)

  • 功能要点
    • 在设备详情中选择备件/易耗品,设置使用数量与仓库。
    • 数量校验:不能为空、必须为整数且≥1。
    • 选择部件:支持搜索与分页,置顶已选部件。
    • 提交申请,生成领料单。
  • 表单校验
    • 使用 u-top-tips 实时提示错误信息。
    • 提交按钮根据输入状态禁用/启用。

图表来源

章节来源

检查详情(checkDetail.vue)

  • 功能要点
    • 展示检查模块、项目、内容、方法、参考图、提示图等。
    • 用于指导现场检查与拍照取证。

章节来源

组件化页面设计与数据处理

  • 组件职责清晰:基础信息、过程记录、文档、安全提示、部件申请等均为独立组件,便于复用与扩展。
  • 数据处理策略
    • 页面一次性拉取完整数据,子组件按需更新,减少重复请求。
    • 录音/图片上传异步处理,避免阻塞主流程。
    • 通过 Vuex Store 的命名空间管理跨页面共享数据(如部件列表)。

章节来源

依赖关系分析

  • 页面与子组件
    • execute.vue 组合多个子组件,形成完整的执行界面。
    • 子组件通过 props 接收数据,内部通过 http 与后端交互。
  • 页面间依赖
    • repair.vue 与 maintain.vue 均依赖字典与用户 Mixin,统一状态与权限处理。
    • execute.vue 依赖 Vuex Store 的命名空间,共享表单数据与页面类型。
  • 外部依赖
    • mescroll-uni 提供分页滚动与下拉刷新。
    • uView UI 组件库提供表单、弹窗、上传、日历等通用控件。
    • 本地下载与打开文档依赖 plus.downloader 与 plus.runtime。

图表来源

章节来源

性能与可用性建议

  • 请求合并与缓存
    • 对于频繁使用的字典与用户列表,可在页面生命周期内缓存,避免重复请求。
  • 图片与录音上传
    • 采用异步上传与进度提示,避免阻塞 UI;对大文件建议分块或压缩。
  • 分页与懒加载
    • 保持合理的分页大小与上拉加载阈值,减少一次性渲染压力。
  • 表单校验
    • 在 blur 或输入过程中即时校验,结合 Toast/TopTips 提示,提升用户体验。
  • 状态管理
    • 对跨页面共享的数据(如部件列表)使用命名空间 Store,避免全局污染。

故障排查指南

  • 列表无数据或加载异常
    • 检查分页参数与筛选条件是否正确传递。
    • 确认后端接口返回 total 与 records 结构一致。
  • 提交失败
    • 核对必填字段与格式(如数量必须为整数且≥1)。
    • 查看接口返回状态码与提示信息。
  • 录音/图片上传失败
    • 检查上传接口地址与 Token 是否正确。
    • 确认文件类型与大小限制。
  • 文档下载失败
    • 检查文件 URL 与下载器配置,确保文件存在且可访问。

章节来源

结论

维修管理模块通过清晰的页面与组件划分,实现了从工单创建、审批、派发、执行到验收的完整闭环。模块具备良好的扩展性与复用性,配合完善的表单校验与数据处理逻辑,能够满足现场维修场景的多样化需求。建议持续优化请求策略与上传体验,并完善质量控制与统计分析能力,以进一步提升效率与可靠性。

附录

  • 维修流程图(概念示意)