fix: 代理系列授权和操作日志去掉
All checks were successful
构建并部署前端到测试环境 / build-and-deploy (push) Successful in 4m58s

This commit is contained in:
luo
2026-08-10 17:27:15 +08:00
parent 8650b490d7
commit 9599a4d52b
17 changed files with 207 additions and 883 deletions

View File

@@ -126,8 +126,6 @@
multiple
:multiple-limit="100"
filterable
remote
:remote-method="searchPackages"
:loading="packageLoading"
clearable
>
@@ -139,8 +137,9 @@
<ElOption
v-for="pkg in packageOptions"
:key="pkg.id"
:label="pkg.package_name"
:label="`${pkg.package_name}${pkg.authorized ? '(已授权)' : ''}`"
:value="pkg.id"
:disabled="pkg.authorized"
/>
</ElSelect>
<div class="form-tip">首次创建必须选择 1100 个不重复套餐</div>
@@ -626,7 +625,14 @@
const currentStep = ref(0) // 当前步骤0 为第一步1 为第二步
const seriesOptions = ref<PackageSeriesResponse[]>([])
const packageOptions = ref<PackageResponse[]>([])
type GrantPackageOptionView = {
id: number
package_name: string
cost_price: number
suggested_retail_price?: number | null
authorized: boolean
}
const packageOptions = ref<GrantPackageOptionView[]>([])
const selectedPackageIds = ref<number[]>([])
const searchSeriesOptions = ref<PackageSeriesResponse[]>([])
const searchShopOptions = ref<ShopResponse[]>([])
@@ -1082,7 +1088,7 @@
isFirstActivation = false
})
// 加载套餐选项(用于新增对话框)
// 加载套餐选项(用于编辑对话框)
const loadPackageOptions = async (packageName?: string) => {
packageLoading.value = true
try {
@@ -1104,8 +1110,17 @@
page += 1
} while (allPackages.length < total)
// 过滤掉赠送套餐
packageOptions.value = allPackages.filter((pkg) => !pkg.is_gift)
packageOptions.value = allPackages
.filter((pkg) => !pkg.is_gift)
.map(
(pkg): GrantPackageOptionView => ({
id: pkg.id,
package_name: pkg.package_name,
cost_price: pkg.cost_price ?? 0,
suggested_retail_price: pkg.suggested_retail_price,
authorized: false
})
)
} catch (error) {
console.error('加载套餐选项失败:', error)
} finally {
@@ -1113,12 +1128,21 @@
}
}
// 搜索套餐
const searchPackages = (query: string) => {
if (query) {
loadPackageOptions(query)
} else {
loadPackageOptions()
const loadGrantPackageOptions = async () => {
const shopId = form.shop_id
const seriesId = form.series_id
if (dialogType.value !== 'add' || !shopId || !seriesId) return
packageLoading.value = true
try {
const res = await ShopSeriesGrantService.getPackageOptions(shopId, seriesId)
if (res.code === 0 && form.shop_id === shopId && form.series_id === seriesId) {
packageOptions.value = res.data.items || []
}
} catch (error) {
console.error('加载授权套餐候选项失败:', error)
} finally {
packageLoading.value = false
}
}
@@ -1263,8 +1287,8 @@
}
}
// 重新加载该系列下的套餐
loadPackageOptions()
// 仅在已选择目标店铺后加载该组合的授权套餐候选项
loadGrantPackageOptions()
} else {
// 未选择系列,重置佣金类型
form.series_name = ''
@@ -1278,6 +1302,17 @@
}
)
watch(
() => form.shop_id,
(newShopId, oldShopId) => {
if (dialogType.value !== 'add' || newShopId === oldShopId) return
form.packages = []
selectedPackageIds.value = []
packageOptions.value = []
loadGrantPackageOptions()
}
)
// 监听启用强制充值开关,自动设置默认强充金额
watch(
() => form.enable_force_recharge,
@@ -1778,16 +1813,6 @@
}
if (packageItems.length > 0) {
// 验证是否包含赠送套餐
for (const pkg of form.packages) {
const pkgInfo = packageOptions.value.find((p) => p.id === pkg.package_id)
if (pkgInfo?.is_gift) {
ElMessage.error(`套餐 ${getPackageName(pkg.package_id)} 是赠送套餐,不能参与授权`)
submitLoading.value = false
return
}
}
// 验证成本价是否在允许范围内
for (const pkg of form.packages) {
const costPrice = pkg.cost_price ?? 0