@lambo-design/schema-paging-table 1.0.0-beta.60 → 1.0.0-beta.61
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 +5 -5
- package/src/index.vue +68 -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.61",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"author": "lambo",
|
|
@@ -11,10 +11,10 @@
|
|
|
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/
|
|
17
|
-
"@lambo-design/
|
|
14
|
+
"@lambo-design/core": "^4.7.1-beta.159",
|
|
15
|
+
"@lambo-design/shared": "^1.0.0-beta.255",
|
|
16
|
+
"@lambo-design/schema-form": "^1.0.0-beta.84",
|
|
17
|
+
"@lambo-design/paging-table": "^1.0.0-beta.92"
|
|
18
18
|
},
|
|
19
19
|
"scripts": {
|
|
20
20
|
"release": "pnpm release-beta && git push --follow-tags && pnpm re-publish",
|
package/src/index.vue
CHANGED
|
@@ -240,65 +240,35 @@ export default {
|
|
|
240
240
|
doms = item.name ? item.name : param.row[obj.key]
|
|
241
241
|
} else {
|
|
242
242
|
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
|
-
}
|
|
243
|
+
self.handleClickEvent(item, currentRow)
|
|
287
244
|
}, '', item.permission)
|
|
288
245
|
}
|
|
246
|
+
let directives = item.permission ? [{ name: "permission", value: item.permission }] : null;
|
|
289
247
|
if (visibleDomsd.length < self.operColumnDropdownNum) {
|
|
290
248
|
visibleDomsd.push(doms);
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
249
|
+
if (visibleDomsd.length === self.operColumnDropdownNum) {
|
|
250
|
+
dropdownDomsd.push(h('DropdownItem', {
|
|
251
|
+
nativeOn: {
|
|
252
|
+
'click': () => {
|
|
253
|
+
self.handleClickEvent(item, param.row)
|
|
254
|
+
}
|
|
255
|
+
},
|
|
256
|
+
directives
|
|
257
|
+
}, [doms]))
|
|
258
|
+
visibleDomsd.splice(self.operColumnDropdownNum - 1, 1)
|
|
259
|
+
}
|
|
294
260
|
} else {
|
|
295
|
-
dropdownDomsd.push(h('DropdownItem', {
|
|
261
|
+
dropdownDomsd.push(h('DropdownItem', {
|
|
262
|
+
nativeOn: {
|
|
263
|
+
'click': () => {
|
|
264
|
+
self.handleClickEvent(item, param.row)
|
|
265
|
+
}
|
|
266
|
+
},
|
|
267
|
+
directives
|
|
268
|
+
}, [doms]))
|
|
296
269
|
}
|
|
297
270
|
}
|
|
298
271
|
})
|
|
299
|
-
if (dropdownDomsd.length !== 0) {
|
|
300
|
-
visibleDomsd.splice(self.operColumnDropdownNum - 1, 1)
|
|
301
|
-
}
|
|
302
272
|
return h('div', {}, [
|
|
303
273
|
...visibleDomsd,
|
|
304
274
|
dropdownDomsd.length !== 0 ? operateMore(self,h,dropdownDomsd) : null
|
|
@@ -373,6 +343,53 @@ export default {
|
|
|
373
343
|
window.removeEventListener('resize', this.calculateButtonsInFirstRow);
|
|
374
344
|
},
|
|
375
345
|
methods: {
|
|
346
|
+
handleClickEvent(item, currentRow) {
|
|
347
|
+
let self = this
|
|
348
|
+
if (item.clickEvent?.type === "route") {
|
|
349
|
+
// self.$Message.info(item.clickEvent.name)
|
|
350
|
+
let query = item.clickEvent?.route?.keys?.reduce((acc, sourceItem) => {
|
|
351
|
+
return Object.assign(acc, {[sourceItem]: currentRow[sourceItem]})
|
|
352
|
+
}, {})
|
|
353
|
+
self.$router.push({
|
|
354
|
+
path: item.clickEvent?.route?.path,
|
|
355
|
+
query
|
|
356
|
+
})
|
|
357
|
+
} else if (item.clickEvent?.type === "request") {
|
|
358
|
+
// self.$Message.info(item.clickEvent.name)
|
|
359
|
+
let data = item.clickEvent?.request?.keys?.reduce((acc, sourceItem) => {
|
|
360
|
+
return Object.assign(acc, {[sourceItem]: currentRow[sourceItem]})
|
|
361
|
+
}, {})
|
|
362
|
+
let request = {
|
|
363
|
+
url: item.clickEvent.request.url,
|
|
364
|
+
method: item.clickEvent.request.method,
|
|
365
|
+
param: data || currentRow,
|
|
366
|
+
}
|
|
367
|
+
let response = item.clickEvent.response
|
|
368
|
+
if (item.clickEvent.tips) {
|
|
369
|
+
let tips = item.clickEvent.tips
|
|
370
|
+
this.$Modal.confirm({
|
|
371
|
+
title: tips.title,
|
|
372
|
+
content: '<p>' + tips.content + '</p>',
|
|
373
|
+
onOk: () => {
|
|
374
|
+
self.fetch(request, response)
|
|
375
|
+
}
|
|
376
|
+
});
|
|
377
|
+
} else {
|
|
378
|
+
self.fetch(request, response)
|
|
379
|
+
}
|
|
380
|
+
} else if (item.clickEvent?.type === "method") {
|
|
381
|
+
if(!item.clickEvent?.method?.keys) {
|
|
382
|
+
self.$emit(item.clickEvent?.method?.name, param.index,currentRow);
|
|
383
|
+
return ;
|
|
384
|
+
}
|
|
385
|
+
let args = item.clickEvent?.method?.keys?.reduce((total, current) => {
|
|
386
|
+
return Object.assign(total, {[current]: currentRow[current]})
|
|
387
|
+
}, {})
|
|
388
|
+
self.$emit(item.clickEvent?.method?.name, args)
|
|
389
|
+
} else if (item.clickEvent?.type === "modal") {
|
|
390
|
+
self.$Message.info(item.clickEvent.name)
|
|
391
|
+
}
|
|
392
|
+
},
|
|
376
393
|
//计算第一行有多少个button,根据父div宽度和每个button的宽度计算
|
|
377
394
|
calculateButtonsInFirstRow() {
|
|
378
395
|
let container = this.$refs.container
|