fix(order): 新增/编辑订单提交时 price/renew_price 由"分"换算为"元"
缘由: 后端 /api/v1/admin/order/create 与 /api/v1/admin/order/update 入参单位由"分"改为 "元"(用户 2026-05-12 确认两端都已生效)。前端列表与表单内部仍按"分"持有,提交时未 做换算,导致表单里的 9900(分)被后端当作 9900 元入库 = 990000 分,下次列表读取后 表现为"价格额外 *100"。 改动: - src/views/order/OrderList.vue:submitForm 构造 submitData 时把 price 与 renew_price 统一 /100,create 与 update 路径共享。输入框旁的"分"单位文案暂不改(用户明确仅 要求 /100),UI 一致性问题(列表显示元、弹窗输入分)作为另一个 issue 留待后续。 预期: - 编辑订单不改价直接保存:原 9900 分 → 提交 99 元 → 入库 9900 分(一致,修复前会 入成 990000 分)。 - 编辑订单改价:用户在"分"单位输入框填 12000 → 提交 120 元 → 入库 12000 分。 - 新增订单:同上链路一致。 测试:未脚本化。建议人工核对一次"编辑→不改→保存→列表金额无变化"作为最低验收。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -756,15 +756,18 @@ const submitForm = () => {
|
||||
expireTimeSeconds = timestamp || 0
|
||||
}
|
||||
|
||||
// 准备提交的数据
|
||||
// 2026-05-12: /api/v1/admin/order/create 与 /update 入参 price / renew_price 单位由
|
||||
// "分"改为"元"(后端接口变更,用户确认两端都已生效);列表与表单内部仍按"分"持有,
|
||||
// 提交时统一除以 100 做"分→元"换算,避免再次入库时被当成元导致额外放大 100 倍。
|
||||
// 输入框旁的"分"单位文案暂不改动(用户明确仅要求 /100),UI 一致性问题待后续单独处理。
|
||||
const submitData = {
|
||||
name: orderForm.name,
|
||||
table: orderForm.table,
|
||||
user_id: Number(orderForm.user_id),
|
||||
commodity_id: Number(orderForm.commodity_id),
|
||||
pay_num: Number(orderForm.pay_num),
|
||||
price: Number(orderForm.price),
|
||||
renew_price: Number(orderForm.renew_price),
|
||||
price: Number(orderForm.price) / 100,
|
||||
renew_price: Number(orderForm.renew_price) / 100,
|
||||
expire_time: expireTimeSeconds,
|
||||
discount_code_id: Number(orderForm.discount_code_id),
|
||||
coupon_id: Number(orderForm.coupon_id),
|
||||
|
||||
Reference in New Issue
Block a user