Files
mes-ui-d2/src/views/demo/d2-crud/demo29/index.vue

90 lines
1.8 KiB
Vue

<template>
<d2-container>
<template slot="header">分页</template>
<d2-crud
:columns="columns"
:data="data"
:loading="loading"
:pagination="pagination"
@pagination-current-change="paginationCurrentChange"/>
<el-card shadow="never" class="d2-mb">
<d2-markdown :source="doc"/>
</el-card>
<el-card shadow="never" class="d2-mb">
<d2-highlight :code="code"/>
</el-card>
<d2-link-btn
slot="footer"
title="文档"
link="https://d2.pub/zh/doc/d2-crud-v2"/>
</d2-container>
</template>
<script>
import '../install'
import doc from './doc.md'
import code from './code.js'
import { businessTable1List } from '@api/demo.business.table.1'
export default {
data () {
return {
doc,
code,
columns: [
{
title: '卡密',
key: 'key',
width: 320
},
{
title: '面值',
key: 'value'
},
{
title: '管理员',
key: 'admin'
},
{
title: '创建时间',
key: 'dateTimeCreat'
},
{
title: '使用时间',
key: 'dateTimeUse'
}
],
data: [],
loading: false,
pagination: {
currentPage: 1,
pageSize: 5,
total: 0
}
}
},
mounted () {
this.fetchData()
},
methods: {
paginationCurrentChange (currentPage) {
this.pagination.currentPage = currentPage
this.fetchData()
},
fetchData () {
this.loading = true
businessTable1List({
...this.pagination
}).then(res => {
this.data = res.list
this.pagination.total = res.page.total
this.loading = false
}).catch(err => {
console.log('err', err)
this.loading = false
})
}
}
}
</script>