Files
crmeb_java/admin/src/components/articleList/index.vue
stivepeim c7654e50b1 ## v1.3.1 更新列表
1. 【修复】申请退款后积分等操作可能出现错误的问题
	2. 【修复】拼团支付可能出现支付错误的问题
	3. 【修复】退款申请后的订单流程优化和积分赠送的问题
	4. 【修复】回收站中的商品无法恢复的问题
	5. 【修复】一号通短信查询记录不完整的问题
	6. 【修复】用户管理批量加分组,标签的问题
	7. 【修复】积分日志搜索显示有误的问题
	8. 【修复】手动发送优惠券可能会出错的问题
	9. 【修复】核销订单创建在某种条件下会出错的问题
	10. 【修复】移动端商品详情,购物车等样式兼容问题
	11. 【修复】业务流程性的优化
2021-01-19 10:16:45 +08:00

164 lines
4.9 KiB
Vue

<template>
<div class="divBox">
<div class="header clearfix">
<div class="container">
<el-form inline>
<el-form-item>
<el-input v-model="listPram.keywords" placeholder="请输入关键词" clearable />
</el-form-item>
<el-form-item>
<el-cascader v-model="listPram.cid" :options="categoryTreeData" :props="categoryProps" placeholer="选择分类" clearable />
</el-form-item>
<el-form-item>
<el-button size="mini" type="primary" @click="handerSearch">搜索</el-button>
</el-form-item>
</el-form>
</div>
</div>
<el-table :data="listData.list" style="width: 100%"
size="mini"
max-height="400"
tooltip-effect="dark"
highlight-current-row>
<el-table-column
label=""
width="55">
<template slot-scope="{ row, index }">
<el-radio v-model="templateRadio" :label="row.id" @change.native="getTemplateRow(row)">&nbsp;</el-radio>
</template>
</el-table-column>
<el-table-column label="图片" min-width="80">
<template slot-scope="scope">
<div class="demo-image__preview">
<el-image
v-for="(item, index) in scope.row.imageInput"
:key="index"
style="width: 36px; height: 36px"
:src="item"
:preview-src-list="imgList"
/>
</div>
</template>
</el-table-column>
<el-table-column prop="title" label="标题" min-width="150" />
<el-table-column prop="visit" label="浏览量" min-width="100">
<template slot-scope="scope">
<span>{{ scope.row.visit | filterEmpty }}</span>
</template>
</el-table-column>
<el-table-column prop="updateTime" label="更新时间" min-width="150"/>
<!--<el-table-column label="操作" min-width="150">-->
<!--<template slot-scope="scope">-->
<!--<el-button type="warning" disabled>关联产品</el-button>-->
<!--</template>-->
<!--</el-table-column>-->
</el-table>
<div class="block mb20">
<el-pagination
:current-page="listPram.page"
:page-sizes="constants.page.limit"
:layout="constants.page.layout"
:total="listData.total"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
/>
</div>
</div>
</template>
<script>
import * as articleApi from '@/api/article.js'
import * as categoryApi from '@/api/categoryApi.js'
import * as selfUtil from '@/utils/ZBKJIutil.js'
export default {
// name: "list",
props: {
handle: {
type: String,
default: ''
}
},
data() {
return {
templateRadio:'',
imgList: [],
constants: this.$constants,
listPram: {
keywords: null,
cid: null,
page: 1,
limit: this.$constants.page.limit[0]
},
listData: { list: [], total: 0 },
editDialogConfig: {
visible: false,
data: {},
isEdit: 0 // 0=add 1=edit
},
categoryTreeData: [],
categoryProps: {
value: 'id',
label: 'name',
children: 'child',
expandTrigger: 'hover',
checkStrictly: true,
emitPath: false
}
}
},
mounted() {
this.handlerGetListData(this.listPram)
this.handlerGetCategoryTreeData()
},
methods: {
getTemplateRow(row){
this.$emit('getArticle', row)
},
handerSearch() {
this.listPram.page = 1
this.handlerGetListData(this.listPram)
},
handlerGetListData(pram) {
articleApi.ListArticle(pram).then(data => {
this.listData = data
this.listData.list.map((item) => {
item.imageInput.map(i => {
this.imgList.push(i)
})
})
})
},
handlerGetCategoryTreeData() {
const _pram = { type: this.constants.categoryType[2].value, status: 1 }
categoryApi.treeCategroy(_pram).then(data => {
this.categoryTreeData = selfUtil.addTreeListLabelForCasCard(data)
})
},
handlerHideDialog() {
this.handlerGetListData(this.listPram)
this.editDialogConfig.visible = false
},
handlerDelete(rowData) {
this.$confirm('确定删除当前数据', '提示').then(result => {
articleApi.DelArticle(rowData).then(data => {
this.$message.success('删除数据成功')
this.handlerGetListData(this.listPram)
})
})
},
handleSizeChange(val) {
this.listPram.limit = val
this.handlerGetListData(this.listPram)
},
handleCurrentChange(val) {
this.listPram.page = val
this.handlerGetListData(this.listPram)
}
}
}
</script>
<style scoped>
</style>