You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
227 lines
5.5 KiB
227 lines
5.5 KiB
<template> |
|
<div class="group-page"> |
|
<div class="toolbar"> |
|
<el-button |
|
type="primary" |
|
size="mini" |
|
|
|
@click="getActivityTweetsList" |
|
icon="el-icon-zoom-in" |
|
> |
|
查询 |
|
</el-button> |
|
<el-button type="warning" size="mini" @click="reset" icon="el-icon-refresh-right"> |
|
重置 |
|
</el-button> |
|
<el-button |
|
type="goon" |
|
size="mini" |
|
@click="addGroup" |
|
icon="el-icon-circle-plus-outline" |
|
> |
|
新增 |
|
</el-button> |
|
</div> |
|
<div class="group-content"> |
|
<el-table |
|
id="tables" |
|
:data="tableData.list" |
|
style="width: 100%" |
|
v-loading="loading" |
|
row-key="id" |
|
> |
|
<el-table-column |
|
prop="mainTitle" |
|
label="活动标题" |
|
align="center" |
|
width="200" |
|
></el-table-column> |
|
<el-table-column |
|
prop="viceTitle" |
|
label="活动简介" |
|
align="center" |
|
width="200" |
|
></el-table-column> |
|
<!-- <el-table-column |
|
prop="coverImg" |
|
label="活动封面图" |
|
align="center" |
|
width="200" |
|
> |
|
<template slot-scope="scope"> |
|
<img |
|
v-if="scope.row.coverImg" |
|
:src="scope.row.coverImg" |
|
class="avatar" |
|
width="80" |
|
height="80" |
|
/> |
|
</template> |
|
</el-table-column> --> |
|
<el-table-column |
|
prop="createTime" |
|
label="发布时间" |
|
align="center" |
|
width="200" |
|
></el-table-column> |
|
<el-table-column |
|
prop="storeName" |
|
label="发布人(平台)" |
|
align="center" |
|
width="200" |
|
></el-table-column> |
|
<!-- <el-table-column |
|
prop="updateTime" |
|
label="最后修改时间" |
|
align="center" |
|
width="200" |
|
></el-table-column> --> |
|
<el-table-column label="操作" align="center"> |
|
<template slot-scope="scope"> |
|
<el-button |
|
type="text" |
|
size="small" |
|
@click.native.prevent="editGroup(scope.row)" |
|
> |
|
编辑 |
|
</el-button> |
|
<el-button |
|
type="text" |
|
size="small" |
|
@click.native.prevent="deleteGroup(scope.row)" |
|
> |
|
删除 |
|
</el-button> |
|
</template> |
|
</el-table-column> |
|
</el-table> |
|
</div> |
|
<pagination |
|
v-show="tableData.total > 0" |
|
:limit.sync="formParams.pageSize" |
|
:page.sync="formParams.pageNum" |
|
:total="Number(tableData.total)" |
|
@pagination="fetch" |
|
/> |
|
<grope-edit |
|
ref="edit" |
|
:dialog-visible="dialog.isVisible" |
|
:type="dialog.type" |
|
@close="editClose" |
|
@success="getActivityTweetsList" |
|
/> |
|
</div> |
|
</template> |
|
<script> |
|
import ActivityTweets from '@/api/ActivityTweets' |
|
import GropeEdit from './Edit' |
|
import Pagination from '@/components/Pagination' |
|
import db from '@/utils/localstorage' |
|
export default { |
|
name: 'ActivityTweets', |
|
components: { |
|
GropeEdit, |
|
Pagination, |
|
}, |
|
data() { |
|
return { |
|
loading: true, |
|
formParams: { |
|
"pageNum": 1, |
|
"pageSize": 10, |
|
"searchKey": "", |
|
"type": 2, |
|
state: '' |
|
}, |
|
dialog: { |
|
type: 'add', |
|
isVisible: false, |
|
}, |
|
tableData: [], |
|
} |
|
}, |
|
created() { |
|
this.getActivityTweetsList() |
|
}, |
|
mounted(){ |
|
}, |
|
methods: { |
|
async getActivityTweetsList() { |
|
this.loading = true |
|
const res = await ActivityTweets.page(this.formParams) |
|
const resData = res.data |
|
const { code } = resData |
|
if (code === 0) { |
|
this.tableData = resData.data |
|
this.loading = false |
|
console.log(this.tableData,'this.tableData') |
|
} |
|
}, |
|
fetch() { |
|
this.getActivityTweetsList() |
|
}, |
|
reset() { |
|
this.getActivityTweetsList() |
|
}, |
|
addGroup() { |
|
this.dialog = { |
|
type: 'add', |
|
isVisible: true, |
|
} |
|
this.$refs.edit.setParams(null) |
|
}, |
|
editClose() { |
|
this.dialog.isVisible = false |
|
}, |
|
editGroup(row) { |
|
const {id, mainTitle, viceTitle, coverImg, startTime, endTime, content, state} = row |
|
this.dialog = { |
|
type: 'edit', |
|
isVisible: true, |
|
} |
|
this.$refs.edit.setParams(row) |
|
}, |
|
async delete(params) { |
|
const res = await ActivityTweets.delete(params) |
|
const resData = res.data |
|
const { code } = resData |
|
if (code === 0) { |
|
this.$message({ |
|
message: this.$t('tips.deleteSuccess'), |
|
type: 'success', |
|
}) |
|
this.getActivityTweetsList() |
|
} |
|
}, |
|
deleteGroup(row) { |
|
const { id } = row |
|
this.$confirm(this.$t('tips.confirmDelete'), this.$t('common.tips'), { |
|
confirmButtonText: this.$t('common.confirm'), |
|
cancelButtonText: this.$t('common.cancel'), |
|
type: 'warning', |
|
}) |
|
.then(() => { |
|
this.delete({ |
|
id, |
|
}) |
|
}) |
|
.catch(() => {}) |
|
}, |
|
}, |
|
} |
|
</script> |
|
<style lang="less" scoped> |
|
.group-page { |
|
padding: 15px 20px; |
|
.toolbar { |
|
margin-bottom: 20px; |
|
text-align: left; |
|
.el-input{ |
|
margin-right: 10px !important; |
|
} |
|
.group-name { |
|
width: 180px; |
|
} |
|
} |
|
} |
|
</style>
|
|
|