Commit 88a255d6 authored by zhengke's avatar zhengke

增加奖品页面

parent d3f49ee4
<style>
.w595{width:595px!important;}
</style>
<template>
<div class="flexOne">
<div class="query-box">
<ul class="user_time_picker">
<li>
<span>
<em>公司</em>
<el-select
filterable
v-model="msg.branchId"
>
<el-option label="不限" :value="-1"></el-option>
<el-option
v-for="item in companyList"
:label="item.BName"
:value="item.Id"
:key="item.Id"
></el-option>
</el-select>
</span>
</li>
<li>
<span>
<em>抽奖名</em>
<el-input v-model="msg.lotteryName" @keyup.enter.native="getList"></el-input>
</span>
</li>
<li>
<span>
<em>开始日期</em>
<el-date-picker type="date" v-model="msg.startDate" :picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd" placeholder></el-date-picker>
</span>
</li>
<li>
<span>
<em>结束日期</em>
<el-date-picker type="date" v-model="msg.endDate" :picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd" placeholder></el-date-picker>
</span>
</li>
<li>
<span>
<em>抽奖状态</em>
<el-select filterable v-model="msg.lotteryStatus">
<el-option label="不限" :value="0"></el-option>
<el-option label="正常" :value="1"></el-option>
<el-option label="禁用" :value="2"></el-option>
</el-select>
</span>
</li>
<li>
<input
type="button"
class="hollowFixedBtn"
value="查询"
@click="resetPageIndex(),getList()"
> &nbsp;
<input type="button" @click="outerVisible = true,dialogTitle='新增抽奖',resSetInfo()" class="normalBtn" value="新增">
</li>
</ul>
</div>
<div class="clearfix"></div>
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading">
<tr>
<th>抽奖名称</th>
<th>公司名称</th>
<th>结束日期</th>
<th>抽奖次数</th>
<th>抽奖状态</th>
<th>备注</th>
<th>操作</th>
</tr>
<tr v-for="item in dataList">
<td>{{item.lotteryName}}</td>
<td>{{item.branchName}}</td>
<td>{{item.endDate}}</td>
<td>{{item.lotteryCount}}</td>
<td>{{item.lotteryStatus==1?'正常':'禁用'}}</td>
<td>{{item.remark}}</td>
<td>
<el-tooltip class="item" effect="dark" content="修改抽奖信息" placement="top">
<el-button
type="primary"
icon="el-icon-edit"
circle
@click="outerVisible=true,dialogTitle='修改抽奖信息',updateData(item)"
></el-button>
</el-tooltip>
<el-tooltip class="item" effect="dark" content="查看奖项" placement="top">
<el-button
type="primary"
icon="iconfont icon-chakan"
circle
@click="goUrl(item)"
></el-button>
</el-tooltip>
</td>
</tr>
</table>
<div class="noDataNotice" v-if="dataList.length<1">
<i class="iconfont icon-kong"></i>
<p>没有找到你需要的数据</p>
</div>
<el-pagination
background
@current-change="handleCurrentChange"
v-if="dataList.length>0"
:current-page.sync="currentPage"
layout="total,prev, pager, next, jumper"
:page-size="msg.pageSize"
:total="total"
></el-pagination>
<el-dialog
custom-class="w800"
:title="dialogTitle"
:visible.sync="outerVisible"
center
:before-close="closeChangeMachie"
>
<el-form :model="addMsg" :rules="rules" ref="addMsg" label-width="100px">
<table class="layerTable layerNoIcon">
<tr>
<td>
<el-form-item label="抽奖名称" prop="lotteryName">
<el-input v-model="addMsg.lotteryName" class="w217" placeholder="抽奖名称"/>
</el-form-item>
</td>
<td>
<el-form-item label="公司" prop="branchId">
<el-select filterable class="w217" v-model="addMsg.branchId" placeholder="请选择">
<el-option
v-for="item in companyList"
:label="item.BName"
:value="item.Id"
:key="item.Id"
></el-option>
</el-select>
</el-form-item>
</td>
</tr>
<td>
<el-form-item label="抽奖次数" prop="lotteryCount">
<el-input v-model="addMsg.lotteryCount" class="w217" @keyup.native="checkInteger(addMsg,'lotteryCount')" placeholder="抽奖次数"/>
</el-form-item>
</td>
<td>
<el-form-item label="抽奖状态" prop="lotteryStatus">
<el-select filterable v-model="addMsg.lotteryStatus" class="w217">
<el-option label="正常" :value="1"></el-option>
<el-option label="禁用" :value="2"></el-option>
</el-select>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="开始日期" prop="startDate" >
<el-date-picker type="datetime" v-model="addMsg.startDate"
value-format="yyyy-MM-dd HH:mm:ss" placeholder></el-date-picker>
</el-form-item>
</td>
<td>
<el-form-item label="结束日期" prop="endDate">
<el-date-picker type="datetime" v-model="addMsg.endDate"
value-format="yyyy-MM-dd HH:mm:ss" placeholder></el-date-picker></el-date-picker>
</el-form-item>
</td>
</tr>
<tr>
<td colspan="2">
<el-form-item label="备注" prop="remark">
<el-input type="textarea" v-model="addMsg.remark" class="w595"/>
</el-form-item>
</td>
</tr>
</table>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="outerVisible = false,resetForm('addMsg'),resSetInfo()">取 消</button> &nbsp;
<button class="normalBtn" @click="submitForm('addMsg')">保存</button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
//请求
msg: {
pageIndex: 1,
pageSize: 15,
lotteryName: '',
branchId: -1,
groupId : -1,
startDate: '',
endDate: '',
lotteryStatus: 0,
},
addMsg:{
id:0,
lotteryName:'',
remark:'',
startDate:'',
endDate:'',
lotteryCount:'',
groupId:0,
branchId:'',
lotteryStatus:1,
lotteryPlatform:1
},
rules:{
branchId: [{ required: true, message: "请选择公司", trigger: "change" }],
lotteryName: [{ required: true, message: "请输入抽奖名称", trigger: "blur" }],
lotteryCount: [{ required: true, message: "请输入抽奖次数", trigger: "blur" }],
startDate: [{ required: true, message: "请选择开始日期", trigger: "blur" }],
endDate: [{ required: true, message: "请选择结束日期", trigger: "blur" }],
},
loading:false,
currentPage: 1,
total:0,
dataList:[],
outerVisible: false,
dialogTitle:'',
pickerBeginDateBefore: {
disabledDate: time => {
let endTime = new Date(this.msg.endDate)
return endTime.getTime() < time.getTime()
}
},
pickerBeginDateAfter: {
disabledDate: time => {
let startTime = new Date(this.msg.startDate)
return startTime.getTime() >= time.getTime()
}
},
//公司数组
companyList:[],
//线路
LineList:[],
};
},
mounted() {
this.getCompany();
this.getLineList();
this.getList();
},
filters: {
},
methods: {
//重置id
resSetInfo(){
var newMsg = {
id:0,
lotteryName:'',
remark:'',
startDate:'',
endDate:'',
lotteryCount:'',
groupId:0,
branchId:'',
lotteryStatus:1,
lotteryPlatform:1
}
this.addMsg= newMsg;
},
//获取公司下拉
getCompany() {
let userInfo = this.getLocalStorage()
var RB_Group_id = userInfo.RB_Group_id
let msg = {
Status: 0,
is_show: 0,
RB_Group_Id: RB_Group_id
}
this.apipost(
'admin_get_BranchGetList',
msg,
res => {
if (res.data.resultCode == 1) {
this.companyList = res.data.data
}else{
this.Error(res.data.message);
}
},
err => {}
)
},
//获取线路列表
getLineList() {
this.apipost('line_post_GetList', {}, res => {
if (res.data.resultCode == 1) {
this.LineList = res.data.data
}
})
},
//获取数据
getList() {
this.loading = true;
let userInfo = this.getLocalStorage()
this.msg.groupId = userInfo.RB_Group_id
this.apiJavaPost("/api/sell/lottery/getLotteryList", this.msg, res => {
if (res.data.resultCode === 1) {
this.currentPage = res.data.data.pageCount;
this.total = res.data.data.count;
this.dataList = res.data.data.pageData;
} else {
this.Error(res.data.message)
}
this.loading = false
}, null);
},
//新增抽奖
addDraw(){
this.loading = true;
let userInfo = this.getLocalStorage();
this.addMsg.groupId = userInfo.RB_Group_id;
this.apiJavaPost("/api/sell/lottery/setLottery", this.addMsg, res => {
if (res.data.resultCode === 1) {
this.outerVisible = false;
this.resetForm("addMsg");
this.Success(res.data.message);
this.getList();
} else {
this.Error(res.data.message)
}
}, null);
},
//修改抽奖信息
updateData(item){
this.addMsg.id = item.id;
this.addMsg.lotteryName = item.lotteryName;
this.addMsg.remark = item.remark;
this.addMsg.startDate = item.startDate;
this.addMsg.endDate = item.endDate;
this.addMsg.lotteryCount = item.lotteryCount;
this.addMsg.groupId = item.groupId;
this.addMsg.branchId = item.branchId;
this.addMsg.lotteryStatus = item.lotteryStatus;
},
//跳转至获取抽奖奖项信息列表
goUrl(item){
this.$router.push({
name: 'awardList',
query: {
lotteryId: item.id,
blank: "y",
tab: "抽奖奖项"
}
});
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getList();
},
resetPageIndex() {
this.msg.pageIndex = 1;
this.currentPage = 1;
},
closeChangeMachie(done) {
//弹出框关闭初始化弹框内表单
done();
this.resetForm("addMsg");
},
submitForm(addMsg) {
//提交创建、修改表单
this.$refs[addMsg].validate(valid => {
if (valid) {
this.addDraw();
} else {
return false;
}
});
},
resetForm(formName) {
this.$refs[formName].resetFields();
}
}
};
</script>
\ No newline at end of file
<template>
<div class="flexOne">
<div class="query-box">
<ul class="user_time_picker">
<li>
<input type="button" @click="outerVisible = true,dialogTitle='新增奖项',resetInfo()" class="normalBtn" value="新增">
</li>
</ul>
</div>
<div class="clearfix"></div>
<table class="singeRowTable" border="0" cellspacing="0" cellpadding="0" v-loading="loading">
<tr>
<th>奖项名</th>
<th>奖项数量</th>
<th>奖项状态</th>
<th>奖项类型</th>
<th>操作</th>
</tr>
<tr v-for="item in dataList">
<td>{{item.awardName}}</td>
<td>{{item.awardCount}}</td>
<td>{{item.awardStatus==1?'正常':'禁用'}}</td>
<td v-if="item.awardType==1">谢谢参与</td>
<td v-if="item.awardType==2">一般奖项</td>
<td v-if="item.awardType==3">优惠券</td>
<td>
<el-tooltip class="item" effect="dark" content="修改抽奖信息" placement="top">
<el-button
type="primary"
icon="el-icon-edit"
circle
@click="outerVisible=true,dialogTitle='修改抽奖信息',updateData(item)"
></el-button>
</el-tooltip>
</td>
</tr>
</table>
<div class="noDataNotice" v-if="dataList.length<1">
<i class="iconfont icon-kong"></i>
<p>没有找到你需要的数据</p>
</div>
<el-dialog
custom-class="w800"
:title="dialogTitle"
:visible.sync="outerVisible"
center
:before-close="closeChangeMachie"
>
<el-form :model="addMsg" :rules="rules" ref="addMsg" label-width="100px">
<table class="layerTable layerNoIcon">
<tr>
<td>
<el-form-item label="奖项名" prop="awardName">
<el-input v-model="addMsg.awardName" class="w217" placeholder="奖项名"/>
</el-form-item>
</td>
<td>
<el-form-item label="奖项数量" prop="awardCount">
<el-input v-model="addMsg.awardCount" class="w217" @keyup.native="checkInteger(addMsg,'awardCount')" placeholder="奖项数量"/>
</el-form-item>
</td>
</tr>
<td>
<el-form-item label="奖项类型" prop="awardType">
<el-select filterable v-model="addMsg.awardType" class="w217" @change="getAwardRelationId()">
<el-option label="谢谢参与" :value="1"></el-option>
<el-option label="一般奖项" :value="2"></el-option>
<el-option label="优惠券" :value="3"></el-option>
</el-select>
</el-form-item>
</td>
<td>
<el-form-item label="奖项关联" prop="awardRelationId" v-if="addMsg.awardType==3">
<el-select filterable v-model="addMsg.awardRelationId" class="w217" >
<el-option label="不限" :value="0"></el-option>
<el-option v-for="item in awardRelationList" :label="item.couponsName" :value="item.couponId" :key="item.couponId"></el-option>
</el-select>
</el-form-item>
</td>
</tr>
<tr>
<td>
<el-form-item label="排序" prop="rank">
<el-input v-model="addMsg.rank" class="w217" @keyup.native="checkInteger(addMsg,'rank')" placeholder="排序"/>
</el-form-item>
</td>
<td>
<el-form-item label="奖项状态" prop="awardStatus">
<el-select filterable v-model="addMsg.awardStatus" class="w217">
<el-option label="正常" :value="1"></el-option>
<el-option label="禁用" :value="2"></el-option>
</el-select>
</el-form-item>
</td>
</tr>
</table>
</el-form>
<div slot="footer" class="dialog-footer">
<button class="hollowFixedBtn" @click="outerVisible = false">取 消</button> &nbsp;
<button class="normalBtn" @click="submitForm('addMsg')">保存</button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
data() {
return {
//请求
msg: {
lotteryId: '',
},
addMsg:{
id:0,
lotteryId:0,
awardName:'',
awardType:1,
//谢谢参与和一般奖项为0,优惠券 请求接口返回
awardRelationId:'',
awardCount:'',
awardStatus:1,
rank:'',
},
rules:{
awardName: [{ required: true, message: "请输入公司", trigger: "blur" }],
awardType: [{ required: true, message: "请选择奖项类型", trigger: "change" }],
awardRelationId: [{required: true, message: "请选择奖项关联", trigger: "change"}],
awardCount: [{ required: true, message: "请输入奖项数量", trigger: "blur" }],
awardStatus: [{ required: true, message: "请选择奖项状态", trigger: "change" }],
rank: [{ required: true, message: "请输入排序", trigger: "blur" }],
},
loading:true,
outerVisible:false,
dialogTitle:'',
dataList:[],
awardRelationList:[],
};
},
mounted() {
this.msg.lotteryId = this.$route.query.lotteryId;
this.getList();
},
filters: {
},
methods: {
//获取数据
getList() {
this.loading = true;
this.apiJavaPost("/api/sell/lottery/getLotteryAwardList", this.msg, res => {
console.log(res,'getList');
this.loading = false;
if (res.data.resultCode === 1) {
this.dataList = res.data.data;
} else {
this.Error(res.data.message)
}
}, null);
},
//提交
submitForm(addMsg) {
//提交创建、修改表单
this.$refs[addMsg].validate(valid => {
if (valid) {
this.addAward();
} else {
return false;
}
});
},
//提交添加
addAward(){
this.addMsg.lotteryId = this.$route.query.lotteryId;
if(this.addMsg.awardType==1||this.addMsg.awardType==2){
this.addMsg.awardRelationId = 0;
}
this.apiJavaPost("/api/sell/lottery/setLotteryAward", this.addMsg, res => {
console.log(res,'getList');
if (res.data.resultCode === 1) {
this.Success(res.data.message);
this.outerVisible = false;
this.getList();
} else {
this.Error(res.data.message)
}
}, null);
},
//修改信息
updateData(item){
this.addMsg.id=item.id;
this.addMsg.lotteryId = item.lotteryId;
this.addMsg.awardName = item.awardName;
this.addMsg.awardType = item.awardType;
this.addMsg.awardRelationId = item.awardRelationId;
this.addMsg.awardCount = item.awardCount;
this.addMsg.awardStatus = item.awardStatus;
this.addMsg.rank = item.rank;
this.getAwardRelationId();
},
//根据奖项类型请求关联Id
getAwardRelationId(){
let msg = {
couponId:0
}
this.apiJavaPost("/api/sell/lottery/getCouponsList", msg, res => {
if (res.data.resultCode === 1) {
this.awardRelationList = res.data.data;
} else {
this.Error(res.data.message)
}
}, null);
},
//重置信息
resetInfo(){
var newMsg = {
id:0,
lotteryId:0,
awardName:'',
awardType:1,
awardRelationId:'',
awardCount:'',
awardStatus:1,
rank:'',
}
this.addMsg = newMsg;
},
closeChangeMachie(done) {
//弹出框关闭初始化弹框内表单
done();
this.resetForm("addMsg");
},
resetForm(formName) {
this.$refs[formName].resetFields();
}
}
};
</script>
\ No newline at end of file
......@@ -2739,6 +2739,21 @@ export default {
meta: {
title: '优惠券列表'
}
},
{
path: '/LuckyDraw',
name: 'LuckyDraw',
component: resolve => require(['@/components/activity/LuckyDraw'], resolve),
meta: {
title: '抽奖列表'
}
},{
path: '/awardList',
name: 'awardList',
component: resolve => require(['@/components/activity/awardList'], resolve),
meta: {
title: '奖项列表'
}
}
]
},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment