This commit is contained in:
cun-nan 2024-08-29 15:14:52 +08:00
parent b568508e0c
commit 6a3b85d385
5 changed files with 117 additions and 112 deletions

View File

@ -661,7 +661,7 @@
</div>
<div class="cot-box">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="130px">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="140px">
<div style="display: flex">
<div style="width: 50%">
<el-form-item label="活动名称" prop="name">
@ -676,14 +676,14 @@
{{ item }}
</div>
<el-date-picker
v-model="ruleForm.activityTimeFront"
v-model="ruleForm.activeStartTime"
style="width: 160px"
type="date"
placeholder="开始日期">
</el-date-picker>
<span style="margin: 0 5px"></span>
<el-date-picker
v-model="ruleForm.activityTimeAfter"
v-model="ruleForm.activeEndTime"
style="width: 160px"
type="date"
placeholder="结束日期">
@ -731,20 +731,23 @@
</el-form-item>
</div>
</el-form-item>
<el-form-item label="适用会员等级" prop="region">
<el-select v-model="ruleForm.region" placeholder="请选择活动区域">
<el-form-item label="适用会员等级" prop="dieselUserLevel">
<el-select v-model="ruleForm.dieselUserLevel" placeholder="请选择活动区域">
<el-option
v-for="(item,index) in userGradeList"
:label="item.name"
:value="item.id.toString()"
:key="index"></el-option>
</el-select>
</el-form-item>
<el-form-item label="会员标签" prop="userLabelIds">
<el-select v-model="ruleForm.userLabelIds" placeholder="请选择活动区域">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="会员标签" prop="region">
<el-select v-model="ruleForm.region" placeholder="请选择活动区域">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item label="可使用支付方式" prop="type">
<el-checkbox-group v-model="ruleForm.type">
<el-form-item label="可使用支付方式" prop="paymentType">
<el-checkbox-group v-model="ruleForm.paymentType">
<el-checkbox
v-for="dict in dict.type.payment_type"
v-if="dict.value!='APPLET_CODE'"
@ -753,36 +756,36 @@
:value="dict.value"></el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item label="每人每天参与上限" prop="desc">
<el-input v-model="ruleForm.desc"></el-input>
<el-form-item label="每人每天参与上限" prop="everyDayCeiling">
<el-input v-model="ruleForm.everyDayCeiling"></el-input>
<span style="color: grey;font-size: 12px">每个会员每天限制参与的次数0标识不限</span>
</el-form-item>
<el-form-item label="每人每月参与上限" prop="desc">
<el-input v-model="ruleForm.desc"></el-input>
<el-form-item label="每人每月参与上限" prop="monthlyCeiling">
<el-input v-model="ruleForm.monthlyCeiling"></el-input>
<span style="color: grey;font-size: 12px">每个会员每月限制参与的次数0标识不限</span>
</el-form-item>
<el-form-item label="每人累计参与上限" prop="desc">
<el-input v-model="ruleForm.desc"></el-input>
<el-form-item label="每人累计参与上限" prop="accumulateCeiling">
<el-input v-model="ruleForm.accumulateCeiling"></el-input>
<span style="color: grey;font-size: 12px">每个会员累计限制参与的次数0标识不限</span>
</el-form-item>
</div>
<div style="width: 50%">
<el-form-item label="通知内容" prop="name">
<el-form-item label="通知内容" prop="noticeContent">
<div>
<el-button type="text" @click="ifWrite = !ifWrite">编辑</el-button>
</div>
<el-input type="textarea" :disabled="ifWrite" v-model="ruleForm.name"
<el-input type="textarea" :disabled="ifWrite" v-model="ruleForm.noticeContent"
placeholder="请输入通知内容"></el-input>
</el-form-item>
<el-form-item label="活动详情" prop="name">
<el-input type="textarea" v-model="ruleForm.name" placeholder="请输入活动详情"></el-input>
<el-form-item label="活动详情" prop="activityDetails">
<el-input type="textarea" v-model="ruleForm.activityDetails" placeholder="请输入活动详情"></el-input>
</el-form-item>
<el-form-item label="活动奖品" prop="type">
<el-checkbox-group v-model="ruleForm.type">
<el-form-item label="活动奖品" prop="activeGift">
<el-checkbox-group v-model="ruleForm.activeGift">
<div style="display: flex;font-size: 14px;margin: 15px 0">
<el-checkbox value="0" name="type"><!--积分--></el-checkbox>
<div style="margin-left: 10px"></div>
<el-select v-model="ruleForm.type" style="margin: 0 10px" placeholder="请选择">
<el-select v-model="pointOrderType" style="margin: 0 10px" placeholder="请选择">
<el-option label="订单金额" value="0"></el-option>
<el-option label="实收金额" value="1"></el-option>
<el-option label="加油升数" value="2"></el-option>
@ -790,7 +793,7 @@
<div>赠送积分</div>
<img src="@/assets/images/tjb.png"
style="width: 20px;height: 20px;cursor: pointer;margin-top: 7px;margin-left: 10px"
@click="addPoints()">
@click="addPoints(pointOrderType)">
</div>
<div v-for="(item,index) in pointList" :key="index" style="font-size: 14px;margin: 15px 0">
@ -809,7 +812,7 @@
<div style="display: flex;font-size: 14px;margin: 15px 0">
<el-checkbox value="3" name="type"><!--成长值--></el-checkbox>
<div style="margin-left: 10px"></div>
<el-select v-model="ruleForm.type" style="margin: 0 10px" placeholder="请选择">
<el-select v-model="growthValueOrderType" style="margin: 0 10px" placeholder="请选择">
<el-option label="订单金额" value="0"></el-option>
<el-option label="实收金额" value="1"></el-option>
<el-option label="加油升数" value="2"></el-option>
@ -817,7 +820,7 @@
<div>赠送成长值</div>
<img src="@/assets/images/tjb.png"
style="width: 20px;height: 20px;cursor: pointer;margin-top: 7px;margin-left: 10px"
@click="addGrowthValues()">
@click="addGrowthValues(growthValueOrderType)">
</div>
<div v-for="(item,index) in growthValueList" :key="index" style="font-size: 14px;margin: 15px 0">
@ -826,7 +829,8 @@
<template slot="append"></template>
</el-input>
<span></span>
<el-input placeholder="请输入赠送成长值" style="width: 30%;margin: 0 10px" v-model="item.givePoints">
<el-input placeholder="请输入赠送成长值" style="width: 30%;margin: 0 10px"
v-model="item.giveGrowthValue">
<template slot="append">成长值</template>
</el-input>
<img src="@/assets/images/ljt.png" style="width: 25px;height: 25px;"
@ -836,7 +840,7 @@
<div style="display: flex;font-size: 14px;margin: 15px 0">
<el-checkbox value="1" name="type"><!--优惠券--></el-checkbox>
<div style="margin-left: 10px"></div>
<el-select v-model="ruleForm.type" style="margin: 0 10px" placeholder="请选择">
<el-select v-model="couponOrderType" style="margin: 0 10px" placeholder="请选择">
<el-option label="订单金额" value="0"></el-option>
<el-option label="实收金额" value="1"></el-option>
<el-option label="加油升数" value="2"></el-option>
@ -844,7 +848,7 @@
<div>赠送优惠券</div>
<img src="@/assets/images/tjb.png"
style="width: 20px;height: 20px;cursor: pointer;margin-top: 7px;margin-left: 10px"
@click="addCoupons()">
@click="addCoupons(couponOrderType)">
</div>
<div v-for="(item,index) in couponList" :key="index" style="font-size: 14px;margin: 15px 0">
@ -853,12 +857,14 @@
<template slot="append"></template>
</el-input>
<span></span>
<el-select v-model="ruleForm.type" style="margin-left: 10px;width: 15%" placeholder="请选择">
<el-option label="优惠券" value="0"></el-option>
<el-option label="实收金额" value="1"></el-option>
<el-option label="加油升数" value="2"></el-option>
<el-select v-model="item.vouchersId" style="margin-left: 10px;width: 20%" placeholder="请选择">
<el-option
v-for="(item1,index1) in cardCouponList"
:key="index1"
:label="item1.name"
:value="item1.id"></el-option>
</el-select>
<el-input style="width: 15%;margin: 0 10px" v-model="item.givePoints">
<el-input style="width: 20%;margin: 0 10px" v-model="item.givePoints">
<template slot="append"></template>
</el-input>
<img src="@/assets/images/ljt.png" style="width: 25px;height: 25px;"
@ -869,7 +875,7 @@
</div>
</div>
<el-form-item style="text-align: center">
<el-button @click="resetForm('ruleForm')">重置</el-button>
<el-button @click="resetForm('ruleForm')">取消</el-button>
<el-button type="primary" @click="submitRuleForm('ruleForm')">保存</el-button>
</el-form-item>
</el-form>
@ -891,10 +897,11 @@ import {
listFavorable,
looklook,
looklooklook,
editActiveConsumption
editActiveConsumption, getInfoActivity
} from "@/api/EventMarketing/activeConsumption";
import {listUserGrade} from "@/api/staff/user/usergrade";
import {getOilNameList} from "@/api/order/oilnumgun";
import {listCardCoupon} from "@/api/EventMarketing/cardCoupon";
export default {
name: "ActiveConsumption",
@ -1011,14 +1018,8 @@ export default {
ruleForm: {
name: '',
region: '',
date1: '',
date2: '',
delivery: false,
type: [],
resource: '',
desc: ''
paymentType:[],
activeGift:[]
},
ifWrite: true,
tindex1: 0,
@ -1033,65 +1034,71 @@ export default {
pointList: [],
growthValueList: [],
couponList: [],
pointOrderType: "",
growthValueOrderType: "",
couponOrderType: "",
//
cardCouponList: [],
//
rules: {
adaptOil: [
{required: true, message: '必填项不能为空', trigger: 'blur'},
],
moneyType: [
{required: true, message: '必填项不能为空', trigger: 'blur'},
],
name: [
{required: true, message: '必填项不能为空', trigger: 'blur'},
{required: true, message: '活动名称不能为空', trigger: 'blur'},
],
participationConditionMoney: [
{required: true, message: '必填项不能为空', trigger: 'blur'},
activityTimeType: [
{required: true, message: '活动时间不能为空', trigger: 'blur'},
],
activeStartTime: [
{required: true, message: '必填项不能为空', trigger: 'blur'},
suitTimeSlotFront: [
{required: true, message: '时间段不能为空', trigger: 'blur'},
],
activeEndTime: [
{required: true, message: '必填项不能为空', trigger: 'blur'},
dieselUserLevel: [
{required: true, message: '适用会员等级不能为空', trigger: 'blur'},
],
adaptUserType: [
{required: true, message: '必填项不能为空', trigger: 'blur'},
], dieselUserLevel: [
{required: true, message: '必填项不能为空', trigger: 'blur'},
], gasolineUserLevel: [
{required: true, message: '必填项不能为空', trigger: 'blur'},
], naturalUserLevel: [
{required: true, message: '必填项不能为空', trigger: 'blur'},
], participationCondition: [
{required: true, message: '必填项不能为空', trigger: 'blur'},
], participationAcount: [
{required: true, message: '必填项不能为空', trigger: 'blur'},
], limitAcount: [
{required: true, message: '必填项不能为空', trigger: 'blur'},
], activeGift: [
{required: true, message: '必填项不能为空', trigger: 'blur'},
paymentType: [
{required: true, message: '可使用支付方式不能为空', trigger: 'blur'},
],
status: [
{required: true, message: '必填项不能为空', trigger: 'blur'},
everyDayCeiling: [
{required: true, message: '每人每天参与上限不能为空', trigger: 'blur'},
],
isonline: [
{required: true, message: '必填项不能为空', trigger: 'blur'},
monthlyCeiling: [
{required: true, message: '每人每月参与上限不能为空', trigger: 'blur'},
],
points: [
{required: true, message: '必填项不能为空', trigger: 'blur'},
accumulateCeiling: [
{required: true, message: '每人累计参与上限不能为空', trigger: 'blur'},
],
activeConsumptionChildList: [
{required: true, message: '必填项不能为空', trigger: 'blur'},
noticeContent: [
{required: true, message: '通知内容不能为空', trigger: 'blur'},
],
activityDetails: [
{required: true, message: '活动详情不能为空', trigger: 'blur'},
],
}
};
},
created() {
this.getList();
// this.getList();
// this.getoiltypeliet()
this.getoilName()
this.listUserGrade()
this.getInfo()
this.getCardCoupon()
},
methods: {
getInfo(){
getInfoActivity().then(res => {
if (res.data) {
this.ruleForm = res.data
if (res.data.couponList) this.couponList = res.data.couponList
}else {
}
})
},
getCardCoupon() {
listCardCoupon({status: 1, putType: 1}).then(res => {
this.cardCouponList = res.data.records
})
},
addPoints(orderType) {
let data = {
activeGift: 0,

View File

@ -617,9 +617,11 @@
<div v-for="(item,index) in couponList" :key="index" style="font-size: 14px;margin: 15px 0">
<span>赠送</span>
<el-select v-model="item.vouchersId" style="margin-left: 10px;width: 30%" placeholder="请选择">
<el-option label="优惠券" value="0"></el-option>
<el-option label="实收金额" value="1"></el-option>
<el-option label="加油升数" value="2"></el-option>
<el-option
v-for="(item1,index1) in cardCouponList"
:key="index1"
:label="item1.name"
:value="item1.id"></el-option>
</el-select>
<el-input style="width: 30%;margin-left: 10px" v-model="item.giftCardTotal">
<template slot="append"></template>
@ -736,16 +738,7 @@ export default {
activeNewlywedsChildList: [],
},
ruleForm: {
name: '',
region: '',
date1: '',
date2: '',
delivery: false,
type: [],
resource: '',
desc: ''
},
ruleForm: {},
ifWrite: true,
tindex1: 0,
activityTimeTypeList: [
@ -797,6 +790,7 @@ export default {
activeTimeType:0,
courtesyReward:[]
}
this.tindex1 = 0
}
})
},

View File

@ -36,6 +36,10 @@ public class ActiveConsumption extends Model<ActiveConsumption> {
private String moneyType;
//满足金额
private Double participationConditionMoney;
/**
*活动时间类型0永久有效1自定义
*/
private String activityTimeType;
//活动开始时间
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date activeStartTime;
@ -83,20 +87,6 @@ public class ActiveConsumption extends Model<ActiveConsumption> {
//描述信息
@TableField(exist = false)
private String exchangeFrom;
/**
*活动时间类型0永久有效1自定义
*/
private String activityTimeType;
/**
*活动时间前
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date activityTimeFront;
/**
*活动时间后
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date activityTimeAfter;
/**
*适用时间段类型0每周1每月
*/

View File

@ -23,4 +23,6 @@ public interface ActiveConsumptionChildService extends IService<ActiveConsumptio
List<Object> detailRecord(ActiveConsumption activeConsumption);
CardFavorableCountVO detailCount(Serializable id);
List<ActiveConsumptionChild> selectByActiveId(Integer activeConsumptionId,String activeGift);
}

View File

@ -1,6 +1,8 @@
package com.fuint.business.marketingActivity.activeConsumption.service.impl;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.fuint.business.marketingActivity.activeConsumption.entity.ActiveConsumption;
import com.fuint.business.marketingActivity.activeConsumption.entity.ActiveConsumptionChild;
@ -125,4 +127,14 @@ public class ActiveConsumptionChildServiceImpl extends ServiceImpl<ActiveConsump
cardFavorableCountVO.setCountLds(a);
return cardFavorableCountVO;
}
@Override
public List<ActiveConsumptionChild> selectByActiveId(Integer activeConsumptionId, String activeGift) {
QueryWrapper queryWrapper = new QueryWrapper<>();
queryWrapper.eq("active_consumption_id",activeConsumptionId);
if (ObjectUtil.isNotEmpty(activeGift)) {
queryWrapper.eq("active_gift",activeGift);
}
return null;
}
}