service-flow-designer 1.1.3 → 1.1.5

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 (151) hide show
  1. package/dist/es/designer/common/components/file-upload.css +7 -0
  2. package/dist/es/designer/common/components/file-upload.vue.d.ts +20 -0
  3. package/dist/es/designer/common/components/file-upload.vue.js +7 -0
  4. package/dist/es/designer/common/components/file-upload.vue2.js +99 -0
  5. package/dist/es/designer/common/components/json-view/index.d.ts +4 -0
  6. package/dist/es/designer/common/components/json-view/json-view-dialog.vue.d.ts +36 -0
  7. package/dist/es/designer/common/components/json-view/json-view-dialog.vue.js +61 -0
  8. package/dist/es/designer/common/components/json-view/json-view-dialog.vue2.js +4 -0
  9. package/dist/es/designer/common/components/json-view/json-view.vue.d.ts +32 -0
  10. package/dist/es/designer/common/components/json-view/json-view.vue.js +142 -0
  11. package/dist/es/designer/common/components/json-view/json-view.vue2.js +4 -0
  12. package/dist/es/designer/common/components/value-set-input/index.d.ts +3 -0
  13. package/dist/es/designer/common/components/value-set-input/index.js +4 -0
  14. package/dist/es/designer/common/components/value-set-input/option.d.ts +12 -0
  15. package/dist/es/designer/common/components/value-set-input/option.js +62 -0
  16. package/dist/es/designer/common/components/value-set-input/value-set-input.css +14 -0
  17. package/dist/es/designer/common/components/value-set-input/value-set-input.vue.d.ts +145 -0
  18. package/dist/es/designer/common/components/value-set-input/value-set-input.vue.js +7 -0
  19. package/dist/es/designer/common/components/value-set-input/value-set-input.vue2.js +420 -0
  20. package/dist/es/designer/common/types/common-type.d.ts +18 -0
  21. package/dist/es/designer/common/types/select.d.ts +7 -0
  22. package/dist/es/designer/common/util/node-util.d.ts +27 -0
  23. package/dist/es/designer/common/util/node-util.js +56 -0
  24. package/dist/es/designer/desginer-index.css +23 -3
  25. package/dist/es/designer/desginer-index.vue.d.ts +13 -1
  26. package/dist/es/designer/desginer-index.vue.js +1 -1
  27. package/dist/es/designer/desginer-index.vue2.js +94 -10
  28. package/dist/es/designer/flow/edge/CustomLine.d.ts +25 -0
  29. package/dist/es/designer/flow/edge/CustomLine.js +49 -0
  30. package/dist/es/designer/service-flow-view/flow-tool-util.d.ts +2 -0
  31. package/dist/es/designer/service-flow-view/flow-tool-util.js +44 -0
  32. package/dist/es/designer/service-flow-view/flow-util.d.ts +53 -0
  33. package/dist/es/designer/service-flow-view/flow-util.js +111 -0
  34. package/dist/es/designer/service-flow-view/service-flow-tool.css +130 -0
  35. package/dist/es/designer/service-flow-view/service-flow-tool.vue.d.ts +33 -0
  36. package/dist/es/designer/service-flow-view/service-flow-tool.vue.js +7 -0
  37. package/dist/es/designer/service-flow-view/service-flow-tool.vue2.js +188 -0
  38. package/dist/es/designer/service-flow-view/service-node-config.css +10 -0
  39. package/dist/es/designer/service-flow-view/service-node-config.vue.d.ts +49 -0
  40. package/dist/es/designer/service-flow-view/service-node-config.vue.js +7 -0
  41. package/dist/es/designer/service-flow-view/service-node-config.vue2.js +139 -0
  42. package/dist/es/designer/service-flow-view/service-params.vue.d.ts +18 -0
  43. package/dist/es/designer/service-flow-view/service-params.vue.js +387 -0
  44. package/dist/es/designer/service-flow-view/service-params.vue2.js +4 -0
  45. package/dist/es/designer/service-flow-view/service-result.vue.d.ts +18 -0
  46. package/dist/es/designer/service-flow-view/service-result.vue.js +274 -0
  47. package/dist/es/designer/service-flow-view/service-result.vue2.js +4 -0
  48. package/dist/es/designer/service-flow-view/service-test/request-params.vue.d.ts +16 -0
  49. package/dist/es/designer/service-flow-view/service-test/request-params.vue.js +309 -0
  50. package/dist/es/designer/service-flow-view/service-test/request-params.vue2.js +4 -0
  51. package/dist/es/designer/service-flow-view/service-test/service-test.vue.d.ts +47 -0
  52. package/dist/es/designer/service-flow-view/service-test/service-test.vue.js +440 -0
  53. package/dist/es/designer/service-flow-view/service-test/service-test.vue2.js +4 -0
  54. package/dist/es/designer/service-flow-view/service-update-log.css +5 -0
  55. package/dist/es/designer/service-flow-view/service-update-log.vue.d.ts +41 -0
  56. package/dist/es/designer/service-flow-view/service-update-log.vue.js +7 -0
  57. package/dist/es/designer/service-flow-view/service-update-log.vue2.js +205 -0
  58. package/dist/es/designer/service-flow-view/view-index.css +102 -0
  59. package/dist/es/designer/service-flow-view/view-index.vue.d.ts +40 -0
  60. package/dist/es/designer/service-flow-view/view-index.vue.js +7 -0
  61. package/dist/es/designer/service-flow-view/view-index.vue2.js +347 -0
  62. package/dist/es/designer/service-panel/component-panel.css +66 -0
  63. package/dist/es/designer/service-panel/component-panel.vue.d.ts +6 -0
  64. package/dist/es/designer/service-panel/component-panel.vue.js +7 -0
  65. package/dist/es/designer/service-panel/component-panel.vue2.js +87 -0
  66. package/dist/es/designer/service-panel/service-list.css +36 -0
  67. package/dist/es/designer/service-panel/service-list.vue.d.ts +22 -0
  68. package/dist/es/designer/service-panel/service-list.vue.js +7 -0
  69. package/dist/es/designer/service-panel/service-list.vue2.js +341 -0
  70. package/dist/es/designer/service-panel/service-panel.css +41 -0
  71. package/dist/es/designer/service-panel/service-panel.vue.d.ts +35 -0
  72. package/dist/es/designer/service-panel/service-panel.vue.js +7 -0
  73. package/dist/es/designer/service-panel/service-panel.vue2.js +80 -0
  74. package/dist/es/stores/page-store.d.ts +23 -0
  75. package/dist/es/stores/page-store.js +79 -0
  76. package/dist/lib/designer/common/components/file-upload.css +7 -0
  77. package/dist/lib/designer/common/components/file-upload.vue.d.ts +20 -0
  78. package/dist/lib/designer/common/components/file-upload.vue.js +6 -0
  79. package/dist/lib/designer/common/components/file-upload.vue2.js +98 -0
  80. package/dist/lib/designer/common/components/json-view/index.d.ts +4 -0
  81. package/dist/lib/designer/common/components/json-view/json-view-dialog.vue.d.ts +36 -0
  82. package/dist/lib/designer/common/components/json-view/json-view-dialog.vue.js +60 -0
  83. package/dist/lib/designer/common/components/json-view/json-view-dialog.vue2.js +3 -0
  84. package/dist/lib/designer/common/components/json-view/json-view.vue.d.ts +32 -0
  85. package/dist/lib/designer/common/components/json-view/json-view.vue.js +141 -0
  86. package/dist/lib/designer/common/components/json-view/json-view.vue2.js +3 -0
  87. package/dist/lib/designer/common/components/value-set-input/index.d.ts +3 -0
  88. package/dist/lib/designer/common/components/value-set-input/index.js +3 -0
  89. package/dist/lib/designer/common/components/value-set-input/option.d.ts +12 -0
  90. package/dist/lib/designer/common/components/value-set-input/option.js +62 -0
  91. package/dist/lib/designer/common/components/value-set-input/value-set-input.css +14 -0
  92. package/dist/lib/designer/common/components/value-set-input/value-set-input.vue.d.ts +145 -0
  93. package/dist/lib/designer/common/components/value-set-input/value-set-input.vue.js +6 -0
  94. package/dist/lib/designer/common/components/value-set-input/value-set-input.vue2.js +419 -0
  95. package/dist/lib/designer/common/types/common-type.d.ts +18 -0
  96. package/dist/lib/designer/common/types/select.d.ts +7 -0
  97. package/dist/lib/designer/common/util/node-util.d.ts +27 -0
  98. package/dist/lib/designer/common/util/node-util.js +56 -0
  99. package/dist/lib/designer/desginer-index.css +23 -3
  100. package/dist/lib/designer/desginer-index.vue.d.ts +13 -1
  101. package/dist/lib/designer/desginer-index.vue.js +1 -1
  102. package/dist/lib/designer/desginer-index.vue2.js +93 -9
  103. package/dist/lib/designer/flow/edge/CustomLine.d.ts +25 -0
  104. package/dist/lib/designer/flow/edge/CustomLine.js +48 -0
  105. package/dist/lib/designer/service-flow-view/flow-tool-util.d.ts +2 -0
  106. package/dist/lib/designer/service-flow-view/flow-tool-util.js +44 -0
  107. package/dist/lib/designer/service-flow-view/flow-util.d.ts +53 -0
  108. package/dist/lib/designer/service-flow-view/flow-util.js +111 -0
  109. package/dist/lib/designer/service-flow-view/service-flow-tool.css +130 -0
  110. package/dist/lib/designer/service-flow-view/service-flow-tool.vue.d.ts +33 -0
  111. package/dist/lib/designer/service-flow-view/service-flow-tool.vue.js +6 -0
  112. package/dist/lib/designer/service-flow-view/service-flow-tool.vue2.js +187 -0
  113. package/dist/lib/designer/service-flow-view/service-node-config.css +10 -0
  114. package/dist/lib/designer/service-flow-view/service-node-config.vue.d.ts +49 -0
  115. package/dist/lib/designer/service-flow-view/service-node-config.vue.js +6 -0
  116. package/dist/lib/designer/service-flow-view/service-node-config.vue2.js +138 -0
  117. package/dist/lib/designer/service-flow-view/service-params.vue.d.ts +18 -0
  118. package/dist/lib/designer/service-flow-view/service-params.vue.js +386 -0
  119. package/dist/lib/designer/service-flow-view/service-params.vue2.js +3 -0
  120. package/dist/lib/designer/service-flow-view/service-result.vue.d.ts +18 -0
  121. package/dist/lib/designer/service-flow-view/service-result.vue.js +273 -0
  122. package/dist/lib/designer/service-flow-view/service-result.vue2.js +3 -0
  123. package/dist/lib/designer/service-flow-view/service-test/request-params.vue.d.ts +16 -0
  124. package/dist/lib/designer/service-flow-view/service-test/request-params.vue.js +308 -0
  125. package/dist/lib/designer/service-flow-view/service-test/request-params.vue2.js +3 -0
  126. package/dist/lib/designer/service-flow-view/service-test/service-test.vue.d.ts +47 -0
  127. package/dist/lib/designer/service-flow-view/service-test/service-test.vue.js +439 -0
  128. package/dist/lib/designer/service-flow-view/service-test/service-test.vue2.js +3 -0
  129. package/dist/lib/designer/service-flow-view/service-update-log.css +5 -0
  130. package/dist/lib/designer/service-flow-view/service-update-log.vue.d.ts +41 -0
  131. package/dist/lib/designer/service-flow-view/service-update-log.vue.js +6 -0
  132. package/dist/lib/designer/service-flow-view/service-update-log.vue2.js +204 -0
  133. package/dist/lib/designer/service-flow-view/view-index.css +102 -0
  134. package/dist/lib/designer/service-flow-view/view-index.vue.d.ts +40 -0
  135. package/dist/lib/designer/service-flow-view/view-index.vue.js +6 -0
  136. package/dist/lib/designer/service-flow-view/view-index.vue2.js +346 -0
  137. package/dist/lib/designer/service-panel/component-panel.css +66 -0
  138. package/dist/lib/designer/service-panel/component-panel.vue.d.ts +6 -0
  139. package/dist/lib/designer/service-panel/component-panel.vue.js +6 -0
  140. package/dist/lib/designer/service-panel/component-panel.vue2.js +86 -0
  141. package/dist/lib/designer/service-panel/service-list.css +36 -0
  142. package/dist/lib/designer/service-panel/service-list.vue.d.ts +22 -0
  143. package/dist/lib/designer/service-panel/service-list.vue.js +6 -0
  144. package/dist/lib/designer/service-panel/service-list.vue2.js +340 -0
  145. package/dist/lib/designer/service-panel/service-panel.css +41 -0
  146. package/dist/lib/designer/service-panel/service-panel.vue.d.ts +35 -0
  147. package/dist/lib/designer/service-panel/service-panel.vue.js +6 -0
  148. package/dist/lib/designer/service-panel/service-panel.vue2.js +79 -0
  149. package/dist/lib/stores/page-store.d.ts +23 -0
  150. package/dist/lib/stores/page-store.js +79 -0
  151. package/package.json +1 -1
@@ -0,0 +1,66 @@
1
+ .amb-design-attr-base-content[data-v-6edff3cf] {
2
+ background: #ffffff;
3
+ box-shadow: 1px 0px 10px 0px rgba(0, 0, 0, 0.05);
4
+ height: 100%;
5
+ padding-left: 10px;
6
+ padding-right: 10px;
7
+ overflow: auto;
8
+ }
9
+ .amb-design-attr-item[data-v-6edff3cf] {
10
+ margin-bottom: 8px;
11
+ }
12
+ .amb-design-attr-group-header > button[data-v-6edff3cf] {
13
+ background: #f5f6f8;
14
+ padding-left: 10px;
15
+ font-size: 14px;
16
+ height: 42px;
17
+ }
18
+ .amb-design-attr-content[data-v-6edff3cf] {
19
+ background: #ffffff;
20
+ box-shadow: 1px 0px 10px 0px rgba(0, 0, 0, 0.05);
21
+ height: 100%;
22
+ padding-left: 10px;
23
+ padding-right: 10px;
24
+ overflow: auto;
25
+ position: relative;
26
+ }
27
+ .amb-design-attr-header-search[data-v-6edff3cf] {
28
+ margin-top: 16px;
29
+ }
30
+ .amb-design-attr-header-select[data-v-6edff3cf] {
31
+ width: 90px;
32
+ height: 36px;
33
+ }
34
+ .amb-design-page-param-row[data-v-6edff3cf] {
35
+ height: 34px;
36
+ }
37
+ .el-table__cell > .cell[data-v-6edff3cf] {
38
+ white-space: nowrap !important;
39
+ }
40
+ .serviceflow-item[data-v-6edff3cf] {
41
+ background: rgba(88, 147, 239, 0.06);
42
+ border: 1px dashed rgba(88, 147, 239, 0.06);
43
+ border-radius: 4px 4px 4px 4px;
44
+ text-align: center;
45
+ margin-top: 12px;
46
+ padding: 10px 5px 10px 5px;
47
+ font-size: 12px;
48
+ cursor: move;
49
+ height: 60px;
50
+ overflow: hidden;
51
+ box-sizing: border-box;
52
+ color: #333333;
53
+ text-overflow: ellipsis;
54
+ white-space: nowrap;
55
+ -webkit-user-select: none; /* Safari */
56
+ -moz-user-select: none; /* Firefox */
57
+ -ms-user-select: none; /* Internet Explorer/Edge */
58
+ user-select: none; /* 标准语法 */
59
+ }
60
+ .serviceflow-item[data-v-6edff3cf]:hover {
61
+ background: rgba(11, 45, 101, 0.105);
62
+ border: 1px dashed rgba(11, 45, 101, 0.227);
63
+ }
64
+ .amb-assembly-item-drag[data-v-6edff3cf] {
65
+ opacity: 1 !important;
66
+ }
@@ -0,0 +1,6 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
2
+ "drag-node": (...args: any[]) => void;
3
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{}>> & {
4
+ "onDrag-node"?: (...args: any[]) => any;
5
+ }, {}, {}>;
6
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import _sfc_main from "./component-panel.vue2.js";
2
+ /* empty css */
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const ComponentPanel = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-6edff3cf"]]);
5
+ export {
6
+ ComponentPanel as default
7
+ };
@@ -0,0 +1,87 @@
1
+ import { defineComponent, ref, resolveComponent, openBlock, createBlock, withCtx, createElementBlock, Fragment, renderList, createElementVNode, createTextVNode, toDisplayString, createVNode } from "vue";
2
+ const _hoisted_1 = ["src"];
3
+ const _hoisted_2 = { style: { "padding": "8px 0px 0px 0px" } };
4
+ const _hoisted_3 = ["title", "onMousedown"];
5
+ const _hoisted_4 = ["src"];
6
+ const _sfc_main = /* @__PURE__ */ defineComponent({
7
+ __name: "component-panel",
8
+ emits: ["drag-node"],
9
+ setup(__props, { emit: __emit }) {
10
+ const emits = __emit;
11
+ const serviceComponentGroups = ref([]);
12
+ const openCollapseItems = ref(null);
13
+ function $_dragNode(serviceComponent) {
14
+ console.log(`service-component-lib $_dragNode:${serviceComponent.type}`);
15
+ emits("drag-node", serviceComponent);
16
+ }
17
+ function getIconUrl(url) {
18
+ if (url) {
19
+ return new URL(url).href;
20
+ }
21
+ }
22
+ return (_ctx, _cache) => {
23
+ const _component_el_col = resolveComponent("el-col");
24
+ const _component_el_row = resolveComponent("el-row");
25
+ const _component_el_collapse_item = resolveComponent("el-collapse-item");
26
+ const _component_el_collapse = resolveComponent("el-collapse");
27
+ return openBlock(), createBlock(_component_el_collapse, {
28
+ modelValue: openCollapseItems.value,
29
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => openCollapseItems.value = $event),
30
+ style: { "margin-top": "6px" }
31
+ }, {
32
+ default: withCtx(() => [
33
+ (openBlock(true), createElementBlock(Fragment, null, renderList(serviceComponentGroups.value, (group, index) => {
34
+ return openBlock(), createBlock(_component_el_collapse_item, {
35
+ key: index,
36
+ name: group.name,
37
+ class: "amb-design-attr-group-header"
38
+ }, {
39
+ title: withCtx(() => [
40
+ createElementVNode("img", {
41
+ src: getIconUrl(group.icon),
42
+ style: { "height": "18px" }
43
+ }, null, 8, _hoisted_1),
44
+ createTextVNode("   "),
45
+ createElementVNode("b", null, toDisplayString(group.label), 1)
46
+ ]),
47
+ default: withCtx(() => [
48
+ createElementVNode("div", _hoisted_2, [
49
+ createVNode(_component_el_row, { gutter: 14 }, {
50
+ default: withCtx(() => [
51
+ (openBlock(true), createElementBlock(Fragment, null, renderList(group.items, (serviceComponent, index2) => {
52
+ return openBlock(), createBlock(_component_el_col, { span: 8 }, {
53
+ default: withCtx(() => [
54
+ createElementVNode("div", {
55
+ class: "serviceflow-item",
56
+ title: serviceComponent.label,
57
+ onMousedown: ($event) => $_dragNode(serviceComponent)
58
+ }, [
59
+ createElementVNode("div", null, [
60
+ createElementVNode("img", {
61
+ src: getIconUrl(serviceComponent.icon),
62
+ style: { "height": "16px" }
63
+ }, null, 8, _hoisted_4)
64
+ ]),
65
+ createElementVNode("span", null, toDisplayString(serviceComponent.label), 1)
66
+ ], 40, _hoisted_3)
67
+ ]),
68
+ _: 2
69
+ }, 1024);
70
+ }), 256))
71
+ ]),
72
+ _: 2
73
+ }, 1024)
74
+ ])
75
+ ]),
76
+ _: 2
77
+ }, 1032, ["name"]);
78
+ }), 128))
79
+ ]),
80
+ _: 1
81
+ }, 8, ["modelValue"]);
82
+ };
83
+ }
84
+ });
85
+ export {
86
+ _sfc_main as default
87
+ };
@@ -0,0 +1,36 @@
1
+
2
+ [data-v-a5cc897b] .el-table__row {
3
+ cursor: pointer;
4
+ }
5
+ /** 右键菜单样式 */
6
+ .context-menu[data-v-a5cc897b] {
7
+ position: absolute;
8
+ background: #fff;
9
+ z-index: 999;
10
+ margin: 5;
11
+ padding: 8px 8px;
12
+ box-shadow: 0 5px 7px 1px rgba(0, 0, 0, 0.1);
13
+ border: 1px solid #bbbbbb;
14
+ border-radius: 10px;
15
+ font-size: 14px;
16
+ }
17
+ .context-menu li[data-v-a5cc897b] {
18
+ list-style-type: none;
19
+ min-width: 75px;
20
+ line-height: 28px;
21
+ text-align: left;
22
+ border-radius: 5px;
23
+ padding-left: 5px;
24
+ cursor: pointer;
25
+ }
26
+ .context-menu li[data-v-a5cc897b]:hover {
27
+ background: #0165e1;
28
+ color: #fff;
29
+ }
30
+ /** 右键菜单样式 */
31
+ .custom-tree-node[data-v-a5cc897b] {
32
+ font-size: 14px;
33
+ padding-right: 8px;
34
+ display: flex; /* 使用Flex布局 */
35
+ align-items: center; /* 子元素在交叉轴(垂直方向)上居中对齐 */
36
+ }
@@ -0,0 +1,22 @@
1
+ declare const _default: import('vue').DefineComponent<{
2
+ serviceTreeData: {
3
+ type: ArrayConstructor;
4
+ default: () => any[];
5
+ };
6
+ }, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
7
+ "service-click": (...args: any[]) => void;
8
+ "clear-flow-canvas": (...args: any[]) => void;
9
+ "load-tree-data": (...args: any[]) => void;
10
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
11
+ serviceTreeData: {
12
+ type: ArrayConstructor;
13
+ default: () => any[];
14
+ };
15
+ }>> & {
16
+ "onService-click"?: (...args: any[]) => any;
17
+ "onClear-flow-canvas"?: (...args: any[]) => any;
18
+ "onLoad-tree-data"?: (...args: any[]) => any;
19
+ }, {
20
+ serviceTreeData: unknown[];
21
+ }, {}>;
22
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import _sfc_main from "./service-list.vue2.js";
2
+ /* empty css */
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const ServiceList = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-a5cc897b"]]);
5
+ export {
6
+ ServiceList as default
7
+ };
@@ -0,0 +1,341 @@
1
+ import { defineComponent, ref, resolveComponent, openBlock, createElementBlock, createVNode, withCtx, unref, createElementVNode, createBlock, toDisplayString, createTextVNode, withDirectives, createCommentVNode, vShow, pushScopeId, popScopeId } from "vue";
2
+ import { Search, Plus, Menu, Promotion } from "@element-plus/icons-vue";
3
+ import { v4 } from "uuid";
4
+ import http from "agilebuilder-ui/src/utils/request";
5
+ import { findServcieByCode } from "../common/util/node-util.js";
6
+ import { useServiceFlowStore } from "../../stores/page-store.js";
7
+ import { ElMessage } from "element-plus";
8
+ const _withScopeId = (n) => (pushScopeId("data-v-a5cc897b"), n = n(), popScopeId(), n);
9
+ const _hoisted_1 = { class: "custom-tree-node" };
10
+ const _hoisted_2 = { style: { "margin-left": "5px", "line-height": "14px", "font-size": "14px" } };
11
+ const _hoisted_3 = { class: "dialog-footer" };
12
+ const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", null, "添加菜单", -1));
13
+ const _hoisted_5 = [
14
+ _hoisted_4
15
+ ];
16
+ const _hoisted_6 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", null, "添加服务", -1));
17
+ const _hoisted_7 = [
18
+ _hoisted_6
19
+ ];
20
+ const _hoisted_8 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", null, "修改", -1));
21
+ const _hoisted_9 = [
22
+ _hoisted_8
23
+ ];
24
+ const _hoisted_10 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", null, "删除", -1));
25
+ const _hoisted_11 = [
26
+ _hoisted_10
27
+ ];
28
+ const _sfc_main = /* @__PURE__ */ defineComponent({
29
+ __name: "service-list",
30
+ props: {
31
+ serviceTreeData: {
32
+ type: Array,
33
+ default: () => []
34
+ }
35
+ },
36
+ emits: ["service-click", "clear-flow-canvas", "load-tree-data"],
37
+ setup(__props, { emit: __emit }) {
38
+ const serviceFlowStoreUtil = useServiceFlowStore();
39
+ const emits = __emit;
40
+ const treeProps = {
41
+ id: "id",
42
+ label: "name"
43
+ };
44
+ const props = __props;
45
+ const search = ref("");
46
+ const contxtMenuRef = ref();
47
+ const serviceTreeRef = ref();
48
+ const showContextMenu = ref(false);
49
+ const contextMenuData = ref({});
50
+ const dialogVisible = ref(false);
51
+ const editType = ref("");
52
+ const serviceFlow = ref({});
53
+ const currentServiceflowService = ref({});
54
+ const nodeContextmenu = (event, data, node, resolve) => {
55
+ contextMenuData.value = data;
56
+ showContextMenu.value = true;
57
+ const scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
58
+ contxtMenuRef.value.style.display = "block";
59
+ contxtMenuRef.value.style.left = event.x + "px";
60
+ contxtMenuRef.value.style.top = event.y + scrollTop - 60 - 10 + "px";
61
+ document.addEventListener("click", closeRightMenu);
62
+ };
63
+ const closeRightMenu = () => {
64
+ showContextMenu.value = false;
65
+ document.removeEventListener("click", closeRightMenu);
66
+ };
67
+ const addRootServiceMenu = () => {
68
+ editType.value = "MENU";
69
+ createService();
70
+ };
71
+ const addServce = (type) => {
72
+ editType.value = type;
73
+ createService();
74
+ };
75
+ const editServiceBaseInfo = () => {
76
+ editType.value = contextMenuData.value.type;
77
+ serviceFlow.value = JSON.parse(JSON.stringify(contextMenuData.value));
78
+ if (serviceFlow.value.children) {
79
+ delete serviceFlow.value.children;
80
+ }
81
+ dialogVisible.value = true;
82
+ };
83
+ const createService = () => {
84
+ serviceFlow.value = {
85
+ code: v4(),
86
+ name: "",
87
+ type: editType.value
88
+ };
89
+ if (contextMenuData.value.id) {
90
+ serviceFlow.value.parentCode = contextMenuData.value.code;
91
+ }
92
+ dialogVisible.value = true;
93
+ };
94
+ const saveServiceBaseInfo = () => {
95
+ if (!serviceFlow.value.name) {
96
+ ElMessage.warning("名称不能为空");
97
+ return;
98
+ }
99
+ console.log("保存服务基本信息:", serviceFlow.value);
100
+ if (!serviceFlow.value.systemCode) {
101
+ serviceFlow.value.systemCode = serviceFlowStoreUtil.pageContext.systemCode;
102
+ }
103
+ if (!serviceFlow.value.publishVersion) {
104
+ serviceFlow.value.publishVersion = serviceFlowStoreUtil.pageContext.systemVersion;
105
+ }
106
+ http.post("/component/super-page-design/service-flow", { designLog: null, appServiceFlow: serviceFlow.value }).then((res) => {
107
+ if (res) {
108
+ if (!serviceFlow.value.id) {
109
+ if (!serviceFlow.value.parentCode) {
110
+ props.serviceTreeData.push(res);
111
+ } else {
112
+ if (!contextMenuData.value.children) {
113
+ contextMenuData.value.children = [];
114
+ }
115
+ contextMenuData.value.children.push(res);
116
+ }
117
+ } else {
118
+ emits("load-tree-data");
119
+ Object.assign(contextMenuData.value, res);
120
+ }
121
+ contextMenuData.value = {};
122
+ ElMessage.success("保存成功");
123
+ dialogVisible.value = false;
124
+ serviceFlow.value = {};
125
+ }
126
+ });
127
+ };
128
+ const deleteService = () => {
129
+ console.log("删除服务:", contextMenuData.value);
130
+ if (contextMenuData.value.children && contextMenuData.value.children.length > 0) {
131
+ ElMessage.warning("该节点下存在子节点,不能删除!");
132
+ return;
133
+ }
134
+ http.delete("/component/super-page-design/service-flow", { data: [contextMenuData.value.id] }).then((res) => {
135
+ ElMessage.success("删除成功");
136
+ emits("load-tree-data");
137
+ if (contextMenuData.value.parentCode) {
138
+ const parent = findServcieByCode(contextMenuData.value.parentCode, props.serviceTreeData);
139
+ const index = parent.children.findIndex((item) => item.id === contextMenuData.value.id);
140
+ parent.children.splice(index, 1);
141
+ } else {
142
+ const index = props.serviceTreeData.findIndex((item) => item.id === contextMenuData.value.id);
143
+ props.serviceTreeData.splice(index, 1);
144
+ }
145
+ if (currentServiceflowService.value.code === contextMenuData.value.code) {
146
+ emits("clear-flow-canvas");
147
+ }
148
+ contextMenuData.value = {};
149
+ });
150
+ };
151
+ const nodeClick = (data, node, event) => {
152
+ console.log("node-click", data);
153
+ closeRightMenu();
154
+ if (data.type === "SERVICE") {
155
+ http.get("/component/super-page-design/service-flow/" + data.id).then((res) => {
156
+ res.variables && (res.variables = JSON.parse(res.variables));
157
+ res.log && (res.log = JSON.parse(res.log));
158
+ res.flow && (res.flow = JSON.parse(res.flow));
159
+ res.returnValues && (res.returnValues = JSON.parse(res.returnValues));
160
+ currentServiceflowService.value = res;
161
+ emits("service-click", res);
162
+ });
163
+ }
164
+ };
165
+ return (_ctx, _cache) => {
166
+ const _component_el_icon = resolveComponent("el-icon");
167
+ const _component_el_input = resolveComponent("el-input");
168
+ const _component_el_col = resolveComponent("el-col");
169
+ const _component_el_button = resolveComponent("el-button");
170
+ const _component_el_tooltip = resolveComponent("el-tooltip");
171
+ const _component_el_row = resolveComponent("el-row");
172
+ const _component_el_tree = resolveComponent("el-tree");
173
+ const _component_el_form_item = resolveComponent("el-form-item");
174
+ const _component_el_dialog = resolveComponent("el-dialog");
175
+ return openBlock(), createElementBlock("div", null, [
176
+ createVNode(_component_el_row, null, {
177
+ default: withCtx(() => [
178
+ createVNode(_component_el_col, { span: 18 }, {
179
+ default: withCtx(() => [
180
+ createVNode(_component_el_input, {
181
+ modelValue: search.value,
182
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => search.value = $event),
183
+ placeholder: "搜索"
184
+ }, {
185
+ suffix: withCtx(() => [
186
+ createVNode(_component_el_icon, null, {
187
+ default: withCtx(() => [
188
+ createVNode(unref(Search))
189
+ ]),
190
+ _: 1
191
+ })
192
+ ]),
193
+ _: 1
194
+ }, 8, ["modelValue"])
195
+ ]),
196
+ _: 1
197
+ }),
198
+ createVNode(_component_el_col, {
199
+ span: 6,
200
+ style: { "text-align": "right" }
201
+ }, {
202
+ default: withCtx(() => [
203
+ createVNode(_component_el_tooltip, {
204
+ effect: "dark",
205
+ content: "添加根菜单",
206
+ placement: "top"
207
+ }, {
208
+ default: withCtx(() => [
209
+ createVNode(_component_el_button, {
210
+ type: "primary",
211
+ icon: unref(Plus),
212
+ onClick: addRootServiceMenu
213
+ }, null, 8, ["icon"])
214
+ ]),
215
+ _: 1
216
+ })
217
+ ]),
218
+ _: 1
219
+ })
220
+ ]),
221
+ _: 1
222
+ }),
223
+ createVNode(_component_el_tree, {
224
+ style: { "margin-top": "10px" },
225
+ ref_key: "serviceTreeRef",
226
+ ref: serviceTreeRef,
227
+ data: __props.serviceTreeData,
228
+ props: treeProps,
229
+ "default-expand-all": true,
230
+ "check-strictly": true,
231
+ "highlight-current": "",
232
+ onNodeClick: nodeClick,
233
+ onNodeContextmenu: nodeContextmenu
234
+ }, {
235
+ default: withCtx(({ node, data }) => [
236
+ createElementVNode("span", _hoisted_1, [
237
+ data.type === "MENU" ? (openBlock(), createBlock(_component_el_icon, {
238
+ key: 0,
239
+ size: 16
240
+ }, {
241
+ default: withCtx(() => [
242
+ createVNode(unref(Menu))
243
+ ]),
244
+ _: 1
245
+ })) : (openBlock(), createBlock(_component_el_icon, {
246
+ key: 1,
247
+ size: 16
248
+ }, {
249
+ default: withCtx(() => [
250
+ createVNode(unref(Promotion))
251
+ ]),
252
+ _: 1
253
+ })),
254
+ createElementVNode("span", _hoisted_2, toDisplayString(node.label), 1)
255
+ ])
256
+ ]),
257
+ _: 1
258
+ }, 8, ["data"]),
259
+ createVNode(_component_el_dialog, {
260
+ modelValue: dialogVisible.value,
261
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => dialogVisible.value = $event),
262
+ "append-to-body": true,
263
+ title: editType.value === "MENU" ? "菜单" : "服务",
264
+ width: "500"
265
+ }, {
266
+ footer: withCtx(() => [
267
+ createElementVNode("div", _hoisted_3, [
268
+ createVNode(_component_el_button, {
269
+ size: "mini",
270
+ onClick: _cache[2] || (_cache[2] = ($event) => dialogVisible.value = false)
271
+ }, {
272
+ default: withCtx(() => [
273
+ createTextVNode("返回")
274
+ ]),
275
+ _: 1
276
+ }),
277
+ createVNode(_component_el_button, {
278
+ size: "mini",
279
+ type: "primary",
280
+ onClick: saveServiceBaseInfo
281
+ }, {
282
+ default: withCtx(() => [
283
+ createTextVNode(" 确定 ")
284
+ ]),
285
+ _: 1
286
+ })
287
+ ])
288
+ ]),
289
+ default: withCtx(() => [
290
+ createVNode(_component_el_form_item, { label: "名称:" }, {
291
+ default: withCtx(() => [
292
+ createVNode(_component_el_input, {
293
+ modelValue: serviceFlow.value.name,
294
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => serviceFlow.value.name = $event)
295
+ }, null, 8, ["modelValue"])
296
+ ]),
297
+ _: 1
298
+ })
299
+ ]),
300
+ _: 1
301
+ }, 8, ["modelValue", "title"]),
302
+ withDirectives(createElementVNode("div", null, [
303
+ createElementVNode("ul", {
304
+ ref_key: "contxtMenuRef",
305
+ ref: contxtMenuRef,
306
+ class: "context-menu"
307
+ }, [
308
+ contextMenuData.value.type === "MENU" ? (openBlock(), createElementBlock("li", {
309
+ key: 0,
310
+ tabindex: "-1",
311
+ class: "menu__item",
312
+ onClick: _cache[4] || (_cache[4] = ($event) => addServce("MENU"))
313
+ }, _hoisted_5)) : createCommentVNode("", true),
314
+ contextMenuData.value.type === "MENU" ? (openBlock(), createElementBlock("li", {
315
+ key: 1,
316
+ tabindex: "-1",
317
+ class: "menu__item",
318
+ onClick: _cache[5] || (_cache[5] = ($event) => addServce("SERVICE"))
319
+ }, _hoisted_7)) : createCommentVNode("", true),
320
+ currentServiceflowService.value.code !== contextMenuData.value.code ? (openBlock(), createElementBlock("li", {
321
+ key: 2,
322
+ tabindex: "-1",
323
+ class: "menu__item",
324
+ onClick: editServiceBaseInfo
325
+ }, _hoisted_9)) : createCommentVNode("", true),
326
+ createElementVNode("li", {
327
+ tabindex: "-1",
328
+ class: "menu__item",
329
+ onClick: deleteService
330
+ }, _hoisted_11)
331
+ ], 512)
332
+ ], 512), [
333
+ [vShow, showContextMenu.value]
334
+ ])
335
+ ]);
336
+ };
337
+ }
338
+ });
339
+ export {
340
+ _sfc_main as default
341
+ };
@@ -0,0 +1,41 @@
1
+
2
+ .amb-design-assembly-content[data-v-697839eb] {
3
+ background: #ffffff;
4
+ box-shadow: 1px 0px 10px 0px rgba(0, 0, 0, 0.05);
5
+ height: 100%;
6
+ padding-left: 10px;
7
+ padding-right: 10px;
8
+ overflow: auto;
9
+ }
10
+ /*控制滚动条宽度*/
11
+ .amb-design-assembly-content[data-v-697839eb]::-webkit-scrollbar {
12
+ width: 1px;
13
+ }
14
+ .amb-assembly-header[data-v-697839eb] {
15
+ position: absolute;
16
+ width: 220px;
17
+ text-align: center;
18
+ padding: 18px 0px 10px 0px;
19
+ padding-bottom: 14px;
20
+ background-color: #ffffff;
21
+ }
22
+ .amb-assembly-header-type[data-v-697839eb] {
23
+ border-radius: 100px 100px 100px 100px;
24
+ background: #ffffff;
25
+ box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15);
26
+ padding: 10px;
27
+ padding-bottom: 12px;
28
+ }
29
+ .amb-assembly-header-type > label[data-v-697839eb] {
30
+ padding: 4px 14px;
31
+ cursor: pointer;
32
+ font-size: 14px;
33
+ }
34
+ .amb-assembly-header-type > label.selected[data-v-697839eb] {
35
+ border-radius: 100px 100px 100px 100px;
36
+ background: #5893ef;
37
+ color: #ffffff;
38
+ }
39
+ .amb-design-assembly-list[data-v-697839eb] {
40
+ padding-top: 80px;
41
+ }
@@ -0,0 +1,35 @@
1
+ import { default as LogicFlow } from '@logicflow/core';
2
+
3
+ declare const _default: import('vue').DefineComponent<{
4
+ logicFlowInstance: {
5
+ type: typeof LogicFlow;
6
+ default: () => void;
7
+ };
8
+ serviceTreeData: {
9
+ type: ArrayConstructor;
10
+ default: () => any[];
11
+ };
12
+ }, {}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
13
+ "service-click": (...args: any[]) => void;
14
+ "clear-flow-canvas": (...args: any[]) => void;
15
+ "load-tree-data": (...args: any[]) => void;
16
+ "drag-node": (...args: any[]) => void;
17
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
18
+ logicFlowInstance: {
19
+ type: typeof LogicFlow;
20
+ default: () => void;
21
+ };
22
+ serviceTreeData: {
23
+ type: ArrayConstructor;
24
+ default: () => any[];
25
+ };
26
+ }>> & {
27
+ "onService-click"?: (...args: any[]) => any;
28
+ "onClear-flow-canvas"?: (...args: any[]) => any;
29
+ "onLoad-tree-data"?: (...args: any[]) => any;
30
+ "onDrag-node"?: (...args: any[]) => any;
31
+ }, {
32
+ serviceTreeData: unknown[];
33
+ logicFlowInstance: LogicFlow;
34
+ }, {}>;
35
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import _sfc_main from "./service-panel.vue2.js";
2
+ /* empty css */
3
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const ServicePanel = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-697839eb"]]);
5
+ export {
6
+ ServicePanel as default
7
+ };