<template>
|
<div>
|
<div class="common-level-rail"><el-button size="small" type="primary" icon="el-icon-plus" @click="add">添加活动</el-button></div>
|
<div class="table-wrap">
|
<el-table :data="tableData" style="width: 100%" v-loading="loading">
|
<el-table-column prop="activity_id" label="活动ID" width="60"></el-table-column>
|
<el-table-column prop="image_id" label="封面图" width="80">
|
<template slot-scope="scope">
|
<img v-img-url="'image.file_path',scope.row" width="40" height="40" />
|
</template>
|
</el-table-column>
|
<el-table-column prop="name" label="活动标题" min-width="120">
|
<template slot-scope="{ row }">
|
<div>{{ row.name }}</div>
|
<el-tag size="small">{{ row.branch.name }}</el-tag>
|
</template>
|
</el-table-column>
|
<el-table-column prop="category.name" label="活动分类" width="120"></el-table-column>
|
<el-table-column prop="fee" label="活动费用" width="90"></el-table-column>
|
<el-table-column prop="limit_num" label="已报人数/总人数" width="120">
|
<template slot-scope="{ row }">
|
{{ row.total }}/{{ row.limit_num || '不限制' }}
|
</template>
|
</el-table-column>
|
<el-table-column prop="register_status" label="报名状态" width="100">
|
<template slot-scope="{ row }">
|
<el-tag :type="tagType(row.status_text.reg_status)">{{ row.status_text.reg_status_text }}</el-tag>
|
</template>
|
</el-table-column>
|
<el-table-column prop="activity_status" label="活动状态" width="100">
|
<template slot-scope="{ row }">
|
<el-tag :type="tagType(row.status_text.status)">{{ row.status_text.status_text }}</el-tag>
|
</template>
|
</el-table-column>
|
<el-table-column prop="create_time" label="创建时间" width="140"></el-table-column>
|
<el-table-column prop="status" label="是否显示" width="100">
|
<template slot-scope="scope">
|
<el-switch v-model="scope.row.status" :active-value="1" :inactive-value="0" active-text="显示" inactive-text="隐藏" :width="55" @change="statusSet($event, scope.row)"></el-switch>
|
</template>
|
</el-table-column>
|
<el-table-column prop="name" label="操作" width="180">
|
<template slot-scope="scope">
|
<el-button @click="onDetail(scope.row.activity_id, false)" type="text" size="small">查看</el-button>
|
<el-button @click="qrcode(scope.row)" type="text" size="small">核销码</el-button>
|
<el-button @click="onDetail(scope.row.activity_id, true)" type="text" size="small">编辑</el-button>
|
<el-button @click="onDelete(scope.row)" type="text" size="small">删除</el-button>
|
</template>
|
</el-table-column>
|
</el-table>
|
|
<!--分页-->
|
<div class="pagination">
|
<el-pagination
|
@size-change="handleSizeChange"
|
@current-change="handleCurrentChange"
|
background
|
:current-page="curPage"
|
:page-size="pageSize"
|
layout="total, prev, pager, next, jumper"
|
:total="totalDataNumber"
|
></el-pagination>
|
</div>
|
</div>
|
<!-- 活动详情 -->
|
<Detail ref="activityDetail" :open="open_detail" @getList="getTableList" @close="closeDrawerDetail"></Detail>
|
<!-- 核销码 -->
|
<Qrcode :open='isQrcode' :code_id='code_id' @close="closeQrcode"></Qrcode>
|
</div>
|
</template>
|
|
<script>
|
import BranchApi from '@/api/branch.js';
|
import Detail from './drawer/detail.vue';
|
import Qrcode from './dialog/Qrcode.vue';
|
export default {
|
components: {
|
Detail,
|
Qrcode
|
},
|
data() {
|
return {
|
/*分类*/
|
categoryData: [],
|
/*表单数据*/
|
tableData: [],
|
/*是否打开添加弹窗*/
|
open_add: false,
|
/*是否打开编辑弹窗*/
|
open_edit: false,
|
/*当前编辑的对象*/
|
userModel: {},
|
commentData: [],
|
loading: true,
|
/*一页多少条*/
|
pageSize: 20,
|
/*一共多少条数据*/
|
totalDataNumber: 0,
|
/*当前是第几页*/
|
curPage: 1,
|
tagTypeData: ['info', '', 'success'],
|
open_detail: false,
|
isQrcode: false,
|
code_id: '',
|
};
|
},
|
created() {
|
/*获取列表*/
|
this.getTableList();
|
},
|
methods: {
|
/*获取活动列表*/
|
getTableList() {
|
let self = this;
|
let Params = {};
|
Params.page = self.curPage;
|
Params.list_rows = self.pageSize;
|
BranchApi.activityList(Params, true)
|
.then(data => {
|
self.loading = false;
|
self.tableData = data.data.list.data;
|
self.totalDataNumber = data.data.list.total;
|
})
|
.catch(error => {
|
self.loading = false;
|
});
|
},
|
|
/*选择第几页*/
|
handleCurrentChange(val) {
|
let self = this;
|
self.curPage = val;
|
self.loading = true;
|
self.getTableList();
|
},
|
|
/*每页多少条*/
|
handleSizeChange(val) {
|
this.curPage = 1;
|
this.pageSize = val;
|
this.getTableList();
|
},
|
|
/*添加*/
|
add() {
|
this.$router.push({
|
path: '/branch/activity/add'
|
});
|
},
|
|
// 查看
|
onDetail(id, isEdit){
|
this.open_detail = true;
|
this.$refs.activityDetail.getDetail(id, isEdit)
|
},
|
|
// 详情抽屉关闭回调
|
closeDrawerDetail(e) {
|
this.open_detail = false;
|
if (e) {
|
this.getTableList();
|
}
|
},
|
|
/*删除*/
|
onDelete(e) {
|
let self = this;
|
self
|
.$confirm('此操作将永久删除该记录, 是否继续?', '提示', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning'
|
})
|
.then(() => {
|
self.loading = true;
|
BranchApi.deleteActivity(
|
{
|
activity_id: e.activity_id
|
},
|
true
|
)
|
.then(data => {
|
self.$message({
|
message: data.msg,
|
type: 'success'
|
});
|
self.loading = false;
|
self.getTableList();
|
})
|
.catch(error => {});
|
})
|
.catch(() => {});
|
},
|
|
/* 启用禁用*/
|
statusSet(state, row){
|
let self = this;
|
BranchApi.activityStatus({
|
activity_id: row.activity_id,
|
status: state
|
}).then(data => {
|
self.$message({
|
message: '操作成功',
|
type: 'success'
|
});
|
});
|
},
|
|
tagType(e) {
|
return this.tagTypeData[e];
|
},
|
|
qrcode(row){
|
this.code_id = row.activity_id;
|
this.isQrcode = true;
|
},
|
closeQrcode(){
|
this.isQrcode = false;
|
},
|
}
|
};
|
</script>
|
|
<style></style>
|