oil-station/fuintAdmin/src/views/EventMarketing/activeNewlyweds/index.vue

754 lines
23 KiB
Vue
Raw Normal View History

2024-08-16 18:26:19 +08:00
<template>
<div class="app-container">
2024-08-29 09:00:21 +08:00
<div class="cot-box">
2024-09-11 17:35:10 +08:00
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="90px" style="margin: 0 auto;width: 70%">
2024-08-29 09:00:21 +08:00
<el-form-item label="活动名称" prop="name">
<el-input v-model="ruleForm.name"></el-input>
</el-form-item>
2024-08-29 11:19:48 +08:00
<el-form-item label="活动时间" prop="activeTimeType">
2024-08-29 09:00:21 +08:00
<div class="d-s">
<div class="icon-type" v-for="(item,index) in activityTimeTypeList" :key="index"
:class="{ 'acvtive' : index === tindex1 }" @click="Typeindex1(index)">
<img src="@/assets/images/wx.png" style="width: 20px;height: 20px" v-if="index != tindex1">
<img src="@/assets/images/xz.png" style="width: 20px;height: 20px" v-if="index == tindex1">
{{ item }}
</div>
<el-date-picker
v-model="ruleForm.activeStartTime"
style="width: 160px"
type="date"
2024-08-29 11:19:48 +08:00
value-format="yyyy-MM-dd"
2024-08-29 09:00:21 +08:00
placeholder="开始日期">
</el-date-picker>
<span style="margin: 0 5px"></span>
<el-date-picker
v-model="ruleForm.activeEndTime"
style="width: 160px"
type="date"
2024-08-29 11:19:48 +08:00
value-format="yyyy-MM-dd"
2024-08-29 09:00:21 +08:00
placeholder="结束日期">
</el-date-picker>
</div>
</el-form-item>
2024-08-29 11:19:48 +08:00
<el-form-item label="通知内容" prop="noticeContent">
2024-08-29 09:00:21 +08:00
<div>
<el-button type="text" @click="ifWrite = !ifWrite">编辑</el-button>
</div>
<el-input type="textarea" :disabled="ifWrite" v-model="ruleForm.noticeContent"
placeholder="请输入通知内容"></el-input>
</el-form-item>
2024-08-29 11:19:48 +08:00
<el-form-item label="活动详情" prop="activityDetails">
2024-08-29 09:00:21 +08:00
<el-input type="textarea" v-model="ruleForm.activityDetails" placeholder="请输入活动详情"></el-input>
</el-form-item>
2024-08-29 11:19:48 +08:00
<el-form-item label="活动奖品" prop="courtesyReward">
2024-08-29 09:00:21 +08:00
<div style="display: flex">
<div style="width: 17%">
<el-checkbox-group v-model="ruleForm.courtesyReward">
2024-09-18 17:24:03 +08:00
<div >
2024-08-29 09:00:21 +08:00
<el-checkbox label="3" name="type">赠送积分</el-checkbox>
</div>
2024-09-18 17:24:03 +08:00
<div style="margin: 10px 0">
2024-08-29 09:00:21 +08:00
<el-checkbox label="2" name="type">赠送成长值</el-checkbox>
</div>
2024-09-19 10:41:11 +08:00
<div style="display: flex;font-size: 14px;margin: 15px 0;align-items: center">
2024-08-29 09:00:21 +08:00
<el-checkbox label="0" name="type">赠送优惠券</el-checkbox>
<img src="@/assets/images/tjb.png"
2024-09-19 10:41:11 +08:00
style="width: 20px;height: 20px;cursor: pointer;margin-left: 10px;"
2024-08-29 09:00:21 +08:00
@click="addCoupons()">
</div>
</el-checkbox-group>
</div>
2024-09-12 15:44:25 +08:00
<div style="width: 100%">
2024-08-29 09:00:21 +08:00
<div style="display: flex;font-size: 14px;">
2024-09-11 17:35:10 +08:00
<div style="width: 10%">赠送</div>
<el-input placeholder="请输入赠送的积分数量" style="width: 100%;"
2024-08-29 09:00:21 +08:00
v-model="ruleForm.points">
<template slot="append">积分</template>
</el-input>
</div>
2024-08-16 18:26:19 +08:00
2024-08-29 09:00:21 +08:00
<div style="display: flex;font-size: 14px;margin: 15px 0">
2024-09-11 17:35:10 +08:00
<div style="width: 10%">赠送</div>
<el-input placeholder="请输入赠送的成长值数量" style="width: 100%;"
2024-08-29 09:00:21 +08:00
v-model="ruleForm.growthValue">
<template slot="append">成长值</template>
</el-input>
</div>
2024-08-16 18:26:19 +08:00
2024-09-19 10:41:11 +08:00
<div v-for="(item,index) in couponList" :key="index" style="display: flex;font-size: 14px;align-items: center;margin: 20px 0">
2024-09-19 08:50:24 +08:00
<div style="width: 9.5%;">赠送</div>
2024-09-12 15:44:25 +08:00
<el-select v-model="item.vouchersId" style="width: 45%" placeholder="请选择">
2024-08-29 15:14:52 +08:00
<el-option
v-for="(item1,index1) in cardCouponList"
:key="index1"
:label="item1.name"
:value="item1.id"></el-option>
2024-08-29 09:00:21 +08:00
</el-select>
2024-09-12 15:44:25 +08:00
<el-input style="width: 45%;margin-left: 10px" v-model="item.giftCardTotal">
2024-08-29 09:00:21 +08:00
<template slot="append"></template>
</el-input>
2024-09-19 10:41:11 +08:00
<img src="@/assets/images/ljt.png" style="width: 25px;height: 25px;margin-left: 10px;"
2024-08-29 09:00:21 +08:00
@click="deleteCoupons(index)">
</div>
</div>
</div>
</el-form-item>
<el-form-item style="text-align: center">
2024-08-29 11:19:48 +08:00
<el-button @click="resetForm('ruleForm')">取消</el-button>
2024-08-29 09:00:21 +08:00
<el-button type="primary" @click="submitRuleForm('ruleForm')">保存</el-button>
</el-form-item>
</el-form>
</div>
2024-08-16 18:26:19 +08:00
</div>
</template>
<script>
import {
listActiveNewlyweds,
getActiveNewlyweds,
delActiveNewlyweds,
addActiveNewlyweds,
updateActiveNewlyweds,
huiActiveNewlyweds,
2024-08-29 11:19:48 +08:00
editActiveNewlyweds, getInfoActiveNewlyweds, insertActiveNewlyweds, editActiveNewlyweds1
2024-08-16 18:26:19 +08:00
} from "@/api/EventMarketing/activeNewlyweds";
import {getoilName, listExchange, listFavorable, looklook, looklooklook} from "@/api/EventMarketing/activeConsumption";
import QRCode from "qrcodejs2";
import {
delActiveFullminus,
editActiveFullminus,
getActiveFullminus,
updateActiveFullminus
} from "@/api/EventMarketing/activeFullminus";
2024-08-29 11:19:48 +08:00
import {listCardCoupon} from "@/api/EventMarketing/cardCoupon";
2024-08-16 18:26:19 +08:00
export default {
name: "ActiveNewlyweds",
2024-09-12 15:44:25 +08:00
props: ['activeId'],
2024-08-16 18:26:19 +08:00
data() {
return {
2024-08-29 09:00:21 +08:00
opendetails: false,
looklist: [],
statisticsyou: {},
labelPosition: 'left',
loadingdialog: false,
centerDialogVisible: false,
pdidlist: [],//判断优惠券id
pddhidlist: [],//判断兑换券id
2024-08-16 18:26:19 +08:00
tableData: [],//优惠券
2024-08-29 09:00:21 +08:00
tableDatadh: [],//兑换券
dialogTableVisible: false,//优惠券
dialogTableVisibledh: false,//兑换券
tableDatas: [],
2024-08-16 18:26:19 +08:00
//请求优惠券列表时的参数
2024-08-29 09:00:21 +08:00
youhuiquan: {
name: '',
2024-08-16 18:26:19 +08:00
pageNum: 1,
pageSize: 10,
},
2024-08-29 09:00:21 +08:00
ytotal: 0,
2024-08-16 18:26:19 +08:00
//请求兑换券列表时的参数
2024-08-29 09:00:21 +08:00
duihuanquan: {
name: '',
2024-08-16 18:26:19 +08:00
pageNum: 1,
pageSize: 10,
2024-08-29 09:00:21 +08:00
total: 0
2024-08-16 18:26:19 +08:00
},
2024-08-29 09:00:21 +08:00
dtotal: 0,
2024-08-16 18:26:19 +08:00
// 遮罩层
loading: true,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 显示搜索条件
showSearch: true,
// 总条数
ztotal: 0,
// 新人有礼活动表格数据
activeNewlywedsList: [],
// 弹出层标题
title: "",
// 是否显示弹出层
open: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
chainStoreId: null,
storeId: null,
name: null,
activeStartTime: null,
activeEndTime: null,
courtesyReward: null,
activeCode: null,
isonline: null,
status: null,
remainderTotal: null,
points: null,
growthValue: null,
},
activeFullminusList: [],
// 表单参数
form: {
2024-08-29 09:00:21 +08:00
id: "",
tableDatas: [],
courtesyReward: [],
activeNewlywedsChildList: [],
},
2024-09-11 17:35:10 +08:00
ruleForm: {
2024-09-12 15:44:25 +08:00
activeTimeType: 0,
courtesyReward: []
2024-09-11 17:35:10 +08:00
},
2024-08-29 09:00:21 +08:00
ifWrite: true,
tindex1: 0,
activityTimeTypeList: [
"永久有效", "自定义"
],
couponList: [],
2024-08-29 11:19:48 +08:00
// 优惠券列表信息
2024-09-12 15:44:25 +08:00
cardCouponList: [],
2024-08-16 18:26:19 +08:00
// 表单校验
rules: {
name: [
2024-08-29 11:19:48 +08:00
{required: true, message: '活动名称不能为空', trigger: 'blur'},
2024-08-16 18:26:19 +08:00
],
2024-08-29 11:19:48 +08:00
activeTimeType: [
{required: true, message: '活动时间不能为空', trigger: 'blur'},
2024-08-16 18:26:19 +08:00
],
2024-08-29 11:19:48 +08:00
noticeContent: [
{required: true, message: '通知内容不能为空', trigger: 'blur'},
2024-08-16 18:26:19 +08:00
],
2024-08-29 11:19:48 +08:00
activityDetails: [
{required: true, message: '活动详情不能为空', trigger: 'blur'},
2024-08-16 18:26:19 +08:00
],
2024-08-29 11:19:48 +08:00
courtesyReward: [
{required: true, message: '活动奖品不能为空', trigger: 'blur'},
2024-08-16 18:26:19 +08:00
],
}
};
},
created() {
2024-09-12 15:44:25 +08:00
if (this.activeId) {
this.getInfo()
}
2024-08-29 11:19:48 +08:00
this.getCardCoupon()
2024-08-16 18:26:19 +08:00
},
methods: {
2024-09-12 15:44:25 +08:00
getCardCoupon() {
listCardCoupon({status: 1, putType: 1}).then(res => {
2024-08-29 11:19:48 +08:00
this.cardCouponList = res.data.records
})
},
2024-09-12 15:44:25 +08:00
getInfo() {
getInfoActiveNewlyweds(this.activeId).then(res => {
2024-08-29 09:00:21 +08:00
if (res.data) {
this.ruleForm = res.data
if (res.data.courtesyReward) this.ruleForm.courtesyReward = res.data.courtesyReward.split(",")
if (res.data.activeTimeType) this.tindex1 = res.data.activeTimeType
if (res.data.couponList) this.couponList = res.data.couponList
2024-09-12 15:44:25 +08:00
} else {
2024-08-29 09:00:21 +08:00
this.ruleForm = {
2024-09-12 15:44:25 +08:00
activeTimeType: 0,
courtesyReward: []
2024-08-29 09:00:21 +08:00
}
2024-08-29 15:14:52 +08:00
this.tindex1 = 0
2024-08-29 09:00:21 +08:00
}
})
},
addCoupons() {
let data = {
activeGift: 0,
vouchersId: "",
giftCardTotal: "",
}
this.couponList.push(data)
},
deleteCoupons(index) {
this.couponList.splice(index, 1);
},
Typeindex1(index) {
this.tindex1 = index
this.ruleForm.activeTimeType = index
},
submitRuleForm(formName) {
2024-09-12 15:44:25 +08:00
if (this.tindex1 == 1) {
if (!this.ruleForm.activeStartTime || !this.ruleForm.activeEndTime) {
2024-08-29 11:19:48 +08:00
this.$message.error("请选择活动开始时间")
return
}
}
2024-09-18 13:34:55 +08:00
let flag = false;
2024-09-13 16:30:17 +08:00
if (this.ruleForm.courtesyReward && this.ruleForm.courtesyReward.includes("0")) {
if (!this.couponList || this.couponList.length == 0) {
this.$message.error("请先选择赠送优惠券信息!")
return;
2024-09-18 13:34:55 +08:00
}else {
this.couponList.forEach(item => {
if (!item.vouchersId || !item.giftCardTotal){
flag = true
}
})
2024-09-13 16:30:17 +08:00
}
}
2024-09-18 13:34:55 +08:00
if (flag){
this.$message.error("请先确保赠送优惠券信息已经填写!")
return;
}
2024-09-13 16:30:17 +08:00
if (this.ruleForm.courtesyReward && this.ruleForm.courtesyReward.includes("3")) {
if (!this.ruleForm.points) {
this.$message.error("请输入赠送积分!")
return;
}
}
if (this.ruleForm.courtesyReward && this.ruleForm.courtesyReward.includes("2")) {
if (!this.ruleForm.growthValue) {
this.$message.error("请输入赠送成长值!")
return;
}
}
2024-08-29 09:00:21 +08:00
this.$refs[formName].validate((valid) => {
if (valid) {
if (this.ruleForm.courtesyReward) this.ruleForm.courtesyReward = this.ruleForm.courtesyReward.toString()
if (this.couponList) this.ruleForm.couponList = this.couponList
if (this.ruleForm.id) {
2024-08-29 11:19:48 +08:00
editActiveNewlyweds1(this.ruleForm).then(response => {
2024-08-29 09:00:21 +08:00
this.$modal.msgSuccess("修改成功");
2024-09-11 17:35:10 +08:00
// this.getInfo()
2024-09-12 15:44:25 +08:00
this.$router.push({path: "/EventMarketing/center/index", query: {id: '6'}})
2024-08-29 09:00:21 +08:00
});
2024-09-12 15:44:25 +08:00
} else {
2024-08-29 11:19:48 +08:00
insertActiveNewlyweds(this.ruleForm).then(response => {
2024-09-12 15:44:25 +08:00
if (response.data == 1) {
2024-09-11 17:35:10 +08:00
this.$modal.msgSuccess("新增成功");
// this.getInfo()
2024-09-12 15:44:25 +08:00
this.$router.push({path: "/EventMarketing/center/index", query: {id: '6'}})
} else {
2024-09-11 17:35:10 +08:00
this.$modal.msgError("新增失败");
}
2024-08-29 09:00:21 +08:00
});
}
}
});
},
resetForm(formName) {
this.$refs[formName].resetFields();
2024-08-29 11:19:48 +08:00
this.ifWrite = true
2024-09-11 17:35:10 +08:00
// this.getInfo()
2024-09-15 20:26:35 +08:00
this.$router.push({path: "/EventMarketing/center/index",query: {activeId:this.activeId}})
2024-08-29 09:00:21 +08:00
},
2024-08-16 18:26:19 +08:00
/** 查询新人有礼活动列表 */
getList() {
this.loading = true;
2024-08-29 09:00:21 +08:00
listActiveNewlyweds(this.queryParams).then(res => {
2024-08-16 18:26:19 +08:00
this.activeFullminusList = res.data.records
this.ztotal = res.data.total;
2024-08-29 09:00:21 +08:00
console.log('wwwwwc', res)
2024-08-16 18:26:19 +08:00
this.loading = false;
})
// this.loading = true;
// listActiveNewlyweds(this.queryParams).then(response => {
// this.activeNewlywedsList = response.data.records;
// this.total = response.data.total;
// this.loading = false;
// });
},
2024-08-29 09:00:21 +08:00
getoilName() {
getoilName().then(res => {
2024-08-16 18:26:19 +08:00
console.log(res)
this.oillist = res.data
})
},
2024-08-29 09:00:21 +08:00
addDatas() {
2024-08-16 18:26:19 +08:00
this.open = true
this.form = {
2024-08-29 09:00:21 +08:00
id: "",
tableDatas: [],
courtesyReward: [],
activeNewlywedsChildList: [],
2024-08-16 18:26:19 +08:00
}
this.form.tableDatas = []
this.tableDatas = []
this.pdidlist = []
this.pddhidlist = []
},
qrcodelook(url) {
this.loadingdialog = true
this.centerDialogVisible = true
setTimeout(() => {
this.creatQrCode(url)
this.loadingdialog = false
}, 1000);
},
creatQrCode(url) {
document.getElementById("qrCode").innerHTML = ""
new QRCode(this.$refs.qrCodeUrl, {
text: url, // 二维码的内容
width: 300,
height: 300,
colorDark: '#000',
colorLight: '#fff',
correctLevel: QRCode.CorrectLevel.H
})
},
// 取消按钮
cancel() {
this.open = false;
this.reset();
},
// 表单重置
reset() {
this.form = {
id: 1,
chainStoreId: null,
storeId: null,
name: null,
activeStartTime: null,
activeEndTime: null,
courtesyReward: [],
2024-08-29 09:00:21 +08:00
tableDatas: [],
activeNewlywedsChildList: [],
2024-08-16 18:26:19 +08:00
activeCode: null,
isonline: null,
status: null,
remainderTotal: null,
points: null,
growthValue: null,
remark: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
};
this.pdidlist = []
this.form.tableDatas = []
this.pddhidlist = []
this.tableDatas = []
this.resetForm("form");
},
// 请求兑换券
2024-08-29 09:00:21 +08:00
getlistExchange() {
2024-08-16 18:26:19 +08:00
this.tableDatadh = []
2024-08-29 09:00:21 +08:00
listExchange(this.duihuanquan).then(res => {
if (res.code == 200) {
2024-08-16 18:26:19 +08:00
this.dialogTableVisibledh = true
2024-08-29 09:00:21 +08:00
this.tableDatadh = res.data.records
2024-08-16 18:26:19 +08:00
this.dtotal = res.data.total
}
})
},
// 请求优惠券
2024-08-29 09:00:21 +08:00
getlistFavorable() {
2024-08-16 18:26:19 +08:00
this.tableData = []
2024-08-29 09:00:21 +08:00
listFavorable(this.youhuiquan).then(res => {
if (res.code == 200) {
2024-08-16 18:26:19 +08:00
this.dialogTableVisible = true
2024-08-29 09:00:21 +08:00
this.tableData = res.data.records
2024-08-16 18:26:19 +08:00
this.ytotal = res.data.total
}
})
},
// 兑换券券列表选择
2024-08-29 09:00:21 +08:00
Favorabledata(row) {
2024-08-16 18:26:19 +08:00
this.dialogTableVisibledh = false
2024-08-29 09:00:21 +08:00
if (this.pddhidlist.indexOf(row.id) > -1) {
2024-08-16 18:26:19 +08:00
this.$message.error("该兑换卡券已存在")
return
}
this.pddhidlist.push(row.id)
console.log(row)
2024-08-29 09:00:21 +08:00
let data = {
2024-08-16 18:26:19 +08:00
activeGift: 2, //活动奖品 0赠送积分1赠送优惠券 2. 赠送兑换券 3赠送成长值 4. 赠送实物
goodsIds: "", //商品id
2024-08-29 09:00:21 +08:00
goodsName: "", //商品名称
2024-08-16 18:26:19 +08:00
goodsTotal: "", //商品数量
2024-08-29 09:00:21 +08:00
vouchersId: row.id, //券id
giftCardName: row.name, //赠送卡券名称
2024-08-16 18:26:19 +08:00
giftCardType: row.type, //券类型
validityZero: null,
validityOne: null,
2024-08-29 09:00:21 +08:00
validityTwo: null,
validity: row.validity,
giftCardDetail: row.cardDetail, //券详情
2024-08-16 18:26:19 +08:00
giftCardTime: row.validity, //券有效期
giftCardTotal: 1, //券数量
instruction: row.useInstructions, //使用说明
}
this.tableDatas.push(data)
this.$message.success("新增成功")
},
// 优惠券列表选择
2024-08-29 09:00:21 +08:00
chosedata(row) {
2024-08-16 18:26:19 +08:00
this.dialogTableVisible = false
2024-08-29 09:00:21 +08:00
if (this.pdidlist.indexOf(row.id) > -1) {
2024-08-16 18:26:19 +08:00
this.$message.error("该优惠卡券已存在")
return
}
this.pdidlist.push(row.id)
2024-08-29 09:00:21 +08:00
let data = {
2024-08-16 18:26:19 +08:00
activeGift: 1, //活动奖品 0赠送积分1赠送优惠券 2. 赠送兑换券 3赠送成长值 4. 赠送实物
goodsIds: "", //商品id
2024-08-29 09:00:21 +08:00
goodsName: "", //商品名称
2024-08-16 18:26:19 +08:00
goodsTotal: "", //商品数量
2024-08-29 09:00:21 +08:00
vouchersId: row.id, //券id
giftCardName: row.name, //赠送卡券名称
2024-08-16 18:26:19 +08:00
giftCardType: row.discountType, //券类型
timeType: row.timeType,
validityZero: row.validityZero,
validityOne: row.validityOne,
2024-08-29 09:00:21 +08:00
validityTwo: row.validityTwo,
giftCardDetail: row.cardDetail, //券详情
2024-08-16 18:26:19 +08:00
giftCardTime: "", //券有效期
giftCardTotal: 1,//券数量
instruction: row.instruction,//使用说明
}
this.form.tableDatas.push(data)
this.$message.success("新增成功")
},
// 优惠券删除
2024-08-29 09:00:21 +08:00
deletedata(row) {
if (this.form.tableDatas && this.form.tableDatas.length > 0) {
let delIdx = -1;
for (let item of this.form.tableDatas) {
2024-08-16 18:26:19 +08:00
delIdx++;
2024-08-29 09:00:21 +08:00
if (item.id === row.id) {
2024-08-16 18:26:19 +08:00
break
}
}
2024-08-29 09:00:21 +08:00
this.pdidlist.splice(delIdx, 1);
this.form.tableDatas.splice(delIdx, 1);
2024-08-16 18:26:19 +08:00
}
},
// 兑换券删除
2024-08-29 09:00:21 +08:00
deletedhdata(row) {
if (this.tableDatas && this.tableDatas.length > 0) {
let delIdx = -1;
for (let item of this.tableDatas) {
2024-08-16 18:26:19 +08:00
delIdx++;
2024-08-29 09:00:21 +08:00
if (item.id === row.id) {
2024-08-16 18:26:19 +08:00
break
}
}
2024-08-29 09:00:21 +08:00
this.pddhidlist.splice(delIdx, 1);
this.tableDatas.splice(delIdx, 1);
2024-08-16 18:26:19 +08:00
}
},
2024-08-29 09:00:21 +08:00
lookDetail(row) {
2024-08-16 18:26:19 +08:00
this.opendetails = true
let data = {
2024-08-29 09:00:21 +08:00
id: row.id,
exchangeFrom: "新人有礼"
2024-08-16 18:26:19 +08:00
}
2024-08-29 09:00:21 +08:00
looklook(data).then(res => {
2024-08-16 18:26:19 +08:00
this.looklist = res.data
2024-08-29 09:00:21 +08:00
console.log('详情', res)
2024-08-16 18:26:19 +08:00
})
2024-08-29 09:00:21 +08:00
looklooklook(row.id).then(resp => {
2024-08-16 18:26:19 +08:00
this.statisticsyou = resp.data
2024-08-29 09:00:21 +08:00
console.log('优惠券详情统计', resp)
2024-08-16 18:26:19 +08:00
})
},
2024-08-29 09:00:21 +08:00
Deleteshan(row) {
2024-08-16 18:26:19 +08:00
const ids = row.id || this.ids;
2024-08-29 09:00:21 +08:00
this.$modal.confirm('是否确认删除此条新人有礼活动的信息?').then(function () {
2024-08-16 18:26:19 +08:00
return delActiveNewlyweds(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
2024-08-29 09:00:21 +08:00
}).catch(() => {
});
2024-08-16 18:26:19 +08:00
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
2024-08-29 09:00:21 +08:00
this.single = selection.length !== 1
2024-08-16 18:26:19 +08:00
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加新人有礼活动";
},
/** 修改按钮操作 */
2024-08-29 09:00:21 +08:00
handleUpdate(row) {
2024-08-16 18:26:19 +08:00
this.reset()
getActiveNewlyweds(row.id).then(response => {
this.form = response.data;
2024-08-29 09:00:21 +08:00
if (response.data.activeNewlywedsChildList) {
2024-08-16 18:26:19 +08:00
this.form.tableDatas = response.data.activeNewlywedsChildList.filter(item => item.activeGift == '1')
this.tableDatas = response.data.activeNewlywedsChildList.filter(item => item.activeGift == '2')
}
this.open = true;
this.title = "编辑";
});
},
2024-08-29 09:00:21 +08:00
handleDeletexia(row, isonline) {
2024-08-16 18:26:19 +08:00
// getActiveNewlyweds(row.id).then(response => {
//
// let data = response.data
// data.isonline = 1
// updateActiveNewlyweds(data).then(response => {
// this.$modal.msgSuccess("下线成功");
// this.open = false;
// this.getList();
// });
//
// });
2024-08-29 09:00:21 +08:00
this.$modal.confirm('确定上线此条新人有礼活动信息?').then(function () {
return editActiveNewlyweds({id: row.id, isonline: isonline});
2024-08-16 18:26:19 +08:00
}).then(() => {
this.$modal.msgSuccess("上线成功");
this.open = false;
this.getList();
2024-08-29 09:00:21 +08:00
}).catch(() => {
});
2024-08-16 18:26:19 +08:00
},
submitForm() {
// this.form.activeNewlywedsChildList
this.form.activeNewlywedsChildList = this.form.tableDatas.concat(this.tableDatas);
this.$refs["form"].validate(valid => {
if (valid) {
console.log(this.form)
if (this.form.id) {
updateActiveNewlyweds(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
2024-08-29 09:00:21 +08:00
} else {
2024-08-16 18:26:19 +08:00
addActiveNewlyweds(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 提交按钮 */
// submitForm() {
// // this.form.activeNewlywedsChildList
// this.form.activeNewlywedsChildList = this.form.tableDatas.concat(this.tableDatas);
// this.$refs["form"].validate(valid => {
// if (valid) {
// if (this.form.id != null) {
// updateActiveNewlyweds(this.form).then(response => {
// this.$modal.msgSuccess("修改成功");
// this.open = false;
// this.getList();
// });
// } else {
// addActiveNewlyweds(this.form).then(response => {
// this.$modal.msgSuccess("新增成功");
// this.open = false;
// this.getList();
// });
// }
// }
// });
// },
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
2024-08-29 09:00:21 +08:00
this.$modal.confirm('是否确认删除此条新人有礼活动信息?').then(function () {
2024-08-16 18:26:19 +08:00
return delActiveNewlyweds(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
2024-08-29 09:00:21 +08:00
}).catch(() => {
});
2024-08-16 18:26:19 +08:00
},
/** 导出按钮操作 */
handleExport() {
this.download('business/marketingActivity/activeNewlyweds/export', {
...this.queryParams
}, `activeNewlyweds_${new Date().getTime()}.xlsx`)
}
}
};
</script>
<style scoped lang="scss">
2024-08-29 09:00:21 +08:00
.box-bt {
2024-08-16 18:26:19 +08:00
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
font-size: 18px;
}
2024-08-29 09:00:21 +08:00
.x-box {
2024-08-16 18:26:19 +08:00
background: #f9f9f9;
border-radius: 6px;
box-sizing: border-box;
padding: 15px;
width: 45%;
}
2024-08-29 09:00:21 +08:00
.cot-box {
width: 100%;
height: 89vh;
border-radius: 8px;
background: #fff;
box-sizing: border-box;
padding: 20px;
margin: 0 auto;
}
.d-s {
display: flex;
align-items: center;
}
.icon-type {
display: flex;
align-items: center;
font-weight: 400;
font-size: 14px;
color: #999999;
margin-right: 20px;
cursor: pointer;
}
.acvtive {
color: #FF770F !important;
}
2024-08-16 18:26:19 +08:00
</style>