@kp-ui/lowcode 1.0.31 → 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 (127) hide show
  1. package/_virtual/virtual_svg-icons-register.js +2 -2
  2. package/package.json +27 -26
  3. package/render.js +13 -14
  4. package/src/components/CustomRender/components/AttachmentRender.vue.js +1 -1
  5. package/src/components/CustomRender/components/AttachmentRender.vue2.js +25 -12
  6. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js +103 -233
  7. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue2.js +236 -0
  8. package/src/components/form-designer/form-widget/container-widget/{grid-widget.vue2.js → grid-widget.vue.js} +1 -1
  9. package/src/components/form-designer/form-widget/container-widget/index.js +4 -4
  10. package/src/components/form-designer/form-widget/container-widget/{table-widget.vue2.js → table-widget.vue.js} +1 -1
  11. package/src/components/form-designer/form-widget/container-widget/vf-box-item.vue.js +4 -3
  12. package/src/components/form-designer/form-widget/container-widget/vf-box-widget.vue.js +4 -3
  13. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue.js +156 -124
  14. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue2.js +128 -0
  15. package/src/components/form-designer/form-widget/field-widget/diy-compontent-widget.vue.js +5 -3
  16. package/src/components/form-designer/form-widget/field-widget/fieldMixin.js +87 -122
  17. package/src/components/form-designer/form-widget/field-widget/file-upload-widget.vue.js +1 -1
  18. package/src/components/form-designer/form-widget/field-widget/file-upload-widget.vue2.js +25 -19
  19. package/src/components/form-designer/form-widget/index.vue.js +4 -4
  20. package/src/components/form-designer/toolbar-panel/index.vue.js +6 -7
  21. package/src/components/form-designer/widget-panel/advanced/attachment-render.js +1 -1
  22. package/src/components/form-designer/widget-panel/advanced/bpmn-editor.js +1 -1
  23. package/src/components/form-designer/widget-panel/advanced/cascader.js +1 -1
  24. package/src/components/form-designer/widget-panel/advanced/code-editor.js +1 -1
  25. package/src/components/form-designer/widget-panel/advanced/diy-compontent.js +2 -1
  26. package/src/components/form-designer/widget-panel/advanced/slot.js +1 -1
  27. package/src/components/form-designer/widget-panel/advanced/tree-select.js +1 -1
  28. package/src/components/form-designer/widget-panel/basicFields/button.js +1 -1
  29. package/src/components/form-designer/widget-panel/basicFields/checkbox.js +1 -1
  30. package/src/components/form-designer/widget-panel/basicFields/color.js +1 -1
  31. package/src/components/form-designer/widget-panel/basicFields/date.js +1 -1
  32. package/src/components/form-designer/widget-panel/basicFields/dateRange.js +1 -1
  33. package/src/components/form-designer/widget-panel/basicFields/divider.js +1 -1
  34. package/src/components/form-designer/widget-panel/basicFields/dropdown.js +1 -1
  35. package/src/components/form-designer/widget-panel/basicFields/htmlText.js +1 -1
  36. package/src/components/form-designer/widget-panel/basicFields/input.js +1 -1
  37. package/src/components/form-designer/widget-panel/basicFields/number.js +1 -1
  38. package/src/components/form-designer/widget-panel/basicFields/radio.js +1 -1
  39. package/src/components/form-designer/widget-panel/basicFields/rate.js +1 -1
  40. package/src/components/form-designer/widget-panel/basicFields/select.js +1 -1
  41. package/src/components/form-designer/widget-panel/basicFields/slider.js +1 -1
  42. package/src/components/form-designer/widget-panel/basicFields/staticText.js +1 -1
  43. package/src/components/form-designer/widget-panel/basicFields/switch.js +1 -1
  44. package/src/components/form-designer/widget-panel/basicFields/textarea.js +1 -1
  45. package/src/components/form-designer/widget-panel/basicFields/time.js +1 -1
  46. package/src/components/form-designer/widget-panel/basicFields/timeRange.js +1 -1
  47. package/src/components/form-designer/widget-panel/business/department-select.js +1 -1
  48. package/src/components/form-designer/widget-panel/business/material-select.js +1 -1
  49. package/src/components/form-designer/widget-panel/business/operation-select.js +1 -1
  50. package/src/components/form-designer/widget-panel/business/post-select.js +1 -1
  51. package/src/components/form-designer/widget-panel/business/project-group-select.js +1 -1
  52. package/src/components/form-designer/widget-panel/business/project-select.js +1 -1
  53. package/src/components/form-designer/widget-panel/business/user-select.js +1 -1
  54. package/src/components/form-designer/widget-panel/containers/data-table.js +1 -1
  55. package/src/components/form-designer/widget-panel/containers/grid-col.js +1 -1
  56. package/src/components/form-designer/widget-panel/containers/grid-sub-form.js +1 -1
  57. package/src/components/form-designer/widget-panel/containers/grid.js +1 -1
  58. package/src/components/form-designer/widget-panel/containers/tab-pane.js +1 -1
  59. package/src/components/form-designer/widget-panel/containers/tab.js +1 -1
  60. package/src/components/form-designer/widget-panel/containers/vf-box.js +1 -1
  61. package/src/components/form-designer/widget-panel/containers/vf-collapse.js +1 -1
  62. package/src/components/form-designer/widget-panel/containers/vf-dialog.js +1 -1
  63. package/src/components/form-render/container-item/vf-collapse-item.vue.js +4 -3
  64. package/src/components/form-render/dynamic-dialog.vue.js +236 -241
  65. package/src/components/form-render/dynamic-drawer.vue.js +206 -2
  66. package/src/components/http-editor/index.vue.js +1 -1
  67. package/src/components/http-editor/index.vue2.js +1 -1
  68. package/src/hooks/useFilePreview.js +1 -1
  69. package/src/utils/i18n.js +1 -14
  70. package/src/utils/request/fmtHttpParams.js +1 -1
  71. package/src/utils/request/http.js +1 -1
  72. package/src/utils/sfc-generator.js +1 -0
  73. package/src/utils/util.js +1 -21
  74. package/styles/style.css +1 -1
  75. package/types/src/components/CustomRender/components/AttachmentRender.d.ts.map +1 -1
  76. package/types/src/components/form-designer/widget-panel/advanced/attachment-render.d.ts.map +1 -1
  77. package/types/src/components/form-designer/widget-panel/advanced/bpmn-editor.d.ts.map +1 -1
  78. package/types/src/components/form-designer/widget-panel/advanced/cascader.d.ts.map +1 -1
  79. package/types/src/components/form-designer/widget-panel/advanced/code-editor.d.ts.map +1 -1
  80. package/types/src/components/form-designer/widget-panel/advanced/diy-compontent.d.ts.map +1 -1
  81. package/types/src/components/form-designer/widget-panel/advanced/file-upload.d.ts.map +1 -1
  82. package/types/src/components/form-designer/widget-panel/advanced/rich-editor.d.ts.map +1 -1
  83. package/types/src/components/form-designer/widget-panel/advanced/slot.d.ts.map +1 -1
  84. package/types/src/components/form-designer/widget-panel/advanced/tree-select.d.ts.map +1 -1
  85. package/types/src/components/form-designer/widget-panel/basicFields/button.d.ts.map +1 -1
  86. package/types/src/components/form-designer/widget-panel/basicFields/checkbox.d.ts.map +1 -1
  87. package/types/src/components/form-designer/widget-panel/basicFields/color.d.ts.map +1 -1
  88. package/types/src/components/form-designer/widget-panel/basicFields/date.d.ts.map +1 -1
  89. package/types/src/components/form-designer/widget-panel/basicFields/dateRange.d.ts.map +1 -1
  90. package/types/src/components/form-designer/widget-panel/basicFields/divider.d.ts.map +1 -1
  91. package/types/src/components/form-designer/widget-panel/basicFields/dropdown.d.ts.map +1 -1
  92. package/types/src/components/form-designer/widget-panel/basicFields/htmlText.d.ts.map +1 -1
  93. package/types/src/components/form-designer/widget-panel/basicFields/input.d.ts.map +1 -1
  94. package/types/src/components/form-designer/widget-panel/basicFields/number.d.ts.map +1 -1
  95. package/types/src/components/form-designer/widget-panel/basicFields/radio.d.ts.map +1 -1
  96. package/types/src/components/form-designer/widget-panel/basicFields/rate.d.ts.map +1 -1
  97. package/types/src/components/form-designer/widget-panel/basicFields/select.d.ts.map +1 -1
  98. package/types/src/components/form-designer/widget-panel/basicFields/slider.d.ts.map +1 -1
  99. package/types/src/components/form-designer/widget-panel/basicFields/staticText.d.ts.map +1 -1
  100. package/types/src/components/form-designer/widget-panel/basicFields/switch.d.ts.map +1 -1
  101. package/types/src/components/form-designer/widget-panel/basicFields/textarea.d.ts.map +1 -1
  102. package/types/src/components/form-designer/widget-panel/basicFields/time.d.ts.map +1 -1
  103. package/types/src/components/form-designer/widget-panel/basicFields/timeRange.d.ts.map +1 -1
  104. package/types/src/components/form-designer/widget-panel/business/department-select.d.ts.map +1 -1
  105. package/types/src/components/form-designer/widget-panel/business/material-select.d.ts.map +1 -1
  106. package/types/src/components/form-designer/widget-panel/business/operation-select.d.ts.map +1 -1
  107. package/types/src/components/form-designer/widget-panel/business/post-select.d.ts.map +1 -1
  108. package/types/src/components/form-designer/widget-panel/business/project-group-select.d.ts.map +1 -1
  109. package/types/src/components/form-designer/widget-panel/business/project-select.d.ts.map +1 -1
  110. package/types/src/components/form-designer/widget-panel/business/user-select.d.ts.map +1 -1
  111. package/types/src/components/form-designer/widget-panel/containers/data-table.d.ts.map +1 -1
  112. package/types/src/components/form-designer/widget-panel/containers/grid-col.d.ts.map +1 -1
  113. package/types/src/components/form-designer/widget-panel/containers/grid-sub-form.d.ts.map +1 -1
  114. package/types/src/components/form-designer/widget-panel/containers/grid.d.ts.map +1 -1
  115. package/types/src/components/form-designer/widget-panel/containers/tab.d.ts.map +1 -1
  116. package/types/src/components/form-designer/widget-panel/containers/vf-box.d.ts.map +1 -1
  117. package/types/src/components/form-designer/widget-panel/containers/vf-collapse.d.ts.map +1 -1
  118. package/types/src/components/form-designer/widget-panel/containers/vf-dialog.d.ts.map +1 -1
  119. package/types/src/components/form-render/index.d.ts +2 -2
  120. package/types/src/components/form-render/index.d.ts.map +1 -1
  121. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue3.js +0 -106
  122. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue4.js +0 -158
  123. package/src/components/form-render/dynamic-dialog.vue3.js +0 -5
  124. package/src/components/form-render/dynamic-drawer.vue2.js +0 -247
  125. package/src/utils/request/useGetUseInfo.js +0 -9
  126. package/types/src/utils/request/useGetUseInfo.d.ts +0 -23
  127. 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__1745894965292__");
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__1745894965292__";
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.31",
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
  }
package/render.js CHANGED
@@ -1,10 +1,9 @@
1
- import { createVNode, render, h, resolveComponent, createBlock, openBlock, withCtx, createElementVNode, withModifiers, normalizeClass, createElementBlock, Fragment, renderList, resolveDynamicComponent, createSlots, renderSlot, normalizeProps, guardReactiveProps } from "vue";
1
+ import { resolveComponent, createBlock, openBlock, withCtx, createVNode, createElementVNode, withModifiers, normalizeClass, createElementBlock, Fragment, renderList, resolveDynamicComponent, createSlots, renderSlot, normalizeProps, guardReactiveProps, render, h } from "vue";
2
2
  import emitter from "./src/utils/emitter.js";
3
3
  import comps from "./src/components/form-designer/form-widget/field-widget/index.js";
4
4
  import { buildDefaultFormJson, getContainerWidgetByName, cloneFormConfigWithoutEventHandler, deepClone, getDSByName, overwriteObj, runDataSourceRequest, getAllContainerWidgets, getAllFieldWidgets, getDefaultFormConfig, traverseFieldWidgets, getFieldWidgetByName, traverseFieldWidgetsOfContainer, insertCustomCssToHead, insertGlobalFunctionsToHtml, generateId } from "./src/utils/util.js";
5
5
  import i18n, { changeLocale } from "./src/utils/i18n.js";
6
- import _sfc_main$1 from "./src/components/form-render/dynamic-dialog.vue.js";
7
- /* empty css */
6
+ import DynamicDialog from "./src/components/form-render/dynamic-dialog.vue.js";
8
7
  import DynamicDrawer from "./src/components/form-render/dynamic-drawer.vue.js";
9
8
  import { fmtHttpParams } from "./src/utils/request/fmtHttpParams.js";
10
9
  /* empty css */
@@ -845,7 +844,7 @@ const _sfc_main = {
845
844
  formConfig: cloneFormConfigWithoutEventHandler(topFormRef.formConfig)
846
845
  };
847
846
  const wrapperDivId = generateId() + "";
848
- const dialogInstance2 = h(_sfc_main$1, {
847
+ const dialogInstance = h(DynamicDialog, {
849
848
  options: dialogCon.options,
850
849
  formJson: dFormJson,
851
850
  formData: { ...formData },
@@ -856,13 +855,13 @@ const _sfc_main = {
856
855
  wrapperId: wrapperDivId,
857
856
  vfCtx: { ...formData }
858
857
  });
859
- dialogInstance2.appContext = this.$root.$.appContext;
858
+ dialogInstance.appContext = this.$root.$.appContext;
860
859
  const wrapperDiv = document.createElement("div");
861
860
  wrapperDiv.id = "vf-dynamic-dialog-wrapper" + wrapperDivId;
862
861
  document.body.appendChild(wrapperDiv);
863
- render(dialogInstance2, wrapperDiv);
864
- document.body.appendChild(dialogInstance2.el);
865
- dialogInstance2.component.exposed.show();
862
+ render(dialogInstance, wrapperDiv);
863
+ document.body.appendChild(dialogInstance.el);
864
+ dialogInstance.component.ctx.show();
866
865
  },
867
866
  showDrawer(drawerName, formData = {}, extraData = {}) {
868
867
  const topFormRef = this.getTopFormRef();
@@ -892,7 +891,7 @@ const _sfc_main = {
892
891
  document.body.appendChild(wrapperDiv);
893
892
  render(drawerInstance, wrapperDiv);
894
893
  document.body.appendChild(drawerInstance.el);
895
- dialogInstance.component.exposed.show();
894
+ drawerInstance.component.ctx.show();
896
895
  },
897
896
  /**
898
897
  * 判断表单是否处于设计器预览状态
@@ -928,13 +927,13 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
928
927
  }, ["prevent"]))
929
928
  }, {
930
929
  default: withCtx(() => [
931
- (openBlock(true), createElementBlock(Fragment, null, renderList($options.widgetList, (widget, index) => {
930
+ (openBlock(true), createElementBlock(Fragment, null, renderList($options.widgetList, (widget, index2) => {
932
931
  return openBlock(), createElementBlock(Fragment, null, [
933
932
  "container" === widget.category ? (openBlock(), createBlock(resolveDynamicComponent($options.getContainerWidgetName(widget)), {
934
933
  widget,
935
934
  key: widget.id,
936
935
  "parent-list": $options.widgetList,
937
- "index-of-parent-list": index,
936
+ "index-of-parent-list": index2,
938
937
  "parent-widget": null
939
938
  }, createSlots({ _: 2 }, [
940
939
  renderList(Object.keys(_ctx.$slots), (slot) => {
@@ -951,7 +950,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
951
950
  designer: null,
952
951
  key: widget.id,
953
952
  "parent-list": $options.widgetList,
954
- "index-of-parent-list": index,
953
+ "index-of-parent-list": index2,
955
954
  "parent-widget": null
956
955
  }, createSlots({ _: 2 }, [
957
956
  renderList(Object.keys(_ctx.$slots), (slot) => {
@@ -976,7 +975,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
976
975
  _: 3
977
976
  }, 8, ["component-size"]);
978
977
  }
979
- const VFormRender = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-f3d61a23"]]);
978
+ const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-20edc56d"]]);
980
979
  export {
981
- VFormRender as default
980
+ index as default
982
981
  };
@@ -1,7 +1,7 @@
1
1
  import _sfc_main from "./AttachmentRender.vue2.js";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../../../_virtual/_plugin-vue_export-helper.js";
4
- const AttachmentRender = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c0780063"]]);
4
+ const AttachmentRender = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-412620ec"]]);
5
5
  export {
6
6
  AttachmentRender as default
7
7
  };
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, onMounted, computed, resolveComponent, createElementBlock, createCommentVNode, openBlock, createElementVNode, createVNode, withCtx, Fragment, renderList, createBlock, unref, toDisplayString } from "vue";
1
+ import { defineComponent, ref, watch, computed, onMounted, resolveComponent, createElementBlock, createCommentVNode, openBlock, createElementVNode, createVNode, withCtx, Fragment, renderList, createBlock, unref, toDisplayString } from "vue";
2
2
  import { Image, Button } from "ant-design-vue";
3
3
  import { DownloadOutlined, EyeOutlined } from "@ant-design/icons-vue";
4
4
  import { useFilePreview } from "../../../hooks/useFilePreview.js";
@@ -20,17 +20,27 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
20
20
  const { getPreviewData, handlePreview, handleDownload } = useFilePreview();
21
21
  const attachmentList = ref([]);
22
22
  ref(false);
23
- onMounted(async () => {
24
- let data = props.data || [];
25
- if (typeof data === "string") {
26
- data = JSON.parse(data);
27
- }
28
- if ((data == null ? void 0 : data.length) === 0) {
29
- attachmentList.value = [];
30
- return;
31
- }
32
- attachmentList.value = await getPreviewData(data);
33
- });
23
+ watch(
24
+ () => props.data,
25
+ async (newData) => {
26
+ let data = newData || [];
27
+ if (typeof data === "string") {
28
+ try {
29
+ data = JSON.parse(data);
30
+ } catch (error) {
31
+ console.error("Failed to parse props.data:", error);
32
+ attachmentList.value = [];
33
+ return;
34
+ }
35
+ }
36
+ if (!Array.isArray(data) || data.length === 0) {
37
+ attachmentList.value = [];
38
+ return;
39
+ }
40
+ attachmentList.value = await getPreviewData(data);
41
+ },
42
+ { immediate: true }
43
+ );
34
44
  const isImageFile = (file) => {
35
45
  const imageExtensions = [".jpg", ".jpeg", ".png", ".gif", ".bmp", ".webp"];
36
46
  return imageExtensions.some((ext) => file.fileType.toLowerCase().endsWith(ext));
@@ -41,6 +51,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
41
51
  const imageList = computed(() => {
42
52
  return attachmentList.value.filter((file) => isImageFile(file));
43
53
  });
54
+ onMounted(() => {
55
+ console.log(121212121);
56
+ });
44
57
  return (_ctx, _cache) => {
45
58
  const _component_a_image_preview_group = resolveComponent("a-image-preview-group");
46
59
  return attachmentList.value.length ? (openBlock(), createElementBlock("div", _hoisted_1, [
@@ -1,235 +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
- },
50
- beforeUnmount() {
51
- },
52
- computed: {
53
- // paginationLayout() {
54
- // return !!this.widget.options.smallPagination
55
- // ? 'prev, pager, next'
56
- // : 'total, sizes, prev, pager, next, jumper';
57
- // },
58
- selected() {
59
- return this.widget.id === this.designer.selectedId;
60
- }
61
- // customClass() {
62
- // return this.widget.options.customClass || '';
63
- // },
64
- // widgetSize() {
65
- // return this.widget.options.tableSize || 'default';
66
- // },
67
- // buttonsColumnFixed() {
68
- // if (this.widget.options.buttonsColumnFixed === undefined) {
69
- // return 'right';
70
- // }
71
- // return !this.widget.options.buttonsColumnFixed
72
- // ? false
73
- // : this.widget.options.buttonsColumnFixed;
74
- // },
75
- // tableHeight() {
76
- // return this.widget.options.tableHeight || undefined;
77
- // },
78
- // selectionWidth() {
79
- // return !this.widget.options.showSummary
80
- // ? !this.widget.options.treeDataEnabled
81
- // ? 42
82
- // : 70
83
- // : 53;
84
- // }
85
- },
86
- methods: {
87
- // getOperationButtonLabel(buttonConfig, rowIndex, row) {
88
- // if (!!this.widget.options.onGetOperationButtonLabel) {
89
- // const customFn = new Function(
90
- // 'buttonConfig',
91
- // 'rowIndex',
92
- // 'row',
93
- // this.widget.options.onGetOperationButtonLabel
94
- // );
95
- // //return customFn.call(this, buttonConfig, rowIndex, row) || buttonConfig.label
96
- // return customFn.call(this, buttonConfig, rowIndex, row);
97
- // } else {
98
- // return buttonConfig.label;
99
- // }
100
- // },
101
- // handleOperationButtonClick(btnName, rowIndex, row, scope, ob) {
102
- // this.skipSelectionChangeEvent = true;
103
- // try {
104
- // if (ob.onClick) {
105
- // const clcFn = new Function('record', 'index', 'column', 'btn', ob.onClick);
106
- // clcFn.call(this, row, rowIndex, scope.column, ob);
107
- // return;
108
- // }
109
- // if (!!this.widget.options.onOperationButtonClick) {
110
- // const customFn = new Function(
111
- // 'buttonName',
112
- // 'rowIndex',
113
- // 'row',
114
- // this.widget.options.onOperationButtonClick
115
- // );
116
- // customFn.call(this, btnName, rowIndex, row);
117
- // } else {
118
- // this.dispatch('VFormRender', 'operationButtonClick', [this, btnName, rowIndex, row]);
119
- // }
120
- // } finally {
121
- // this.skipSelectionChangeEvent = false;
122
- // }
123
- // },
124
- // showOperationButton(buttonConfig, rowIndex, row) {
125
- // if (!!this.widget.options.onHideOperationButton) {
126
- // const customFn = new Function(
127
- // 'buttonConfig',
128
- // 'rowIndex',
129
- // 'row',
130
- // this.widget.options.onHideOperationButton
131
- // );
132
- // return !customFn.call(this, buttonConfig, rowIndex, row);
133
- // } else {
134
- // return !buttonConfig.hidden;
135
- // }
136
- // },
137
- // disableOperationButton(buttonConfig, rowIndex, row) {
138
- // if (!!this.widget.options.onDisableOperationButton) {
139
- // const customFn = new Function(
140
- // 'buttonConfig',
141
- // 'rowIndex',
142
- // 'row',
143
- // this.widget.options.onDisableOperationButton
144
- // );
145
- // return customFn.call(this, buttonConfig, rowIndex, row);
146
- // } else {
147
- // return buttonConfig.disabled;
148
- // }
149
- // },
150
- // customRenderIndex({ index }) {
151
- // return index + 1;
152
- // },
153
- // handleTablePageChange(pagination, filters, sorter, { currentDataSource }) {
154
- // const fn = this.widget.options.onTableChange;
155
- // this.widget.options.pagination.current = pagination.current;
156
- // this.widget.options.pagination.pageSize = pagination.pageSize;
157
- // if (fn) {
158
- // const changeFunc = new Function(
159
- // 'pagination',
160
- // 'filters',
161
- // 'sorter',
162
- // 'currentDataSource',
163
- // fn
164
- // );
165
- // changeFunc.call(this, pagination, filters, sorter, currentDataSource);
166
- // }
167
- // },
168
- // handleRowSelection(info) {
169
- // if (!info.hasRowSelection) {
170
- // return undefined;
171
- // }
172
- // return {
173
- // ...omit(info, ['onChange']),
174
- // onChange: (selectedRowKeys, selectedRows) => {
175
- // const rcFunc = new Function('selectedRowKeys', 'selectedRows', info.onChange);
176
- // rcFunc.call(this, selectedRowKeys, selectedRows);
177
- // }
178
- // };
179
- // },
180
- selectWidget(widget) {
181
- this.designer.setSelected(widget);
182
- }
183
- // getTableColumns() {
184
- // return this.widget.options.tableColumns;
185
- // }
186
- // setChildrenSelected(children, flag) {
187
- // const childrenKey = this.widget.options.childrenKey;
188
- // children.map(child => {
189
- // this.toggleSelection(child, flag);
190
- // if (child[childrenKey]) {
191
- // this.setChildrenSelected(child[childrenKey], flag);
192
- // }
193
- // });
194
- // },
195
- // toggleSelection(row, flag) {
196
- // if (row) {
197
- // this.$nextTick(() => {
198
- // this.$refs.dataTable.toggleRowSelection(row, flag);
199
- // });
200
- // }
201
- // },
202
- // handleRowSelect(selection, row) {
203
- // const childrenKey = this.widget.options.childrenKey;
204
- // if (
205
- // selection.some(el => {
206
- // return row.id === el.id;
207
- // })
208
- // ) {
209
- // if (row[childrenKey]) {
210
- // this.setChildrenSelected(row[childrenKey], true);
211
- // }
212
- // } else {
213
- // if (row[childrenKey]) {
214
- // this.setChildrenSelected(row[childrenKey], false);
215
- // }
216
- // }
217
- // },
218
- // setSelectedFlag(data, flag) {
219
- // const childrenKey = this.widget.options.childrenKey;
220
- // data.forEach(row => {
221
- // this.$refs.dataTable.toggleRowSelection(row, flag);
222
- // if (row[childrenKey]) {
223
- // this.setSelectedFlag(row[childrenKey], flag);
224
- // }
225
- // });
226
- // },
227
- // handleAllSelect(selection) {
228
- // this.selectAllFlag = !this.selectAllFlag;
229
- // this.setSelectedFlag(this.widget.options.tableData, this.selectAllFlag);
230
- // }
231
- }
232
- };
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"]]);
233
103
  export {
234
- _sfc_main as default
104
+ dataTableWidget as default
235
105
  };