@lambo-design/schema-paging-table 1.0.0-beta.60 → 1.0.0-beta.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +4 -4
- package/src/index.vue +84 -51
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lambo-design/schema-paging-table",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.62",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"author": "lambo",
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
},
|
|
12
12
|
"devDependencies": {
|
|
13
13
|
"standard-version": "^9.5.0",
|
|
14
|
-
"@lambo-design/core": "^4.7.1-beta.
|
|
15
|
-
"@lambo-design/shared": "^1.0.0-beta.
|
|
16
|
-
"@lambo-design/paging-table": "^1.0.0-beta.
|
|
14
|
+
"@lambo-design/core": "^4.7.1-beta.159",
|
|
15
|
+
"@lambo-design/shared": "^1.0.0-beta.257",
|
|
16
|
+
"@lambo-design/paging-table": "^1.0.0-beta.92",
|
|
17
17
|
"@lambo-design/schema-form": "^1.0.0-beta.84"
|
|
18
18
|
},
|
|
19
19
|
"scripts": {
|
package/src/index.vue
CHANGED
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
:buttonFlex="buttonFlex"
|
|
12
12
|
:pageDisable="pageDisable"
|
|
13
13
|
:radioSelectIndex="radioSelectIndex"
|
|
14
|
+
:height="height"
|
|
15
|
+
:pageSize="pageSize"
|
|
16
|
+
:pageSizeOpts="pageSizeOpts"
|
|
14
17
|
@on-row-click="onRowClick"
|
|
15
18
|
@on-selection-change="onSelectionChange"
|
|
16
19
|
@on-select="onSelect"
|
|
@@ -139,6 +142,19 @@ export default {
|
|
|
139
142
|
type: Boolean,
|
|
140
143
|
default: false
|
|
141
144
|
},
|
|
145
|
+
height: {
|
|
146
|
+
type: [Number, String]
|
|
147
|
+
},
|
|
148
|
+
pageSizeOpts: {
|
|
149
|
+
type: Array,
|
|
150
|
+
default: function () {
|
|
151
|
+
return [10, 20, 50, 100, 200];
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
pageSize: {
|
|
155
|
+
type: Number,
|
|
156
|
+
default: 10
|
|
157
|
+
},
|
|
142
158
|
rowKey: {
|
|
143
159
|
type: String,
|
|
144
160
|
require: false,
|
|
@@ -240,65 +256,35 @@ export default {
|
|
|
240
256
|
doms = item.name ? item.name : param.row[obj.key]
|
|
241
257
|
} else {
|
|
242
258
|
doms = operateHref(self, h, param.row, item.name || param.row[obj.key], (vm, currentRow) => {
|
|
243
|
-
|
|
244
|
-
// self.$Message.info(item.clickEvent.name)
|
|
245
|
-
let query = item.clickEvent?.route?.keys?.reduce((acc, sourceItem) => {
|
|
246
|
-
return Object.assign(acc, {[sourceItem]: currentRow[sourceItem]})
|
|
247
|
-
}, {})
|
|
248
|
-
self.$router.push({
|
|
249
|
-
path: item.clickEvent?.route?.path,
|
|
250
|
-
query
|
|
251
|
-
})
|
|
252
|
-
} else if (item.clickEvent?.type === "request") {
|
|
253
|
-
// self.$Message.info(item.clickEvent.name)
|
|
254
|
-
let data = item.clickEvent?.request?.keys?.reduce((acc, sourceItem) => {
|
|
255
|
-
return Object.assign(acc, {[sourceItem]: currentRow[sourceItem]})
|
|
256
|
-
}, {})
|
|
257
|
-
let request = {
|
|
258
|
-
url: item.clickEvent.request.url,
|
|
259
|
-
method: item.clickEvent.request.method,
|
|
260
|
-
param: data || currentRow,
|
|
261
|
-
}
|
|
262
|
-
let response = item.clickEvent.response
|
|
263
|
-
if (item.clickEvent.tips) {
|
|
264
|
-
let tips = item.clickEvent.tips
|
|
265
|
-
this.$Modal.confirm({
|
|
266
|
-
title: tips.title,
|
|
267
|
-
content: '<p>' + tips.content + '</p>',
|
|
268
|
-
onOk: () => {
|
|
269
|
-
self.fetch(request, response)
|
|
270
|
-
}
|
|
271
|
-
});
|
|
272
|
-
} else {
|
|
273
|
-
self.fetch(request, response)
|
|
274
|
-
}
|
|
275
|
-
} else if (item.clickEvent?.type === "method") {
|
|
276
|
-
if(!item.clickEvent?.method?.keys) {
|
|
277
|
-
self.$emit(item.clickEvent?.method?.name, param.index,currentRow);
|
|
278
|
-
return ;
|
|
279
|
-
}
|
|
280
|
-
let args = item.clickEvent?.method?.keys?.reduce((total, current) => {
|
|
281
|
-
return Object.assign(total, {[current]: currentRow[current]})
|
|
282
|
-
}, {})
|
|
283
|
-
self.$emit(item.clickEvent?.method?.name, args)
|
|
284
|
-
} else if (item.clickEvent?.type === "modal") {
|
|
285
|
-
self.$Message.info(item.clickEvent.name)
|
|
286
|
-
}
|
|
259
|
+
self.handleClickEvent(item, currentRow)
|
|
287
260
|
}, '', item.permission)
|
|
288
261
|
}
|
|
262
|
+
let directives = item.permission ? [{ name: "permission", value: item.permission }] : null;
|
|
289
263
|
if (visibleDomsd.length < self.operColumnDropdownNum) {
|
|
290
264
|
visibleDomsd.push(doms);
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
265
|
+
if (visibleDomsd.length === self.operColumnDropdownNum) {
|
|
266
|
+
dropdownDomsd.push(h('DropdownItem', {
|
|
267
|
+
nativeOn: {
|
|
268
|
+
'click': () => {
|
|
269
|
+
self.handleClickEvent(item, param.row)
|
|
270
|
+
}
|
|
271
|
+
},
|
|
272
|
+
directives
|
|
273
|
+
}, [doms]))
|
|
274
|
+
visibleDomsd.splice(self.operColumnDropdownNum - 1, 1)
|
|
275
|
+
}
|
|
294
276
|
} else {
|
|
295
|
-
dropdownDomsd.push(h('DropdownItem', {
|
|
277
|
+
dropdownDomsd.push(h('DropdownItem', {
|
|
278
|
+
nativeOn: {
|
|
279
|
+
'click': () => {
|
|
280
|
+
self.handleClickEvent(item, param.row)
|
|
281
|
+
}
|
|
282
|
+
},
|
|
283
|
+
directives
|
|
284
|
+
}, [doms]))
|
|
296
285
|
}
|
|
297
286
|
}
|
|
298
287
|
})
|
|
299
|
-
if (dropdownDomsd.length !== 0) {
|
|
300
|
-
visibleDomsd.splice(self.operColumnDropdownNum - 1, 1)
|
|
301
|
-
}
|
|
302
288
|
return h('div', {}, [
|
|
303
289
|
...visibleDomsd,
|
|
304
290
|
dropdownDomsd.length !== 0 ? operateMore(self,h,dropdownDomsd) : null
|
|
@@ -373,6 +359,53 @@ export default {
|
|
|
373
359
|
window.removeEventListener('resize', this.calculateButtonsInFirstRow);
|
|
374
360
|
},
|
|
375
361
|
methods: {
|
|
362
|
+
handleClickEvent(item, currentRow) {
|
|
363
|
+
let self = this
|
|
364
|
+
if (item.clickEvent?.type === "route") {
|
|
365
|
+
// self.$Message.info(item.clickEvent.name)
|
|
366
|
+
let query = item.clickEvent?.route?.keys?.reduce((acc, sourceItem) => {
|
|
367
|
+
return Object.assign(acc, {[sourceItem]: currentRow[sourceItem]})
|
|
368
|
+
}, {})
|
|
369
|
+
self.$router.push({
|
|
370
|
+
path: item.clickEvent?.route?.path,
|
|
371
|
+
query
|
|
372
|
+
})
|
|
373
|
+
} else if (item.clickEvent?.type === "request") {
|
|
374
|
+
// self.$Message.info(item.clickEvent.name)
|
|
375
|
+
let data = item.clickEvent?.request?.keys?.reduce((acc, sourceItem) => {
|
|
376
|
+
return Object.assign(acc, {[sourceItem]: currentRow[sourceItem]})
|
|
377
|
+
}, {})
|
|
378
|
+
let request = {
|
|
379
|
+
url: item.clickEvent.request.url,
|
|
380
|
+
method: item.clickEvent.request.method,
|
|
381
|
+
param: data || currentRow,
|
|
382
|
+
}
|
|
383
|
+
let response = item.clickEvent.response
|
|
384
|
+
if (item.clickEvent.tips) {
|
|
385
|
+
let tips = item.clickEvent.tips
|
|
386
|
+
this.$Modal.confirm({
|
|
387
|
+
title: tips.title,
|
|
388
|
+
content: '<p>' + tips.content + '</p>',
|
|
389
|
+
onOk: () => {
|
|
390
|
+
self.fetch(request, response)
|
|
391
|
+
}
|
|
392
|
+
});
|
|
393
|
+
} else {
|
|
394
|
+
self.fetch(request, response)
|
|
395
|
+
}
|
|
396
|
+
} else if (item.clickEvent?.type === "method") {
|
|
397
|
+
if(!item.clickEvent?.method?.keys) {
|
|
398
|
+
self.$emit(item.clickEvent?.method?.name, param.index,currentRow);
|
|
399
|
+
return ;
|
|
400
|
+
}
|
|
401
|
+
let args = item.clickEvent?.method?.keys?.reduce((total, current) => {
|
|
402
|
+
return Object.assign(total, {[current]: currentRow[current]})
|
|
403
|
+
}, {})
|
|
404
|
+
self.$emit(item.clickEvent?.method?.name, args)
|
|
405
|
+
} else if (item.clickEvent?.type === "modal") {
|
|
406
|
+
self.$Message.info(item.clickEvent.name)
|
|
407
|
+
}
|
|
408
|
+
},
|
|
376
409
|
//计算第一行有多少个button,根据父div宽度和每个button的宽度计算
|
|
377
410
|
calculateButtonsInFirstRow() {
|
|
378
411
|
let container = this.$refs.container
|