<template>
|
<!--
|
作者:luoyiming
|
时间:2019-06-04
|
描述:插件中心-分销-分销设置-基础设置
|
-->
|
<div class="product-add mt30">
|
<!--form表单-->
|
<el-form size="small" ref="form" :model="form" label-width="200px">
|
<el-form-item label="是否开启超级分红功能">
|
<div>
|
<el-radio v-model="form.is_open" label="1">开启</el-radio>
|
<el-radio v-model="form.is_open" label="0">关闭</el-radio>
|
</div>
|
</el-form-item>
|
<el-form-item label="购买指定商品">
|
<div>
|
<el-row>
|
<el-button type="primary" @click="openProduct">选择商品</el-button>
|
<div v-if="form.product_image && form.product_image.length > 0" class="setting-product d-s-c f-w">
|
<div v-for="(item, index) in form.product_image" :key="index" class="img pr">
|
<a href="javascript:void(0)" class="delete-btn" @click="deleteFunc(index)"><i class="el-icon-error"></i></a>
|
<img :src="item.image" width="100" height="100" />
|
<p class="text-ellipsis">{{ item.product_name }}</p>
|
</div>
|
</div>
|
</el-row>
|
</div>
|
</el-form-item>
|
<el-form-item label="购买指定商品次数" prop="purchase_count" :rules="[{required: true,message: ' '}]">
|
<el-input v-model="form.purchase_count" type="number" class="max-w460"></el-input>
|
<div class="tips">购买指定商品多少次数进入公排</div>
|
</el-form-item>
|
<el-form-item label="直推奖" prop="one_money" :rules="[{required: true,message: ' '}]">
|
<el-input v-model="form.one_money" type="number" class="max-w460"></el-input>
|
</el-form-item>
|
<el-form-item label="业绩奖" prop="two_money" :rules="[{required: true,message: ' '}]">
|
<el-input v-model="form.two_money" type="number" class="max-w460"></el-input>
|
</el-form-item>
|
<el-form-item label="下级收益补贴" prop="operating_subsidy" :rules="[{required: true,message: ' '}]">
|
<el-input v-model="form.operating_subsidy" type="number" class="max-w460"></el-input>
|
</el-form-item>
|
<el-form-item label="业绩全拿起点" prop="begin_num" :rules="[{required: true,message: ' '}]">
|
<el-input v-model="form.begin_num" type="number" class="max-w460"></el-input>
|
</el-form-item>
|
<el-form-item label="排位有效期" prop="expire_day">
|
<el-input v-model="form.expire_day" type="number" class="max-w460">
|
<template slot="append">天</template>
|
</el-input>
|
<div class="tips">如果超过设置的天数没有任何直推,则停止排位的一切分红。0为不限制时间</div>
|
</el-form-item>
|
<el-form-item label="更换排位是否保留资产">
|
<div>
|
<el-radio v-model="form.keep_assets" label="1">保留</el-radio>
|
<el-radio v-model="form.keep_assets" label="0">不保留</el-radio>
|
<div class="tips">如不保留,更换排位用户后,排位的资产将全部清空</div>
|
</div>
|
</el-form-item>
|
<el-form-item label="是否开启限制购物">
|
<div>
|
<el-radio v-model="form.limit_buy" label="1">开启</el-radio>
|
<el-radio v-model="form.limit_buy" label="0">关闭</el-radio>
|
<div class="tips">如开启,用户需要成为分红用户后才能在商城购物</div>
|
</div>
|
</el-form-item>
|
<el-form-item label="限制购物文字说明" v-if="form.limit_buy == 1">
|
<el-input v-model="form.limit_word" type="textarea" rows="3" class="max-w460"></el-input>
|
<div class="tips">默认:您需要成为分红用户后才能下单购买商品。</div>
|
</el-form-item>
|
<el-form-item label="是否开启同步分销商">
|
<div>
|
<el-radio v-model="form.become_agent" label="1">开启</el-radio>
|
<el-radio v-model="form.become_agent" label="0">关闭</el-radio>
|
<div class="tips">如开启,用户成为分红用户后同时成为分销商,不受分销插件条件影响</div>
|
</div>
|
</el-form-item>
|
<el-form-item label="下级收益补贴条件" name="second">
|
<label>直推指定等级</label>
|
<el-select v-model="form.referee_grade_ids" multiple style="width: 160px; margin-left: 10px;">
|
<el-option
|
v-for="item in userGradeList"
|
:key="item.grade_id"
|
:label="item.name"
|
:value="item.grade_id">
|
</el-option>
|
</el-select>
|
<label>直推人数</label>
|
<el-input v-model="form.referee_grade_count" type="number" style="width: 160px; margin-left: 10px;" ></el-input>
|
<span class="ml10">人</span>
|
<div class="tips">直推多少用户指定会员等级后,即可享受享受下级收益补贴</div>
|
</el-form-item>
|
<!--提交-->
|
<div class="common-button-wrapper">
|
<el-button size="small" type="primary" @click="onSubmit" :loading="loading">提交</el-button>
|
</div>
|
</el-form>
|
<!--产品列表弹出层组件-->
|
<Product :isproduct="isproduct" @closeDialog="closeDialogFunc($event)">产品列表弹出层</Product>
|
</div>
|
</template>
|
|
<script>
|
import PlusApi from '@/api/plus/bonus.js';
|
import Product from '@/components/product/Product';
|
import UserApi from '@/api/user.js';
|
|
export default {
|
components: {
|
/*产品列表组件*/
|
Product: Product
|
},
|
data() {
|
return {
|
/*form表单数据*/
|
form: {
|
is_open: '',
|
limit_buy: '',
|
become_agent: '',
|
referee_grade_ids: [],
|
referee_grade_count: ''
|
},
|
/*是否打开产品弹出层*/
|
isproduct: false,
|
/*是否正在加载*/
|
loading: false,
|
userGradeList:[]
|
};
|
},
|
props:{
|
settingData:Object
|
},
|
created() {
|
|
this.form=this.settingData.data.basic.values;
|
if (!this.form.product_image) {
|
this.form.product_image = [];
|
}
|
// 等级id转换成数组
|
for (let i = 0; i < this.form.referee_grade_ids.length; i++) {
|
this.form.referee_grade_ids[i] = parseInt(this.form.referee_grade_ids[i]);
|
}
|
this.getUserGradeList();
|
},
|
methods: {
|
/*获取用户管理模块的等级列表*/
|
getUserGradeList() {
|
let self = this;
|
UserApi.gradelist({}, true)
|
.then(res => {
|
self.userGradeList = res.data.list.data || res.data.list;
|
})
|
.catch(error => {});
|
},
|
|
/*提交表单*/
|
onSubmit() {
|
let self = this;
|
if (this.form.become__buy_product_ids.length == 0) {
|
this.$message({
|
message: '请选择商品',
|
type: 'warning'
|
});
|
return;
|
}
|
self.loading = true;
|
let params = this.form;
|
PlusApi.basic(params, true)
|
.then(data => {
|
self.loading = false;
|
self.$message({
|
message: '恭喜你,设置成功',
|
type: 'success'
|
});
|
|
})
|
.catch(error => {
|
self.loading = false;
|
});
|
},
|
|
/*删除商品*/
|
deleteFunc(i) {
|
this.form.become__buy_product_ids.splice(i, 1);
|
this.form.product_image.splice(i, 1);
|
},
|
|
/*产品列表弹出层*/
|
openProduct() {
|
this.isproduct = true;
|
},
|
|
/*关闭弹窗*/
|
closeDialogFunc(e) {
|
this.isproduct = e.openDialog;
|
if (e.type == 'success') {
|
if (this.form.become__buy_product_ids.indexOf(e.params.product_id) == -1) {
|
this.form.become__buy_product_ids.push(e.params.product_id);
|
this.form.product_image.push({ product_id: e.params.product_id, image: e.params.image,product_name: e.params.product_name });
|
} else {
|
this.$message({
|
message: '已选择该商品',
|
type: 'warning'
|
});
|
}
|
}
|
}
|
}
|
};
|
</script>
|
|
<style>
|
.tips {
|
color: #ccc;
|
}
|
|
.setting-product .img {
|
width: 100px;
|
margin-top: 10px;
|
height: 130px;
|
margin-right: 10px;
|
}
|
|
.setting-product .img img {
|
border: 1px solid #eeeeee;
|
}
|
|
.delete-btn {
|
position: absolute;
|
display: block;
|
width: 20px;
|
height: 20px;
|
line-height: 20px;
|
right: -8px;
|
top: -8px;
|
color: red;
|
}
|
</style>
|