chenwei
parent
2e7483df5c
commit
fe702a1c94
@ -0,0 +1,28 @@ |
|||||||
|
import { axios } from '@/utils/request' |
||||||
|
|
||||||
|
// api接口列表
|
||||||
|
const api = { |
||||||
|
info: '/invite/getConfig', |
||||||
|
edit: '/invite/editConfig', |
||||||
|
} |
||||||
|
|
||||||
|
// 列表记录
|
||||||
|
export function info(params) { |
||||||
|
return axios({ |
||||||
|
url: api.info, |
||||||
|
method: 'post', |
||||||
|
params, |
||||||
|
}) |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 更新 |
||||||
|
* @param {*} data |
||||||
|
*/ |
||||||
|
export function edit(data) { |
||||||
|
return axios({ |
||||||
|
url: api.edit, |
||||||
|
method: 'post', |
||||||
|
data, |
||||||
|
}) |
||||||
|
} |
@ -0,0 +1,109 @@ |
|||||||
|
<template> |
||||||
|
<a-card :bordered="false"> |
||||||
|
<div class="card-title">邀请设置</div> |
||||||
|
<a-spin :spinning="isLoading"> |
||||||
|
<a-form-model ref="myForm" class="my-form" :model="form" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
||||||
|
<a-form-model-item label="赠送优惠券" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="couponId"> |
||||||
|
<SelectCoupon :multiple="false" v-model="form.coupon_id" /> |
||||||
|
<div class="form-item-help"> |
||||||
|
<small>请先确保优惠券剩余数量充足,否则将会导致发送失败</small> |
||||||
|
</div> |
||||||
|
</a-form-model-item> |
||||||
|
<a-form-item label="首单返利" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="one_order_rate"> |
||||||
|
<a-input-number :min="0" :max="9.9" :precision="1" v-model="form.one_order_rate" /> |
||||||
|
<span class="ml-5">%</span> |
||||||
|
<p class="form-item-help"> |
||||||
|
<small>返利率范围 0-9.9,8代表返利8%,0代表不返利</small> |
||||||
|
</p> |
||||||
|
</a-form-item> |
||||||
|
<a-form-item label="赠送积分" :labelCol="labelCol" :wrapperCol="wrapperCol"> |
||||||
|
<a-input-number |
||||||
|
:min="0" |
||||||
|
v-decorator="['integral', { initialValue: 1, rules: [{ message: '请输入积分' }] }]" |
||||||
|
v-model="form.integral" |
||||||
|
/> |
||||||
|
</a-form-item> |
||||||
|
<a-form-model-item :wrapperCol="{ span: wrapperCol.span, offset: labelCol.span }"> |
||||||
|
<a-button type="primary" :loading="confirmLoading" @click="handleSubmit">保存</a-button> |
||||||
|
</a-form-model-item> |
||||||
|
</a-form-model> |
||||||
|
</a-spin> |
||||||
|
</a-card> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import { cloneDeep } from 'lodash' |
||||||
|
import { SelectCoupon } from '@/components' |
||||||
|
import * as InviteApi from '@/api/invite/invite' |
||||||
|
// 默认数据 |
||||||
|
const defaultData = { |
||||||
|
coupon_id: 0, |
||||||
|
one_order_rate: 0, |
||||||
|
integral: 0, |
||||||
|
} |
||||||
|
|
||||||
|
export default { |
||||||
|
components: { |
||||||
|
SelectCoupon, |
||||||
|
}, |
||||||
|
data() { |
||||||
|
return { |
||||||
|
// 标签布局属性 |
||||||
|
labelCol: { span: 4 }, |
||||||
|
// 输入框布局属性 |
||||||
|
wrapperCol: { span: 12 }, |
||||||
|
// 加载状态 |
||||||
|
isLoading: false, |
||||||
|
confirmLoading: false, |
||||||
|
// 当前记录详情 |
||||||
|
form: cloneDeep(defaultData), |
||||||
|
} |
||||||
|
}, |
||||||
|
// 初始化数据 |
||||||
|
created() { |
||||||
|
this.handleInfo() |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
// 确认按钮 |
||||||
|
handleSubmit(e) { |
||||||
|
const app = this |
||||||
|
app.$refs.myForm.validate((valid) => { |
||||||
|
if (valid) { |
||||||
|
this.confirmLoading = true |
||||||
|
InviteApi.edit({ form: app.form }) |
||||||
|
.then((result) => { |
||||||
|
app.$message.success(result.message, 1.5) |
||||||
|
// app.form = cloneDeep(defaultData) |
||||||
|
// 跳转到列表页 |
||||||
|
// setTimeout(() => this.$router.push('./receive/index'), 1200) |
||||||
|
}) |
||||||
|
.finally((result) => (app.confirmLoading = false)) |
||||||
|
} |
||||||
|
}) |
||||||
|
}, |
||||||
|
handleInfo() { |
||||||
|
InviteApi.info() |
||||||
|
.then((result) => { |
||||||
|
this.form.integral = result.data.info.integral |
||||||
|
this.form.one_order_rate = result.data.info.one_order_rate |
||||||
|
this.form.coupon_id = result.data.info.coupon_id |
||||||
|
}) |
||||||
|
.finally(() => (this.isLoading = false)) |
||||||
|
}, |
||||||
|
}, |
||||||
|
} |
||||||
|
</script> |
||||||
|
<style lang="less" scoped> |
||||||
|
.ant-form-item { |
||||||
|
.ant-form-item { |
||||||
|
margin-bottom: 0; |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
/deep/.ant-form-item-control { |
||||||
|
padding-left: 10px; |
||||||
|
.ant-form-item-control { |
||||||
|
padding-left: 0; |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
Loading…
Reference in new issue