@fecp/designer 5.1.8 → 5.2.1

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 (133) hide show
  1. package/es/designer.css +2177 -1400
  2. 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
  3. package/es/packages/designer/src/api/index.mjs +16 -1
  4. package/es/packages/designer/src/components/FieldSetMapping.vue2.mjs +407 -0
  5. package/es/packages/designer/src/components/FormulaEditorInput.vue.mjs +1 -1
  6. package/es/packages/designer/src/components/JsonDataDrawer.vue.mjs +1 -2
  7. package/es/packages/designer/src/components/OnlyFLowConfigButton.vue2.mjs +118 -0
  8. package/es/packages/designer/src/components/TemplateDialog.vue.mjs +254 -0
  9. package/es/packages/designer/src/components/TemplateSelector.vue.mjs +22 -175
  10. package/es/packages/designer/src/components/TemplateSelector.vue2.mjs +1 -0
  11. package/es/packages/designer/src/layout/aside/HiddenFieldDialog.vue.mjs +9 -15
  12. package/es/packages/designer/src/layout/header/index.vue.mjs +195 -11
  13. package/es/packages/designer/src/packages/dialog/index.vue.mjs +2 -2
  14. package/es/packages/designer/src/packages/dialogGlobal/index.vue.mjs +1004 -0
  15. package/es/packages/designer/src/packages/dialogGlobal/useDialogGlobalDialog.mjs +16 -0
  16. package/es/packages/designer/src/packages/event/index.vue2.mjs +76 -16
  17. package/es/packages/designer/src/packages/event/onlyFlow.vue2.mjs +105 -0
  18. package/es/packages/designer/src/packages/event/useOnlyFlowDialog.mjs +1 -1
  19. package/es/packages/designer/src/packages/eventFlow/dialog/action/Dialog.vue.mjs +225 -24
  20. package/es/packages/designer/src/packages/eventFlow/dialog/action/config.mjs +5 -1
  21. package/es/packages/designer/src/packages/form/aside/index.mjs +24 -10
  22. package/es/packages/designer/src/packages/form/components/ApprovalHistory.vue.mjs +3 -3
  23. package/es/packages/designer/src/packages/form/components/ComponentPreviewWrapper.vue.mjs +152 -69
  24. package/es/packages/designer/src/packages/form/components/DefaultValueEditor.vue.mjs +88 -0
  25. package/es/packages/designer/src/packages/form/components/SubForm.vue.mjs +3 -3
  26. package/es/packages/designer/src/packages/form/components/SubTable.vue.mjs +3 -3
  27. package/es/packages/designer/src/packages/form/components/SubTitle.vue.mjs +27 -0
  28. package/es/packages/designer/src/packages/form/headerBtn.vue.mjs +33 -57
  29. package/es/packages/designer/src/packages/form/index.vue.mjs +20 -8
  30. package/es/packages/designer/src/packages/form/property/index.vue.mjs +5 -3
  31. package/es/packages/designer/src/packages/form/property/subTitleH2.vue.mjs +94 -0
  32. package/es/packages/designer/src/packages/form/property/widgets.vue.mjs +275 -94
  33. package/es/packages/designer/src/packages/formulaEditor/components/FieldVariable.vue2.mjs +84 -0
  34. package/es/packages/designer/src/packages/formulaEditor/components/FormulaList.vue2.mjs +130 -0
  35. package/es/packages/designer/src/packages/formulaEditor/index.vue2.mjs +230 -0
  36. package/es/packages/designer/src/packages/table/default.mjs +1 -0
  37. package/es/packages/designer/src/packages/table/headerBtn.vue.mjs +48 -17
  38. package/es/packages/designer/src/packages/table/index.vue.mjs +1 -3
  39. package/es/packages/designer/src/packages/table/property/filterWidgets.vue.mjs +34 -7
  40. package/es/packages/designer/src/packages/table/queryModule/DynamicModeConfig.vue.mjs +492 -0
  41. package/es/packages/designer/src/packages/table/queryModule/FixedModeConfig.vue.mjs +15 -2
  42. package/es/packages/designer/src/packages/table/queryModule/index.vue.mjs +463 -138
  43. package/es/packages/designer/src/packages/table/tableBtn.vue.mjs +33 -15
  44. package/es/packages/designer/src/utils/optionLoader.mjs +157 -0
  45. package/es/packages/designer/src/utils/simpleCache.mjs +80 -0
  46. package/es/packages/mobile/src/components/form/field/Field.vue.mjs +26 -1
  47. package/es/packages/vue/src/api/index.mjs +3 -0
  48. package/es/packages/vue/src/components/all.mjs +2 -2
  49. package/es/packages/vue/src/components/bus/approvalHistory/ApprovalHistory.vue.mjs +3 -3
  50. package/es/packages/vue/src/components/details/header/Header.vue.mjs +1 -1
  51. package/es/packages/vue/src/components/dialog/DialogRenderer.vue2.mjs +2 -2
  52. package/es/packages/vue/src/components/forms/cascader/Cascader.vue.mjs +3 -2
  53. package/es/packages/vue/src/components/forms/form/Form.vue.mjs +5 -3
  54. package/es/packages/vue/src/components/forms/formItem/FormItem.vue.mjs +14 -12
  55. package/es/packages/vue/src/components/forms/index.mjs +2 -2
  56. package/es/packages/vue/src/components/forms/subForm/SubForm.vue.mjs +2 -2
  57. package/es/packages/vue/src/components/forms/subTable/SubTable.vue.mjs +2 -2
  58. package/es/packages/vue/src/components/forms/subTitle/SubTitle.vue.mjs +27 -0
  59. package/es/packages/vue/src/components/forms/subTitle/index.mjs +7 -0
  60. package/es/packages/vue/src/components/forms/text/Text.vue.mjs +47 -4
  61. package/es/packages/vue/src/components/table/CustomButtons.vue.mjs +34 -5
  62. package/es/packages/vue/src/components/table/DynamicQuery.vue.mjs +425 -0
  63. package/es/packages/vue/src/components/table/Table.vue.mjs +55 -30
  64. package/es/packages/vue/src/components/table/TableFilter.vue.mjs +7 -25
  65. package/es/packages/vue/src/utils/common.mjs +27 -0
  66. package/es/packages/vue/src/utils/eventFlow/actionHandlers.mjs +20 -3
  67. package/lib/designer.css +2177 -1400
  68. 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
  69. package/lib/packages/designer/src/api/index.js +15 -0
  70. package/lib/packages/designer/src/components/FieldSetMapping.vue2.js +407 -0
  71. package/lib/packages/designer/src/components/FormulaEditorInput.vue.js +1 -1
  72. package/lib/packages/designer/src/components/JsonDataDrawer.vue.js +1 -2
  73. package/lib/packages/designer/src/components/OnlyFLowConfigButton.vue2.js +118 -0
  74. package/lib/packages/designer/src/components/TemplateDialog.vue.js +254 -0
  75. package/lib/packages/designer/src/components/TemplateSelector.vue.js +21 -174
  76. package/lib/packages/designer/src/components/TemplateSelector.vue2.js +1 -0
  77. package/lib/packages/designer/src/layout/aside/HiddenFieldDialog.vue.js +9 -15
  78. package/lib/packages/designer/src/layout/header/index.vue.js +192 -8
  79. package/lib/packages/designer/src/packages/dialog/index.vue.js +2 -2
  80. package/lib/packages/designer/src/packages/dialogGlobal/index.vue.js +1004 -0
  81. package/lib/packages/designer/src/packages/dialogGlobal/useDialogGlobalDialog.js +16 -0
  82. package/lib/packages/designer/src/packages/event/index.vue2.js +75 -15
  83. package/lib/packages/designer/src/packages/event/onlyFlow.vue2.js +105 -0
  84. package/lib/packages/designer/src/packages/event/useOnlyFlowDialog.js +1 -1
  85. package/lib/packages/designer/src/packages/eventFlow/dialog/action/Dialog.vue.js +226 -25
  86. package/lib/packages/designer/src/packages/eventFlow/dialog/action/config.js +5 -1
  87. package/lib/packages/designer/src/packages/form/aside/index.js +24 -10
  88. package/lib/packages/designer/src/packages/form/components/ApprovalHistory.vue.js +3 -3
  89. package/lib/packages/designer/src/packages/form/components/ComponentPreviewWrapper.vue.js +160 -77
  90. package/lib/packages/designer/src/packages/form/components/DefaultValueEditor.vue.js +88 -0
  91. package/lib/packages/designer/src/packages/form/components/SubForm.vue.js +3 -3
  92. package/lib/packages/designer/src/packages/form/components/SubTable.vue.js +3 -3
  93. package/lib/packages/designer/src/packages/form/components/SubTitle.vue.js +27 -0
  94. package/lib/packages/designer/src/packages/form/headerBtn.vue.js +33 -57
  95. package/lib/packages/designer/src/packages/form/index.vue.js +21 -9
  96. package/lib/packages/designer/src/packages/form/property/index.vue.js +6 -4
  97. package/lib/packages/designer/src/packages/form/property/subTitleH2.vue.js +94 -0
  98. package/lib/packages/designer/src/packages/form/property/widgets.vue.js +271 -90
  99. package/lib/packages/designer/src/packages/formulaEditor/components/FieldVariable.vue2.js +84 -0
  100. package/lib/packages/designer/src/packages/formulaEditor/components/FormulaList.vue2.js +130 -0
  101. package/lib/packages/designer/src/packages/formulaEditor/index.vue2.js +230 -0
  102. package/lib/packages/designer/src/packages/table/default.js +1 -0
  103. package/lib/packages/designer/src/packages/table/headerBtn.vue.js +48 -17
  104. package/lib/packages/designer/src/packages/table/index.vue.js +1 -3
  105. package/lib/packages/designer/src/packages/table/property/filterWidgets.vue.js +33 -6
  106. package/lib/packages/designer/src/packages/table/queryModule/DynamicModeConfig.vue.js +492 -0
  107. package/lib/packages/designer/src/packages/table/queryModule/FixedModeConfig.vue.js +15 -2
  108. package/lib/packages/designer/src/packages/table/queryModule/index.vue.js +463 -138
  109. package/lib/packages/designer/src/packages/table/tableBtn.vue.js +34 -16
  110. package/lib/packages/designer/src/utils/optionLoader.js +157 -0
  111. package/lib/packages/designer/src/utils/simpleCache.js +80 -0
  112. package/lib/packages/mobile/src/components/form/field/Field.vue.js +26 -1
  113. package/lib/packages/vue/src/api/index.js +3 -0
  114. package/lib/packages/vue/src/components/all.js +2 -2
  115. package/lib/packages/vue/src/components/bus/approvalHistory/ApprovalHistory.vue.js +3 -3
  116. package/lib/packages/vue/src/components/details/header/Header.vue.js +1 -1
  117. package/lib/packages/vue/src/components/dialog/DialogRenderer.vue2.js +2 -2
  118. package/lib/packages/vue/src/components/forms/cascader/Cascader.vue.js +3 -2
  119. package/lib/packages/vue/src/components/forms/form/Form.vue.js +5 -3
  120. package/lib/packages/vue/src/components/forms/formItem/FormItem.vue.js +13 -11
  121. package/lib/packages/vue/src/components/forms/index.js +2 -2
  122. package/lib/packages/vue/src/components/forms/subForm/SubForm.vue.js +2 -2
  123. package/lib/packages/vue/src/components/forms/subTable/SubTable.vue.js +2 -2
  124. package/lib/packages/vue/src/components/forms/subTitle/SubTitle.vue.js +27 -0
  125. package/lib/packages/vue/src/components/forms/subTitle/index.js +7 -0
  126. package/lib/packages/vue/src/components/forms/text/Text.vue.js +49 -6
  127. package/lib/packages/vue/src/components/table/CustomButtons.vue.js +43 -14
  128. package/lib/packages/vue/src/components/table/DynamicQuery.vue.js +425 -0
  129. package/lib/packages/vue/src/components/table/Table.vue.js +54 -29
  130. package/lib/packages/vue/src/components/table/TableFilter.vue.js +7 -25
  131. package/lib/packages/vue/src/utils/common.js +27 -0
  132. package/lib/packages/vue/src/utils/eventFlow/actionHandlers.js +30 -13
  133. package/package.json +1 -1
@@ -3,7 +3,7 @@
3
3
  import { computed, createElementBlock, openBlock, createCommentVNode, createElementVNode, createBlock, withCtx, createVNode } from "vue";
4
4
  import _imports_0 from "../../../assets/approvalHistory.png.mjs";
5
5
  import H2Wrapper from "./H2Wrapper.vue.mjs";
6
- import DividerWrapper from "./DividerWrapper.vue.mjs";
6
+ import SubTitle from "./SubTitle.vue.mjs";
7
7
  /* empty css */
8
8
  import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.mjs";
9
9
  import { ElButton } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/button/index.mjs";
@@ -56,7 +56,7 @@ const _sfc_main = {
56
56
  })
57
57
  ]),
58
58
  _: 1
59
- }, 8, ["componentData"])) : titleMode.value === "subLabel" ? (openBlock(), createBlock(DividerWrapper, {
59
+ }, 8, ["componentData"])) : titleMode.value === "subLabel" ? (openBlock(), createBlock(SubTitle, {
60
60
  key: 1,
61
61
  componentData: __props.componentData
62
62
  }, null, 8, ["componentData"])) : createCommentVNode("", true)
@@ -72,7 +72,7 @@ const _sfc_main = {
72
72
  };
73
73
  }
74
74
  };
75
- const ApprovalHistory = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b3503878"]]);
75
+ const ApprovalHistory = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-941be2aa"]]);
76
76
  export {
77
77
  ApprovalHistory as default
78
78
  };
@@ -1,6 +1,5 @@
1
1
  /* empty css */
2
2
  /* empty css */
3
- /* empty css */
4
3
  /* empty css */
5
4
  /* empty css */
6
5
  /* empty css */
@@ -12,23 +11,26 @@
12
11
  /* empty css */
13
12
  /* empty css */
14
13
  /* empty css */
14
+ /* empty css */
15
+ /* empty css */
16
+ /* empty css */
15
17
  import "../../../../../../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.mjs";
16
18
  /* empty css */
17
- /* empty css */
18
19
  /* empty css */
19
20
  import "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/theme-chalk/el-tooltip.css.mjs";
20
- import { computed, createElementBlock, openBlock, createBlock, createCommentVNode, createSlots, withCtx, normalizeProps, mergeProps, unref, createElementVNode, toDisplayString, createVNode, createTextVNode, Fragment, renderList } from "vue";
21
+ import { computed, createElementBlock, openBlock, createBlock, createCommentVNode, createSlots, withCtx, normalizeProps, mergeProps, createElementVNode, toDisplayString, createVNode, createTextVNode, Fragment, renderList, unref } from "vue";
22
+ import { useOptions } from "../../../utils/optionLoader.mjs";
21
23
  /* empty css */
22
24
  import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.mjs";
23
25
  import { ElFormItem } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/form/index.mjs";
24
26
  import { ElInput } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/input/index.mjs";
25
27
  import { ElButton } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/button/index.mjs";
26
28
  import { ElDatePicker } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/date-picker/index.mjs";
27
- import { ElSelect } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/select/index.mjs";
29
+ import { ElCascader } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/cascader/index.mjs";
30
+ import { ElSelect, ElOption } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/select/index.mjs";
28
31
  import { ElRadioGroup, ElRadio } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/radio/index.mjs";
29
32
  import { ElCheckboxGroup, ElCheckbox } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/checkbox/index.mjs";
30
33
  import { ElSwitch } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/switch/index.mjs";
31
- import { ElDivider } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/divider/index.mjs";
32
34
  import { ElTooltip } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/tooltip/index.mjs";
33
35
  const _hoisted_1 = { class: "component-preview" };
34
36
  const _hoisted_2 = {
@@ -53,26 +55,92 @@ const _sfc_main = {
53
55
  },
54
56
  setup(__props) {
55
57
  const props = __props;
56
- const commProps = computed(() => ({
57
- disabled: props.componentData.disabled,
58
- readonly: props.componentData.readOnly,
59
- placeholder: props.componentData.placeholder || "",
60
- modelValue: props.componentData.defaultValue,
61
- maxlength: props.componentData.maxLength,
62
- showWordLimit: props.componentData.showWordCount || false
63
- }));
58
+ const commProps = computed(() => {
59
+ return {
60
+ disabled: props.componentData.disabled,
61
+ readonly: props.componentData.readOnly,
62
+ placeholder: props.componentData.placeholder || "",
63
+ modelValue: props.componentData.defaultValue,
64
+ maxlength: props.componentData.maxLength,
65
+ showWordLimit: props.componentData.showWordCount || false
66
+ };
67
+ });
68
+ const { options } = useOptions(props.componentData);
69
+ const cascaderPropsDataValue = computed(() => {
70
+ let propsData = props.componentData.propsData || {};
71
+ if (props.componentData.fieldType == "area" || props.componentData.fieldType == "industry") {
72
+ propsData = {
73
+ value: "optCode",
74
+ label: "optName"
75
+ };
76
+ }
77
+ return {
78
+ ...propsData,
79
+ multiple: props.componentData.multiple,
80
+ checkStrictly: props.componentData.checkStrictly
81
+ };
82
+ });
83
+ const cascaderOptions = computed(() => {
84
+ var _a, _b;
85
+ let oriOptions = options.value;
86
+ let idField = (_a = props.componentData.optionConfig) == null ? void 0 : _a.idField;
87
+ let pidField = (_b = props.componentData.optionConfig) == null ? void 0 : _b.pidField;
88
+ if (props.componentData.fieldType == "area" || props.componentData.fieldType == "industry") {
89
+ idField = "dicId";
90
+ pidField = "pdicId";
91
+ }
92
+ const treeData = flatToTree(
93
+ oriOptions,
94
+ idField,
95
+ pidField,
96
+ props.componentData.maxLevel
97
+ );
98
+ return treeData;
99
+ });
100
+ function flatToTree(list, idKey = "id", pidKey = "pid", maxLevel = 10) {
101
+ const data = JSON.parse(JSON.stringify(list));
102
+ const nodeMap = {};
103
+ data.forEach((node) => {
104
+ nodeMap[node[idKey]] = node;
105
+ node.children = node.children || [];
106
+ node.level = 1;
107
+ });
108
+ const tree = [];
109
+ data.forEach((node) => {
110
+ const parentId = node[pidKey];
111
+ const parentNode = nodeMap[parentId];
112
+ if (parentNode && parentNode.level < maxLevel) {
113
+ node.level = parentNode.level + 1;
114
+ parentNode.children.push(node);
115
+ } else {
116
+ tree.push(node);
117
+ }
118
+ });
119
+ return tree;
120
+ }
121
+ const computedFormat = computed(() => {
122
+ const formatMap = {
123
+ date: "YYYY-MM-DD",
124
+ week: "YYYY年第w周",
125
+ month: "YYYY-MM",
126
+ year: "YYYY",
127
+ datetime: "YYYY-MM-DD HH:mm:ss"
128
+ };
129
+ return formatMap[props.componentData.dateType] || "YYYY-MM-DD";
130
+ });
64
131
  return (_ctx, _cache) => {
65
132
  const _component_el_tooltip = ElTooltip;
66
133
  const _component_el_button = ElButton;
67
134
  const _component_el_input = ElInput;
68
135
  const _component_el_date_picker = ElDatePicker;
136
+ const _component_el_cascader = ElCascader;
137
+ const _component_el_option = ElOption;
69
138
  const _component_el_select = ElSelect;
70
139
  const _component_el_radio = ElRadio;
71
140
  const _component_el_radio_group = ElRadioGroup;
72
141
  const _component_el_checkbox = ElCheckbox;
73
142
  const _component_el_checkbox_group = ElCheckboxGroup;
74
143
  const _component_el_switch = ElSwitch;
75
- const _component_el_divider = ElDivider;
76
144
  const _component_el_form_item = ElFormItem;
77
145
  return openBlock(), createElementBlock("div", _hoisted_1, [
78
146
  __props.componentData.fieldType != "blank" ? (openBlock(), createBlock(_component_el_form_item, {
@@ -82,7 +150,7 @@ const _sfc_main = {
82
150
  class: "preview-form-item"
83
151
  }, createSlots({
84
152
  default: withCtx(() => [
85
- __props.componentData.fieldType == "text" ? (openBlock(), createBlock(_component_el_input, normalizeProps(mergeProps({ key: 0 }, unref(commProps))), createSlots({ _: 2 }, [
153
+ __props.componentData.fieldType == "text" ? (openBlock(), createBlock(_component_el_input, normalizeProps(mergeProps({ key: 0 }, commProps.value)), createSlots({ _: 2 }, [
86
154
  __props.componentData.prefix ? {
87
155
  name: "prefix",
88
156
  fn: withCtx(() => [
@@ -97,7 +165,7 @@ const _sfc_main = {
97
165
  ]),
98
166
  key: "1"
99
167
  } : void 0,
100
- __props.componentData.suffixButton && __props.componentData.suffixButton != "none" ? {
168
+ !__props.componentData.readOnly && !__props.componentData.disabled && __props.componentData.suffixButton && __props.componentData.suffixButton != "none" ? {
101
169
  name: "append",
102
170
  fn: withCtx(() => [
103
171
  createVNode(_component_el_button, { class: "suffixButton" }, {
@@ -109,25 +177,28 @@ const _sfc_main = {
109
177
  ]),
110
178
  key: "2"
111
179
  } : void 0
112
- ]), 1040)) : __props.componentData.fieldType == "userSelect" || __props.componentData.fieldType == "roleSelect" || __props.componentData.fieldType == "orgSelect" ? (openBlock(), createBlock(_component_el_input, normalizeProps(mergeProps({ key: 1 }, unref(commProps))), {
113
- append: withCtx(() => [
114
- createVNode(_component_el_button, { class: "suffixButton" }, {
115
- default: withCtx(() => _cache[1] || (_cache[1] = [
116
- createTextVNode("选择")
117
- ])),
118
- _: 1
119
- })
120
- ]),
121
- _: 1
122
- }, 16)) : __props.componentData.fieldType == "textarea" ? (openBlock(), createBlock(_component_el_input, mergeProps({
180
+ ]), 1040)) : __props.componentData.fieldType == "userSelect" || __props.componentData.fieldType == "roleSelect" || __props.componentData.fieldType == "orgSelect" ? (openBlock(), createBlock(_component_el_input, normalizeProps(mergeProps({ key: 1 }, commProps.value)), createSlots({ _: 2 }, [
181
+ !__props.componentData.readOnly && !__props.componentData.disabled ? {
182
+ name: "append",
183
+ fn: withCtx(() => [
184
+ createVNode(_component_el_button, { class: "suffixButton" }, {
185
+ default: withCtx(() => _cache[1] || (_cache[1] = [
186
+ createTextVNode("选择")
187
+ ])),
188
+ _: 1
189
+ })
190
+ ]),
191
+ key: "0"
192
+ } : void 0
193
+ ]), 1040)) : __props.componentData.fieldType == "textarea" ? (openBlock(), createBlock(_component_el_input, mergeProps({
123
194
  key: 2,
124
195
  rows: 4,
125
196
  type: "textarea"
126
- }, unref(commProps), {
197
+ }, commProps.value, {
127
198
  resize: "none",
128
199
  style: { "height": "100%" }
129
200
  }), null, 16)) : createCommentVNode("", true),
130
- __props.componentData.fieldType == "number" ? (openBlock(), createBlock(_component_el_input, mergeProps({ key: 3 }, unref(commProps), { controls: false }), createSlots({ _: 2 }, [
201
+ __props.componentData.fieldType == "number" ? (openBlock(), createBlock(_component_el_input, mergeProps({ key: 3 }, commProps.value, { controls: false }), createSlots({ _: 2 }, [
131
202
  __props.componentData.prefix ? {
132
203
  name: "prefix",
133
204
  fn: withCtx(() => [
@@ -142,49 +213,61 @@ const _sfc_main = {
142
213
  ]),
143
214
  key: "1"
144
215
  } : void 0
145
- ]), 1040)) : __props.componentData.fieldType == "date" ? (openBlock(), createBlock(_component_el_date_picker, mergeProps({ key: 4 }, unref(commProps), {
146
- type: "date",
216
+ ]), 1040)) : __props.componentData.fieldType == "date" ? (openBlock(), createBlock(_component_el_date_picker, mergeProps({ key: 4 }, commProps.value, {
217
+ type: __props.componentData.dateType || "date",
218
+ format: computedFormat.value,
147
219
  style: { "width": "100%" }
148
- }), null, 16)) : __props.componentData.fieldType == "select" || __props.componentData.fieldType == "multipleSelection" || __props.componentData.fieldType == "cascader" || __props.componentData.fieldType == "area" || __props.componentData.fieldType == "industry" ? (openBlock(), createBlock(_component_el_select, normalizeProps(mergeProps({ key: 5 }, unref(commProps))), null, 16)) : __props.componentData.fieldType == "radio" ? (openBlock(), createBlock(_component_el_radio_group, normalizeProps(mergeProps({ key: 6 }, unref(commProps))), {
149
- default: withCtx(() => {
150
- var _a;
151
- return [
152
- (openBlock(true), createElementBlock(Fragment, null, renderList(((_a = __props.componentData.optionConfig) == null ? void 0 : _a.options) || [], (option) => {
153
- return openBlock(), createBlock(_component_el_radio, {
154
- key: option.value,
155
- value: option.value
156
- }, {
157
- default: withCtx(() => [
158
- createTextVNode(toDisplayString(option.label), 1)
159
- ]),
160
- _: 2
161
- }, 1032, ["value"]);
162
- }), 128))
163
- ];
164
- }),
220
+ }), null, 16, ["type", "format"])) : __props.componentData.fieldType == "cascader" || __props.componentData.fieldType == "area" || __props.componentData.fieldType == "industry" ? (openBlock(), createBlock(_component_el_cascader, mergeProps({ key: 5 }, commProps.value, {
221
+ options: cascaderOptions.value,
222
+ props: cascaderPropsDataValue.value,
223
+ "show-all-levels": __props.componentData.showFullPath,
224
+ style: { "width": "100%" }
225
+ }), null, 16, ["options", "props", "show-all-levels"])) : __props.componentData.fieldType == "select" || __props.componentData.fieldType == "multipleSelection" ? (openBlock(), createBlock(_component_el_select, mergeProps({ key: 6 }, commProps.value, {
226
+ multiple: __props.componentData.fieldType == "multipleSelection"
227
+ }), {
228
+ default: withCtx(() => [
229
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(options), (option) => {
230
+ return openBlock(), createBlock(_component_el_option, {
231
+ key: option.value,
232
+ label: option.label,
233
+ value: option.value
234
+ }, null, 8, ["label", "value"]);
235
+ }), 128))
236
+ ]),
165
237
  _: 1
166
- }, 16)) : __props.componentData.fieldType == "checkbox" ? (openBlock(), createBlock(_component_el_checkbox_group, normalizeProps(mergeProps({ key: 7 }, unref(commProps))), {
167
- default: withCtx(() => {
168
- var _a;
169
- return [
170
- (openBlock(true), createElementBlock(Fragment, null, renderList(((_a = __props.componentData.optionConfig) == null ? void 0 : _a.options) || [], (option) => {
171
- return openBlock(), createBlock(_component_el_checkbox, {
172
- key: option.value,
173
- value: option.value
174
- }, {
175
- default: withCtx(() => [
176
- createTextVNode(toDisplayString(option.label), 1)
177
- ]),
178
- _: 2
179
- }, 1032, ["value"]);
180
- }), 128))
181
- ];
182
- }),
238
+ }, 16, ["multiple"])) : __props.componentData.fieldType == "radio" ? (openBlock(), createBlock(_component_el_radio_group, normalizeProps(mergeProps({ key: 7 }, commProps.value)), {
239
+ default: withCtx(() => [
240
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(options), (option) => {
241
+ return openBlock(), createBlock(_component_el_radio, {
242
+ key: option.value,
243
+ value: option.value
244
+ }, {
245
+ default: withCtx(() => [
246
+ createTextVNode(toDisplayString(option.label), 1)
247
+ ]),
248
+ _: 2
249
+ }, 1032, ["value"]);
250
+ }), 128))
251
+ ]),
252
+ _: 1
253
+ }, 16)) : __props.componentData.fieldType == "checkbox" ? (openBlock(), createBlock(_component_el_checkbox_group, normalizeProps(mergeProps({ key: 8 }, commProps.value)), {
254
+ default: withCtx(() => [
255
+ (openBlock(true), createElementBlock(Fragment, null, renderList(unref(options), (option) => {
256
+ return openBlock(), createBlock(_component_el_checkbox, {
257
+ key: option.value,
258
+ value: option.value
259
+ }, {
260
+ default: withCtx(() => [
261
+ createTextVNode(toDisplayString(option.label), 1)
262
+ ]),
263
+ _: 2
264
+ }, 1032, ["value"]);
265
+ }), 128))
266
+ ]),
183
267
  _: 1
184
268
  }, 16)) : createCommentVNode("", true),
185
- __props.componentData.fieldType == "switch" ? (openBlock(), createBlock(_component_el_switch, normalizeProps(mergeProps({ key: 8 }, unref(commProps))), null, 16)) : createCommentVNode("", true),
186
- __props.componentData.fieldType == "upload" ? (openBlock(), createBlock(_component_el_input, normalizeProps(mergeProps({ key: 9 }, unref(commProps))), null, 16)) : createCommentVNode("", true),
187
- __props.componentData.fieldType == "divider" ? (openBlock(), createBlock(_component_el_divider, { key: 10 })) : createCommentVNode("", true)
269
+ __props.componentData.fieldType == "switch" ? (openBlock(), createBlock(_component_el_switch, normalizeProps(mergeProps({ key: 9 }, commProps.value)), null, 16)) : createCommentVNode("", true),
270
+ __props.componentData.fieldType == "upload" ? (openBlock(), createBlock(_component_el_input, normalizeProps(mergeProps({ key: 10 }, commProps.value)), null, 16)) : createCommentVNode("", true)
188
271
  ]),
189
272
  _: 2
190
273
  }, [
@@ -215,7 +298,7 @@ const _sfc_main = {
215
298
  };
216
299
  }
217
300
  };
218
- const ComponentPreviewWrapper = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b52c7b91"]]);
301
+ const ComponentPreviewWrapper = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b12e41a1"]]);
219
302
  export {
220
303
  ComponentPreviewWrapper as default
221
304
  };
@@ -0,0 +1,88 @@
1
+ /* empty css */
2
+ /* empty css */
3
+ import { getCurrentInstance, ref, watch, computed, createElementBlock, openBlock, createBlock, resolveDynamicComponent, mergeProps } from "vue";
4
+ import { cloneDeep } from "../../utils/common.mjs";
5
+ import { useOptions } from "../../../utils/optionLoader.mjs";
6
+ /* empty css */
7
+ import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.mjs";
8
+ import { ElInput } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/input/index.mjs";
9
+ const _hoisted_1 = { class: "default-value-editor" };
10
+ const _sfc_main = {
11
+ __name: "DefaultValueEditor",
12
+ props: {
13
+ config: {
14
+ type: Object,
15
+ required: true
16
+ },
17
+ modelValue: {
18
+ type: [String, Number, Boolean, Array, Object],
19
+ default: ""
20
+ }
21
+ },
22
+ emits: ["update:modelValue", "change"],
23
+ setup(__props, { emit: __emit }) {
24
+ const props = __props;
25
+ const emit = __emit;
26
+ const instance = getCurrentInstance();
27
+ const localValue = ref(props.modelValue);
28
+ watch(
29
+ () => props.modelValue,
30
+ (newValue) => {
31
+ localValue.value = newValue;
32
+ }
33
+ );
34
+ watch(
35
+ () => localValue.value,
36
+ (newValue) => {
37
+ emit("update:modelValue", newValue);
38
+ emit("change", newValue);
39
+ }
40
+ );
41
+ const componentType = computed(() => {
42
+ var _a, _b;
43
+ if (!props.config.fieldType) return null;
44
+ const key = props.config.fieldType.charAt(0).toUpperCase() + props.config.fieldType.slice(1);
45
+ const component = (_b = (_a = instance == null ? void 0 : instance.appContext) == null ? void 0 : _a.components) == null ? void 0 : _b[`Fec${key}`];
46
+ if (!component) {
47
+ console.warn(`未找到对应的组件: Fec${key},将使用 el-input 代替`);
48
+ return null;
49
+ }
50
+ return component;
51
+ });
52
+ const { options: optionData } = useOptions(props.config);
53
+ const componentProps = computed(() => {
54
+ const fieldProps = cloneDeep(props.config);
55
+ fieldProps.disabled = false;
56
+ fieldProps.readonly = false;
57
+ fieldProps.suffixButton = "none";
58
+ if (fieldProps.optionConfig) {
59
+ fieldProps.optionConfig.options = optionData.value;
60
+ }
61
+ delete fieldProps.id;
62
+ return fieldProps;
63
+ });
64
+ return (_ctx, _cache) => {
65
+ const _component_el_input = ElInput;
66
+ return openBlock(), createElementBlock("div", _hoisted_1, [
67
+ __props.config.fieldType && __props.config.fieldType !== "userSelect" && __props.config.fieldType !== "roleSelect" && __props.config.fieldType !== "orgSelect" ? (openBlock(), createBlock(resolveDynamicComponent(componentType.value), mergeProps({
68
+ key: 0,
69
+ modelValue: localValue.value,
70
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => localValue.value = $event)
71
+ }, componentProps.value, {
72
+ config: __props.config,
73
+ formMode: "edit",
74
+ placeholder: "默认值"
75
+ }), null, 16, ["modelValue", "config"])) : (openBlock(), createBlock(_component_el_input, {
76
+ key: 1,
77
+ modelValue: localValue.value,
78
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => localValue.value = $event),
79
+ placeholder: "请默认值"
80
+ }, null, 8, ["modelValue"]))
81
+ ]);
82
+ };
83
+ }
84
+ };
85
+ const DefaultValueEditor = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-d2b570cf"]]);
86
+ export {
87
+ DefaultValueEditor as default
88
+ };
@@ -2,7 +2,7 @@
2
2
  import { computed, createElementBlock, openBlock, createCommentVNode, createElementVNode, createBlock, normalizeClass, createVNode, withCtx, unref, toDisplayString } from "vue";
3
3
  import { DocumentAdd as document_add_default, Document as document_default } from "../../../../../../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";
4
4
  import H2Wrapper from "./H2Wrapper.vue.mjs";
5
- import DividerWrapper from "./DividerWrapper.vue.mjs";
5
+ import SubTitle from "./SubTitle.vue.mjs";
6
6
  /* empty css */
7
7
  /* empty css */
8
8
  import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.mjs";
@@ -54,7 +54,7 @@ const _sfc_main = {
54
54
  titleMode.value === "label" ? (openBlock(), createBlock(H2Wrapper, {
55
55
  key: 0,
56
56
  componentData: __props.componentData
57
- }, null, 8, ["componentData"])) : titleMode.value === "subLabel" ? (openBlock(), createBlock(DividerWrapper, {
57
+ }, null, 8, ["componentData"])) : titleMode.value === "subLabel" ? (openBlock(), createBlock(SubTitle, {
58
58
  key: 1,
59
59
  componentData: __props.componentData
60
60
  }, null, 8, ["componentData"])) : createCommentVNode("", true)
@@ -95,7 +95,7 @@ const _sfc_main = {
95
95
  };
96
96
  }
97
97
  };
98
- const SubForm = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b2ef63e1"]]);
98
+ const SubForm = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5c0333c7"]]);
99
99
  export {
100
100
  SubForm as default
101
101
  };
@@ -2,7 +2,7 @@
2
2
  import { computed, createElementBlock, openBlock, createCommentVNode, createElementVNode, createBlock, normalizeClass, createVNode, withCtx, unref, toDisplayString } from "vue";
3
3
  import { Grid as grid_default } from "../../../../../../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";
4
4
  import H2Wrapper from "./H2Wrapper.vue.mjs";
5
- import DividerWrapper from "./DividerWrapper.vue.mjs";
5
+ import SubTitle from "./SubTitle.vue.mjs";
6
6
  /* empty css */
7
7
  import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.mjs";
8
8
  import { ElIcon } from "../../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/icon/index.mjs";
@@ -53,7 +53,7 @@ const _sfc_main = {
53
53
  titleMode.value === "label" ? (openBlock(), createBlock(H2Wrapper, {
54
54
  key: 0,
55
55
  componentData: __props.componentData
56
- }, null, 8, ["componentData"])) : titleMode.value === "subLabel" ? (openBlock(), createBlock(DividerWrapper, {
56
+ }, null, 8, ["componentData"])) : titleMode.value === "subLabel" ? (openBlock(), createBlock(SubTitle, {
57
57
  key: 1,
58
58
  componentData: __props.componentData
59
59
  }, null, 8, ["componentData"])) : createCommentVNode("", true)
@@ -94,7 +94,7 @@ const _sfc_main = {
94
94
  };
95
95
  }
96
96
  };
97
- const SubTable = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-afad904f"]]);
97
+ const SubTable = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-8c97b459"]]);
98
98
  export {
99
99
  SubTable as default
100
100
  };
@@ -0,0 +1,27 @@
1
+ import { createElementBlock, openBlock, createElementVNode, toDisplayString } from "vue";
2
+ /* empty css */
3
+ import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.mjs";
4
+ const _hoisted_1 = { class: "fec-subTitle" };
5
+ const _hoisted_2 = { class: "fec-label-title" };
6
+ const _sfc_main = {
7
+ __name: "SubTitle",
8
+ props: {
9
+ componentData: {
10
+ type: Object,
11
+ required: true
12
+ }
13
+ },
14
+ setup(__props) {
15
+ return (_ctx, _cache) => {
16
+ return openBlock(), createElementBlock("div", _hoisted_1, [
17
+ _cache[0] || (_cache[0] = createElementVNode("div", { class: "fec-label-line" }, null, -1)),
18
+ createElementVNode("div", _hoisted_2, toDisplayString(__props.componentData.label), 1),
19
+ _cache[1] || (_cache[1] = createElementVNode("div", { class: "fec-label-line-query" }, null, -1))
20
+ ]);
21
+ };
22
+ }
23
+ };
24
+ const SubTitle = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-cfe3fbff"]]);
25
+ export {
26
+ SubTitle as default
27
+ };