|
|
@@ -260,15 +260,15 @@
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="最低可见级别">
|
|
|
- <el-select v-model="form.minVisibleLevel" placeholder="全部可见" clearable style="width: 200px;">
|
|
|
+ <el-select v-model="form.minVisibleLevel" placeholder="所有用户(含未登录)" clearable style="width: 220px;">
|
|
|
<el-option
|
|
|
- v-for="lv in membershipLevels"
|
|
|
- :key="lv.levelCode"
|
|
|
- :label="lv.levelName + ' (' + lv.levelCode + ')'"
|
|
|
- :value="lv.levelCode"
|
|
|
+ v-for="opt in visibleLevelOptions"
|
|
|
+ :key="opt.value"
|
|
|
+ :label="opt.label"
|
|
|
+ :value="opt.value"
|
|
|
/>
|
|
|
</el-select>
|
|
|
- <span style="margin-left: 10px; font-size: 12px; color: #999;">留空=全部会员可见;选择后仅该级别及更高级别会员可见</span>
|
|
|
+ <span style="margin-left: 10px; font-size: 12px; color: #999;">所有用户(含未登录)=游客及全部会员可见;选择级别后仅该级别及更高级别会员可见</span>
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="商品维度">
|
|
|
@@ -412,6 +412,7 @@ export default {
|
|
|
giftRuleEnabled: false,
|
|
|
giftRuleLevel: '',
|
|
|
membershipLevels: [],
|
|
|
+ allMembershipLevels: [],
|
|
|
// 可选赠品配置:{ [levelCode]: [{giftType,giftProductId,cfValue,sortOrder}] }
|
|
|
giftConfigsByLevel: {},
|
|
|
onShelfProducts: [],
|
|
|
@@ -575,6 +576,13 @@ export default {
|
|
|
const roles = rolesStr ? JSON.parse(rolesStr) : []
|
|
|
return roles.includes('supplier') || roles.includes('supplier_admin')
|
|
|
},
|
|
|
+ visibleLevelOptions() {
|
|
|
+ const options = [{ label: '所有用户(含未登录)', value: '' }]
|
|
|
+ ;(this.allMembershipLevels || []).forEach(lv => {
|
|
|
+ options.push({ label: lv.levelName + ' (' + lv.levelCode + ')', value: lv.levelCode })
|
|
|
+ })
|
|
|
+ return options
|
|
|
+ },
|
|
|
uploadActionUrl() {
|
|
|
const baseURL = process.env.VUE_APP_BASE_API || ''
|
|
|
return baseURL + '/api/admin/articles/upload/image'
|
|
|
@@ -765,6 +773,7 @@ async loadGiftRule(productId) {
|
|
|
try {
|
|
|
const lvRes = await listMembershipLevels()
|
|
|
if (lvRes.code === 200 && Array.isArray(lvRes.data)) {
|
|
|
+ this.allMembershipLevels = lvRes.data
|
|
|
this.membershipLevels = lvRes.data.filter(l => l.levelCode !== 'FREE')
|
|
|
}
|
|
|
const ruleRes = await listProductGiftRules(productId)
|
|
|
@@ -802,6 +811,7 @@ async loadGiftRule(productId) {
|
|
|
try {
|
|
|
const lvRes = await listMembershipLevels()
|
|
|
if (lvRes.code === 200 && Array.isArray(lvRes.data)) {
|
|
|
+ this.allMembershipLevels = lvRes.data
|
|
|
this.membershipLevels = lvRes.data.filter(l => l.levelCode !== 'FREE')
|
|
|
}
|
|
|
} catch (e) {
|
|
|
@@ -1046,6 +1056,7 @@ async loadGiftRule(productId) {
|
|
|
try {
|
|
|
const productData = {
|
|
|
...this.form,
|
|
|
+ minVisibleLevel: this.form.minVisibleLevel || null,
|
|
|
price: (this.form.price != null) ? Math.round(this.form.price * 100) : 0,
|
|
|
memberPrice: (this.form.memberPrice != null && this.form.memberPrice > 0) ? Math.round(this.form.memberPrice * 100) : 0,
|
|
|
images: JSON.stringify(this.imageList)
|