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) } }, }, })