<template>
|
<!--
|
作者:
|
时间:2025-11-18
|
描述:插件中心-VIP专区-VIP用户-编辑
|
-->
|
<el-dialog title="编辑VIP用户" :visible.sync="dialogVisible" @close="cancelFunc" :close-on-click-modal="false" :close-on-press-escape="false" width="60%">
|
<el-form :model="formData" :rules="rules" ref="form">
|
<el-form-item label="微信昵称" :label-width="formLabelWidth">
|
<el-input type="text" v-model="formData.nickName" autocomplete="off" :disabled="true"></el-input>
|
</el-form-item>
|
<el-form-item label="微信头像" :label-width="formLabelWidth">
|
<img v-img-url="formData.avatarUrl" width="50" height="50" />
|
</el-form-item>
|
<el-form-item label="姓名" prop="real_name" :label-width="formLabelWidth">
|
<el-input type="text" v-model="formData.real_name" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="手机号" prop="mobile" :label-width="formLabelWidth">
|
<el-input type="text" v-model="formData.mobile" autocomplete="off"></el-input>
|
</el-form-item>
|
<el-form-item label="等级" prop="grade_id" :label-width="formLabelWidth">
|
<el-select v-model="formData.grade_id" placeholder="-请选择等级-">
|
<el-option v-for="(item,index) in gradeList" :key="index" :label="item.name" :value="item.grade_id"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="推荐人ID" prop="referee_id" :label-width="formLabelWidth">
|
<el-input type="text" v-model="formData.referee_id" autocomplete="off"></el-input>
|
<div class="tips">如果没有上级则设置为0</div>
|
</el-form-item>
|
<el-form-item label="推荐人昵称" :label-width="formLabelWidth">
|
<span v-if="formData.referee">{{ formData.referee.nickName }}</span>
|
<span v-else>无</span>
|
</el-form-item>
|
</el-form>
|
<div slot="footer" class="dialog-footer">
|
<el-button @click="cancelFunc">取 消</el-button>
|
<el-button type="primary" @click="confirmFunc">确 定</el-button>
|
</div>
|
</el-dialog>
|
</template>
|
|
<script>
|
import vipApi from '@/api/plus/vip.js';
|
export default {
|
data() {
|
return {
|
/*左边长度*/
|
formLabelWidth: '100px',
|
/*是否显示*/
|
dialogVisible: false,
|
/*表单数据模型*/
|
formData: {},
|
gradeList: [],
|
old_referee_id: 0,
|
/*验证规则*/
|
rules: {
|
real_name: [
|
{ required: true, message: '请输入姓名', trigger: 'blur' }
|
],
|
mobile: [
|
{ required: true, message: '请输入手机号', trigger: 'blur' },
|
{ pattern: /^1[3-9]\d{9}$/, message: '请输入正确的手机号', trigger: 'blur' }
|
],
|
grade_id: [
|
{ required: true, message: '请选择等级', trigger: 'change' }
|
],
|
referee_id: [
|
{ required: true, message: '请输入推荐人ID', trigger: 'blur' }
|
]
|
}
|
};
|
},
|
props: {
|
open_edit: Boolean,
|
userModel: Object
|
},
|
watch: {
|
open_edit: function(n, o) {
|
if (n != o) {
|
this.dialogVisible = this.open_edit;
|
if (n) {
|
this.formData = JSON.parse(JSON.stringify(this.userModel));
|
this.old_referee_id = this.formData.referee_id;
|
}
|
}
|
}
|
},
|
created() {
|
this.getData();
|
},
|
methods: {
|
/*获取等级列表*/
|
getData(){
|
let self = this;
|
vipApi.gradelist({}, true)
|
.then(res => {
|
self.gradeList = res.data.list;
|
})
|
.catch(error => {});
|
},
|
|
/*关闭弹窗*/
|
cancelFunc(e) {
|
this.dialogVisible = false;
|
let type = 'cancel';
|
if (e) {
|
type = 'success';
|
}
|
this.$emit('close', {
|
type: type
|
});
|
},
|
|
/*确认修改*/
|
confirmFunc() {
|
let self = this;
|
this.$refs.form.validate((valid) => {
|
if (valid) {
|
vipApi.editUser(self.formData, true)
|
.then(data => {
|
self.$message({
|
message: '修改成功',
|
type: 'success'
|
});
|
self.dialogVisible = false;
|
self.cancelFunc(true);
|
})
|
.catch(error => {});
|
} else {
|
return false;
|
}
|
});
|
}
|
}
|
};
|
</script>
|
|
<style>
|
.tips {
|
color: #999;
|
font-size: 12px;
|
margin-top: 5px;
|
}
|
</style>
|