@kp-ui/lowcode 1.0.32 → 1.0.34

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 (80) hide show
  1. package/_virtual/virtual_svg-icons-register.js +2 -2
  2. package/package.json +27 -26
  3. package/render.js +44 -18
  4. package/src/api/useFilesystemApi/filesystem/index.js +1 -1
  5. package/src/components/CustomRender/components/AttachmentRender.vue.js +1 -1
  6. package/src/components/CustomRender/components/AttachmentRender.vue2.js +38 -55
  7. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue.js +103 -234
  8. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue2.js +236 -0
  9. package/src/components/form-designer/form-widget/container-widget/{grid-widget.vue2.js → grid-widget.vue.js} +1 -1
  10. package/src/components/form-designer/form-widget/container-widget/index.js +4 -4
  11. package/src/components/form-designer/form-widget/container-widget/{table-widget.vue2.js → table-widget.vue.js} +1 -1
  12. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue.js +156 -126
  13. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue2.js +128 -0
  14. package/src/components/form-designer/form-widget/field-widget/fieldMixin.js +8 -1
  15. package/src/components/form-designer/form-widget/field-widget/file-upload-widget.vue.js +1 -1
  16. package/src/components/form-designer/form-widget/field-widget/file-upload-widget.vue2.js +19 -29
  17. package/src/components/form-designer/form-widget/index.vue.js +4 -4
  18. package/src/components/form-designer/toolbar-panel/index.vue.js +3 -2
  19. package/src/components/form-designer/widget-panel/advanced/attachment-render.js +1 -1
  20. package/src/components/form-designer/widget-panel/advanced/bpmn-editor.js +1 -1
  21. package/src/components/form-designer/widget-panel/advanced/cascader.js +1 -1
  22. package/src/components/form-designer/widget-panel/advanced/code-editor.js +1 -1
  23. package/src/components/form-designer/widget-panel/advanced/diy-compontent.js +1 -1
  24. package/src/components/form-designer/widget-panel/advanced/slot.js +1 -1
  25. package/src/components/form-designer/widget-panel/advanced/tree-select.js +1 -1
  26. package/src/components/form-designer/widget-panel/basicFields/button.js +1 -1
  27. package/src/components/form-designer/widget-panel/basicFields/checkbox.js +1 -1
  28. package/src/components/form-designer/widget-panel/basicFields/color.js +1 -1
  29. package/src/components/form-designer/widget-panel/basicFields/date.js +1 -1
  30. package/src/components/form-designer/widget-panel/basicFields/dateRange.js +1 -1
  31. package/src/components/form-designer/widget-panel/basicFields/divider.js +1 -1
  32. package/src/components/form-designer/widget-panel/basicFields/dropdown.js +1 -1
  33. package/src/components/form-designer/widget-panel/basicFields/htmlText.js +1 -1
  34. package/src/components/form-designer/widget-panel/basicFields/input.js +1 -1
  35. package/src/components/form-designer/widget-panel/basicFields/number.js +1 -1
  36. package/src/components/form-designer/widget-panel/basicFields/radio.js +1 -1
  37. package/src/components/form-designer/widget-panel/basicFields/rate.js +1 -1
  38. package/src/components/form-designer/widget-panel/basicFields/select.js +1 -1
  39. package/src/components/form-designer/widget-panel/basicFields/slider.js +1 -1
  40. package/src/components/form-designer/widget-panel/basicFields/staticText.js +1 -1
  41. package/src/components/form-designer/widget-panel/basicFields/switch.js +1 -1
  42. package/src/components/form-designer/widget-panel/basicFields/textarea.js +1 -1
  43. package/src/components/form-designer/widget-panel/basicFields/time.js +1 -1
  44. package/src/components/form-designer/widget-panel/basicFields/timeRange.js +1 -1
  45. package/src/components/form-designer/widget-panel/business/department-select.js +1 -1
  46. package/src/components/form-designer/widget-panel/business/material-select.js +1 -1
  47. package/src/components/form-designer/widget-panel/business/operation-select.js +1 -1
  48. package/src/components/form-designer/widget-panel/business/post-select.js +1 -1
  49. package/src/components/form-designer/widget-panel/business/project-group-select.js +1 -1
  50. package/src/components/form-designer/widget-panel/business/project-select.js +1 -1
  51. package/src/components/form-designer/widget-panel/business/user-select.js +1 -1
  52. package/src/components/form-designer/widget-panel/containers/data-table.js +1 -1
  53. package/src/components/form-designer/widget-panel/containers/grid-col.js +1 -1
  54. package/src/components/form-designer/widget-panel/containers/grid-sub-form.js +1 -1
  55. package/src/components/form-designer/widget-panel/containers/grid.js +1 -1
  56. package/src/components/form-designer/widget-panel/containers/tab-pane.js +1 -1
  57. package/src/components/form-designer/widget-panel/containers/tab.js +1 -1
  58. package/src/components/form-designer/widget-panel/containers/vf-box.js +1 -1
  59. package/src/components/form-designer/widget-panel/containers/vf-collapse.js +1 -1
  60. package/src/components/form-designer/widget-panel/containers/vf-dialog.js +1 -1
  61. package/src/components/http-editor/index.vue.js +1 -1
  62. package/src/components/http-editor/index.vue2.js +1 -2
  63. package/src/hooks/useFilePreview.js +16 -6
  64. package/src/utils/request/fmtHttpParams.js +21 -7
  65. package/src/utils/sfc-generator.js +1 -0
  66. package/src/utils/util.js +1 -21
  67. package/styles/style.css +1 -1
  68. package/types/src/components/CustomRender/components/AttachmentRender.d.ts.map +1 -1
  69. package/types/src/components/form-render/index.d.ts.map +1 -1
  70. package/types/src/hooks/useFilePreview.d.ts +4 -0
  71. package/types/src/hooks/useFilePreview.d.ts.map +1 -1
  72. package/types/src/utils/request/http.d.ts +2 -3
  73. package/types/src/utils/request/http.d.ts.map +1 -1
  74. package/src/components/form-designer/form-widget/container-widget/data-table-widget.vue3.js +0 -105
  75. package/src/components/form-designer/form-widget/container-widget/vf-collapse-widget.vue4.js +0 -158
  76. package/src/utils/request/handleAxiosError.js +0 -31
  77. package/src/utils/request/http.js +0 -88
  78. package/src/utils/request/useGetUseInfo.js +0 -9
  79. package/types/src/utils/request/useGetUseInfo.d.ts +0 -23
  80. 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__1746762172972__");
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__1746762172972__";
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.34",
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.20",
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
@@ -213,7 +213,10 @@ const _sfc_main = {
213
213
  },
214
214
  insertCustomStyleAndScriptNode() {
215
215
  if (!!this.formConfig && !!this.formConfig.cssCode) {
216
- insertCustomCssToHead(this.formConfig.cssCode, !!this.previewState ? "" : this.formId);
216
+ insertCustomCssToHead(
217
+ this.formConfig.cssCode,
218
+ !!this.previewState ? "" : this.formId
219
+ );
217
220
  }
218
221
  if (!!this.formConfig && !!this.formConfig.functions) {
219
222
  insertGlobalFunctionsToHtml(
@@ -321,18 +324,27 @@ const _sfc_main = {
321
324
  },
322
325
  addFieldChangeEventHandler() {
323
326
  this.off$("fieldChange");
324
- this.on$("fieldChange", (fieldName, newValue, oldValue, subFormName, subFormRowIndex) => {
325
- this.handleFieldDataChange(fieldName, newValue, oldValue, subFormName, subFormRowIndex);
326
- this.$emit(
327
- "formChange",
328
- fieldName,
329
- newValue,
330
- oldValue,
331
- this.formDataModel,
332
- subFormName,
333
- subFormRowIndex
334
- );
335
- });
327
+ this.on$(
328
+ "fieldChange",
329
+ (fieldName, newValue, oldValue, subFormName, subFormRowIndex) => {
330
+ this.handleFieldDataChange(
331
+ fieldName,
332
+ newValue,
333
+ oldValue,
334
+ subFormName,
335
+ subFormRowIndex
336
+ );
337
+ this.$emit(
338
+ "formChange",
339
+ fieldName,
340
+ newValue,
341
+ oldValue,
342
+ this.formDataModel,
343
+ subFormName,
344
+ subFormRowIndex
345
+ );
346
+ }
347
+ );
336
348
  },
337
349
  addFieldValidateEventHandler() {
338
350
  this.off$("fieldValidation");
@@ -388,7 +400,11 @@ const _sfc_main = {
388
400
  }
389
401
  },
390
402
  findWidgetOfSubFormAndSetDisabled(widgetName, disabledFlag) {
391
- const widgetSchema = getFieldWidgetByName(this.formJsonObj.widgetList, widgetName, true);
403
+ const widgetSchema = getFieldWidgetByName(
404
+ this.formJsonObj.widgetList,
405
+ widgetName,
406
+ true
407
+ );
392
408
  if (!!widgetSchema && !!widgetSchema.options && widgetSchema.options.hasOwnProperty("disabled")) {
393
409
  widgetSchema.options.disabled = disabledFlag;
394
410
  }
@@ -408,7 +424,11 @@ const _sfc_main = {
408
424
  }
409
425
  },
410
426
  findWidgetOfSubFormAndSetHidden(widgetName, hiddenFlag) {
411
- const widgetSchema = getFieldWidgetByName(this.formJsonObj.widgetList, widgetName, true);
427
+ const widgetSchema = getFieldWidgetByName(
428
+ this.formJsonObj.widgetList,
429
+ widgetName,
430
+ true
431
+ );
412
432
  if (!!widgetSchema && !!widgetSchema.options && widgetSchema.options.hasOwnProperty("hidden")) {
413
433
  widgetSchema.options.hidden = hiddenFlag;
414
434
  }
@@ -456,7 +476,13 @@ const _sfc_main = {
456
476
  overwriteObj(localDsv, this.globalDsv || {});
457
477
  let dsResult = null;
458
478
  try {
459
- dsResult = await runDataSourceRequest(curDS, localDsv, this, false, this.$message);
479
+ dsResult = await runDataSourceRequest(
480
+ curDS,
481
+ localDsv,
482
+ this,
483
+ false,
484
+ this.$message
485
+ );
460
486
  this.dsResultCache[dsName] = dsResult;
461
487
  this.broadcast("FieldWidget", "loadOptionItemsFromDataSet", dsName);
462
488
  } catch (err) {
@@ -903,7 +929,7 @@ const _sfc_main = {
903
929
  //--------------------- 以上为组件支持外部调用的API方法 end ------------------//
904
930
  }
905
931
  };
906
- const _hoisted_1 = { style: { "min-height": "200px" } };
932
+ const _hoisted_1 = { style: { "min-height": "260px" } };
907
933
  function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
908
934
  const _component_a_form = resolveComponent("a-form");
909
935
  const _component_a_spin = resolveComponent("a-spin");
@@ -975,7 +1001,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
975
1001
  _: 3
976
1002
  }, 8, ["component-size"]);
977
1003
  }
978
- const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-20edc56d"]]);
1004
+ const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-fe3f93b2"]]);
979
1005
  export {
980
1006
  index as default
981
1007
  };
@@ -1,4 +1,4 @@
1
- import { getHttp } from "../../../utils/request/http.js";
1
+ import { getHttp } from "@kp-ui/tool";
2
2
  import { saveAs } from "file-saver";
3
3
  const useFilesystemApi = () => {
4
4
  const http = getHttp();
@@ -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-412620ec"]]);
4
+ const AttachmentRender = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3adb70ed"]]);
5
5
  export {
6
6
  AttachmentRender as default
7
7
  };
@@ -1,5 +1,5 @@
1
- import { defineComponent, ref, watch, computed, onMounted, resolveComponent, createElementBlock, createCommentVNode, openBlock, createElementVNode, createVNode, withCtx, Fragment, renderList, createBlock, unref, toDisplayString } from "vue";
2
- import { Image, Button } from "ant-design-vue";
1
+ import { defineComponent, ref, watchEffect, onMounted, resolveComponent, createElementBlock, createCommentVNode, openBlock, createElementVNode, createVNode, Fragment, renderList, unref, toDisplayString, withCtx } from "vue";
2
+ import { Button } from "ant-design-vue";
3
3
  import { DownloadOutlined, EyeOutlined } from "@ant-design/icons-vue";
4
4
  import { useFilePreview } from "../../../hooks/useFilePreview.js";
5
5
  import FileIcon from "../../svg-icon/FileIcon.js";
@@ -8,8 +8,8 @@ const _hoisted_1 = {
8
8
  class: "attachment-render"
9
9
  };
10
10
  const _hoisted_2 = { class: "file-list" };
11
- const _hoisted_3 = { class: "image-preview" };
12
- const _hoisted_4 = { class: "file-name" };
11
+ const _hoisted_3 = { class: "file-name" };
12
+ const _hoisted_4 = ["src"];
13
13
  const _sfc_main = /* @__PURE__ */ defineComponent({
14
14
  __name: "AttachmentRender",
15
15
  props: {
@@ -17,68 +17,35 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
17
17
  },
18
18
  setup(__props) {
19
19
  const props = __props;
20
- const { getPreviewData, handlePreview, handleDownload } = useFilePreview();
20
+ const {
21
+ previewVisible,
22
+ previewTitle,
23
+ previewImage,
24
+ handleCancel,
25
+ handlePreview,
26
+ handleDownload
27
+ } = useFilePreview();
21
28
  const attachmentList = ref([]);
22
- ref(false);
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
- );
44
- const isImageFile = (file) => {
45
- const imageExtensions = [".jpg", ".jpeg", ".png", ".gif", ".bmp", ".webp"];
46
- return imageExtensions.some((ext) => file.fileType.toLowerCase().endsWith(ext));
47
- };
48
- const fileList = computed(() => {
49
- return attachmentList.value.filter((file) => !isImageFile(file));
50
- });
51
- const imageList = computed(() => {
52
- return attachmentList.value.filter((file) => isImageFile(file));
29
+ watchEffect(() => {
30
+ if (typeof props.data === "string") {
31
+ attachmentList.value = JSON.parse(props.data);
32
+ } else {
33
+ attachmentList.value = props.data;
34
+ }
53
35
  });
54
36
  onMounted(() => {
55
- console.log(121212121);
56
37
  });
57
38
  return (_ctx, _cache) => {
58
- const _component_a_image_preview_group = resolveComponent("a-image-preview-group");
39
+ const _component_a_modal = resolveComponent("a-modal");
59
40
  return attachmentList.value.length ? (openBlock(), createElementBlock("div", _hoisted_1, [
60
41
  createElementVNode("div", _hoisted_2, [
61
- createElementVNode("div", _hoisted_3, [
62
- createVNode(_component_a_image_preview_group, null, {
63
- default: withCtx(() => [
64
- (openBlock(true), createElementBlock(Fragment, null, renderList(imageList.value, (file) => {
65
- return openBlock(), createBlock(unref(Image), {
66
- key: file.fileCode,
67
- src: file.previewUrl,
68
- class: "preview-image"
69
- }, null, 8, ["src"]);
70
- }), 128))
71
- ]),
72
- _: 1
73
- })
74
- ]),
75
- (openBlock(true), createElementBlock(Fragment, null, renderList(fileList.value, (file, index) => {
42
+ (openBlock(true), createElementBlock(Fragment, null, renderList(attachmentList.value, (file, index) => {
76
43
  return openBlock(), createElementBlock("div", {
77
44
  key: index,
78
45
  class: "file-item"
79
46
  }, [
80
47
  createVNode(unref(FileIcon), { file }, null, 8, ["file"]),
81
- createElementVNode("span", _hoisted_4, toDisplayString(file.fileName), 1),
48
+ createElementVNode("span", _hoisted_3, toDisplayString(file.fileName), 1),
82
49
  createVNode(unref(Button), {
83
50
  type: "link",
84
51
  onClick: () => unref(handleDownload)(file)
@@ -99,7 +66,23 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
99
66
  }, 1032, ["onClick"])
100
67
  ]);
101
68
  }), 128))
102
- ])
69
+ ]),
70
+ createVNode(_component_a_modal, {
71
+ visible: unref(previewVisible),
72
+ class: "tpf-modal",
73
+ title: unref(previewTitle),
74
+ footer: null,
75
+ onCancel: unref(handleCancel),
76
+ width: "960px"
77
+ }, {
78
+ default: withCtx(() => [
79
+ createElementVNode("img", {
80
+ style: { "width": "100%" },
81
+ src: unref(previewImage)
82
+ }, null, 8, _hoisted_4)
83
+ ]),
84
+ _: 1
85
+ }, 8, ["visible", "title", "onCancel"])
103
86
  ])) : createCommentVNode("", true);
104
87
  };
105
88
  }