This commit is contained in:
@QQNZX 2024-03-04 15:54:56 +08:00
parent 873cf444e8
commit 31d8d1ff19
6 changed files with 565 additions and 231 deletions

View File

@ -54,7 +54,7 @@ export function updateActiveNewlyweds(data) {
// 删除新人有礼活动
export function delActiveNewlyweds(id) {
return request({
url: '/business/marketingActivity/activeNewlyweds/' + id,
url: '/business/marketingActivity/activeNewlyweds/delById/' + id,
method: 'delete'
})
}

View File

@ -8,6 +8,7 @@ export function listActiveRecommend(query) {
params: query
})
}
//优惠券
export function listFavorable(query) {
return request({
@ -52,7 +53,7 @@ export function addActiveRecommend(data) {
export function updateActiveRecommend(data) {
return request({
url: 'business/marketingActivity/activeRecommend',
method: 'post',
method: 'put',
data: data
})
}
@ -60,7 +61,7 @@ export function updateActiveRecommend(data) {
// 删除推荐有礼
export function delActiveRecommend(id) {
return request({
url: '/business/marketingActivity/activeRecommend/' + id,
url: '/business/marketingActivity/activeRecommend/delById/' + id,
method: 'delete'
})
}

View File

@ -3,7 +3,7 @@ import request from '@/utils/request'
export function issueCardFavorable(data) {
return request({
url: 'business/marketingActivity/cardFavorableRecord/issueCardFavorable',
url: 'business/marketingActivity/oneActiveOneCoupon',
method: 'post',
data:data
})
@ -15,3 +15,11 @@ export function getCardFavorableLists(status) {
params: status
})
}
export function getAdaptUserList(data) {
return request({
url: 'business/marketingActivity/cardFavorableRecord/getAdaptUserList',
method: 'post',
data: data
})
}

View File

@ -219,6 +219,7 @@
</div>
</el-dialog>
<el-card>
<el-table v-loading="loading" :data="activeFullminusList" @selection-change="handleSelectionChange">
<el-table-column

View File

@ -1,41 +1,142 @@
<template>
<div class="appconter">
<el-card style="margin-bottom: 20px">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="活动名称" prop="activeName">
<el-input
v-model="queryParams.activeName"
placeholder="请输入活动名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态">
<el-select v-model="queryParams.status" 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="是否在线" prop="isonline">
<el-select v-model="queryParams.isonline" clearable placeholder="请选择是否在线">
<el-option label="在线" value="0"></el-option>
<el-option label="下线" value="1"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-card class="box-card">
<div slot="header" class="clearfix">
<span style="font-size: 20px">推荐有礼</span>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="addActivef"
>新增</el-button>
</el-col>
</el-row>
</el-card>
<el-card>
<el-table v-loading="loading" :data="zList" @selection-change="handleSelectionChange">
<el-table-column
type="index"
align="center"
label="序号"
>
</el-table-column>
<!-- <el-table-column label="活动编号" align="center" prop="id" />-->
<el-table-column label="活动名称" align="center" prop="activeName" />
<el-table-column label="活动时间" align="center" prop="adaptUserType" >
<template slot-scope="scope">
<span >{{scope.row.activeStartTime || 0}}-{{scope.row.activeEndTime || 0}}</span>
</template>
</el-table-column>
<el-table-column label="活动状态 " align="center" prop="status" >
<template slot-scope="scope">
<span style="cursor: pointer;" @click="qiyong(scope.row)" v-if="scope.row.status == 0"> <el-tag>启用</el-tag > </span>
<span style="cursor: pointer;" @click="jinyong(scope.row)" v-if="scope.row.status == 1"> <el-tag type="danger">禁用</el-tag> </span>
</template>
</el-table-column>
<el-table-column label="赠送积分" align="center" prop="adaptUserType" >
<template slot-scope="scope">
<span >{{scope.row.points || 0}}</span>
</template>
</el-table-column>
<el-table-column label="赠送成长值" align="center" prop="adaptUserType" >
<template slot-scope="scope">
<span >{{scope.row.growthValue || 0}}</span>
</template>
</el-table-column>
<el-table-column label="活动更新时间" align="center" prop="updateTime" >
<template slot-scope="scope">
<span >{{scope.row.updateTime || '暂无更新'}}</span>
</template>
</el-table-column>
</div>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
<!-- <el-form-item label="活动图片" prop="activePictureUrl">
<el-upload
:action="uploadAction"
list-type="picture-card"
:file-list="uploadFiles"
:auto-upload="true"
:show-file-list="false"
:headers="uploadHeader"
:on-success="handleUploadSuccess">
<img
v-if="this.ruleForm.activePictureUrl"
:src="imagePath + this.ruleForm.activePictureUrl"
class="list-img"
/>
<i v-if="!this.ruleForm.activePictureUrl" class="el-icon-plus"></i>
</el-upload>
</el-form-item>-->
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="lookDetail(scope.row)"
>详情</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDeletexia(scope.row)"
v-if="scope.row.isonline == 0"
>下线</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="Deleteshan(scope.row)"
v-if="scope.row.isonline == 1"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</el-card>
<el-dialog title="推荐有礼" :visible.sync="xzshow" width="75%">
<!-- <div slot="header" class="clearfix">-->
<!-- <span style="font-size: 20px">推荐有礼</span>-->
<!-- </div>-->
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" class="demo-ruleForm">
<el-form-item label="活动名称" prop="activeName">
<el-input v-model="ruleForm.activeName" placeholder="请输入活动名称" />
</el-form-item>
<el-form-item label="邀请人获得" prop="inviterGiftType">
<el-checkbox-group v-model="ruleForm.inviterGiftType" >
<el-checkbox v-for="city in Typelist" :label="city.type" :key="city.type">{{city.text}}</el-checkbox>
</el-checkbox-group>
</el-form-item>
<!-- 优惠券-->
<div class="xh-box" v-if="ruleForm.inviterGiftType && ruleForm.inviterGiftType.indexOf('0')>-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="ruleForm.ylist"
border
@ -68,9 +169,9 @@
label="有效期(天)"
>
<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>
<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
@ -94,7 +195,6 @@
</template>
</el-table-column>
</el-table>
</div>
</div>
<!-- 兑换券-->
@ -172,110 +272,15 @@
<el-input-number v-model="ruleForm.growthValue" controls-position="right" :min="0" :max="999999999"></el-input-number>
</el-form-item>
<el-form-item label="新用户获得" prop="newuserGiftType">
<el-radio-group v-model="ruleForm.newuserGiftType">
<el-radio label="0">优惠券</el-radio>
</el-radio-group>
</el-form-item>
<!-- 新用户-->
<div class="xh-box" v-if=" ruleForm.newuserGiftType == 0 " >
<div class="box-bt"> <div >新用户获得</div> <el-button type="primary" icon="el-icon-plus" @click="xgetlistFavorable()" >新增</el-button> </div>
<div style="margin: 10px 0px">
<el-table
:data="ruleForm.xylist"
border
style="width: 100%">
<el-table-column
prop="giftCardName"
label="卡券名称"
width="0">
</el-table-column>
<el-table-column
prop="giftCardType"
label="券类型"
width="80">
<template slot-scope="scope">
<span v-if="scope.row.giftCardType == 0" >油品券</span>
<span v-if="scope.row.giftCardType == 1" >商品券</span>
<span v-if="scope.row.giftCardType == 2" >通用券</span>
</template>
</el-table-column>
<el-table-column
prop="date"
label="券详情"
width="80">
<template slot-scope="scope">
<span>{{scope.row.giftCardDetail}}</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="xdeletedata(scope.row)"
>删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="xh-box" >
<div class="box-bt"> <div style="font-size: 16px;font-weight: bold" >新用户获得</div> <div><el-button type="primary" icon="el-icon-plus" @click="gethuodonglist()" >选择活动</el-button> </div> </div>
<div class="box-bt" style="margin-top: 15px" v-if="ruleForm.activeNewName">
<div style="font-size: 16px;font-weight: bold">活动名称{{ruleForm.activeNewName}} </div>
<el-button type="danger" icon="el-icon-delete" circle @click="scxrhd()" ></el-button>
</div>
</div>
<!-- <el-form-item label="分享标题" prop="title">
<el-input v-model="ruleForm.title"></el-input>
</el-form-item>
<el-form-item label="分享图片" prop="titleUrl">
<el-upload
:action="uploadAction"
list-type="picture-card"
:file-list="uploadFiles"
:auto-upload="true"
:show-file-list="false"
:headers="uploadHeader"
:on-success="handleUploadSuccesss">
<img
v-if="this.ruleForm.titleUrl"
:src="imagePath + this.ruleForm.titleUrl"
class="list-img"
/>
<i v-if="!this.ruleForm.titleUrl" class="el-icon-plus"></i>
</el-upload>
</el-form-item>-->
<!-- <el-form-item label="邀请二维码" prop="invitationCodeType">
<el-radio-group v-model="ruleForm.invitationCodeType">
<el-radio label="0">小程序码</el-radio>
<el-radio label="1">参数二维码</el-radio>
</el-radio-group>
</el-form-item>-->
<!-- <el-form-item label="奖励显示" prop="rewardDisplay">
<el-radio-group v-model="ruleForm.rewardDisplay">
<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="activeRule">
<el-input type="textarea" v-model="ruleForm.activeRule"></el-input>
</el-form-item>
@ -293,7 +298,95 @@
</el-form-item>
</el-form>
</el-card>
</el-dialog>
<!-- 新用户活动-->
<el-dialog title="活动列表" :visible.sync="huodongshow">
<div style="display: flex;align-items: center; margin-bottom: 20px ">
<el-input v-model="huodongname" placeholder="优惠券名称"></el-input>
<el-button type="primary" icon="el-icon-search" @click="xgetlistFavorable" >搜索</el-button>
</div>
<el-table
:data="huodonglist"
border
style="width: 100%">
<el-table-column
prop="name"
label="活动名称"
>
</el-table-column>
<el-table-column
prop="date"
label="有效期(天)"
>
<template slot-scope="scope">
<span>{{scope.row.activeEndTime}}</span> -
<span>{{scope.row.activeStartTime}}</span>
</template>
</el-table-column>
<el-table-column
prop="address"
label="操作">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
@click="huodongxz(scope.row)"
>选择</el-button>
</template>
</el-table-column>
</el-table>
<div><pagination
v-show="zquerys.total>0"
:total="zquerys.total"
:page.sync="zquerys.pageNum"
:limit.sync="zquerys.pageSize"
@pagination="gethuodonglist"
/></div>
</el-dialog>
<el-dialog title="详情统计" :visible.sync="opendetails" width="45%" append-to-body>
<div style="display: flex;justify-content: space-between;width: 100%;">
<div class="x-box">
<div>优惠券数量统计</div>
<div>总数量: {{statisticsyou.count ||0}}</div>
<div>已使用数量: {{statisticsyou.countEd ||0}}</div>
<div>未使用数量: {{statisticsyou.countLd ||0}}</div>
</div>
<div class="x-box">
<div>兑换券数量统计</div>
<div>总数量: {{statisticsyou.counts ||0}}</div>
<div>已使用数量: {{statisticsyou.countEds ||0}}</div>
<div>未使用数量: {{statisticsyou.countLds ||0}}</div>
</div>
</div>
<el-table
:data="looklist"
style="width: 100%">
<el-table-column
prop="name"
label="昵称"
>
</el-table-column>
<el-table-column
prop="mobile"
label="联系方式"
>
</el-table-column>
<el-table-column
prop="createTime"
label="领取日期"
>
</el-table-column>
<el-table-column
prop="exchangeFrom"
label="获取方式"
>
</el-table-column>
</el-table>
</el-dialog>
<!-- 优惠券列表 - 新用户获得 -->
<el-dialog title="优惠券列表" :visible.sync="xdialogTableVisible">
<div style="display: flex;align-items: center; margin-bottom: 20px ">
@ -487,7 +580,6 @@
</el-dialog>
<!-- 添加或修改推荐有礼对话框 -->
</div>
</template>
@ -495,10 +587,16 @@
import { listActiveRecommend, getActiveRecommend, delActiveRecommend, addActiveRecommend, updateActiveRecommend,listFavorable,listExchange } from "@/api/EventMarketing/activeRecommend";
import ImageUpload from '@/components/ImageUpload'
import {getToken} from "@/utils/auth";
import {getActiveNewlyweds, listActiveNewlyweds, updateActiveNewlyweds} from "@/api/EventMarketing/activeNewlyweds";
import {looklook, looklooklook} from "@/api/EventMarketing/activeConsumption";
export default {
name: "ActiveRecommend",
data() {
return {
opendetails:false,
looklist:[],
statisticsyou:{},
xzshow:false,
// -
xyouhuiquan:{
name:'',
@ -520,6 +618,11 @@ export default {
pageSize: 10,
total:0
},
zquerys: {
pageNum: 1,
pageSize: 10,
total:0
},
dtotal:0,
imagePath:process.env.VUE_APP_SERVER_URL,
//
@ -533,8 +636,15 @@ export default {
xdialogTableVisible:false,
dialogTableVisible:false,//
dialogTableVisibledh:false,//
huodonglist:[],
huodongname:'',
huodongquerys: {
pageNum: 1,
pageSize: 10,
},
huodongshow:false,
ruleForm: {
id:1,
id:null,
activePictureUrl: '',
titleUrl:'',
ylist:[],
@ -546,6 +656,8 @@ export default {
growthValue:'',
region: '',
activeConsumptionChildList:[],
activeNewName:'',
activeNewId:'',
},
xylist:[],
@ -557,6 +669,7 @@ export default {
],
ylist:[],
dlist:[],
zList:[],
//
loading: true,
//
@ -577,9 +690,10 @@ export default {
open: false,
//
queryParams: {
activeName:null,
pageNum: 1,
pageSize: 10,
id:1,
id:null,
chainStoreId: null,
storeId: null,
activePictureUrl: null,
@ -595,12 +709,17 @@ export default {
isonline: null,
},
//
form: {},
form: {
activeName:'',
},
//
rules: {
/*activePictureUrl: [
{ required: true, message: '必填项不能为空', trigger: 'blur' },
],*/
activeName: [
{ required: true, message: '必填项不能为空', trigger: 'blur' },
],
inviterGiftType: [
{ required: true, message: '必填项不能为空', trigger: 'blur' },
],
@ -626,13 +745,34 @@ export default {
};
},
created() {
this.getList();
this.getactivelist()
// this.getList();
},
components:{
ImageUpload
},
methods: {
addActivef(){
this.ruleForm ={
id:null,
activePictureUrl: '',
titleUrl:'',
ylist:[],
dlist:[],
xylist:[],
inviterGiftType:[],
name: '',
points:'',
growthValue:'',
region: '',
activeConsumptionChildList:[],
activeNewName:'',
activeNewId:'',
},
this.xzshow = true
},
//
handleUploadSuccess(file) {
console.log('图片上传成功',file)
@ -644,10 +784,18 @@ export default {
this.ruleForm.titleUrl = file.data.fileName
},
getactivelist(){
this.loading = true;
listActiveRecommend(this.queryParams).then(res=>{
console.log(res)
this.zList = res.data.records
this.total = res.data.total
this.loading = false;
})
},
/** 查询推荐有礼列表 */
getList() {
this.loading = true;
// this.loading = true;
getActiveRecommend(1).then(response => {
this.ruleForm = response.data
this.ruleForm.xylist = response.data.activeRecommendChildList.filter(item => item.giftUserType == '1')
@ -656,7 +804,7 @@ export default {
console.log( "1", this.ruleForm.xylist)//
console.log( "2",this.ruleForm.ylist)//
console.log( "3",this.ruleForm.dlist)//
this.loading = false;
});
},
@ -671,6 +819,15 @@ export default {
}
})
},
//
gethuodonglist(){
listActiveNewlyweds(this.zquerys).then(res=>{
this.huodongshow = true
this.huodonglist = res.data.records
console.log(res)
})
},
//
getlistFavorable(){
this.ylist = []
@ -726,6 +883,16 @@ export default {
this.ruleForm.dlist.push(data)
this.$message.success("新增成功")
},
huodongxz(row){
console.log(row)
this.ruleForm.activeNewName = row.name
this.ruleForm.activeNewId = row.id
this.huodongshow = false
},
scxrhd(){
this.ruleForm.activeNewName = null
this.ruleForm.activeNewId = null
},
//
chosedataxyh(row){
this.xdialogTableVisible = false
@ -765,7 +932,6 @@ export default {
}
this.pdidlist.push(row.id)
let data ={
giftUserType:0,//
activeGift: 1, // 01 2. 3 4.
@ -837,6 +1003,21 @@ export default {
}
},
lookDetail(row){
this.opendetails = true
let data = {
id:row.id
}
looklook(data).then(res=>{
this.looklist = res.data
console.log('详情',res)
})
looklooklook(row.id).then(resp=>{
this.statisticsyou = resp.data
console.log('优惠券详情统计',resp)
})
},
//
cancel() {
this.open = false;
@ -844,8 +1025,10 @@ export default {
},
//
reset() {
this.form = {
id: 1,
this.ruleForm = {
id: null,
activeName:null,
chainStoreId: null,
storeId: null,
activePictureUrl: null,
@ -865,7 +1048,7 @@ export default {
activeRecommendChildList:[],
updateTime: null
};
this.resetForm("form");
// this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
@ -891,47 +1074,95 @@ export default {
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
this.ruleForm ={
id:null,
activePictureUrl: '',
titleUrl:'',
ylist:[],
dlist:[],
xylist:[],
inviterGiftType:[],
name: '',
points:'',
growthValue:'',
region: '',
activeConsumptionChildList:[],
}
const id = row.id || this.ids
// getActiveRecommend(id).then(response => {
// this.form = response.data;
// this.xzshow = true;
// this.title = "";
// });
getActiveRecommend(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改推荐有礼";
this.ruleForm = response.data
this.xzshow = true;
if(response.data.activeRecommendChildList){
this.ruleForm.xylist = response.data.activeRecommendChildList.filter(item => item.giftUserType == '1')
this.ruleForm.ylist = response.data.activeRecommendChildList.filter(item => { return item.activeGift === '1' && item.giftUserType=== '0'; })
this.ruleForm.dlist = response.data.activeRecommendChildList.filter(item => item.activeGift == '2')
}
});
},
handleDeletexia(row){
getActiveRecommend(row.id).then(response => {
let data = response.data
data.isonline = 1
updateActiveRecommend(data).then(response => {
this.$modal.msgSuccess("下线成功");
this.getactivelist()
});
});
},
/** 提交按钮 */
submitForm() {
this.ruleForm.activeRecommendChildList = this.ruleForm.ylist.concat(this.ruleForm.dlist,this.ruleForm.xylist);
console.log(this.ruleForm.activeRecommendChildList)
console.log(this.ruleForm)
this.ruleForm.id = 1
// this.ruleForm.id = 1
this.$refs["ruleForm"].validate(valid => {
if (valid) {
if (this.ruleForm.id != null) {
updateActiveRecommend(this.ruleForm).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addActiveRecommend(this.ruleForm).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
if(this.ruleForm.id ){
console.log(this.ruleForm.id,'修改')
updateActiveRecommend(this.ruleForm).then(response => {
this.$modal.msgSuccess("修改成功");
this.xzshow = false;
this.getactivelist()
});
}else {
console.log(this.ruleForm.id,'新增')
addActiveRecommend(this.ruleForm).then(response => {
this.$modal.msgSuccess("新增成功");
this.xzshow = false;
this.getactivelist()
});
}
// if (this.ruleForm.id != '') {
// console.log(this.ruleForm.id,'')
//
// } else {
// console.log(this.ruleForm.id,'')
// }
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
Deleteshan(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除推荐有礼编号为"' + ids + '"的数据项?').then(function() {
return delActiveRecommend(ids);
}).then(() => {
this.getList();
this.getactivelist()
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
@ -949,8 +1180,21 @@ export default {
width: 100%;
height: 100%;
}
.box-bt{
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
}
.appconter{
box-sizing: border-box;
padding: 15px;
}
.x-box{
background: #f9f9f9;
border-radius: 6px;
box-sizing: border-box;
padding: 15px;
width: 45%;
}
</style>

View File

@ -2,7 +2,6 @@
<div class="app-container">
<el-card style="margin-bottom: 20px">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="100px">
<el-form-item label="券状态" prop="name">
<el-select v-model="status" clearable placeholder="请选择">
<el-option
@ -13,8 +12,6 @@
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
</el-form-item>
@ -55,7 +52,6 @@
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
@ -65,11 +61,15 @@
/>
</el-card>
<!-- 添加或修改消费有礼活动对话框 -->
<el-dialog :title="title" :visible.sync="open" width="45%" append-to-body>
<el-dialog :title="title" :visible.sync="open" width="65%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" :label-position="labelPosition" label-width="110px">
<el-form-item label="活动名称" prop="activeName">
<el-input v-model="activeName" placeholder="请输入活动名称" />
</el-form-item>
<el-form-item label="会员等级" prop="" >
<el-select v-model="gradeIds" multiple clearable placeholder="会员等级">
<el-option :label="item.name" :value="item.id.toString()" v-for="(item,index) in userGradeList" :key="index" > </el-option>
<el-select v-model="gradeIds" multiple clearable placeholder="会员等级" @change="change">
<el-option :label="item.name" :value="item.id.toString()" v-for="(item,index) in userGradeList" :key="index" > </el-option>
</el-select>
</el-form-item>
<el-form-item label="不活跃用户" prop="">
@ -78,10 +78,37 @@
<div style="margin-left: 5px"> <span style="color: red">(查找最近N天未进行消费的用户)</span> </div>
</div>
</el-form-item>
<!-- -->
<div style="margin: 10px 0px">
<el-table
:data="rlist"
border
style="width: 100%">
<el-table-column
prop="gradeName"
label="会员等级名称"
>
</el-table-column>
<el-table-column
prop="countAll"
label="存量总数"
>
</el-table-column>
<el-table-column
prop="count"
label="不活跃总数"
>
</el-table-column>
<el-table-column
prop="rate"
label="百分比"
>
</el-table-column>
</el-table>
</div>
<!-- 选择优惠券-->
<div class="xh-box" >
<div class="box-bt"> <div >赠送卡券</div> <el-button type="primary" icon="el-icon-plus" @click="getlistFavorable()" >新增</el-button> </div>
<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"
@ -90,12 +117,12 @@
<el-table-column
prop="giftCardName"
label="卡券名称"
width="0">
>
</el-table-column>
<el-table-column
prop="giftCardType"
label="券类型"
width="80">
>
<template slot-scope="scope">
<span v-if="scope.row.giftCardType == 0" >油品券</span>
<span v-if="scope.row.giftCardType == 1" >商品券</span>
@ -105,7 +132,7 @@
<el-table-column
prop="date"
label="券详情"
width="80">
>
<template slot-scope="scope">
<span>{{scope.row.giftCardDetail}}</span>
</template>
@ -113,19 +140,19 @@
<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>
<span v-if="scope.row.timeType == 0" > <el-input-number v-model="scope.row.validityZero" controls-position="right" size="mini" :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" size="mini" :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" size="mini" :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>
<el-input-number v-model="scope.row.giftCardTotal" controls-position="right" size="mini" :min="1" :max="9999"></el-input-number>
</template>
</el-table-column>
@ -145,6 +172,72 @@
</div>
</div>
<!-- 选择兑换券-->
<div class="xh-box" >
<div class="box-bt"> <div >选择兑换券</div> <el-button type="primary" icon="el-icon-plus" @click="getlistExchange()" >新增</el-button> </div>
<div style="margin: 10px 0px">
<el-table
:data="tableDatas"
border
style="width: 100%">
<el-table-column
prop="giftCardName"
label="卡券名称"
>
</el-table-column>
<el-table-column
prop="date"
label="券类型"
>
<template slot-scope="scope">
<span v-if="scope.row.giftCardType == 0" >油品券</span>
<span v-if="scope.row.giftCardType == 1" >商品券</span>
<span v-if="scope.row.giftCardType == 2" >通用券</span>
</template>
</el-table-column>
<el-table-column
prop="date"
label="券详情"
>
<template slot-scope="scope">
<span>{{scope.row.giftCardDetail}}</span>
<!-- <span>{{scope.row.fullDeduction}} {{scope.row.discountAmount}} </span>-->
</template>
</el-table-column>
<el-table-column
prop="date"
label="有效期(天)"
>
<template slot-scope="scope">
<span > <el-input-number v-model="scope.row.giftCardTime" controls-position="right" size="mini" :min="1" :max="9999"></el-input-number> </span>
</template>
</el-table-column>
<el-table-column
prop="date"
label="数量"
>
<template slot-scope="scope">
<el-input-number v-model="scope.row.giftCardTotal" controls-position="right" size="mini" :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="deletedhdata(scope.row)"
>删除</el-button>
</template>
</el-table-column>
</el-table>
</div>
</div>
</el-form>
@ -191,9 +284,9 @@
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>
<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>
@ -257,7 +350,7 @@
label="有效期(天)"
width="180">
<template slot-scope="scope">
<span >{{scope.row.validity}} </span>
<span >{{scope.row.validity}} </span>
</template>
</el-table-column>
@ -282,32 +375,13 @@
/></div>
</el-dialog>
<!-- 实物列表-->
<el-dialog title="实物列表" :visible.sync="dialogTableVisiblesw">
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-form-item label="选择商品">
<el-select v-model="shopdata.goodsId" placeholder="请选择商品" @change="swchange">
<el-option :label="item.name" :value="item" v-for="(item,index) in tableDatasw" :key="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="商品数量" prop="nmb" >
<el-input-number v-model="shopdata.count" controls-position="right" :min="1" :max="9999"></el-input-number>
</el-form-item>
<el-button
type="primary"
@click="shwdata()"
>确定</el-button>
</el-form>
</el-dialog>
</div>
</template>
<script>
import { getoiltype,getoilName, listActiveConsumption,listExchange,listLJGoods, getActiveConsumption, delActiveConsumption, addActiveConsumption, updateActiveConsumption,listFavorable } from "@/api/EventMarketing/activeConsumption";
import {issueCardFavorable,getCardFavorableLists} from "@/api/EventMarketing/yijian";
import {issueCardFavorable,getCardFavorableLists,getAdaptUserList} from "@/api/EventMarketing/yijian";
import {listUserGrade} from "@/api/staff/user/usergrade";
export default {
@ -323,6 +397,7 @@ export default {
label: '已使用'
},
],
rlist:[],
labelPosition:'left',
userGradeList:[],
pdidlist:[],//id
@ -417,12 +492,9 @@ export default {
},
status:null,
//
form: {
},
form: {},
cardFavorableIds:[],
activeName:'',
gradeIds:[],
days:15,
//
@ -471,19 +543,24 @@ export default {
activeConsumptionChildList: [
{ required: true, message: '必填项不能为空', trigger: 'blur' },
],
}
};
},
created() {
this.getList();
this.getoilName()
this.listUserGrade()
},
methods: {
change(e){
let data = {
gradeIds:e,
days:this.days
}
getAdaptUserList(data).then(res=>{
this.rlist = res.data
})
},
indexMethod(index) {
return index * 2;
},
@ -840,21 +917,24 @@ export default {
this.form.activeConsumptionChildList = this.form.tableDatas.concat(this.tableDatas, this.form.shiwudata);
console.log(this.form.activeConsumptionChildList)
let data = {
cardFavorableIds : this.cardFavorableIds,
activeName : this.activeName,
gradeIds:this.gradeIds,
days:this.days
condition:this.days,
cardFavorableIds:this.cardFavorableIds,
cardExchangeIds:this.pddhidlist
}
issueCardFavorable(data).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList()
})
this.$refs["form"].validate(valid => {
if (valid) {
issueCardFavorable(data).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList()
});
}
});
// this.$refs["form"].validate(valid => {
// if (valid) {
// ;
// }
// });
},
/** 删除按钮操作 */
handleDelete(row) {