super-page-designer 2.1.80 → 2.1.81

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