service-flow-designer 2.1.59 → 2.2.1

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 (185) hide show
  1. package/dist/es/_virtual/_plugin-vue_export-helper.js +6 -7
  2. package/dist/es/assets/icon/aggregateQuery.svg.js +2 -2
  3. package/dist/es/assets/icon/base.png.js +2 -2
  4. package/dist/es/assets/icon/clean.svg.js +2 -2
  5. package/dist/es/assets/icon/condition.png.js +2 -2
  6. package/dist/es/assets/icon/connect.svg.js +2 -2
  7. package/dist/es/assets/icon/dynamicSql.svg.js +2 -2
  8. package/dist/es/assets/icon/end.png.js +2 -2
  9. package/dist/es/assets/icon/end.svg.js +2 -2
  10. package/dist/es/assets/icon/function.png.js +2 -2
  11. package/dist/es/assets/icon/http-service.svg.js +2 -2
  12. package/dist/es/assets/icon/loop.svg.js +2 -2
  13. package/dist/es/assets/icon/notification.svg.js +2 -2
  14. package/dist/es/assets/icon/regularQuery.svg.js +2 -2
  15. package/dist/es/assets/icon/sort.svg.js +2 -2
  16. package/dist/es/assets/icon/split-joint.svg.js +2 -2
  17. package/dist/es/assets/icon/start.png.js +2 -2
  18. package/dist/es/assets/icon/statistics.svg.js +2 -2
  19. package/dist/es/assets/icon/vardef-v.png.js +2 -2
  20. package/dist/es/designer/common/components/database-select.vue.js +4 -4
  21. package/dist/es/designer/common/components/database-select.vue2.js +29 -205
  22. package/dist/es/designer/common/components/datatable-select.vue.js +4 -4
  23. package/dist/es/designer/common/components/datatable-select.vue2.js +52 -299
  24. package/dist/es/designer/common/components/file-upload.vue.js +4 -4
  25. package/dist/es/designer/common/components/file-upload.vue2.js +27 -98
  26. package/dist/es/designer/common/components/json-view/json-view-dialog.vue.js +18 -60
  27. package/dist/es/designer/common/components/json-view/json-view-dialog.vue2.js +2 -2
  28. package/dist/es/designer/common/components/json-view/json-view.vue.js +51 -137
  29. package/dist/es/designer/common/components/json-view/json-view.vue2.js +2 -2
  30. package/dist/es/designer/common/components/node-base-config.vue.js +7 -63
  31. package/dist/es/designer/common/components/node-base-config.vue2.js +2 -2
  32. package/dist/es/designer/common/components/sql-view/sql-view-dialog.vue.js +17 -62
  33. package/dist/es/designer/common/components/sql-view/sql-view-dialog.vue2.js +2 -2
  34. package/dist/es/designer/common/components/sql-view/sql-view.vue.js +2 -2
  35. package/dist/es/designer/common/components/sql-view/sql-view.vue2.js +30 -100
  36. package/dist/es/designer/common/components/value-set-input/index.js +2 -2
  37. package/dist/es/designer/common/components/value-set-input/option.js +6 -59
  38. package/dist/es/designer/common/components/value-set-input/value-set-input.vue.js +4 -4
  39. package/dist/es/designer/common/components/value-set-input/value-set-input.vue2.js +122 -557
  40. package/dist/es/designer/common/util/node-util.js +32 -42
  41. package/dist/es/designer/desginer-index.vue.js +4 -4
  42. package/dist/es/designer/desginer-index.vue2.js +31 -106
  43. package/dist/es/designer/flow/base/AbLogicNode.js +9 -10
  44. package/dist/es/designer/flow/base/AbLogicNodeModel.js +21 -49
  45. package/dist/es/designer/flow/base/AbLogicResizeNode.js +9 -10
  46. package/dist/es/designer/flow/base/AbLogicResizeNodeModel.js +10 -26
  47. package/dist/es/designer/flow/edge/CustomLine.js +15 -42
  48. package/dist/es/designer/service-components/base/custom-function/config.vue.js +4 -4
  49. package/dist/es/designer/service-components/base/custom-function/config.vue2.js +55 -302
  50. package/dist/es/designer/service-components/base/custom-function/index.js +12 -34
  51. package/dist/es/designer/service-components/base/custom-function/index.vue.js +4 -4
  52. package/dist/es/designer/service-components/base/custom-function/index.vue2.js +8 -40
  53. package/dist/es/designer/service-components/base/end-node/index.js +25 -64
  54. package/dist/es/designer/service-components/base/end-node/index.vue.js +4 -4
  55. package/dist/es/designer/service-components/base/end-node/index.vue2.js +4 -29
  56. package/dist/es/designer/service-components/base/judge-condition/config.vue.js +2 -2
  57. package/dist/es/designer/service-components/base/judge-condition/config.vue2.js +61 -570
  58. package/dist/es/designer/service-components/base/judge-condition/index.js +13 -35
  59. package/dist/es/designer/service-components/base/judge-condition/index.vue.js +4 -4
  60. package/dist/es/designer/service-components/base/judge-condition/index.vue2.js +12 -63
  61. package/dist/es/designer/service-components/base/loop-node/config.vue.js +4 -4
  62. package/dist/es/designer/service-components/base/loop-node/config.vue2.js +9 -73
  63. package/dist/es/designer/service-components/base/loop-node/index.js +37 -145
  64. package/dist/es/designer/service-components/base/notification/config.vue.js +2 -2
  65. package/dist/es/designer/service-components/base/notification/config.vue2.js +35 -320
  66. package/dist/es/designer/service-components/base/notification/index.js +12 -34
  67. package/dist/es/designer/service-components/base/notification/index.vue.js +4 -4
  68. package/dist/es/designer/service-components/base/notification/index.vue2.js +8 -40
  69. package/dist/es/designer/service-components/base/notification/recipients-select.vue.js +4 -4
  70. package/dist/es/designer/service-components/base/notification/recipients-select.vue2.js +23 -146
  71. package/dist/es/designer/service-components/base/notification/select-mail-template.vue.js +17 -103
  72. package/dist/es/designer/service-components/base/notification/select-mail-template.vue2.js +2 -2
  73. package/dist/es/designer/service-components/base/start-node/index.js +25 -65
  74. package/dist/es/designer/service-components/base/start-node/index.vue.js +4 -4
  75. package/dist/es/designer/service-components/base/start-node/index.vue2.js +4 -29
  76. package/dist/es/designer/service-components/components-icons.js +17 -33
  77. package/dist/es/designer/service-components/computation/clean/config.vue.js +4 -4
  78. package/dist/es/designer/service-components/computation/clean/config.vue2.js +40 -419
  79. package/dist/es/designer/service-components/computation/clean/index.js +12 -34
  80. package/dist/es/designer/service-components/computation/clean/index.vue.js +4 -4
  81. package/dist/es/designer/service-components/computation/clean/index.vue2.js +8 -40
  82. package/dist/es/designer/service-components/computation/connect/config.vue.js +4 -4
  83. package/dist/es/designer/service-components/computation/connect/config.vue2.js +38 -506
  84. package/dist/es/designer/service-components/computation/connect/index.js +12 -34
  85. package/dist/es/designer/service-components/computation/connect/index.vue.js +4 -4
  86. package/dist/es/designer/service-components/computation/connect/index.vue2.js +8 -40
  87. package/dist/es/designer/service-components/computation/sort/config.vue.js +4 -4
  88. package/dist/es/designer/service-components/computation/sort/config.vue2.js +41 -297
  89. package/dist/es/designer/service-components/computation/sort/index.js +12 -34
  90. package/dist/es/designer/service-components/computation/sort/index.vue.js +4 -4
  91. package/dist/es/designer/service-components/computation/sort/index.vue2.js +8 -40
  92. package/dist/es/designer/service-components/computation/split-joint/config.vue.js +4 -4
  93. package/dist/es/designer/service-components/computation/split-joint/config.vue2.js +27 -327
  94. package/dist/es/designer/service-components/computation/split-joint/index.js +12 -34
  95. package/dist/es/designer/service-components/computation/split-joint/index.vue.js +4 -4
  96. package/dist/es/designer/service-components/computation/split-joint/index.vue2.js +8 -40
  97. package/dist/es/designer/service-components/computation/statistics/config.vue.js +4 -4
  98. package/dist/es/designer/service-components/computation/statistics/config.vue2.js +41 -436
  99. package/dist/es/designer/service-components/computation/statistics/index.js +12 -34
  100. package/dist/es/designer/service-components/computation/statistics/index.vue.js +4 -4
  101. package/dist/es/designer/service-components/computation/statistics/index.vue2.js +8 -40
  102. package/dist/es/designer/service-components/database/aggregate-query/config.vue.js +4 -4
  103. package/dist/es/designer/service-components/database/aggregate-query/config.vue2.js +75 -375
  104. package/dist/es/designer/service-components/database/aggregate-query/dimension-statistical.vue.js +22 -217
  105. package/dist/es/designer/service-components/database/aggregate-query/dimension-statistical.vue2.js +2 -2
  106. package/dist/es/designer/service-components/database/aggregate-query/filter-conditions.vue.js +30 -439
  107. package/dist/es/designer/service-components/database/aggregate-query/filter-conditions.vue2.js +2 -2
  108. package/dist/es/designer/service-components/database/aggregate-query/index.js +13 -35
  109. package/dist/es/designer/service-components/database/aggregate-query/index.vue.js +4 -4
  110. package/dist/es/designer/service-components/database/aggregate-query/index.vue2.js +22 -90
  111. package/dist/es/designer/service-components/database/aggregate-query/sort-conditions.vue.js +15 -177
  112. package/dist/es/designer/service-components/database/aggregate-query/sort-conditions.vue2.js +2 -2
  113. package/dist/es/designer/service-components/database/aggregate-query/statistical-formula.vue.js +16 -185
  114. package/dist/es/designer/service-components/database/aggregate-query/statistical-formula.vue2.js +2 -2
  115. package/dist/es/designer/service-components/database/dynamic-sql/config.vue.js +4 -4
  116. package/dist/es/designer/service-components/database/dynamic-sql/config.vue2.js +66 -474
  117. package/dist/es/designer/service-components/database/dynamic-sql/index.js +12 -34
  118. package/dist/es/designer/service-components/database/dynamic-sql/index.vue.js +4 -4
  119. package/dist/es/designer/service-components/database/dynamic-sql/index.vue2.js +8 -40
  120. package/dist/es/designer/service-components/database/regular-query/config.vue.js +4 -4
  121. package/dist/es/designer/service-components/database/regular-query/config.vue2.js +52 -749
  122. package/dist/es/designer/service-components/database/regular-query/index.js +13 -35
  123. package/dist/es/designer/service-components/database/regular-query/index.vue.js +4 -4
  124. package/dist/es/designer/service-components/database/regular-query/index.vue2.js +22 -85
  125. package/dist/es/designer/service-components/index.js +33 -224
  126. package/dist/es/designer/service-components/service/common/cookie-data.vue.js +18 -125
  127. package/dist/es/designer/service-components/service/common/cookie-data.vue2.js +2 -2
  128. package/dist/es/designer/service-components/service/common/form-data.vue.js +18 -153
  129. package/dist/es/designer/service-components/service/common/form-data.vue2.js +2 -2
  130. package/dist/es/designer/service-components/service/common/header-data.vue.js +18 -126
  131. package/dist/es/designer/service-components/service/common/header-data.vue2.js +2 -2
  132. package/dist/es/designer/service-components/service/common/json-data.vue.js +4 -4
  133. package/dist/es/designer/service-components/service/common/json-data.vue2.js +18 -127
  134. package/dist/es/designer/service-components/service/common/param-config.vue.js +4 -4
  135. package/dist/es/designer/service-components/service/common/param-config.vue2.js +19 -211
  136. package/dist/es/designer/service-components/service/common/query-params.vue.js +18 -126
  137. package/dist/es/designer/service-components/service/common/query-params.vue2.js +2 -2
  138. package/dist/es/designer/service-components/service/common/raw-data.vue.js +27 -93
  139. package/dist/es/designer/service-components/service/common/raw-data.vue2.js +2 -2
  140. package/dist/es/designer/service-components/service/custom-bean/config.vue.js +2 -2
  141. package/dist/es/designer/service-components/service/custom-bean/config.vue2.js +9 -74
  142. package/dist/es/designer/service-components/service/custom-bean/index.js +12 -34
  143. package/dist/es/designer/service-components/service/custom-bean/index.vue.js +4 -4
  144. package/dist/es/designer/service-components/service/custom-bean/index.vue2.js +8 -40
  145. package/dist/es/designer/service-components/service/http-service/config.vue.js +4 -4
  146. package/dist/es/designer/service-components/service/http-service/config.vue2.js +23 -296
  147. package/dist/es/designer/service-components/service/http-service/index.js +12 -34
  148. package/dist/es/designer/service-components/service/http-service/index.vue.js +4 -4
  149. package/dist/es/designer/service-components/service/http-service/index.vue2.js +8 -40
  150. package/dist/es/designer/service-components/service/http-service/response-json-setting.vue.js +44 -262
  151. package/dist/es/designer/service-components/service/http-service/response-json-setting.vue2.js +2 -2
  152. package/dist/es/designer/service-components/service/http-service/response-text-setting.vue.js +15 -63
  153. package/dist/es/designer/service-components/service/http-service/response-text-setting.vue2.js +2 -2
  154. package/dist/es/designer/service-components/service/http-service/response-xml-setting.vue.js +44 -262
  155. package/dist/es/designer/service-components/service/http-service/response-xml-setting.vue2.js +2 -2
  156. package/dist/es/designer/service-components/util/common-options.js +15 -129
  157. package/dist/es/designer/service-flow-view/flow-tool-util.js +14 -24
  158. package/dist/es/designer/service-flow-view/flow-util.js +52 -129
  159. package/dist/es/designer/service-flow-view/service-flow-tool.vue.js +4 -4
  160. package/dist/es/designer/service-flow-view/service-flow-tool.vue2.js +29 -188
  161. package/dist/es/designer/service-flow-view/service-node-config.vue.js +4 -4
  162. package/dist/es/designer/service-flow-view/service-node-config.vue2.js +28 -153
  163. package/dist/es/designer/service-flow-view/service-params.vue.js +53 -421
  164. package/dist/es/designer/service-flow-view/service-params.vue2.js +2 -2
  165. package/dist/es/designer/service-flow-view/service-result.vue.js +56 -310
  166. package/dist/es/designer/service-flow-view/service-result.vue2.js +2 -2
  167. package/dist/es/designer/service-flow-view/service-test/request-params.vue.js +40 -307
  168. package/dist/es/designer/service-flow-view/service-test/request-params.vue2.js +2 -2
  169. package/dist/es/designer/service-flow-view/service-test/service-test.vue.js +65 -326
  170. package/dist/es/designer/service-flow-view/service-test/service-test.vue2.js +2 -2
  171. package/dist/es/designer/service-flow-view/service-update-log.vue.js +4 -4
  172. package/dist/es/designer/service-flow-view/service-update-log.vue2.js +35 -234
  173. package/dist/es/designer/service-flow-view/view-index.vue.js +4 -4
  174. package/dist/es/designer/service-flow-view/view-index.vue2.js +92 -353
  175. package/dist/es/designer/service-panel/component-panel.vue.js +4 -4
  176. package/dist/es/designer/service-panel/component-panel.vue2.js +13 -81
  177. package/dist/es/designer/service-panel/service-list.vue.js +4 -4
  178. package/dist/es/designer/service-panel/service-list.vue2.js +76 -497
  179. package/dist/es/designer/service-panel/service-panel.vue.js +4 -4
  180. package/dist/es/designer/service-panel/service-panel.vue2.js +18 -78
  181. package/dist/es/index.js +2 -2
  182. package/dist/es/stores/page-store.js +26 -73
  183. package/dist/es/style.css +253 -253
  184. package/dist/es/utils/common-util.js +103 -211
  185. package/package.json +3 -2
@@ -1,4 +1,4 @@
1
- import { ElIcon, ElInput, ElCol, ElRow, ElButton, ElTooltip, ElTree, ElFormItem, ElDialog } from "element-plus/es";
1
+ import { ElIcon as e, ElInput as l, ElCol as a, ElRow as t, ElButton as n, ElTooltip as o, ElTree as s, ElFormItem as i, ElDialog as u } from "element-plus/es";
2
2
  import "element-plus/es/components/base/style/css";
3
3
  import "element-plus/es/components/dialog/style/css";
4
4
  import "element-plus/es/components/form-item/style/css";
@@ -9,503 +9,82 @@ import "element-plus/es/components/row/style/css";
9
9
  import "element-plus/es/components/col/style/css";
10
10
  import "element-plus/es/components/input/style/css";
11
11
  import "element-plus/es/components/icon/style/css";
12
- import { defineComponent, ref, openBlock, createElementBlock, createVNode, withCtx, unref, createElementVNode, createTextVNode, createBlock, toDisplayString, createCommentVNode, withDirectives, vShow, pushScopeId, popScopeId } from "vue";
13
- import { Search, Plus, Menu, Promotion } from "@element-plus/icons-vue";
14
- import { v4 } from "uuid";
15
- import http from "agilebuilder-ui/src/utils/request";
16
- import { findServcieByCode } from "../common/util/node-util.js";
17
- import { useServiceFlowStore } from "../../stores/page-store.js";
18
- import { ElMessage, ElMessageBox } from "element-plus";
19
- const _withScopeId = (n) => (pushScopeId("data-v-da8fc67a"), n = n(), popScopeId(), n);
20
- const _hoisted_1 = { class: "custom-tree-node" };
21
- const _hoisted_2 = { style: { "margin-left": "5px", "line-height": "14px", "font-size": "14px" } };
22
- const _hoisted_3 = { class: "dialog-footer" };
23
- const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", null, "添加菜单", -1));
24
- const _hoisted_5 = [
25
- _hoisted_4
26
- ];
27
- const _hoisted_6 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", null, "添加服务", -1));
28
- const _hoisted_7 = [
29
- _hoisted_6
30
- ];
31
- const _hoisted_8 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", null, "修改", -1));
32
- const _hoisted_9 = [
33
- _hoisted_8
34
- ];
35
- const _hoisted_10 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", null, "删除", -1));
36
- const _hoisted_11 = [
37
- _hoisted_10
38
- ];
39
- const _sfc_main = /* @__PURE__ */ defineComponent({
40
- __name: "service-list",
41
- props: {
42
- serviceTreeData: {
43
- type: Array,
44
- default: () => []
45
- }
46
- },
47
- emits: ["service-click", "clear-flow-canvas", "load-tree-data"],
48
- setup(__props, { emit: __emit }) {
49
- const serviceFlowStoreUtil = useServiceFlowStore();
50
- const emits = __emit;
51
- const treeProps = {
52
- id: "id",
53
- label: "name"
54
- };
55
- const props = __props;
56
- const search = ref("");
57
- const contxtMenuRef = ref();
58
- const serviceTreeRef = ref();
59
- const showContextMenu = ref(false);
60
- const contextMenuData = ref({});
61
- const dialogVisible = ref(false);
62
- const editType = ref("");
63
- const serviceFlow = ref({});
64
- const currentServiceflowService = ref({});
65
- const nodeContextmenu = (event, data, node, resolve) => {
66
- contextMenuData.value = data;
67
- showContextMenu.value = true;
68
- const scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
69
- contxtMenuRef.value.style.display = "block";
70
- contxtMenuRef.value.style.left = event.x + "px";
71
- contxtMenuRef.value.style.top = event.y + scrollTop - 60 - 10 + "px";
72
- document.addEventListener("click", closeRightMenu);
73
- };
74
- const closeRightMenu = () => {
75
- showContextMenu.value = false;
76
- document.removeEventListener("click", closeRightMenu);
77
- };
78
- const addRootServiceMenu = () => {
79
- editType.value = "MENU";
80
- createService("root");
81
- };
82
- const addServce = (type) => {
83
- editType.value = type;
84
- createService("leaf");
85
- };
86
- const editServiceBaseInfo = () => {
87
- editType.value = contextMenuData.value.type;
88
- serviceFlow.value = JSON.parse(JSON.stringify(contextMenuData.value));
89
- if (serviceFlow.value.children) {
90
- delete serviceFlow.value.children;
91
- }
92
- dialogVisible.value = true;
93
- };
94
- const createService = (addType) => {
95
- serviceFlow.value = {
96
- code: v4(),
97
- name: "",
98
- customCode: "",
99
- type: editType.value
100
- };
101
- if (contextMenuData.value.id && addType === "leaf") {
102
- serviceFlow.value.parentCode = contextMenuData.value.code;
103
- }
104
- dialogVisible.value = true;
105
- };
106
- const selectIds = ref([]);
107
- const handleCheckChange = (data, checked, indeterminate) => {
108
- if (checked) {
109
- selectIds.value.push(data.id);
110
- if (data.children && data.children.length > 0) {
111
- data.children.forEach((item) => {
112
- if (selectIds.value.indexOf(item.id) == -1) {
113
- selectIds.value.push(item.id);
114
- }
115
- });
116
- }
117
- } else {
118
- selectIds.value.splice(selectIds.value.indexOf(data.id), 1);
119
- if (data.children && data.children.length > 0) {
120
- data.children.forEach((item) => {
121
- let index = selectIds.value.indexOf(item.id);
122
- if (index > -1) {
123
- selectIds.value.splice(index, 1);
124
- }
125
- });
126
- }
127
- }
128
- };
129
- const systemCode = serviceFlowStoreUtil.pageContext.systemCode;
130
- const publishVersion = serviceFlowStoreUtil.pageContext.systemVersion;
131
- const derive = () => {
132
- if (selectIds.value.length > 0) {
133
- http({
134
- url: window["$vueApp"].config.globalProperties.baseAPI + `/component/super-page-design/service-flow/export/${systemCode}/${publishVersion}`,
135
- method: "post",
136
- data: selectIds.value,
137
- responseType: "blob"
138
- }).then((res) => {
139
- let blob = new Blob([res], {
140
- type: "application/zip"
141
- });
142
- let link = document.createElement("a");
143
- link.href = window.URL.createObjectURL(blob);
144
- link.download = "服务编排.zip";
145
- link.click();
146
- window.URL.revokeObjectURL(link.href);
147
- });
148
- } else {
149
- ElMessage.warning("请选择服务或菜单");
150
- }
151
- };
152
- const processFile = ref(null);
153
- const selectDataFile = (command) => {
154
- processFile.value.click();
155
- };
156
- const importPage = () => {
157
- const fileObj = processFile.value.files[0];
158
- if (fileObj) {
159
- processFile.value.value = null;
160
- const param = new FormData();
161
- param.append("multipartFile", fileObj);
162
- http({
163
- url: window["$vueApp"].config.globalProperties.baseAPI + `/component/super-page-design/service-flow/import/${systemCode}/${publishVersion}`,
164
- method: "post",
165
- headers: { "Content-Type": "multipart/form-data" },
166
- data: param
167
- }).then(() => {
168
- ElMessage.success("导入成功");
169
- emits("load-tree-data");
170
- }).catch((error) => {
171
- console.log("error==", error);
172
- });
173
- } else {
174
- ElMessage.warning("未选择文件");
175
- }
176
- };
177
- const saveServiceBaseInfo = () => {
178
- if (!serviceFlow.value.name) {
179
- ElMessage.warning("名称不能为空");
180
- return;
181
- }
182
- if ("MENU" !== serviceFlow.value.type) {
183
- if (!serviceFlow.value.customCode) {
184
- ElMessage.warning("自定义编码不能为空");
185
- return;
186
- }
187
- }
188
- console.log("保存服务基本信息:", serviceFlow.value);
189
- if (!serviceFlow.value.systemCode) {
190
- serviceFlow.value.systemCode = serviceFlowStoreUtil.pageContext.systemCode;
191
- }
192
- if (!serviceFlow.value.publishVersion) {
193
- serviceFlow.value.publishVersion = serviceFlowStoreUtil.pageContext.systemVersion;
194
- }
195
- http.post(window["$vueApp"].config.globalProperties.baseAPI + "/component/super-page-design/service-flow", {
196
- designLog: null,
197
- appServiceFlow: serviceFlow.value
198
- }).then((res) => {
199
- if (res) {
200
- if (!serviceFlow.value.id) {
201
- if (!serviceFlow.value.parentCode) {
202
- props.serviceTreeData.push(res);
203
- } else {
204
- if (!contextMenuData.value.children) {
205
- contextMenuData.value.children = [];
206
- }
207
- contextMenuData.value.children.push(res);
208
- }
209
- } else {
210
- emits("load-tree-data");
211
- Object.assign(contextMenuData.value, res);
212
- }
213
- contextMenuData.value = {};
214
- ElMessage.success("保存成功");
215
- dialogVisible.value = false;
216
- serviceFlow.value = {};
217
- }
12
+ import { defineComponent as r, ref as p, openBlock as c, createElementBlock as d, createVNode as m, withCtx as v, unref as f, createElementVNode as y, createTextVNode as g, createBlock as h, toDisplayString as b, createCommentVNode as w, withDirectives as k, vShow as C, pushScopeId as x, popScopeId as _ } from "vue";
13
+ import { Search as V, Plus as E, Menu as N, Promotion as U } from "@element-plus/icons-vue";
14
+ import { v4 as T } from "uuid";
15
+ import O from "agilebuilder-ui/src/utils/request";
16
+ import { findServcieByCode as A } from "../common/util/node-util.js";
17
+ import { useServiceFlowStore as I } from "../../stores/page-store.js";
18
+ import { ElMessage as P, ElMessageBox as S } from "element-plus";
19
+ const R = (e2) => (x("data-v-da8fc67a"), e2 = e2(), _(), e2), $ = { class: "custom-tree-node" }, z = { style: { "margin-left": "5px", "line-height": "14px", "font-size": "14px" } }, M = { class: "dialog-footer" }, D = [R(() => y("span", null, "添加菜单", -1))], L = [R(() => y("span", null, "添加服务", -1))], J = [R(() => y("span", null, "修改", -1))], j = [R(() => y("span", null, "删除", -1))], F = r({ __name: "service-list", props: { serviceTreeData: { type: Array, default: () => [] } }, emits: ["service-click", "clear-flow-canvas", "load-tree-data"], setup(r2, { emit: x2 }) {
20
+ const _2 = I(), R2 = x2, F2 = { id: "id", label: "name" }, q = r2, B = p(""), G = p(), H = p(), K = p(false), Q = p({}), W = p(false), X = p(""), Y = p({}), Z = p({}), ee = (e2, l2, a2, t2) => {
21
+ Q.value = l2, K.value = true;
22
+ const n2 = document.documentElement.scrollTop || document.body.scrollTop;
23
+ G.value.style.display = "block", G.value.style.left = e2.x + "px", G.value.style.top = e2.y + n2 - 60 - 10 + "px", document.addEventListener("click", le);
24
+ }, le = () => {
25
+ K.value = false, document.removeEventListener("click", le);
26
+ }, ae = () => {
27
+ X.value = "MENU", oe("root");
28
+ }, te = (e2) => {
29
+ X.value = e2, oe("leaf");
30
+ }, ne = () => {
31
+ X.value = Q.value.type, Y.value = JSON.parse(JSON.stringify(Q.value)), Y.value.children && delete Y.value.children, W.value = true;
32
+ }, oe = (e2) => {
33
+ Y.value = { code: T(), name: "", customCode: "", type: X.value }, Q.value.id && "leaf" === e2 && (Y.value.parentCode = Q.value.code), W.value = true;
34
+ }, se = p([]), ie = (e2, l2, a2) => {
35
+ l2 ? (se.value.push(e2.id), e2.children && e2.children.length > 0 && e2.children.forEach((e3) => {
36
+ -1 == se.value.indexOf(e3.id) && se.value.push(e3.id);
37
+ })) : (se.value.splice(se.value.indexOf(e2.id), 1), e2.children && e2.children.length > 0 && e2.children.forEach((e3) => {
38
+ let l3 = se.value.indexOf(e3.id);
39
+ l3 > -1 && se.value.splice(l3, 1);
40
+ }));
41
+ }, ue = _2.pageContext.systemCode, re = _2.pageContext.systemVersion, pe = () => {
42
+ se.value.length > 0 ? O({ url: window.$vueApp.config.globalProperties.baseAPI + `/component/super-page-design/service-flow/export/${ue}/${re}`, method: "post", data: se.value, responseType: "blob" }).then((e2) => {
43
+ let l2 = new Blob([e2], { type: "application/zip" }), a2 = document.createElement("a");
44
+ a2.href = window.URL.createObjectURL(l2), a2.download = "服务编排.zip", a2.click(), window.URL.revokeObjectURL(a2.href);
45
+ }) : P.warning("请选择服务或菜单");
46
+ }, ce = p(null), de = (e2) => {
47
+ ce.value.click();
48
+ }, me = () => {
49
+ const e2 = ce.value.files[0];
50
+ if (e2) {
51
+ ce.value.value = null;
52
+ const l2 = new FormData();
53
+ l2.append("multipartFile", e2), O({ url: window.$vueApp.config.globalProperties.baseAPI + `/component/super-page-design/service-flow/import/${ue}/${re}`, method: "post", headers: { "Content-Type": "multipart/form-data" }, data: l2 }).then(() => {
54
+ P.success("导入成功"), R2("load-tree-data");
55
+ }).catch((e3) => {
218
56
  });
219
- };
220
- const deleteService = () => {
221
- console.log("删除服务:", contextMenuData.value);
222
- if (contextMenuData.value.children && contextMenuData.value.children.length > 0) {
223
- ElMessage.warning("该节点下存在子节点,不能删除!");
224
- return;
225
- }
226
- ElMessageBox.confirm("确定要删除吗?", "确认", {
227
- confirmButtonText: "确定",
228
- cancelButtonText: "取消",
229
- type: "warning"
230
- }).then(({ value }) => {
231
- _deleteService();
232
- });
233
- };
234
- const _deleteService = () => {
235
- http.delete(window["$vueApp"].config.globalProperties.baseAPI + "/component/super-page-design/service-flow", {
236
- data: [contextMenuData.value.id]
237
- }).then((res) => {
238
- ElMessage.success("删除成功");
239
- emits("load-tree-data");
240
- if (contextMenuData.value.parentCode) {
241
- const parent = findServcieByCode(contextMenuData.value.parentCode, props.serviceTreeData);
242
- const index = parent.children.findIndex((item) => item.id === contextMenuData.value.id);
243
- parent.children.splice(index, 1);
244
- } else {
245
- const index = props.serviceTreeData.findIndex((item) => item.id === contextMenuData.value.id);
246
- props.serviceTreeData.splice(index, 1);
247
- }
248
- if (currentServiceflowService.value.code === contextMenuData.value.code) {
249
- emits("clear-flow-canvas");
250
- }
251
- contextMenuData.value = {};
252
- });
253
- };
254
- const nodeClick = (data, node, event) => {
255
- console.log("node-click", data);
256
- closeRightMenu();
257
- if (data.type === "SERVICE") {
258
- http.get(window["$vueApp"].config.globalProperties.baseAPI + "/component/super-page-design/service-flow/" + data.id).then((res) => {
259
- res.variables && (res.variables = JSON.parse(res.variables));
260
- res.log && (res.log = JSON.parse(res.log));
261
- res.flow && (res.flow = JSON.parse(res.flow));
262
- res.returnValues && (res.returnValues = JSON.parse(res.returnValues));
263
- currentServiceflowService.value = res;
264
- emits("service-click", res);
265
- });
57
+ } else
58
+ P.warning("未选择文件");
59
+ }, ve = () => {
60
+ Y.value.name ? "MENU" === Y.value.type || Y.value.customCode ? (Y.value.systemCode || (Y.value.systemCode = _2.pageContext.systemCode), Y.value.publishVersion || (Y.value.publishVersion = _2.pageContext.systemVersion), O.post(window.$vueApp.config.globalProperties.baseAPI + "/component/super-page-design/service-flow", { designLog: null, appServiceFlow: Y.value }).then((e2) => {
61
+ e2 && (Y.value.id ? (R2("load-tree-data"), Object.assign(Q.value, e2)) : Y.value.parentCode ? (Q.value.children || (Q.value.children = []), Q.value.children.push(e2)) : q.serviceTreeData.push(e2), Q.value = {}, P.success("保存成功"), W.value = false, Y.value = {});
62
+ })) : P.warning("自定义编码不能为空") : P.warning("名称不能为空");
63
+ }, fe = () => {
64
+ Q.value.children && Q.value.children.length > 0 ? P.warning("该节点下存在子节点,不能删除!") : S.confirm("确定要删除吗?", "确认", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning" }).then(({ value: e2 }) => {
65
+ ye();
66
+ });
67
+ }, ye = () => {
68
+ O.delete(window.$vueApp.config.globalProperties.baseAPI + "/component/super-page-design/service-flow", { data: [Q.value.id] }).then((e2) => {
69
+ if (P.success("删除成功"), R2("load-tree-data"), Q.value.parentCode) {
70
+ const e3 = A(Q.value.parentCode, q.serviceTreeData), l2 = e3.children.findIndex((e4) => e4.id === Q.value.id);
71
+ e3.children.splice(l2, 1);
72
+ } else {
73
+ const e3 = q.serviceTreeData.findIndex((e4) => e4.id === Q.value.id);
74
+ q.serviceTreeData.splice(e3, 1);
266
75
  }
267
- };
268
- return (_ctx, _cache) => {
269
- const _component_el_icon = ElIcon;
270
- const _component_el_input = ElInput;
271
- const _component_el_col = ElCol;
272
- const _component_el_row = ElRow;
273
- const _component_el_button = ElButton;
274
- const _component_el_tooltip = ElTooltip;
275
- const _component_el_tree = ElTree;
276
- const _component_el_form_item = ElFormItem;
277
- const _component_el_dialog = ElDialog;
278
- return openBlock(), createElementBlock("div", null, [
279
- createVNode(_component_el_row, { style: { "margin-bottom": "10px" } }, {
280
- default: withCtx(() => [
281
- createVNode(_component_el_col, { span: 24 }, {
282
- default: withCtx(() => [
283
- createVNode(_component_el_input, {
284
- modelValue: search.value,
285
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => search.value = $event),
286
- placeholder: "搜索"
287
- }, {
288
- suffix: withCtx(() => [
289
- createVNode(_component_el_icon, null, {
290
- default: withCtx(() => [
291
- createVNode(unref(Search))
292
- ]),
293
- _: 1
294
- })
295
- ]),
296
- _: 1
297
- }, 8, ["modelValue"])
298
- ]),
299
- _: 1
300
- })
301
- ]),
302
- _: 1
303
- }),
304
- createVNode(_component_el_row, null, {
305
- default: withCtx(() => [
306
- createVNode(_component_el_col, { span: 24 }, {
307
- default: withCtx(() => [
308
- createVNode(_component_el_tooltip, {
309
- effect: "dark",
310
- content: "导入",
311
- placement: "top"
312
- }, {
313
- default: withCtx(() => [
314
- createVNode(_component_el_button, {
315
- type: "primary",
316
- onClick: selectDataFile
317
- }, {
318
- default: withCtx(() => [
319
- createElementVNode("input", {
320
- ref_key: "processFile",
321
- ref: processFile,
322
- accept: ".zip",
323
- name: "processFile",
324
- style: { "display": "none" },
325
- type: "file",
326
- onChange: importPage
327
- }, null, 544),
328
- createTextVNode(" 导入 ")
329
- ]),
330
- _: 1
331
- })
332
- ]),
333
- _: 1
334
- }),
335
- createVNode(_component_el_tooltip, {
336
- effect: "dark",
337
- content: "导出",
338
- placement: "top"
339
- }, {
340
- default: withCtx(() => [
341
- createVNode(_component_el_button, {
342
- type: "primary",
343
- onClick: derive
344
- }, {
345
- default: withCtx(() => [
346
- createTextVNode("导出")
347
- ]),
348
- _: 1
349
- })
350
- ]),
351
- _: 1
352
- }),
353
- createVNode(_component_el_tooltip, {
354
- effect: "dark",
355
- content: "添加根菜单",
356
- placement: "top"
357
- }, {
358
- default: withCtx(() => [
359
- createVNode(_component_el_button, {
360
- type: "primary",
361
- icon: unref(Plus),
362
- onClick: addRootServiceMenu
363
- }, null, 8, ["icon"])
364
- ]),
365
- _: 1
366
- })
367
- ]),
368
- _: 1
369
- })
370
- ]),
371
- _: 1
372
- }),
373
- createVNode(_component_el_tree, {
374
- style: { "margin-top": "10px" },
375
- ref_key: "serviceTreeRef",
376
- ref: serviceTreeRef,
377
- data: __props.serviceTreeData,
378
- "node-key": "id",
379
- props: treeProps,
380
- "show-checkbox": "",
381
- "expand-on-click-node": false,
382
- "default-expand-all": true,
383
- "highlight-current": "",
384
- onNodeClick: nodeClick,
385
- onNodeContextmenu: nodeContextmenu,
386
- onCheckChange: handleCheckChange
387
- }, {
388
- default: withCtx(({ node, data }) => [
389
- createElementVNode("span", _hoisted_1, [
390
- data.type === "MENU" ? (openBlock(), createBlock(_component_el_icon, {
391
- key: 0,
392
- size: 16
393
- }, {
394
- default: withCtx(() => [
395
- createVNode(unref(Menu))
396
- ]),
397
- _: 1
398
- })) : (openBlock(), createBlock(_component_el_icon, {
399
- key: 1,
400
- size: 16
401
- }, {
402
- default: withCtx(() => [
403
- createVNode(unref(Promotion))
404
- ]),
405
- _: 1
406
- })),
407
- createElementVNode("span", _hoisted_2, toDisplayString(node.label), 1)
408
- ])
409
- ]),
410
- _: 1
411
- }, 8, ["data"]),
412
- createVNode(_component_el_dialog, {
413
- modelValue: dialogVisible.value,
414
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => dialogVisible.value = $event),
415
- "append-to-body": true,
416
- title: editType.value === "MENU" ? "菜单" : "服务",
417
- width: "500"
418
- }, {
419
- footer: withCtx(() => [
420
- createElementVNode("div", _hoisted_3, [
421
- createVNode(_component_el_button, {
422
- size: "mini",
423
- onClick: _cache[3] || (_cache[3] = ($event) => dialogVisible.value = false)
424
- }, {
425
- default: withCtx(() => [
426
- createTextVNode("返回")
427
- ]),
428
- _: 1
429
- }),
430
- createVNode(_component_el_button, {
431
- size: "mini",
432
- type: "primary",
433
- onClick: saveServiceBaseInfo
434
- }, {
435
- default: withCtx(() => [
436
- createTextVNode(" 确定 ")
437
- ]),
438
- _: 1
439
- })
440
- ])
441
- ]),
442
- default: withCtx(() => [
443
- editType.value === "SERVICE" ? (openBlock(), createBlock(_component_el_form_item, {
444
- key: 0,
445
- label: "自定义编码:",
446
- required: true
447
- }, {
448
- default: withCtx(() => [
449
- createVNode(_component_el_input, {
450
- disabled: serviceFlow.value.id,
451
- modelValue: serviceFlow.value.customCode,
452
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => serviceFlow.value.customCode = $event)
453
- }, null, 8, ["disabled", "modelValue"])
454
- ]),
455
- _: 1
456
- })) : createCommentVNode("", true),
457
- createVNode(_component_el_form_item, {
458
- label: "          名称:",
459
- required: true
460
- }, {
461
- default: withCtx(() => [
462
- createVNode(_component_el_input, {
463
- modelValue: serviceFlow.value.name,
464
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => serviceFlow.value.name = $event)
465
- }, null, 8, ["modelValue"])
466
- ]),
467
- _: 1
468
- })
469
- ]),
470
- _: 1
471
- }, 8, ["modelValue", "title"]),
472
- withDirectives(createElementVNode("div", null, [
473
- createElementVNode("ul", {
474
- ref_key: "contxtMenuRef",
475
- ref: contxtMenuRef,
476
- class: "context-menu"
477
- }, [
478
- contextMenuData.value.type === "MENU" ? (openBlock(), createElementBlock("li", {
479
- key: 0,
480
- tabindex: "-1",
481
- class: "menu__item",
482
- onClick: _cache[5] || (_cache[5] = ($event) => addServce("MENU"))
483
- }, _hoisted_5)) : createCommentVNode("", true),
484
- contextMenuData.value.type === "MENU" ? (openBlock(), createElementBlock("li", {
485
- key: 1,
486
- tabindex: "-1",
487
- class: "menu__item",
488
- onClick: _cache[6] || (_cache[6] = ($event) => addServce("SERVICE"))
489
- }, _hoisted_7)) : createCommentVNode("", true),
490
- currentServiceflowService.value.code !== contextMenuData.value.code ? (openBlock(), createElementBlock("li", {
491
- key: 2,
492
- tabindex: "-1",
493
- class: "menu__item",
494
- onClick: editServiceBaseInfo
495
- }, _hoisted_9)) : createCommentVNode("", true),
496
- createElementVNode("li", {
497
- tabindex: "-1",
498
- class: "menu__item",
499
- onClick: deleteService
500
- }, _hoisted_11)
501
- ], 512)
502
- ], 512), [
503
- [vShow, showContextMenu.value]
504
- ])
505
- ]);
506
- };
507
- }
508
- });
76
+ Z.value.code === Q.value.code && R2("clear-flow-canvas"), Q.value = {};
77
+ });
78
+ }, ge = (e2, l2, a2) => {
79
+ le(), "SERVICE" === e2.type && O.get(window.$vueApp.config.globalProperties.baseAPI + "/component/super-page-design/service-flow/" + e2.id).then((e3) => {
80
+ e3.variables && (e3.variables = JSON.parse(e3.variables)), e3.log && (e3.log = JSON.parse(e3.log)), e3.flow && (e3.flow = JSON.parse(e3.flow)), e3.returnValues && (e3.returnValues = JSON.parse(e3.returnValues)), Z.value = e3, R2("service-click", e3);
81
+ });
82
+ };
83
+ return (p2, x3) => {
84
+ const _3 = e, T2 = l, O2 = a, A2 = t, I2 = n, P2 = o, S2 = s, R3 = i, q2 = u;
85
+ return c(), d("div", null, [m(A2, { style: { "margin-bottom": "10px" } }, { default: v(() => [m(O2, { span: 24 }, { default: v(() => [m(T2, { modelValue: B.value, "onUpdate:modelValue": x3[0] || (x3[0] = (e2) => B.value = e2), placeholder: "搜索" }, { suffix: v(() => [m(_3, null, { default: v(() => [m(f(V))]), _: 1 })]), _: 1 }, 8, ["modelValue"])]), _: 1 })]), _: 1 }), m(A2, null, { default: v(() => [m(O2, { span: 24 }, { default: v(() => [m(P2, { effect: "dark", content: "导入", placement: "top" }, { default: v(() => [m(I2, { type: "primary", onClick: de }, { default: v(() => [y("input", { ref_key: "processFile", ref: ce, accept: ".zip", name: "processFile", style: { display: "none" }, type: "file", onChange: me }, null, 544), g(" 导入 ")]), _: 1 })]), _: 1 }), m(P2, { effect: "dark", content: "导出", placement: "top" }, { default: v(() => [m(I2, { type: "primary", onClick: pe }, { default: v(() => [g("导出")]), _: 1 })]), _: 1 }), m(P2, { effect: "dark", content: "添加根菜单", placement: "top" }, { default: v(() => [m(I2, { type: "primary", icon: f(E), onClick: ae }, null, 8, ["icon"])]), _: 1 })]), _: 1 })]), _: 1 }), m(S2, { style: { "margin-top": "10px" }, ref_key: "serviceTreeRef", ref: H, data: r2.serviceTreeData, "node-key": "id", props: F2, "show-checkbox": "", "expand-on-click-node": false, "default-expand-all": true, "highlight-current": "", onNodeClick: ge, onNodeContextmenu: ee, onCheckChange: ie }, { default: v(({ node: e2, data: l2 }) => [y("span", $, ["MENU" === l2.type ? (c(), h(_3, { key: 0, size: 16 }, { default: v(() => [m(f(N))]), _: 1 })) : (c(), h(_3, { key: 1, size: 16 }, { default: v(() => [m(f(U))]), _: 1 })), y("span", z, b(e2.label), 1)])]), _: 1 }, 8, ["data"]), m(q2, { modelValue: W.value, "onUpdate:modelValue": x3[4] || (x3[4] = (e2) => W.value = e2), "append-to-body": true, title: "MENU" === X.value ? "菜单" : "服务", width: "500" }, { footer: v(() => [y("div", M, [m(I2, { size: "mini", onClick: x3[3] || (x3[3] = (e2) => W.value = false) }, { default: v(() => [g("返回")]), _: 1 }), m(I2, { size: "mini", type: "primary", onClick: ve }, { default: v(() => [g(" 确定 ")]), _: 1 })])]), default: v(() => ["SERVICE" === X.value ? (c(), h(R3, { key: 0, label: "自定义编码:", required: true }, { default: v(() => [m(T2, { disabled: Y.value.id, modelValue: Y.value.customCode, "onUpdate:modelValue": x3[1] || (x3[1] = (e2) => Y.value.customCode = e2) }, null, 8, ["disabled", "modelValue"])]), _: 1 })) : w("", true), m(R3, { label: "          名称:", required: true }, { default: v(() => [m(T2, { modelValue: Y.value.name, "onUpdate:modelValue": x3[2] || (x3[2] = (e2) => Y.value.name = e2) }, null, 8, ["modelValue"])]), _: 1 })]), _: 1 }, 8, ["modelValue", "title"]), k(y("div", null, [y("ul", { ref_key: "contxtMenuRef", ref: G, class: "context-menu" }, ["MENU" === Q.value.type ? (c(), d("li", { key: 0, tabindex: "-1", class: "menu__item", onClick: x3[5] || (x3[5] = (e2) => te("MENU")) }, D)) : w("", true), "MENU" === Q.value.type ? (c(), d("li", { key: 1, tabindex: "-1", class: "menu__item", onClick: x3[6] || (x3[6] = (e2) => te("SERVICE")) }, L)) : w("", true), Z.value.code !== Q.value.code ? (c(), d("li", { key: 2, tabindex: "-1", class: "menu__item", onClick: ne }, J)) : w("", true), y("li", { tabindex: "-1", class: "menu__item", onClick: fe }, j)], 512)], 512), [[C, K.value]])]);
86
+ };
87
+ } });
509
88
  export {
510
- _sfc_main as default
89
+ F as default
511
90
  };
@@ -1,7 +1,7 @@
1
- import _sfc_main from "./service-panel.vue2.js";
1
+ import e from "./service-panel.vue2.js";
2
2
  import "./service-panel.vue3.js";
3
- import _export_sfc from "../../_virtual/_plugin-vue_export-helper.js";
4
- const ServicePanel = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-59e0837d"]]);
3
+ import r from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const p = r(e, [["__scopeId", "data-v-59e0837d"]]);
5
5
  export {
6
- ServicePanel as default
6
+ p as default
7
7
  };