define({
name: "distribution",
template: `
关闭
开启
如果不开启分销,则不产生分销佣金
启用独立佣金比例
启用独立佣金设置,此商品拥有独自的佣金比例,不受分销商等级比例及默认设置限制
等级名称
{{title}}
{{level.levelName}}
% 固定
元
% 固定
元
% 固定
元
如果比例为空或等于0,则使用固定规则,如果都为空或等于0则无分销佣金
`,
style: `
.help-block{
font-size:12px;
}
.location{
display:flex;
justify-content:flex-end;
}
.gutter{
text-align:center;
}
.flex-col{
display:flex;
margin-top:5px;
}
`,
props: {
form: {
type: Object,
default() {
return {}
}
}
},
data(){
return {
is_open_commission: 0,
has_rule_commission: 0,
maxLevel: '',
headerList: [],
levelList: [],
}
},
mounted() {
this.maxLevel = this.form.setLevel ? this.form.setLevel : 0;
// 数据为空时会返回空数组
if (this.form.item && !Array.isArray(this.form.item)) {
this.is_open_commission = this.form.item.is_commission ? this.form.item.is_commission : 0;
this.has_rule_commission = this.form.item.has_commission ? this.form.item.has_commission : 0;
}
this.setLevelList(this.maxLevel, this.form.levels);
},
methods: {
setLevelList (max_level=0, levelData) {
let levels = [];
let headerList = [];
let maxLevel = parseInt(max_level);
switch (maxLevel) {
case 1:
headerList.push("一级分销");
break;
case 2:
headerList.push("一级分销", "二级分销");
break;
case 3:
headerList.push("一级分销", "二级分销", "三级分销");
break;
default:
break;
}
levelData.forEach((item, index) => {
let level = {
levelName: item.name,
levelKey: item.fromName
};
if (headerList.length >= 1) {
level.first_level_rate = item.first_level_rate;
level.first_level_pay = item.first_level_pay;
}
if(headerList.length >= 2) {
level.second_level_rate = item.second_level_rate;
level.second_level_pay = item.second_level_pay;
}
if (headerList.length == 3) {
level.third_level_rate = item.third_level_rate;
level.third_level_pay = item.third_level_pay;
}
levels[index] = level;
})
this.headerList = headerList;
this.levelList = levels;
// 将数组从首位默认值, 移到末尾
this.levelList.push(this.levelList.shift())
},
filterList (list = []) {
let ruleArr = {};
list.forEach((item) => {
ruleArr[item.levelKey] = item;
})
return ruleArr;
},
validate () {
return {
is_commission: this.is_open_commission,
has_commission: this.has_rule_commission,
rule: this.filterList(this.levelList)
}
},
},
})