bztang-admin/plugins/weight-value/views/widget/marketing/weight_value.js

117 lines
5.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

define({
name:"weight_value",
template:`
<div class="weight_value">
<el-form>
<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.is_open" :label="0">关闭</el-radio>
<el-radio v-model="json.is_open" :label="1">开启</el-radio>
<div class="form-item_tips">仅存在经销商身份的用户可以获得权重值</div>
</el-form-item>
<template v-if="json.is_open == 1">
<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="赠送数量" v-if="json.gift_type != 1" label-width="155px" prop="quantity">
<el-input v-model.trim="json.quantity" maxlength="300" type="number">
<template slot="append">权重值</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">权重值</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>
</template>
</div>
</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=开启
gift_type: 0,// 赠送方式0=赠送固定值1=阶梯值赠送
lv_type: 0,// 赠送方式0=二级1=三级
quantity: 0,// 赠送数量
ladder: {},// 阶梯赠送信息
}
}
},
watch: { },
mounted() {
console.log(this.form);
if (this.form) {
let weight_value = this.form || {};
this.json.is_open = weight_value.is_open ? weight_value.is_open : 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.quantity = weight_value.quantity ? weight_value.quantity : 0;
this.json.ladder = weight_value.ladder ? JSON.parse(weight_value.ladder) : {};
}
console.log(this.json);
},
methods:{
addLadder(){
this.json.ladder = Object.values(this.json.ladder).concat({where: '', num: ''});
},
delLadder(index){
let ladder = Object.assign({},this.json.ladder);
delete ladder[index];
this.json.ladder = Object.values(ladder);
},
validate(){
return this.json;
}
}
})