<!DOCTYPE HTML>
|
<html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml">
|
<head>
|
<meta charset="utf-8">
|
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
|
<meta name="renderer" content="webkit|ie-comp|ie-stand">
|
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
<meta name="viewport"
|
content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
|
<meta http-equiv="Cache-Control" content="no-siteapp"/>
|
<!-- 本框架基本脚本和样式 -->
|
<script type="text/javascript" th:src="@{/js/systools/MBaseVue.js}"></script>
|
<link rel="stylesheet" th:href="@{/plugin/element-ui/index.css}">
|
<link rel="stylesheet" th:href="@{/plugin/bootstrap-3.3.5/css/bootstrap.min.css}">
|
<link th:href="@{/css/styleOne/style.min.css}" rel="stylesheet" type="text/css"/>
|
|
<!-- 富文本编辑器 -->
|
<script type="text/javascript" charset="utf-8"
|
th:src="@{/plugin/beditor/ueditor.config.js}"></script>
|
<script type="text/javascript" charset="utf-8"
|
th:src="@{/plugin/beditor/ueditor.all.js}">
|
</script>
|
<script type="text/javascript" charset="utf-8"
|
th:src="@{/plugin/beditor/lang/zh-cn/zh-cn.js}"></script>
|
<style>
|
.panel-body{
|
overflow: hidden;
|
}
|
.paginationStyle{
|
background: #ffffff;
|
padding: 10px 10px;
|
margin: 0px 0px 10px 0px;
|
text-align: right;
|
}
|
</style>
|
</head>
|
|
<body>
|
<div class="panel-body" id="app" v-cloak>
|
<el-row>
|
<el-row justify="space-between" type="flex">
|
<el-col>
|
<el-form ref="form" :model="form" inline >
|
<el-form-item prop="hdmc" >
|
<el-input v-model="form.hdmc" placeholder="活动名称"></el-input>
|
</el-form-item>
|
<el-form-item label="活动状态" prop="hdzt">
|
<el-select v-model="form.hdzt" placeholder="活动状态">
|
<el-option
|
v-for="item in hdztList"
|
:key="item.value"
|
:label="item.label"
|
:value="item.value"
|
>
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-button type="primary" @click="searchFormActivitys" >搜索</el-button>
|
<el-button @click="resetFormActivitys('form')">重置</el-button>
|
</el-form>
|
</el-col>
|
</el-row>
|
|
<el-row class="table-style" >
|
<el-table ref="multipleTable"
|
:data="activitysList.rows"
|
:height="height"
|
stripe:true
|
@sort-change="sortChange"
|
@selection-change="handleSelectionChange">
|
<el-table-column
|
type="selection">
|
</el-table-column>
|
<el-table-column
|
prop="actName"
|
label="活动名称"
|
show-overflow-tooltip>
|
</el-table-column>
|
<el-table-column
|
prop="actCode"
|
label="活动编号"
|
show-overflow-tooltip>
|
</el-table-column>
|
<el-table-column
|
label="活动类型">
|
<template slot-scope="scope">
|
<span v-if="scope.row.actType == 1">团购</span>
|
<span v-if="scope.row.actType == 2">秒杀</span>
|
<span v-if="scope.row.actType == 3">沙龙</span>
|
<span v-if="scope.row.actType == 4">每日签到</span>
|
</template>
|
</el-table-column>
|
<el-table-column
|
label="状态">
|
<template slot-scope="scope">
|
|
<div v-if="scope.row.actType == 4">
|
<span v-if="scope.row.actStatus == 1">未发布</span>
|
</div>
|
<div v-if="scope.row.actType != 4">
|
<span v-if="scope.row.actStatus == 1">开启</span>
|
</div>
|
<div v-if="scope.row.actType == 4">
|
<span v-if="scope.row.actStatus == 2">未开始</span>
|
</div>
|
<div v-if="scope.row.actType != 4">
|
<span v-if="scope.row.actStatus == 2">关闭</span>
|
</div>
|
<span v-if="scope.row.actStatus == 3">进行中</span>
|
<span v-if="scope.row.actStatus == 4">已结束</span>
|
<span v-if="scope.row.actStatus == 5">已删除</span>
|
</template>
|
</el-table-column>
|
<el-table-column
|
prop="actBeginTime"
|
label="开始时间"
|
show-overflow-tooltip>
|
</el-table-column>
|
<el-table-column
|
prop="actEndTime"
|
label="结束时间"
|
show-overflow-tooltip>
|
</el-table-column>
|
<el-table-column
|
prop="createBy"
|
label="创建人"
|
show-overflow-tooltip>
|
</el-table-column>
|
<el-table-column
|
prop="actRemark"
|
label="备注"
|
show-overflow-tooltip>
|
</el-table-column>
|
<el-table-column label="操作" width="400">
|
<template slot-scope="scope">
|
<el-row style="display:flex;" v-if="scope.row.actType == 4">
|
<el-button type="primary" v-if="scope.row.actStatus == 1" size="mini" @click="beReady(scope.row)">发布</el-button>
|
<el-button type="primary" v-if="[1,2,3].includes(scope.row.actStatus)" @click="beUpdate(scope.row)" size="mini">修改</el-button>
|
<el-button type="primary" v-if="scope.row.actStatus == 3" size="mini">推广</el-button>
|
<el-button type="primary" v-if="[3,4,5].includes(scope.row.actStatus)" @click="openSignReceive(scope.row)" size="mini">活动统计</el-button>
|
<el-button type="primary" v-if="scope.row.actStatus == 3" @click="beClose(scope.row)" size="mini">关闭</el-button>
|
<el-button type="danger" v-if="scope.row.actStatus != 5" size="mini" @click="delRow(scope.row)">删除</el-button>
|
</el-row>
|
<el-row style="display:flex;" v-if="scope.row.actType != 4">
|
<el-button type="primary" @click="openEdit(scope.row)" size="mini">编辑</el-button>
|
<el-button type="primary" @click="activityStatistics(scope.row)" size="mini">活动统计</el-button>
|
<el-button type="primary" @click="closeAct(scope.row)" size="mini">关闭</el-button>
|
<el-button type="danger" @click="delAct(scope.row)" size="mini">删除</el-button>
|
</el-row>
|
</template>
|
</el-table-column>
|
</el-table>
|
</el-row>
|
<el-row class="paginationStyle" >
|
<el-pagination background
|
@size-change="changePageSizeActivitys"
|
@current-change="changeCurrentPageActivitys"
|
:current-page="activitysList.currentPage"
|
:page-sizes="[10, 20, 30, 50]"
|
:page-size="activitysList.pageSize"
|
layout="total, sizes, prev, pager, next, jumper"
|
:total="activitysList.total">
|
</el-pagination>
|
</el-row>
|
</el-row>
|
</div>
|
</body>
|
<script type="text/javascript" th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script>
|
<script type="text/javascript" th:src="@{/js/plugin/jquery.query.js}"></script>
|
<script type="text/javascript" th:src="@{/plugin/bootstrap-3.3.5/js/bootstrap.min.js}"></script>
|
<script type="text/javascript" th:src="@{/js/systools/AjaxProxyVue.js}"></script>
|
<script type="text/javascript" th:src="@{/js/plugin/vue.js}"></script>
|
<script type="text/javascript" th:src="@{/plugin/element-ui/index.js}"></script>
|
<script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script>
|
<script type="text/javascript" th:src="@{/plugin/layer/layer.js}"></script>
|
<script type="text/javascript" th:src="@{/plugin/moment.min.js}"></script>
|
|
<script>
|
var app = new Vue({
|
el: '#app',
|
data: {
|
height:'calc(100vh - 200px)',
|
// 条件查询
|
hdztList:[
|
{value:'',label:'全部'},
|
{value:1,label:'未发布'},
|
{value:2,label:'未开始'},
|
{value:3,label:'进行中'},
|
{value:4,label:'已结束'},
|
{value:5,label:'已删除'},
|
],
|
form:{
|
hdmc:'',
|
hdzt:'',
|
order:'',
|
sort:''
|
},
|
//活动列表
|
activitysList:{
|
rows:[],
|
total:0,
|
pageSize:10,
|
currentPage:1,
|
},
|
},
|
created: function () {
|
this.loadInfo();
|
},
|
mounted: function () {
|
},
|
methods: {
|
//加载分类
|
loadInfo() {
|
let _this = this;
|
_this.loadActivitysList();
|
},
|
//删除
|
delAct(row){
|
let _this = this;
|
_this.$confirm('确认删除活动吗?', '删除', {
|
distinguishCancelAndClose: true,//设置关闭按钮和不通过按钮的区别
|
confirmButtonText: '确认',
|
cancelButtonText: '取消',
|
type: 'info'
|
}).then(() => {
|
//通过
|
let id = row.id;
|
$.AjaxProxy().invoke(basePath + "/admin/shopActivities/del?keys="+id, function(loj) {
|
if (loj[0].result.status == '200') {
|
_this.loadActivitysList();
|
}
|
});
|
}).catch(action => {
|
//不通过
|
if(action === 'cancel'){
|
console.log("cancel");
|
}else{
|
//关闭按钮
|
console.log("close");
|
}
|
});
|
},
|
//关闭
|
closeAct(row){
|
let _this = this;
|
_this.$confirm('确认关闭活动吗?', '关闭', {
|
distinguishCancelAndClose: true,//设置关闭按钮和不通过按钮的区别
|
confirmButtonText: '确认',
|
cancelButtonText: '取消',
|
type: 'info'
|
}).then(() => {
|
//通过
|
let id = row.id;
|
$.AjaxProxy().invoke(basePath + "/admin/shopActivities/closeAct?id="+id, function(loj) {
|
if (loj[0].result.status == '200') {
|
layer.msg(loj[0].result.info, {
|
icon: 1
|
});
|
}
|
});
|
_this.loadActivitysList();
|
}).catch(action => {
|
//不通过
|
if(action === 'cancel'){
|
console.log("cancel");
|
}else{
|
//关闭按钮
|
console.log("close");
|
}
|
});
|
},
|
// 活动统计
|
activityStatistics(row) {
|
let type = row.actType;
|
let id = row.id;
|
let name = row.actName;
|
console.log("-------");
|
if (type == 2) {
|
layer.full(layer.open({
|
type : 2,
|
title : name + "-活动统计",
|
area : [ MUI.SIZE_L, MUI.SIZE_L ],
|
maxmin : true,
|
content : [ basePath+'/admin/redirect/shop/activities/shopActivitiesSecKill-list?id=' + id]
|
}));
|
}
|
|
if (type == 1) {
|
layer.full(layer.open({
|
type : 2,
|
title : name + "-活动统计",
|
area : [ MUI.SIZE_L, MUI.SIZE_L ],
|
maxmin : true,
|
content : [ basePath+'/admin/redirect/shop/activities/shopActivitiesGroupBuy-list?id=' + id]
|
}));
|
}
|
|
if (type == 3) {
|
layer.full(layer.open({
|
type : 2,
|
title : name + "-活动统计",
|
area : [ MUI.SIZE_L, MUI.SIZE_L ],
|
maxmin : true,
|
content : [ basePath+'/admin/redirect/shop/activities/shopActivitiesSalon-list?id=' + id]
|
}));
|
}
|
},
|
//打开编辑界面
|
openEdit(row) {
|
let type = row.actType;
|
let id = row.id;
|
if (type == 1) {
|
layer.full(layer.open({
|
type : 2,
|
title : "编辑拼团",
|
area : [ MUI.SIZE_L, MUI.SIZE_L ],
|
maxmin : true,
|
content : [ basePath+'/admin/redirect/shop/activities/activitiesGroupBuy-form?id=' + id]
|
}));
|
} else if (type == 2) {
|
layer.full(layer.open({
|
type : 2,
|
title : "编辑秒杀",
|
area : [ MUI.SIZE_L, MUI.SIZE_L ],
|
maxmin : true,
|
content : [ basePath+'/admin/redirect/shop/activities/activitiesSecKill-form?id=' + id]
|
}));
|
} else if (type == 3) {
|
layer.full(layer.open({
|
type : 2,
|
title : "编辑沙龙",
|
area : [ MUI.SIZE_L, MUI.SIZE_L ],
|
maxmin : true,
|
content : [ basePath+'/admin/redirect/shop/activities/activitiesSalon-form?id=' + id]
|
}));
|
}
|
},
|
//修改
|
beUpdate(row){
|
layer.full(layer.open({
|
type: 2,
|
title: "修改",
|
maxmin: true,
|
area: [MUI.SIZE_L, '500px'],
|
content : [ basePath + '/admin/redirect/activity/activity-sign-update?actId=' + row.id]
|
}));
|
},
|
//活动统计
|
openSignReceive(row){
|
layer.full(layer.open({
|
type: 2,
|
title: "活动统计",
|
maxmin: true,
|
area: [MUI.SIZE_L, '500px'],
|
content : [ basePath + '/admin/redirect/activity/activity-sign-receive?actId=' + row.id]
|
}));
|
},
|
//发布
|
beReady(row){
|
let _this = this;
|
let actState = row.actStatus;
|
if(actState !== 1){
|
this.$notify({
|
title: '提示',
|
message: '状态为【未发布】才能发布',
|
type: 'warning'
|
});
|
}
|
_this.$confirm('确认发布活动吗?', '发布', {
|
distinguishCancelAndClose: true,//设置关闭按钮和不通过按钮的区别
|
confirmButtonText: '确认',
|
cancelButtonText: '取消',
|
type: 'info'
|
}).then(() => {
|
//通过
|
let id = row.id;
|
let obj = {
|
actId: id,
|
}
|
AjaxProxy.requst({
|
app: _this,
|
data:obj,
|
url: basePath + '/admin/activitySignAwardSet/beReady',
|
callback: function (data) {
|
_this.$message.success(data.info);
|
_this.loadActivitysList();
|
}
|
});
|
}).catch(action => {
|
//不通过
|
if(action === 'cancel'){
|
console.log("cancel");
|
}else{
|
//关闭按钮
|
console.log("close");
|
}
|
});
|
},
|
//关闭
|
beClose(row){
|
let _this = this;
|
_this.$confirm('确认关闭活动吗?', '关闭', {
|
distinguishCancelAndClose: true,//设置关闭按钮和不通过按钮的区别
|
confirmButtonText: '确认',
|
cancelButtonText: '取消',
|
type: 'info'
|
}).then(() => {
|
//通过
|
let id = row.id;
|
let obj = {
|
actId: id,
|
}
|
AjaxProxy.requst({
|
app: _this,
|
data:obj,
|
url: basePath + '/admin/activitySignAwardSet/beClose',
|
callback: function (data) {
|
_this.$message.success(data.info);
|
_this.loadActivitysList();
|
}
|
});
|
}).catch(action => {
|
//不通过
|
if(action === 'cancel'){
|
console.log("cancel");
|
}else{
|
//关闭按钮
|
console.log("close");
|
}
|
});
|
},
|
//删除
|
delRow(row){
|
let _this = this;
|
_this.$confirm('确认删除活动吗?', '删除', {
|
distinguishCancelAndClose: true,//设置关闭按钮和不通过按钮的区别
|
confirmButtonText: '确认',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(() => {
|
//通过
|
let id = row.id;
|
let obj = {
|
actId: id,
|
}
|
AjaxProxy.requst({
|
app: _this,
|
data:obj,
|
url: basePath + '/admin/activitySignAwardSet/delRow',
|
callback: function (data) {
|
_this.$message.success(data.info);
|
_this.loadActivitysList();
|
}
|
});
|
}).catch(action => {
|
//不通过
|
if(action === 'cancel'){
|
console.log("cancel");
|
}else{
|
//关闭按钮
|
console.log("close");
|
}
|
});
|
},
|
|
//--活动列表
|
loadActivitysList() {
|
let _this = this;
|
let data=_this.getRequestParamActivitys();
|
data.pageSize=_this.activitysList.pageSize;
|
data.pageNum=_this.activitysList.currentPage;
|
AjaxProxy.requst({
|
app: _this,
|
data:data,
|
url: basePath + '/admin/activitySignAwardSet/findActivitiesList',
|
callback: function (data) {
|
_this.activitysList.rows = data.rows;
|
_this.activitysList.total = data.total;
|
}
|
});
|
},//查询参数
|
getRequestParamActivitys(){
|
let _this = this;
|
return {
|
hdmc:_this.form.hdmc,
|
hdzt:_this.form.hdzt,
|
order:_this.form.order,
|
sort:_this.form.sort,
|
}
|
},
|
//查询
|
searchFormActivitys:function(){
|
this.activitysList.currentPage=1;
|
this.loadActivitysList();
|
},
|
//重置
|
resetFormActivitys(formName) {
|
this.$refs[formName].resetFields();
|
},
|
changePageSizeActivitys(val) {
|
this.activitysList.pageSize = val;
|
this.loadActivitysList();
|
},
|
changeCurrentPageActivitys(val) {
|
this.activitysList.currentPage = val;
|
this.loadActivitysList();
|
},
|
//排序
|
sortChange:function (column){
|
if(column.order){
|
if(column.order.indexOf("desc")){
|
this.form.order="desc";
|
}else{
|
this.form.order="asc";
|
}
|
this.form.sort=column.prop;
|
this.loadInfo();
|
}
|
},
|
//选择
|
handleSelectionChange(val) {
|
let _this = this;
|
_this.multipleSelection = val;
|
},
|
}
|
})
|
</script>
|
|
</body>
|
</html>
|