New file |
| | |
| | | <!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> |