|
@@ -3,18 +3,24 @@
|
|
|
|
|
|
|
|
<!-- 查询和其他操作 -->
|
|
<!-- 查询和其他操作 -->
|
|
|
<div class="filter-container">
|
|
<div class="filter-container">
|
|
|
- <el-input v-model="listQuery.title" clearable class="filter-item" style="width: 200px;" placeholder="请输入专题标题"/>
|
|
|
|
|
- <el-input v-model="listQuery.subtitle" clearable class="filter-item" style="width: 200px;" placeholder="请输入专题子标题"/>
|
|
|
|
|
|
|
+ <el-input v-model="listQuery.title" clearable class="filter-item" style="width: 200px;" placeholder="请输入专题标题" />
|
|
|
|
|
+ <el-input v-model="listQuery.subtitle" clearable class="filter-item" style="width: 200px;" placeholder="请输入专题子标题" />
|
|
|
<el-button v-permission="['GET /admin/topic/list']" class="filter-item" type="primary" icon="el-icon-search" @click="handleFilter">查找</el-button>
|
|
<el-button v-permission="['GET /admin/topic/list']" class="filter-item" type="primary" icon="el-icon-search" @click="handleFilter">查找</el-button>
|
|
|
<el-button v-permission="['POST /admin/topic/create']" class="filter-item" type="primary" icon="el-icon-edit" @click="handleCreate">添加</el-button>
|
|
<el-button v-permission="['POST /admin/topic/create']" class="filter-item" type="primary" icon="el-icon-edit" @click="handleCreate">添加</el-button>
|
|
|
<el-button :loading="downloadLoading" class="filter-item" type="primary" icon="el-icon-download" @click="handleDownload">导出</el-button>
|
|
<el-button :loading="downloadLoading" class="filter-item" type="primary" icon="el-icon-download" @click="handleDownload">导出</el-button>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
+ <div class="operator-container">
|
|
|
|
|
+ <el-button v-permission="['GET /admin/topic/list']" class="filter-item" type="danger" icon="el-icon-delete" @click="handleBatchDelete">批量删除</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
<!-- 查询结果 -->
|
|
<!-- 查询结果 -->
|
|
|
- <el-table v-loading="listLoading" :data="list" element-loading-text="正在查询中。。。" border fit highlight-current-row>
|
|
|
|
|
- <el-table-column align="center" label="专题标题" prop="title"/>
|
|
|
|
|
|
|
+ <el-table v-loading="listLoading" :data="list" element-loading-text="正在查询中。。。" border fit highlight-current-row @selection-change="handleSelectionChange">
|
|
|
|
|
+ <el-table-column type="selection" width="55" />
|
|
|
|
|
+
|
|
|
|
|
+ <el-table-column align="center" label="专题标题" prop="title" />
|
|
|
|
|
|
|
|
- <el-table-column align="center" label="专题子标题" min-width="200" prop="subtitle"/>
|
|
|
|
|
|
|
+ <el-table-column align="center" label="专题子标题" min-width="200" prop="subtitle" />
|
|
|
|
|
|
|
|
<el-table-column align="center" property="picUrl" label="图片">
|
|
<el-table-column align="center" property="picUrl" label="图片">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
@@ -25,15 +31,15 @@
|
|
|
<el-table-column align="center" label="专题详情" prop="content">
|
|
<el-table-column align="center" label="专题详情" prop="content">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
<el-dialog :visible.sync="contentDialogVisible" title="专题详情">
|
|
<el-dialog :visible.sync="contentDialogVisible" title="专题详情">
|
|
|
- <div v-html="contentDetail"/>
|
|
|
|
|
|
|
+ <div v-html="contentDetail" />
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
|
<el-button type="primary" size="mini" @click="showContent(scope.row.content)">查看</el-button>
|
|
<el-button type="primary" size="mini" @click="showContent(scope.row.content)">查看</el-button>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
|
|
|
|
|
|
- <el-table-column align="center" label="底价" prop="price"/>
|
|
|
|
|
|
|
+ <el-table-column align="center" label="底价" prop="price" />
|
|
|
|
|
|
|
|
- <el-table-column align="center" label="阅读数量" prop="readCount"/>
|
|
|
|
|
|
|
+ <el-table-column align="center" label="阅读数量" prop="readCount" />
|
|
|
|
|
|
|
|
<el-table-column align="center" label="操作" min-width="100" class-name="small-padding fixed-width">
|
|
<el-table-column align="center" label="操作" min-width="100" class-name="small-padding fixed-width">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
@@ -82,9 +88,10 @@
|
|
|
</style>
|
|
</style>
|
|
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
-import { listTopic, deleteTopic } from '@/api/topic'
|
|
|
|
|
|
|
+import { listTopic, deleteTopic, batchDeleteTopic } from '@/api/topic'
|
|
|
import BackToTop from '@/components/BackToTop'
|
|
import BackToTop from '@/components/BackToTop'
|
|
|
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
|
|
import Pagination from '@/components/Pagination' // Secondary package based on el-pagination
|
|
|
|
|
+import _ from 'lodash'
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
|
name: 'Topic',
|
|
name: 'Topic',
|
|
@@ -102,6 +109,7 @@ export default {
|
|
|
sort: 'add_time',
|
|
sort: 'add_time',
|
|
|
order: 'desc'
|
|
order: 'desc'
|
|
|
},
|
|
},
|
|
|
|
|
+ multipleSelection: [],
|
|
|
contentDetail: '',
|
|
contentDetail: '',
|
|
|
contentDialogVisible: false,
|
|
contentDialogVisible: false,
|
|
|
downloadLoading: false
|
|
downloadLoading: false
|
|
@@ -152,10 +160,37 @@ export default {
|
|
|
})
|
|
})
|
|
|
})
|
|
})
|
|
|
},
|
|
},
|
|
|
|
|
+ handleSelectionChange(val) {
|
|
|
|
|
+ this.multipleSelection = val
|
|
|
|
|
+ },
|
|
|
showContent(content) {
|
|
showContent(content) {
|
|
|
this.contentDetail = content
|
|
this.contentDetail = content
|
|
|
this.contentDialogVisible = true
|
|
this.contentDialogVisible = true
|
|
|
},
|
|
},
|
|
|
|
|
+ handleBatchDelete() {
|
|
|
|
|
+ if (this.multipleSelection.length === 0) {
|
|
|
|
|
+ this.$message.error('请选择至少一条记录')
|
|
|
|
|
+ return
|
|
|
|
|
+ }
|
|
|
|
|
+ const ids = []
|
|
|
|
|
+ _.forEach(this.multipleSelection, function(item) {
|
|
|
|
|
+ ids.push(item.id)
|
|
|
|
|
+ })
|
|
|
|
|
+ batchDeleteTopic({ ids: ids })
|
|
|
|
|
+ .then(response => {
|
|
|
|
|
+ this.$notify.success({
|
|
|
|
|
+ title: '成功',
|
|
|
|
|
+ message: '批量删除专题成功'
|
|
|
|
|
+ })
|
|
|
|
|
+ this.getList()
|
|
|
|
|
+ })
|
|
|
|
|
+ .catch(response => {
|
|
|
|
|
+ this.$notify.error({
|
|
|
|
|
+ title: '失败',
|
|
|
|
|
+ message: response.data.errmsg
|
|
|
|
|
+ })
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
handleDownload() {
|
|
handleDownload() {
|
|
|
this.downloadLoading = true
|
|
this.downloadLoading = true
|
|
|
import('@/vendor/Export2Excel').then(excel => {
|
|
import('@/vendor/Export2Excel').then(excel => {
|