Commit 39ac1601 authored by 黄奎's avatar 黄奎
parents 49f70a73 9a2043ea
<template>
<div class="activityList">
<div class="el-card__header">
<span>活动管理</span>
<div style="display: flex;flex-direction: row;align-items: center">
<el-button type="primary" class="el-button--small" @click="addRecharge">新增</el-button>
</div>
</div>
<div class="content">
<div style="display: flex;flex-direction: row;align-items: center">
<div class="block">
<div class="searchInput" style="width:250px">
<el-input style="display:inline-block;width:225px;height:30px"
placeholder="请输入活动名称搜索"
v-model="msg.Title"
size="small"
@clear="getList"
@keyup.enter.native="getList"
clearable>
</el-input>
<span @click="getList" class="el-icon-search" style="color:#979dad;font-size:14px;position:relative;top:1px"></span>
</div>
<span>领奖方式</span>
<el-select class="w100" @change="getList()" style="margin-right: 10px;"
v-model="msg.PrizeType" size="small" placeholder="请选择">
<el-option label="不限" :value="0"></el-option>
<el-option v-for="item in platList" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option>
</el-select>
</div>
</div>
</div>
<div style="padding: 20px;background: #fff;">
<el-table
:data="tableData"
header-cell-class-name="headClass"
style="width: 100%"
border
>
<el-table-column
prop="ID"
label="ID"
width="100">
</el-table-column>
<el-table-column
prop="Title"
label="活动信息">
</el-table-column>
<el-table-column
prop="HeXiao"
label="活动时间">
<template slot-scope="scope">
<div flex="dir:left cross:center">
{{scope.row.StartDateStr}}
</div>
<div flex="dir:left cross:center">
{{scope.row.EndDateStr}}
</div>
</template>
</el-table-column>
<el-table-column
label="领奖方式"
prop="PrizeTypeStr">
</el-table-column>
<el-table-column
label="领奖地址"
prop="PrizeAddress">
</el-table-column>
<el-table-column
label="奖品说明"
prop="Description">
</el-table-column>
<el-table-column
label="问卷调查份数"
prop="SurveyNum">
</el-table-column>
<el-table-column
fixed="right"
label="操作"
width="180"
>
<template slot-scope="scope">
<el-tooltip class="item" effect="dark" content="查看" placement="top" >
<img src="../../assets/img/setup/send.png" alt="" class="imgstyle" @click="grant(scope.row)">
</el-tooltip>
<el-tooltip class="item" effect="dark" content="编辑" placement="top" >
<img src="../../assets/img/setup/edit.png" alt="" class="imgstyle" @click="Edit(scope.row)">
</el-tooltip>
<el-tooltip class="item" effect="dark" content="删除" placement="top" >
<img src="../../assets/img/setup/del.png" alt="" class="imgstyle" @click="delete_b(scope.row)">
</el-tooltip>
</template>
</el-table-column>
</el-table>
<el-pagination style="text-align:right"
background
@current-change="handleCurrentChange"
:page-size="msg.pageSize"
layout="prev, pager, next"
:current-page.sync="msg.pageIndex"
:total="count">
</el-pagination>
</div>
</div>
</template>
<script>
export default {
name: "activityList",
data(){
return{
msg:{
pageIndex:1,
pageSize:20,
PrizeType:0,
Title:'',
},
tableData:[],
count:0,
loading:false,
platList:[],
}
},
created(){
this.getDateList();
this.GetPrizeTypeEnumList()
},
methods:{
getDateList(){
this.loading=true;
this.apipost("/api/Survey/GetActivitySurveyPageList", this.msg, res => {
this.loading=false;
if(res.data.resultCode==1){
this.tableData = res.data.data.pageData;
this.count = res.data.data.count;
}else {
this.Info(res.data.message);
}
})
},
GetPrizeTypeEnumList(){
this.apipost("/api/Survey/GetPrizeTypeEnumList", {}, res => {
if(res.data.resultCode==1){
this.platList = res.data.data
}else {
this.Info(res.data.message);
}
})
},
addRecharge(){
this.$router.push('/addActivity');
},
grant(row){
this.$router.push({
name: 'questionnaireList',
query: {
ID:row.ID,
blank: "y"
}
});
},
Edit(row){
this.$router.push({
name: 'addActivity',
query: {
ID:row.ID,
blank: "y"
}
});
},
delete_b(row){
let that=this;
that.Confirm("是否删除?", function () {
that.apipost(
"/api/Survey/DelActivitySurvey",
{ID:row.ID},
res => {
if (res.data.resultCode == 1) {
that.Success(res.data.message);
that.getDateList();
} else {
that.Error(res.data.message);
}
},
);
});
},
SetUp(){
this.$router.push('/rechargeSet');
},
getList(){
this.msg.pageIndex = 1
this.getDateList()
},
dianswitch(row){
this.apipost("/api/Education/UpdatePickupType", {'Id':row.ID}, res => {
if(res.data.resultCode==1){
this.Success(res.data.message);
}else {
this.Info(res.data.message);
}
})
},
handleCurrentChange(val) {
this.msg.pageIndex = val;
this.getDateList();
},
},
}
</script>
<style >
.activityList .el-card__header{
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
background: #fff;
}
.activityList .el-button--small{
padding: 9px 15px;
}
.activityList .content .searchInput{
border: 1px solid #DCDFE6;
border-radius: 4px;
margin-left: 20px;
}
.activityList .content .searchInput .el-input__inner{
border:none;outline:none;
height: 30px;
line-height: 30px;
}
.activityList .content .searchInput{
line-height: normal;
display: inline-table;
border-collapse: separate;
border-spacing: 0;
width:250px;
}
.activityList .content{
background: #fff;
margin-top:10px;
padding: 15px;
box-sizing: border-box;
}
.activityList .app-image{
background-position: center center;
width: 50px;
height: 50px;
border-radius:0%;
float: left;
margin-right: 8px;
}
</style>
<template>
<div v-loading="loading" class="addActivity">
<div class="head-title">
<span @click="CommonJump('activityList')" class="blue point">活动管理</span> / 编辑活动管理
</div>
<div class="content">
<el-form :model="addMsg" :rules="rules" ref="addMsg" label-width="150px" style="width:50%">
<el-form-item label="领奖方式" size="small" class="is-required">
<el-radio-group v-model="addMsg.PrizeType">
<el-radio :label="x.Id" v-for="(x,y) in platList" :key="y">{{x.Name}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="标题" prop="Title" class="is-required" size="small">
<el-input v-model="addMsg.Title" placeholder="请输入标题" class="w400"/>
</el-form-item>
<el-form-item label="问卷调查份数" prop="SurveyNum" class="is-required" size="small">
<el-input v-model="addMsg.SurveyNum" placeholder="请输入问卷调查份数" type="number" :min="0" class="w400"/>
</el-form-item>
<el-form-item label="活动时间" class="is-required">
<el-date-picker v-model="dateList" size="small" type="datetimerange"
range-separator="至" value-format="yyyy-MM-dd HH:mm:ss" start-placeholder="开始日期" end-placeholder="结束日期">
</el-date-picker>
</el-form-item>
<el-form-item label="奖品地址" prop="PrizeAddress" class="is-required" size="small">
<el-input v-model="addMsg.PrizeAddress" placeholder="请输入奖品地址" class="w400"/>
</el-form-item>
<el-form-item label="活动说明" prop="Description" class="is-required" size="small">
<el-input v-model="addMsg.Description" placeholder="请输入奖品说明" type="textarea" class="w400"/>
</el-form-item>
</el-form>
</div>
<div style="margin-top:20px">
<el-button size="small" type="primary" @click="Save('addMsg')">保存</el-button>
</div>
</div>
</template>
<script>
export default {
components: {
},
data() {
return {
addMsg: {
ID: 0,
Title:'',
StartDate:'',
EndDate:"",
SurveyNum:0,
Description:'',
PrizeAddress:'',
PrizeType:'0',
},
rules: {
Title: [{
required: true,
message: '请输入标题',
trigger: 'blur'
}],
SurveyNum: [{
required: true,
message: '请输入问卷调查份数',
trigger: 'blur'
}],
Description: [{
required: true,
message: '请输入奖品说明',
trigger: 'blur'
}],
PrizeAddress: [{
required: true,
message: '请输入奖品地址',
trigger: 'blur'
}],
},
platList:[],
dateList:[],
loading: false,
};
},
created() {
if(this.$route.query.ID){
this.getData(this.$route.query.ID)
}
this.GetPrizeTypeEnumList()
},
methods: {
Save(formName) {
this.$refs[formName].validate((valid) => {
if (valid) {
if(this.addMsg.PrizeType==0 ){
this.Error('请选择奖品领取类型')
return false
}
if (this.dateList && this.dateList.length > 0) {
this.addMsg.StartDate = this.dateList[0];
this.addMsg.EndDate = this.dateList[1];
} else {
this.Error('请选择活动时间')
return false
}
this.apipost("/api/Survey/SetActivitySurvey", this.addMsg, res => {
if (res.data.resultCode == 1) {
this.CommonJump('activityList');
this.Success(res.data.message);
} else {
this.Error(res.data.message);
}
})
} else {
return false;
}
});
},
GetPrizeTypeEnumList(){
this.apipost("/api/Survey/GetPrizeTypeEnumList", {}, res => {
if(res.data.resultCode==1){
this.platList = res.data.data
}else {
this.Info(res.data.message);
}
})
},
getData(ID) {
this.loading = true;
this.apipost("/api/Survey/GetActivitySurvey", {
ID: ID
}, res => {
this.loading = false;
this.addMsg = res.data.data;
this.addMsg.PrizeType = this.addMsg.PrizeType.toString()
this.dateList = [this.addMsg.StartDate,this.addMsg.EndDate]
})
},
},
mounted() {
}
};
</script>
<style>
.app-add-cat .el-checkbox-group {
font-size: 14px !important;
}
.app-add-cat .el-checkbox {
margin-right: 0;
}
.app-add-cat .el-dialog__body {
padding: 10px 20px !important;
}
.app-add-cat .tag-box .tag-item {
margin-right: 5px;
}
.app-add-cat .tag-box {
margin: 20px 0;
}
.app-add-cat .app-goods-cat-list .active {
background: #FAFAFA;
}
.app-add-cat .app-goods-cat-list .cat-item {
cursor: pointer;
padding: 5px 10px;
}
.app-add-cat .app-goods-cat-list {
border: 1px solid #E8EAEE;
border-radius: 5px;
margin-top: -5px;
padding: 10px 0;
overflow: scroll;
height: 400px;
}
.addActivity .blue {
color: #409EFF;
}
.addActivity .content {
background: #fff;
margin-top: 10px;
padding: 20px;
box-sizing: border-box;
}
.addActivity .gez_list{
/*width: 650px;*/
margin-bottom: 12px;
padding: 20px;
border: 1px solid #EBEEF5;
background-color: #FFF;
color: #303133;
}
.addActivity .quyu{
background-color: #f4f4f5;
color: #909399;
padding: 10px;
line-height: 30px;
height: 30px;
font-size: 12px;
border-radius: 4px;
white-space: nowrap;
margin: 5px;
}
.addActivity .el-tag + .el-tag {
margin-left: 10px;
}
.addActivity .button-new-tag {
margin-left: 10px;
height: 32px;
line-height: 30px;
padding-top: 0;
padding-bottom: 0;
}
.addActivity .input-new-tag {
width: 90px;
margin-left: 10px;
vertical-align: bottom;
}
</style>
......@@ -190,6 +190,9 @@
<li class="menu_item" :class="{'Fchecked':isChecked=='/uploadKCSet'}" @click="isChecked='/uploadKCSet',CommonJump('uploadKCSet')">
<i class="el-icon-menu"></i><span>上传配置</span>
</li>
<li class="menu_item" :class="{'Fchecked':isChecked=='/activityList'}" @click="isChecked='/activityList',CommonJump('activityList')">
<i class="el-icon-menu"></i><span>活动列表</span>
</li>
</ul>
</div>
</div>
......
This diff is collapsed.
......@@ -361,6 +361,24 @@ export default new Router({
path: '/uploadKCSet',
name: 'uploadKCSet',
component: resolve => require(['@/components/education/uploadKCSet'], resolve),
},
//网课 活动页面
{
path: '/activityList',
name: 'activityList',
component: resolve => require(['@/components/education/activityList'], resolve),
},
//网课 新增活动
{
path: '/addActivity',
name: 'addActivity',
component: resolve => require(['@/components/education/addActivity'], resolve),
},
//网课 问卷列表
{
path: '/questionnaireList',
name: 'questionnaireList',
component: resolve => require(['@/components/education/questionnaireList'], resolve),
}
]
},
......
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