<template>
|
<div>
|
<list-condition-template ref="table" :form="listQuery" :dataKey="'publicityId'" :formLabel="formLabel" :tableData="tableData" :total="total" @page-info-change="handlePageInfoChange">
|
<template slot="otherElement">
|
<el-form-item>
|
<el-button size="mini" type="primary" @click="queryData">查询</el-button>
|
<el-button size="mini" @click="resetQuery">重置</el-button>
|
</el-form-item>
|
</template>
|
<template slot="operationSection">
|
<el-button size="mini" type="success" @click="addItem">新增分类</el-button>
|
</template>
|
<template slot="columns">
|
<el-table-column label="分类名称" min-width="300px" show-overflow-tooltip>
|
<template slot-scope="scope">
|
{{scope.row.publicityName}}
|
</template>
|
</el-table-column>
|
<el-table-column label="已关联文章" width="200px" prop="num">
|
</el-table-column>
|
<el-table-column label="排序" prop="sort" width="150px">
|
<template slot-scope="scope">
|
{{scope.row.sort ? scope.row.sort : '-'}}
|
</template>
|
</el-table-column>
|
<el-table-column label="添加时间" width="300px" prop="createTime">
|
</el-table-column>
|
<el-table-column label="操作" :width="`${3 * $store.getters.colSize + 80}px`">
|
<template slot-scope="scope">
|
<wly-btn type="success" v-if="scope.row.isAdd === '1' && scope.row.isChildren === '2'" @click="addTwoLevel(scope.row)">新增二级分类</wly-btn>
|
<wly-btn type="primary" @click="editInfo(scope.row)">编辑</wly-btn>
|
<wly-btn @click="deleteItem(scope.row)" type="danger">删除</wly-btn>
|
</template>
|
</el-table-column>
|
</template>
|
</list-condition-template>
|
<cat-publicity-info :show.sync="dialogForm.show" :row="dialogForm.row" :title="dialogForm.title"></cat-publicity-info>
|
</div>
|
</template>
|
<script>
|
import catPublicityApi from '@/api/proPublicityMgt/catPublicity'
|
import catPublicityInfo from '@/views/proPublicityMgt/catPublicity/info.vue'
|
import { objectCopy } from '@/utils/objectCopyHelper'
|
import culturalType from '@/utils/constant/culturalType'
|
export default {
|
components: { catPublicityInfo },
|
data () {
|
return {
|
listQuery: {
|
culturalType: null,
|
publicityName: null
|
},
|
formLabel: [
|
{
|
model: 'publicityName',
|
label: '分类名称',
|
type: 'input'
|
}
|
],
|
tableData: [],
|
typeArr: culturalType,
|
dialogForm: {
|
show: false,
|
title: null,
|
row: {}
|
},
|
form: {},
|
total: 0
|
}
|
},
|
/**
|
* 数据变化后刷新列表
|
*/
|
activated () {
|
this.queryList(this.$refs.table.getPageInfo())
|
},
|
methods: {
|
/**
|
* '分页信息改变时查询列表
|
*/
|
handlePageInfoChange (pageInfo) {
|
this.queryList(pageInfo)
|
},
|
/**
|
* 重置
|
*/
|
resetQuery () {
|
this.$refs.table.reloadCurrent()
|
},
|
/**
|
* 点击查询按钮
|
*/
|
queryData () {
|
this.$refs.table.changeCondition()
|
},
|
/**
|
* 编辑
|
*/
|
editInfo (row) {
|
this.dialogForm.title = row.pid ? '编辑二级分类' : '编辑一级分类'
|
this.dialogForm.show = true
|
this.dialogForm.row = objectCopy(row)
|
},
|
/**
|
*分类判断
|
*/
|
deleteItem (row) {
|
if (row.children.length && !row.num) {
|
this.$confirm('该分类下有二级分类,确认要删除吗?', '删除', {
|
confirmButtonText: '确定',
|
cancelButtonText: '取消',
|
type: 'warning'
|
}).then(async () => {
|
this.deleteCatPublicity(row.publicityId)
|
})
|
} else if (row.num) {
|
this.$message({
|
message: '该分类已关联文章,不能删除',
|
type: 'warning'
|
})
|
} else {
|
this.deleteCatPublicity(row.publicityId)
|
}
|
},
|
/**
|
* 删除分类接口
|
*/
|
async deleteCatPublicity (publicityId) {
|
try {
|
const res = await catPublicityApi.deleteItem(publicityId)
|
if (res.code === '0') {
|
this.$message({
|
message: '删除成功',
|
type: 'success'
|
})
|
this.$refs.table.changeCondition() // 查询列表
|
}
|
} catch (error) {
|
}
|
},
|
/**
|
* 查询列表
|
*/
|
async queryList (pageInfo = { pageNum: 1, pageSize: 10 }) {
|
try {
|
const res = await catPublicityApi.getList({ ...pageInfo, param: this.listQuery })
|
if (res.code === '0') {
|
this.tableData = res.data.list
|
this.total = res.data.total
|
}
|
} catch (error) {
|
}
|
},
|
/**
|
* 跳转到新增页面
|
*/
|
addItem () {
|
this.dialogForm.show = true
|
this.dialogForm.title = '新增分类'
|
},
|
/**
|
* 新增二级分类
|
*/
|
addTwoLevel (row) {
|
this.dialogForm.title = '新增二级分类'
|
this.dialogForm.show = true
|
this.dialogForm.row = objectCopy(row)
|
}
|
}
|
}
|
</script>
|