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