super-page-designer 2.0.79 → 2.0.82

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