300 lines
17 KiB
JavaScript
300 lines
17 KiB
JavaScript
define({
|
||
name:"weight_value",
|
||
template:`
|
||
<div class="weight_value">
|
||
<el-form>
|
||
<div style="margin:0 auto;width:80%;">
|
||
<el-form-item label="是否开启" label-width="155px">
|
||
<el-radio v-model="json.is_open" :label="0">关闭</el-radio>
|
||
<el-radio v-model="json.is_open" :label="1">开启</el-radio>
|
||
<div class="form-item_tips">仅存在经销商身份的用户可以获得权重值</div>
|
||
<div class="form-item_tips">代理商:仅距离最近的第一个代理商有奖励</div>
|
||
</el-form-item>
|
||
</div>
|
||
<template v-if="json.is_open == 1">
|
||
<div style="margin:0 auto;width:80%;">
|
||
<el-form-item label="是否开启自购" label-width="155px">
|
||
<el-radio v-model="json.is_self_purchase" :label="0">不开启</el-radio>
|
||
<el-radio v-model="json.is_self_purchase" :label="1">开启</el-radio>
|
||
<div class="form-item_tips">开启:当前用户购买后根据当前用户的经销商等级进行赠送</div>
|
||
</el-form-item>
|
||
</div>
|
||
<div class="vue-main-title">
|
||
<div class="vue-main-title-left"></div>
|
||
<div class="vue-main-title-content">经纪人权重值设置</div>
|
||
</div>
|
||
<div style="margin:0 auto;width:80%;">
|
||
<el-form-item label="赠送方式" label-width="155px">
|
||
<el-radio v-model="json.gift_type" :label="0">普通赠送</el-radio>
|
||
<el-radio v-model="json.gift_type" :label="1">阶梯赠送</el-radio>
|
||
<div class="form-item_tips">普通赠送:赠送指定的权重值</div>
|
||
<div class="form-item_tips">阶梯赠送:根据用户成为经销商的时间顺序排序,获取对应的权重值;超过最大名次则不赠送权重值</div>
|
||
</el-form-item>
|
||
<el-form-item label="赠送级别" label-width="155px">
|
||
<el-radio v-model="json.lv_type" :label="0">二级</el-radio>
|
||
<el-radio v-model="json.lv_type" :label="1">三级</el-radio>
|
||
<div class="form-item_tips">二级:赠送购买人上级</div>
|
||
<div class="form-item_tips">三级:赠送购买人上级、购买人上级的上级</div>
|
||
</el-form-item>
|
||
<el-form-item label="计算类型" label-width="155px">
|
||
<el-radio v-model="json.calculation_type" :label="0">固定值</el-radio>
|
||
<el-radio v-model="json.calculation_type" :label="1">支付比例</el-radio>
|
||
<div class="form-item_tips">固定值:指定数量,支付比例:当前商品实际支付的比例</div>
|
||
</el-form-item>
|
||
<el-form-item label="赠送数量" v-if="json.gift_type != 1" label-width="155px" prop="quantity">
|
||
<el-input v-model.trim="json.quantity" maxlength="300" type="number" style="width: 300px;">
|
||
<template slot="append">{{ json.calculation_type == 0 ? '权重值' : '%' }}</template>
|
||
</el-input>
|
||
<div class="form-item_tips">如果设置为空或者0则不赠送权重值</div>
|
||
</el-form-item>
|
||
<el-form-item label="阶梯赠送" v-else label-width="155px">
|
||
<div class="ladder-content">
|
||
<div class="ladder-row" v-for="(item,index) in json.ladder" :key="index">
|
||
<el-form-item>
|
||
<el-input class="ladder-input" v-model="json.ladder[index]['where']" placeholder="名次" type="number">
|
||
<template slot="prepend">小于等于</template>
|
||
<template slot="append">名</template>
|
||
</el-input>
|
||
<el-input class="ladder-input" v-model="json.ladder[index]['num']" placeholder="权重值" type="number">
|
||
<template slot="prepend">赠送</template>
|
||
<template slot="append">{{ json.calculation_type == 0 ? '权重值' : '%' }}</template>
|
||
</el-input>
|
||
<el-button type="danger" size="medium" @click="delLadder(index)">删除</el-button>
|
||
</el-form-item>
|
||
</div>
|
||
<el-button type="primary" @click="addLadder">增加阶梯</el-button>
|
||
<div class="form-item_tips">例如:设置小于等于10赠送100权重值;小于等于32赠送120权重值。则第1~10位经销商赠送100权重值,第11~32位经销商赠送120权重值,第33位及之后所有经销商均不赠送权重值</div>
|
||
</div>
|
||
</el-form-item>
|
||
</div>
|
||
<div class="vue-main-title">
|
||
<div class="vue-main-title-left"></div>
|
||
<div class="vue-main-title-content">代理商权重值设置</div>
|
||
</div>
|
||
<div style="margin:0 auto;width:80%;">
|
||
<el-form-item label="赠送方式" label-width="155px">
|
||
<el-radio v-model="json.agent_gift_type" :label="0">普通赠送</el-radio>
|
||
<el-radio v-model="json.agent_gift_type" :label="1">阶梯赠送</el-radio>
|
||
<div class="form-item_tips">普通赠送:赠送指定的权重值</div>
|
||
<div class="form-item_tips">阶梯赠送:根据用户成为经销商的时间顺序排序,获取对应的权重值;超过最大名次则不赠送权重值</div>
|
||
</el-form-item>
|
||
<el-form-item label="计算类型" label-width="155px">
|
||
<el-radio v-model="json.agent_calculation_type" :label="0">固定值</el-radio>
|
||
<el-radio v-model="json.agent_calculation_type" :label="1">支付比例</el-radio>
|
||
<div class="form-item_tips">固定值:指定数量,支付比例:当前商品实际支付的比例</div>
|
||
</el-form-item>
|
||
<el-form-item label="赠送数量" v-if="json.agent_gift_type != 1" label-width="155px" prop="quantity">
|
||
<el-input v-model.trim="json.agent_quantity" maxlength="300" type="number" style="width: 300px;">
|
||
<template slot="append">{{ json.agent_calculation_type == 0 ? '权重值' : '%' }}</template>
|
||
</el-input>
|
||
<div class="form-item_tips">如果设置为空或者0则不赠送权重值</div>
|
||
</el-form-item>
|
||
<el-form-item label="阶梯赠送" v-else label-width="155px">
|
||
<div class="ladder-content">
|
||
<div class="ladder-row" v-for="(item,index) in json.agent_ladder" :key="index">
|
||
<el-form-item>
|
||
<el-input class="ladder-input" v-model="json.agent_ladder[index]['where']" placeholder="名次" type="number">
|
||
<template slot="prepend">小于等于</template>
|
||
<template slot="append">名</template>
|
||
</el-input>
|
||
<el-input class="ladder-input" v-model="json.agent_ladder[index]['num']" placeholder="权重值" type="number">
|
||
<template slot="prepend">赠送</template>
|
||
<template slot="append">{{ json.agent_calculation_type == 0 ? '权重值' : '%' }}</template>
|
||
</el-input>
|
||
<el-button type="danger" size="medium" @click="delLadder(index,'agent')">删除</el-button>
|
||
</el-form-item>
|
||
</div>
|
||
<el-button type="primary" @click="addLadder('agent')">增加阶梯</el-button>
|
||
<div class="form-item_tips">例如:设置小于等于10赠送100权重值;小于等于32赠送120权重值。则第1~10位经销商赠送100权重值,第11~32位经销商赠送120权重值,第33位及之后所有经销商均不赠送权重值</div>
|
||
</div>
|
||
</el-form-item>
|
||
</div>
|
||
<div class="vue-main-title">
|
||
<div class="vue-main-title-left"></div>
|
||
<div class="vue-main-title-content">省公司权重值设置</div>
|
||
</div>
|
||
<div style="margin:0 auto;width:80%;">
|
||
<el-form-item label="赠送方式" label-width="155px">
|
||
<el-radio v-model="json.province_gift_type" :label="0">普通赠送</el-radio>
|
||
<el-radio v-model="json.province_gift_type" :label="1">阶梯赠送</el-radio>
|
||
<div class="form-item_tips">普通赠送:赠送指定的权重值</div>
|
||
<div class="form-item_tips">阶梯赠送:根据用户成为经销商的时间顺序排序,获取对应的权重值;超过最大名次则不赠送权重值</div>
|
||
</el-form-item>
|
||
<el-form-item label="计算类型" label-width="155px">
|
||
<el-radio v-model="json.province_calculation_type" :label="0">固定值</el-radio>
|
||
<el-radio v-model="json.province_calculation_type" :label="1">支付比例</el-radio>
|
||
<div class="form-item_tips">固定值:指定数量,支付比例:当前商品实际支付的比例</div>
|
||
</el-form-item>
|
||
<el-form-item label="赠送数量" v-if="json.province_gift_type != 1" label-width="155px" prop="quantity">
|
||
<el-input v-model.trim="json.province_quantity" maxlength="300" type="number" style="width: 300px;">
|
||
<template slot="append">{{ json.province_calculation_type == 0 ? '权重值' : '%' }}</template>
|
||
</el-input>
|
||
<div class="form-item_tips">如果设置为空或者0则不赠送权重值</div>
|
||
</el-form-item>
|
||
<el-form-item label="阶梯赠送" v-else label-width="155px">
|
||
<div class="ladder-content">
|
||
<div class="ladder-row" v-for="(item,index) in json.province_ladder" :key="index">
|
||
<el-form-item>
|
||
<el-input class="ladder-input" v-model="json.province_ladder[index]['where']" placeholder="名次" type="number">
|
||
<template slot="prepend">小于等于</template>
|
||
<template slot="append">名</template>
|
||
</el-input>
|
||
<el-input class="ladder-input" v-model="json.province_ladder[index]['num']" placeholder="权重值" type="number">
|
||
<template slot="prepend">赠送</template>
|
||
<template slot="append">{{ json.province_calculation_type == 0 ? '权重值' : '%' }}</template>
|
||
</el-input>
|
||
<el-button type="danger" size="medium" @click="delLadder(index,'province')">删除</el-button>
|
||
</el-form-item>
|
||
</div>
|
||
<el-button type="primary" @click="addLadder('province')">增加阶梯</el-button>
|
||
<div class="form-item_tips">例如:设置小于等于10赠送100权重值;小于等于32赠送120权重值。则第1~10位经销商赠送100权重值,第11~32位经销商赠送120权重值,第33位及之后所有经销商均不赠送权重值</div>
|
||
</div>
|
||
</el-form-item>
|
||
</div>
|
||
</template>
|
||
</el-form>
|
||
</div>
|
||
`,
|
||
style:`
|
||
.ladder-content{
|
||
min-width: 550px!important;
|
||
}
|
||
.ladder-content .ladder-row{
|
||
margin-bottom: 5px!important;
|
||
}
|
||
.ladder-content .ladder-row .ladder-input{
|
||
width: 230px!important;
|
||
}
|
||
`,
|
||
props: {
|
||
form: {
|
||
default() {
|
||
return {}
|
||
}
|
||
}
|
||
},
|
||
data() {
|
||
return {
|
||
json: {
|
||
is_open: 0,// 是否开启购买商品赠送权重值:0=未开启,1=开启
|
||
is_self_purchase: 0,// 是否开启自购:0=不开启,1=开启
|
||
gift_type: 0,// 赠送方式:0=赠送固定值,1=阶梯值赠送
|
||
lv_type: 0,// 赠送方式:0=二级,1=三级
|
||
calculation_type: 0,// 计算类型:0=固定值,1=支付比例
|
||
quantity: 0,// 赠送数量
|
||
ladder: {},// 阶梯赠送信息
|
||
agent_gift_type: 0,// 赠送方式:0=赠送固定值,1=阶梯值赠送
|
||
agent_calculation_type: 0,// 计算类型:0=固定值,1=支付比例
|
||
agent_quantity: 0,// 赠送数量
|
||
agent_ladder: {},// 阶梯赠送信息
|
||
province_gift_type: 0,// 赠送方式:0=赠送固定值,1=阶梯值赠送
|
||
province_calculation_type: 0,// 计算类型:0=固定值,1=支付比例
|
||
province_quantity: 0,// 赠送数量
|
||
province_ladder: {},// 阶梯赠送信息
|
||
}
|
||
}
|
||
},
|
||
watch: { },
|
||
mounted() {
|
||
if (this.form) {
|
||
let weight_value = this.form || {};
|
||
console.log('商品权重值设置信息');
|
||
console.log(weight_value);
|
||
this.json.is_open = weight_value.is_open ? weight_value.is_open : 0;
|
||
this.json.is_self_purchase = weight_value.is_self_purchase ? weight_value.is_self_purchase : 0;
|
||
this.json.gift_type = weight_value.gift_type ? weight_value.gift_type : 0;
|
||
this.json.lv_type = weight_value.lv_type ? weight_value.lv_type : 0;
|
||
this.json.calculation_type = weight_value.calculation_type ? weight_value.calculation_type : 0;
|
||
this.json.quantity = weight_value.quantity ? weight_value.quantity : 0;
|
||
this.json.ladder = weight_value.ladder ? JSON.parse(weight_value.ladder) : {};
|
||
|
||
this.json.agent_gift_type = weight_value.agent_gift_type ? weight_value.agent_gift_type : 0;
|
||
this.json.agent_calculation_type = weight_value.agent_calculation_type ? weight_value.agent_calculation_type : 0;
|
||
this.json.agent_quantity = weight_value.agent_quantity ? weight_value.agent_quantity : 0;
|
||
this.json.agent_ladder = weight_value.agent_ladder ? JSON.parse(weight_value.agent_ladder) : {};
|
||
|
||
this.json.province_gift_type = weight_value.province_gift_type ? weight_value.province_gift_type : 0;
|
||
this.json.province_calculation_type = weight_value.province_calculation_type ? weight_value.province_calculation_type : 0;
|
||
this.json.province_quantity = weight_value.province_quantity ? weight_value.province_quantity : 0;
|
||
this.json.province_ladder = weight_value.province_ladder ? JSON.parse(weight_value.province_ladder) : {};
|
||
}
|
||
|
||
},
|
||
methods:{
|
||
addLadder(type = ''){
|
||
if(type === 'agent') this.json.agent_ladder = Object.values(this.json.agent_ladder).concat({where: '', num: ''});
|
||
else if(type === 'province') this.json.province_ladder = Object.values(this.json.province_ladder).concat({where: '', num: ''});
|
||
else this.json.ladder = Object.values(this.json.ladder).concat({where: '', num: ''});
|
||
},
|
||
delLadder(index,type = ''){
|
||
let ladder = {};
|
||
if(type === 'agent') ladder = Object.assign({},this.json.agent_ladder);
|
||
else if(type === 'province') ladder = Object.assign({},this.json.province_ladder);
|
||
else ladder = Object.assign({},this.json.ladder);
|
||
|
||
delete ladder[index];
|
||
|
||
if(type === 'agent') this.json.agent_ladder = Object.values(ladder);
|
||
else if(type === 'province') this.json.province_ladder = Object.values(ladder);
|
||
else this.json.ladder = Object.values(ladder);
|
||
},
|
||
validate(){
|
||
let json = this.json;
|
||
// console.log("权重值信息处理 - validate:");
|
||
// console.log(json);
|
||
if(parseInt(json.calculation_type) === 1){
|
||
if(json.gift_type == 1){
|
||
let isPass = false;
|
||
Object.values(json.ladder).forEach((item,index)=>{
|
||
if(item.num <= 0 || item.num > 100) isPass = true;
|
||
});
|
||
if(isPass) {
|
||
this.$message.error('经纪人设置-赠送数量比例不能小于等于0或者大于100')
|
||
return false
|
||
}
|
||
}else{
|
||
if(json.quantity <= 0 || json.quantity > 100){
|
||
this.$message.error('经纪人设置-赠送数量比例不能小于等于0或者大于100')
|
||
return false
|
||
}
|
||
}
|
||
}
|
||
if(parseInt(json.agent_calculation_type) === 1){
|
||
if(json.agent_gift_type == 1){
|
||
let isPass = false;
|
||
Object.values(json.agent_ladder).forEach((item,index)=>{
|
||
if(item.num <= 0 || item.num > 100) isPass = true;
|
||
});
|
||
if(isPass) {
|
||
this.$message.error('代理商设置-赠送数量比例不能小于等于0或者大于100')
|
||
return false
|
||
}
|
||
}else{
|
||
if(json.agent_quantity <= 0 || json.agent_quantity > 100){
|
||
this.$message.error('代理商设置-赠送数量比例不能小于等于0或者大于100')
|
||
return false
|
||
}
|
||
}
|
||
}
|
||
if(parseInt(json.province_calculation_type) === 1){
|
||
if(json.province_gift_type == 1){
|
||
let isPass = false;
|
||
Object.values(json.province_ladder).forEach((item,index)=>{
|
||
if(item.num <= 0 || item.num > 100) isPass = true;
|
||
});
|
||
if(isPass) {
|
||
this.$message.error('省公司设置-赠送数量比例不能小于等于0或者大于100')
|
||
return false
|
||
}
|
||
}else{
|
||
if(json.province_quantity <= 0 || json.province_quantity > 100){
|
||
this.$message.error('省公司设置-赠送数量比例不能小于等于0或者大于100')
|
||
return false
|
||
}
|
||
}
|
||
}
|
||
|
||
return this.json;
|
||
}
|
||
}
|
||
}) |