diff --git a/src/views/package-management/series-grants/index.vue b/src/views/package-management/series-grants/index.vue
index b3c345e..af6ac11 100644
--- a/src/views/package-management/series-grants/index.vue
+++ b/src/views/package-management/series-grants/index.vue
@@ -190,7 +190,13 @@
- {{ row.stat_scope === 'self' ? '仅自己' : row.stat_scope === 'self_and_sub' ? '自己+下级' : '-' }}
+ {{
+ row.stat_scope === 'self'
+ ? '仅自己'
+ : row.stat_scope === 'self_and_sub'
+ ? '自己+下级'
+ : '-'
+ }}
@@ -289,7 +295,7 @@
@@ -305,19 +311,24 @@
class="package-item"
>
{{ getPackageName(pkg.package_id) }}
-
+
+
+
+ (成本价: ¥{{ pkg.original_cost_price.toFixed(2) }})
+
+
删除
- 设置每个套餐的成本价(单位:元)
+ 设置每个套餐的成本价(单位:元),不能低于套餐原始成本价
@@ -790,7 +801,7 @@
// 获取套餐名称
const getPackageName = (packageId: number) => {
const pkg = packageOptions.value.find((p) => p.id === packageId)
- return pkg ? `${pkg.package_name} (${pkg.package_code})` : `套餐ID: ${packageId}`
+ return pkg ? pkg.package_name : `套餐ID: ${packageId}`
}
// 监听套餐选择变化
@@ -803,7 +814,14 @@
// 添加新选中的套餐
addedIds.forEach((id) => {
if (!form.packages.find((p: any) => p.package_id === id)) {
- form.packages.push({ package_id: id, cost_price: 0 })
+ // 从 packageOptions 中查找套餐,获取其成本价
+ const pkg = packageOptions.value.find((p) => p.id === id)
+ const costPrice = pkg?.cost_price ? pkg.cost_price / 100 : 0 // 将分转换为元
+ form.packages.push({
+ package_id: id,
+ cost_price: costPrice,
+ original_cost_price: costPrice // 保存原始成本价用于验证
+ })
}
})
@@ -1187,20 +1205,27 @@
// 设置套餐数据
if (detail.packages && detail.packages.length > 0) {
- form.packages = detail.packages.map((pkg) => ({
- package_id: pkg.package_id,
- cost_price: pkg.cost_price / 100 // 将分转换为元
- }))
+ // 加载该系列下的套餐选项,以便获取原始成本价
+ if (detail.series_id) {
+ await loadPackageOptions()
+ }
+
+ form.packages = detail.packages.map((pkg) => {
+ // 从 packageOptions 中查找套餐以获取原始成本价
+ const pkgOption = packageOptions.value.find((p) => p.id === pkg.package_id)
+ const originalCostPrice = pkgOption?.cost_price ? pkgOption.cost_price / 100 : 0
+
+ return {
+ package_id: pkg.package_id,
+ cost_price: pkg.cost_price / 100, // 将分转换为元
+ original_cost_price: originalCostPrice // 保存原始成本价用于验证
+ }
+ })
selectedPackageIds.value = detail.packages.map((pkg) => pkg.package_id)
} else {
form.packages = []
selectedPackageIds.value = []
}
-
- // 加载该系列下的套餐选项
- if (detail.series_id) {
- await loadPackageOptions()
- }
}
} catch (error) {
console.error('获取详情失败:', error)
@@ -1507,6 +1532,18 @@
font-size: 14px;
color: var(--el-text-color-regular);
}
+
+ .cost-price-input-wrapper {
+ display: flex;
+ align-items: center;
+ gap: 8px;
+
+ .min-cost-hint {
+ font-size: 12px;
+ color: var(--el-text-color-secondary);
+ white-space: nowrap;
+ }
+ }
}
.info-row {