|
|
@@ -26,14 +26,16 @@
|
|
|
<template v-else>
|
|
|
<ibps-crud key="istree"
|
|
|
ref="crud"
|
|
|
- :data="tableData"
|
|
|
+ :data="listData"
|
|
|
:toolbars="listConfig.toolbars"
|
|
|
:search-form="listConfig.searchForm"
|
|
|
:pk-key="pkKey"
|
|
|
:columns="listConfig.columns"
|
|
|
:loading="loading"
|
|
|
+ :pagination="pagination"
|
|
|
@sort-change="handleSortChange"
|
|
|
- @action-event="handleAction">
|
|
|
+ @action-event="handleAction"
|
|
|
+ @pagination-change="handlePaginationChange">
|
|
|
<template slot="wenjinachayue"
|
|
|
slot-scope="scope">
|
|
|
<ibps-attachment :value="scope.row.wen_jian_id_"
|
|
|
@@ -81,7 +83,17 @@ export default {
|
|
|
label: 'label'
|
|
|
},
|
|
|
pkKey: 'id', // 主键 如果主键不是pk需要传主键
|
|
|
- tableData: [],
|
|
|
+ listData: [],
|
|
|
+ selectListData: [],
|
|
|
+ bianlistData: {
|
|
|
+ dataResult: [],
|
|
|
+ pageResult: {
|
|
|
+ limit: 0,
|
|
|
+ page: 0,
|
|
|
+ totalCount: 0,
|
|
|
+ totalPages: 0
|
|
|
+ }
|
|
|
+ },
|
|
|
listTreeData: [],
|
|
|
listConfig: {
|
|
|
// 工具栏
|
|
|
@@ -110,7 +122,9 @@ export default {
|
|
|
border: true,
|
|
|
stripe: true
|
|
|
},
|
|
|
- pagination: {},
|
|
|
+ pagination: {
|
|
|
+ limit: 20, page: 1
|
|
|
+ },
|
|
|
sorts: {},
|
|
|
// testData: [{
|
|
|
// zi_duan_yi_: '1',
|
|
|
@@ -179,8 +193,26 @@ export default {
|
|
|
ActionUtils.setSorts(this.sorts, sort)
|
|
|
this.getDatas(this.getSearcFormData())
|
|
|
},
|
|
|
+ // 处理分页事件
|
|
|
+ handlePaginationChange(page) {
|
|
|
+ ActionUtils.setPagination(this.pagination, page)
|
|
|
+ this.bianlistData.pageResult.limit = page.limit
|
|
|
+ this.bianlistData.pageResult.page = page.page
|
|
|
+ let filterDatas = []
|
|
|
+ if (this.selectListData.length >= (page.limit * page.page)) {
|
|
|
+ for (let index = (page.limit * page.page) - page.limit; index < (page.limit * page.page); index++) {
|
|
|
+ filterDatas.push(this.selectListData[index])
|
|
|
+ }
|
|
|
+ this.bianlistData.dataResult = JSON.parse(JSON.stringify(filterDatas))
|
|
|
+ } else {
|
|
|
+ for (let index = (page.limit * page.page) - page.limit; index < this.selectListData.length; index++) {
|
|
|
+ filterDatas.push(this.selectListData[index])
|
|
|
+ }
|
|
|
+ this.bianlistData.dataResult = JSON.parse(JSON.stringify(filterDatas))
|
|
|
+ }
|
|
|
+ ActionUtils.handleListData(this, this.bianlistData)
|
|
|
+ },
|
|
|
getDatas(sorts) {
|
|
|
- this.tableData = []
|
|
|
let wheres = ''
|
|
|
if (sorts.fileCode) {
|
|
|
wheres = wheres + ` and wen_jian_bian_hao like '%${sorts.fileCode}%'`
|
|
|
@@ -199,11 +231,34 @@ export default {
|
|
|
}
|
|
|
|
|
|
let sql = `select *FROM t_wjgl WHERE wen_jian_zhuang_t = '已发放' AND yi_gai_zuo_fei_='否' ${wheres} `
|
|
|
+ let bianlistData = {
|
|
|
+ dataResult: [],
|
|
|
+ pageResult: {
|
|
|
+ limit: this.pagination.limit,
|
|
|
+ page: this.pagination.page,
|
|
|
+ totalCount: 0,
|
|
|
+ totalPages: 0
|
|
|
+ }
|
|
|
+ }
|
|
|
curdPost('sql', sql).then(res => {
|
|
|
- this.tableData = res.variables.data
|
|
|
+ let tableDatas = res.variables.data
|
|
|
+ this.selectListData = JSON.parse(JSON.stringify(tableDatas))
|
|
|
+ let filterDatas = []
|
|
|
+ this.bianlistData.pageResult.totalCount = tableDatas.length
|
|
|
+ this.bianlistData.pageResult.totalPages = Math.ceil(tableDatas.length / this.pagination.limit)
|
|
|
+ this.bianlistData.pageResult.limit = this.pagination.limit
|
|
|
+ this.bianlistData.pageResult.page = this.pagination.page
|
|
|
+ if (this.pagination.limit > tableDatas.length) {
|
|
|
+ filterDatas = JSON.parse(JSON.stringify(tableDatas))
|
|
|
+ } else {
|
|
|
+ for (let index = 0; index < 20; index++) {
|
|
|
+ filterDatas.push(tableDatas[index])
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.bianlistData.dataResult = filterDatas
|
|
|
+ ActionUtils.handleListData(this, this.bianlistData)
|
|
|
}).catch(res => {
|
|
|
this.loading = false
|
|
|
- this.tableData = []
|
|
|
})
|
|
|
},
|
|
|
},
|