@fecp/designer 5.1.6 → 5.2.0

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 (137) hide show
  1. package/es/config-dev.js +1 -1
  2. package/es/designer.css +2083 -1300
  3. package/es/node_modules/.pnpm/@element-plus_icons-vue@2.3.2_vue@3.5.13_typescript@5.7.3_/node_modules/@element-plus/icons-vue/dist/index.mjs +16 -0
  4. package/es/packages/designer/src/api/index.mjs +16 -1
  5. package/es/packages/designer/src/components/FieldSetMapping.vue2.mjs +407 -0
  6. package/es/packages/designer/src/components/FormulaEditorInput.vue.mjs +1 -1
  7. package/es/packages/designer/src/components/JsonDataDrawer.vue.mjs +1 -2
  8. package/es/packages/designer/src/components/OnlyFLowConfigButton.vue2.mjs +118 -0
  9. package/es/packages/designer/src/components/TemplateDialog.vue.mjs +254 -0
  10. package/es/packages/designer/src/components/TemplateSelector.vue.mjs +22 -175
  11. package/es/packages/designer/src/components/TemplateSelector.vue2.mjs +1 -0
  12. package/es/packages/designer/src/layout/aside/HiddenFieldDialog.vue.mjs +9 -15
  13. package/es/packages/designer/src/layout/header/index.vue.mjs +195 -11
  14. package/es/packages/designer/src/layout/index.vue.mjs +2 -2
  15. package/es/packages/designer/src/packages/dialog/index.vue.mjs +2 -2
  16. package/es/packages/designer/src/packages/dialogGlobal/index.vue.mjs +1004 -0
  17. package/es/packages/designer/src/packages/dialogGlobal/useDialogGlobalDialog.mjs +16 -0
  18. package/es/packages/designer/src/packages/event/index.vue2.mjs +76 -16
  19. package/es/packages/designer/src/packages/event/onlyFlow.vue2.mjs +105 -0
  20. package/es/packages/designer/src/packages/event/useOnlyFlowDialog.mjs +1 -1
  21. package/es/packages/designer/src/packages/eventFlow/dialog/action/Dialog.vue.mjs +225 -24
  22. package/es/packages/designer/src/packages/eventFlow/dialog/action/config.mjs +5 -1
  23. package/es/packages/designer/src/packages/form/aside/index.mjs +24 -10
  24. package/es/packages/designer/src/packages/form/components/ApprovalHistory.vue.mjs +3 -3
  25. package/es/packages/designer/src/packages/form/components/ComponentPreviewWrapper.vue.mjs +152 -69
  26. package/es/packages/designer/src/packages/form/components/DefaultValueEditor.vue.mjs +88 -0
  27. package/es/packages/designer/src/packages/form/components/SubForm.vue.mjs +3 -3
  28. package/es/packages/designer/src/packages/form/components/SubTable.vue.mjs +3 -3
  29. package/es/packages/designer/src/packages/form/components/SubTitle.vue.mjs +27 -0
  30. package/es/packages/designer/src/packages/form/headerBtn.vue.mjs +33 -57
  31. package/es/packages/designer/src/packages/form/index.vue.mjs +20 -8
  32. package/es/packages/designer/src/packages/form/property/index.vue.mjs +5 -3
  33. package/es/packages/designer/src/packages/form/property/subTitleH2.vue.mjs +94 -0
  34. package/es/packages/designer/src/packages/form/property/widgets.vue.mjs +275 -94
  35. package/es/packages/designer/src/packages/formulaEditor/components/FieldVariable.vue2.mjs +84 -0
  36. package/es/packages/designer/src/packages/formulaEditor/components/FormulaList.vue2.mjs +130 -0
  37. package/es/packages/designer/src/packages/formulaEditor/index.vue2.mjs +230 -0
  38. package/es/packages/designer/src/packages/table/default.mjs +1 -0
  39. package/es/packages/designer/src/packages/table/headerBtn.vue.mjs +48 -17
  40. package/es/packages/designer/src/packages/table/index.vue.mjs +1 -3
  41. package/es/packages/designer/src/packages/table/property/filterWidgets.vue.mjs +34 -7
  42. package/es/packages/designer/src/packages/table/queryModule/DynamicModeConfig.vue.mjs +492 -0
  43. package/es/packages/designer/src/packages/table/queryModule/FixedModeConfig.vue.mjs +15 -2
  44. package/es/packages/designer/src/packages/table/queryModule/index.vue.mjs +463 -138
  45. package/es/packages/designer/src/packages/table/tableBtn.vue.mjs +33 -15
  46. package/es/packages/designer/src/utils/optionLoader.mjs +157 -0
  47. package/es/packages/designer/src/utils/simpleCache.mjs +80 -0
  48. package/es/packages/mobile/src/components/form/field/Field.vue.mjs +14 -12
  49. package/es/packages/vue/src/api/index.mjs +3 -0
  50. package/es/packages/vue/src/components/all.mjs +2 -2
  51. package/es/packages/vue/src/components/bus/approvalHistory/ApprovalHistory.vue.mjs +3 -3
  52. package/es/packages/vue/src/components/details/header/Header.vue.mjs +1 -1
  53. package/es/packages/vue/src/components/dialog/DialogRenderer.vue2.mjs +2 -2
  54. package/es/packages/vue/src/components/forms/cascader/Cascader.vue.mjs +3 -2
  55. package/es/packages/vue/src/components/forms/form/Form.vue.mjs +6 -3
  56. package/es/packages/vue/src/components/forms/formItem/FormItem.vue.mjs +14 -12
  57. package/es/packages/vue/src/components/forms/index.mjs +2 -2
  58. package/es/packages/vue/src/components/forms/subForm/SubForm.vue.mjs +2 -2
  59. package/es/packages/vue/src/components/forms/subTable/SubTable.vue.mjs +2 -2
  60. package/es/packages/vue/src/components/forms/subTitle/SubTitle.vue.mjs +27 -0
  61. package/es/packages/vue/src/components/forms/subTitle/index.mjs +7 -0
  62. package/es/packages/vue/src/components/forms/text/Text.vue.mjs +47 -4
  63. package/es/packages/vue/src/components/table/CustomButtons.vue.mjs +32 -4
  64. package/es/packages/vue/src/components/table/DynamicQuery.vue.mjs +425 -0
  65. package/es/packages/vue/src/components/table/Table.vue.mjs +39 -21
  66. package/es/packages/vue/src/components/table/TableFilter.vue.mjs +7 -25
  67. package/es/packages/vue/src/utils/common.mjs +27 -0
  68. package/es/packages/vue/src/utils/eventFlow/actionHandlers.mjs +20 -3
  69. package/lib/config-dev.js +1 -1
  70. package/lib/designer.css +2083 -1300
  71. package/lib/node_modules/.pnpm/@element-plus_icons-vue@2.3.2_vue@3.5.13_typescript@5.7.3_/node_modules/@element-plus/icons-vue/dist/index.js +16 -0
  72. package/lib/packages/designer/src/api/index.js +15 -0
  73. package/lib/packages/designer/src/components/FieldSetMapping.vue2.js +407 -0
  74. package/lib/packages/designer/src/components/FormulaEditorInput.vue.js +1 -1
  75. package/lib/packages/designer/src/components/JsonDataDrawer.vue.js +1 -2
  76. package/lib/packages/designer/src/components/OnlyFLowConfigButton.vue2.js +118 -0
  77. package/lib/packages/designer/src/components/TemplateDialog.vue.js +254 -0
  78. package/lib/packages/designer/src/components/TemplateSelector.vue.js +21 -174
  79. package/lib/packages/designer/src/components/TemplateSelector.vue2.js +1 -0
  80. package/lib/packages/designer/src/layout/aside/HiddenFieldDialog.vue.js +9 -15
  81. package/lib/packages/designer/src/layout/header/index.vue.js +192 -8
  82. package/lib/packages/designer/src/layout/index.vue.js +2 -2
  83. package/lib/packages/designer/src/packages/dialog/index.vue.js +2 -2
  84. package/lib/packages/designer/src/packages/dialogGlobal/index.vue.js +1004 -0
  85. package/lib/packages/designer/src/packages/dialogGlobal/useDialogGlobalDialog.js +16 -0
  86. package/lib/packages/designer/src/packages/event/index.vue2.js +75 -15
  87. package/lib/packages/designer/src/packages/event/onlyFlow.vue2.js +105 -0
  88. package/lib/packages/designer/src/packages/event/useOnlyFlowDialog.js +1 -1
  89. package/lib/packages/designer/src/packages/eventFlow/dialog/action/Dialog.vue.js +226 -25
  90. package/lib/packages/designer/src/packages/eventFlow/dialog/action/config.js +5 -1
  91. package/lib/packages/designer/src/packages/form/aside/index.js +24 -10
  92. package/lib/packages/designer/src/packages/form/components/ApprovalHistory.vue.js +3 -3
  93. package/lib/packages/designer/src/packages/form/components/ComponentPreviewWrapper.vue.js +160 -77
  94. package/lib/packages/designer/src/packages/form/components/DefaultValueEditor.vue.js +88 -0
  95. package/lib/packages/designer/src/packages/form/components/SubForm.vue.js +3 -3
  96. package/lib/packages/designer/src/packages/form/components/SubTable.vue.js +3 -3
  97. package/lib/packages/designer/src/packages/form/components/SubTitle.vue.js +27 -0
  98. package/lib/packages/designer/src/packages/form/headerBtn.vue.js +33 -57
  99. package/lib/packages/designer/src/packages/form/index.vue.js +21 -9
  100. package/lib/packages/designer/src/packages/form/property/index.vue.js +6 -4
  101. package/lib/packages/designer/src/packages/form/property/subTitleH2.vue.js +94 -0
  102. package/lib/packages/designer/src/packages/form/property/widgets.vue.js +271 -90
  103. package/lib/packages/designer/src/packages/formulaEditor/components/FieldVariable.vue2.js +84 -0
  104. package/lib/packages/designer/src/packages/formulaEditor/components/FormulaList.vue2.js +130 -0
  105. package/lib/packages/designer/src/packages/formulaEditor/index.vue2.js +230 -0
  106. package/lib/packages/designer/src/packages/table/default.js +1 -0
  107. package/lib/packages/designer/src/packages/table/headerBtn.vue.js +48 -17
  108. package/lib/packages/designer/src/packages/table/index.vue.js +1 -3
  109. package/lib/packages/designer/src/packages/table/property/filterWidgets.vue.js +33 -6
  110. package/lib/packages/designer/src/packages/table/queryModule/DynamicModeConfig.vue.js +492 -0
  111. package/lib/packages/designer/src/packages/table/queryModule/FixedModeConfig.vue.js +15 -2
  112. package/lib/packages/designer/src/packages/table/queryModule/index.vue.js +463 -138
  113. package/lib/packages/designer/src/packages/table/tableBtn.vue.js +34 -16
  114. package/lib/packages/designer/src/utils/optionLoader.js +157 -0
  115. package/lib/packages/designer/src/utils/simpleCache.js +80 -0
  116. package/lib/packages/mobile/src/components/form/field/Field.vue.js +14 -12
  117. package/lib/packages/vue/src/api/index.js +3 -0
  118. package/lib/packages/vue/src/components/all.js +2 -2
  119. package/lib/packages/vue/src/components/bus/approvalHistory/ApprovalHistory.vue.js +3 -3
  120. package/lib/packages/vue/src/components/details/header/Header.vue.js +1 -1
  121. package/lib/packages/vue/src/components/dialog/DialogRenderer.vue2.js +2 -2
  122. package/lib/packages/vue/src/components/forms/cascader/Cascader.vue.js +3 -2
  123. package/lib/packages/vue/src/components/forms/form/Form.vue.js +6 -3
  124. package/lib/packages/vue/src/components/forms/formItem/FormItem.vue.js +13 -11
  125. package/lib/packages/vue/src/components/forms/index.js +2 -2
  126. package/lib/packages/vue/src/components/forms/subForm/SubForm.vue.js +2 -2
  127. package/lib/packages/vue/src/components/forms/subTable/SubTable.vue.js +2 -2
  128. package/lib/packages/vue/src/components/forms/subTitle/SubTitle.vue.js +27 -0
  129. package/lib/packages/vue/src/components/forms/subTitle/index.js +7 -0
  130. package/lib/packages/vue/src/components/forms/text/Text.vue.js +49 -6
  131. package/lib/packages/vue/src/components/table/CustomButtons.vue.js +41 -13
  132. package/lib/packages/vue/src/components/table/DynamicQuery.vue.js +425 -0
  133. package/lib/packages/vue/src/components/table/Table.vue.js +38 -20
  134. package/lib/packages/vue/src/components/table/TableFilter.vue.js +7 -25
  135. package/lib/packages/vue/src/utils/common.js +27 -0
  136. package/lib/packages/vue/src/utils/eventFlow/actionHandlers.js +30 -13
  137. package/package.json +1 -1
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ ;/* empty css */
4
+ ;/* empty css */
5
+ ;/* empty css */
6
+ const vue = require("vue");
7
+ const index$1 = require("../../../../../../node_modules/.pnpm/@element-plus_icons-vue@2.3.2_vue@3.5.13_typescript@5.7.3_/node_modules/@element-plus/icons-vue/dist/index.js");
8
+ ;/* empty css */
9
+ const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.js");
10
+ const index = require("../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/input/index.js");
11
+ const index$2 = require("../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/scrollbar/index.js");
12
+ const _hoisted_1 = { class: "field-variable" };
13
+ const _hoisted_2 = { class: "field-search" };
14
+ const _hoisted_3 = ["onClick"];
15
+ const _hoisted_4 = ["field-type"];
16
+ const _sfc_main = {
17
+ __name: "FieldVariable",
18
+ props: {
19
+ fieldList: {
20
+ type: Array,
21
+ default: () => []
22
+ }
23
+ },
24
+ emits: ["fieldSelect"],
25
+ setup(__props, { emit: __emit }) {
26
+ const props = __props;
27
+ const type = {
28
+ text: "字符串",
29
+ textarea: "字符串",
30
+ select: "字符串",
31
+ radio: "字符串",
32
+ number: "数字",
33
+ multipleSelection: "数组",
34
+ checkbox: "数组",
35
+ date: "日期",
36
+ switch: "布尔值"
37
+ };
38
+ const searchVariable = vue.ref("");
39
+ const filterFieldList = vue.ref([]);
40
+ vue.watch(searchVariable, (val) => {
41
+ filterFieldList.value = props.fieldList.filter(
42
+ ({ label }) => label.includes(val)
43
+ );
44
+ });
45
+ vue.onMounted(() => {
46
+ filterFieldList.value = props.fieldList;
47
+ });
48
+ return (_ctx, _cache) => {
49
+ const _component_el_input = index.ElInput;
50
+ const _component_el_scrollbar = index$2.ElScrollbar;
51
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
52
+ vue.createElementVNode("div", _hoisted_2, [
53
+ vue.createVNode(_component_el_input, {
54
+ placeholder: "搜索变量",
55
+ "prefix-icon": vue.unref(index$1.Search),
56
+ modelValue: searchVariable.value,
57
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchVariable.value = $event),
58
+ clearable: ""
59
+ }, null, 8, ["prefix-icon", "modelValue"])
60
+ ]),
61
+ vue.createVNode(_component_el_scrollbar, null, {
62
+ default: vue.withCtx(() => [
63
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(filterFieldList.value, (item) => {
64
+ return vue.openBlock(), vue.createElementBlock("div", {
65
+ class: "field-item",
66
+ onClick: ($event) => _ctx.$emit("fieldSelect", item),
67
+ key: item.fieldName
68
+ }, [
69
+ vue.createElementVNode("span", null, vue.toDisplayString(item.label), 1),
70
+ vue.createElementVNode("span", {
71
+ "field-type": item.fieldType,
72
+ class: "text-tag"
73
+ }, vue.toDisplayString(type[item.fieldType]), 9, _hoisted_4)
74
+ ], 8, _hoisted_3);
75
+ }), 128))
76
+ ]),
77
+ _: 1
78
+ })
79
+ ]);
80
+ };
81
+ }
82
+ };
83
+ const FieldVariable = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-66e49c9f"]]);
84
+ exports.default = FieldVariable;
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ ;/* empty css */
4
+ ;/* empty css */
5
+ ;/* empty css */
6
+ ;/* empty css */
7
+ ;/* empty css */
8
+ ;/* empty css */
9
+ const vue = require("vue");
10
+ const index$1 = require("../../../../../../node_modules/.pnpm/@element-plus_icons-vue@2.3.2_vue@3.5.13_typescript@5.7.3_/node_modules/@element-plus/icons-vue/dist/index.js");
11
+ ;/* empty css */
12
+ const _pluginVue_exportHelper = require("../../../../../../_virtual/_plugin-vue_export-helper.js");
13
+ const index = require("../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/input/index.js");
14
+ const index$2 = require("../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/scrollbar/index.js");
15
+ const index$3 = require("../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/tree/index.js");
16
+ const _hoisted_1 = { class: "formula-list" };
17
+ const _hoisted_2 = { class: "formula-search" };
18
+ const _hoisted_3 = ["onMouseenter"];
19
+ const _hoisted_4 = {
20
+ key: 0,
21
+ class: "tip"
22
+ };
23
+ const _sfc_main = {
24
+ __name: "FormulaList",
25
+ props: {
26
+ nodes: {
27
+ type: Array,
28
+ default: () => []
29
+ },
30
+ treeProps: {
31
+ type: Object,
32
+ default: () => ({
33
+ children: "formula",
34
+ label: "name"
35
+ })
36
+ }
37
+ },
38
+ emits: ["formulaClick", "enterInfo"],
39
+ setup(__props, { emit: __emit }) {
40
+ const props = __props;
41
+ const emit = __emit;
42
+ const searchTreeVariable = vue.ref("");
43
+ const currentKeyNode = vue.ref({});
44
+ const filterData = vue.computed(() => {
45
+ if (!searchTreeVariable.value) {
46
+ return props.nodes;
47
+ }
48
+ return filterTreeData(props.nodes);
49
+ });
50
+ const nodeClick = (o) => {
51
+ if (o.formula) {
52
+ if (currentKeyNode.value && currentKeyNode.value.enCode) {
53
+ currentKeyNode.value = {};
54
+ }
55
+ return;
56
+ }
57
+ currentKeyNode.value = o;
58
+ emit("formulaClick", o);
59
+ };
60
+ const filterTreeData = (nodes) => {
61
+ return nodes.reduce((pre, cur) => {
62
+ if (cur.name.toLowerCase().includes(searchTreeVariable.value)) {
63
+ pre.push({ ...cur });
64
+ }
65
+ if (cur.formula) {
66
+ pre.push(...filterTreeData(cur.formula));
67
+ }
68
+ return pre;
69
+ }, []);
70
+ };
71
+ const enterInfo = (data) => {
72
+ if (data.formula) return;
73
+ emit("enterInfo", data);
74
+ };
75
+ const leaveTree = () => {
76
+ if (currentKeyNode.value && currentKeyNode.value.enCode) {
77
+ emit("enterInfo", currentKeyNode.value);
78
+ }
79
+ };
80
+ vue.onMounted(() => {
81
+ });
82
+ return (_ctx, _cache) => {
83
+ const _component_el_input = index.ElInput;
84
+ const _component_el_tree = index$3.ElTree;
85
+ const _component_el_scrollbar = index$2.ElScrollbar;
86
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
87
+ vue.createElementVNode("div", _hoisted_2, [
88
+ vue.createVNode(_component_el_input, {
89
+ placeholder: "搜索函数",
90
+ "prefix-icon": vue.unref(index$1.Search),
91
+ modelValue: searchTreeVariable.value,
92
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => searchTreeVariable.value = $event),
93
+ clearable: ""
94
+ }, null, 8, ["prefix-icon", "modelValue"])
95
+ ]),
96
+ vue.createVNode(_component_el_scrollbar, null, {
97
+ default: vue.withCtx(() => [
98
+ vue.createElementVNode("div", {
99
+ class: "treeContainer",
100
+ onMouseleave: leaveTree
101
+ }, [
102
+ vue.createVNode(_component_el_tree, {
103
+ data: filterData.value,
104
+ "default-expanded-keys": ["frequentlyUse"],
105
+ props: __props.treeProps,
106
+ "current-node-key": currentKeyNode.value.enCode,
107
+ "node-key": "enCode",
108
+ onNodeClick: nodeClick
109
+ }, {
110
+ default: vue.withCtx(({ data }) => [
111
+ vue.createElementVNode("span", {
112
+ class: "info-container",
113
+ onMouseenter: ($event) => enterInfo(data)
114
+ }, [
115
+ vue.createElementVNode("span", null, vue.toDisplayString(data.name), 1),
116
+ data.tip ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_4, vue.toDisplayString(data.tip), 1)) : vue.createCommentVNode("", true)
117
+ ], 40, _hoisted_3)
118
+ ]),
119
+ _: 1
120
+ }, 8, ["data", "props", "current-node-key"])
121
+ ], 32)
122
+ ]),
123
+ _: 1
124
+ })
125
+ ]);
126
+ };
127
+ }
128
+ };
129
+ const FormulaList = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-d1fdd781"]]);
130
+ exports.default = FormulaList;
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const vue = require("vue");
4
+ const vueCodemirror_esm = require("../../../../../node_modules/.pnpm/vue-codemirror@6.1.1_codemi_73012f469d7d7603a19ccbabfd8e6a05/node_modules/vue-codemirror/dist/vue-codemirror.esm.js");
5
+ const index$1 = require("../../../../../node_modules/.pnpm/codemirror@6.0.2/node_modules/codemirror/dist/index.js");
6
+ const index$2 = require("../../../../../node_modules/.pnpm/@codemirror_lang-javascript@6.2.5/node_modules/@codemirror/lang-javascript/dist/index.js");
7
+ const index$3 = require("../../../../../node_modules/.pnpm/@codemirror_autocomplete@6.20.1/node_modules/@codemirror/autocomplete/dist/index.js");
8
+ const index = require("../../../../../node_modules/.pnpm/@codemirror_view@6.40.0/node_modules/@codemirror/view/dist/index.js");
9
+ const index$4 = require("./core/index.js");
10
+ const FieldVariable = require("./components/FieldVariable.vue2.js");
11
+ const FormulaList = require("./components/FormulaList.vue2.js");
12
+ const _function = require("./function.js");
13
+ ;/* empty css */
14
+ const _pluginVue_exportHelper = require("../../../../../_virtual/_plugin-vue_export-helper.js");
15
+ const _hoisted_1 = { class: "vue-formula" };
16
+ const _hoisted_2 = ["data-error"];
17
+ const _hoisted_3 = { class: "operator-container" };
18
+ const _hoisted_4 = {
19
+ key: 0,
20
+ class: "formula-desc"
21
+ };
22
+ const _hoisted_5 = { class: "info-name" };
23
+ const _hoisted_6 = { class: "formula-info" };
24
+ const _hoisted_7 = { class: "info-text" };
25
+ const _hoisted_8 = { class: "info-text" };
26
+ const _hoisted_9 = { class: "info-text" };
27
+ const _sfc_main = {
28
+ __name: "index",
29
+ props: {
30
+ fieldList: {
31
+ type: Array,
32
+ default: () => []
33
+ },
34
+ formulaConf: {
35
+ type: Object,
36
+ default: () => ({})
37
+ }
38
+ },
39
+ emits: ["fieldSelect", "formulaClick", "enterInfo"],
40
+ setup(__props, { expose: __expose, emit: __emit }) {
41
+ const props = __props;
42
+ const editorCore = vue.ref(null);
43
+ const editorView = vue.ref(null);
44
+ const code = vue.ref("");
45
+ const currentFormula = vue.ref(null);
46
+ const validInfo = vue.ref("");
47
+ vue.ref("");
48
+ class FieldWidget extends index.WidgetType {
49
+ constructor(name) {
50
+ super();
51
+ this.name = name;
52
+ }
53
+ eq(widget) {
54
+ return this.name === widget.name;
55
+ }
56
+ toDOM() {
57
+ const span = document.createElement("span");
58
+ span.className = "cm-field";
59
+ span.textContent = this.name;
60
+ return span;
61
+ }
62
+ ignoreEvent() {
63
+ return false;
64
+ }
65
+ }
66
+ const fieldMatcher = new index.MatchDecorator({
67
+ regexp: /\{(\w+)\}/g,
68
+ decoration: (match) => {
69
+ const code2 = match[1];
70
+ const field = props.fieldList.find((item) => item.fieldName === code2);
71
+ const label = field ? field.label : code2;
72
+ return index.Decoration.replace({
73
+ widget: new FieldWidget(label)
74
+ });
75
+ }
76
+ });
77
+ const fieldMarkPlugin = index.ViewPlugin.fromClass(
78
+ class {
79
+ constructor(view) {
80
+ this.placeholders = fieldMatcher.createDeco(view);
81
+ }
82
+ update(update) {
83
+ this.placeholders = fieldMatcher.updateDeco(update, this.placeholders);
84
+ }
85
+ },
86
+ {
87
+ decorations: (instance) => instance.placeholders,
88
+ provide: (plugin) => index.EditorView.atomicRanges.of((view) => {
89
+ var _a;
90
+ return ((_a = view.plugin(plugin)) == null ? void 0 : _a.placeholders) || index.Decoration.none;
91
+ })
92
+ }
93
+ );
94
+ const autoCompletions = (context) => {
95
+ const word = context.matchBefore(/\w*/);
96
+ if (word.from === word.to && !context.explicit) return null;
97
+ const formulas = _function.default.flatMap((group) => group.formula || []);
98
+ const formulaOptions = formulas.map((item) => ({
99
+ label: item.name,
100
+ type: "function",
101
+ detail: item.tip,
102
+ apply: (view, completion, from, to) => {
103
+ view.dispatch({
104
+ changes: { from, to, insert: `${item.name}()` },
105
+ selection: { anchor: from + item.name.length + 1 }
106
+ });
107
+ }
108
+ }));
109
+ const entityOptions = props.fieldList.map((item) => ({
110
+ label: item.fieldName,
111
+ type: "variable",
112
+ detail: item.label,
113
+ apply: `{${item.fieldName}}`
114
+ }));
115
+ const allOptions = [...formulaOptions, ...entityOptions];
116
+ const filteredOptions = allOptions.filter(
117
+ (option) => option.label.toLowerCase().startsWith(word.text.toLowerCase())
118
+ );
119
+ return {
120
+ from: word.from,
121
+ options: filteredOptions.length > 0 ? filteredOptions : allOptions
122
+ };
123
+ };
124
+ const extensions = [
125
+ index$1.basicSetup,
126
+ index$2.javascript(),
127
+ index$3.autocompletion({
128
+ override: [autoCompletions]
129
+ }),
130
+ index$3.closeBrackets(),
131
+ fieldMarkPlugin
132
+ ];
133
+ const nodes = vue.computed(() => {
134
+ return _function.default || [];
135
+ });
136
+ vue.watch(code, (val) => {
137
+ var _a;
138
+ if (!val) {
139
+ validInfo.value = "";
140
+ return;
141
+ }
142
+ const { error, message } = ((_a = editorCore.value) == null ? void 0 : _a.validateFormula(
143
+ props.fieldList
144
+ )) || { error: false };
145
+ validInfo.value = error ? message : "";
146
+ });
147
+ const reset = () => {
148
+ var _a;
149
+ currentFormula.value = null;
150
+ (_a = editorCore.value) == null ? void 0 : _a.reset();
151
+ };
152
+ const getData = () => {
153
+ var _a;
154
+ return (_a = editorCore.value) == null ? void 0 : _a.getData();
155
+ };
156
+ const getDisplayData = () => {
157
+ var _a;
158
+ return (_a = editorCore.value) == null ? void 0 : _a.getDisplayData(props.fieldList);
159
+ };
160
+ const onReady = (payload) => {
161
+ editorView.value = payload.view;
162
+ editorCore.value = new index$4.default(payload.view, "", _function.default);
163
+ editorCore.value.registerListen();
164
+ editorCore.value.renderData(props.formulaConf);
165
+ };
166
+ const onFormulaClick = (formula) => {
167
+ var _a;
168
+ currentFormula.value = formula;
169
+ (_a = editorCore.value) == null ? void 0 : _a.insertText(`${formula.name}()`, "formula");
170
+ };
171
+ const onFieldSelect = (field) => {
172
+ var _a;
173
+ (_a = editorCore.value) == null ? void 0 : _a.insertText(field, "field");
174
+ };
175
+ const onEnterInfo = (formulaInfo) => {
176
+ currentFormula.value = formulaInfo;
177
+ };
178
+ vue.onMounted(() => {
179
+ });
180
+ __expose({
181
+ reset,
182
+ getData,
183
+ getDisplayData
184
+ });
185
+ return (_ctx, _cache) => {
186
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
187
+ _cache[1] || (_cache[1] = vue.createElementVNode("div", { class: "formula-info-header" }, "公式 =", -1)),
188
+ vue.createVNode(vue.unref(vueCodemirror_esm.Codemirror), {
189
+ modelValue: code.value,
190
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => code.value = $event),
191
+ style: { height: "200px" },
192
+ extensions,
193
+ autofocus: true,
194
+ placeholder: "例如:SUM(数值1,数值2)",
195
+ onReady
196
+ }, null, 8, ["modelValue"]),
197
+ validInfo.value ? (vue.openBlock(), vue.createElementBlock("div", {
198
+ key: 0,
199
+ class: "formula-info-container",
200
+ "data-error": `${validInfo.value != ""}`
201
+ }, [
202
+ vue.createElementVNode("span", null, "公式错误:" + vue.toDisplayString(validInfo.value), 1)
203
+ ], 8, _hoisted_2)) : vue.createCommentVNode("", true),
204
+ vue.createElementVNode("div", _hoisted_3, [
205
+ vue.createVNode(FieldVariable.default, {
206
+ class: "field-variable",
207
+ onFieldSelect,
208
+ fieldList: __props.fieldList
209
+ }, null, 8, ["fieldList"]),
210
+ vue.createVNode(FormulaList.default, {
211
+ nodes: nodes.value,
212
+ class: "formula-list",
213
+ onFormulaClick,
214
+ onEnterInfo
215
+ }, null, 8, ["nodes"]),
216
+ currentFormula.value ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_4, [
217
+ vue.createElementVNode("div", _hoisted_5, vue.toDisplayString(currentFormula.value.name), 1),
218
+ vue.createElementVNode("div", _hoisted_6, [
219
+ vue.createElementVNode("div", _hoisted_7, vue.toDisplayString(currentFormula.value.tip), 1),
220
+ vue.createElementVNode("div", _hoisted_8, "用法:" + vue.toDisplayString(currentFormula.value.usage), 1),
221
+ vue.createElementVNode("div", _hoisted_9, "示例:" + vue.toDisplayString(currentFormula.value.example), 1)
222
+ ])
223
+ ])) : vue.createCommentVNode("", true)
224
+ ])
225
+ ]);
226
+ };
227
+ }
228
+ };
229
+ const FormulaEditor = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-975c8145"]]);
230
+ exports.default = FormulaEditor;
@@ -20,6 +20,7 @@ const defaultTableConfig = {
20
20
  "type": "widgets"
21
21
  }
22
22
  ],
23
+ "showTitle": true,
23
24
  "isOptBtns": true,
24
25
  "optBtns": [
25
26
  // {
@@ -57,23 +57,32 @@ const useDataSourceDialog = require("../dataSource/useDataSourceDialog.js");
57
57
  ;/* empty css */
58
58
  ;/* empty css */
59
59
  ;/* empty css */
60
+ ;/* empty css */
61
+ ;/* empty css */
62
+ ;/* empty css */
63
+ ;/* empty css */
64
+ ;/* empty css */
65
+ ;/* empty css */
66
+ require("../../../../../node_modules/.pnpm/vue-codemirror@6.1.1_codemi_73012f469d7d7603a19ccbabfd8e6a05/node_modules/vue-codemirror/dist/vue-codemirror.esm.js");
67
+ require("../formulaEditor/core/functionCore.js");
68
+ ;/* empty css */
69
+ ;/* empty css */
70
+ ;/* empty css */
71
+ ;/* empty css */
72
+ require("../../axios/config.js");
73
+ require("../../../../../_virtual/FileSaver.min.js");
74
+ require("../../../../../_virtual/index.js");
75
+ ;/* empty css */
60
76
  const useAdvancedFilterDialog = require("../advancedFilter/useAdvancedFilterDialog.js");
61
77
  ;/* empty css */
62
78
  ;/* empty css */
63
79
  ;/* empty css */
64
- ;/* empty css */
65
80
  ;/* empty css */
66
81
  ;/* empty css */
67
82
  ;/* empty css */
68
83
  ;/* empty css */
69
84
  require("../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/theme-chalk/el-date-picker.css.js");
70
85
  ;/* empty css */
71
- require("../../axios/config.js");
72
- require("../../../../../_virtual/FileSaver.min.js");
73
- require("../../../../../_virtual/index.js");
74
- ;/* empty css */
75
- ;/* empty css */
76
- ;/* empty css */
77
86
  ;/* empty css */
78
87
  ;/* empty css */
79
88
  ;/* empty css */
@@ -83,6 +92,7 @@ const pageEvent = require("../event/pageEvent.vue.js");
83
92
  const useModeDialog = require("../mode/useModeDialog.js");
84
93
  const useJsonDataDrawer = require("../../components/useJsonDataDrawer.js");
85
94
  const useDialogDialog = require("../dialog/useDialogDialog.js");
95
+ const useDialogGlobalDialog = require("../dialogGlobal/useDialogGlobalDialog.js");
86
96
  ;/* empty css */
87
97
  const index = require("../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/icon/index.js");
88
98
  const _hoisted_1 = { class: "header-btns" };
@@ -104,6 +114,11 @@ const _sfc_main = {
104
114
  pageEventDialogVisible.value = true;
105
115
  }
106
116
  const { dialogDialogVisible, openDialogDialog, DialogDialog } = useDialogDialog.useDialogDialog();
117
+ const {
118
+ dialogGlobalDialogVisible,
119
+ openDialogGlobalDialog,
120
+ DialogGlobalDialog
121
+ } = useDialogGlobalDialog.useDialogGlobalDialog();
107
122
  return (_ctx, _cache) => {
108
123
  const _component_el_icon = index.ElIcon;
109
124
  const _component_Management = vue.resolveComponent("Management");
@@ -118,7 +133,7 @@ const _sfc_main = {
118
133
  ]),
119
134
  _: 1
120
135
  }),
121
- _cache[9] || (_cache[9] = vue.createElementVNode("span", null, "数据源", -1))
136
+ _cache[11] || (_cache[11] = vue.createElementVNode("span", null, "数据源", -1))
122
137
  ]),
123
138
  vue.createVNode(vue.unref(DataSourceDialog), {
124
139
  modelValue: vue.unref(dataSourceDialogVisible),
@@ -134,7 +149,7 @@ const _sfc_main = {
134
149
  ]),
135
150
  _: 1
136
151
  }),
137
- _cache[10] || (_cache[10] = vue.createElementVNode("span", null, "全局事件", -1))
152
+ _cache[12] || (_cache[12] = vue.createElementVNode("span", null, "全局事件", -1))
138
153
  ]),
139
154
  vue.createVNode(pageEvent.default, {
140
155
  modelValue: vue.unref(pageEventDialogVisible),
@@ -150,7 +165,7 @@ const _sfc_main = {
150
165
  ]),
151
166
  _: 1
152
167
  }),
153
- _cache[11] || (_cache[11] = vue.createElementVNode("span", null, "列表模式", -1))
168
+ _cache[13] || (_cache[13] = vue.createElementVNode("span", null, "列表模式", -1))
154
169
  ]),
155
170
  vue.createVNode(vue.unref(ModeDialog), {
156
171
  modelValue: vue.unref(modeDialogVisible),
@@ -158,7 +173,23 @@ const _sfc_main = {
158
173
  }, null, 8, ["modelValue"]),
159
174
  vue.createElementVNode("div", {
160
175
  class: "btn-item",
161
- onClick: _cache[5] || (_cache[5] = (...args) => vue.unref(openDialogDialog) && vue.unref(openDialogDialog)(...args))
176
+ onClick: _cache[5] || (_cache[5] = (...args) => vue.unref(openDialogGlobalDialog) && vue.unref(openDialogGlobalDialog)(...args))
177
+ }, [
178
+ vue.createVNode(_component_el_icon, null, {
179
+ default: vue.withCtx(() => [
180
+ vue.createVNode(vue.unref(index$1.ChatLineSquare))
181
+ ]),
182
+ _: 1
183
+ }),
184
+ _cache[14] || (_cache[14] = vue.createElementVNode("span", null, "全局弹层", -1))
185
+ ]),
186
+ vue.createVNode(vue.unref(DialogGlobalDialog), {
187
+ modelValue: vue.unref(dialogGlobalDialogVisible),
188
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.isRef(dialogGlobalDialogVisible) ? dialogGlobalDialogVisible.value = $event : null)
189
+ }, null, 8, ["modelValue"]),
190
+ vue.createElementVNode("div", {
191
+ class: "btn-item",
192
+ onClick: _cache[7] || (_cache[7] = (...args) => vue.unref(openDialogDialog) && vue.unref(openDialogDialog)(...args))
162
193
  }, [
163
194
  vue.createVNode(_component_el_icon, null, {
164
195
  default: vue.withCtx(() => [
@@ -166,15 +197,15 @@ const _sfc_main = {
166
197
  ]),
167
198
  _: 1
168
199
  }),
169
- _cache[12] || (_cache[12] = vue.createElementVNode("span", null, "弹层配置", -1))
200
+ _cache[15] || (_cache[15] = vue.createElementVNode("span", null, "自定义弹层", -1))
170
201
  ]),
171
202
  vue.createVNode(vue.unref(DialogDialog), {
172
203
  modelValue: vue.unref(dialogDialogVisible),
173
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.isRef(dialogDialogVisible) ? dialogDialogVisible.value = $event : null)
204
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.isRef(dialogDialogVisible) ? dialogDialogVisible.value = $event : null)
174
205
  }, null, 8, ["modelValue"]),
175
206
  vue.createElementVNode("div", {
176
207
  class: "btn-item",
177
- onClick: _cache[7] || (_cache[7] = (...args) => vue.unref(openJsonDrawer) && vue.unref(openJsonDrawer)(...args))
208
+ onClick: _cache[9] || (_cache[9] = (...args) => vue.unref(openJsonDrawer) && vue.unref(openJsonDrawer)(...args))
178
209
  }, [
179
210
  vue.createVNode(_component_el_icon, null, {
180
211
  default: vue.withCtx(() => [
@@ -182,15 +213,15 @@ const _sfc_main = {
182
213
  ]),
183
214
  _: 1
184
215
  }),
185
- _cache[13] || (_cache[13] = vue.createElementVNode("span", null, "数据结构", -1))
216
+ _cache[16] || (_cache[16] = vue.createElementVNode("span", null, "数据结构", -1))
186
217
  ]),
187
218
  vue.createVNode(vue.unref(JsonDataDrawer), {
188
219
  modelValue: vue.unref(jsonDataDrawerVisible),
189
- "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.isRef(jsonDataDrawerVisible) ? jsonDataDrawerVisible.value = $event : null)
220
+ "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.isRef(jsonDataDrawerVisible) ? jsonDataDrawerVisible.value = $event : null)
190
221
  }, null, 8, ["modelValue"])
191
222
  ]);
192
223
  };
193
224
  }
194
225
  };
195
- const tableHeaderBtn = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-814e0033"]]);
226
+ const tableHeaderBtn = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-31dcf7ee"]]);
196
227
  exports.default = tableHeaderBtn;
@@ -20,7 +20,6 @@ const vue = require("vue");
20
20
  const _default = require("./default.js");
21
21
  const vueDraggablePlus = require("../../../../../node_modules/.pnpm/vue-draggable-plus@0.6.1_@types_sortablejs@1.15.9/node_modules/vue-draggable-plus/dist/vue-draggable-plus.js");
22
22
  const index$7 = require("../../../../../node_modules/.pnpm/@element-plus_icons-vue@2.3.2_vue@3.5.13_typescript@5.7.3_/node_modules/@element-plus/icons-vue/dist/index.js");
23
- const tableBtn = require("./tableBtn.vue.js");
24
23
  const tableSetting = require("./tableSetting.vue.js");
25
24
  const index = ;/* empty css */
26
25
  const tablePagination = require("./tablePagination.vue.js");
@@ -181,7 +180,6 @@ const _sfc_main = {
181
180
  const _component_el_tag = index$a.ElTag;
182
181
  return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
183
182
  vue.createVNode(vue.unref(index.default)),
184
- vue.createVNode(tableBtn.default),
185
183
  vue.createVNode(tableSetting.default),
186
184
  vue.createElementVNode("div", _hoisted_1, [
187
185
  vue.unref(tableOptions).selectMode !== "none" ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_2, [
@@ -472,5 +470,5 @@ const _sfc_main = {
472
470
  };
473
471
  }
474
472
  };
475
- const tableWorkArea = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-ef6866d0"]]);
473
+ const tableWorkArea = /* @__PURE__ */ _pluginVue_exportHelper.default(_sfc_main, [["__scopeId", "data-v-52251340"]]);
476
474
  exports.default = tableWorkArea;