@fecp/vue 1.1.3 → 1.1.4

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 (119) hide show
  1. package/es/_virtual/bessel.mjs +7 -0
  2. package/es/_virtual/bessel2.mjs +4 -0
  3. package/es/_virtual/index.mjs +1 -1
  4. package/es/_virtual/index2.mjs +1 -1
  5. package/es/_virtual/jstat.mjs +7 -0
  6. package/es/_virtual/jstat2.mjs +4 -0
  7. package/es/node_modules/.pnpm/@formulajs_formulajs@4.5.6/node_modules/@formulajs/formulajs/lib/esm/index.mjs +7150 -0
  8. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/index.esm.mjs +1 -1
  9. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/clipboard.mjs +1 -1
  10. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/commands.mjs +1 -1
  11. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/config.mjs +1 -1
  12. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/event.mjs +1 -1
  13. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/formats.mjs +1 -1
  14. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/i18n.mjs +1 -1
  15. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/icon.mjs +1 -1
  16. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/interceptor.mjs +1 -1
  17. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/menus.mjs +1 -1
  18. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/permission.mjs +1 -1
  19. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/renderer.mjs +1 -1
  20. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/resize.mjs +1 -1
  21. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/store.mjs +1 -1
  22. package/es/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/vm.mjs +1 -1
  23. package/es/node_modules/.pnpm/bessel@1.0.2/node_modules/bessel/bessel.mjs +226 -0
  24. package/es/node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/container/index.mjs +7 -7
  25. package/es/node_modules/.pnpm/jstat@1.9.6/node_modules/jstat/dist/jstat.mjs +3853 -0
  26. package/es/packages/mobile/src/components/form/field/Field.vue.mjs +1 -1
  27. package/es/packages/mobile/src/utils/formatterUtil.mjs +1 -1
  28. package/es/packages/mobile/src/utils/optionUtil.mjs +1 -1
  29. package/es/packages/vue/index.mjs +4 -0
  30. package/es/packages/vue/src/components/all.mjs +4 -0
  31. package/es/packages/vue/src/components/details/header/Header.vue.mjs +1 -1
  32. package/es/packages/vue/src/components/forms/checkbox/Checkbox.vue.mjs +8 -2
  33. package/es/packages/vue/src/components/forms/date/Date.vue.mjs +6 -6
  34. package/es/packages/vue/src/components/forms/divider/Divider.vue.mjs +15 -20
  35. package/es/packages/vue/src/components/forms/divider/index.mjs +2 -2
  36. package/es/packages/vue/src/components/forms/form/Form.vue.mjs +281 -96
  37. package/es/packages/vue/src/components/forms/form/index.mjs +2 -2
  38. package/es/packages/vue/src/components/forms/formItem/FormItem.vue.mjs +76 -48
  39. package/es/packages/vue/src/components/forms/h2/H2.vue.mjs +16 -7
  40. package/es/packages/vue/src/components/forms/multipleSelection/MultipleSelection.vue.mjs +1 -1
  41. package/es/packages/vue/src/components/forms/number/Number.vue.mjs +18 -12
  42. package/es/packages/vue/src/components/forms/radio/Radio.vue.mjs +5 -3
  43. package/es/packages/vue/src/components/forms/select/Select.vue.mjs +6 -4
  44. package/es/packages/vue/src/components/forms/subForm/SubForm.vue.mjs +90 -0
  45. package/es/packages/vue/src/components/forms/subForm/index.mjs +7 -0
  46. package/es/packages/vue/src/components/forms/subTable/SubTable.vue.mjs +109 -0
  47. package/es/packages/vue/src/components/forms/subTable/index.mjs +7 -0
  48. package/es/packages/vue/src/components/forms/switch/Switch.vue.mjs +1 -1
  49. package/es/packages/vue/src/components/forms/text/Text.vue.mjs +6 -3
  50. package/es/packages/vue/src/components/forms/textarea/Textarea.vue.mjs +7 -4
  51. package/es/packages/vue/src/components/table/CustomButtons.vue.mjs +17 -17
  52. package/es/packages/vue/src/components/table/Table.vue.mjs +143 -77
  53. package/es/packages/vue/src/components/table/TableColumn.vue.mjs +37 -5
  54. package/es/packages/vue/src/components/table/TableFilter.vue.mjs +60 -21
  55. package/es/packages/vue/src/components/table/index.mjs +2 -2
  56. package/es/packages/vue/src/composables/usePageEvents.mjs +4 -5
  57. package/es/packages/vue/src/utils/common.mjs +5 -0
  58. package/es/packages/vue/src/utils/datasource.mjs +9 -1
  59. package/es/packages/vue/src/utils/formulajs/calculate.mjs +57 -0
  60. package/es/packages/vue/src/utils/formulajs/functionCore.mjs +17 -0
  61. package/es/vue.css +170 -61
  62. package/lib/_virtual/bessel.js +7 -0
  63. package/lib/_virtual/bessel2.js +4 -0
  64. package/lib/_virtual/index.js +1 -1
  65. package/lib/_virtual/index2.js +1 -1
  66. package/lib/_virtual/jstat.js +7 -0
  67. package/lib/_virtual/jstat2.js +4 -0
  68. package/lib/node_modules/.pnpm/@formulajs_formulajs@4.5.6/node_modules/@formulajs/formulajs/lib/esm/index.js +7150 -0
  69. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/index.esm.js +1 -1
  70. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/clipboard.js +1 -1
  71. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/commands.js +1 -1
  72. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/config.js +1 -1
  73. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/event.js +1 -1
  74. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/formats.js +1 -1
  75. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/i18n.js +1 -1
  76. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/icon.js +1 -1
  77. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/interceptor.js +1 -1
  78. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/menus.js +1 -1
  79. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/permission.js +1 -1
  80. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/renderer.js +1 -1
  81. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/resize.js +1 -1
  82. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/store.js +1 -1
  83. package/lib/node_modules/.pnpm/@vxe-ui_core@4.3.1_vue@3.5.13_typescript@5.7.3_/node_modules/@vxe-ui/core/es/src/vm.js +1 -1
  84. package/lib/node_modules/.pnpm/bessel@1.0.2/node_modules/bessel/bessel.js +226 -0
  85. package/lib/node_modules/.pnpm/jstat@1.9.6/node_modules/jstat/dist/jstat.js +3853 -0
  86. package/lib/packages/mobile/src/components/form/field/Field.vue.js +1 -1
  87. package/lib/packages/mobile/src/utils/formatterUtil.js +1 -1
  88. package/lib/packages/mobile/src/utils/optionUtil.js +1 -1
  89. package/lib/packages/vue/index.js +13 -9
  90. package/lib/packages/vue/src/components/all.js +10 -6
  91. package/lib/packages/vue/src/components/details/header/Header.vue.js +1 -1
  92. package/lib/packages/vue/src/components/forms/checkbox/Checkbox.vue.js +8 -2
  93. package/lib/packages/vue/src/components/forms/date/Date.vue.js +6 -6
  94. package/lib/packages/vue/src/components/forms/divider/Divider.vue.js +14 -19
  95. package/lib/packages/vue/src/components/forms/form/Form.vue.js +280 -95
  96. package/lib/packages/vue/src/components/forms/formItem/FormItem.vue.js +63 -35
  97. package/lib/packages/vue/src/components/forms/h2/H2.vue.js +15 -6
  98. package/lib/packages/vue/src/components/forms/multipleSelection/MultipleSelection.vue.js +1 -1
  99. package/lib/packages/vue/src/components/forms/number/Number.vue.js +18 -12
  100. package/lib/packages/vue/src/components/forms/radio/Radio.vue.js +5 -3
  101. package/lib/packages/vue/src/components/forms/select/Select.vue.js +6 -4
  102. package/lib/packages/vue/src/components/forms/subForm/SubForm.vue.js +90 -0
  103. package/lib/packages/vue/src/components/forms/subForm/index.js +7 -0
  104. package/lib/packages/vue/src/components/forms/subTable/SubTable.vue.js +109 -0
  105. package/lib/packages/vue/src/components/forms/subTable/index.js +7 -0
  106. package/lib/packages/vue/src/components/forms/switch/Switch.vue.js +1 -1
  107. package/lib/packages/vue/src/components/forms/text/Text.vue.js +6 -3
  108. package/lib/packages/vue/src/components/forms/textarea/Textarea.vue.js +7 -4
  109. package/lib/packages/vue/src/components/table/CustomButtons.vue.js +16 -16
  110. package/lib/packages/vue/src/components/table/Table.vue.js +145 -79
  111. package/lib/packages/vue/src/components/table/TableColumn.vue.js +37 -5
  112. package/lib/packages/vue/src/components/table/TableFilter.vue.js +82 -43
  113. package/lib/packages/vue/src/composables/usePageEvents.js +4 -5
  114. package/lib/packages/vue/src/utils/common.js +5 -0
  115. package/lib/packages/vue/src/utils/datasource.js +9 -1
  116. package/lib/packages/vue/src/utils/formulajs/calculate.js +57 -0
  117. package/lib/packages/vue/src/utils/formulajs/functionCore.js +17 -0
  118. package/lib/vue.css +170 -61
  119. package/package.json +1 -1
@@ -2,26 +2,34 @@
2
2
  /* empty css */
3
3
  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";
4
4
  /* empty css */
5
- import { computed, createBlock, openBlock, createSlots, withCtx, createCommentVNode, resolveDynamicComponent, mergeProps, createElementVNode, toDisplayString, createVNode, unref } from "vue";
6
- import { QuestionFilled as question_filled_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";
5
+ import { computed, createBlock, openBlock, unref, createSlots, withCtx, createCommentVNode, resolveDynamicComponent, mergeProps, createElementBlock, createElementVNode, toDisplayString } from "vue";
7
6
  import { debounce } from "../form/debounce.mjs";
7
+ import { Divider } from "../divider/index.mjs";
8
+ import { H2 } from "../h2/index.mjs";
9
+ import { SubForm } from "../subForm/index.mjs";
10
+ import { SubTable } from "../subTable/index.mjs";
8
11
  import TextComponent from "../text/Text.vue.mjs";
9
- import _sfc_main$9 from "../textarea/Textarea.vue.mjs";
10
- import _sfc_main$8 from "../number/Number.vue.mjs";
11
- import _sfc_main$7 from "../date/Date.vue.mjs";
12
- import _sfc_main$6 from "../select/Select.vue.mjs";
13
- import _sfc_main$5 from "../multipleSelection/MultipleSelection.vue.mjs";
14
- import _sfc_main$4 from "../radio/Radio.vue.mjs";
15
- import _sfc_main$3 from "../checkbox/Checkbox.vue.mjs";
16
- import _sfc_main$2 from "../switch/Switch.vue.mjs";
12
+ import _sfc_main$8 from "../textarea/Textarea.vue.mjs";
13
+ import _sfc_main$7 from "../number/Number.vue.mjs";
14
+ import _sfc_main$6 from "../date/Date.vue.mjs";
15
+ import _sfc_main$5 from "../select/Select.vue.mjs";
16
+ import _sfc_main$4 from "../multipleSelection/MultipleSelection.vue.mjs";
17
+ import _sfc_main$3 from "../radio/Radio.vue.mjs";
18
+ import _sfc_main$2 from "../checkbox/Checkbox.vue.mjs";
19
+ import _sfc_main$1 from "../switch/Switch.vue.mjs";
17
20
  import _Upload from "../upload/Upload.vue.mjs";
18
- import _sfc_main$1 from "../divider/Divider.vue.mjs";
19
- import _H2 from "../h2/H2.vue.mjs";
20
21
  /* empty css */
21
22
  import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.mjs";
22
23
  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";
23
24
  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";
24
- 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";
25
+ const _hoisted_1 = {
26
+ key: 0,
27
+ class: "iconfont icon-iconZheng credit-icon"
28
+ };
29
+ const _hoisted_2 = {
30
+ key: 1,
31
+ class: "iconfont icon-iconJian regulation-icon"
32
+ };
25
33
  const _sfc_main = /* @__PURE__ */ Object.assign({
26
34
  inheritAttrs: false
27
35
  }, {
@@ -48,23 +56,24 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
48
56
  default: null
49
57
  }
50
58
  },
51
- emits: ["update:modelValue"],
59
+ emits: ["update:modelValue", "change"],
52
60
  setup(__props, { emit: __emit }) {
53
61
  const props = __props;
54
62
  const emit = __emit;
63
+ function handleChange(config, val) {
64
+ emit("change", config, val);
65
+ }
55
66
  const componentMap = {
56
67
  text: TextComponent,
57
- textarea: _sfc_main$9,
58
- number: _sfc_main$8,
59
- date: _sfc_main$7,
60
- select: _sfc_main$6,
61
- multipleSelection: _sfc_main$5,
62
- radio: _sfc_main$4,
63
- checkbox: _sfc_main$3,
64
- switch: _sfc_main$2,
65
- upload: _Upload,
66
- divider: _sfc_main$1,
67
- h2: _H2
68
+ textarea: _sfc_main$8,
69
+ number: _sfc_main$7,
70
+ date: _sfc_main$6,
71
+ select: _sfc_main$5,
72
+ multipleSelection: _sfc_main$4,
73
+ radio: _sfc_main$3,
74
+ checkbox: _sfc_main$2,
75
+ switch: _sfc_main$1,
76
+ upload: _Upload
68
77
  };
69
78
  const componentType = computed(() => {
70
79
  return componentMap[props.config.fieldType];
@@ -103,10 +112,24 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
103
112
  }
104
113
  });
105
114
  return (_ctx, _cache) => {
106
- const _component_el_icon = ElIcon;
107
115
  const _component_el_tooltip = ElTooltip;
108
116
  const _component_el_form_item = ElFormItem;
109
- return openBlock(), createBlock(_component_el_form_item, {
117
+ return __props.config.fieldType == "h2" ? (openBlock(), createBlock(unref(H2), {
118
+ key: 0,
119
+ config: __props.config
120
+ }, null, 8, ["config"])) : __props.config.fieldType == "divider" ? (openBlock(), createBlock(unref(Divider), {
121
+ key: 1,
122
+ config: __props.config
123
+ }, null, 8, ["config"])) : __props.config.fieldType == "subForm" ? (openBlock(), createBlock(unref(SubForm), {
124
+ key: 2,
125
+ config: __props.config,
126
+ localConfig: __props.localConfig
127
+ }, null, 8, ["config", "localConfig"])) : __props.config.fieldType == "subTable" ? (openBlock(), createBlock(unref(SubTable), {
128
+ key: 3,
129
+ config: __props.config,
130
+ localConfig: __props.localConfig
131
+ }, null, 8, ["config", "localConfig"])) : (openBlock(), createBlock(_component_el_form_item, {
132
+ key: 4,
110
133
  prop: __props.config.fieldName,
111
134
  required: __props.config.required,
112
135
  error: __props.error,
@@ -117,37 +140,42 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
117
140
  key: 0,
118
141
  modelValue: compValue.value,
119
142
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => compValue.value = $event)
120
- }, componentProps.value, { config: __props.config }), null, 16, ["modelValue", "config"])) : createCommentVNode("", true)
143
+ }, componentProps.value, {
144
+ config: __props.config,
145
+ onChange: _cache[1] || (_cache[1] = (value) => {
146
+ handleChange(__props.config, value);
147
+ })
148
+ }), null, 16, ["modelValue", "config"])) : createCommentVNode("", true)
121
149
  ]),
122
150
  _: 2
123
151
  }, [
124
152
  __props.config.labelMode != "input" ? {
125
153
  name: "label",
126
- fn: withCtx(() => [
127
- createElementVNode("span", null, toDisplayString(__props.config.label), 1),
128
- __props.config.tooltip ? (openBlock(), createBlock(_component_el_tooltip, {
129
- key: 0,
130
- content: __props.config.tooltip,
131
- placement: "top"
132
- }, {
133
- default: withCtx(() => [
134
- createVNode(_component_el_icon, { class: "info-icon" }, {
135
- default: withCtx(() => [
136
- createVNode(unref(question_filled_default))
137
- ]),
138
- _: 1
139
- })
140
- ]),
141
- _: 1
142
- }, 8, ["content"])) : createCommentVNode("", true)
143
- ]),
154
+ fn: withCtx(() => {
155
+ var _a;
156
+ return [
157
+ __props.config.credit ? (openBlock(), createElementBlock("i", _hoisted_1)) : createCommentVNode("", true),
158
+ __props.config.regulation ? (openBlock(), createElementBlock("i", _hoisted_2)) : createCommentVNode("", true),
159
+ createElementVNode("span", null, toDisplayString(__props.config.label), 1),
160
+ ((_a = __props.config.tooltip) == null ? void 0 : _a.trim()) ? (openBlock(), createBlock(_component_el_tooltip, {
161
+ key: 2,
162
+ content: __props.config.tooltip,
163
+ placement: "top"
164
+ }, {
165
+ default: withCtx(() => _cache[2] || (_cache[2] = [
166
+ createElementVNode("i", { class: "iconfont icon-tooltip info-icon" }, null, -1)
167
+ ])),
168
+ _: 1
169
+ }, 8, ["content"])) : createCommentVNode("", true)
170
+ ];
171
+ }),
144
172
  key: "0"
145
173
  } : void 0
146
- ]), 1032, ["prop", "required", "error", "label-width"]);
174
+ ]), 1032, ["prop", "required", "error", "label-width"]));
147
175
  };
148
176
  }
149
177
  });
150
- const _FormItem = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-056f6e4b"]]);
178
+ const _FormItem = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-3adaccae"]]);
151
179
  export {
152
180
  _FormItem as default
153
181
  };
@@ -1,22 +1,31 @@
1
- import { createElementBlock, openBlock, toDisplayString } from "vue";
1
+ import { createElementBlock, openBlock, createElementVNode, toDisplayString } from "vue";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.mjs";
4
- const _hoisted_1 = { class: "form-section-title" };
4
+ const _hoisted_1 = { class: "fec-h2" };
5
+ const _hoisted_2 = { class: "fec-label" };
6
+ const _hoisted_3 = { class: "fec-label-title" };
7
+ const _hoisted_4 = { class: "fec-label-sub-title" };
5
8
  const _sfc_main = {
6
9
  __name: "H2",
7
10
  props: {
8
- text: {
9
- type: String,
10
- default: ""
11
+ config: {
12
+ type: Object,
13
+ required: true
11
14
  }
12
15
  },
13
16
  setup(__props) {
14
17
  return (_ctx, _cache) => {
15
- return openBlock(), createElementBlock("h2", _hoisted_1, toDisplayString(__props.text), 1);
18
+ return openBlock(), createElementBlock("div", _hoisted_1, [
19
+ _cache[0] || (_cache[0] = createElementVNode("div", { class: "fec-label-line" }, null, -1)),
20
+ createElementVNode("div", _hoisted_2, [
21
+ createElementVNode("div", _hoisted_3, toDisplayString(__props.config.label), 1),
22
+ createElementVNode("div", _hoisted_4, toDisplayString(__props.config.subLabel), 1)
23
+ ])
24
+ ]);
16
25
  };
17
26
  }
18
27
  };
19
- const _H2 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-85528f8f"]]);
28
+ const _H2 = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-dd9219b7"]]);
20
29
  export {
21
30
  _H2 as default
22
31
  };
@@ -42,7 +42,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
42
42
  default: () => ({})
43
43
  }
44
44
  },
45
- emits: ["update:modelValue", "change", "blur"],
45
+ emits: ["update:modelValue", "change"],
46
46
  setup(__props, { emit: __emit }) {
47
47
  const props = __props;
48
48
  const emit = __emit;
@@ -13,7 +13,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
13
13
  required: true
14
14
  },
15
15
  modelValue: {
16
- type: Number,
16
+ type: [Number, String],
17
17
  default: null
18
18
  },
19
19
  placeholder: {
@@ -52,10 +52,13 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
52
52
  type: Number
53
53
  }
54
54
  },
55
- emits: ["update:modelValue"],
55
+ emits: ["update:modelValue", "change"],
56
56
  setup(__props, { emit: __emit }) {
57
57
  const props = __props;
58
58
  const emit = __emit;
59
+ function handleChange(val) {
60
+ emit("change", val);
61
+ }
59
62
  const precision = computed(() => {
60
63
  return props.hasDecimalPlaces ? props.decimalPlaces : 0;
61
64
  });
@@ -72,7 +75,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
72
75
  };
73
76
  const compValue = computed({
74
77
  get: () => {
75
- if (!props.modelValue && props.modelValue !== 0) {
78
+ if (!props.modelValue && props.modelValue != 0) {
76
79
  emit("update:modelValue", 0);
77
80
  }
78
81
  return props.modelValue;
@@ -129,8 +132,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
129
132
  break;
130
133
  }
131
134
  if (props.format !== "percentage") {
132
- const effectiveMax = props.maxValue !== null ? props.maxValue : 999999999999999;
133
- const effectiveMin = props.minValue !== null ? props.minValue : -999999999999999;
135
+ const effectiveMax = props.maxValue != null ? props.maxValue : 999999999999999;
136
+ const effectiveMin = props.minValue != null ? props.minValue : -999999999999999;
134
137
  numValue = Math.max(effectiveMin, Math.min(effectiveMax, numValue));
135
138
  }
136
139
  compValue.value = numValue;
@@ -171,7 +174,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
171
174
  return formattedInteger;
172
175
  }
173
176
  }
174
- const formatMoney = (number, decimals = 2, decPoint = ".", thousandsSep = ",", zeroFill = false) => {
177
+ function formatMoney(number, decimals = 2, decPoint = ".", thousandsSep = ",", zeroFill = false) {
175
178
  if (!number) {
176
179
  return "0.00";
177
180
  }
@@ -204,8 +207,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
204
207
  }
205
208
  }
206
209
  return s.join(dec);
207
- };
208
- const moneyCheck = function(num) {
210
+ }
211
+ function moneyCheck(num) {
209
212
  var str = num;
210
213
  var len1 = str.substr(0, 1);
211
214
  var len2 = str.substr(1, 1);
@@ -228,13 +231,13 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
228
231
  str = str.replace(/[^\d^\.]+/g, "");
229
232
  }
230
233
  return str;
231
- };
232
- const delcommafy = function(num) {
234
+ }
235
+ function delcommafy(num) {
233
236
  if (!num) return num;
234
237
  num = num.toString();
235
238
  num = num.replace(/,/gi, "");
236
239
  return num;
237
- };
240
+ }
238
241
  function numMulti(num1, num2) {
239
242
  if (!num1) {
240
243
  num1 = 0;
@@ -269,7 +272,10 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
269
272
  formatter,
270
273
  parser,
271
274
  onBlur: handleBlur
272
- }, toHandlers(__props.config.eventHandlers), { style: { "width": "100%" } }), null, 16, ["modelValue", "placeholder", "disabled", "readonly"]),
275
+ }, toHandlers(__props.config.eventHandlers), {
276
+ onChange: handleChange,
277
+ style: { "width": "100%" }
278
+ }), null, 16, ["modelValue", "placeholder", "disabled", "readonly"]),
273
279
  createVNode(_component_el_input, {
274
280
  modelValue: compValue.value,
275
281
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => compValue.value = $event),
@@ -33,7 +33,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
33
33
  default: () => ({})
34
34
  }
35
35
  },
36
- emits: ["update:modelValue", "change", "blur"],
36
+ emits: ["update:modelValue", "change"],
37
37
  setup(__props, { emit: __emit }) {
38
38
  const props = __props;
39
39
  const emit = __emit;
@@ -56,7 +56,9 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
56
56
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inputValue.value = $event)
57
57
  }, toHandlers(__props.config.eventHandlers), {
58
58
  disabled: __props.disabled,
59
- readonly: __props.readonly
59
+ style: {
60
+ pointerEvents: __props.readonly ? "none" : "auto"
61
+ }
60
62
  }), {
61
63
  default: withCtx(() => [
62
64
  (openBlock(true), createElementBlock(Fragment, null, renderList(options.value, (option) => {
@@ -68,7 +70,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
68
70
  }), 256))
69
71
  ]),
70
72
  _: 1
71
- }, 16, ["modelValue", "disabled", "readonly"]);
73
+ }, 16, ["modelValue", "disabled", "style"]);
72
74
  };
73
75
  }
74
76
  });
@@ -49,7 +49,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
49
49
  default: () => ({})
50
50
  }
51
51
  },
52
- emits: ["update:modelValue"],
52
+ emits: ["update:modelValue", "change"],
53
53
  setup(__props, { emit: __emit }) {
54
54
  const props = __props;
55
55
  const emit = __emit;
@@ -57,6 +57,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
57
57
  get: () => props.modelValue,
58
58
  set: (val) => {
59
59
  emit("update:modelValue", val);
60
+ emit("change", val);
60
61
  }
61
62
  });
62
63
  const options = computed(() => {
@@ -72,11 +73,12 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
72
73
  }, toHandlers(__props.config.eventHandlers), {
73
74
  placeholder: __props.placeholder,
74
75
  disabled: __props.disabled,
75
- readonly: __props.readonly,
76
76
  multiple: __props.multiple,
77
77
  clearable: __props.clearable,
78
78
  filterable: __props.filterable,
79
- style: { "width": "100%" }
79
+ style: [{ "width": "100%" }, {
80
+ pointerEvents: __props.readonly ? "none" : "auto"
81
+ }]
80
82
  }), {
81
83
  default: withCtx(() => [
82
84
  (openBlock(true), createElementBlock(Fragment, null, renderList(options.value, (option) => {
@@ -89,7 +91,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
89
91
  }), 128))
90
92
  ]),
91
93
  _: 1
92
- }, 16, ["modelValue", "placeholder", "disabled", "readonly", "multiple", "clearable", "filterable"]);
94
+ }, 16, ["modelValue", "placeholder", "disabled", "multiple", "clearable", "filterable", "style"]);
93
95
  };
94
96
  }
95
97
  });
@@ -0,0 +1,90 @@
1
+ import { inject, createElementBlock, openBlock, Fragment, createCommentVNode, createVNode, createBlock, unref, isRef } from "vue";
2
+ import { Form } from "../form/index.mjs";
3
+ import { Divider } from "../divider/index.mjs";
4
+ import { H2 } from "../h2/index.mjs";
5
+ const _hoisted_1 = {
6
+ key: 0,
7
+ style: { "height": "60px", "position": "relative" }
8
+ };
9
+ const _sfc_main = /* @__PURE__ */ Object.assign({
10
+ inheritAttrs: false
11
+ }, {
12
+ __name: "SubForm",
13
+ props: {
14
+ config: {
15
+ type: Object,
16
+ required: true
17
+ },
18
+ localConfig: {
19
+ type: Object,
20
+ required: true
21
+ }
22
+ // subFormId: {
23
+ // type: String,
24
+ // required: true,
25
+ // },
26
+ // subFormKey: {
27
+ // type: String,
28
+ // default: "",
29
+ // },
30
+ // subFormName: {
31
+ // type: String,
32
+ // default: "",
33
+ // },
34
+ // dataSourceFrom: {
35
+ // type: String,
36
+ // default: "",
37
+ // },
38
+ // triggerSubFormPageEvent: {
39
+ // type: Boolean,
40
+ // default: false,
41
+ // },
42
+ },
43
+ setup(__props) {
44
+ const props = __props;
45
+ const formData = inject("formData");
46
+ inject("rowHeight");
47
+ const gridLayout = inject("gridLayout");
48
+ inject("gridLayoutFieldsData");
49
+ function subFormLoaded(subOption) {
50
+ const fieldsData = subOption.fieldsData;
51
+ console.log("🚀 ~ loaded ~ subOption:", subOption);
52
+ const maxY = fieldsData.reduce((max, field) => {
53
+ return field.y > max ? field.y : max;
54
+ }, 0);
55
+ const foundItem = props.localConfig.fieldsData.find(
56
+ (item) => item.id == props.config.id
57
+ );
58
+ const y = 1;
59
+ const titleHeight = config.titleMode != "none" ? 1 : 0;
60
+ if (foundItem) {
61
+ foundItem.h = maxY + y + titleHeight;
62
+ gridLayout.value.resizeEvent();
63
+ }
64
+ }
65
+ return (_ctx, _cache) => {
66
+ return openBlock(), createElementBlock(Fragment, null, [
67
+ __props.config.titleMode != "none" ? (openBlock(), createElementBlock("div", _hoisted_1, [
68
+ __props.config.titleMode == "label" ? (openBlock(), createBlock(unref(H2), {
69
+ key: 0,
70
+ config: __props.config
71
+ }, null, 8, ["config"])) : __props.config.titleMode == "subLabel" ? (openBlock(), createBlock(unref(Divider), {
72
+ key: 1,
73
+ config: __props.config
74
+ }, null, 8, ["config"])) : createCommentVNode("", true)
75
+ ])) : createCommentVNode("", true),
76
+ createVNode(unref(Form), {
77
+ templateKey: __props.config.subFormKey,
78
+ isSubForm: "",
79
+ onLoaded: subFormLoaded,
80
+ canPageEvent: __props.config.triggerSubFormPageEvent,
81
+ modelValue: unref(formData),
82
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(formData) ? formData.value = $event : null)
83
+ }, null, 8, ["templateKey", "canPageEvent", "modelValue"])
84
+ ], 64);
85
+ };
86
+ }
87
+ });
88
+ export {
89
+ _sfc_main as default
90
+ };
@@ -0,0 +1,7 @@
1
+ import _sfc_main from "./SubForm.vue.mjs";
2
+ import install from "../../../utils/install.mjs";
3
+ const SubForm = install.withInstall("SubForm", _sfc_main);
4
+ export {
5
+ SubForm,
6
+ SubForm as default
7
+ };
@@ -0,0 +1,109 @@
1
+ import { inject, computed, createElementBlock, openBlock, Fragment, createCommentVNode, createVNode, createBlock, unref } from "vue";
2
+ import Table from "../../table/Table.vue.mjs";
3
+ import { Divider } from "../divider/index.mjs";
4
+ import { H2 } from "../h2/index.mjs";
5
+ import { parseRouteParams } from "../../../utils/parseRouteParams.mjs";
6
+ const _hoisted_1 = {
7
+ key: 0,
8
+ style: { "height": "60px", "position": "relative" }
9
+ };
10
+ const _sfc_main = /* @__PURE__ */ Object.assign({
11
+ inheritAttrs: false
12
+ }, {
13
+ __name: "SubTable",
14
+ props: {
15
+ config: {
16
+ type: Object,
17
+ required: true
18
+ },
19
+ localConfig: {
20
+ type: Object,
21
+ required: true
22
+ }
23
+ // subFormId: {
24
+ // type: String,
25
+ // required: true,
26
+ // },
27
+ // subFormKey: {
28
+ // type: String,
29
+ // default: "",
30
+ // },
31
+ // subFormName: {
32
+ // type: String,
33
+ // default: "",
34
+ // },
35
+ // dataSourceFrom: {
36
+ // type: String,
37
+ // default: "",
38
+ // },
39
+ // triggerSubFormPageEvent: {
40
+ // type: Boolean,
41
+ // default: false,
42
+ // },
43
+ },
44
+ setup(__props) {
45
+ const props = __props;
46
+ const formData = inject("formData");
47
+ inject("rowHeight");
48
+ const gridLayout = inject("gridLayout");
49
+ inject("gridLayoutFieldsData");
50
+ const subTableData = computed(() => {
51
+ if (props.config.dataSourceFrom == "main") {
52
+ return formData.value[props.config.fieldName];
53
+ }
54
+ return [];
55
+ });
56
+ const initSearchData = computed(() => {
57
+ if (props.config.dataSourceFrom == "self") {
58
+ const fields = props.localConfig.fieldsData.map((item) => item.component);
59
+ const params = parseRouteParams(
60
+ props.config.subTableParams,
61
+ formData.value,
62
+ fields
63
+ );
64
+ console.log("🚀 ~ params:", params);
65
+ return params;
66
+ }
67
+ return {};
68
+ });
69
+ function subTableLoaded(subOption) {
70
+ const foundItem = props.localConfig.fieldsData.find(
71
+ (item) => item.id == props.config.id
72
+ );
73
+ const titleHeight = config.titleMode != "none" ? 60 : 0;
74
+ if (foundItem) {
75
+ foundItem.fixedH = true;
76
+ foundItem.h = props.config.subTableHeight + titleHeight;
77
+ gridLayout.value.resizeEvent();
78
+ }
79
+ }
80
+ return (_ctx, _cache) => {
81
+ return openBlock(), createElementBlock(Fragment, null, [
82
+ __props.config.titleMode != "none" ? (openBlock(), createElementBlock("div", _hoisted_1, [
83
+ __props.config.titleMode == "label" ? (openBlock(), createBlock(unref(H2), {
84
+ key: 0,
85
+ config: __props.config
86
+ }, null, 8, ["config"])) : __props.config.titleMode == "subLabel" ? (openBlock(), createBlock(unref(Divider), {
87
+ key: 1,
88
+ config: __props.config
89
+ }, null, 8, ["config"])) : createCommentVNode("", true)
90
+ ])) : createCommentVNode("", true),
91
+ createVNode(unref(Table), {
92
+ templateKey: __props.config.subTableKey,
93
+ isSubTable: "",
94
+ onLoaded: subTableLoaded,
95
+ mode: __props.config.subTableMode,
96
+ hasPagination: __props.config.isSubTablePagination,
97
+ height: __props.config.subTableHeight,
98
+ tableData: unref(subTableData),
99
+ initSearchData: unref(initSearchData),
100
+ canLoadBySearchData: __props.config.reloadOnParamsChange,
101
+ readonly: __props.config.isSubTableReadOnly
102
+ }, null, 8, ["templateKey", "mode", "hasPagination", "height", "tableData", "initSearchData", "canLoadBySearchData", "readonly"])
103
+ ], 64);
104
+ };
105
+ }
106
+ });
107
+ export {
108
+ _sfc_main as default
109
+ };
@@ -0,0 +1,7 @@
1
+ import _sfc_main from "./SubTable.vue.mjs";
2
+ import install from "../../../utils/install.mjs";
3
+ const SubTable = install.withInstall("SubTable", _sfc_main);
4
+ export {
5
+ SubTable,
6
+ SubTable as default
7
+ };
@@ -32,7 +32,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
32
32
  default: ""
33
33
  }
34
34
  },
35
- emits: ["update:modelValue", "change", "blur"],
35
+ emits: ["update:modelValue", "change"],
36
36
  setup(__props, { emit: __emit }) {
37
37
  const props = __props;
38
38
  const emit = __emit;
@@ -67,7 +67,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
67
67
  default: ""
68
68
  }
69
69
  },
70
- emits: ["update:modelValue", "change", "blur"],
70
+ emits: ["update:modelValue", "change"],
71
71
  setup(__props, { emit: __emit }) {
72
72
  const props = __props;
73
73
  const emit = __emit;
@@ -75,9 +75,11 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
75
75
  get: () => props.modelValue,
76
76
  set: (val) => {
77
77
  emit("update:modelValue", val);
78
- emit("change", val);
79
78
  }
80
79
  });
80
+ function handleChange(val) {
81
+ emit("change", val);
82
+ }
81
83
  const maskedValue = computed(() => {
82
84
  if (!props.dataMasking || !props.modelValue) return "";
83
85
  return "****";
@@ -95,6 +97,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
95
97
  readonly: __props.readonly,
96
98
  maxlength: __props.maxLength,
97
99
  "show-word-limit": __props.showWordCount,
100
+ onChange: handleChange,
98
101
  clearable: ""
99
102
  }), createSlots({ _: 2 }, [
100
103
  __props.prefix ? {
@@ -129,7 +132,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
129
132
  };
130
133
  }
131
134
  });
132
- const TextComponent = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4b100f9c"]]);
135
+ const TextComponent = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f897939f"]]);
133
136
  export {
134
137
  TextComponent as default
135
138
  };