super-page-designer 2.0.37 → 2.0.41-beta1

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