diff --git a/openspec/changes/update-order-create-suggested-retail-price/proposal.md b/openspec/changes/update-order-create-suggested-retail-price/proposal.md new file mode 100644 index 0000000..d03e91d --- /dev/null +++ b/openspec/changes/update-order-create-suggested-retail-price/proposal.md @@ -0,0 +1,15 @@ +# Change: 创建订单使用套餐建议售价 + +## Why + +创建订单弹窗中套餐选项当前展示成本价,容易让运营人员误以为下单金额等同成本价。套餐选项价格应展示套餐 `suggested_retail_price` 建议售价。 + +## What Changes + +- 创建订单弹窗的套餐选项展示 `suggested_retail_price`,不再展示 `cost_price`。 +- 创建订单提交请求仍只提交套餐 ID 等订单字段,不额外提交 `suggested_retail_price`。 + +## Impact + +- Affected specs: `order-management` +- Affected code: `src/views/order-management/order-list/index.vue` diff --git a/openspec/changes/update-order-create-suggested-retail-price/specs/order-management/spec.md b/openspec/changes/update-order-create-suggested-retail-price/specs/order-management/spec.md new file mode 100644 index 0000000..3058481 --- /dev/null +++ b/openspec/changes/update-order-create-suggested-retail-price/specs/order-management/spec.md @@ -0,0 +1,21 @@ +## ADDED Requirements + +### Requirement: Create Order Suggested Retail Price + +The system SHALL show the selected package `suggested_retail_price` as the package price in the admin order creation dialog. + +#### Scenario: Display package suggested retail price in create order dialog + +- **GIVEN** 用户正在订单管理创建订单弹窗选择套餐 +- **AND** 套餐返回 `suggested_retail_price` 为 `2000` 分且 `cost_price` 为 `1000` 分 +- **WHEN** 系统渲染套餐下拉选项 +- **THEN** 套餐选项 MUST display `¥20.00` +- **AND** 套餐选项 MUST NOT display `¥10.00` as the package price + +#### Scenario: Do not submit package price when creating an order + +- **GIVEN** 用户已在创建订单弹窗选择套餐 +- **AND** 所选套餐的 `suggested_retail_price` 为 `2000` 分 +- **WHEN** 用户提交创建订单表单 +- **THEN** 系统 MUST NOT include `suggested_retail_price` in the create-order request payload +- **AND** 系统 MUST NOT include the selected package `cost_price` in the create-order request payload diff --git a/openspec/changes/update-order-create-suggested-retail-price/tasks.md b/openspec/changes/update-order-create-suggested-retail-price/tasks.md new file mode 100644 index 0000000..f0aceef --- /dev/null +++ b/openspec/changes/update-order-create-suggested-retail-price/tasks.md @@ -0,0 +1,9 @@ +## 1. Implementation + +- [x] 1.1 Update create-order package option display to show `suggested_retail_price`. +- [x] 1.2 Keep create-order request payload unchanged without submitting `suggested_retail_price`. + +## 2. Verification + +- [x] 2.1 Validate the OpenSpec change with strict mode. +- [x] 2.2 Run relevant frontend type/lint verification. diff --git a/src/views/order-management/order-list/index.vue b/src/views/order-management/order-list/index.vue index 6686a20..1dd8b9f 100644 --- a/src/views/order-management/order-list/index.vue +++ b/src/views/order-management/order-list/index.vue @@ -137,7 +137,7 @@
@@ -146,7 +146,7 @@ - +
@@ -673,6 +673,13 @@ return selectedPackage?.is_gift || false }) + const formatPackageSuggestedRetailPrice = (pkg: PackageResponse): string => { + if (pkg.suggested_retail_price === null || pkg.suggested_retail_price === undefined) { + return '未配置建议售价' + } + return `¥${(pkg.suggested_retail_price / 100).toFixed(2)}` + } + // IoT卡选择变化时,根据series_id加载套餐列表 const handleIotCardChange = (cardId: number | null) => { if (!cardId) {