Files
ops2/.workbuddy/memory/2026-04-23.md
T
2026-04-23 15:50:06 +08:00

3.1 KiB
Raw Blame History

2026-04-23 工作记录

分析 OPS2 流程管理平台架构

完成了对项目前后端完整运行逻辑的分析:

  • 项目性质:内部流程管理平台,前后端同源部署(后端 Gin serve 前端 dist
  • 后端Go 1.24 + Gin + GORM,支持 SQLite/MySQL/PostgreSQL 三选一
  • 前端Vue 3 + Vite + Pinia + Tailwind CSSHash History 路由
  • 认证:自实现 Cookie Token(非 JWT),存于数据库,支持"记住我"滚动续期
  • 数据库:13 张表,涵盖用户体系(4张)、认证日志(2张)、文件(1张)、日程(2张)、采购(5张,含软删除+操作日志双保险)
  • 核心功能:日程日历(FullCalendar,公开可访问)+ 采购流程管理(完整状态流转)+ 用户系统
  • 权限设计:基于用户组(schedule_admin / purchase_admin),内存缓存管理员 ID 列表
  • 文件系统SHA256 内容寻址,自动去重存储
  • API 协议:统一 { userCookieValue, data } 请求体,统一 { err_code, err_msg, return } 响应体

新增 work_order 工单模块

完整实现了工单模块,文件清单:

后端(backend/my_work/routers/

  • apiWorkOrder.go4张表(TabWorkOrder / TabWorkOrderFileBind / TabWorkOrderCommit / TabWorkOrderLog+ 7个接口(add/update/list/get/commit/delete/count+ work_order_admin 用户组
  • api.go:注册 /api/work_order/* 路由
  • main.go:注册 ApiWorkOrderInit()

前端(frontend/ops_vue_js/src/

  • api/work_order.jsAPI 封装
  • views/work_order/WorkOrderList.vue:工单列表页(分页+状态筛选)
  • views/work_order/AddEditWorkOrder.vue:新增/编辑页(图片上传 useDropzone
  • views/work_order/ShowWorkOrder.vue:详情页(进度时间线+新增进度表单)
  • router/index.js:注册4条路由(list/add/edit/:id/show/:id
  • components/AppHeader.vue:导航菜单添加"工单"入口
  • i18n/zh-CN.json & i18n/en.json:添加 work_order 翻译节和 appname.work_order

工单状态枚举pending/checked/parts_ordered/repaired/returned/unrepairable

commit 图片支持

  • 后端:新增 TabWorkOrderCommitFileBind 表(commit_id/work_order_id/file_id),commit 接口接收 photos 数组,get 接口返回每条 commit 的 photos
  • 前端:ShowWorkOrder.vue 新增进度表单底部加了 useDropzone 组件,每条进度时间线下方展示关联图片
  • APIcommit(id, status, comment, photos) 函数签名新增 photos 参数

工单关联采购订单

  • 后端:新增 TabWorkOrderPurchaseOrderBind 表(work_order_id/commit_id/purchase_order_id),支持多对多关联
  • commit 接口新增 purchaseOrderIds 参数([]uint
  • get 接口每条 commit 返回 purchaseOrders 数组(包含 id/title/status
  • 新增 /search_purchase_orders 接口:空搜索返回最新5条,支持 ID 精确匹配和标题/备注模糊匹配
  • 前端:状态选 parts_ordered 时显示采购订单搜索框(防抖300ms),输入框获取焦点自动搜索
  • 时间线每条 commit 下方展示关联的采购订单链接(点击跳转到采购详情页)