增加状态切换

This commit is contained in:
2026-04-13 20:01:40 +08:00
parent 16f33e4beb
commit c8715b8724
9 changed files with 745 additions and 78 deletions
+17
View File
@@ -0,0 +1,17 @@
{
"version": 2,
"sessions": {
"81d18d7cb0a14f7b80ab19186392c337": [
{
"expertId": "BackendArchitect",
"name": "Joy",
"profession": "后端架构师",
"avatarUrl": "https://acc-1258344699.cos.accelerate.myqcloud.com/workbuddy/experts/avatars/02-Engineering/BackendArchitect/BackendArchitect.png",
"promptUrl": "https://acc-1258344699.cos.accelerate.myqcloud.com/workbuddy/experts/experts/02-Engineering/BackendArchitect/BackendArchitect_zh.md",
"usedAt": 1776079998628,
"industryId": "all"
}
]
},
"lastUpdated": 1776081278156
}
+26
View File
@@ -0,0 +1,26 @@
# 2026-04-13
## ops2 项目采购模块改造
为采购订单增加状态管理功能,涉及前后端多处改动:
### 后端改动
- `TabPurchaseOrder` 新增 `OrderStatus` 字段(pending/ordered/arrived/received),默认 pending
- `TabPurchaseOrder` 新增 `UpdatedAt` 字段(GORM autoUpdateTime
- `TabPurchaseCosts` 新增 `CurrencyType`1-CNY 2-MOP 3-HKD 4-USD)和 `CostType`1-单价 2-运费)
- 新表 `TabPurchaseCommit`:记录每次状态变更(Action: create/create_status)、旧状态、新状态、评论、操作IP
- `CostItem` 前端结构体 `CurrencyType``Type` 从 string 改为 int(与数据库一致)
- `/purchase/getorder` 新增返回 `commits`(状态变更记录列表)
- `/purchase/updatestatus` 新接口:更新订单状态,可选附带 comment,写入 TabPurchaseCommit + TabPurchaseLog
- `addorder` 创建时自动写入第一条 commit(状态 pending
- 状态值白名单校验:只允许 pending/ordered/arrived/received
### 前端改动
- `api/purchase.js` 新增 `updateOrderStatus(id, status, comment)` 方法
- `PurchaseList.vue` 列表页去掉假数据列,显示真实标题/备注/创建时间,状态用彩色标签(黄-待处理、蓝-已下单、紫-已到达、绿-已收件)
- `ShowOrder.vue` 详情页新增:状态快捷切换按钮(四个状态一键切换)、状态变更 commit 历史时间线(竖排列表,含状态标签+时间+评论)
- i18n 同步新增 8 个翻译 key
### 注意事项
- 重启后端后 GORM AutoMigrate 会自动新增字段和表,无需手动 SQL
- 前端 `CostItem` 的 CurrencyType/Type 改为 int,与后端一致
View File