ele-admin-plus 1.1.9 → 1.2.0-beta.1

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 (149) hide show
  1. package/es/core-export.d.ts +1 -0
  2. package/es/core-export.js +1 -0
  3. package/es/ele-alert/index.d.ts +2 -2
  4. package/es/ele-alert/props.d.ts +1 -1
  5. package/es/ele-app/components/message-body.d.ts +39 -0
  6. package/es/ele-app/components/message-body.js +92 -0
  7. package/es/ele-app/el.d.ts +2 -0
  8. package/es/ele-app/style/message/css-var.scss +0 -4
  9. package/es/ele-app/style/message/index.scss +199 -77
  10. package/es/ele-app/style/overwrite/input/index.scss +2 -0
  11. package/es/ele-app/style/overwrite/message-box/index.scss +31 -0
  12. package/es/ele-app/style/overwrite/tag/css-var.scss +0 -16
  13. package/es/ele-app/style/overwrite/tag/index.scss +57 -14
  14. package/es/ele-app/types.d.ts +6 -1
  15. package/es/ele-config-provider/components/receiver-view.js +3 -3
  16. package/es/ele-config-provider/index.d.ts +8 -4
  17. package/es/ele-config-provider/index.js +19 -5
  18. package/es/ele-config-provider/props.d.ts +9 -4
  19. package/es/ele-config-provider/props.js +9 -5
  20. package/es/ele-config-provider/receiver.js +2 -2
  21. package/es/ele-config-provider/types.d.ts +22 -1
  22. package/es/ele-data-table/types.d.ts +2 -0
  23. package/es/ele-drawer/index.d.ts +2 -2
  24. package/es/ele-edit-tag/index.d.ts +9 -4
  25. package/es/ele-edit-tag/index.js +4 -2
  26. package/es/ele-edit-tag/props.d.ts +3 -1
  27. package/es/ele-edit-tag/props.js +2 -0
  28. package/es/ele-edit-tag/style/index.scss +11 -4
  29. package/es/ele-icon-select/index.d.ts +10 -12
  30. package/es/ele-icon-select/props.d.ts +1 -1
  31. package/es/ele-map-picker/index.d.ts +1 -1
  32. package/es/ele-menus/index.d.ts +2 -2
  33. package/es/ele-menus/index.js +11 -0
  34. package/es/ele-modal/index.d.ts +3 -3
  35. package/es/ele-modal/style/index.scss +2 -0
  36. package/es/ele-modal/util.d.ts +1 -1
  37. package/es/ele-modal/util.js +2 -4
  38. package/es/ele-popconfirm/index.d.ts +3 -3
  39. package/es/ele-popconfirm/props.d.ts +1 -1
  40. package/es/ele-popover/index.d.ts +2 -2
  41. package/es/ele-pro-layout/components/pro-header.d.ts +1 -1
  42. package/es/ele-pro-layout/components/pro-sidebar.d.ts +1 -1
  43. package/es/ele-pro-layout/index.js +1 -1
  44. package/es/ele-pro-layout/types.d.ts +4 -4
  45. package/es/ele-pro-table/components/table-tools.d.ts +11 -2
  46. package/es/ele-pro-table/components/table-tools.js +14 -26
  47. package/es/ele-pro-table/components/tool-column.d.ts +1 -0
  48. package/es/ele-pro-table/components/tool-export.d.ts +29 -56
  49. package/es/ele-pro-table/components/tool-export.js +100 -52
  50. package/es/ele-pro-table/components/tool-print-body-cell.js +50 -6
  51. package/es/ele-pro-table/components/tool-print-header-cell.js +4 -1
  52. package/es/ele-pro-table/components/tool-print.d.ts +29 -50
  53. package/es/ele-pro-table/components/tool-print.js +174 -69
  54. package/es/ele-pro-table/index.js +59 -50
  55. package/es/ele-pro-table/style/index.scss +9 -0
  56. package/es/ele-pro-table/types.d.ts +32 -0
  57. package/es/ele-pro-table/util.d.ts +18 -3
  58. package/es/ele-pro-table/util.js +160 -28
  59. package/es/ele-table/style/index.scss +16 -0
  60. package/es/ele-tooltip/index.d.ts +3 -3
  61. package/es/ele-virtual-table/util.d.ts +3 -1
  62. package/es/ele-virtual-table/util.js +7 -2
  63. package/es/icons/LoadingOutlined.js +1 -1
  64. package/es/lang/en_US.js +7 -1
  65. package/es/lang/zh_CN.js +7 -1
  66. package/es/lang/zh_TW.js +7 -1
  67. package/es/style/themes/default.scss +82 -85
  68. package/es/style/themes/rounded.scss +11 -15
  69. package/es/utils/core.d.ts +7 -0
  70. package/es/utils/core.js +16 -2
  71. package/es/utils/message-box.d.ts +25 -0
  72. package/es/utils/message-box.js +71 -0
  73. package/es/utils/message.d.ts +44 -20
  74. package/es/utils/message.js +220 -37
  75. package/lib/core-export.cjs +8 -0
  76. package/lib/core-export.d.ts +1 -0
  77. package/lib/ele-alert/index.d.ts +2 -2
  78. package/lib/ele-alert/props.d.ts +1 -1
  79. package/lib/ele-app/components/message-body.cjs +91 -0
  80. package/lib/ele-app/components/message-body.d.ts +39 -0
  81. package/lib/ele-app/el.d.ts +2 -0
  82. package/lib/ele-app/style/message/css-var.scss +0 -4
  83. package/lib/ele-app/style/message/index.scss +199 -77
  84. package/lib/ele-app/style/overwrite/input/index.scss +2 -0
  85. package/lib/ele-app/style/overwrite/message-box/index.scss +31 -0
  86. package/lib/ele-app/style/overwrite/tag/css-var.scss +0 -16
  87. package/lib/ele-app/style/overwrite/tag/index.scss +57 -14
  88. package/lib/ele-app/types.d.ts +6 -1
  89. package/lib/ele-config-provider/components/receiver-view.cjs +1 -1
  90. package/lib/ele-config-provider/index.cjs +18 -4
  91. package/lib/ele-config-provider/index.d.ts +8 -4
  92. package/lib/ele-config-provider/props.cjs +9 -5
  93. package/lib/ele-config-provider/props.d.ts +9 -4
  94. package/lib/ele-config-provider/receiver.cjs +1 -1
  95. package/lib/ele-config-provider/types.d.ts +22 -1
  96. package/lib/ele-data-table/types.d.ts +2 -0
  97. package/lib/ele-drawer/index.d.ts +2 -2
  98. package/lib/ele-edit-tag/index.cjs +4 -2
  99. package/lib/ele-edit-tag/index.d.ts +9 -4
  100. package/lib/ele-edit-tag/props.cjs +2 -0
  101. package/lib/ele-edit-tag/props.d.ts +3 -1
  102. package/lib/ele-edit-tag/style/index.scss +11 -4
  103. package/lib/ele-icon-select/index.d.ts +10 -12
  104. package/lib/ele-icon-select/props.d.ts +1 -1
  105. package/lib/ele-map-picker/index.d.ts +1 -1
  106. package/lib/ele-menus/index.cjs +11 -0
  107. package/lib/ele-menus/index.d.ts +2 -2
  108. package/lib/ele-modal/index.d.ts +3 -3
  109. package/lib/ele-modal/style/index.scss +2 -0
  110. package/lib/ele-modal/util.cjs +1 -3
  111. package/lib/ele-modal/util.d.ts +1 -1
  112. package/lib/ele-popconfirm/index.d.ts +3 -3
  113. package/lib/ele-popconfirm/props.d.ts +1 -1
  114. package/lib/ele-popover/index.d.ts +2 -2
  115. package/lib/ele-pro-layout/components/pro-header.d.ts +1 -1
  116. package/lib/ele-pro-layout/components/pro-sidebar.d.ts +1 -1
  117. package/lib/ele-pro-layout/index.cjs +1 -1
  118. package/lib/ele-pro-layout/types.d.ts +4 -4
  119. package/lib/ele-pro-table/components/table-tools.cjs +14 -26
  120. package/lib/ele-pro-table/components/table-tools.d.ts +11 -2
  121. package/lib/ele-pro-table/components/tool-column.d.ts +1 -0
  122. package/lib/ele-pro-table/components/tool-export.cjs +99 -51
  123. package/lib/ele-pro-table/components/tool-export.d.ts +29 -56
  124. package/lib/ele-pro-table/components/tool-print-body-cell.cjs +49 -5
  125. package/lib/ele-pro-table/components/tool-print-header-cell.cjs +4 -1
  126. package/lib/ele-pro-table/components/tool-print.cjs +172 -67
  127. package/lib/ele-pro-table/components/tool-print.d.ts +29 -50
  128. package/lib/ele-pro-table/index.cjs +59 -50
  129. package/lib/ele-pro-table/style/index.scss +9 -0
  130. package/lib/ele-pro-table/types.d.ts +32 -0
  131. package/lib/ele-pro-table/util.cjs +160 -28
  132. package/lib/ele-pro-table/util.d.ts +18 -3
  133. package/lib/ele-table/style/index.scss +16 -0
  134. package/lib/ele-tooltip/index.d.ts +3 -3
  135. package/lib/ele-virtual-table/util.cjs +7 -2
  136. package/lib/ele-virtual-table/util.d.ts +3 -1
  137. package/lib/icons/LoadingOutlined.cjs +1 -1
  138. package/lib/lang/en_US.cjs +7 -1
  139. package/lib/lang/zh_CN.cjs +7 -1
  140. package/lib/lang/zh_TW.cjs +7 -1
  141. package/lib/style/themes/default.scss +82 -85
  142. package/lib/style/themes/rounded.scss +11 -15
  143. package/lib/utils/core.cjs +16 -2
  144. package/lib/utils/core.d.ts +7 -0
  145. package/lib/utils/message-box.cjs +71 -0
  146. package/lib/utils/message-box.d.ts +25 -0
  147. package/lib/utils/message.cjs +216 -33
  148. package/lib/utils/message.d.ts +44 -20
  149. package/package.json +14 -14
@@ -49,6 +49,8 @@ const _sfc_main = vue.defineComponent({
49
49
  pageData: Array,
50
50
  /** 单元格合并行列方法 */
51
51
  spanMethod: Function,
52
+ /** 表格是否有表头 */
53
+ tableHeader: Boolean,
52
54
  /** 是否显示合计行 */
53
55
  showSummary: Boolean,
54
56
  /** 合计行文本 */
@@ -65,6 +67,8 @@ const _sfc_main = vue.defineComponent({
65
67
  headerCellClassName: [String, Function],
66
68
  /** 序号列起始索引 */
67
69
  pageIndex: Number,
70
+ /** 子级字段名 */
71
+ childrenField: String,
68
72
  /** 表格请求数据方法 */
69
73
  fetch: Function,
70
74
  /** 导出配置 */
@@ -214,53 +218,36 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
214
218
  }, 1032, ["placement", "title", "onClick"])) : tool === "export" ? (vue.openBlock(), vue.createBlock(_component_ToolExport, {
215
219
  key: index + "-export",
216
220
  placement: _ctx.placement,
217
- title: _ctx.lang.export,
218
- checkAllText: _ctx.lang.columnTitle,
219
- resetText: _ctx.lang.columnReset,
220
- untitledText: _ctx.lang.columnUntitled,
221
- fileNameText: _ctx.lang.exportFileName,
222
- fileNamePlaceholderText: _ctx.lang.exportFileNamePlaceholder,
223
- selectDataText: _ctx.lang.exportSelectData,
224
- selectColumnText: _ctx.lang.exportSelectColumn,
225
- dataTypePageText: _ctx.lang.exportDataTypePage,
226
- dataTypeSelectedText: _ctx.lang.exportDataTypeSelected,
227
- dataTypeAllText: _ctx.lang.exportDataTypeAll,
228
- cancelText: _ctx.lang.exportCancel,
229
- okText: _ctx.lang.exportOk,
221
+ locale: _ctx.lang,
230
222
  modalProps: _ctx.exportConfig.modalProps,
231
223
  columns: _ctx.columns,
232
224
  selections: _ctx.selections,
233
225
  pageData: _ctx.pageData,
234
226
  datasource: _ctx.exportConfig.datasource,
235
227
  spanMethod: _ctx.spanMethod,
228
+ tableHeader: _ctx.tableHeader,
236
229
  showSummary: _ctx.showSummary,
237
230
  sumText: _ctx.sumText,
238
231
  summaryMethod: _ctx.summaryMethod,
239
232
  pageIndex: _ctx.pageIndex,
233
+ childrenField: _ctx.childrenField,
240
234
  fetch: _ctx.fetch,
241
235
  defaultFileName: _ctx.exportConfig.fileName,
242
236
  defaultDataType: _ctx.exportConfig.dataType,
243
237
  beforeExport: _ctx.exportConfig.beforeExport
244
- }, null, 8, ["placement", "title", "checkAllText", "resetText", "untitledText", "fileNameText", "fileNamePlaceholderText", "selectDataText", "selectColumnText", "dataTypePageText", "dataTypeSelectedText", "dataTypeAllText", "cancelText", "okText", "modalProps", "columns", "selections", "pageData", "datasource", "spanMethod", "showSummary", "sumText", "summaryMethod", "pageIndex", "fetch", "defaultFileName", "defaultDataType", "beforeExport"])) : tool === "print" ? (vue.openBlock(), vue.createBlock(_component_ToolPrint, {
238
+ }, null, 8, ["placement", "locale", "modalProps", "columns", "selections", "pageData", "datasource", "spanMethod", "tableHeader", "showSummary", "sumText", "summaryMethod", "pageIndex", "childrenField", "fetch", "defaultFileName", "defaultDataType", "beforeExport"])) : tool === "print" ? (vue.openBlock(), vue.createBlock(_component_ToolPrint, {
245
239
  key: index + "-print",
246
240
  placement: _ctx.placement,
247
- title: _ctx.lang.print,
248
- checkAllText: _ctx.lang.columnTitle,
249
- resetText: _ctx.lang.columnReset,
250
- untitledText: _ctx.lang.columnUntitled,
251
- selectDataText: _ctx.lang.exportSelectData,
252
- selectColumnText: _ctx.lang.exportSelectColumn,
253
- dataTypePageText: _ctx.lang.exportDataTypePage,
254
- dataTypeSelectedText: _ctx.lang.exportDataTypeSelected,
255
- dataTypeAllText: _ctx.lang.exportDataTypeAll,
256
- cancelText: _ctx.lang.exportCancel,
257
- okText: _ctx.lang.exportOk,
241
+ locale: _ctx.lang,
258
242
  modalProps: _ctx.printConfig.modalProps,
243
+ printerProps: _ctx.printConfig.printerProps,
244
+ tableProps: _ctx.printConfig.tableProps,
259
245
  columns: _ctx.columns,
260
246
  selections: _ctx.selections,
261
247
  pageData: _ctx.pageData,
262
248
  datasource: _ctx.printConfig.datasource,
263
249
  spanMethod: _ctx.spanMethod,
250
+ tableHeader: _ctx.tableHeader,
264
251
  showSummary: _ctx.showSummary,
265
252
  sumText: _ctx.sumText,
266
253
  summaryMethod: _ctx.summaryMethod,
@@ -269,6 +256,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
269
256
  headerCellStyle: _ctx.headerCellStyle,
270
257
  headerCellClassName: _ctx.headerCellClassName,
271
258
  pageIndex: _ctx.pageIndex,
259
+ childrenField: _ctx.childrenField,
272
260
  fetch: _ctx.fetch,
273
261
  defaultDataType: _ctx.printConfig.dataType,
274
262
  beforePrint: _ctx.printConfig.beforePrint
@@ -281,7 +269,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
281
269
  ])
282
270
  };
283
271
  })
284
- ]), 1032, ["placement", "title", "checkAllText", "resetText", "untitledText", "selectDataText", "selectColumnText", "dataTypePageText", "dataTypeSelectedText", "dataTypeAllText", "cancelText", "okText", "modalProps", "columns", "selections", "pageData", "datasource", "spanMethod", "showSummary", "sumText", "summaryMethod", "cellStyle", "cellClassName", "headerCellStyle", "headerCellClassName", "pageIndex", "fetch", "defaultDataType", "beforePrint"])) : tool && !["default", "printTop", "printBottom"].includes(tool) && _ctx.$slots[tool] ? vue.renderSlot(_ctx.$slots, tool, {
272
+ ]), 1032, ["placement", "locale", "modalProps", "printerProps", "tableProps", "columns", "selections", "pageData", "datasource", "spanMethod", "tableHeader", "showSummary", "sumText", "summaryMethod", "cellStyle", "cellClassName", "headerCellStyle", "headerCellClassName", "pageIndex", "childrenField", "fetch", "defaultDataType", "beforePrint"])) : tool && !["default", "printTop", "printBottom"].includes(tool) && _ctx.$slots[tool] ? vue.renderSlot(_ctx.$slots, tool, {
285
273
  key: 6,
286
274
  pageIndex: _ctx.pageIndex,
287
275
  fetch: _ctx.fetch
@@ -28,7 +28,7 @@ declare const _default: import('vue').DefineComponent<{
28
28
  pageData: PropType<DataItem[]>;
29
29
  /** 单元格合并行列方法 */
30
30
  spanMethod: PropType<((data: {
31
- row: DataItem; /** 提示方向 */
31
+ row: DataItem;
32
32
  rowIndex: number;
33
33
  column: import('element-plus').TableColumnCtx<DataItem>;
34
34
  columnIndex: number;
@@ -36,6 +36,8 @@ declare const _default: import('vue').DefineComponent<{
36
36
  rowspan: number;
37
37
  colspan: number;
38
38
  } | undefined) | undefined>;
39
+ /** 表格是否有表头 */
40
+ tableHeader: BooleanConstructor;
39
41
  /** 是否显示合计行 */
40
42
  showSummary: BooleanConstructor;
41
43
  /** 合计行文本 */
@@ -52,6 +54,8 @@ declare const _default: import('vue').DefineComponent<{
52
54
  headerCellClassName: PropType<import('element-plus').CellCls<DataItem> | undefined>;
53
55
  /** 序号列起始索引 */
54
56
  pageIndex: NumberConstructor;
57
+ /** 子级字段名 */
58
+ childrenField: StringConstructor;
55
59
  /** 表格请求数据方法 */
56
60
  fetch: PropType<FetchFunction>;
57
61
  /** 导出配置 */
@@ -102,7 +106,7 @@ declare const _default: import('vue').DefineComponent<{
102
106
  pageData: PropType<DataItem[]>;
103
107
  /** 单元格合并行列方法 */
104
108
  spanMethod: PropType<((data: {
105
- row: DataItem; /** 提示方向 */
109
+ row: DataItem;
106
110
  rowIndex: number;
107
111
  column: import('element-plus').TableColumnCtx<DataItem>;
108
112
  columnIndex: number;
@@ -110,6 +114,8 @@ declare const _default: import('vue').DefineComponent<{
110
114
  rowspan: number;
111
115
  colspan: number;
112
116
  } | undefined) | undefined>;
117
+ /** 表格是否有表头 */
118
+ tableHeader: BooleanConstructor;
113
119
  /** 是否显示合计行 */
114
120
  showSummary: BooleanConstructor;
115
121
  /** 合计行文本 */
@@ -126,6 +132,8 @@ declare const _default: import('vue').DefineComponent<{
126
132
  headerCellClassName: PropType<import('element-plus').CellCls<DataItem> | undefined>;
127
133
  /** 序号列起始索引 */
128
134
  pageIndex: NumberConstructor;
135
+ /** 子级字段名 */
136
+ childrenField: StringConstructor;
129
137
  /** 表格请求数据方法 */
130
138
  fetch: PropType<FetchFunction>;
131
139
  /** 导出配置 */
@@ -148,5 +156,6 @@ declare const _default: import('vue').DefineComponent<{
148
156
  maximized: boolean;
149
157
  columnSortable: boolean;
150
158
  columnFixed: boolean;
159
+ tableHeader: boolean;
151
160
  }, {}>;
152
161
  export default _default;
@@ -32,6 +32,7 @@ declare const _default: import('vue').DefineComponent<{
32
32
  checked?: boolean | undefined;
33
33
  fixed?: string | boolean | undefined;
34
34
  children?: any[] | undefined;
35
+ type?: string | undefined;
35
36
  }[]>;
36
37
  isCheckAll: import('vue').Ref<boolean>;
37
38
  isIndeterminate: import('vue').Ref<boolean>;
@@ -24,34 +24,13 @@ const _sfc_main = vue.defineComponent({
24
24
  ToolColumnList
25
25
  },
26
26
  props: {
27
- /** 提示文字 */
28
- title: String,
29
27
  /** 提示位置 */
30
28
  placement: String,
31
- /** 全选文字 */
32
- checkAllText: String,
33
- /** 重置文字 */
34
- resetText: String,
35
- /** 无标题列文字 */
36
- untitledText: String,
37
- /** 文件名文字 */
38
- fileNameText: String,
39
- /** 文件名提示文字 */
40
- fileNamePlaceholderText: String,
41
- /** 选择数据文字 */
42
- selectDataText: String,
43
- /** 选择字段文字 */
44
- selectColumnText: String,
45
- /** 当前页数据文字 */
46
- dataTypePageText: String,
47
- /** 选中数据文字 */
48
- dataTypeSelectedText: String,
49
- /** 全部数据文字 */
50
- dataTypeAllText: String,
51
- /** 取消文字 */
52
- cancelText: String,
53
- /** 确定文字 */
54
- okText: String,
29
+ /** 表格国际化 */
30
+ locale: {
31
+ type: Object,
32
+ required: true
33
+ },
55
34
  /** 弹窗参数 */
56
35
  modalProps: Object,
57
36
  /** 列数据 */
@@ -64,6 +43,8 @@ const _sfc_main = vue.defineComponent({
64
43
  datasource: [Array, Function],
65
44
  /** 单元格合并行列方法 */
66
45
  spanMethod: Function,
46
+ /** 表格是否有表头 */
47
+ tableHeader: Boolean,
67
48
  /** 是否显示合计行 */
68
49
  showSummary: Boolean,
69
50
  /** 合计行文本 */
@@ -72,6 +53,8 @@ const _sfc_main = vue.defineComponent({
72
53
  summaryMethod: Function,
73
54
  /** 序号列起始索引 */
74
55
  pageIndex: Number,
56
+ /** 子级字段名 */
57
+ childrenField: String,
75
58
  /** 表格请求数据方法 */
76
59
  fetch: Function,
77
60
  /** 默认文件名 */
@@ -97,7 +80,7 @@ const _sfc_main = vue.defineComponent({
97
80
  });
98
81
  const fileNameRules = vue.reactive({
99
82
  required: true,
100
- message: props.fileNamePlaceholderText,
83
+ message: props.locale.exportFileNamePlaceholder,
101
84
  type: "string",
102
85
  trigger: "blur"
103
86
  });
@@ -105,6 +88,10 @@ const _sfc_main = vue.defineComponent({
105
88
  const colItems = vue.ref([]);
106
89
  const isCheckAll = vue.ref(false);
107
90
  const isIndeterminate = vue.ref(false);
91
+ const showHeader = vue.ref(true);
92
+ const showFooter = vue.ref(false);
93
+ const showTreeIndex = vue.ref(false);
94
+ const treeIndexDisabled = vue.ref(true);
108
95
  const openModal = () => {
109
96
  visible.value = true;
110
97
  };
@@ -130,9 +117,12 @@ const _sfc_main = vue.defineComponent({
130
117
  columns,
131
118
  props.spanMethod,
132
119
  props.pageIndex,
133
- props.showSummary,
120
+ showFooter.value,
134
121
  props.sumText,
135
- props.summaryMethod
122
+ props.summaryMethod,
123
+ props.childrenField,
124
+ showTreeIndex.value,
125
+ showHeader.value
136
126
  );
137
127
  if (typeof props.beforeExport === "function") {
138
128
  const flag = props.beforeExport({
@@ -188,7 +178,9 @@ const _sfc_main = vue.defineComponent({
188
178
  const initColItems = () => {
189
179
  colItems.value = util.getColItems(
190
180
  props.columns,
191
- props.untitledText,
181
+ props.locale.columnUntitled,
182
+ props.locale.columnIndex,
183
+ props.locale.columnExpand,
192
184
  util.columnsExportFilter,
193
185
  true,
194
186
  true
@@ -209,11 +201,12 @@ const _sfc_main = vue.defineComponent({
209
201
  isCheckAll.value = colItems.value.length > 0 && checkAll;
210
202
  isIndeterminate.value = !checkAll && indeterminate;
211
203
  };
212
- const onCheckedChange = (item, checked) => {
204
+ const onCheckedChange = (item, checked, type) => {
213
205
  let checkAll = true;
214
206
  let indeterminate = false;
215
207
  core.eachTree(colItems.value, (d) => {
216
- if (d.uid === item.uid) {
208
+ const flag = item == null ? type === d.type : d.uid === item.uid;
209
+ if (flag) {
217
210
  d.checked = checked;
218
211
  }
219
212
  if (!d.checked && checkAll) {
@@ -222,7 +215,7 @@ const _sfc_main = vue.defineComponent({
222
215
  if (d.checked && !indeterminate) {
223
216
  indeterminate = true;
224
217
  }
225
- if (d.uid === item.uid && !checkAll && indeterminate) {
218
+ if (flag && !checkAll && indeterminate) {
226
219
  return false;
227
220
  }
228
221
  });
@@ -253,19 +246,36 @@ const _sfc_main = vue.defineComponent({
253
246
  const onReset = () => {
254
247
  initColItems();
255
248
  };
249
+ const handleTreeIndexChange = (checked) => {
250
+ if (checked) {
251
+ onCheckedChange(void 0, false, "index");
252
+ }
253
+ };
256
254
  vue.watch(visible, (visible2) => {
257
255
  var _a, _b;
258
256
  if (visible2) {
259
257
  form.fileName = props.defaultFileName;
260
258
  dataType.value = props.defaultDataType;
261
259
  initColItems();
260
+ showHeader.value = props.tableHeader;
261
+ showFooter.value = props.showSummary;
262
+ treeIndexDisabled.value = !(props.pageData && props.pageData.some(
263
+ (d) => {
264
+ var _a2;
265
+ return props.childrenField && ((_a2 = d[props.childrenField]) == null ? void 0 : _a2.length);
266
+ }
267
+ )) && core.findTree(colItems.value, (c) => c.type === "expand") == null;
268
+ if (treeIndexDisabled.value) {
269
+ showTreeIndex.value = false;
270
+ }
271
+ handleTreeIndexChange(showTreeIndex.value);
262
272
  return;
263
273
  }
264
274
  loading.value = false;
265
275
  (_b = (_a = formRef.value) == null ? void 0 : _a.clearValidate) == null ? void 0 : _b.call(_a);
266
276
  });
267
277
  vue.watch(
268
- () => props.fileNamePlaceholderText,
278
+ () => props.locale.exportFileNamePlaceholder,
269
279
  (placeholder) => {
270
280
  fileNameRules.message = placeholder;
271
281
  }
@@ -280,13 +290,18 @@ const _sfc_main = vue.defineComponent({
280
290
  colItems,
281
291
  isCheckAll,
282
292
  isIndeterminate,
293
+ showHeader,
294
+ showFooter,
295
+ showTreeIndex,
296
+ treeIndexDisabled,
283
297
  openModal,
284
298
  closeModal,
285
299
  handleExport,
286
300
  onCheckedChange,
287
301
  onSortChange,
288
302
  onCheckAllChange,
289
- onReset
303
+ onReset,
304
+ handleTreeIndexChange
290
305
  };
291
306
  }
292
307
  });
@@ -300,6 +315,7 @@ const _export_sfc = (sfc, props) => {
300
315
  const _hoisted_1 = { class: "ele-tool-column is-sortable" };
301
316
  const _hoisted_2 = { class: "ele-tool-column-header" };
302
317
  const _hoisted_3 = { class: "ele-tool-column-label" };
318
+ const _hoisted_4 = { class: "ele-tool-form-options" };
303
319
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
304
320
  const _component_DownloadOutlined = vue.resolveComponent("DownloadOutlined");
305
321
  const _component_ElIcon = vue.resolveComponent("ElIcon");
@@ -314,7 +330,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
314
330
  const _component_EleModal = vue.resolveComponent("EleModal");
315
331
  const _component_EleTool = vue.resolveComponent("EleTool");
316
332
  return vue.openBlock(), vue.createBlock(_component_EleTool, {
317
- title: _ctx.title,
333
+ title: _ctx.locale.export,
318
334
  placement: _ctx.placement,
319
335
  onClick: _ctx.openModal
320
336
  }, {
@@ -328,16 +344,16 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
328
344
  vue.createVNode(_component_EleModal, vue.mergeProps({
329
345
  form: true,
330
346
  width: "460px",
331
- title: _ctx.title,
347
+ title: _ctx.locale.export,
332
348
  position: "center"
333
349
  }, _ctx.modalProps || {}, {
334
350
  modelValue: _ctx.visible,
335
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => _ctx.visible = $event)
351
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => _ctx.visible = $event)
336
352
  }), {
337
353
  footer: vue.withCtx(() => [
338
354
  vue.createVNode(_component_ElButton, { onClick: _ctx.closeModal }, {
339
355
  default: vue.withCtx(() => [
340
- vue.createTextVNode(vue.toDisplayString(_ctx.cancelText), 1)
356
+ vue.createTextVNode(vue.toDisplayString(_ctx.locale.exportCancel), 1)
341
357
  ]),
342
358
  _: 1
343
359
  }, 8, ["onClick"]),
@@ -347,7 +363,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
347
363
  onClick: _ctx.handleExport
348
364
  }, {
349
365
  default: vue.withCtx(() => [
350
- vue.createTextVNode(vue.toDisplayString(_ctx.okText), 1)
366
+ vue.createTextVNode(vue.toDisplayString(_ctx.locale.exportOk), 1)
351
367
  ]),
352
368
  _: 1
353
369
  }, 8, ["loading", "onClick"])
@@ -357,13 +373,13 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
357
373
  ref: "formRef",
358
374
  model: _ctx.form,
359
375
  labelWidth: "80px",
360
- onSubmit: _cache[3] || (_cache[3] = vue.withModifiers(() => {
376
+ onSubmit: _cache[6] || (_cache[6] = vue.withModifiers(() => {
361
377
  }, ["prevent"])),
362
378
  class: "ele-tool-export-form"
363
379
  }, {
364
380
  default: vue.withCtx(() => [
365
381
  vue.createVNode(_component_ElFormItem, {
366
- label: _ctx.fileNameText,
382
+ label: _ctx.locale.exportFileName,
367
383
  prop: "fileName",
368
384
  rules: _ctx.fileNameRules
369
385
  }, {
@@ -373,33 +389,35 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
373
389
  clearable: true,
374
390
  modelValue: _ctx.form.fileName,
375
391
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.form.fileName = $event),
376
- placeholder: _ctx.fileNamePlaceholderText
392
+ placeholder: _ctx.locale.exportFileNamePlaceholder
377
393
  }, null, 8, ["modelValue", "placeholder"])
378
394
  ]),
379
395
  _: 1
380
396
  }, 8, ["label", "rules"]),
381
- vue.createVNode(_component_ElFormItem, { label: _ctx.selectDataText }, {
397
+ vue.createVNode(_component_ElFormItem, {
398
+ label: _ctx.locale.exportSelectData
399
+ }, {
382
400
  default: vue.withCtx(() => [
383
401
  vue.createVNode(_component_ElSelect, {
384
402
  modelValue: _ctx.dataType,
385
403
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => _ctx.dataType = $event),
386
- placeholder: _ctx.selectDataText
404
+ placeholder: _ctx.locale.exportSelectData
387
405
  }, {
388
406
  default: vue.withCtx(() => [
389
407
  _ctx.pageData != null ? (vue.openBlock(), vue.createBlock(_component_ElOption, {
390
408
  key: 0,
391
409
  value: "pageData",
392
- label: _ctx.dataTypePageText
410
+ label: _ctx.locale.exportDataTypePage
393
411
  }, null, 8, ["label"])) : vue.createCommentVNode("", true),
394
412
  _ctx.selections != null ? (vue.openBlock(), vue.createBlock(_component_ElOption, {
395
413
  key: 1,
396
414
  value: "selections",
397
- label: _ctx.dataTypeSelectedText
415
+ label: _ctx.locale.exportDataTypeSelected
398
416
  }, null, 8, ["label"])) : vue.createCommentVNode("", true),
399
417
  _ctx.datasource != null ? (vue.openBlock(), vue.createBlock(_component_ElOption, {
400
418
  key: 2,
401
419
  value: "data",
402
- label: _ctx.dataTypeAllText
420
+ label: _ctx.locale.exportDataTypeAll
403
421
  }, null, 8, ["label"])) : vue.createCommentVNode("", true)
404
422
  ]),
405
423
  _: 1
@@ -407,13 +425,15 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
407
425
  ]),
408
426
  _: 1
409
427
  }, 8, ["label"]),
410
- vue.createVNode(_component_ElFormItem, { label: _ctx.selectColumnText }, {
428
+ vue.createVNode(_component_ElFormItem, {
429
+ label: _ctx.locale.exportSelectColumn
430
+ }, {
411
431
  default: vue.withCtx(() => [
412
432
  vue.createElementVNode("div", _hoisted_1, [
413
433
  vue.createElementVNode("div", _hoisted_2, [
414
434
  vue.createElementVNode("div", _hoisted_3, [
415
435
  vue.createVNode(_component_ElCheckbox, {
416
- label: _ctx.checkAllText,
436
+ label: _ctx.locale.columnTitle,
417
437
  modelValue: _ctx.isCheckAll,
418
438
  indeterminate: _ctx.isIndeterminate,
419
439
  "onUpdate:modelValue": _ctx.onCheckAllChange
@@ -422,7 +442,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
422
442
  vue.createElementVNode("div", {
423
443
  class: "ele-tool-column-link",
424
444
  onClick: _cache[2] || (_cache[2] = (...args) => _ctx.onReset && _ctx.onReset(...args))
425
- }, vue.toDisplayString(_ctx.resetText), 1)
445
+ }, vue.toDisplayString(_ctx.locale.columnReset), 1)
426
446
  ]),
427
447
  vue.createVNode(_component_ToolColumnList, {
428
448
  data: _ctx.colItems,
@@ -433,6 +453,34 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
433
453
  ])
434
454
  ]),
435
455
  _: 1
456
+ }, 8, ["label"]),
457
+ vue.createVNode(_component_ElFormItem, {
458
+ label: _ctx.locale.exportOther
459
+ }, {
460
+ default: vue.withCtx(() => [
461
+ vue.createElementVNode("div", _hoisted_4, [
462
+ vue.createVNode(_component_ElCheckbox, {
463
+ label: _ctx.locale.exportOtherHeader,
464
+ modelValue: _ctx.showHeader,
465
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => _ctx.showHeader = $event),
466
+ disabled: !_ctx.tableHeader
467
+ }, null, 8, ["label", "modelValue", "disabled"]),
468
+ vue.createVNode(_component_ElCheckbox, {
469
+ label: _ctx.locale.exportOtherFooter,
470
+ modelValue: _ctx.showFooter,
471
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => _ctx.showFooter = $event),
472
+ disabled: !_ctx.showSummary
473
+ }, null, 8, ["label", "modelValue", "disabled"]),
474
+ vue.createVNode(_component_ElCheckbox, {
475
+ label: _ctx.locale.exportOtherTreeIndex,
476
+ modelValue: _ctx.showTreeIndex,
477
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => _ctx.showTreeIndex = $event),
478
+ disabled: _ctx.treeIndexDisabled,
479
+ onChange: _ctx.handleTreeIndexChange
480
+ }, null, 8, ["label", "modelValue", "disabled", "onChange"])
481
+ ])
482
+ ]),
483
+ _: 1
436
484
  }, 8, ["label"])
437
485
  ]),
438
486
  _: 1
@@ -1,38 +1,17 @@
1
- import { ExportDataType, BeforeExport, Datasource, FetchFunction, ColItem } from '../types';
1
+ import { TableLocale, ExportDataType, BeforeExport, Datasource, FetchFunction, ColItem } from '../types';
2
2
  import { Columns, DataItem } from '../../ele-data-table/types';
3
3
  import { EleModalProps } from '../../ele-app/plus';
4
4
  import { ElFormInstance } from '../../ele-app/el';
5
5
  import { PropType } from 'vue';
6
6
 
7
7
  declare const _default: import('vue').DefineComponent<{
8
- /** 提示文字 */
9
- title: StringConstructor;
10
8
  /** 提示位置 */
11
9
  placement: PropType<import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, import('element-plus').Placement, unknown> | undefined>;
12
- /** 全选文字 */
13
- checkAllText: StringConstructor;
14
- /** 重置文字 */
15
- resetText: StringConstructor;
16
- /** 无标题列文字 */
17
- untitledText: StringConstructor;
18
- /** 文件名文字 */
19
- fileNameText: StringConstructor;
20
- /** 文件名提示文字 */
21
- fileNamePlaceholderText: StringConstructor;
22
- /** 选择数据文字 */
23
- selectDataText: StringConstructor;
24
- /** 选择字段文字 */
25
- selectColumnText: StringConstructor;
26
- /** 当前页数据文字 */
27
- dataTypePageText: StringConstructor;
28
- /** 选中数据文字 */
29
- dataTypeSelectedText: StringConstructor;
30
- /** 全部数据文字 */
31
- dataTypeAllText: StringConstructor;
32
- /** 取消文字 */
33
- cancelText: StringConstructor;
34
- /** 确定文字 */
35
- okText: StringConstructor;
10
+ /** 表格国际化 */
11
+ locale: {
12
+ type: PropType<TableLocale>;
13
+ required: true;
14
+ };
36
15
  /** 弹窗参数 */
37
16
  modalProps: PropType<EleModalProps>;
38
17
  /** 列数据 */
@@ -50,9 +29,11 @@ declare const _default: import('vue').DefineComponent<{
50
29
  column: import('element-plus').TableColumnCtx<DataItem>;
51
30
  columnIndex: number;
52
31
  }) => number[] | {
53
- rowspan: number;
32
+ rowspan: number; /** 数据来源 */
54
33
  colspan: number;
55
34
  } | undefined) | undefined>;
35
+ /** 表格是否有表头 */
36
+ tableHeader: BooleanConstructor;
56
37
  /** 是否显示合计行 */
57
38
  showSummary: BooleanConstructor;
58
39
  /** 合计行文本 */
@@ -61,6 +42,8 @@ declare const _default: import('vue').DefineComponent<{
61
42
  summaryMethod: PropType<import('element-plus').SummaryMethod<DataItem> | undefined>;
62
43
  /** 序号列起始索引 */
63
44
  pageIndex: NumberConstructor;
45
+ /** 子级字段名 */
46
+ childrenField: StringConstructor;
64
47
  /** 表格请求数据方法 */
65
48
  fetch: PropType<FetchFunction>;
66
49
  /** 默认文件名 */
@@ -90,45 +73,30 @@ declare const _default: import('vue').DefineComponent<{
90
73
  checked?: boolean | undefined;
91
74
  fixed?: string | boolean | undefined;
92
75
  children?: any[] | undefined;
76
+ type?: string | undefined;
93
77
  }[]>;
94
78
  isCheckAll: import('vue').Ref<boolean>;
95
79
  isIndeterminate: import('vue').Ref<boolean>;
80
+ showHeader: import('vue').Ref<boolean>;
81
+ showFooter: import('vue').Ref<boolean>;
82
+ showTreeIndex: import('vue').Ref<boolean>;
83
+ treeIndexDisabled: import('vue').Ref<boolean>;
96
84
  openModal: () => void;
97
85
  closeModal: () => void;
98
86
  handleExport: () => void;
99
- onCheckedChange: (item: ColItem, checked: boolean) => void;
87
+ onCheckedChange: (item?: ColItem, checked?: boolean, type?: string) => void;
100
88
  onSortChange: (items: ColItem[], parent?: ColItem) => void;
101
89
  onCheckAllChange: (checked: boolean) => void;
102
90
  onReset: () => void;
91
+ handleTreeIndexChange: (checked?: boolean | string | number) => void;
103
92
  }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
104
- /** 提示文字 */
105
- title: StringConstructor;
106
93
  /** 提示位置 */
107
94
  placement: PropType<import('element-plus/es/utils/index').EpPropMergeType<StringConstructor, import('element-plus').Placement, unknown> | undefined>;
108
- /** 全选文字 */
109
- checkAllText: StringConstructor;
110
- /** 重置文字 */
111
- resetText: StringConstructor;
112
- /** 无标题列文字 */
113
- untitledText: StringConstructor;
114
- /** 文件名文字 */
115
- fileNameText: StringConstructor;
116
- /** 文件名提示文字 */
117
- fileNamePlaceholderText: StringConstructor;
118
- /** 选择数据文字 */
119
- selectDataText: StringConstructor;
120
- /** 选择字段文字 */
121
- selectColumnText: StringConstructor;
122
- /** 当前页数据文字 */
123
- dataTypePageText: StringConstructor;
124
- /** 选中数据文字 */
125
- dataTypeSelectedText: StringConstructor;
126
- /** 全部数据文字 */
127
- dataTypeAllText: StringConstructor;
128
- /** 取消文字 */
129
- cancelText: StringConstructor;
130
- /** 确定文字 */
131
- okText: StringConstructor;
95
+ /** 表格国际化 */
96
+ locale: {
97
+ type: PropType<TableLocale>;
98
+ required: true;
99
+ };
132
100
  /** 弹窗参数 */
133
101
  modalProps: PropType<EleModalProps>;
134
102
  /** 列数据 */
@@ -146,9 +114,11 @@ declare const _default: import('vue').DefineComponent<{
146
114
  column: import('element-plus').TableColumnCtx<DataItem>;
147
115
  columnIndex: number;
148
116
  }) => number[] | {
149
- rowspan: number;
117
+ rowspan: number; /** 数据来源 */
150
118
  colspan: number;
151
119
  } | undefined) | undefined>;
120
+ /** 表格是否有表头 */
121
+ tableHeader: BooleanConstructor;
152
122
  /** 是否显示合计行 */
153
123
  showSummary: BooleanConstructor;
154
124
  /** 合计行文本 */
@@ -157,6 +127,8 @@ declare const _default: import('vue').DefineComponent<{
157
127
  summaryMethod: PropType<import('element-plus').SummaryMethod<DataItem> | undefined>;
158
128
  /** 序号列起始索引 */
159
129
  pageIndex: NumberConstructor;
130
+ /** 子级字段名 */
131
+ childrenField: StringConstructor;
160
132
  /** 表格请求数据方法 */
161
133
  fetch: PropType<FetchFunction>;
162
134
  /** 默认文件名 */
@@ -173,6 +145,7 @@ declare const _default: import('vue').DefineComponent<{
173
145
  beforeExport: PropType<BeforeExport>;
174
146
  }>>, {
175
147
  showSummary: boolean;
148
+ tableHeader: boolean;
176
149
  defaultDataType: ExportDataType;
177
150
  defaultFileName: string;
178
151
  }, {}>;