@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.
Files changed (2) hide show
  1. package/package.json +4 -4
  2. 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.60",
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.158",
15
- "@lambo-design/shared": "^1.0.0-beta.252",
16
- "@lambo-design/paging-table": "^1.0.0-beta.91",
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
- if (item.clickEvent?.type === "route") {
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
- } else if (visibleDomsd.length === self.operColumnDropdownNum && dropdownDomsd.length === 0){
292
- dropdownDomsd.push(h('DropdownItem', {}, [visibleDomsd[self.operColumnDropdownNum - 1]]))
293
- dropdownDomsd.push(h('DropdownItem', {}, [doms]))
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', {}, [doms]))
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