<!--
|
作者:
|
时间:2025-11-19
|
描述:VIP专区-等级管理-添加等级
|
-->
|
<template>
|
<el-dialog title="添加等级" :visible.sync="dialogVisible" @close='dialogFormVisible' :close-on-click-modal="false"
|
:close-on-press-escape="false" width="600px">
|
<el-form size="small" :model="form" ref="form">
|
<el-form-item label="等级名称" :label-width="formLabelWidth" prop="name" :rules="[{required: true,message: '请输入等级名称'}]">
|
<el-input v-model="form.name" placeholder="请输入等级名称"></el-input>
|
</el-form-item>
|
<el-form-item label="等级权重" :label-width="formLabelWidth" prop="weight" :rules="[{required: true,message: '请输入等级权重'}]">
|
<el-input v-model="form.weight" type="number" placeholder="请输入等级权重"></el-input>
|
<div class="gray9">权重越大,等级越高</div>
|
</el-form-item>
|
<el-form-item label="推广佣金" :label-width="formLabelWidth" prop="agent_money" :rules="[{required: true,message: '请输入推广佣金'}]">
|
<el-input v-model="form.agent_money" type="number" placeholder="请输入推广佣金">
|
<template slot="append">元</template>
|
</el-input>
|
</el-form-item>
|
<el-form-item label="推广复购佣金" :label-width="formLabelWidth" prop="repurchase_money">
|
<el-input v-model="form.repurchase_money" type="number" placeholder="请输入推广复购佣金">
|
<template slot="append">元</template>
|
</el-input>
|
</el-form-item>
|
<el-form-item label="下级收益补贴" :label-width="formLabelWidth" prop="operating_subsidy">
|
<el-input v-model="form.operating_subsidy" type="number" placeholder="请输入下级收益补贴">
|
<template slot="append">%</template>
|
</el-input>
|
</el-form-item>
|
<el-form-item label="平台直推佣金" :label-width="formLabelWidth" prop="commission">
|
<el-input v-model="form.commission" type="number" placeholder="请输入平台直推佣金">
|
<template slot="append">%</template>
|
</el-input>
|
</el-form-item>
|
<el-form-item label="直推店铺交易额佣金" :label-width="formLabelWidth" prop="commission">
|
<el-input v-model="form.supplier_money" type="number" placeholder="请输入直推店铺交易额佣金">
|
<template slot="append">%</template>
|
</el-input>
|
</el-form-item>
|
<el-form-item label="复购专区级差计算" :label-width="formLabelWidth" prop="differential_prize">
|
<el-input v-model="form.differential_prize" type="number" placeholder="请输入复购专区级差计算">
|
<template slot="append">%</template>
|
</el-input>
|
</el-form-item>
|
<el-form-item label="复购专区平级奖" :label-width="formLabelWidth" prop="equal_level_award">
|
<el-input v-model="form.equal_level_award" type="number" placeholder="请输入级复购专区平级奖">
|
<template slot="append">%</template>
|
</el-input>
|
</el-form-item>
|
<el-form-item label="自动升级" :label-width="formLabelWidth" prop="auto_upgrade">
|
<el-radio-group v-model="form.auto_upgrade">
|
<el-radio :label="1">允许自动升级</el-radio>
|
<el-radio :label="0">禁止自动升级</el-radio>
|
</el-radio-group>
|
</el-form-item>
|
<el-form-item label="升级条件" :label-width="formLabelWidth">
|
<div>
|
<el-radio-group v-model="form.condition_type">
|
<el-radio label="and">满足以下所有条件</el-radio>
|
<el-radio label="or">满足以下任意条件</el-radio>
|
</el-radio-group>
|
</div>
|
<div class="d-s-c mt16">
|
<el-checkbox v-model="form.is_purchase_count">购买次数VIP专区商品</el-checkbox>
|
<el-input v-model="form.purchase_count" type="number" :disabled="!form.is_purchase_count" style="width: 160px; margin-left: 10px;" ></el-input>
|
<span class="ml10">次</span>
|
</div>
|
<div class="d-s-c mt16">
|
<el-checkbox v-model="form.is_supplier_count">直推商家</el-checkbox>
|
<el-input v-model="form.supplier_count" type="number" :disabled="!form.is_supplier_count" style="width: 160px; margin-left: 10px;" ></el-input>
|
<span class="ml10">家</span>
|
</div>
|
<div class="d-s-c mt16">
|
<el-checkbox v-model="form.is_referee_grade">直推指定会员等级</el-checkbox>
|
<el-select v-model="form.referee_grade_ids" multiple :disabled="!form.is_referee_grade" 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>
|
<el-input v-model="form.referee_grade_count" type="number" :disabled="!form.is_referee_grade" style="width: 160px; margin-left: 10px;" ></el-input>
|
<span class="ml10">人</span>
|
</div>
|
</el-form-item>
|
</el-form>
|
|
<div slot="footer" class="dialog-footer">
|
<el-button @click="dialogFormVisible">取 消</el-button>
|
<el-button type="primary" @click="addGrade()" :disabled="submit_loading">确 定</el-button>
|
</div>
|
<!--产品列表弹出层组件-->
|
<Product :isproduct="isproduct" append-to-body @closeDialog="closeDialogFunc($event)">产品列表弹出层</Product>
|
</el-dialog>
|
</template>
|
|
<script>
|
import vipApi from '@/api/plus/vip.js';
|
import UserApi from '@/api/user.js';
|
import Product from '@/components/product/Product';
|
export default {
|
components: {
|
/*产品列表组件*/
|
Product: Product
|
},
|
data() {
|
return {
|
form: {
|
/*等级名称*/
|
name: '',
|
/*权重*/
|
weight: 100,
|
/*推广佣金*/
|
agent_money: 0,
|
/*推广复购佣金*/
|
repurchase_money: 0,
|
/*下级收益补贴*/
|
operating_subsidy: 0,
|
/*平台直推佣金*/
|
commission: 0,
|
/*直推店铺交易额佣金*/
|
supplier_money: 0,
|
/*自动升级*/
|
auto_upgrade: 1,
|
/*升级条件*/
|
condition_type: 'and',
|
/*是否开放购买次数*/
|
is_purchase_count: 0,
|
/*购买次数*/
|
purchase_count: 0,
|
/*是否开放直推商家*/
|
is_supplier_count: 0,
|
/*直推商家*/
|
supplier_count: 0,
|
/*是否开放直推指定会员等级*/
|
is_referee_grade: 0,
|
/*直推指定会员等级IDs*/
|
referee_grade_ids: [],
|
/*直推指定会员等级人数*/
|
referee_grade_count: 0,
|
/*见点奖*/
|
viewpoint_money: 0,
|
/*平级奖*/
|
equal_level_award: 0,
|
/*级差计算*/
|
differential_prize: 0,
|
/*备注*/
|
remark: '',
|
},
|
/*用户管理模块的等级列表*/
|
userGradeList: [],
|
/*左边长度*/
|
formLabelWidth: '120px',
|
/*是否显示*/
|
dialogVisible: false,
|
/*是否正在提交*/
|
submit_loading: false,
|
/*是否显示产品列表弹出层*/
|
isproduct: false
|
};
|
},
|
props: ['open_add'],
|
created() {
|
this.dialogVisible = this.open_add;
|
this.getUserGradeList();
|
},
|
methods: {
|
/*获取用户管理模块的等级列表*/
|
getUserGradeList() {
|
let self = this;
|
UserApi.gradelist({}, true)
|
.then(res => {
|
self.userGradeList = res.data.list.data || res.data.list;
|
})
|
.catch(error => {});
|
},
|
/*添加等级*/
|
addGrade() {
|
let self = this;
|
let params = this.form;
|
self.$refs.form.validate((valid) => {
|
if (valid) {
|
self.submit_loading = true;
|
params.is_purchase_count = params.is_purchase_count == true ? 1 : 0;
|
params.is_supplier_count = params.is_supplier_count == true ? 1 : 0;
|
params.is_referee_grade = params.is_referee_grade == true ? 1 : 0;
|
vipApi.addgrade(params, true).then(data => {
|
self.submit_loading = false;
|
self.$message({
|
message: data.msg,
|
type: 'success'
|
});
|
self.dialogFormVisible(true);
|
})
|
.catch(error => {
|
self.submit_loading = false;
|
});
|
}
|
});
|
},
|
/*关闭弹窗*/
|
dialogFormVisible(e) {
|
if (e) {
|
this.$emit('closeDialog', {
|
type: 'success',
|
openDialog: false
|
})
|
} else {
|
this.$emit('closeDialog', {
|
type: 'error',
|
openDialog: false
|
})
|
}
|
}
|
}
|
};
|
</script>
|
|
<style></style>
|