This commit is contained in:
@QQNZX 2023-11-15 09:09:34 +08:00
parent 757d9c5adb
commit 793e5c9e39
2 changed files with 365 additions and 55 deletions

View File

@ -8,6 +8,13 @@ export function listActiveConsumption(query) {
params: query
})
}
export function listFavorable(query) {
return request({
url: 'business/marketingActivity/cardFavorable',
method: 'get',
params: query
})
}
// 查询消费有礼活动详细
export function getActiveConsumption(id) {

View File

@ -49,35 +49,28 @@
<el-table v-loading="loading" :data="activeConsumptionList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="主键id" align="center" prop="id" />
<el-table-column label="所属连锁店id" align="center" prop="chainStorId" />
<el-table-column label="所属店铺id" align="center" prop="storeId" />
<el-table-column label="活动id" align="center" prop="id" />
<el-table-column label="活动名称" align="center" prop="name" />
<el-table-column label="满足金额" align="center" prop="participationConditionMoney" />
<el-table-column label="活动开始时间" align="center" prop="activeStartTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.activeStartTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="活动结束时间" align="center" prop="activeEndTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.activeEndTime, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="适用油品092# 1: 95# 298# 30# 4-10# 5 LNG 6CNG 7京92# 8京95# 9京0#" align="center" prop="adaptOil" />
<!-- <el-table-column label="活动开始时间" align="center" prop="activeStartTime" width="180">-->
<!-- <template slot-scope="scope">-->
<!-- <span>{{ parseTime(scope.row.activeStartTime, '{y}-{m}-{d}') }}</span>-->
<!-- </template>-->
<!-- </el-table-column>-->
<el-table-column label="适用会员类型 0:全部用户 1全部会员 2等级会员" align="center" prop="adaptUserType" />
<el-table-column label="会员类型 0汽油会员 1柴油会员 2天然气会员" align="center" prop="memberType" />
<el-table-column label="柴油会员等级 1一级会员 2二级会员。。。。。。。" align="center" prop="dieselUserLevel" />
<el-table-column label="汽油会员等级 1一级会员 2二级会员。。。。。。。" align="center" prop="gasolineUserLevel" />
<el-table-column label="天然气会员等级 1一级会员 2二级会员。。。。。。。" align="center" prop="naturalUserLevel" />
<el-table-column label="支付方式 0微信支付 1支付宝 2银行卡 3会员卡 4现金 5组合支付" align="center" prop="paymentType" />
<el-table-column label="参与条件 0不限制 1优惠订单不参与" align="center" prop="participationCondition" />
<el-table-column label="参与次数类别0不限制 1限制" align="center" prop="participationAcount" />
<el-table-column label="限制次数" align="center" prop="limitAcount" />
<el-table-column label="活动奖品 0赠送积分1赠送优惠券 2. 赠送兑换券 3赠送成长值 4. 赠送实物" align="center" prop="activeGift" />
<el-table-column label="赠送积分" align="center" prop="points" />
<el-table-column label="活动状态 0启用 1禁用" align="center" prop="status" />
<el-table-column label="是否在线 0在线 1 下线" align="center" prop="isonline" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
@ -107,20 +100,174 @@
/>
</el-card>
<!-- 添加或修改消费有礼活动对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="所属连锁店id" prop="chainStorId">
<el-input v-model="form.chainStorId" placeholder="请输入所属连锁店id" />
</el-form-item>
<el-form-item label="所属店铺id" prop="storeId">
<el-input v-model="form.storeId" placeholder="请输入所属店铺id" />
</el-form-item>
<el-dialog :title="title" :visible.sync="open" width="45%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-form-item label="活动名称" prop="name">
<el-input v-model="form.name" placeholder="请输入活动名称" />
</el-form-item>
<el-form-item label="满足金额" prop="participationConditionMoney">
<el-input v-model="form.participationConditionMoney" placeholder="请输入满足金额" />
</el-form-item>
<el-form-item label="可用油品" prop="adaptOil" >
<el-checkbox-group v-model="form.adaptOil">
<el-checkbox v-for="city in oillist" :label="city" :key="city">{{city}}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item label="适用用户" prop="adaptUserType">
<el-radio-group v-model="form.adaptUserType">
<el-radio label="0">全部用户</el-radio>
<el-radio label="1">全部会员</el-radio>
<el-radio label="2">等级会员</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="赠送类型" prop="activeGift" >
<el-checkbox-group v-model="form.activeGift">
<el-checkbox label="1" >赠送优惠券</el-checkbox>
<el-checkbox label="2" >赠送兑换券</el-checkbox>
<el-checkbox label="4" >赠送实物</el-checkbox>
</el-checkbox-group>
</el-form-item>
<!-- 选择优惠券-->
<div class="xh-box" v-if="form.activeGift && form.activeGift.indexOf('1')>-1 " >
<div class="box-bt"> <div >赠送卡券</div> <el-button type="primary" icon="el-icon-plus" @click="getlistFavorable()" >新增</el-button> </div>
<div style="margin: 10px 0px">
<el-table
:data="form.tableDatas"
border
style="width: 100%">
<el-table-column
prop="name"
label="卡券名称"
width="0">
</el-table-column>
<el-table-column
prop="date"
label="券类型"
width="80">
<template slot-scope="scope">
<span v-if="scope.row.type == 0" >油品券</span>
<span v-if="scope.row.type == 1" >商品券</span>
<span v-if="scope.row.type == 2" >通用券</span>
</template>
</el-table-column>
<el-table-column
prop="date"
label="券详情"
width="80">
<template slot-scope="scope">
<span>{{scope.row.fullDeduction}} {{scope.row.discountAmount}} </span>
</template>
</el-table-column>
<el-table-column
prop="date"
label="有效期(天)"
width="240">
<template slot-scope="scope">
<span v-if="scope.row.timeType == 0" > <el-input-number v-model="scope.row.validityZero" controls-position="right" :min="1" :max="9999"></el-input-number> </span>
<span v-if="scope.row.timeType == 1" > <el-input-number v-model="scope.row.validityOne" controls-position="right" :min="1" :max="9999"></el-input-number> </span>
<span v-if="scope.row.timeType == 2" > <el-input-number v-model="scope.row.validityTwo" controls-position="right" :min="1" :max="9999"></el-input-number> </span>
</template>
</el-table-column>
<el-table-column
prop="date"
label="数量"
width="240">
<template slot-scope="scope">
<el-input-number v-model="scope.row.giftCardTotal" controls-position="right" :min="1" :max="9999"></el-input-number>
</template>
</el-table-column>
<el-table-column
prop="address"
label="操作">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
@click="deletedata(scope.row)"
>删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
</div>
<!-- 选择兑换券-->
<div class="xh-box" v-if="form.activeGift && form.activeGift.indexOf('2')>-1 " >
<div class="box-bt"> <div >选择兑换券</div> <el-button type="primary" icon="el-icon-plus" @click="getlistFavorable()" >新增</el-button> </div>
<div style="margin: 10px 0px">
<el-table
:data="tableDatas"
border
style="width: 100%">
<el-table-column
prop="name"
label="卡券名称"
width="100">
</el-table-column>
<el-table-column
prop="date"
label="券类型"
width="100">
<template slot-scope="scope">
<span v-if="scope.row.type == 0" >油品券</span>
<span v-if="scope.row.type == 1" >商品券</span>
<span v-if="scope.row.type == 2" >通用券</span>
</template>
</el-table-column>
<el-table-column
prop="date"
label="券详情"
width="100">
<template slot-scope="scope">
<span>{{scope.row.fullDeduction}} {{scope.row.discountAmount}} </span>
</template>
</el-table-column>
<el-table-column
prop="date"
label="有效期(天)"
width="120">
<template slot-scope="scope">
<span v-if="scope.row.timeType == 0" > <el-input-number v-model="scope.row.validityZero" controls-position="right" :min="1" :max="9999"></el-input-number> </span>
<span v-if="scope.row.timeType == 1" > <el-input-number v-model="scope.row.validityOne" controls-position="right" :min="1" :max="9999"></el-input-number> </span>
<span v-if="scope.row.timeType == 2" > <el-input-number v-model="scope.row.validityTwo" controls-position="right" :min="1" :max="9999"></el-input-number> </span>
</template>
</el-table-column>
<el-table-column
prop="date"
label="数量"
width="240">
<template slot-scope="scope">
<el-input-number v-model="scope.row.giftCardTotal" controls-position="right" :min="1" :max="9999"></el-input-number>
</template>
</el-table-column>
<el-table-column
prop="address"
label="操作">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
@click="deletedata(scope.row)"
>删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
</div>
<!-- 选择实物-->
<div class="xh-box" v-if="form.activeGift && form.activeGift.indexOf('4')>-1 " >
<div class="box-bt"> <div>赠送实物</div> </div>
<div></div>
</div>
<el-form-item label="活动开始时间" prop="activeStartTime">
<el-date-picker clearable
v-model="form.activeStartTime"
@ -137,35 +284,79 @@
placeholder="请选择活动结束时间">
</el-date-picker>
</el-form-item>
<el-form-item label="适用油品092# 1: 95# 298# 30# 4-10# 5 LNG 6CNG 7京92# 8京95# 9京0#" prop="adaptOil">
<el-input v-model="form.adaptOil" placeholder="请输入适用油品092# 1: 95# 298# 30# 4-10# 5 LNG 6CNG 7京92# 8京95# 9京0#" />
<el-form-item label="柴油会员等级">
<el-select v-model="form.dieselUserLevel" clearable placeholder="请选择柴油会员等级">
<el-option label="V1会员" value="1"></el-option>
<el-option label="V2会员" value="2"></el-option>
<el-option label="V3会员" value="3"></el-option>
<el-option label="V4会员" value="4"></el-option>
<el-option label="V5会员" value="5"></el-option>
<el-option label="V6会员" value="6"></el-option>
<el-option label="V7会员" value="7"></el-option>
<el-option label="V8会员" value="8"></el-option>
<el-option label="V9会员" value="9"></el-option>
</el-select>
</el-form-item>
<el-form-item label="柴油会员等级 1一级会员 2二级会员。。。。。。。" prop="dieselUserLevel">
<el-input v-model="form.dieselUserLevel" placeholder="请输入柴油会员等级 1一级会员 2二级会员。。。。。。。" />
<el-form-item label="汽油会员等级">
<el-select v-model="form.gasolineUserLevel" clearable placeholder="请选择汽油会员等级">
<el-option label="V1会员" value="1"></el-option>
<el-option label="V2会员" value="2"></el-option>
<el-option label="V3会员" value="3"></el-option>
<el-option label="V4会员" value="4"></el-option>
<el-option label="V5会员" value="5"></el-option>
<el-option label="V6会员" value="6"></el-option>
<el-option label="V7会员" value="7"></el-option>
<el-option label="V8会员" value="8"></el-option>
<el-option label="V9会员" value="9"></el-option>
</el-select>
</el-form-item>
<el-form-item label="汽油会员等级 1一级会员 2二级会员。。。。。。。" prop="gasolineUserLevel">
<el-input v-model="form.gasolineUserLevel" placeholder="请输入汽油会员等级 1一级会员 2二级会员。。。。。。。" />
<el-form-item label="天然气会员等级">
<el-select v-model="form.naturalUserLevel" clearable placeholder="请选择天然气会员等级">
<el-option label="V1会员" value="1"></el-option>
<el-option label="V2会员" value="2"></el-option>
<el-option label="V3会员" value="3"></el-option>
<el-option label="V4会员" value="4"></el-option>
<el-option label="V5会员" value="5"></el-option>
<el-option label="V6会员" value="6"></el-option>
<el-option label="V7会员" value="7"></el-option>
<el-option label="V8会员" value="8"></el-option>
<el-option label="V9会员" value="9"></el-option>
</el-select>
</el-form-item>
<el-form-item label="天然气会员等级 1一级会员 2二级会员。。。。。。。" prop="naturalUserLevel">
<el-input v-model="form.naturalUserLevel" placeholder="请输入天然气会员等级 1一级会员 2二级会员。。。。。。。" />
<el-form-item label="参与条件">
<el-select v-model="form.participationCondition" clearable placeholder="请选择天参与条件">
<el-option label="不限制" value="0"></el-option>
<el-option label="优惠订单不参与" value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item label="参与条件 0不限制 1优惠订单不参与" prop="participationCondition">
<el-input v-model="form.participationCondition" placeholder="请输入参与条件 0不限制 1优惠订单不参与" />
<el-form-item label="参与次数类别">
<el-select v-model="form.participationAcount" clearable placeholder="请选择参与次数类别">
<el-option label="不限制" value="0"></el-option>
<el-option label="限制" value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item label="参与次数类别0不限制 1限制" prop="participationAcount">
<el-input v-model="form.participationAcount" placeholder="请输入参与次数类别0不限制 1限制" />
</el-form-item>
<el-form-item label="限制次数" prop="limitAcount">
<el-form-item label="限制次数" prop="limitAcount" v-if="form.participationAcount == 1">
<el-input v-model="form.limitAcount" placeholder="请输入限制次数" />
</el-form-item>
<el-form-item label="活动奖品 0赠送积分1赠送优惠券 2. 赠送兑换券 3赠送成长值 4. 赠送实物" prop="activeGift">
<el-input v-model="form.activeGift" placeholder="请输入活动奖品 0赠送积分1赠送优惠券 2. 赠送兑换券 3赠送成长值 4. 赠送实物" />
</el-form-item>
<el-form-item label="赠送积分" prop="points">
<el-input v-model="form.points" placeholder="请输入赠送积分" />
<el-input-number v-model="form.points" controls-position="right" :min="1" :max="999999"></el-input-number>
</el-form-item>
<el-form-item label="是否在线 0在线 1 下线" prop="isonline">
<el-input v-model="form.isonline" placeholder="请输入是否在线 0在线 1 下线" />
<el-form-item label="是否在线" prop="isonline">
<el-select v-model="form.isonline" clearable placeholder="请选择参与次数类别">
<el-option label="在线" value="0"></el-option>
<el-option label="下线" value="1"></el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -173,16 +364,73 @@
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<el-dialog title="券列表" :visible.sync="dialogTableVisible">
<el-table
:data="tableData"
border
style="width: 100%">
<el-table-column
prop="name"
label="卡券名称"
width="100">
</el-table-column>
<el-table-column
prop="date"
label="券类型"
width="100">
<template slot-scope="scope">
<span v-if="scope.row.type == 0" >油品券</span>
<span v-if="scope.row.type == 1" >商品券</span>
<span v-if="scope.row.type == 2" >通用券</span>
</template>
</el-table-column>
<el-table-column
prop="date"
label="券详情"
width="100">
<template slot-scope="scope">
<span>{{scope.row.fullDeduction}} {{scope.row.discountAmount}} </span>
</template>
</el-table-column>
<el-table-column
prop="date"
label="有效期(天)"
width="180">
<template slot-scope="scope">
<span v-if="scope.row.timeType == 0" >{{scope.row.validityZero}} </span>
<span v-if="scope.row.timeType == 1" >{{scope.row.validityOne}} </span>
<span v-if="scope.row.timeType == 2" >{{scope.row.validityTwo}} </span>
</template>
</el-table-column>
<el-table-column
prop="address"
label="操作">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
@click="chosedata(scope.row)"
>选择</el-button>
</template>
</el-table-column>
</el-table>
</el-dialog>
</div>
</template>
<script>
import { listActiveConsumption, getActiveConsumption, delActiveConsumption, addActiveConsumption, updateActiveConsumption } from "@/api/EventMarketing/activeConsumption";
import { listActiveConsumption, getActiveConsumption, delActiveConsumption, addActiveConsumption, updateActiveConsumption,listFavorable } from "@/api/EventMarketing/activeConsumption";
export default {
name: "ActiveConsumption",
data() {
return {
pdidlist:[],
dialogTableVisible:false,
tableData: [ ],
oillist:['92#','95#','98#','0#','-10#','LNG','CNG','京92#','京95#','京0#',],
//
loading: true,
//
@ -202,6 +450,10 @@ export default {
//
open: false,
//
listFavorable:{
pageNum: 1,
pageSize: 10,
},
queryParams: {
pageNum: 1,
pageSize: 10,
@ -211,7 +463,7 @@ export default {
participationConditionMoney: null,
activeStartTime: null,
activeEndTime: null,
adaptOil: null,
adaptOil: [],
adaptUserType: null,
memberType: null,
dieselUserLevel: null,
@ -221,13 +473,15 @@ export default {
participationCondition: null,
participationAcount: null,
limitAcount: null,
activeGift: null,
activeGift: [],
points: null,
status: null,
isonline: null,
},
//
form: {},
form: {
tableDatas:[],
},
//
rules: {
}
@ -246,6 +500,46 @@ export default {
this.loading = false;
});
},
//
getlistFavorable(){
listFavorable(this.listFavorable).then(res=>{
if(res.code == 200){
this.dialogTableVisible = true
this.tableData = res.data.records
}
})
},
//
chosedata(row){
this.dialogTableVisible = false
if(this.pdidlist.indexOf(row.id)>-1 ){
this.$message.error("该卡券已存在")
return
}
this.pdidlist.push(row.id)
this.form.tableDatas.push(row)
this.$message.success("新增成功")
},
deletedata(row){
if(this.form.tableDatas&&this.form.tableDatas.length>0){
let delIdx=-1;
for ( let item of this.form.tableDatas) {
delIdx++;
if (item.id===row.id){
break
}
}
this.pdidlist.splice(delIdx,1);
this.form.tableDatas.splice(delIdx,1);
}
},
//
cancel() {
this.open = false;
@ -261,7 +555,7 @@ export default {
participationConditionMoney: null,
activeStartTime: null,
activeEndTime: null,
adaptOil: null,
adaptOil: [],
adaptUserType: null,
memberType: null,
dieselUserLevel: null,
@ -271,13 +565,14 @@ export default {
participationCondition: null,
participationAcount: null,
limitAcount: null,
activeGift: null,
activeGift: [],
points: null,
status: null,
isonline: null,
createBy: null,
createTime: null,
updateBy: null,
tableDatas:[],
updateTime: null
};
this.resetForm("form");
@ -353,3 +648,11 @@ export default {
}
};
</script>
<style scoped lang="scss">
.box-bt{
width: 100%;
display: flex;
justify-content: space-between;
align-items: center;
}
</style>