|
@ -311,8 +311,8 @@ |
|
|
<el-form-item label="优惠券" prop="stockId"> |
|
|
<el-form-item label="优惠券" prop="stockId"> |
|
|
<CouponSelect v-model="form2.stockId" @change="onCouponChange"></CouponSelect> |
|
|
<CouponSelect v-model="form2.stockId" @change="onCouponChange"></CouponSelect> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
<el-form-item label="会员" prop="phone"> |
|
|
|
|
|
<MemberSelect v-model="form2.phone" @change="onMemberChange"></MemberSelect> |
|
|
|
|
|
|
|
|
<el-form-item label="会员" prop="phones"> |
|
|
|
|
|
<MemberMultiSelect v-model="form2.phones" @change="onMemberChange"></MemberMultiSelect> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-form> |
|
|
</el-form> |
|
|
<div slot="footer" class="dialog-footer"> |
|
|
<div slot="footer" class="dialog-footer"> |
|
@ -327,11 +327,12 @@ |
|
|
import { listWechatMemberCoupon, getWechatMemberCoupon, delWechatMemberCoupon, addWechatMemberCoupon, updateWechatMemberCoupon, exportWechatMemberCoupon, sendCoupon } from "@/api/marketing/wechatMemberCoupon"; |
|
|
import { listWechatMemberCoupon, getWechatMemberCoupon, delWechatMemberCoupon, addWechatMemberCoupon, updateWechatMemberCoupon, exportWechatMemberCoupon, sendCoupon } from "@/api/marketing/wechatMemberCoupon"; |
|
|
import CouponSelect from "@/views/components/CouponSelector/index.vue"; |
|
|
import CouponSelect from "@/views/components/CouponSelector/index.vue"; |
|
|
import MemberSelect from "@/views/components/MemberSelect.vue"; |
|
|
import MemberSelect from "@/views/components/MemberSelect.vue"; |
|
|
|
|
|
import MemberMultiSelect from "@/views/components/MemberMultiSelect.vue"; |
|
|
|
|
|
|
|
|
export default { |
|
|
export default { |
|
|
name: "WechatMemberCoupon", |
|
|
name: "WechatMemberCoupon", |
|
|
components: { |
|
|
components: { |
|
|
CouponSelect, MemberSelect |
|
|
|
|
|
|
|
|
CouponSelect, MemberSelect, MemberMultiSelect |
|
|
}, |
|
|
}, |
|
|
data() { |
|
|
data() { |
|
|
return { |
|
|
return { |
|
@ -379,7 +380,10 @@ export default { |
|
|
// 表单参数 |
|
|
// 表单参数 |
|
|
form: {}, |
|
|
form: {}, |
|
|
// 表单参数 |
|
|
// 表单参数 |
|
|
form2: {}, |
|
|
|
|
|
|
|
|
form2: { |
|
|
|
|
|
stockId: null, |
|
|
|
|
|
phones: [] |
|
|
|
|
|
}, |
|
|
// 表单校验 |
|
|
// 表单校验 |
|
|
rules: { |
|
|
rules: { |
|
|
stockId: [ |
|
|
stockId: [ |
|
@ -409,8 +413,8 @@ export default { |
|
|
openid: [ |
|
|
openid: [ |
|
|
{ required: true, message: "小程序openid不能为空", trigger: "blur" } |
|
|
{ required: true, message: "小程序openid不能为空", trigger: "blur" } |
|
|
], |
|
|
], |
|
|
phone: [ |
|
|
|
|
|
{ required: true, message: "手机号不能为空", trigger: "blur" } |
|
|
|
|
|
|
|
|
phones: [ |
|
|
|
|
|
{ required: true, message: "请选择会员", trigger: "change" } |
|
|
], |
|
|
], |
|
|
}, |
|
|
}, |
|
|
columns: [ |
|
|
columns: [ |
|
@ -472,7 +476,12 @@ export default { |
|
|
updateTime: null, |
|
|
updateTime: null, |
|
|
updateBy: null |
|
|
updateBy: null |
|
|
}; |
|
|
}; |
|
|
|
|
|
this.form2 = { |
|
|
|
|
|
stockId: null, |
|
|
|
|
|
phones: [] |
|
|
|
|
|
}; |
|
|
this.resetForm("form"); |
|
|
this.resetForm("form"); |
|
|
|
|
|
this.resetForm("form2"); |
|
|
}, |
|
|
}, |
|
|
/** 搜索按钮操作 */ |
|
|
/** 搜索按钮操作 */ |
|
|
handleQuery() { |
|
|
handleQuery() { |
|
@ -482,6 +491,25 @@ export default { |
|
|
/** 重置按钮操作 */ |
|
|
/** 重置按钮操作 */ |
|
|
resetQuery() { |
|
|
resetQuery() { |
|
|
this.resetForm("queryForm"); |
|
|
this.resetForm("queryForm"); |
|
|
|
|
|
this.queryParams = { |
|
|
|
|
|
pageNum: 1, |
|
|
|
|
|
pageSize: 10, |
|
|
|
|
|
orderByColumn: "create_time", |
|
|
|
|
|
isAsc: "desc", |
|
|
|
|
|
stockId: null, |
|
|
|
|
|
stockName: null, |
|
|
|
|
|
stockType: null, |
|
|
|
|
|
couponCode: null, |
|
|
|
|
|
availableStartTime: null, |
|
|
|
|
|
expireTime: null, |
|
|
|
|
|
receiveTime: null, |
|
|
|
|
|
sendRequestNo: null, |
|
|
|
|
|
useRequestNo: null, |
|
|
|
|
|
useTime: null, |
|
|
|
|
|
couponState: null, |
|
|
|
|
|
openid: null, |
|
|
|
|
|
phone: null |
|
|
|
|
|
}; |
|
|
this.handleQuery(); |
|
|
this.handleQuery(); |
|
|
}, |
|
|
}, |
|
|
// 多选框选中数据 |
|
|
// 多选框选中数据 |
|
@ -506,7 +534,7 @@ export default { |
|
|
this.form2.stockId = value |
|
|
this.form2.stockId = value |
|
|
}, |
|
|
}, |
|
|
onMemberChange(value){ |
|
|
onMemberChange(value){ |
|
|
this.form2.phone = value |
|
|
|
|
|
|
|
|
this.form2.phones = value |
|
|
}, |
|
|
}, |
|
|
/** 修改按钮操作 */ |
|
|
/** 修改按钮操作 */ |
|
|
handleUpdate(row) { |
|
|
handleUpdate(row) { |
|
@ -541,13 +569,34 @@ export default { |
|
|
/** send按钮 */ |
|
|
/** send按钮 */ |
|
|
sendForm() { |
|
|
sendForm() { |
|
|
this.$refs["form2"].validate(valid => { |
|
|
this.$refs["form2"].validate(valid => { |
|
|
console.log(this.form2); |
|
|
|
|
|
sendCoupon(this.form2).then(response => { |
|
|
|
|
|
this.$modal.msgSuccess("修改成功"); |
|
|
|
|
|
this.open2 = false; |
|
|
|
|
|
this.getList(); |
|
|
|
|
|
|
|
|
if (valid) { |
|
|
|
|
|
if (!this.form2.phones || this.form2.phones.length === 0) { |
|
|
|
|
|
this.$modal.msgError("请选择至少一个会员"); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 为每个选中的会员发放优惠券 |
|
|
|
|
|
const promises = this.form2.phones.map(phone => { |
|
|
|
|
|
return sendCoupon({ |
|
|
|
|
|
stockId: this.form2.stockId, |
|
|
|
|
|
phone: phone |
|
|
}); |
|
|
}); |
|
|
}) |
|
|
|
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
Promise.all(promises).then(responses => { |
|
|
|
|
|
this.$modal.msgSuccess(`成功为 ${this.form2.phones.length} 个会员发放优惠券`); |
|
|
|
|
|
this.open2 = false; |
|
|
|
|
|
this.form2 = { |
|
|
|
|
|
stockId: null, |
|
|
|
|
|
phones: [] |
|
|
|
|
|
}; |
|
|
|
|
|
this.getList(); |
|
|
|
|
|
}).catch(error => { |
|
|
|
|
|
this.$modal.msgError("发放失败,请重试"); |
|
|
|
|
|
console.error(error); |
|
|
|
|
|
}); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
}, |
|
|
}, |
|
|
/** 删除按钮操作 */ |
|
|
/** 删除按钮操作 */ |
|
|
handleDelete(row) { |
|
|
handleDelete(row) { |
|
|