super-page-designer 2.0.26 → 2.0.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/dist/es/assets/images/data/barcode.png.js +4 -0
  2. package/dist/es/assets/images/workflow/workflow-history-img.png.js +4 -0
  3. package/dist/es/components/design/utils/assemblys-config.js +132 -19
  4. package/dist/es/components/design/utils/data-table-util.js +14 -5
  5. package/dist/es/components/design/utils/form-design-util.js +3 -2
  6. package/dist/es/components/design/utils/page-design-util.d.ts +2 -2
  7. package/dist/es/components/design/utils/page-design-util.js +6 -13
  8. package/dist/es/components/design/utils/page-event-util.js +21 -0
  9. package/dist/es/components/design/utils/page-explore-util.d.ts +2 -2
  10. package/dist/es/components/design/utils/page-explore-util.js +5 -17
  11. package/dist/es/components/design/utils/page-table-util.js +61 -32
  12. package/dist/es/components/design/views/assemblys/button/button/button-attr-advanced.vue.js +19 -4
  13. package/dist/es/components/design/views/assemblys/button/button/button-attr-base.vue.js +3 -1
  14. package/dist/es/components/design/views/assemblys/button/button/button-attr.vue2.js +4 -1
  15. package/dist/es/components/design/views/assemblys/button/component/combination.vue.js +11 -4
  16. package/dist/es/components/design/views/assemblys/button/component/condition-dialog.vue.js +6 -6
  17. package/dist/es/components/design/views/assemblys/button/component/set-dialog.vue.js +52 -66
  18. package/dist/es/components/design/views/assemblys/button/print-label/print-template-select.vue.js +188 -0
  19. package/dist/es/components/design/views/assemblys/button/print-label/print-template-select.vue2.js +4 -0
  20. package/dist/es/components/design/views/assemblys/button/print-label/printlabel-attr-advanced.vue.js +228 -0
  21. package/dist/es/components/design/views/assemblys/button/print-label/printlabel-attr-advanced.vue2.js +4 -0
  22. package/dist/es/components/design/views/assemblys/button/print-label/printlabel-attr-base.vue.js +706 -0
  23. package/dist/es/components/design/views/assemblys/button/print-label/printlabel-attr-base.vue2.js +4 -0
  24. package/dist/es/components/design/views/assemblys/button/print-label/printlabel-attr-event.vue.js +33 -0
  25. package/dist/es/components/design/views/assemblys/button/print-label/printlabel-attr-event.vue2.js +4 -0
  26. package/dist/es/components/design/views/assemblys/button/print-label/printlabel-attr-style.vue.js +50 -0
  27. package/dist/es/components/design/views/assemblys/button/print-label/printlabel-attr-style.vue2.js +4 -0
  28. package/dist/es/components/design/views/assemblys/button/print-label/printlabel-attr.vue.js +5 -0
  29. package/dist/es/components/design/views/assemblys/button/print-label/printlabel-attr.vue2.js +80 -0
  30. package/dist/es/components/design/views/assemblys/button/print-label/printlabel-attr.vue3.js +1 -0
  31. package/dist/es/components/design/views/assemblys/button/print-label/printlabel-design.vue.js +4 -0
  32. package/dist/es/components/design/views/assemblys/button/print-label/printlabel-design.vue2.js +91 -0
  33. package/dist/es/components/design/views/assemblys/common/common-select-table.vue.d.ts +16 -9
  34. package/dist/es/components/design/views/assemblys/common/common-select-table.vue.js +7 -3
  35. package/dist/es/components/design/views/assemblys/common/common-variable-bind.vue.d.ts +9 -0
  36. package/dist/es/components/design/views/assemblys/common/common-variable-bind.vue.js +3 -3
  37. package/dist/es/components/design/views/assemblys/common/common-variable-bind.vue2.js +1 -487
  38. package/dist/es/components/design/views/assemblys/common/common-variable-bind.vue3.js +686 -1
  39. package/dist/es/components/design/views/assemblys/data/bar-code/barcode-attr-base.vue.js +19 -92
  40. package/dist/es/components/design/views/assemblys/data/component/attr-style.vue.js +0 -1
  41. package/dist/es/components/design/views/assemblys/data/component/column-config.vue.js +8 -22
  42. package/dist/es/components/design/views/assemblys/data/component/composite-header.vue.js +1 -1
  43. package/dist/es/components/design/views/assemblys/data/component/composite-header.vue2.js +4 -3
  44. package/dist/es/components/design/views/assemblys/data/component/data-origin-tree.vue.js +2 -2
  45. package/dist/es/components/design/views/assemblys/data/component/data-origin-tree.vue2.js +449 -146
  46. package/dist/es/components/design/views/assemblys/data/component/data-origin.vue.js +1 -1
  47. package/dist/es/components/design/views/assemblys/data/component/data-origin.vue2.js +34 -27
  48. package/dist/es/components/design/views/assemblys/data/component/table-children-column.vue.js +3 -2
  49. package/dist/es/components/design/views/assemblys/data/component/variate-select.vue.js +2 -2
  50. package/dist/es/components/design/views/assemblys/data/table/table-attr-advanced.vue.js +4 -4
  51. package/dist/es/components/design/views/assemblys/data/table/table-attr-base.vue.js +260 -225
  52. package/dist/es/components/design/views/assemblys/data/table/table-attr.vue2.js +2 -1
  53. package/dist/es/components/design/views/assemblys/data/table/table-design.vue.js +1 -1
  54. package/dist/es/components/design/views/assemblys/data/table/table-design.vue2.js +13 -5
  55. package/dist/es/components/design/views/assemblys/data/table/tablecolumn-attr-base.vue.js +10 -3
  56. package/dist/es/components/design/views/assemblys/data/table/tablecolumn-attr-style.vue.js +0 -1
  57. package/dist/es/components/design/views/assemblys/data/tree/tree-attr-base.vue.js +557 -132
  58. package/dist/es/components/design/views/assemblys/data/tree/tree-attr-event.vue.js +5 -5
  59. package/dist/es/components/design/views/assemblys/data/tree/tree-attr-style.vue.js +45 -58
  60. package/dist/es/components/design/views/assemblys/data/tree/tree-attr.vue2.js +12 -2
  61. package/dist/es/components/design/views/assemblys/data/tree/tree-design.vue2.js +17 -18
  62. package/dist/es/components/design/views/assemblys/form/checkbox/checkbox-attr-base.vue.js +22 -13
  63. package/dist/es/components/design/views/assemblys/form/common/attr-event.vue.js +1 -1
  64. package/dist/es/components/design/views/assemblys/form/common/attr-event.vue2.js +12 -7
  65. package/dist/es/components/design/views/assemblys/form/common/attr-header.vue.js +1 -1
  66. package/dist/es/components/design/views/assemblys/form/common/attr-header.vue2.js +5 -1
  67. package/dist/es/components/design/views/assemblys/form/common/data-format.vue.js +1 -1
  68. package/dist/es/components/design/views/assemblys/form/common/data-origin.vue.js +1 -1
  69. package/dist/es/components/design/views/assemblys/form/common/data-origin.vue2.js +1 -1
  70. package/dist/es/components/design/views/assemblys/form/common/linkpage-page-callback.vue.js +12 -12
  71. package/dist/es/components/design/views/assemblys/form/common/uploading.vue.js +28 -2
  72. package/dist/es/components/design/views/assemblys/form/date-picker/datepicker-attr-base.vue.js +132 -56
  73. package/dist/es/components/design/views/assemblys/form/date-picker/datepicker-design.vue2.js +28 -113
  74. package/dist/es/components/design/views/assemblys/form/dept-tree/depttree-attr-base.vue.js +20 -14
  75. package/dist/es/components/design/views/assemblys/form/dept-tree/depttree-autoset.vue.js +57 -46
  76. package/dist/es/components/design/views/assemblys/form/file-upload/fileupload-attr-base.vue.js +47 -9
  77. package/dist/es/components/design/views/assemblys/form/file-upload/fileupload-design.vue2.js +44 -23
  78. package/dist/es/components/design/views/assemblys/form/input-number/input-number-attr-base.vue.js +20 -11
  79. package/dist/es/components/design/views/assemblys/form/input-text/inputtext-attr-base.vue.js +21 -13
  80. package/dist/es/components/design/views/assemblys/form/label/label-attr-base.vue.js +13 -7
  81. package/dist/es/components/design/views/assemblys/form/link/link-attr-base.vue.js +18 -23
  82. package/dist/es/components/design/views/assemblys/form/placeholder/placeholder-attr-base.vue.js +8 -3
  83. package/dist/es/components/design/views/assemblys/form/radio/radio-attr-base.vue.js +22 -13
  84. package/dist/es/components/design/views/assemblys/form/rich-text/richtext-attr-base.vue.js +20 -11
  85. package/dist/es/components/design/views/assemblys/form/select/select-attr-base.vue.js +25 -15
  86. package/dist/es/components/design/views/assemblys/form/separatelabel/separatelabel-attr-base.vue.js +16 -9
  87. package/dist/es/components/design/views/assemblys/form/switch/switch-attr-base.vue.js +20 -11
  88. package/dist/es/components/design/views/assemblys/form/tag/tag-attr-base.vue.js +16 -9
  89. package/dist/es/components/design/views/assemblys/form/textarea/textarea-attr-base.vue.js +20 -11
  90. package/dist/es/components/design/views/assemblys/page/component/setting-form-rule-base-input.vue.d.ts +9 -0
  91. package/dist/es/components/design/views/assemblys/page/component/setting-form-rule-base-input.vue.js +6 -2
  92. package/dist/es/components/design/views/assemblys/page/component/weight-field-input.vue.d.ts +9 -0
  93. package/dist/es/components/design/views/assemblys/page/component/weight-field-input.vue.js +7 -5
  94. package/dist/es/components/design/views/assemblys/page/page-attr-advanced.vue.js +5 -3
  95. package/dist/es/components/design/views/assemblys/page/page-attr-base.vue.js +14 -3
  96. package/dist/es/components/design/views/assemblys/workflow/component/combination.vue.d.ts +0 -9
  97. package/dist/es/components/design/views/assemblys/workflow/component/combination.vue.js +2 -10
  98. package/dist/es/components/design/views/design/page-design.vue.js +35 -47
  99. package/dist/es/components/design/views/design/page-event/config.vue.js +1 -7
  100. package/dist/es/components/design/views/design/page-event/config.vue2.js +7 -1
  101. package/dist/es/components/design/views/design/page-event/page-event-container.vue.js +1 -8
  102. package/dist/es/components/design/views/design/page-event/page-event-content.vue.js +1 -1
  103. package/dist/es/components/design/views/design/page-event/page-event-content.vue2.js +3 -2
  104. package/dist/es/components/design/views/design/view/attr-container.vue.js +23 -1
  105. package/dist/es/components/design/views/design/view/components/quick-add-fields.vue.d.ts +2 -0
  106. package/dist/es/components/design/views/design/view/components/quick-add-fields.vue.js +4 -1
  107. package/dist/es/components/design/views/design/view/page-switch.vue.js +1 -1
  108. package/dist/es/components/design/views/design/view/view-design-display.vue.js +101 -98
  109. package/dist/es/components/design/views/design/view/view-design-preview.vue.js +1 -2
  110. package/dist/es/stores/page-store.js +2 -1
  111. package/dist/es/style.css +984 -202
  112. package/package.json +5 -5
  113. package/dist/es/assets/images/workflow/workflow-history.png.js +0 -4
  114. package/dist/es/components/design/utils/system.d.ts +0 -6
  115. package/dist/es/components/design/utils/system.js +0 -26
  116. package/dist/es/components/design/views/assemblys/data/component/in-parameter.vue.js +0 -121
  117. package/dist/es/components/design/views/assemblys/data/component/in-parameter.vue2.js +0 -4
  118. package/dist/es/components/design/views/assemblys/form/common/dimension-input.vue2.js +0 -75
  119. package/dist/es/components/design/views/assemblys/form/common/dimension-input.vue3.js +0 -5
  120. package/dist/es/components/design/views/assemblys/form/common/linkage.vue.js +0 -54
  121. package/dist/es/components/design/views/assemblys/form/common/linkage.vue2.js +0 -4
@@ -1 +1,686 @@
1
-
1
+ import { defineComponent, ref, onMounted, onUnmounted, computed, watch, resolveComponent, openBlock, createElementBlock, toDisplayString, createBlock, withCtx, createVNode, withDirectives, withModifiers, unref, vShow, createElementVNode, createTextVNode, normalizeStyle, nextTick, pushScopeId, popScopeId } from "vue";
2
+ import { CircleClose, Plus, InfoFilled, Search } from "@element-plus/icons-vue";
3
+ import http from "agilebuilder-ui/src/utils/request";
4
+ import { deepCopy, getUuidv4 } from "../../../utils/common-util.js";
5
+ import { getTypeOptions, taskVarOptions, contextVarOptions } from "./common-variable-bind-option.js";
6
+ import { usePageContextStore } from "../../../../../stores/page-store.js";
7
+ const _withScopeId = (n) => (pushScopeId("data-v-f4f78abb"), n = n(), popScopeId(), n);
8
+ const _hoisted_1 = { key: 0 };
9
+ const _hoisted_2 = { style: { "margin-top": "10px", "font-size": "10px", "display": "flex", "align-items": "center", "justify-self": "center" } };
10
+ const _hoisted_3 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", { style: { "margin-left": "5px" } }, "输入变量名后点击加号按钮添加", -1));
11
+ const _hoisted_4 = { style: { "font-size": "10px", "line-height": "40px" } };
12
+ const _hoisted_5 = { style: { "margin-top": "4px", "margin-bottom": "8px", "font-size": "10px", "display": "flex", "align-items": "center", "justify-self": "center" } };
13
+ const _hoisted_6 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createElementVNode("span", { style: { "margin-left": "5px" } }, "输入变量名后点击加号按钮添加", -1));
14
+ const _hoisted_7 = {
15
+ key: 0,
16
+ style: { "display": "flex" }
17
+ };
18
+ const _hoisted_8 = ["title"];
19
+ const _hoisted_9 = { class: "totalStyle" };
20
+ const _sfc_main = /* @__PURE__ */ defineComponent({
21
+ ...{
22
+ name: "ValueSetInput",
23
+ inheritAttrs: false
24
+ },
25
+ __name: "common-variable-bind",
26
+ props: {
27
+ modelValue: {
28
+ type: [String],
29
+ default: null
30
+ },
31
+ paramTypes: {
32
+ type: Array,
33
+ default: () => []
34
+ },
35
+ size: {
36
+ type: String,
37
+ default: "small"
38
+ },
39
+ showLabel: {
40
+ type: Boolean,
41
+ default: false
42
+ },
43
+ // 是否需要方法参数
44
+ needParams: {
45
+ type: Boolean,
46
+ default: false
47
+ },
48
+ isRange: {
49
+ type: Boolean,
50
+ default: false
51
+ }
52
+ },
53
+ emits: ["update:modelValue"],
54
+ setup(__props, { emit: __emit }) {
55
+ const pageContextUtil = usePageContextStore();
56
+ const emits = __emit;
57
+ const props = __props;
58
+ const popoverVisible = ref(false);
59
+ const defalutValue = ref("");
60
+ const inputRef = ref(null);
61
+ const contentRef = ref(null);
62
+ const typeOptions = ref([]);
63
+ const showInput = ref(false);
64
+ const labelValue = ref("");
65
+ ref(false);
66
+ const paramType = ref("");
67
+ const paramValue = ref("");
68
+ const valueOptions = ref([]);
69
+ const selectOptions = ref({});
70
+ const searchValue = ref("");
71
+ ref("");
72
+ const popoverRef = ref(null);
73
+ const selectInputType = ["context", "system", "task", "data", "page"];
74
+ onMounted(() => {
75
+ window.addEventListener("click", handleClickOutside);
76
+ const pageContext = pageContextUtil.pageContext;
77
+ let hasTask = false;
78
+ let hasData = false;
79
+ if (pageContext && (!pageContext.pageType || pageContext.pageType == "form") && pageContext.tableName) {
80
+ hasData = true;
81
+ }
82
+ if (pageContext && pageContext.workflowCode && hasData) {
83
+ hasTask = true;
84
+ }
85
+ let newOptions = getTypeOptions(props.paramTypes, props.needParams);
86
+ if (!hasData) {
87
+ newOptions = newOptions.filter((item) => item.value != "data");
88
+ }
89
+ if (!hasTask) {
90
+ newOptions = newOptions.filter((item) => item.value != "task");
91
+ }
92
+ typeOptions.value = newOptions;
93
+ setSelectOptions();
94
+ if (props.modelValue) {
95
+ const [type, val] = props.modelValue.slice(0, props.modelValue.length - 1).slice(2).split(".");
96
+ paramType.value = type;
97
+ paramValue.value = val;
98
+ if (selectInputType.includes(type)) {
99
+ showInput.value = false;
100
+ }
101
+ setValueOptions(paramType.value);
102
+ labelValue.value = formatter();
103
+ defalutValue.value = props.modelValue;
104
+ }
105
+ if (!paramType.value) {
106
+ paramType.value = newOptions.length > 0 ? newOptions[0].value : "";
107
+ setValueOptions(paramType.value);
108
+ }
109
+ console.log("popoverRef", popoverRef.value);
110
+ });
111
+ onUnmounted(() => {
112
+ window.removeEventListener("click", handleClickOutside);
113
+ });
114
+ let lastTarget = null;
115
+ function handleClickOutside(event) {
116
+ if (paramTypeCheck) {
117
+ paramTypeCheck = false;
118
+ return;
119
+ }
120
+ let popoverDom = null;
121
+ if (contentRef.value) {
122
+ popoverDom = contentRef.value.$el.parentNode;
123
+ }
124
+ if (!event.target || !popoverDom) {
125
+ return;
126
+ }
127
+ if (event.target === lastTarget) {
128
+ console.log("与最后的点击一致");
129
+ return;
130
+ }
131
+ const inputDom = inputRef.value ? inputRef.value.input : null;
132
+ if (inputDom && (event.target === inputDom || inputDom.contains(event.target))) {
133
+ console.log("click contains input");
134
+ return;
135
+ }
136
+ if (event.target === popoverDom || popoverDom.contains(event.target)) {
137
+ console.log("click contains");
138
+ lastTarget = event.target;
139
+ } else {
140
+ if (contentRef.value.$el) {
141
+ console.log("contentRef.value.$el.contains", contentRef.value.$el.contains(event.target));
142
+ }
143
+ console.log("click contains--------not");
144
+ if (popoverVisible.value) {
145
+ closePopover(true);
146
+ }
147
+ }
148
+ }
149
+ const symbolUnits = ref([
150
+ {
151
+ label: "天",
152
+ value: "d"
153
+ },
154
+ {
155
+ label: "周",
156
+ value: "w"
157
+ },
158
+ {
159
+ label: "月",
160
+ value: "m"
161
+ },
162
+ {
163
+ label: "年",
164
+ value: "y"
165
+ }
166
+ ]);
167
+ const symbolUnitFormatter = (unit) => {
168
+ const items = symbolUnits.value.filter((item) => {
169
+ return item.value == unit;
170
+ });
171
+ if (items.length > 0) {
172
+ return items[0].label;
173
+ } else {
174
+ return "";
175
+ }
176
+ };
177
+ let popoverTimeout = null;
178
+ function closePopover(immediate) {
179
+ clearTimeout(popoverTimeout);
180
+ if (immediate) {
181
+ popoverVisible.value = false;
182
+ } else {
183
+ popoverTimeout = setTimeout(() => {
184
+ popoverVisible.value = false;
185
+ }, 2e3);
186
+ }
187
+ }
188
+ function openPopover() {
189
+ clearTimeout(popoverTimeout);
190
+ popoverVisible.value = true;
191
+ }
192
+ const filterTableData = computed(
193
+ () => (
194
+ //等于System时为全部
195
+ valueOptions.value.filter(
196
+ (data) => !searchValue.value || paramType.value == "system" || data.label.toLowerCase().includes(searchValue.value.toLowerCase()) || data.value.toLowerCase().includes(searchValue.value.toLowerCase())
197
+ )
198
+ )
199
+ );
200
+ watch(searchValue, () => {
201
+ if (paramType.value == "system") {
202
+ querySystemParams();
203
+ }
204
+ });
205
+ let lastSystemQuery = null;
206
+ function querySystemParams() {
207
+ if (lastSystemQuery == searchValue.value) {
208
+ return;
209
+ }
210
+ const param = {
211
+ query: searchValue.value
212
+ };
213
+ lastSystemQuery = searchValue.value;
214
+ http.post(window["$vueApp"].config.globalProperties.baseAPI + "/component/system-params/query", param).then((results) => {
215
+ const tempOptions = [];
216
+ for (let result of results) {
217
+ tempOptions.push({
218
+ value: result.propKey,
219
+ label: result.propKey + " (" + result.propValue + ")"
220
+ });
221
+ }
222
+ selectOptions.value.systemVarOptions = tempOptions;
223
+ if (paramType.value == "system") {
224
+ setValueOptions(paramType.value);
225
+ }
226
+ });
227
+ }
228
+ const tableHeight = computed(() => {
229
+ let height = 185;
230
+ if (paramType.value == "page") {
231
+ height = 170;
232
+ }
233
+ return height;
234
+ });
235
+ const searchWidthStyle = computed(() => {
236
+ const style = {};
237
+ if (paramType.value == "page") {
238
+ style.width = "210px";
239
+ }
240
+ return style;
241
+ });
242
+ function setSelectOptions() {
243
+ selectOptions.value.dataModelOptions = pageContextUtil.pageContextVarOptions.dataOptions;
244
+ selectOptions.value.pageVarOptions = pageContextUtil.pageContextVarOptions.pageVarOptions;
245
+ }
246
+ function formatter() {
247
+ if (props.modelValue) {
248
+ return paramType.value + "." + getValueLabel(paramType.value, paramValue.value);
249
+ }
250
+ return props.modelValue;
251
+ }
252
+ let paramTypeCheck = false;
253
+ function paramTypeChange(selParamType) {
254
+ if (selParamType) {
255
+ if (Array.isArray(selParamType)) {
256
+ if (selParamType.length > 0) {
257
+ selParamType = selParamType[0];
258
+ }
259
+ }
260
+ }
261
+ paramType.value = selParamType;
262
+ paramValue.value = "";
263
+ if (selectInputType.includes(selParamType)) {
264
+ showInput.value = false;
265
+ setValueOptions(selParamType);
266
+ } else {
267
+ showInput.value = true;
268
+ }
269
+ if (paramType.value == "system") {
270
+ querySystemParams();
271
+ }
272
+ paramTypeCheck = true;
273
+ }
274
+ function setValueOptions(value) {
275
+ if (value === "context") {
276
+ let options = contextVarOptions;
277
+ if (props.isRange) {
278
+ options = deepCopy(options);
279
+ for (let i = 0; i < options.length; i++) {
280
+ let o = options[i];
281
+ if (o.value == "currentDate") {
282
+ options.splice(i + 1, 0, {
283
+ value: "currentDate",
284
+ symbolUnit: "d",
285
+ symbol: "-",
286
+ type: "range"
287
+ });
288
+ break;
289
+ }
290
+ }
291
+ }
292
+ valueOptions.value = options;
293
+ } else if (value === "system") {
294
+ valueOptions.value = selectOptions.value.systemVarOptions || [];
295
+ } else if (value === "task") {
296
+ valueOptions.value = taskVarOptions;
297
+ } else if (value === "data") {
298
+ valueOptions.value = selectOptions.value.dataModelOptions || [];
299
+ } else if (value === "params") {
300
+ valueOptions.value = selectOptions.value.paramsVarOptions || [];
301
+ } else if (value === "page") {
302
+ valueOptions.value = selectOptions.value.pageVarOptions || [];
303
+ }
304
+ }
305
+ function clearSelect() {
306
+ defalutValue.value = "";
307
+ emits("update:modelValue", defalutValue.value);
308
+ popoverRef.value.hide();
309
+ }
310
+ function selectRow(row) {
311
+ if (row.type == "range") {
312
+ if (row.symbolNum === "") {
313
+ ElMessage.warning("周期不能为空!");
314
+ return;
315
+ }
316
+ if (isNaN(row.symbolNum)) {
317
+ ElMessage.warning("周期为无效的数字!");
318
+ return;
319
+ }
320
+ if (row.symbolNum != "0") {
321
+ paramValue.value = row.value + row.symbol + row.symbolNum + row.symbolUnit;
322
+ } else {
323
+ paramValue.value = row.value;
324
+ }
325
+ } else {
326
+ paramValue.value = row.value;
327
+ }
328
+ defalutValue.value = "${" + paramType.value + "." + paramValue.value + "}";
329
+ emits("update:modelValue", defalutValue.value);
330
+ closePopover(true);
331
+ }
332
+ function addRequestParam(paramName) {
333
+ paramValue.value = paramName;
334
+ addInputParams();
335
+ }
336
+ function addInputParams() {
337
+ if (!paramValue.value) {
338
+ ElMessage.warning("请输入参数名");
339
+ return;
340
+ }
341
+ defalutValue.value = "${" + paramType.value + "." + paramValue.value + "}";
342
+ emits("update:modelValue", defalutValue.value);
343
+ closePopover(true);
344
+ }
345
+ function addPageParams() {
346
+ searchValue.value = searchValue.value.trim();
347
+ if (!searchValue.value) {
348
+ ElMessage.warning("请输入参数名");
349
+ return;
350
+ }
351
+ const tempValues = selectOptions.value.pageVarOptions || [];
352
+ for (let t of tempValues) {
353
+ if (t.value === searchValue.value) {
354
+ ElMessage.warning("该变量已存在!");
355
+ return;
356
+ }
357
+ }
358
+ const variable = {
359
+ code: getUuidv4(),
360
+ name: searchValue.value,
361
+ alias: searchValue.value,
362
+ type: "string",
363
+ defaultValue: ""
364
+ };
365
+ if (!pageContextUtil.pageContext.variables) {
366
+ pageContextUtil.pageContext.variables = [];
367
+ }
368
+ pageContextUtil.pageContext.variables.push(variable);
369
+ pageContextUtil.setPageContext(pageContextUtil.pageContext);
370
+ selectOptions.value.pageVarOptions = pageContextUtil.pageContextVarOptions.pageVarOptions;
371
+ valueOptions.value = selectOptions.value.pageVarOptions || [];
372
+ paramValue.value = searchValue.value;
373
+ defalutValue.value = "${" + paramType.value + "." + searchValue.value + "}";
374
+ searchValue.value = "";
375
+ emits("update:modelValue", defalutValue.value);
376
+ closePopover(true);
377
+ }
378
+ function getValueLabel(valueType, value) {
379
+ if (selectInputType.includes(valueType)) {
380
+ if (valueType === "context" && value && value.startsWith("currentDate") && value.length > 11) {
381
+ const str = value.substring(11);
382
+ const symbol = str.substring(0, 1);
383
+ const num = str.substring(1, str.length - 1);
384
+ const unit = str.substring(str.length - 1);
385
+ return num + symbolUnitFormatter(unit) + ("+" === symbol ? "后" : "前");
386
+ }
387
+ const option = valueOptions.value.find((item) => item.value === value);
388
+ if (option) {
389
+ return option.label;
390
+ }
391
+ }
392
+ return value;
393
+ }
394
+ const tableRef = ref();
395
+ function handSelectRow() {
396
+ if (!props.showLabel && !showInput.value) {
397
+ const index = filterTableData.value.findIndex((item) => item.value === paramValue.value);
398
+ if (index > -1) {
399
+ tableRef.value.setCurrentRow(filterTableData.value[index]);
400
+ }
401
+ }
402
+ }
403
+ function showPopover() {
404
+ openPopover();
405
+ nextTick(() => {
406
+ setSelectOptions();
407
+ if (paramType.value) {
408
+ setValueOptions(paramType.value);
409
+ }
410
+ handSelectRow();
411
+ });
412
+ }
413
+ return (_ctx, _cache) => {
414
+ const _component_el_icon = resolveComponent("el-icon");
415
+ const _component_el_input = resolveComponent("el-input");
416
+ const _component_el_cascader_panel = resolveComponent("el-cascader-panel");
417
+ const _component_el_col = resolveComponent("el-col");
418
+ const _component_el_empty = resolveComponent("el-empty");
419
+ const _component_el_button = resolveComponent("el-button");
420
+ const _component_el_table_column = resolveComponent("el-table-column");
421
+ const _component_el_option = resolveComponent("el-option");
422
+ const _component_el_select = resolveComponent("el-select");
423
+ const _component_el_table = resolveComponent("el-table");
424
+ const _component_el_row = resolveComponent("el-row");
425
+ const _component_el_popover = resolveComponent("el-popover");
426
+ return __props.showLabel ? (openBlock(), createElementBlock("span", _hoisted_1, toDisplayString(defalutValue.value), 1)) : (openBlock(), createBlock(_component_el_popover, {
427
+ key: 1,
428
+ ref_key: "popoverRef",
429
+ ref: popoverRef,
430
+ visible: popoverVisible.value,
431
+ width: 400
432
+ }, {
433
+ reference: withCtx(() => [
434
+ createVNode(_component_el_input, {
435
+ readonly: "",
436
+ size: __props.size,
437
+ title: defalutValue.value,
438
+ ref_key: "inputRef",
439
+ ref: inputRef,
440
+ onClick: showPopover,
441
+ formatter,
442
+ modelValue: defalutValue.value,
443
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => defalutValue.value = $event),
444
+ placeholder: "请选择"
445
+ }, {
446
+ suffix: withCtx(() => [
447
+ withDirectives(createVNode(_component_el_icon, {
448
+ style: { "cursor": "pointer" },
449
+ onClick: withModifiers(clearSelect, ["stop"])
450
+ }, {
451
+ default: withCtx(() => [
452
+ createVNode(unref(CircleClose))
453
+ ]),
454
+ _: 1
455
+ }, 512), [
456
+ [vShow, defalutValue.value]
457
+ ])
458
+ ]),
459
+ _: 1
460
+ }, 8, ["size", "title", "modelValue"])
461
+ ]),
462
+ default: withCtx(() => [
463
+ createVNode(_component_el_row, {
464
+ ref_key: "contentRef",
465
+ ref: contentRef
466
+ }, {
467
+ default: withCtx(() => [
468
+ createVNode(_component_el_col, { span: 8 }, {
469
+ default: withCtx(() => [
470
+ createVNode(_component_el_cascader_panel, {
471
+ modelValue: paramType.value,
472
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => paramType.value = $event),
473
+ onChange: paramTypeChange,
474
+ props: { emitPath: true },
475
+ size: "small",
476
+ options: typeOptions.value,
477
+ style: { "height": "240px", "width": "100%" }
478
+ }, null, 8, ["modelValue", "options"])
479
+ ]),
480
+ _: 1
481
+ }),
482
+ !paramType.value ? (openBlock(), createBlock(_component_el_col, {
483
+ key: 0,
484
+ span: 16
485
+ }, {
486
+ default: withCtx(() => [
487
+ createVNode(_component_el_empty, {
488
+ description: "请选择类型",
489
+ "image-size": 40
490
+ })
491
+ ]),
492
+ _: 1
493
+ })) : showInput.value ? (openBlock(), createBlock(_component_el_col, {
494
+ key: 1,
495
+ span: 16,
496
+ style: { "padding-left": "10px" }
497
+ }, {
498
+ default: withCtx(() => [
499
+ createVNode(_component_el_input, {
500
+ style: { "width": "210px" },
501
+ size: "small",
502
+ modelValue: paramValue.value,
503
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => paramValue.value = $event),
504
+ placeholder: "请手动输入"
505
+ }, null, 8, ["modelValue"]),
506
+ createVNode(_component_el_button, {
507
+ style: { "float": "right" },
508
+ onClick: addInputParams,
509
+ size: "small",
510
+ type: "primary",
511
+ icon: unref(Plus),
512
+ circle: ""
513
+ }, null, 8, ["icon"]),
514
+ createElementVNode("div", _hoisted_2, [
515
+ createVNode(_component_el_icon, null, {
516
+ default: withCtx(() => [
517
+ createVNode(unref(InfoFilled))
518
+ ]),
519
+ _: 1
520
+ }),
521
+ _hoisted_3
522
+ ]),
523
+ withDirectives(createElementVNode("div", _hoisted_4, [
524
+ createTextVNode(" 常用参数: "),
525
+ createVNode(_component_el_button, {
526
+ type: "primary",
527
+ size: "small",
528
+ onClick: _cache[3] || (_cache[3] = ($event) => addRequestParam("query"))
529
+ }, {
530
+ default: withCtx(() => [
531
+ createTextVNode("query")
532
+ ]),
533
+ _: 1
534
+ })
535
+ ], 512), [
536
+ [vShow, paramType.value == "request"]
537
+ ])
538
+ ]),
539
+ _: 1
540
+ })) : (openBlock(), createBlock(_component_el_col, {
541
+ key: 2,
542
+ span: 16,
543
+ style: { "padding-left": "10px" }
544
+ }, {
545
+ default: withCtx(() => [
546
+ createVNode(_component_el_input, {
547
+ size: "small",
548
+ modelValue: searchValue.value,
549
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => searchValue.value = $event),
550
+ placeholder: "搜索",
551
+ "suffix-icon": unref(Search),
552
+ style: normalizeStyle([{ "margin-bottom": "5px", "height": "25px" }, searchWidthStyle.value])
553
+ }, null, 8, ["modelValue", "suffix-icon", "style"]),
554
+ withDirectives(createVNode(_component_el_button, {
555
+ style: { "float": "right" },
556
+ onClick: addPageParams,
557
+ size: "small",
558
+ type: "primary",
559
+ icon: unref(Plus),
560
+ circle: ""
561
+ }, null, 8, ["icon"]), [
562
+ [vShow, paramType.value == "page"]
563
+ ]),
564
+ withDirectives(createElementVNode("div", _hoisted_5, [
565
+ createVNode(_component_el_icon, null, {
566
+ default: withCtx(() => [
567
+ createVNode(unref(InfoFilled))
568
+ ]),
569
+ _: 1
570
+ }),
571
+ _hoisted_6
572
+ ], 512), [
573
+ [vShow, paramType.value == "page"]
574
+ ]),
575
+ createVNode(_component_el_table, {
576
+ ref_key: "tableRef",
577
+ ref: tableRef,
578
+ height: tableHeight.value,
579
+ "show-header": false,
580
+ size: "small",
581
+ "current-row-key": "code",
582
+ "row-key": "code",
583
+ "tree-props": { children: "items" },
584
+ "highlight-current-row": true,
585
+ data: filterTableData.value
586
+ }, {
587
+ default: withCtx(() => [
588
+ createVNode(_component_el_table_column, { width: "65" }, {
589
+ default: withCtx((scope) => [
590
+ createVNode(_component_el_button, {
591
+ size: "small",
592
+ onClick: ($event) => selectRow(scope.row)
593
+ }, {
594
+ default: withCtx(() => [
595
+ createTextVNode(" 选择 ")
596
+ ]),
597
+ _: 2
598
+ }, 1032, ["onClick"])
599
+ ]),
600
+ _: 1
601
+ }),
602
+ createVNode(_component_el_table_column, {
603
+ label: "Date",
604
+ prop: "label"
605
+ }, {
606
+ default: withCtx((scope) => [
607
+ paramType.value == "context" && scope.row.type == "range" ? (openBlock(), createElementBlock("div", _hoisted_7, [
608
+ createVNode(_component_el_input, {
609
+ size: "small",
610
+ modelValue: scope.row.symbolNum,
611
+ "onUpdate:modelValue": ($event) => scope.row.symbolNum = $event,
612
+ placeholder: "",
613
+ style: { "width": "35px", "margin-left": "4px" }
614
+ }, null, 8, ["modelValue", "onUpdate:modelValue"]),
615
+ createVNode(_component_el_select, {
616
+ size: "small",
617
+ style: { "margin-left": "4px", "width": "50px" },
618
+ modelValue: scope.row.symbolUnit,
619
+ "onUpdate:modelValue": ($event) => scope.row.symbolUnit = $event,
620
+ placeholder: ""
621
+ }, {
622
+ default: withCtx(() => [
623
+ createVNode(_component_el_option, {
624
+ label: "天",
625
+ value: "d"
626
+ }),
627
+ createVNode(_component_el_option, {
628
+ label: "周",
629
+ value: "w"
630
+ }),
631
+ createVNode(_component_el_option, {
632
+ label: "月",
633
+ value: "m"
634
+ }),
635
+ createVNode(_component_el_option, {
636
+ label: "年",
637
+ value: "y"
638
+ })
639
+ ]),
640
+ _: 2
641
+ }, 1032, ["modelValue", "onUpdate:modelValue"]),
642
+ createVNode(_component_el_select, {
643
+ size: "small",
644
+ style: { "margin-left": "4px", "width": "50px" },
645
+ modelValue: scope.row.symbol,
646
+ "onUpdate:modelValue": ($event) => scope.row.symbol = $event,
647
+ placeholder: ""
648
+ }, {
649
+ default: withCtx(() => [
650
+ createVNode(_component_el_option, {
651
+ label: "前",
652
+ value: "-"
653
+ }),
654
+ createVNode(_component_el_option, {
655
+ label: "后",
656
+ value: "+"
657
+ })
658
+ ]),
659
+ _: 2
660
+ }, 1032, ["modelValue", "onUpdate:modelValue"])
661
+ ])) : (openBlock(), createElementBlock("span", {
662
+ key: 1,
663
+ title: scope.row.label
664
+ }, toDisplayString(scope.row.label), 9, _hoisted_8))
665
+ ]),
666
+ _: 1
667
+ })
668
+ ]),
669
+ _: 1
670
+ }, 8, ["height", "data"]),
671
+ createElementVNode("div", _hoisted_9, "总计:" + toDisplayString(filterTableData.value.length), 1)
672
+ ]),
673
+ _: 1
674
+ }))
675
+ ]),
676
+ _: 1
677
+ }, 512)
678
+ ]),
679
+ _: 1
680
+ }, 8, ["visible"]));
681
+ };
682
+ }
683
+ });
684
+ export {
685
+ _sfc_main as default
686
+ };