1.6 KiB
1.6 KiB
2026-04-13
ops2 项目采购模块改造
为采购订单增加状态管理功能,涉及前后端多处改动:
后端改动
TabPurchaseOrder新增OrderStatus字段(pending/ordered/arrived/received),默认 pendingTabPurchaseOrder新增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 + TabPurchaseLogaddorder创建时自动写入第一条 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,与后端一致