@@ -2,7 +2,7 @@ import T from 'ant-design-vue/es/table/Table'
2
2
import get from 'lodash.get'
3
3
4
4
export default {
5
- data ( ) {
5
+ data ( ) {
6
6
return {
7
7
needTotalList : [ ] ,
8
8
@@ -55,35 +55,36 @@ export default {
55
55
default : false
56
56
} ,
57
57
showPagination : {
58
+ type : String ,
58
59
default : 'auto'
59
60
}
60
61
} ) ,
61
62
watch : {
62
- 'localPagination.current' ( val ) {
63
+ 'localPagination.current' ( val ) {
63
64
this . $router . push ( {
64
65
name : this . $route . name ,
65
66
params : Object . assign ( { } , this . $route . params , {
66
67
pageNo : val
67
68
} )
68
69
} )
69
70
} ,
70
- pageNum ( val ) {
71
+ pageNum ( val ) {
71
72
Object . assign ( this . localPagination , {
72
73
current : val
73
74
} )
74
75
} ,
75
- pageSize ( val ) {
76
+ pageSize ( val ) {
76
77
Object . assign ( this . localPagination , {
77
78
pageSize : val
78
79
} )
79
80
} ,
80
- showSizeChanger ( val ) {
81
+ showSizeChanger ( val ) {
81
82
Object . assign ( this . localPagination , {
82
83
showSizeChanger : val
83
84
} )
84
85
}
85
86
} ,
86
- created ( ) {
87
+ created ( ) {
87
88
this . localPagination = [ 'auto' , true ] . includes ( this . showPagination ) && Object . assign ( { } , this . localPagination , {
88
89
current : this . pageNum ,
89
90
pageSize : this . pageSize ,
@@ -93,29 +94,38 @@ export default {
93
94
this . loadData ( )
94
95
} ,
95
96
methods : {
96
- refresh ( ) {
97
- this . loadData ( )
97
+ /**
98
+ * 表格重新加载方法
99
+ * 如果参数为 true, 则强制刷新到第一页
100
+ * @param Boolean bool
101
+ */
102
+ refresh ( bool = false ) {
103
+ this . loadData ( bool ? { current : 1 } : { } )
98
104
} ,
99
- loadData ( pagination , filters , sorter ) {
105
+ /**
106
+ * 加载数据方法
107
+ * @param {Object } pagination 分页选项器
108
+ * @param {Object } filters 过滤条件
109
+ * @param {Object } sorter 排序条件
110
+ */
111
+ loadData ( pagination , filters , sorter ) {
100
112
101
113
this . localLoading = true
102
- var result = this . data (
103
- Object . assign ( {
104
- pageNo : ( pagination && pagination . current ) ||
105
- this . localPagination . current ,
106
- pageSize : ( pagination && pagination . pageSize ) ||
107
- this . localPagination . pageSize
108
- } ,
109
- ( sorter && sorter . field && {
110
- sortField : sorter . field
111
- } ) || { } ,
112
- ( sorter && sorter . order && {
113
- sortOrder : sorter . order
114
- } ) || { } , {
115
- ...filters
116
- }
117
- )
118
- )
114
+ var result = this . data ( Object . assign ( {
115
+ pageNo : ( pagination && pagination . current ) ||
116
+ this . localPagination . current ,
117
+ pageSize : ( pagination && pagination . pageSize ) ||
118
+ this . localPagination . pageSize
119
+ } ,
120
+ ( sorter && sorter . field && {
121
+ sortField : sorter . field
122
+ } ) || { } ,
123
+ ( sorter && sorter . order && {
124
+ sortOrder : sorter . order
125
+ } ) || { } , {
126
+ ...filters
127
+ }
128
+ ) )
119
129
120
130
// 对接自己的通用数据接口需要修改下方代码中的 r.pageNo, r.totalCount, r.data
121
131
if ( result instanceof Promise ) {
@@ -143,7 +153,7 @@ export default {
143
153
} )
144
154
}
145
155
} ,
146
- initTotalList ( columns ) {
156
+ initTotalList ( columns ) {
147
157
const totalList = [ ]
148
158
columns && columns instanceof Array && columns . forEach ( column => {
149
159
if ( column . needTotal ) {
@@ -160,7 +170,7 @@ export default {
160
170
* @param selectedRowKeys
161
171
* @param selectedRows
162
172
*/
163
- updateSelect ( selectedRowKeys , selectedRows ) {
173
+ updateSelect ( selectedRowKeys , selectedRows ) {
164
174
this . selectedRows = selectedRows
165
175
const list = this . needTotalList
166
176
this . needTotalList = list . map ( item => {
@@ -223,7 +233,7 @@ export default {
223
233
}
224
234
} ,
225
235
226
- render ( ) {
236
+ render ( ) {
227
237
const props = { }
228
238
const localKeys = Object . keys ( this . $data )
229
239
const showAlert = ( typeof this . alert === 'object' && this . alert !== null && this . alert . show ) || this . alert
0 commit comments