vxe-table 3.10.0-beta.2 → 3.10.0-beta.3

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 (98) hide show
  1. package/es/locale/lang/en-US.js +1 -0
  2. package/es/locale/lang/es-ES.js +1 -0
  3. package/es/locale/lang/hu-HU.js +1 -0
  4. package/es/locale/lang/ja-JP.js +1 -0
  5. package/es/locale/lang/ko-KR.js +1 -0
  6. package/es/locale/lang/pt-BR.js +1 -0
  7. package/es/locale/lang/ru-RU.js +1 -0
  8. package/es/locale/lang/uk-UA.js +1 -0
  9. package/es/locale/lang/vi-VN.js +1 -0
  10. package/es/locale/lang/zh-CHT.js +1 -0
  11. package/es/locale/lang/zh-CN.js +1 -0
  12. package/es/style.css +1 -1
  13. package/es/style.min.css +1 -1
  14. package/es/table/module/export/export-panel.js +325 -258
  15. package/es/table/module/export/import-panel.js +138 -81
  16. package/es/table/module/export/mixin.js +14 -0
  17. package/es/table/src/methods.js +1 -1
  18. package/es/table/style.css +48 -47
  19. package/es/table/style.min.css +1 -1
  20. package/es/ui/index.js +1 -1
  21. package/es/ui/src/log.js +1 -1
  22. package/es/vxe-table/style.css +48 -47
  23. package/es/vxe-table/style.min.css +1 -1
  24. package/lib/index.umd.js +356 -240
  25. package/lib/index.umd.min.js +1 -1
  26. package/lib/locale/lang/en-US.js +1 -0
  27. package/lib/locale/lang/en-US.min.js +1 -1
  28. package/lib/locale/lang/en-US.umd.js +1 -0
  29. package/lib/locale/lang/es-ES.js +1 -0
  30. package/lib/locale/lang/es-ES.min.js +1 -1
  31. package/lib/locale/lang/es-ES.umd.js +1 -0
  32. package/lib/locale/lang/hu-HU.js +1 -0
  33. package/lib/locale/lang/hu-HU.min.js +1 -1
  34. package/lib/locale/lang/hu-HU.umd.js +1 -0
  35. package/lib/locale/lang/ja-JP.js +1 -0
  36. package/lib/locale/lang/ja-JP.min.js +1 -1
  37. package/lib/locale/lang/ja-JP.umd.js +1 -0
  38. package/lib/locale/lang/ko-KR.js +1 -0
  39. package/lib/locale/lang/ko-KR.min.js +1 -1
  40. package/lib/locale/lang/ko-KR.umd.js +1 -0
  41. package/lib/locale/lang/pt-BR.js +1 -0
  42. package/lib/locale/lang/pt-BR.min.js +1 -1
  43. package/lib/locale/lang/pt-BR.umd.js +1 -0
  44. package/lib/locale/lang/ru-RU.js +1 -0
  45. package/lib/locale/lang/ru-RU.min.js +1 -1
  46. package/lib/locale/lang/ru-RU.umd.js +1 -0
  47. package/lib/locale/lang/uk-UA.js +1 -0
  48. package/lib/locale/lang/uk-UA.min.js +1 -1
  49. package/lib/locale/lang/uk-UA.umd.js +1 -0
  50. package/lib/locale/lang/vi-VN.js +1 -0
  51. package/lib/locale/lang/vi-VN.min.js +1 -1
  52. package/lib/locale/lang/zh-CHT.js +1 -0
  53. package/lib/locale/lang/zh-CHT.min.js +1 -1
  54. package/lib/locale/lang/zh-CHT.umd.js +1 -0
  55. package/lib/locale/lang/zh-CN.js +1 -0
  56. package/lib/locale/lang/zh-CN.min.js +1 -1
  57. package/lib/locale/lang/zh-CN.umd.js +1 -0
  58. package/lib/style.css +1 -1
  59. package/lib/style.min.css +1 -1
  60. package/lib/table/module/export/export-panel.js +239 -185
  61. package/lib/table/module/export/export-panel.min.js +1 -1
  62. package/lib/table/module/export/import-panel.js +99 -52
  63. package/lib/table/module/export/import-panel.min.js +1 -1
  64. package/lib/table/module/export/mixin.js +14 -0
  65. package/lib/table/module/export/mixin.min.js +1 -1
  66. package/lib/table/src/methods.js +1 -1
  67. package/lib/table/src/methods.min.js +1 -1
  68. package/lib/table/style/style.css +48 -47
  69. package/lib/table/style/style.min.css +1 -1
  70. package/lib/ui/index.js +1 -1
  71. package/lib/ui/index.min.js +1 -1
  72. package/lib/ui/src/log.js +1 -1
  73. package/lib/ui/src/log.min.js +1 -1
  74. package/lib/vxe-table/style/style.css +48 -47
  75. package/lib/vxe-table/style/style.min.css +1 -1
  76. package/package.json +2 -2
  77. package/packages/locale/lang/en-US.ts +1 -0
  78. package/packages/locale/lang/es-ES.ts +1 -0
  79. package/packages/locale/lang/hu-HU.ts +1 -0
  80. package/packages/locale/lang/ja-JP.ts +1 -0
  81. package/packages/locale/lang/ko-KR.ts +1 -0
  82. package/packages/locale/lang/pt-BR.ts +1 -0
  83. package/packages/locale/lang/ru-RU.ts +1 -0
  84. package/packages/locale/lang/uk-UA.ts +1 -0
  85. package/packages/locale/lang/vi-VN.ts +1 -0
  86. package/packages/locale/lang/zh-CHT.ts +1 -0
  87. package/packages/locale/lang/zh-CN.ts +1 -0
  88. package/packages/table/module/export/export-panel.ts +323 -253
  89. package/packages/table/module/export/import-panel.ts +141 -79
  90. package/packages/table/module/export/mixin.ts +15 -0
  91. package/packages/table/src/methods.ts +1 -1
  92. package/styles/components/table-module/export.scss +17 -14
  93. /package/es/{iconfont.1730365807487.ttf → iconfont.1730447026880.ttf} +0 -0
  94. /package/es/{iconfont.1730365807487.woff → iconfont.1730447026880.woff} +0 -0
  95. /package/es/{iconfont.1730365807487.woff2 → iconfont.1730447026880.woff2} +0 -0
  96. /package/lib/{iconfont.1730365807487.ttf → iconfont.1730447026880.ttf} +0 -0
  97. /package/lib/{iconfont.1730365807487.woff → iconfont.1730447026880.woff} +0 -0
  98. /package/lib/{iconfont.1730365807487.woff2 → iconfont.1730447026880.woff2} +0 -0
@@ -6,7 +6,7 @@ import { errLog } from '../../../ui/src/log'
6
6
 
7
7
  import type { VxeModalComponent, VxeInputComponent, VxeCheckboxComponent, VxeSelectComponent, VxeButtonComponent } from 'vxe-pc-ui'
8
8
 
9
- const { getI18n, getIcon, globalMixins } = VxeUI
9
+ const { getI18n, getIcon, globalMixins, renderEmptyElement } = VxeUI
10
10
 
11
11
  export default {
12
12
  name: 'VxeTableExportPanel',
@@ -24,6 +24,11 @@ export default {
24
24
  // VxeSelect,
25
25
  // VxeOption
26
26
  },
27
+ inject: {
28
+ $xeTable: {
29
+ default: null
30
+ }
31
+ },
27
32
  data () {
28
33
  return {
29
34
  isAll: false,
@@ -77,11 +82,20 @@ export default {
77
82
  }
78
83
  },
79
84
  render (this: any, h: CreateElement) {
85
+ const $xeTable = this.$xeTable
86
+
87
+ const exportOpts = $xeTable.exportOpts
80
88
  const { _e, checkedAll, isAll: isAllChecked, isIndeterminate: isAllIndeterminate, showSheet, supportMerge, supportStyle, defaultOptions, storeData } = this
81
- const { hasTree, hasMerge, isPrint, hasColgroup } = storeData
89
+ const { hasTree, hasMerge, isPrint, hasColgroup, columns } = storeData
82
90
  const { isHeader } = defaultOptions
91
+ const slots = exportOpts.slots || {}
92
+ const topSlot = slots.top
93
+ const bottomSlot = slots.bottom
94
+ const defaultSlot = slots.default
95
+ const footerSlot = slots.footer
96
+ const parameterSlot = slots.parameter
83
97
  const cols: any[] = []
84
- XEUtils.eachTree(storeData.columns, column => {
98
+ XEUtils.eachTree(columns, column => {
85
99
  const colTitle = formatText(column.getTitle(), 1)
86
100
  const isColGroup = column.children && column.children.length
87
101
  const isChecked = column.checked
@@ -89,7 +103,7 @@ export default {
89
103
  const isHtml = column.type === 'html'
90
104
  cols.push(
91
105
  h('li', {
92
- class: ['vxe-export--panel-column-option', `level--${column.level}`, {
106
+ class: ['vxe-table-export--panel-column-option', `level--${column.level}`, {
93
107
  'is--group': isColGroup,
94
108
  'is--checked': isChecked,
95
109
  'is--indeterminate': indeterminate,
@@ -127,14 +141,19 @@ export default {
127
141
  return h('vxe-modal', {
128
142
  ref: 'modal',
129
143
  props: {
144
+ id: 'VXE_EXPORT_MODAL',
130
145
  value: storeData.visible,
131
146
  title: getI18n(isPrint ? 'vxe.export.printTitle' : 'vxe.export.expTitle'),
132
147
  width: 660,
148
+ minWidth: 500,
149
+ minHeight: 400,
133
150
  mask: true,
134
151
  lockView: true,
135
- showFooter: false,
152
+ showFooter: true,
136
153
  escClosable: true,
137
154
  maskClosable: true,
155
+ showMaximize: true,
156
+ resize: true,
138
157
  loading: this.loading
139
158
  },
140
159
  on: {
@@ -142,262 +161,311 @@ export default {
142
161
  storeData.visible = value
143
162
  },
144
163
  show: this.showEvent
145
- }
146
- }, [
147
- h('div', {
148
- class: 'vxe-export--panel'
149
- }, [
150
- h('table', {
151
- attrs: {
152
- cellspacing: 0,
153
- cellpadding: 0,
154
- border: 0
164
+ },
165
+ scopedSlots: {
166
+ default: () => {
167
+ const params = {
168
+ $table: $xeTable,
169
+ $grid: $xeTable.xegrid,
170
+ options: exportOpts,
171
+ columns,
172
+ params: exportOpts.params as any
155
173
  }
156
- }, [
157
- h('tbody', [
158
- [
159
- isPrint
160
- ? _e()
161
- : h('tr', [
162
- h('td', getI18n('vxe.export.expName')),
163
- h('td', [
164
- h('vxe-input', {
165
- ref: 'filename',
166
- props: {
167
- value: defaultOptions.filename,
168
- type: 'text',
169
- clearable: true,
170
- placeholder: getI18n('vxe.export.expNamePlaceholder')
171
- },
172
- on: {
173
- modelValue (value: any) {
174
- defaultOptions.filename = value
175
- }
176
- }
177
- })
178
- ])
179
- ]),
180
- isPrint
181
- ? _e()
182
- : h('tr', [
183
- h('td', getI18n('vxe.export.expType')),
184
- h('td', [
185
- h('vxe-select', {
186
- props: {
187
- value: defaultOptions.type,
188
- options: storeData.typeList
189
- },
190
- on: {
191
- input (value: any) {
192
- defaultOptions.type = value
193
- }
194
- }
195
- })
174
+
175
+ return h('div', {
176
+ class: 'vxe-table-export--panel'
177
+ }, [
178
+ topSlot
179
+ ? h('div', {
180
+ class: 'vxe-table-export--panel-top'
181
+ }, $xeTable.callSlot(topSlot, params, h))
182
+ : renderEmptyElement(this),
183
+ h('div', {
184
+ class: 'vxe-table-export--panel-body'
185
+ }, defaultSlot
186
+ ? $xeTable.callSlot(defaultSlot, params, h)
187
+ : [
188
+ h('table', {
189
+ attrs: {
190
+ class: 'vxe-table-export--panel-table',
191
+ cellspacing: 0,
192
+ cellpadding: 0,
193
+ border: 0
194
+ }
195
+ }, [
196
+ h('tbody', [
197
+ [
198
+ isPrint
199
+ ? _e()
200
+ : h('tr', [
201
+ h('td', getI18n('vxe.export.expName')),
202
+ h('td', [
203
+ h('vxe-input', {
204
+ ref: 'filename',
205
+ props: {
206
+ value: defaultOptions.filename,
207
+ type: 'text',
208
+ clearable: true,
209
+ placeholder: getI18n('vxe.export.expNamePlaceholder')
210
+ },
211
+ on: {
212
+ modelValue (value: any) {
213
+ defaultOptions.filename = value
214
+ }
215
+ }
216
+ })
217
+ ])
218
+ ]),
219
+ isPrint
220
+ ? _e()
221
+ : h('tr', [
222
+ h('td', getI18n('vxe.export.expType')),
223
+ h('td', [
224
+ h('vxe-select', {
225
+ props: {
226
+ value: defaultOptions.type,
227
+ options: storeData.typeList
228
+ },
229
+ on: {
230
+ input (value: any) {
231
+ defaultOptions.type = value
232
+ }
233
+ }
234
+ })
235
+ ])
236
+ ]),
237
+ isPrint || showSheet
238
+ ? h('tr', [
239
+ h('td', getI18n('vxe.export.expSheetName')),
240
+ h('td', [
241
+ h('vxe-input', {
242
+ ref: 'sheetname',
243
+ props: {
244
+ value: defaultOptions.sheetName,
245
+ type: 'text',
246
+ clearable: true,
247
+ placeholder: getI18n('vxe.export.expSheetNamePlaceholder')
248
+ },
249
+ on: {
250
+ modelValue (value: any) {
251
+ defaultOptions.sheetName = value
252
+ }
253
+ }
254
+ })
255
+ ])
256
+ ])
257
+ : _e(),
258
+ h('tr', [
259
+ h('td', getI18n('vxe.export.expMode')),
260
+ h('td', [
261
+ h('vxe-select', {
262
+ props: {
263
+ value: defaultOptions.mode,
264
+ options: storeData.modeList
265
+ },
266
+ on: {
267
+ input (value: any) {
268
+ defaultOptions.mode = value
269
+ }
270
+ }
271
+ })
272
+ ])
273
+ ]),
274
+ h('tr', [
275
+ h('td', [getI18n('vxe.export.expColumn')]),
276
+ h('td', [
277
+ h('div', {
278
+ class: 'vxe-table-export--panel-column'
279
+ }, [
280
+ h('ul', {
281
+ class: 'vxe-table-export--panel-column-header'
282
+ }, [
283
+ h('li', {
284
+ class: ['vxe-table-export--panel-column-option', {
285
+ 'is--checked': isAllChecked,
286
+ 'is--indeterminate': isAllIndeterminate
287
+ }],
288
+ attrs: {
289
+ title: getI18n('vxe.table.allTitle')
290
+ },
291
+ on: {
292
+ click: this.allColumnEvent
293
+ }
294
+ }, [
295
+ h('span', {
296
+ class: ['vxe-checkbox--icon', isAllIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isAllChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED)]
297
+ }),
298
+ h('span', {
299
+ class: 'vxe-checkbox--label'
300
+ }, getI18n('vxe.export.expCurrentColumn'))
301
+ ])
302
+ ]),
303
+ h('ul', {
304
+ class: 'vxe-table-export--panel-column-body'
305
+ }, cols)
306
+ ])
307
+ ])
308
+ ]),
309
+ h('tr', [
310
+ h('td', getI18n('vxe.export.expOpts')),
311
+ parameterSlot
312
+ ? h('td', [
313
+ h('div', {
314
+ class: 'vxe-table-export--panel-option-row'
315
+ }, $xeTable.callSlot(parameterSlot, params))
316
+ ])
317
+ : h('td', [
318
+ h('div', {
319
+ class: 'vxe-table-export--panel-option-row'
320
+ }, [
321
+ h('vxe-checkbox', {
322
+ props: {
323
+ value: isHeader,
324
+ title: getI18n('vxe.export.expHeaderTitle'),
325
+ content: getI18n('vxe.export.expOptHeader')
326
+ },
327
+ on: {
328
+ input (value: any) {
329
+ defaultOptions.isHeader = value
330
+ }
331
+ }
332
+ }),
333
+ h('vxe-checkbox', {
334
+ props: {
335
+ value: defaultOptions.isFooter,
336
+ disabled: !storeData.hasFooter,
337
+ title: getI18n('vxe.export.expFooterTitle'),
338
+ content: getI18n('vxe.export.expOptFooter')
339
+ },
340
+ on: {
341
+ input (value: any) {
342
+ defaultOptions.isFooter = value
343
+ }
344
+ }
345
+ }),
346
+ h('vxe-checkbox', {
347
+ props: {
348
+ value: defaultOptions.original,
349
+ title: getI18n('vxe.export.expOriginalTitle'),
350
+ content: getI18n('vxe.export.expOptOriginal')
351
+ },
352
+ on: {
353
+ input (value: any) {
354
+ defaultOptions.original = value
355
+ }
356
+ }
357
+ })
358
+ ]),
359
+ h('div', {
360
+ class: 'vxe-table-export--panel-option-row'
361
+ }, [
362
+ h('vxe-checkbox', {
363
+ props: {
364
+ value: isHeader && hasColgroup && supportMerge ? defaultOptions.isColgroup : false,
365
+ disabled: !isHeader || !hasColgroup || !supportMerge,
366
+ title: getI18n('vxe.export.expColgroupTitle'),
367
+ content: getI18n('vxe.export.expOptColgroup')
368
+ },
369
+ on: {
370
+ input (value: any) {
371
+ defaultOptions.isColgroup = value
372
+ }
373
+ }
374
+ }),
375
+ h('vxe-checkbox', {
376
+ props: {
377
+ value: hasMerge && supportMerge && checkedAll ? defaultOptions.isMerge : false,
378
+ disabled: !hasMerge || !supportMerge || !checkedAll,
379
+ title: getI18n('vxe.export.expMergeTitle'),
380
+ content: getI18n('vxe.export.expOptMerge')
381
+ },
382
+ on: {
383
+ input (value: any) {
384
+ defaultOptions.isMerge = value
385
+ }
386
+ }
387
+ }),
388
+ isPrint
389
+ ? _e()
390
+ : h('vxe-checkbox', {
391
+ props: {
392
+ value: supportStyle ? defaultOptions.useStyle : false,
393
+ disabled: !supportStyle,
394
+ title: getI18n('vxe.export.expUseStyleTitle'),
395
+ content: getI18n('vxe.export.expOptUseStyle')
396
+ },
397
+ on: {
398
+ input (value: any) {
399
+ defaultOptions.useStyle = value
400
+ }
401
+ }
402
+ }),
403
+ h('vxe-checkbox', {
404
+ props: {
405
+ value: hasTree ? defaultOptions.isAllExpand : false,
406
+ disabled: !hasTree,
407
+ title: getI18n('vxe.export.expAllExpandTitle'),
408
+ content: getI18n('vxe.export.expOptAllExpand')
409
+ },
410
+ on: {
411
+ input (value: any) {
412
+ defaultOptions.isAllExpand = value
413
+ }
414
+ }
415
+ })
416
+ ])
417
+ ])
418
+ ])
419
+ ]
420
+ ])
196
421
  ])
197
422
  ]),
198
- isPrint || showSheet
199
- ? h('tr', [
200
- h('td', getI18n('vxe.export.expSheetName')),
201
- h('td', [
202
- h('vxe-input', {
203
- ref: 'sheetname',
204
- props: {
205
- value: defaultOptions.sheetName,
206
- type: 'text',
207
- clearable: true,
208
- placeholder: getI18n('vxe.export.expSheetNamePlaceholder')
209
- },
210
- on: {
211
- modelValue (value: any) {
212
- defaultOptions.sheetName = value
213
- }
214
- }
215
- })
216
- ])
217
- ])
218
- : _e(),
219
- h('tr', [
220
- h('td', getI18n('vxe.export.expMode')),
221
- h('td', [
222
- h('vxe-select', {
423
+ bottomSlot
424
+ ? h('div', {
425
+ class: 'vxe-table-export--panel-bottom'
426
+ }, $xeTable.callSlot(bottomSlot, params, h))
427
+ : renderEmptyElement(this)
428
+ ])
429
+ },
430
+ footer: () => {
431
+ const params = {
432
+ $table: $xeTable,
433
+ $grid: $xeTable.xegrid,
434
+ options: exportOpts,
435
+ columns,
436
+ params: exportOpts.params as any
437
+ }
438
+ return h('div', {
439
+ class: 'vxe-table-export--panel-footer'
440
+ }, footerSlot
441
+ ? $xeTable.callSlot(footerSlot, params)
442
+ : [
443
+ h('div', {
444
+ class: 'vxe-table-export--panel-btns'
445
+ }, [
446
+ h('vxe-button', {
223
447
  props: {
224
- value: defaultOptions.mode,
225
- options: storeData.modeList
448
+ content: getI18n('vxe.export.expCancel')
226
449
  },
227
450
  on: {
228
- input (value: any) {
229
- defaultOptions.mode = value
230
- }
451
+ click: this.cancelEvent
452
+ }
453
+ }),
454
+ h('vxe-button', {
455
+ ref: 'confirmBtn',
456
+ props: {
457
+ status: 'primary',
458
+ content: getI18n(isPrint ? 'vxe.export.expPrint' : 'vxe.export.expConfirm')
459
+ },
460
+ on: {
461
+ click: this.confirmEvent
231
462
  }
232
463
  })
233
464
  ])
234
- ]),
235
- h('tr', [
236
- h('td', [getI18n('vxe.export.expColumn')]),
237
- h('td', [
238
- h('div', {
239
- class: 'vxe-export--panel-column'
240
- }, [
241
- h('ul', {
242
- class: 'vxe-export--panel-column-header'
243
- }, [
244
- h('li', {
245
- class: ['vxe-export--panel-column-option', {
246
- 'is--checked': isAllChecked,
247
- 'is--indeterminate': isAllIndeterminate
248
- }],
249
- attrs: {
250
- title: getI18n('vxe.table.allTitle')
251
- },
252
- on: {
253
- click: this.allColumnEvent
254
- }
255
- }, [
256
- h('span', {
257
- class: ['vxe-checkbox--icon', isAllIndeterminate ? getIcon().TABLE_CHECKBOX_INDETERMINATE : (isAllChecked ? getIcon().TABLE_CHECKBOX_CHECKED : getIcon().TABLE_CHECKBOX_UNCHECKED)]
258
- }),
259
- h('span', {
260
- class: 'vxe-checkbox--label'
261
- }, getI18n('vxe.export.expCurrentColumn'))
262
- ])
263
- ]),
264
- h('ul', {
265
- class: 'vxe-export--panel-column-body'
266
- }, cols)
267
- ])
268
- ])
269
- ]),
270
- h('tr', [
271
- h('td', getI18n('vxe.export.expOpts')),
272
- h('td', [
273
- h('div', {
274
- class: 'vxe-export--panel-option-row'
275
- }, [
276
- h('vxe-checkbox', {
277
- props: {
278
- value: isHeader,
279
- title: getI18n('vxe.export.expHeaderTitle'),
280
- content: getI18n('vxe.export.expOptHeader')
281
- },
282
- on: {
283
- input (value: any) {
284
- defaultOptions.isHeader = value
285
- }
286
- }
287
- }),
288
- h('vxe-checkbox', {
289
- props: {
290
- value: defaultOptions.isFooter,
291
- disabled: !storeData.hasFooter,
292
- title: getI18n('vxe.export.expFooterTitle'),
293
- content: getI18n('vxe.export.expOptFooter')
294
- },
295
- on: {
296
- input (value: any) {
297
- defaultOptions.isFooter = value
298
- }
299
- }
300
- }),
301
- h('vxe-checkbox', {
302
- props: {
303
- value: defaultOptions.original,
304
- title: getI18n('vxe.export.expOriginalTitle'),
305
- content: getI18n('vxe.export.expOptOriginal')
306
- },
307
- on: {
308
- input (value: any) {
309
- defaultOptions.original = value
310
- }
311
- }
312
- })
313
- ]),
314
- h('div', {
315
- class: 'vxe-export--panel-option-row'
316
- }, [
317
- h('vxe-checkbox', {
318
- props: {
319
- value: isHeader && hasColgroup && supportMerge ? defaultOptions.isColgroup : false,
320
- disabled: !isHeader || !hasColgroup || !supportMerge,
321
- title: getI18n('vxe.export.expColgroupTitle'),
322
- content: getI18n('vxe.export.expOptColgroup')
323
- },
324
- on: {
325
- input (value: any) {
326
- defaultOptions.isColgroup = value
327
- }
328
- }
329
- }),
330
- h('vxe-checkbox', {
331
- props: {
332
- value: hasMerge && supportMerge && checkedAll ? defaultOptions.isMerge : false,
333
- disabled: !hasMerge || !supportMerge || !checkedAll,
334
- title: getI18n('vxe.export.expMergeTitle'),
335
- content: getI18n('vxe.export.expOptMerge')
336
- },
337
- on: {
338
- input (value: any) {
339
- defaultOptions.isMerge = value
340
- }
341
- }
342
- }),
343
- isPrint
344
- ? _e()
345
- : h('vxe-checkbox', {
346
- props: {
347
- value: supportStyle ? defaultOptions.useStyle : false,
348
- disabled: !supportStyle,
349
- title: getI18n('vxe.export.expUseStyleTitle'),
350
- content: getI18n('vxe.export.expOptUseStyle')
351
- },
352
- on: {
353
- input (value: any) {
354
- defaultOptions.useStyle = value
355
- }
356
- }
357
- }),
358
- h('vxe-checkbox', {
359
- props: {
360
- value: hasTree ? defaultOptions.isAllExpand : false,
361
- disabled: !hasTree,
362
- title: getI18n('vxe.export.expAllExpandTitle'),
363
- content: getI18n('vxe.export.expOptAllExpand')
364
- },
365
- on: {
366
- input (value: any) {
367
- defaultOptions.isAllExpand = value
368
- }
369
- }
370
- })
371
- ])
372
- ])
373
465
  ])
374
- ]
375
- ])
376
- ]),
377
- h('div', {
378
- class: 'vxe-export--panel-btns'
379
- }, [
380
- h('vxe-button', {
381
- props: {
382
- content: getI18n('vxe.export.expCancel')
383
- },
384
- on: {
385
- click: this.cancelEvent
386
- }
387
- }),
388
- h('vxe-button', {
389
- ref: 'confirmBtn',
390
- props: {
391
- status: 'primary',
392
- content: getI18n(isPrint ? 'vxe.export.expPrint' : 'vxe.export.expConfirm')
393
- },
394
- on: {
395
- click: this.confirmEvent
396
- }
397
- })
398
- ])
399
- ])
400
- ])
466
+ }
467
+ }
468
+ })
401
469
  },
402
470
  methods: {
403
471
  changeOption (column: any) {
@@ -471,9 +539,11 @@ export default {
471
539
  $xetable.print(Object.assign({}, $xetable.printOpts, this.getExportOption()))
472
540
  },
473
541
  exportEvent () {
474
- const $xetable = this.$parent
542
+ const $xeTable = this.$xeTable
543
+ const exportOpts = $xeTable.exportOpts
544
+
475
545
  this.loading = true
476
- $xetable.exportData(Object.assign({}, $xetable.exportOpts, this.getExportOption())).then(() => {
546
+ $xeTable.exportData(Object.assign({}, exportOpts, this.getExportOption())).then(() => {
477
547
  this.loading = false
478
548
  this.storeData.visible = false
479
549
  }).catch(() => {