define({ name: "dealerCommission", template: `
经销商提成设置
关闭 开启
如果不开启经销商提成,则不产生提成金额
关闭 开启
如果开启了,经销商推广该商品计算分红时,如果经销商没有购买过该商品,则不能获得经销商全部的分红奖励(包括经销商分红、平级奖等),并不计入平级奖层级,但计入经销提成层级限制
关闭 开启
如果不开启经销商平级奖,则不产生平级奖
启用独立提成比例
启用独立提成金额设置,此商品拥有独自的提成金额,不受默认设置限制
经销商等级
提成比例
额外奖励
{{level.level_name}}
如果比例都为空或等于0,则使用固定金额规则,如果比例和金额都为空或等于0则不获得提成(ps:为了确保经销商能获得提成,建议统一设置为比例或者统一设置为固定金额,如果高等级设置比例低等级设置固定金额,有可能会造成部分经销商无提成) 商品启用经销商独立提成:如果商品经销商独立提成设置的是比例,那么平级奖计算金额则按照商品实际支付金额计算; 如果商品经销商独立提成设置的是固定金额,那么平级奖计算金额则按照固定金额计算
启用分月返佣
启用后,独立规则将失效;返佣规则将按照分月返佣规则返佣
经销商等级
佣金类型
分多少月
{{level.level_name}}
百分比 固定金额
启用独立提成比例
比例为空或等于0则则无平级奖
经销商等级
平级奖
{{level.level_name}}
`, style: ` .help-block{ font-size:12px; } .help-block-detail{ white-space:pre-wrap; display: flex; flex-direction: column; } .location{ display:flex; justify-content:flex-end; } .gutter{ text-align:center; } .flex-col{ display:flex; margin-top:5px; } .el-input-group__append, .el-input-group__prepend { padding: 0 10px; } `, props: { form: { type: Object, default() { return {} } } }, data(){ return { is_dividend: 1, is_restrict: 0, is_hierarchy: 0, has_dividend: 0, has_peers: 0, teamSet: {}, levelList: [], is_stages: 0, } }, mounted(){ if (this.form.item && !Array.isArray(this.form.item)) { this.is_dividend = this.form.item.is_dividend; this.is_restrict = this.form.item.is_restrict; this.is_hierarchy = this.form.item.is_hierarchy; this.has_dividend = this.form.item.has_dividend; this.has_peers = this.form.item.has_peers; this.is_stages = this.form.item.is_stages } this.teamSet = JSON.parse(JSON.stringify(this.form.teamSet !== null ? this.form.teamSet : {})); this.levelList = JSON.parse(JSON.stringify(this.form.dividendLevel)); }, methods: { pick (obj, arr) { arr.reduce((iter, val) => (val in obj && (iter[val] = obj[val]), iter), {}); }, filterList (list=[]) { let ratesList = {}; let pricesList = {}; let extraList = {}; let gradeList = {}; let stagesTypeList = {}; let stagesNumList = {}; let stagesMonthList = {}; let immediatelyList = {}; list.forEach((item, index) => { let key = 'level_' + item.id; let {has_dividend_rates, has_dividend_prices, has_dividend_extra, hierarchy, ratio, stages_type,stages_num, stages_month_list, immediately} = item; // 独立规则 if (this.has_dividend) { ratesList[key] = has_dividend_rates; pricesList[key] = has_dividend_prices; } // 额外奖励 if (this.has_dividend && this.teamSet.is_extra_award == 1) { extraList[key] = has_dividend_extra; } // 分期佣金 if(this.is_stages){ stagesTypeList[key] = stages_type; stagesNumList[key] = stages_num; stagesMonthList[key] = stages_month_list; immediatelyList[key] = immediately; } // 平级奖 if (this.has_peers) { gradeList[item.id] = { hierarchy, ratio } } }); return {ratesList, pricesList, extraList, gradeList, stagesTypeList, stagesNumList, stagesMonthList, immediatelyList } }, validate () { let aggregate = this.filterList(this.levelList); return { has_peers: this.has_peers, is_dividend: this.is_dividend, is_restrict: this.is_restrict, is_hierarchy: this.is_hierarchy, has_dividend: this.has_dividend, // dividendLevel: this.filterList(this.levelList) has_dividend_rates: aggregate.ratesList, has_dividend_prices: aggregate.pricesList, has_dividend_extra: aggregate.extraList, has_hierarchys: aggregate.gradeList, is_stages: this.is_stages, stages_type: aggregate.stagesTypeList, stages_num: aggregate.stagesNumList, stages_month_list: aggregate.stagesMonthList, immediately: aggregate.immediatelyList } }, changeMonth(index){ let currentLevel = Object.assign({}, this.levelList[index]); let stagesMonthList = currentLevel.stages_month_list || {}; let stages_num = currentLevel.stages_num || 0; let newStagesMonthList = {}; for (stages_num;stages_num>0;stages_num--){ newStagesMonthList[stages_num] = stagesMonthList[stages_num] || 0; } currentLevel.stages_month_list = newStagesMonthList; this.$set(this.levelList, index,currentLevel); this.$forceUpdate(); } }, })