Commit d55dfa9f authored by 高宇's avatar 高宇

会员权益

parent c5582996
...@@ -45,3 +45,54 @@ export function deleteIntegralLogic(id) { ...@@ -45,3 +45,54 @@ export function deleteIntegralLogic(id) {
method: 'delete' method: 'delete'
}) })
} }
// 查询会员等级信息
export function queryMemberBenefits(query) {
return request({
url: '/system/memberfits/selectActivityInfoByPagination',
method: 'get',
params: query
})
}
// 查询后端给返回的会员等级
export function queryMemberLevel() {
return request({
url: '/system/memberfits/selectMemberLevel',
method: 'get'
})
}
// 新增会员等级
export function addMemberBenefits(data){
return request({
url: '/system/memberfits/add',
method: 'put',
data,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
// 根据会员等级id查询会员等级信息
export function getMemberBenefits(id) {
return request({
url: '/system/memberfits/detail/' + id,
method: 'get'
})
}
// 更新会员等级信息
export function updataMemberBenefits(data){
return request({
url: '/system/memberfits/update',
method: 'put',
data,
headers: {
'Content-Type': 'application/json;charset=UTF-8'
}
})
}
// 上次会员等级信息
export function deleteMemberBenefits(id) {
return request({
url: '/system/memberfits/delete/' + id,
method: 'delete'
})
}
...@@ -15,3 +15,4 @@ export function deleteMember(businessId) { ...@@ -15,3 +15,4 @@ export function deleteMember(businessId) {
method: 'delete' method: 'delete'
}) })
} }
<template> <template>
<div class="equityseting"> <div class="equityseting">
<div class="equityseting-title">会员权益设定</div> <div class="equityseting-title">会员权益设定</div>
<!-- <div>-->
<!-- <div style="margin-bottom: 20px;display: flex;justify-content: space-between">-->
<!-- <div>积分兑换</div>-->
<!-- </div>-->
<!-- <div class="form2">-->
<!-- <el-form ref="dynamicValidateForm" :model="dynamicValidateForm" label-width="100px" class="demo-dynamic">-->
<!-- <div style="display: flex;justify-content: space-between">-->
<!-- <div style="width: 100%;flex: 1">-->
<!-- <el-form-item prop="amount" label="消费金额">-->
<!-- <el-input v-model="dynamicValidateForm.amount" placeholder="请输入消费金额" />-->
<!-- </el-form-item>-->
<!-- </div>-->
<!-- <div style="width: 100%;flex: 1">-->
<!-- <el-form-item prop="integral" label="兑换积分">-->
<!-- <el-input v-model="dynamicValidateForm.integral" placeholder="请输入兑换积分" />-->
<!-- </el-form-item>-->
<!-- </div>-->
<!-- &lt;!&ndash; <el-button v-if="dynamicValidateForm.length > 1" style="width: 60px;height:32px;margin-left: 20px" @click.prevent="remove(domain)">删除</el-button>&ndash;&gt;-->
<!-- </div>-->
<!-- </el-form>-->
<!-- </div>-->
<!-- </div>-->
<div class="form1"> <div class="form1">
<div style="margin-bottom: 20px;display: flex;justify-content: space-between"> <div style="margin-bottom: 20px;display: flex;justify-content: space-between">
<div>会员等级</div> <div>会员等级</div>
...@@ -114,19 +92,22 @@ ...@@ -114,19 +92,22 @@
<!-- <el-button @click="resetForm">重置</el-button>--> <!-- <el-button @click="resetForm">重置</el-button>-->
<!-- </div>--> <!-- </div>-->
<!--新增会员等级弹窗--> <!--新增会员等级弹窗-->
<el-dialog title="新增会员等级" :visible.sync="open" width="779px" append-to-body @close="reset"> <el-dialog :title="formTitle" :close-on-click-modal="false" :visible.sync="open" width="779px" append-to-body @close="reset">
<el-form ref="addForm" :model="form" :rules="rule" label-width="100px" class="demo-dynamic"> <el-form ref="addForm" :model="form" :rules="rule" label-width="100px" class="demo-dynamic">
<el-form-item prop="name" label="会员名称"> <el-form-item prop="name" label="会员名称">
<el-input v-model="form.name" placeholder="请输入会员名称" :maxlength="120" /> <el-input v-model="form.name" placeholder="请输入会员名称" :maxlength="120" />
</el-form-item> </el-form-item>
<el-form-item prop="level" label="会员等级"> <el-form-item prop="level" label="会员等级">
<el-input v-model="form.level" placeholder="请输入会员等级" :maxlength="10" /> <el-input v-model="form.level" disabled placeholder="请输入会员等级" :maxlength="10" />
</el-form-item> </el-form-item>
<el-form-item prop="integral" label="积分条件"> <el-form-item prop="integral" label="积分条件">
<el-input v-model="form.integral" placeholder="请输入积分条件" :maxlength="10" /> <el-input v-model="form.integral" placeholder="请输入积分条件" :maxlength="10" />
</el-form-item> </el-form-item>
<el-form-item prop="discount" label="折扣"> <el-form-item prop="discount" label="折扣">
<el-input v-model="form.discount" placeholder="请输入折扣" :maxlength="10" /> <div style="display:flex;">
<el-input v-model="form.discount" placeholder="请输入折扣" :maxlength="10" />
<span style="margin-left: 12px">{{ '%' }}</span>
</div>
</el-form-item> </el-form-item>
<div style="text-align: center"> <div style="text-align: center">
<el-button type="primary" @click="addsubmitForm">提交</el-button> <el-button type="primary" @click="addsubmitForm">提交</el-button>
...@@ -135,7 +116,7 @@ ...@@ -135,7 +116,7 @@
</el-form> </el-form>
</el-dialog> </el-dialog>
<!-- 新增积分对换弹窗 --> <!-- 新增积分对换弹窗 -->
<el-dialog title="新增会员等级" :visible.sync="opens" width="779px" append-to-body @close="resets"> <el-dialog :title="dynamicTitle" :close-on-click-modal="false" :visible.sync="opens" width="779px" append-to-body @close="resets">
<el-form ref="dynamicFrom" :model="dynamicFrom" :rules="dynamicRule" label-width="100px" class="demo-dynamic"> <el-form ref="dynamicFrom" :model="dynamicFrom" :rules="dynamicRule" label-width="100px" class="demo-dynamic">
<el-form-item prop="amount" label="消费金额"> <el-form-item prop="amount" label="消费金额">
<el-input <el-input
...@@ -157,11 +138,13 @@ ...@@ -157,11 +138,13 @@
</template> </template>
<script> <script>
import { queryIntegralList, addIntegralInfo, queryInfoById, updataInfo, deleteIntegralLogic } from '@/api/equitySeting/equitySeting' import { queryIntegralList, addIntegralInfo, queryInfoById, updataInfo, deleteIntegralLogic, queryMemberBenefits, queryMemberLevel, addMemberBenefits, getMemberBenefits, updataMemberBenefits, deleteMemberBenefits } from '@/api/equitySeting/equitySeting'
export default { export default {
data() { data() {
return { return {
dynamicTitle: '',
formTitle: '',
twoloading: true, twoloading: true,
form: { form: {
name: '', name: '',
...@@ -193,50 +176,19 @@ export default { ...@@ -193,50 +176,19 @@ export default {
{ required: true, message: '请输入会员等级', trigger: 'blur' } { required: true, message: '请输入会员等级', trigger: 'blur' }
], ],
integral: [ integral: [
{ required: true, message: '请输入积分条件', trigger: 'blur' } { required: true, message: '请输入积分条件', trigger: 'blur' },
{
pattern: /^[0-9]+$/,
message: '只能输入数字',
trigger: 'change'
}
], ],
discount: [ discount: [
{ required: true, message: '请输入折扣', trigger: 'blur' } { required: true, message: '请输入折扣', trigger: 'blur' },
{ pattern: /^100$|^(\d{1,2}(\.\d{1,2})?)$/, message: '数值在0到100之间,最多两位小数', trigger: 'blur' }
] ]
}, },
membershiplevel: [ membershiplevel: [],
{
name: '青铜',
level: '1',
integral: '0',
discount: '0.99'
},
{
name: '白银',
level: '2',
integral: '50',
discount: '0.95'
},
{
name: '黄金',
level: '3',
integral: '100',
discount: '0.9'
},
{
name: '铂金',
level: '4',
integral: '200',
discount: '0.85'
},
{
name: '钻石',
level: '5',
integral: '400',
discount: '0.8'
},
{
name: '至尊',
level: '6',
integral: '800',
discount: '0.75'
}
],
dynamicValidate: [], dynamicValidate: [],
dynamicValidateForm: { dynamicValidateForm: {
amount: '100', amount: '100',
...@@ -246,16 +198,35 @@ export default { ...@@ -246,16 +198,35 @@ export default {
}, },
created() { created() {
this.getDynamicList() this.getDynamicList()
this.getBenefitsList()
}, },
methods: { methods: {
/** 获取会员等级列表**/
getBenefitsList() {
queryMemberBenefits().then(res => {
console.log('会员等级列表', res)
if (res.code === 200) {
this.membershiplevel = res.data
}
})
},
reset() { reset() {
this.resetForm() this.resetForm()
this.open = false this.open = false
}, },
resetdynamicFrom() {
this.dynamicFrom = {
amount: '',
integral: ''
}
this.$refs.dynamicFrom.resetFields()
},
resets() { resets() {
this.resetdynamicFrom()
this.opens = false this.opens = false
}, },
addDynamic() { addDynamic() {
this.dynamicTitle = '新增积分兑换'
this.dynamicFrom = { this.dynamicFrom = {
amount: '', amount: '',
integral: '' integral: ''
...@@ -274,13 +245,35 @@ export default { ...@@ -274,13 +245,35 @@ export default {
}, },
// 新增会员等级提交按钮 // 新增会员等级提交按钮
addsubmitForm() { addsubmitForm() {
this.$refs['addForm'].validate((valid) => { console.log('form', this.form.businessId)
this.$refs.addForm.validate(valid => {
if (valid) { if (valid) {
this.resetForm() if (this.form.businessId !== undefined) {
this.open = false console.log('更新')
} else { updataMemberBenefits(this.form).then(res => {
console.log('error submit!!') if (res.code === 200) {
return false this.$message.success('操作成功')
this.resetForm()
this.getBenefitsList()
this.open = false
} else if (res.code === null) {
this.$message.error(res.message)
}
})
} else {
console.log('新增')
addMemberBenefits(this.form).then(res => {
console.log('res', res)
if (res.code === 200) {
this.$message.success('操作成功')
this.resetForm()
this.getBenefitsList()
this.open = false
} else if (res.code === null){
this.$message.error(res.message)
}
})
}
} }
}) })
}, },
...@@ -314,7 +307,25 @@ export default { ...@@ -314,7 +307,25 @@ export default {
}) })
}, },
handleDelete(row) { handleDelete(row) {
this.$confirm('此操作将永久删除该条记录, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
deleteMemberBenefits(row.businessId).then(res => {
if (res.code === 200) {
this.$message.success('操作成功')
this.getBenefitsList()
} else if (res.code === null) {
this.$message.error(res.message)
}
})
}).catch(() => {
this.$message({
type: 'info',
message: '已取消删除'
})
})
}, },
// 删除积分兑换 // 删除积分兑换
dynamicHandleDelete(row) { dynamicHandleDelete(row) {
...@@ -344,32 +355,53 @@ export default { ...@@ -344,32 +355,53 @@ export default {
} }
}, },
// 积分兑换提交按钮 // 积分兑换提交按钮
submitForm() { // submitForm() {
this.$refs['dynamicValidateForm'].validate((valid) => { // this.$refs['dynamicValidateForm'].validate((valid) => {
if (valid) { // if (valid) {
console.log('submit!!') // console.log('submit!!')
} else { // } else {
console.log('error submit!!') // console.log('error submit!!')
return false // return false
} // }
}) // })
}, // },
// 重置表单 // 重置表单
resetForm() { resetForm() {
this.form = {} this.form = {
name: '',
level: '',
integral: '',
discount: '',
businessId: undefined
}
this.$refs.addForm.resetFields()
}, },
// 会员等级新增方法 // 会员等级新增方法
addDomain() { addDomain() {
this.resetForm() this.formTitle = '新增会员等级'
this.open = true // this.resetForm()
queryMemberLevel().then(res => {
console.log('会员等级', res)
if (res.code === 200) {
this.form.level = res.data.count
this.open = true
}
})
}, },
// 会员等级编辑 // 会员等级编辑
update(row) { update(row) {
this.form = row console.log('row', row)
this.open = true this.formTitle = '编辑会员等级'
const id = row.businessId
getMemberBenefits(id).then(res => {
console.log('查询到会员等级信息', res)
this.form = res.data
this.open = true
})
}, },
// 兑换积分编辑 // 兑换积分编辑
dynamicUpdate(row) { dynamicUpdate(row) {
this.dynamicTitle = '编辑兑换积分'
const id = row.businessId const id = row.businessId
queryInfoById(id).then(res => { queryInfoById(id).then(res => {
console.log('查询信息', res) console.log('查询信息', res)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment