super-page-designer 2.0.20 → 2.0.26

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 (131) hide show
  1. package/dist/es/assets/fonts/iconfont.css.js +1 -0
  2. package/dist/es/components/design/utils/assemblys-config.js +99 -91
  3. package/dist/es/components/design/utils/data-table-util.js +4 -4
  4. package/dist/es/components/design/utils/form-design-util.js +11 -0
  5. package/dist/es/components/design/utils/page-helper-util.d.ts +1 -0
  6. package/dist/es/components/design/utils/page-helper-util.js +8 -0
  7. package/dist/es/components/design/utils/page-permission-util.js +6 -0
  8. package/dist/es/components/design/utils/page-service-util.js +1 -1
  9. package/dist/es/components/design/utils/page-table-util.js +9 -7
  10. package/dist/es/components/design/views/assemblys/button/button/button-attr-base.vue.js +14 -8
  11. package/dist/es/components/design/views/assemblys/button/button-group/buttongroup-design.vue2.js +16 -8
  12. package/dist/es/components/design/views/assemblys/button/dropdown/dropdown-attr-base.vue.js +4 -1
  13. package/dist/es/components/design/views/assemblys/chart/column-line/column-line-design.vue2.js +1 -0
  14. package/dist/es/components/design/views/assemblys/common/common-icon-bind.vue.js +16 -12
  15. package/dist/es/components/design/views/assemblys/common/common-select-page.vue.js +2 -2
  16. package/dist/es/components/design/views/assemblys/common/common-select-table.vue.js +10 -7
  17. package/dist/es/components/design/views/assemblys/common/common-style-background.vue.js +31 -9
  18. package/dist/es/components/design/views/assemblys/common/common-variable-bind-option.js +6 -1
  19. package/dist/es/components/design/views/assemblys/common/common-variable-bind.vue.d.ts +1 -1
  20. package/dist/es/components/design/views/assemblys/common/common-variable-bind.vue.js +1 -1
  21. package/dist/es/components/design/views/assemblys/common/common-variable-bind.vue2.js +5 -5
  22. package/dist/es/components/design/views/assemblys/common/page-permission-select.vue.js +2 -2
  23. package/dist/es/components/design/views/assemblys/container/container/container-design.vue2.js +17 -7
  24. package/dist/es/components/design/views/assemblys/container/flex/flex-design.vue2.js +17 -7
  25. package/dist/es/components/design/views/assemblys/container/form/form-design.vue2.js +18 -8
  26. package/dist/es/components/design/views/assemblys/container/tools/tools-design.vue2.js +14 -8
  27. package/dist/es/components/design/views/assemblys/data/bar-code/barcode-attr-base.vue.js +118 -23
  28. package/dist/es/components/design/views/assemblys/data/bar-code/barcode-design.vue2.js +22 -9
  29. package/dist/es/components/design/views/assemblys/data/component/attr-style.vue.js +1 -1
  30. package/dist/es/components/design/views/assemblys/data/component/column-config.vue.js +37 -34
  31. package/dist/es/components/design/views/assemblys/data/component/data-origin.vue.js +1 -1
  32. package/dist/es/components/design/views/assemblys/data/component/data-origin.vue2.js +112 -13
  33. package/dist/es/components/design/views/assemblys/data/component/querySetting.vue.js +0 -5
  34. package/dist/es/components/design/views/assemblys/data/component/table-children-column.vue.js +18 -9
  35. package/dist/es/components/design/views/assemblys/data/table/table-attr-advanced.vue.js +1 -1
  36. package/dist/es/components/design/views/assemblys/data/table/table-attr-base.vue.js +31 -8
  37. package/dist/es/components/design/views/assemblys/data/table/table-attr.vue2.js +10 -9
  38. package/dist/es/components/design/views/assemblys/data/table/table-design.vue.js +1 -1
  39. package/dist/es/components/design/views/assemblys/data/table/table-design.vue2.js +13 -8
  40. package/dist/es/components/design/views/assemblys/data/table/tablecolumn-attr-base.vue.js +66 -77
  41. package/dist/es/components/design/views/assemblys/data/table/tablecolumn-attr-event.vue.js +0 -1
  42. package/dist/es/components/design/views/assemblys/data/table/tablecolumn-attr-style.vue.js +1 -1
  43. package/dist/es/components/design/views/assemblys/data/tree/tree-attr-base.vue.js +45 -38
  44. package/dist/es/components/design/views/assemblys/data/tree/tree-attr-style.vue.js +2 -2
  45. package/dist/es/components/design/views/assemblys/form/checkbox/checkbox-attr-base.vue.js +22 -13
  46. package/dist/es/components/design/views/assemblys/form/common/attr-event.vue.js +1 -1
  47. package/dist/es/components/design/views/assemblys/form/common/attr-event.vue2.js +4 -3
  48. package/dist/es/components/design/views/assemblys/form/common/bar-code-rule.vue.js +414 -150
  49. package/dist/es/components/design/views/assemblys/form/common/data-format.vue.js +4 -3
  50. package/dist/es/components/design/views/assemblys/form/common/data-origin.vue.js +1 -1
  51. package/dist/es/components/design/views/assemblys/form/common/data-origin.vue2.js +4 -1
  52. package/dist/es/components/design/views/assemblys/form/common/dimension-input.vue.js +1 -75
  53. package/dist/es/components/design/views/assemblys/form/common/dimension-input.vue2.js +75 -1
  54. package/dist/es/components/design/views/assemblys/form/common/dimension-input.vue3.js +2 -2
  55. package/dist/es/components/design/views/assemblys/form/common/linkpage-page-callback.vue.js +3 -42
  56. package/dist/es/components/design/views/assemblys/form/common/parameter-table.vue.js +19 -13
  57. package/dist/es/components/design/views/assemblys/form/common/pre-suffix.vue.js +5 -68
  58. package/dist/es/components/design/views/assemblys/form/common/suffixmodule.vue.js +24 -14
  59. package/dist/es/components/design/views/assemblys/form/custom/custom-attr-base.vue.js +1 -1
  60. package/dist/es/components/design/views/assemblys/form/date-picker/datepicker-attr-base.vue.js +16 -9
  61. package/dist/es/components/design/views/assemblys/form/dept-tree/depttree-attr-base.vue.js +21 -11
  62. package/dist/es/components/design/views/assemblys/form/divider/divider-attr-base.vue.js +6 -4
  63. package/dist/es/components/design/views/assemblys/form/divider/divider-attr-event.vue.js +5 -5
  64. package/dist/es/components/design/views/assemblys/form/divider/divider-attr-style.vue.js +6 -0
  65. package/dist/es/components/design/views/assemblys/form/divider/divider-design.vue2.js +17 -16
  66. package/dist/es/components/design/views/assemblys/form/file-upload/fileupload-attr-base.vue.js +16 -9
  67. package/dist/es/components/design/views/assemblys/form/input-number/input-number-attr-base.vue.js +24 -9
  68. package/dist/es/components/design/views/assemblys/form/input-number/input-number-design.vue2.js +1 -0
  69. package/dist/es/components/design/views/assemblys/form/input-text/inputtext-attr-base.vue.js +21 -12
  70. package/dist/es/components/design/views/assemblys/form/input-text/inputtext-design.vue2.js +21 -14
  71. package/dist/es/components/design/views/assemblys/form/label/label-attr-base.vue.js +20 -10
  72. package/dist/es/components/design/views/assemblys/form/link/link-attr-base.vue.js +16 -9
  73. package/dist/es/components/design/views/assemblys/form/placeholder/placeholder-attr-base.vue.js +3 -2
  74. package/dist/es/components/design/views/assemblys/form/placeholder/placeholder-attr-style.vue.js +6 -0
  75. package/dist/es/components/design/views/assemblys/form/placeholder/placeholder-design.vue2.js +8 -13
  76. package/dist/es/components/design/views/assemblys/form/radio/radio-attr-base.vue.js +22 -13
  77. package/dist/es/components/design/views/assemblys/form/rich-text/richtext-attr-base.vue.js +16 -9
  78. package/dist/es/components/design/views/assemblys/form/rich-text/richtext-design.vue2.js +2 -2
  79. package/dist/es/components/design/views/assemblys/form/select/select-attr-base.vue.js +25 -15
  80. package/dist/es/components/design/views/assemblys/form/separatelabel/separatelabel-attr-base.vue.js +10 -5
  81. package/dist/es/components/design/views/assemblys/form/separatelabel/separatelabel-attr-style.vue.js +4 -1
  82. package/dist/es/components/design/views/assemblys/form/switch/switch-attr-base.vue.js +16 -9
  83. package/dist/es/components/design/views/assemblys/form/tag/tag-attr-base.vue.js +13 -7
  84. package/dist/es/components/design/views/assemblys/form/textarea/textarea-attr-base.vue.js +16 -9
  85. package/dist/es/components/design/views/assemblys/object-design.vue.js +12 -8
  86. package/dist/es/components/design/views/assemblys/page/component/setting-form-rule-base-input.vue.d.ts +2 -2
  87. package/dist/es/components/design/views/assemblys/page/component/setting-form-rule-base-input.vue.js +3 -3
  88. package/dist/es/components/design/views/assemblys/workflow/component/combination.vue.d.ts +1 -1
  89. package/dist/es/components/design/views/assemblys/workflow/component/combination.vue.js +28 -16
  90. package/dist/es/components/design/views/assemblys/workflow/picture-flow/pictureflow-attr-base.vue.js +21 -6
  91. package/dist/es/components/design/views/assemblys/workflow/text-history/texthistory-attr-base.vue.js +10 -8
  92. package/dist/es/components/design/views/design/page-design.vue.js +165 -138
  93. package/dist/es/components/design/views/design/page-event/config.vue.d.ts +12 -1
  94. package/dist/es/components/design/views/design/page-event/config.vue.js +3 -3
  95. package/dist/es/components/design/views/design/page-event/config.vue2.js +1 -325
  96. package/dist/es/components/design/views/design/page-event/config.vue3.js +336 -1
  97. package/dist/es/components/design/views/design/page-event/page-event-container.vue.d.ts +1 -8
  98. package/dist/es/components/design/views/design/page-event/page-event-container.vue.js +226 -569
  99. package/dist/es/components/design/views/design/page-event/page-event-content.vue.d.ts +11 -5
  100. package/dist/es/components/design/views/design/page-event/page-event-content.vue.js +1 -1
  101. package/dist/es/components/design/views/design/page-event/page-event-content.vue2.js +510 -366
  102. package/dist/es/components/design/views/design/page-event/page-event-view.vue.d.ts +8 -0
  103. package/dist/es/components/design/views/design/page-event/page-event-view.vue.js +48 -0
  104. package/dist/es/components/design/views/design/page-event/page-event-view.vue2.js +4 -0
  105. package/dist/es/components/design/views/design/view/assemblys-container.vue.d.ts +0 -6
  106. package/dist/es/components/design/views/design/view/assemblys-container.vue.js +14 -58
  107. package/dist/es/components/design/views/design/view/attr-container.vue.js +1 -0
  108. package/dist/es/components/design/views/design/view/components/quick-add-dialog.vue.d.ts +18 -0
  109. package/dist/es/components/design/views/design/view/components/quick-add-dialog.vue.js +678 -0
  110. package/dist/es/components/design/views/design/view/components/quick-add-dialog.vue2.js +4 -0
  111. package/dist/es/components/design/views/design/view/components/quick-add-fields.vue.d.ts +16 -0
  112. package/dist/es/components/design/views/design/view/components/quick-add-fields.vue.js +602 -0
  113. package/dist/es/components/design/views/design/view/components/quick-add-fields.vue2.js +4 -0
  114. package/dist/es/components/design/views/design/view/page-switch.vue.js +1 -1
  115. package/dist/es/components/design/views/design/view/page-switch.vue2.js +3 -2
  116. package/dist/es/components/design/views/design/view/view-design-display.vue.d.ts +6 -2
  117. package/dist/es/components/design/views/design/view/view-design-display.vue.js +99 -63
  118. package/dist/es/components/design/views/design/view/view-design-preview.vue.js +1 -1
  119. package/dist/es/components/design/views/design/view/view-design.vue.d.ts +13 -1
  120. package/dist/es/components/design/views/design/view/view-design.vue.js +13 -3
  121. package/dist/es/index.d.ts +1 -1
  122. package/dist/es/index.js +1 -0
  123. package/dist/es/stores/event-undo-redo-store.d.ts +22 -0
  124. package/dist/es/stores/event-undo-redo-store.js +56 -0
  125. package/dist/es/stores/page-store.js +1 -1
  126. package/dist/es/stores/undo-redo-store.d.ts +13 -0
  127. package/dist/es/stores/undo-redo-store.js +44 -0
  128. package/dist/es/style.css +409 -161
  129. package/package.json +4 -4
  130. package/dist/es/components/design/views/assemblys/data/component/formatting.vue.js +0 -539
  131. package/dist/es/components/design/views/assemblys/data/component/formatting.vue2.js +0 -4
@@ -17,8 +17,8 @@ declare const _default: import('vue').DefineComponent<{
17
17
  };
18
18
  }, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
19
19
  close: (...args: any[]) => void;
20
- save: (...args: any[]) => void;
21
20
  remove: (...args: any[]) => void;
21
+ save: (...args: any[]) => void;
22
22
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
23
23
  conditionList: {
24
24
  type: StringConstructor;
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, ref, resolveComponent, openBlock, createBlock, withCtx, createVNode, unref, createTextVNode, createElementBlock, Fragment, renderList } from "vue";
2
2
  import { CirclePlus, Delete, Top, Bottom } from "@element-plus/icons-vue";
3
3
  import BindVariable from "../../common/common-variable-bind.vue.js";
4
- import { ElMessage } from "element-plus";
4
+ import "element-plus";
5
5
  import { getOperators } from "../../../../utils/data-table-util.js";
6
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
7
7
  __name: "combination",
@@ -27,18 +27,36 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
27
27
  emits: ["remove", "save", "close"],
28
28
  setup(__props, { emit: __emit }) {
29
29
  const props = __props;
30
- console.log("%c描述-094410", "color:#2E3435;background:#F8BB07;padding:3px;border-radius:2px", props.fieldNameList);
31
30
  const $emit = __emit;
32
31
  const currentRow = ref({});
33
32
  const tableData = ref([]);
34
33
  const operationArr = ref([]);
35
- if (props.conditionList) {
36
- tableData.value = JSON.parse(props.conditionList);
37
- } else {
38
- tableData.value = props.list;
34
+ initTable();
35
+ function initTable() {
36
+ if (props.conditionList) {
37
+ tableData.value = JSON.parse(props.conditionList);
38
+ } else {
39
+ tableData.value = props.list;
40
+ }
41
+ if (tableData.value.length > 0) {
42
+ tableData.value.forEach((item, index) => {
43
+ console.log("%c描述-112048", "color:#2E3435;background:#F8BB07;padding:3px;border-radius:2px", item);
44
+ if (item.type === "date") {
45
+ tableData.value[index].isData = true;
46
+ } else {
47
+ tableData.value[index].isData = false;
48
+ }
49
+ let fieldItem = props.fieldMap[item.propName];
50
+ operationArr.value[index] = getOperators(fieldItem);
51
+ });
52
+ }
39
53
  }
40
54
  function remove() {
41
- tableData.value = tableData.value.filter((item) => item != currentRow.value);
55
+ if (Object.keys(currentRow.value).length !== 0) {
56
+ tableData.value = tableData.value.filter((item) => item != currentRow.value);
57
+ } else {
58
+ tableData.value.pop();
59
+ }
42
60
  }
43
61
  function handleCurrentChange(val) {
44
62
  currentRow.value = val;
@@ -57,8 +75,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
57
75
  row.defaultValue = modelValue;
58
76
  }
59
77
  function changeFieldName(index, propName) {
78
+ console.log("%c描述-164035", "color:#2E3435;background:#F8BB07;padding:3px;border-radius:2px", props.fieldMap);
60
79
  const item = props.fieldMap[propName];
61
- if (item.type === "DATE") {
80
+ if (item.type === "date") {
62
81
  tableData.value[index].isData = true;
63
82
  } else {
64
83
  tableData.value[index].isData = false;
@@ -66,14 +85,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
66
85
  operationArr.value[index] = getOperators(item);
67
86
  }
68
87
  function savebuttonSetting() {
69
- if (tableData.value && tableData.value.length > 0) {
70
- for (var i = 0; i < tableData.value.length; i++) {
71
- const item = tableData.value[i];
72
- if (!item.propName) {
73
- return ElMessage.warning("字段名或值有空白");
74
- }
75
- }
76
- }
88
+ tableData.value = tableData.value.filter((item) => item.propName);
77
89
  $emit("save", tableData.value);
78
90
  $emit("close");
79
91
  }
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, ref, resolveComponent, openBlock, createBlock, withCtx, createVNode, createElementVNode, createElementBlock, Fragment, renderList, unref } from "vue";
2
2
  import { getFormComponentOptions } from "../../../../utils/assemblys-config.js";
3
3
  import _sfc_main$1 from "../../common/common-attr-size.vue.js";
4
- import "../../form/common/dimension-input.vue2.js";
4
+ import "../../form/common/dimension-input.vue.js";
5
5
  const _hoisted_1 = { style: { "padding": "8px 0px 0px 0px" } };
6
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
7
7
  __name: "pictureflow-attr-base",
@@ -26,7 +26,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
26
26
  default: withCtx(() => [
27
27
  createVNode(_component_el_collapse, {
28
28
  modelValue: openCollapseItems.value,
29
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => openCollapseItems.value = $event),
29
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => openCollapseItems.value = $event),
30
30
  style: { "margin-top": "6px" }
31
31
  }, {
32
32
  default: withCtx(() => [
@@ -61,6 +61,20 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
61
61
  ]),
62
62
  _: 1
63
63
  }),
64
+ createVNode(_component_el_form_item, {
65
+ label: "唯一编码",
66
+ class: "amb-design-attr-item"
67
+ }, {
68
+ default: withCtx(() => [
69
+ createVNode(_component_el_input, {
70
+ modelValue: __props.configure.uuid,
71
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => __props.configure.uuid = $event),
72
+ readonly: "",
73
+ title: __props.configure.uuid
74
+ }, null, 8, ["modelValue", "title"])
75
+ ]),
76
+ _: 1
77
+ }),
64
78
  createVNode(_component_el_form_item, {
65
79
  label: "组件名",
66
80
  class: "amb-design-attr-item"
@@ -68,7 +82,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
68
82
  default: withCtx(() => [
69
83
  createVNode(_component_el_input, {
70
84
  modelValue: __props.configure.props.base.name,
71
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => __props.configure.props.base.name = $event),
85
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => __props.configure.props.base.name = $event),
72
86
  placeholder: "请输入"
73
87
  }, null, 8, ["modelValue"])
74
88
  ]),
@@ -81,7 +95,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
81
95
  default: withCtx(() => [
82
96
  createVNode(_component_el_input, {
83
97
  modelValue: __props.configure.props.base.prop,
84
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => __props.configure.props.base.prop = $event),
98
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => __props.configure.props.base.prop = $event),
85
99
  placeholder: "请输入"
86
100
  }, null, 8, ["modelValue"])
87
101
  ]),
@@ -91,9 +105,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
91
105
  ]),
92
106
  _: 1
93
107
  }),
94
- createVNode(_sfc_main$1, {
108
+ (openBlock(), createBlock(_sfc_main$1, {
109
+ key: __props.configure.uuid,
95
110
  size: __props.configure.props.size
96
- }, null, 8, ["size"])
111
+ }, null, 8, ["size"]))
97
112
  ]),
98
113
  _: 1
99
114
  }, 8, ["modelValue"])
@@ -1,7 +1,7 @@
1
1
  import { defineComponent, ref, resolveComponent, openBlock, createBlock, withCtx, createVNode, createElementVNode, createElementBlock, Fragment, renderList, unref, createTextVNode } from "vue";
2
2
  import { getFormComponentOptions } from "../../../../utils/assemblys-config.js";
3
3
  import _sfc_main$1 from "../../common/common-attr-size.vue.js";
4
- import "../../form/common/dimension-input.vue2.js";
4
+ import "../../form/common/dimension-input.vue.js";
5
5
  const _hoisted_1 = { style: { "padding": "8px 0px 0px 0px" } };
6
6
  const _hoisted_2 = { style: { "padding": "8px 0px 0px 0px" } };
7
7
  const _sfc_main = /* @__PURE__ */ defineComponent({
@@ -65,15 +65,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
65
65
  _: 1
66
66
  }),
67
67
  createVNode(_component_el_form_item, {
68
- label: "组件名",
68
+ label: "唯一编码",
69
69
  class: "amb-design-attr-item"
70
70
  }, {
71
71
  default: withCtx(() => [
72
72
  createVNode(_component_el_input, {
73
- modelValue: __props.configure.props.base.name,
74
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => __props.configure.props.base.name = $event),
75
- placeholder: "请输入"
76
- }, null, 8, ["modelValue"])
73
+ modelValue: __props.configure.uuid,
74
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => __props.configure.uuid = $event),
75
+ readonly: "",
76
+ title: __props.configure.uuid
77
+ }, null, 8, ["modelValue", "title"])
77
78
  ]),
78
79
  _: 1
79
80
  }),
@@ -153,9 +154,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
153
154
  ]),
154
155
  _: 1
155
156
  }),
156
- createVNode(_sfc_main$1, {
157
+ (openBlock(), createBlock(_sfc_main$1, {
158
+ key: __props.configure.uuid,
157
159
  size: __props.configure.props.size
158
- }, null, 8, ["size"])
160
+ }, null, 8, ["size"]))
159
161
  ]),
160
162
  _: 1
161
163
  }, 8, ["modelValue"])
@@ -7,14 +7,21 @@ import { usePageContextStore } from "../../../../stores/page-store.js";
7
7
  import ServiceFlowDesginer from "service-flow-designer";
8
8
  import { getSystemCode, getPublishVersion } from "../../utils/system.js";
9
9
  import { getPublishVersionsByCode, getHighestVersionDefinition } from "../../utils/page-design-util.js";
10
+ import { getPageConf } from "../../utils/assemblys-config.js";
10
11
  import { fetchPageDesignData } from "../../utils/page-service-util.js";
11
12
  import { ElMessage, ElLoading } from "element-plus";
12
13
  import PageSwitch from "./view/page-switch.vue.js";
14
+ import { undoRedo } from "../../../../stores/undo-redo-store.js";
15
+ import _sfc_main$2 from "./page-event/page-event-view.vue.js";
16
+ import eventBus from "../../utils/eventBus.js";
13
17
  const _hoisted_1 = { class: "amb-page-container" };
14
18
  const _hoisted_2 = { class: "amb-page-container-header-page" };
15
19
  const _hoisted_3 = { class: "amb-page-container-header" };
16
20
  const _hoisted_4 = { class: "amb-page-container-header-type" };
17
- const _hoisted_5 = { class: "amb-page-container-main" };
21
+ const _hoisted_5 = {
22
+ key: 0,
23
+ class: "amb-page-container-main"
24
+ };
18
25
  const _sfc_main = /* @__PURE__ */ defineComponent({
19
26
  __name: "page-design",
20
27
  props: {
@@ -24,155 +31,160 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
24
31
  }
25
32
  },
26
33
  setup(__props) {
34
+ const undoRedoStore = undoRedo();
27
35
  const props = __props;
28
36
  const pageDesign = ref(null);
37
+ const ViewDesignRef = ref(null);
38
+ const pageEventContainerRef = ref(null);
39
+ const pageDesignUtil = usePageContextStore();
40
+ const clickType = ref("page");
41
+ const definitionId = ref(null);
42
+ const systemCode = ref(getSystemCode());
43
+ const publishVersion = ref(getPublishVersion());
44
+ const selectWfCode = ref(null);
45
+ const selectWfVersion = ref(null);
46
+ const isShowWfEditor = ref(false);
47
+ const viewDesignComponentKey = ref(0);
48
+ eventBus.$on("editComponentEvent", () => {
49
+ clickFrontLogic();
50
+ });
51
+ function clickFrontLogic() {
52
+ clickType.value = "front";
53
+ if (pageEventContainerRef.value && pageEventContainerRef.value.resize) {
54
+ pageEventContainerRef.value.resize();
55
+ }
56
+ }
29
57
  if (props.pageId) {
30
58
  fetchPageDesignData(props.pageId).then((appPageDesign) => {
31
59
  if (appPageDesign && appPageDesign.designJson) {
32
60
  const designJson = appPageDesign.designJson;
33
- pageDesign.value = JSON.parse(designJson);
61
+ const pageConf = getPageDesignConf(JSON.parse(designJson));
62
+ pageDesign.value = pageConf;
63
+ initPageDesign(pageDesign.value);
34
64
  } else {
35
- pageDesign.value = initPageDesign();
65
+ pageDesign.value = getPageDesignConf(null);
66
+ initPageDesign(pageDesign.value);
36
67
  }
37
68
  });
38
69
  } else {
39
- pageDesign.value = initPageDesign();
70
+ pageDesign.value = getPageDesignConf(null);
71
+ initPageDesign(pageDesign.value);
40
72
  }
41
- const pageContextUtil = usePageContextStore();
42
- const clickType = ref("page");
43
- function initPageDesign() {
44
- const pageDesign2 = {
45
- id: 31,
46
- code: "9307994b-2668-44e9-a266-5662780ba084",
47
- name: "page",
48
- label: "页面",
49
- version: 1,
50
- systemCode: "vms",
51
- systemVersion: 3,
52
- dbName: "",
53
- tableName: "",
54
- tableAlias: "",
55
- workflowCode: "",
56
- workflowVersion: 0,
57
- //模型的字段
58
- modelFields: [],
59
- logicDesigns: [],
60
- //子集对象
61
- items: [],
62
- props: {
63
- // 无ID初始化条件
64
- notIdInitializationList: "[]",
65
- // 判重组合字段
66
- judgeHeavyList: []
73
+ function getPageDesignConf(initConf) {
74
+ const pageConf = getPageConf();
75
+ if (initConf) {
76
+ Object.assign(pageConf, initConf);
77
+ } else {
78
+ if (!pageConf.systemCode) {
79
+ pageConf.systemCode = "vms";
80
+ pageConf.systemVersion = 3;
81
+ }
82
+ }
83
+ return pageConf;
84
+ }
85
+ function initPageDesign(pageDesign2) {
86
+ pageDesign2.id = props.pageId;
87
+ initComponentRefState(pageDesign2);
88
+ if (pageDesign2.tableName) {
89
+ const systemCode2 = pageDesign2.tableSysCode ? pageDesign2.tableSysCode : pageDesign2.systemCode;
90
+ const systemVersion = pageDesign2.tableSysVersion ? pageDesign2.tableSysVersion : pageDesign2.systemVersion;
91
+ queryTableFields(systemCode2, systemVersion, pageDesign2.tableName).then((tableFields) => {
92
+ pageDesign2.modelFields = tableFields;
93
+ pageDesignUtil.setPageContext(pageDesign2);
94
+ });
95
+ }
96
+ pageDesignUtil.setPageContext(pageDesign2);
97
+ watch(
98
+ () => pageDesign2,
99
+ (newVal) => {
100
+ changePageDesign();
67
101
  },
68
- style: {},
69
- events: [
70
- {
71
- // 页面布局等加载后,但数据加载前时
72
- name: "beforeload",
73
- label: "加载前"
74
- },
75
- {
76
- // 数据加载后
77
- name: "load",
78
- label: "加载后"
79
- },
80
- {
81
- name: "resize",
82
- label: "尺寸变化",
83
- params: [
84
- {
85
- name: "width",
86
- label: "宽度",
87
- type: "number"
88
- },
89
- {
90
- name: "height",
91
- label: "高度",
92
- type: "number"
93
- }
94
- ]
102
+ { deep: true }
103
+ );
104
+ watch(
105
+ pageDesign2.events,
106
+ (newVal) => {
107
+ if (!pageDesign2.runtime) {
108
+ pageDesign2.runtime = {};
95
109
  }
96
- ]
97
- };
98
- if (!pageDesign2.systemCode) {
99
- pageDesign2.systemCode = "vms";
100
- pageDesign2.systemVersion = 3;
110
+ if (pageDesign2.events) {
111
+ const bindEvents = pageDesign2.events.filter((event) => {
112
+ return !event.isStandard && event.jsContent || event.isStandard && event.eventName;
113
+ });
114
+ pageDesign2.runtime.events = bindEvents;
115
+ }
116
+ },
117
+ { immediate: true }
118
+ );
119
+ watch(
120
+ () => pageDesign2.label,
121
+ () => {
122
+ managePagePermission(pageDesign2);
123
+ },
124
+ { immediate: true }
125
+ );
126
+ watch(
127
+ () => pageDesign2.pageType,
128
+ () => {
129
+ managePagePermission(pageDesign2);
130
+ },
131
+ { immediate: true }
132
+ );
133
+ if (pageDesign2.props) {
134
+ watch(
135
+ () => pageDesign2.props.activeWorkflow,
136
+ () => {
137
+ managePagePermission(pageDesign2);
138
+ },
139
+ { immediate: true }
140
+ );
101
141
  }
102
- return pageDesign2;
142
+ eventBus.$emit("changePageDesign");
103
143
  }
104
- ref(null);
105
- ref(null);
106
- const definitionId = ref(null);
107
- const systemCode = ref(getSystemCode());
108
- const publishVersion = ref(getPublishVersion());
109
- const selectWfCode = ref(null);
110
- const selectWfVersion = ref(null);
111
- const isShowWfEditor = ref(false);
112
- const viewDesignComponentKey = ref(0);
113
- initComponentRefState(pageDesign.value);
114
- if (pageDesign.value.tableName) {
115
- const systemCode2 = pageDesign.value.tableSysCode ? pageDesign.value.tableSysCode : pageDesign.value.systemCode;
116
- const systemVersion = pageDesign.value.tableSysVersion ? pageDesign.value.tableSysVersion : pageDesign.value.systemVersion;
117
- queryTableFields(systemCode2, systemVersion, pageDesign.value.tableName).then((tableFields) => {
118
- pageDesign.value.modelFields = tableFields;
119
- pageContextUtil.setPageContext(pageDesign.value);
120
- });
144
+ let changePageDesign = debounce(() => {
145
+ undoRedoStore.addSnapshot(pageDesign.value);
146
+ }, 400);
147
+ function revocation() {
148
+ viewDesignComponentKey.value++;
149
+ undoRedoStore.undo(pageDesign.value);
150
+ }
151
+ function regain() {
152
+ viewDesignComponentKey.value++;
153
+ undoRedoStore.record(pageDesign.value);
154
+ }
155
+ function debounce(fn, wait) {
156
+ let timeout = null;
157
+ return function() {
158
+ let context = this;
159
+ let args = arguments;
160
+ if (timeout)
161
+ clearTimeout(timeout);
162
+ let callNow = !timeout;
163
+ timeout = setTimeout(() => {
164
+ timeout = null;
165
+ }, wait);
166
+ if (callNow)
167
+ fn.apply(context, args);
168
+ };
121
169
  }
122
- pageContextUtil.setPageContext(pageDesign.value);
123
- watch(
124
- pageDesign.value.events,
125
- (newVal) => {
126
- const bindEvents = pageDesign.value.events.filter((event) => event.eventName);
127
- console.log("bindEvents=========", bindEvents);
128
- if (!pageDesign.value.runtime) {
129
- pageDesign.value.runtime = {};
130
- }
131
- pageDesign.value.runtime.events = bindEvents;
132
- },
133
- { immediate: true }
134
- );
135
- watch(
136
- () => pageDesign.value.label,
137
- () => {
138
- managePagePermission(pageDesign.value);
139
- },
140
- { immediate: true }
141
- );
142
- watch(
143
- () => pageDesign.value.pageType,
144
- () => {
145
- managePagePermission(pageDesign.value);
146
- },
147
- { immediate: true }
148
- );
149
- watch(
150
- () => pageDesign.value.props.activeWorkflow,
151
- () => {
152
- managePagePermission(pageDesign.value);
153
- },
154
- { immediate: true }
155
- );
156
170
  watch(
157
171
  () => systemCode.value,
158
172
  (newVal) => {
159
173
  if (newVal) {
160
- getSystempublishVersions(pageDesign.id, true);
174
+ getSystempublishVersions();
161
175
  }
162
176
  },
163
177
  { immediate: true }
164
178
  );
165
179
  const publishVersions = ref([]);
166
- async function getSystempublishVersions(systemId, refreshVersion) {
167
- if (systemId) {
168
- if (refreshVersion) {
169
- await getPublishVersionsByCode(systemCode.value).then((data) => {
170
- publishVersions.value = data;
171
- if (publishVersions.value.length > 0) {
172
- publishVersion.value = publishVersions.value[0].publishVersion;
173
- }
174
- });
175
- }
180
+ async function getSystempublishVersions() {
181
+ if (systemCode.value) {
182
+ await getPublishVersionsByCode(systemCode.value).then((data) => {
183
+ publishVersions.value = data;
184
+ if (publishVersions.value.length > 0) {
185
+ publishVersion.value = publishVersions.value[0].publishVersion;
186
+ }
187
+ });
176
188
  } else {
177
189
  publishVersions.value = [];
178
190
  }
@@ -228,7 +240,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
228
240
  if (!selectWfCode.value && !selectWfVersion.value || selectWfCode.value !== workflowCode || selectWfVersion.value !== defVersion) {
229
241
  isShowWfEditor.value = false;
230
242
  getProcessDefinition(workflowCode, defVersion, publishVersion.value);
231
- getSystempublishVersions(pageDesign.id, true);
243
+ getSystempublishVersions();
232
244
  } else {
233
245
  clickType.value = "workflow";
234
246
  }
@@ -250,13 +262,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
250
262
  loading.close();
251
263
  if (appPageDesign && appPageDesign.designJson) {
252
264
  const designJson = appPageDesign.designJson;
253
- pageDesign.value = JSON.parse(designJson);
265
+ pageDesign.value = getPageDesignConf(JSON.parse(designJson));
254
266
  if (!pageDesign.value.items) {
255
267
  pageDesign.value.items = [];
256
268
  }
257
- pageDesign.value.id = appPageDesign.id;
269
+ if (!pageDesign.value.props) {
270
+ pageDesign.value.props = {};
271
+ }
272
+ initPageDesign(pageDesign.value);
258
273
  } else {
259
- pageDesign.value = initPageDesign();
274
+ pageDesign.value = getPageDesignConf(null);
275
+ initPageDesign(pageDesign.value);
260
276
  }
261
277
  });
262
278
  }
@@ -273,7 +289,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
273
289
  style: {}
274
290
  }, {
275
291
  default: withCtx(() => [
276
- pageDesign.value.code ? (openBlock(), createBlock(PageSwitch, {
292
+ pageDesign.value && pageDesign.value.code ? (openBlock(), createBlock(PageSwitch, {
277
293
  key: 0,
278
294
  pageDesign: pageDesign.value,
279
295
  onChangePage: changePage
@@ -291,24 +307,28 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
291
307
  class: normalizeClass({ selected: clickType.value === "page" }),
292
308
  onClick: _cache[0] || (_cache[0] = ($event) => clickType.value = "page")
293
309
  }, "页面设计", 2),
310
+ createElementVNode("label", {
311
+ class: normalizeClass({ selected: clickType.value === "front" }),
312
+ onClick: _cache[1] || (_cache[1] = ($event) => clickFrontLogic())
313
+ }, "页面逻辑", 2),
294
314
  createElementVNode("label", {
295
315
  class: normalizeClass({ selected: clickType.value === "workflow" }),
296
- onClick: _cache[1] || (_cache[1] = ($event) => clickWorkflow())
316
+ onClick: _cache[2] || (_cache[2] = ($event) => clickWorkflow())
297
317
  }, "工作流设计", 2),
298
- createElementVNode("label", {
299
- class: normalizeClass({ selected: clickType.value === "front" }),
300
- onClick: _cache[2] || (_cache[2] = ($event) => clickType.value = "front")
301
- }, "前端逻辑", 2),
302
318
  createElementVNode("label", {
303
319
  class: normalizeClass({ selected: clickType.value === "service" }),
304
320
  onClick: _cache[3] || (_cache[3] = ($event) => clickType.value = "service")
305
321
  }, "服务编排", 2)
306
322
  ])
307
323
  ]),
308
- createElementVNode("div", _hoisted_5, [
324
+ pageDesign.value ? (openBlock(), createElementBlock("div", _hoisted_5, [
309
325
  withDirectives((openBlock(), createBlock(_sfc_main$1, {
326
+ ref_key: "ViewDesignRef",
327
+ ref: ViewDesignRef,
310
328
  key: viewDesignComponentKey.value,
311
- configure: pageDesign.value
329
+ configure: pageDesign.value,
330
+ onRegain: regain,
331
+ onRevocation: revocation
312
332
  }, null, 8, ["configure"])), [
313
333
  [vShow, clickType.value === "page"]
314
334
  ]),
@@ -326,8 +346,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
326
346
  ]) : createCommentVNode("", true),
327
347
  withDirectives(createVNode(unref(ServiceFlowDesginer), { pageContext: pageDesign.value }, null, 8, ["pageContext"]), [
328
348
  [vShow, clickType.value === "service"]
349
+ ]),
350
+ withDirectives(createVNode(_sfc_main$2, {
351
+ ref_key: "pageEventContainerRef",
352
+ ref: pageEventContainerRef,
353
+ configure: pageDesign.value
354
+ }, null, 8, ["configure"]), [
355
+ [vShow, clickType.value === "front"]
329
356
  ])
330
- ])
357
+ ])) : createCommentVNode("", true)
331
358
  ]);
332
359
  };
333
360
  }
@@ -1,9 +1,20 @@
1
+ /**
2
+ * 重新计算编辑框尺寸
3
+ */
4
+ declare function resize(): void;
5
+ /**
6
+ * 更新内容
7
+ */
8
+ declare function updateJsContent(newEvent: any): void;
1
9
  declare const _default: import('vue').DefineComponent<{
2
10
  eventForm: {
3
11
  type: ObjectConstructor;
4
12
  default: () => {};
5
13
  };
6
- }, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
14
+ }, {
15
+ resize: typeof resize;
16
+ updateJsContent: typeof updateJsContent;
17
+ }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
7
18
  fullScreen: (...args: any[]) => void;
8
19
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
9
20
  eventForm: {
@@ -1,7 +1,7 @@
1
- import _sfc_main from "./config.vue2.js";
2
- import "./config.vue3.js";
1
+ import _sfc_main from "./config.vue3.js";
2
+ import "./config.vue2.js";
3
3
  import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
4
- const config = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-24e5130d"]]);
4
+ const config = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-26f79956"]]);
5
5
  export {
6
6
  config as default
7
7
  };