@kp-ui/lowcode 1.0.32 → 1.0.33

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 (110) hide show
  1. package/_virtual/virtual_svg-icons-register.js +2 -2
  2. package/package.json +27 -26
  3. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js +103 -234
  4. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue2.js +236 -0
  5. package/src/components/form-designer/form-widget/container-widget/{grid-widget.vue2.js → grid-widget.vue.js} +1 -1
  6. package/src/components/form-designer/form-widget/container-widget/index.js +4 -4
  7. package/src/components/form-designer/form-widget/container-widget/{table-widget.vue2.js → table-widget.vue.js} +1 -1
  8. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue.js +156 -126
  9. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue2.js +128 -0
  10. package/src/components/form-designer/form-widget/index.vue.js +4 -4
  11. package/src/components/form-designer/toolbar-panel/index.vue.js +3 -2
  12. package/src/components/form-designer/widget-panel/advanced/attachment-render.js +1 -1
  13. package/src/components/form-designer/widget-panel/advanced/bpmn-editor.js +1 -1
  14. package/src/components/form-designer/widget-panel/advanced/cascader.js +1 -1
  15. package/src/components/form-designer/widget-panel/advanced/code-editor.js +1 -1
  16. package/src/components/form-designer/widget-panel/advanced/diy-compontent.js +1 -1
  17. package/src/components/form-designer/widget-panel/advanced/slot.js +1 -1
  18. package/src/components/form-designer/widget-panel/advanced/tree-select.js +1 -1
  19. package/src/components/form-designer/widget-panel/basicFields/button.js +1 -1
  20. package/src/components/form-designer/widget-panel/basicFields/checkbox.js +1 -1
  21. package/src/components/form-designer/widget-panel/basicFields/color.js +1 -1
  22. package/src/components/form-designer/widget-panel/basicFields/date.js +1 -1
  23. package/src/components/form-designer/widget-panel/basicFields/dateRange.js +1 -1
  24. package/src/components/form-designer/widget-panel/basicFields/divider.js +1 -1
  25. package/src/components/form-designer/widget-panel/basicFields/dropdown.js +1 -1
  26. package/src/components/form-designer/widget-panel/basicFields/htmlText.js +1 -1
  27. package/src/components/form-designer/widget-panel/basicFields/input.js +1 -1
  28. package/src/components/form-designer/widget-panel/basicFields/number.js +1 -1
  29. package/src/components/form-designer/widget-panel/basicFields/radio.js +1 -1
  30. package/src/components/form-designer/widget-panel/basicFields/rate.js +1 -1
  31. package/src/components/form-designer/widget-panel/basicFields/select.js +1 -1
  32. package/src/components/form-designer/widget-panel/basicFields/slider.js +1 -1
  33. package/src/components/form-designer/widget-panel/basicFields/staticText.js +1 -1
  34. package/src/components/form-designer/widget-panel/basicFields/switch.js +1 -1
  35. package/src/components/form-designer/widget-panel/basicFields/textarea.js +1 -1
  36. package/src/components/form-designer/widget-panel/basicFields/time.js +1 -1
  37. package/src/components/form-designer/widget-panel/basicFields/timeRange.js +1 -1
  38. package/src/components/form-designer/widget-panel/business/department-select.js +1 -1
  39. package/src/components/form-designer/widget-panel/business/material-select.js +1 -1
  40. package/src/components/form-designer/widget-panel/business/operation-select.js +1 -1
  41. package/src/components/form-designer/widget-panel/business/post-select.js +1 -1
  42. package/src/components/form-designer/widget-panel/business/project-group-select.js +1 -1
  43. package/src/components/form-designer/widget-panel/business/project-select.js +1 -1
  44. package/src/components/form-designer/widget-panel/business/user-select.js +1 -1
  45. package/src/components/form-designer/widget-panel/containers/data-table.js +1 -1
  46. package/src/components/form-designer/widget-panel/containers/grid-col.js +1 -1
  47. package/src/components/form-designer/widget-panel/containers/grid-sub-form.js +1 -1
  48. package/src/components/form-designer/widget-panel/containers/grid.js +1 -1
  49. package/src/components/form-designer/widget-panel/containers/tab-pane.js +1 -1
  50. package/src/components/form-designer/widget-panel/containers/tab.js +1 -1
  51. package/src/components/form-designer/widget-panel/containers/vf-box.js +1 -1
  52. package/src/components/form-designer/widget-panel/containers/vf-collapse.js +1 -1
  53. package/src/components/form-designer/widget-panel/containers/vf-dialog.js +1 -1
  54. package/src/components/http-editor/index.vue.js +1 -1
  55. package/src/components/http-editor/index.vue2.js +1 -1
  56. package/src/hooks/useFilePreview.js +1 -1
  57. package/src/utils/request/fmtHttpParams.js +1 -1
  58. package/src/utils/request/http.js +1 -1
  59. package/src/utils/sfc-generator.js +1 -0
  60. package/src/utils/util.js +1 -21
  61. package/styles/style.css +1 -1
  62. package/types/src/components/form-designer/widget-panel/advanced/attachment-render.d.ts.map +1 -1
  63. package/types/src/components/form-designer/widget-panel/advanced/bpmn-editor.d.ts.map +1 -1
  64. package/types/src/components/form-designer/widget-panel/advanced/cascader.d.ts.map +1 -1
  65. package/types/src/components/form-designer/widget-panel/advanced/code-editor.d.ts.map +1 -1
  66. package/types/src/components/form-designer/widget-panel/advanced/diy-compontent.d.ts.map +1 -1
  67. package/types/src/components/form-designer/widget-panel/advanced/file-upload.d.ts.map +1 -1
  68. package/types/src/components/form-designer/widget-panel/advanced/rich-editor.d.ts.map +1 -1
  69. package/types/src/components/form-designer/widget-panel/advanced/slot.d.ts.map +1 -1
  70. package/types/src/components/form-designer/widget-panel/advanced/tree-select.d.ts.map +1 -1
  71. package/types/src/components/form-designer/widget-panel/basicFields/button.d.ts.map +1 -1
  72. package/types/src/components/form-designer/widget-panel/basicFields/checkbox.d.ts.map +1 -1
  73. package/types/src/components/form-designer/widget-panel/basicFields/color.d.ts.map +1 -1
  74. package/types/src/components/form-designer/widget-panel/basicFields/date.d.ts.map +1 -1
  75. package/types/src/components/form-designer/widget-panel/basicFields/dateRange.d.ts.map +1 -1
  76. package/types/src/components/form-designer/widget-panel/basicFields/divider.d.ts.map +1 -1
  77. package/types/src/components/form-designer/widget-panel/basicFields/dropdown.d.ts.map +1 -1
  78. package/types/src/components/form-designer/widget-panel/basicFields/htmlText.d.ts.map +1 -1
  79. package/types/src/components/form-designer/widget-panel/basicFields/input.d.ts.map +1 -1
  80. package/types/src/components/form-designer/widget-panel/basicFields/number.d.ts.map +1 -1
  81. package/types/src/components/form-designer/widget-panel/basicFields/radio.d.ts.map +1 -1
  82. package/types/src/components/form-designer/widget-panel/basicFields/rate.d.ts.map +1 -1
  83. package/types/src/components/form-designer/widget-panel/basicFields/select.d.ts.map +1 -1
  84. package/types/src/components/form-designer/widget-panel/basicFields/slider.d.ts.map +1 -1
  85. package/types/src/components/form-designer/widget-panel/basicFields/staticText.d.ts.map +1 -1
  86. package/types/src/components/form-designer/widget-panel/basicFields/switch.d.ts.map +1 -1
  87. package/types/src/components/form-designer/widget-panel/basicFields/textarea.d.ts.map +1 -1
  88. package/types/src/components/form-designer/widget-panel/basicFields/time.d.ts.map +1 -1
  89. package/types/src/components/form-designer/widget-panel/basicFields/timeRange.d.ts.map +1 -1
  90. package/types/src/components/form-designer/widget-panel/business/department-select.d.ts.map +1 -1
  91. package/types/src/components/form-designer/widget-panel/business/material-select.d.ts.map +1 -1
  92. package/types/src/components/form-designer/widget-panel/business/operation-select.d.ts.map +1 -1
  93. package/types/src/components/form-designer/widget-panel/business/post-select.d.ts.map +1 -1
  94. package/types/src/components/form-designer/widget-panel/business/project-group-select.d.ts.map +1 -1
  95. package/types/src/components/form-designer/widget-panel/business/project-select.d.ts.map +1 -1
  96. package/types/src/components/form-designer/widget-panel/business/user-select.d.ts.map +1 -1
  97. package/types/src/components/form-designer/widget-panel/containers/data-table.d.ts.map +1 -1
  98. package/types/src/components/form-designer/widget-panel/containers/grid-col.d.ts.map +1 -1
  99. package/types/src/components/form-designer/widget-panel/containers/grid-sub-form.d.ts.map +1 -1
  100. package/types/src/components/form-designer/widget-panel/containers/grid.d.ts.map +1 -1
  101. package/types/src/components/form-designer/widget-panel/containers/tab.d.ts.map +1 -1
  102. package/types/src/components/form-designer/widget-panel/containers/vf-box.d.ts.map +1 -1
  103. package/types/src/components/form-designer/widget-panel/containers/vf-collapse.d.ts.map +1 -1
  104. package/types/src/components/form-designer/widget-panel/containers/vf-dialog.d.ts.map +1 -1
  105. package/types/src/components/form-render/index.d.ts +2 -2
  106. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue3.js +0 -105
  107. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue4.js +0 -158
  108. package/src/utils/request/useGetUseInfo.js +0 -9
  109. package/types/src/utils/request/useGetUseInfo.d.ts +0 -23
  110. package/types/src/utils/request/useGetUseInfo.d.ts.map +0 -1
@@ -1,13 +1,13 @@
1
1
  if (typeof window !== "undefined") {
2
2
  let loadSvg = function() {
3
3
  var body = document.body;
4
- var svgDom = document.getElementById("__svg__icons__dom__1746594346672__");
4
+ var svgDom = document.getElementById("__svg__icons__dom__1746607584219__");
5
5
  if (!svgDom) {
6
6
  svgDom = document.createElementNS("http://www.w3.org/2000/svg", "svg");
7
7
  svgDom.style.position = "absolute";
8
8
  svgDom.style.width = "0";
9
9
  svgDom.style.height = "0";
10
- svgDom.id = "__svg__icons__dom__1746594346672__";
10
+ svgDom.id = "__svg__icons__dom__1746607584219__";
11
11
  svgDom.setAttribute("xmlns", "http://www.w3.org/2000/svg");
12
12
  svgDom.setAttribute("xmlns:link", "http://www.w3.org/1999/xlink");
13
13
  }
package/package.json CHANGED
@@ -1,28 +1,29 @@
1
1
  {
2
- "name": "@kp-ui/lowcode",
3
- "version": "1.0.32",
4
- "publishConfig": {
5
- "access": "public"
6
- },
7
- "main": "index.js",
8
- "module": "index.js",
9
- "types": "main.d.ts",
10
- "dependencies": {
11
- "@element-plus/icons-vue": "^0.2.4",
12
- "animate.css": "^4.1.1",
13
- "ant-design-vue": "3.2.20",
14
- "axios": "^1.3.5",
15
- "bpmn-js": "13.2.0",
16
- "clipboard": "^2.0.8",
17
- "core-js": "^3.6.5",
18
- "dayjs": "^1.11.10",
19
- "file-saver": "^2.0.5",
20
- "json-bigint": "^1.0.0",
21
- "lodash-es": "^4.17.21",
22
- "mitt": "^3.0.0",
23
- "query-string": "^9.1.1",
24
- "sortablejs": "1.14.0",
25
- "vue": "3.3.11",
26
- "vue3-quill": "^0.2.6"
27
- }
2
+ "name": "@kp-ui/lowcode",
3
+ "version": "1.0.33",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
7
+ "main": "index.js",
8
+ "module": "index.js",
9
+ "types": "main.d.ts",
10
+ "dependencies": {
11
+ "@element-plus/icons-vue": "^0.2.4",
12
+ "@kp-ui/tool": "^1.0.10",
13
+ "animate.css": "^4.1.1",
14
+ "ant-design-vue": "3.2.20",
15
+ "axios": "^1.3.5",
16
+ "bpmn-js": "13.2.0",
17
+ "clipboard": "^2.0.8",
18
+ "core-js": "^3.6.5",
19
+ "dayjs": "^1.11.10",
20
+ "file-saver": "^2.0.5",
21
+ "json-bigint": "^1.0.0",
22
+ "lodash-es": "^4.17.21",
23
+ "mitt": "^3.0.0",
24
+ "query-string": "^9.1.1",
25
+ "sortablejs": "1.14.0",
26
+ "vue": "3.3.11",
27
+ "vue3-quill": "^0.2.6"
28
+ }
28
29
  }
@@ -1,236 +1,105 @@
1
- import ContainerWrapper from "./container-wrapper.vue.js";
2
- import emitter from "../../../../utils/emitter.js";
3
- import i18n from "../../../../utils/i18n.js";
4
- import comps from "../field-widget/index.js";
5
- import containerMixin from "./containerMixin.js";
6
- import refMixinDesign from "../../refMixinDesign.js";
7
- import useDataTableMixin from "../../../../mixins/useDataTableMixin.js";
8
- const _sfc_main = {
9
- name: "DataTableWidget",
10
- componentName: "DataTableWidget",
11
- mixins: [i18n, containerMixin, refMixinDesign, emitter, useDataTableMixin],
12
- inject: ["refList"],
13
- components: {
14
- ContainerWrapper,
15
- ...comps
16
- },
17
- data() {
18
- return {
19
- // selectAllFlag: false
20
- };
21
- },
22
- props: {
23
- widget: Object,
24
- parentWidget: Object,
25
- parentList: Array,
26
- indexOfParentList: Number,
27
- designer: Object,
28
- subFormRowIndex: {
29
- /* 子表单组件行索引,从0开始计数 */
30
- type: Number,
31
- default: -1
32
- },
33
- subFormColIndex: {
34
- /* 子表单组件列索引,从0开始计数 */
35
- type: Number,
36
- default: -1
37
- },
38
- subFormRowId: {
39
- /* 子表单组件行Id,唯一id且不可变 */
40
- type: String,
41
- default: ""
42
- }
43
- },
44
- created() {
45
- this.initRefList();
46
- },
47
- mounted() {
48
- this.loadDataTableDataSource();
49
- log;
50
- },
51
- beforeUnmount() {
52
- },
53
- computed: {
54
- // paginationLayout() {
55
- // return !!this.widget.options.smallPagination
56
- // ? 'prev, pager, next'
57
- // : 'total, sizes, prev, pager, next, jumper';
58
- // },
59
- selected() {
60
- return this.widget.id === this.designer.selectedId;
61
- }
62
- // customClass() {
63
- // return this.widget.options.customClass || '';
64
- // },
65
- // widgetSize() {
66
- // return this.widget.options.tableSize || 'default';
67
- // },
68
- // buttonsColumnFixed() {
69
- // if (this.widget.options.buttonsColumnFixed === undefined) {
70
- // return 'right';
71
- // }
72
- // return !this.widget.options.buttonsColumnFixed
73
- // ? false
74
- // : this.widget.options.buttonsColumnFixed;
75
- // },
76
- // tableHeight() {
77
- // return this.widget.options.tableHeight || undefined;
78
- // },
79
- // selectionWidth() {
80
- // return !this.widget.options.showSummary
81
- // ? !this.widget.options.treeDataEnabled
82
- // ? 42
83
- // : 70
84
- // : 53;
85
- // }
86
- },
87
- methods: {
88
- // getOperationButtonLabel(buttonConfig, rowIndex, row) {
89
- // if (!!this.widget.options.onGetOperationButtonLabel) {
90
- // const customFn = new Function(
91
- // 'buttonConfig',
92
- // 'rowIndex',
93
- // 'row',
94
- // this.widget.options.onGetOperationButtonLabel
95
- // );
96
- // //return customFn.call(this, buttonConfig, rowIndex, row) || buttonConfig.label
97
- // return customFn.call(this, buttonConfig, rowIndex, row);
98
- // } else {
99
- // return buttonConfig.label;
100
- // }
101
- // },
102
- // handleOperationButtonClick(btnName, rowIndex, row, scope, ob) {
103
- // this.skipSelectionChangeEvent = true;
104
- // try {
105
- // if (ob.onClick) {
106
- // const clcFn = new Function('record', 'index', 'column', 'btn', ob.onClick);
107
- // clcFn.call(this, row, rowIndex, scope.column, ob);
108
- // return;
109
- // }
110
- // if (!!this.widget.options.onOperationButtonClick) {
111
- // const customFn = new Function(
112
- // 'buttonName',
113
- // 'rowIndex',
114
- // 'row',
115
- // this.widget.options.onOperationButtonClick
116
- // );
117
- // customFn.call(this, btnName, rowIndex, row);
118
- // } else {
119
- // this.dispatch('VFormRender', 'operationButtonClick', [this, btnName, rowIndex, row]);
120
- // }
121
- // } finally {
122
- // this.skipSelectionChangeEvent = false;
123
- // }
124
- // },
125
- // showOperationButton(buttonConfig, rowIndex, row) {
126
- // if (!!this.widget.options.onHideOperationButton) {
127
- // const customFn = new Function(
128
- // 'buttonConfig',
129
- // 'rowIndex',
130
- // 'row',
131
- // this.widget.options.onHideOperationButton
132
- // );
133
- // return !customFn.call(this, buttonConfig, rowIndex, row);
134
- // } else {
135
- // return !buttonConfig.hidden;
136
- // }
137
- // },
138
- // disableOperationButton(buttonConfig, rowIndex, row) {
139
- // if (!!this.widget.options.onDisableOperationButton) {
140
- // const customFn = new Function(
141
- // 'buttonConfig',
142
- // 'rowIndex',
143
- // 'row',
144
- // this.widget.options.onDisableOperationButton
145
- // );
146
- // return customFn.call(this, buttonConfig, rowIndex, row);
147
- // } else {
148
- // return buttonConfig.disabled;
149
- // }
150
- // },
151
- // customRenderIndex({ index }) {
152
- // return index + 1;
153
- // },
154
- // handleTablePageChange(pagination, filters, sorter, { currentDataSource }) {
155
- // const fn = this.widget.options.onTableChange;
156
- // this.widget.options.pagination.current = pagination.current;
157
- // this.widget.options.pagination.pageSize = pagination.pageSize;
158
- // if (fn) {
159
- // const changeFunc = new Function(
160
- // 'pagination',
161
- // 'filters',
162
- // 'sorter',
163
- // 'currentDataSource',
164
- // fn
165
- // );
166
- // changeFunc.call(this, pagination, filters, sorter, currentDataSource);
167
- // }
168
- // },
169
- // handleRowSelection(info) {
170
- // if (!info.hasRowSelection) {
171
- // return undefined;
172
- // }
173
- // return {
174
- // ...omit(info, ['onChange']),
175
- // onChange: (selectedRowKeys, selectedRows) => {
176
- // const rcFunc = new Function('selectedRowKeys', 'selectedRows', info.onChange);
177
- // rcFunc.call(this, selectedRowKeys, selectedRows);
178
- // }
179
- // };
180
- // },
181
- selectWidget(widget) {
182
- this.designer.setSelected(widget);
183
- }
184
- // getTableColumns() {
185
- // return this.widget.options.tableColumns;
186
- // }
187
- // setChildrenSelected(children, flag) {
188
- // const childrenKey = this.widget.options.childrenKey;
189
- // children.map(child => {
190
- // this.toggleSelection(child, flag);
191
- // if (child[childrenKey]) {
192
- // this.setChildrenSelected(child[childrenKey], flag);
193
- // }
194
- // });
195
- // },
196
- // toggleSelection(row, flag) {
197
- // if (row) {
198
- // this.$nextTick(() => {
199
- // this.$refs.dataTable.toggleRowSelection(row, flag);
200
- // });
201
- // }
202
- // },
203
- // handleRowSelect(selection, row) {
204
- // const childrenKey = this.widget.options.childrenKey;
205
- // if (
206
- // selection.some(el => {
207
- // return row.id === el.id;
208
- // })
209
- // ) {
210
- // if (row[childrenKey]) {
211
- // this.setChildrenSelected(row[childrenKey], true);
212
- // }
213
- // } else {
214
- // if (row[childrenKey]) {
215
- // this.setChildrenSelected(row[childrenKey], false);
216
- // }
217
- // }
218
- // },
219
- // setSelectedFlag(data, flag) {
220
- // const childrenKey = this.widget.options.childrenKey;
221
- // data.forEach(row => {
222
- // this.$refs.dataTable.toggleRowSelection(row, flag);
223
- // if (row[childrenKey]) {
224
- // this.setSelectedFlag(row[childrenKey], flag);
225
- // }
226
- // });
227
- // },
228
- // handleAllSelect(selection) {
229
- // this.selectAllFlag = !this.selectAllFlag;
230
- // this.setSelectedFlag(this.widget.options.tableData, this.selectAllFlag);
231
- // }
232
- }
233
- };
1
+ import _sfc_main from "./data-table-widget.vue2.js";
2
+ import { resolveComponent, createBlock, openBlock, normalizeStyle, withCtx, createElementBlock, withModifiers, normalizeClass, createVNode, createCommentVNode, Fragment, renderList, mergeProps, withDirectives, createTextVNode, toDisplayString, vShow } from "vue";
3
+ /* empty css */
4
+ import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
5
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
6
+ const _component_a_empty = resolveComponent("a-empty");
7
+ const _component_a_table_column = resolveComponent("a-table-column");
8
+ const _component_a_button = resolveComponent("a-button");
9
+ const _component_a_space = resolveComponent("a-space");
10
+ const _component_a_table = resolveComponent("a-table");
11
+ const _component_container_wrapper = resolveComponent("container-wrapper");
12
+ return openBlock(), createBlock(_component_container_wrapper, {
13
+ designer: $props.designer,
14
+ widget: $props.widget,
15
+ "parent-widget": $props.parentWidget,
16
+ "parent-list": $props.parentList,
17
+ "index-of-parent-list": $props.indexOfParentList,
18
+ style: normalizeStyle({ display: "flex", height: parseFloat(_ctx.tableHeight || 0) + "px" })
19
+ }, {
20
+ default: withCtx(() => [
21
+ (openBlock(), createElementBlock("div", {
22
+ key: $props.widget.id,
23
+ class: normalizeClass(["collapse-container data-table-container", { selected: $options.selected }]),
24
+ onClick: _cache[1] || (_cache[1] = withModifiers(($event) => $options.selectWidget($props.widget), ["stop"]))
25
+ }, [
26
+ createVNode(_component_a_table, {
27
+ ref: "dataTable1",
28
+ class: normalizeClass(["tpf-table", [_ctx.customClass]]),
29
+ dataSource: $props.widget.options.dataSource,
30
+ rowKey: (record) => record[$props.widget.options.rowKey],
31
+ scroll: { y: parseFloat(_ctx.tableHeight || 0), x: 300 },
32
+ size: _ctx.widgetSize,
33
+ bordered: $props.widget.options.border,
34
+ style: normalizeStyle({ width: $props.widget.options.tableWidth }),
35
+ onClick: _cache[0] || (_cache[0] = withModifiers(($event) => $options.selectWidget($props.widget), ["stop"])),
36
+ "row-class-name": _ctx.rowClassName,
37
+ rowSelection: _ctx.handleRowSelection(),
38
+ pagination: _ctx.fmtPagination,
39
+ onChange: _ctx.handleTablePageChange,
40
+ customRow: _ctx.handleCustomRow,
41
+ onResizeColumn: _ctx.handleResizeColumn
42
+ }, {
43
+ emptyText: withCtx(() => [
44
+ createVNode(_component_a_empty)
45
+ ]),
46
+ default: withCtx(() => [
47
+ $props.widget.options.showIndex ? (openBlock(), createBlock(_component_a_table_column, {
48
+ key: 0,
49
+ title: "序号",
50
+ align: "left",
51
+ width: 80,
52
+ fixed: "left",
53
+ customRender: _ctx.customRenderIndex
54
+ }, null, 8, ["customRender"])) : createCommentVNode("", true),
55
+ (openBlock(true), createElementBlock(Fragment, null, renderList($props.widget.options.tableColumns, (item, index) => {
56
+ return openBlock(), createElementBlock(Fragment, null, [
57
+ item.show !== false ? (openBlock(), createBlock(_component_a_table_column, mergeProps({ key: index }, _ctx.handleColumnItem(item), { showSorterTooltip: false }), null, 16)) : createCommentVNode("", true)
58
+ ], 64);
59
+ }), 256)),
60
+ !!$props.widget.options.showButtonsColumn ? (openBlock(), createBlock(_component_a_table_column, {
61
+ key: 1,
62
+ fixed: "right",
63
+ align: "center",
64
+ title: $props.widget.options.buttonsColumnTitle,
65
+ width: $props.widget.options.buttonsColumnWidth
66
+ }, {
67
+ default: withCtx((scope) => [
68
+ createVNode(_component_a_space, null, {
69
+ default: withCtx(() => [
70
+ (openBlock(true), createElementBlock(Fragment, null, renderList($props.widget.options.operationButtons, (ob, inx) => {
71
+ return withDirectives((openBlock(), createBlock(_component_a_button, {
72
+ key: inx,
73
+ type: ob.type,
74
+ size: ob.size,
75
+ shape: ob.shape,
76
+ disabled: _ctx.disableOperationButton(ob, scope.index, scope.record),
77
+ onClick: ($event) => _ctx.handleOperationButtonClick(ob.name, scope.index, scope.record, scope, ob),
78
+ class: normalizeClass(["data-table-" + ob.name + "-button"])
79
+ }, {
80
+ default: withCtx(() => [
81
+ createTextVNode(toDisplayString(_ctx.getOperationButtonLabel(ob, scope.index, scope.record)), 1)
82
+ ]),
83
+ _: 2
84
+ }, 1032, ["type", "size", "shape", "disabled", "onClick", "class"])), [
85
+ [vShow, _ctx.showOperationButton(ob, scope.index, scope.record)]
86
+ ]);
87
+ }), 128))
88
+ ]),
89
+ _: 2
90
+ }, 1024)
91
+ ]),
92
+ _: 1
93
+ }, 8, ["title", "width"])) : createCommentVNode("", true)
94
+ ]),
95
+ _: 1
96
+ }, 8, ["dataSource", "rowKey", "scroll", "class", "size", "bordered", "style", "row-class-name", "rowSelection", "pagination", "onChange", "customRow", "onResizeColumn"])
97
+ ], 2))
98
+ ]),
99
+ _: 1
100
+ }, 8, ["designer", "widget", "parent-widget", "parent-list", "index-of-parent-list", "style"]);
101
+ }
102
+ const dataTableWidget = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-a667e0af"]]);
234
103
  export {
235
- _sfc_main as default
104
+ dataTableWidget as default
236
105
  };
@@ -0,0 +1,236 @@
1
+ import ContainerWrapper from "./container-wrapper.vue.js";
2
+ import emitter from "../../../../utils/emitter.js";
3
+ import i18n from "../../../../utils/i18n.js";
4
+ import comps from "../field-widget/index.js";
5
+ import containerMixin from "./containerMixin.js";
6
+ import refMixinDesign from "../../refMixinDesign.js";
7
+ import useDataTableMixin from "../../../../mixins/useDataTableMixin.js";
8
+ const _sfc_main = {
9
+ name: "DataTableWidget",
10
+ componentName: "DataTableWidget",
11
+ mixins: [i18n, containerMixin, refMixinDesign, emitter, useDataTableMixin],
12
+ inject: ["refList"],
13
+ components: {
14
+ ContainerWrapper,
15
+ ...comps
16
+ },
17
+ data() {
18
+ return {
19
+ // selectAllFlag: false
20
+ };
21
+ },
22
+ props: {
23
+ widget: Object,
24
+ parentWidget: Object,
25
+ parentList: Array,
26
+ indexOfParentList: Number,
27
+ designer: Object,
28
+ subFormRowIndex: {
29
+ /* 子表单组件行索引,从0开始计数 */
30
+ type: Number,
31
+ default: -1
32
+ },
33
+ subFormColIndex: {
34
+ /* 子表单组件列索引,从0开始计数 */
35
+ type: Number,
36
+ default: -1
37
+ },
38
+ subFormRowId: {
39
+ /* 子表单组件行Id,唯一id且不可变 */
40
+ type: String,
41
+ default: ""
42
+ }
43
+ },
44
+ created() {
45
+ this.initRefList();
46
+ },
47
+ mounted() {
48
+ this.loadDataTableDataSource();
49
+ log;
50
+ },
51
+ beforeUnmount() {
52
+ },
53
+ computed: {
54
+ // paginationLayout() {
55
+ // return !!this.widget.options.smallPagination
56
+ // ? 'prev, pager, next'
57
+ // : 'total, sizes, prev, pager, next, jumper';
58
+ // },
59
+ selected() {
60
+ return this.widget.id === this.designer.selectedId;
61
+ }
62
+ // customClass() {
63
+ // return this.widget.options.customClass || '';
64
+ // },
65
+ // widgetSize() {
66
+ // return this.widget.options.tableSize || 'default';
67
+ // },
68
+ // buttonsColumnFixed() {
69
+ // if (this.widget.options.buttonsColumnFixed === undefined) {
70
+ // return 'right';
71
+ // }
72
+ // return !this.widget.options.buttonsColumnFixed
73
+ // ? false
74
+ // : this.widget.options.buttonsColumnFixed;
75
+ // },
76
+ // tableHeight() {
77
+ // return this.widget.options.tableHeight || undefined;
78
+ // },
79
+ // selectionWidth() {
80
+ // return !this.widget.options.showSummary
81
+ // ? !this.widget.options.treeDataEnabled
82
+ // ? 42
83
+ // : 70
84
+ // : 53;
85
+ // }
86
+ },
87
+ methods: {
88
+ // getOperationButtonLabel(buttonConfig, rowIndex, row) {
89
+ // if (!!this.widget.options.onGetOperationButtonLabel) {
90
+ // const customFn = new Function(
91
+ // 'buttonConfig',
92
+ // 'rowIndex',
93
+ // 'row',
94
+ // this.widget.options.onGetOperationButtonLabel
95
+ // );
96
+ // //return customFn.call(this, buttonConfig, rowIndex, row) || buttonConfig.label
97
+ // return customFn.call(this, buttonConfig, rowIndex, row);
98
+ // } else {
99
+ // return buttonConfig.label;
100
+ // }
101
+ // },
102
+ // handleOperationButtonClick(btnName, rowIndex, row, scope, ob) {
103
+ // this.skipSelectionChangeEvent = true;
104
+ // try {
105
+ // if (ob.onClick) {
106
+ // const clcFn = new Function('record', 'index', 'column', 'btn', ob.onClick);
107
+ // clcFn.call(this, row, rowIndex, scope.column, ob);
108
+ // return;
109
+ // }
110
+ // if (!!this.widget.options.onOperationButtonClick) {
111
+ // const customFn = new Function(
112
+ // 'buttonName',
113
+ // 'rowIndex',
114
+ // 'row',
115
+ // this.widget.options.onOperationButtonClick
116
+ // );
117
+ // customFn.call(this, btnName, rowIndex, row);
118
+ // } else {
119
+ // this.dispatch('VFormRender', 'operationButtonClick', [this, btnName, rowIndex, row]);
120
+ // }
121
+ // } finally {
122
+ // this.skipSelectionChangeEvent = false;
123
+ // }
124
+ // },
125
+ // showOperationButton(buttonConfig, rowIndex, row) {
126
+ // if (!!this.widget.options.onHideOperationButton) {
127
+ // const customFn = new Function(
128
+ // 'buttonConfig',
129
+ // 'rowIndex',
130
+ // 'row',
131
+ // this.widget.options.onHideOperationButton
132
+ // );
133
+ // return !customFn.call(this, buttonConfig, rowIndex, row);
134
+ // } else {
135
+ // return !buttonConfig.hidden;
136
+ // }
137
+ // },
138
+ // disableOperationButton(buttonConfig, rowIndex, row) {
139
+ // if (!!this.widget.options.onDisableOperationButton) {
140
+ // const customFn = new Function(
141
+ // 'buttonConfig',
142
+ // 'rowIndex',
143
+ // 'row',
144
+ // this.widget.options.onDisableOperationButton
145
+ // );
146
+ // return customFn.call(this, buttonConfig, rowIndex, row);
147
+ // } else {
148
+ // return buttonConfig.disabled;
149
+ // }
150
+ // },
151
+ // customRenderIndex({ index }) {
152
+ // return index + 1;
153
+ // },
154
+ // handleTablePageChange(pagination, filters, sorter, { currentDataSource }) {
155
+ // const fn = this.widget.options.onTableChange;
156
+ // this.widget.options.pagination.current = pagination.current;
157
+ // this.widget.options.pagination.pageSize = pagination.pageSize;
158
+ // if (fn) {
159
+ // const changeFunc = new Function(
160
+ // 'pagination',
161
+ // 'filters',
162
+ // 'sorter',
163
+ // 'currentDataSource',
164
+ // fn
165
+ // );
166
+ // changeFunc.call(this, pagination, filters, sorter, currentDataSource);
167
+ // }
168
+ // },
169
+ // handleRowSelection(info) {
170
+ // if (!info.hasRowSelection) {
171
+ // return undefined;
172
+ // }
173
+ // return {
174
+ // ...omit(info, ['onChange']),
175
+ // onChange: (selectedRowKeys, selectedRows) => {
176
+ // const rcFunc = new Function('selectedRowKeys', 'selectedRows', info.onChange);
177
+ // rcFunc.call(this, selectedRowKeys, selectedRows);
178
+ // }
179
+ // };
180
+ // },
181
+ selectWidget(widget) {
182
+ this.designer.setSelected(widget);
183
+ }
184
+ // getTableColumns() {
185
+ // return this.widget.options.tableColumns;
186
+ // }
187
+ // setChildrenSelected(children, flag) {
188
+ // const childrenKey = this.widget.options.childrenKey;
189
+ // children.map(child => {
190
+ // this.toggleSelection(child, flag);
191
+ // if (child[childrenKey]) {
192
+ // this.setChildrenSelected(child[childrenKey], flag);
193
+ // }
194
+ // });
195
+ // },
196
+ // toggleSelection(row, flag) {
197
+ // if (row) {
198
+ // this.$nextTick(() => {
199
+ // this.$refs.dataTable.toggleRowSelection(row, flag);
200
+ // });
201
+ // }
202
+ // },
203
+ // handleRowSelect(selection, row) {
204
+ // const childrenKey = this.widget.options.childrenKey;
205
+ // if (
206
+ // selection.some(el => {
207
+ // return row.id === el.id;
208
+ // })
209
+ // ) {
210
+ // if (row[childrenKey]) {
211
+ // this.setChildrenSelected(row[childrenKey], true);
212
+ // }
213
+ // } else {
214
+ // if (row[childrenKey]) {
215
+ // this.setChildrenSelected(row[childrenKey], false);
216
+ // }
217
+ // }
218
+ // },
219
+ // setSelectedFlag(data, flag) {
220
+ // const childrenKey = this.widget.options.childrenKey;
221
+ // data.forEach(row => {
222
+ // this.$refs.dataTable.toggleRowSelection(row, flag);
223
+ // if (row[childrenKey]) {
224
+ // this.setSelectedFlag(row[childrenKey], flag);
225
+ // }
226
+ // });
227
+ // },
228
+ // handleAllSelect(selection) {
229
+ // this.selectAllFlag = !this.selectAllFlag;
230
+ // this.setSelectedFlag(this.widget.options.tableData, this.selectAllFlag);
231
+ // }
232
+ }
233
+ };
234
+ export {
235
+ _sfc_main as default
236
+ };
@@ -4,7 +4,7 @@ import containerMixin from "./containerMixin.js";
4
4
  import ContainerWrapper from "./container-wrapper.vue.js";
5
5
  import refMixinDesign from "../../refMixinDesign.js";
6
6
  import { resolveComponent, createBlock, openBlock, withCtx, withModifiers, normalizeClass, createElementBlock, Fragment, renderList } from "vue";
7
- /* empty css */
7
+ /* empty css */
8
8
  import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
9
9
  const _sfc_main = {
10
10
  name: "grid-widget",