@fecp/vue 1.1.7 → 1.1.8

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 (47) hide show
  1. package/es/packages/mobile/src/components/base/card/Card.vue.mjs +2 -2
  2. package/es/packages/vue/index.mjs +6 -0
  3. package/es/packages/vue/src/api/index.mjs +6 -0
  4. package/es/packages/vue/src/components/all.mjs +6 -0
  5. package/es/packages/vue/src/components/forms/area/Area.vue.mjs +92 -0
  6. package/es/packages/vue/src/components/forms/area/index.mjs +7 -0
  7. package/es/packages/vue/src/components/forms/cascader/Cascader.vue.mjs +168 -0
  8. package/es/packages/vue/src/components/forms/cascader/index.mjs +7 -0
  9. package/es/packages/vue/src/components/forms/form/Form.vue.mjs +22 -8
  10. package/es/packages/vue/src/components/forms/formItem/FormItem.vue.mjs +4 -24
  11. package/es/packages/vue/src/components/forms/index.mjs +40 -0
  12. package/es/packages/vue/src/components/forms/industry/Industry.vue.mjs +92 -0
  13. package/es/packages/vue/src/components/forms/industry/index.mjs +7 -0
  14. package/es/packages/vue/src/components/forms/number/Number.vue.mjs +27 -2
  15. package/es/packages/vue/src/components/forms/text/Text.vue.mjs +4 -3
  16. package/es/packages/vue/src/components/forms/text/index.mjs +2 -2
  17. package/es/packages/vue/src/components/forms/textarea/Textarea.vue.mjs +5 -2
  18. package/es/packages/vue/src/components/forms/textarea/index.mjs +2 -2
  19. package/es/packages/vue/src/components/table/Table.vue.mjs +3 -3
  20. package/es/packages/vue/src/components/table/TableColumn.vue.mjs +46 -30
  21. package/es/packages/vue/src/components/table/TableFilter.vue.mjs +3 -3
  22. package/es/packages/vue/src/utils/datasource.mjs +1 -1
  23. package/es/packages/vue/src/utils/eventFlow/actionHandlers.mjs +5 -1
  24. package/es/vue.css +71 -51
  25. package/lib/packages/mobile/src/components/base/card/Card.vue.js +2 -2
  26. package/lib/packages/vue/index.js +15 -9
  27. package/lib/packages/vue/src/api/index.js +6 -0
  28. package/lib/packages/vue/src/components/all.js +12 -6
  29. package/lib/packages/vue/src/components/forms/area/Area.vue.js +92 -0
  30. package/lib/packages/vue/src/components/forms/area/index.js +7 -0
  31. package/lib/packages/vue/src/components/forms/cascader/Cascader.vue.js +168 -0
  32. package/lib/packages/vue/src/components/forms/cascader/index.js +7 -0
  33. package/lib/packages/vue/src/components/forms/form/Form.vue.js +22 -8
  34. package/lib/packages/vue/src/components/forms/formItem/FormItem.vue.js +16 -36
  35. package/lib/packages/vue/src/components/forms/index.js +40 -0
  36. package/lib/packages/vue/src/components/forms/industry/Industry.vue.js +92 -0
  37. package/lib/packages/vue/src/components/forms/industry/index.js +7 -0
  38. package/lib/packages/vue/src/components/forms/number/Number.vue.js +26 -1
  39. package/lib/packages/vue/src/components/forms/text/Text.vue.js +3 -2
  40. package/lib/packages/vue/src/components/forms/textarea/Textarea.vue.js +5 -2
  41. package/lib/packages/vue/src/components/table/Table.vue.js +3 -3
  42. package/lib/packages/vue/src/components/table/TableColumn.vue.js +45 -29
  43. package/lib/packages/vue/src/components/table/TableFilter.vue.js +3 -3
  44. package/lib/packages/vue/src/utils/datasource.js +1 -1
  45. package/lib/packages/vue/src/utils/eventFlow/actionHandlers.js +5 -1
  46. package/lib/vue.css +71 -51
  47. package/package.json +1 -1
@@ -1,8 +1,10 @@
1
1
  /* empty css */
2
2
  /* empty css */
3
- import { computed, ref, watch, onMounted, createElementBlock, openBlock, Fragment, createVNode, mergeProps, toHandlers } from "vue";
3
+ import { computed, ref, watch, onMounted, createElementBlock, openBlock, Fragment, createVNode, mergeProps, toHandlers, createSlots, withCtx, createElementVNode, toDisplayString } from "vue";
4
4
  import { Decimal } from "../../../../../../node_modules/.pnpm/decimal.js@10.6.0/node_modules/decimal.js/decimal.mjs";
5
5
  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";
6
+ const _hoisted_1 = { class: "prefix-content" };
7
+ const _hoisted_2 = { class: "suffix-content" };
6
8
  const _sfc_main = /* @__PURE__ */ Object.assign({
7
9
  inheritAttrs: false
8
10
  }, {
@@ -50,6 +52,14 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
50
52
  },
51
53
  maxValue: {
52
54
  type: Number
55
+ },
56
+ prefix: {
57
+ type: String,
58
+ default: ""
59
+ },
60
+ suffix: {
61
+ type: String,
62
+ default: ""
53
63
  }
54
64
  },
55
65
  emits: ["update:modelValue", "change"],
@@ -275,7 +285,22 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
275
285
  }, toHandlers(__props.config.eventHandlers), {
276
286
  onChange: handleChange,
277
287
  style: { "width": "100%" }
278
- }), null, 16, ["modelValue", "placeholder", "disabled", "readonly"]),
288
+ }), createSlots({ _: 2 }, [
289
+ __props.prefix ? {
290
+ name: "prefix",
291
+ fn: withCtx(() => [
292
+ createElementVNode("span", _hoisted_1, toDisplayString(__props.prefix), 1)
293
+ ]),
294
+ key: "0"
295
+ } : void 0,
296
+ __props.suffix ? {
297
+ name: "suffix",
298
+ fn: withCtx(() => [
299
+ createElementVNode("span", _hoisted_2, toDisplayString(__props.suffix), 1)
300
+ ]),
301
+ key: "1"
302
+ } : void 0
303
+ ]), 1040, ["modelValue", "placeholder", "disabled", "readonly"]),
279
304
  createVNode(_component_el_input, {
280
305
  modelValue: compValue.value,
281
306
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => compValue.value = $event),
@@ -1,7 +1,7 @@
1
1
  /* empty css */
2
2
  /* empty css */
3
3
  /* empty css */
4
- import { computed, createElementBlock, openBlock, createVNode, createCommentVNode, mergeProps, toHandlers, createSlots, withCtx, createElementVNode, toDisplayString, createTextVNode } from "vue";
4
+ import { computed, createElementBlock, openBlock, createTextVNode, createVNode, createCommentVNode, toDisplayString, mergeProps, toHandlers, createSlots, withCtx, createElementVNode } from "vue";
5
5
  /* empty css */
6
6
  import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.mjs";
7
7
  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";
@@ -88,6 +88,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
88
88
  const _component_el_button = ElButton;
89
89
  const _component_el_input = ElInput;
90
90
  return openBlock(), createElementBlock("div", _hoisted_1, [
91
+ createTextVNode(toDisplayString(__props.suffix) + " ", 1),
91
92
  createVNode(_component_el_input, mergeProps({
92
93
  modelValue: inputValue.value,
93
94
  "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => inputValue.value = $event)
@@ -132,7 +133,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
132
133
  };
133
134
  }
134
135
  });
135
- const TextComponent = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f897939f"]]);
136
+ const _Text = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-58ba93bc"]]);
136
137
  export {
137
- TextComponent as default
138
+ _Text as default
138
139
  };
@@ -1,6 +1,6 @@
1
- import TextComponent from "./Text.vue.mjs";
1
+ import _Text from "./Text.vue.mjs";
2
2
  import install from "../../../utils/install.mjs";
3
- const Text = install.withInstall("Text", TextComponent);
3
+ const Text = install.withInstall("Text", _Text);
4
4
  export {
5
5
  Text,
6
6
  Text as default
@@ -1,8 +1,10 @@
1
1
  /* empty css */
2
2
  /* empty css */
3
3
  import { computed, createElementBlock, openBlock, createVNode, mergeProps, toHandlers } from "vue";
4
+ /* empty css */
5
+ import _export_sfc from "../../../../../../_virtual/_plugin-vue_export-helper.mjs";
4
6
  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";
5
- const _hoisted_1 = { style: { "width": "100%" } };
7
+ const _hoisted_1 = { class: "textarea-field-wrapper" };
6
8
  const _sfc_main = /* @__PURE__ */ Object.assign({
7
9
  inheritAttrs: false
8
10
  }, {
@@ -81,6 +83,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
81
83
  };
82
84
  }
83
85
  });
86
+ const _Textarea = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-5fa6b270"]]);
84
87
  export {
85
- _sfc_main as default
88
+ _Textarea as default
86
89
  };
@@ -1,6 +1,6 @@
1
- import _sfc_main from "./Textarea.vue.mjs";
1
+ import _Textarea from "./Textarea.vue.mjs";
2
2
  import install from "../../../utils/install.mjs";
3
- const Textarea = install.withInstall("Textarea", _sfc_main);
3
+ const Textarea = install.withInstall("Textarea", _Textarea);
4
4
  export {
5
5
  Textarea,
6
6
  Textarea as default
@@ -464,7 +464,8 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
464
464
  class: "fec-table",
465
465
  "data-id": localConfig.value.templateKey,
466
466
  "data-name": localConfig.value.templateName,
467
- "data-pkId": localConfig.value.pkId
467
+ "data-pkId": localConfig.value.pkId,
468
+ "data-version": "v5"
468
469
  }, {
469
470
  default: withCtx(() => [
470
471
  !configLoading.value ? (openBlock(), createElementBlock("div", {
@@ -497,7 +498,6 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
497
498
  height: tableHeight.value,
498
499
  "empty-text": "暂无数据",
499
500
  "export-config": unref(exportConfig),
500
- "cell-config": { height: 40 },
501
501
  onSortChange: handleSortChange,
502
502
  onCheckboxChange: handleCheckboxChange,
503
503
  onCheckboxAll: handleCheckboxAll,
@@ -547,7 +547,7 @@ const _sfc_main = /* @__PURE__ */ Object.assign({
547
547
  };
548
548
  }
549
549
  });
550
- const Table = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7ae4acf8"]]);
550
+ const Table = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0446411a"]]);
551
551
  export {
552
552
  Table as default
553
553
  };
@@ -1,7 +1,7 @@
1
1
  /* empty css */
2
2
  /* empty css */
3
3
  /* empty css */
4
- import { computed, createElementBlock, openBlock, createBlock, createCommentVNode, unref, Fragment, renderList, withCtx, renderSlot, createElementVNode, mergeProps, toHandlers, createTextVNode, toDisplayString, createVNode } from "vue";
4
+ import { computed, createElementBlock, openBlock, createBlock, createCommentVNode, unref, Fragment, renderList, withCtx, renderSlot, toDisplayString, mergeProps, toHandlers, createTextVNode, createVNode } from "vue";
5
5
  import "../../../../../node_modules/.pnpm/vxe-table@4.17.47_vue@3.5.13_typescript@5.7.3_/node_modules/vxe-table/es/components.mjs";
6
6
  import { CopyDocument as copy_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";
7
7
  import { checkFilterMatch } from "../../utils/parseFilterConfig.mjs";
@@ -22,10 +22,13 @@ import { ElIcon } from "../../../../../node_modules/.pnpm/element-plus@2.13.2_vu
22
22
  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";
23
23
  import { ElMessage } from "../../../../../node_modules/.pnpm/element-plus@2.13.2_vue@3.5.13_typescript@5.7.3_/node_modules/element-plus/es/components/message/index.mjs";
24
24
  const _hoisted_1 = { class: "table-column-manager" };
25
- const _hoisted_2 = { class: "cell-content" };
25
+ const _hoisted_2 = {
26
+ key: 0,
27
+ class: "prefix-content"
28
+ };
26
29
  const _hoisted_3 = {
27
- key: 1,
28
- class: "cell-text"
30
+ key: 3,
31
+ class: "suffix-content"
29
32
  };
30
33
  const _sfc_main = {
31
34
  __name: "TableColumn",
@@ -231,6 +234,17 @@ const _sfc_main = {
231
234
  if (!item.disableCondition) return false;
232
235
  return checkFilterMatch(item.disableCondition, row, props.fieldsData);
233
236
  };
237
+ const optColumnWidth = computed(() => {
238
+ const padding = 20;
239
+ const btnWidth = 40;
240
+ if (!props.tableData || props.tableData.length === 0) {
241
+ return props.optBtns.length * btnWidth + padding;
242
+ }
243
+ const maxVisibleBtns = Math.max(
244
+ ...props.tableData.map((row) => getVisibleOptBtns(row).length)
245
+ );
246
+ return Math.max(maxVisibleBtns, 1) * btnWidth + padding;
247
+ });
234
248
  const { getEventHandlers: createEventHandlers } = useEventFlow({
235
249
  fields: props.fieldsData,
236
250
  ctx: getCurrentVueInstance(),
@@ -279,43 +293,45 @@ const _sfc_main = {
279
293
  resizable: false,
280
294
  "show-header-overflow": "",
281
295
  "show-footer-overflow": "",
282
- "show-overflow": ""
296
+ "show-overflow": field.isOverflowWrap ? false : "title"
283
297
  }, {
284
298
  default: withCtx(({ row }) => [
285
299
  renderSlot(_ctx.$slots, `cell-${field.fieldName}`, {
286
300
  row,
287
301
  field
288
302
  }, () => [
289
- createElementVNode("div", _hoisted_2, [
290
- field.isLink ? (openBlock(), createBlock(_component_el_link, mergeProps({
291
- key: 0,
292
- type: "primary"
293
- }, toHandlers(getEventHandlers(row, field, field.linkConfig))), {
294
- default: withCtx(() => [
295
- createTextVNode(toDisplayString(formatCellValue(row, field)), 1)
296
- ]),
297
- _: 2
298
- }, 1040)) : (openBlock(), createElementBlock("span", _hoisted_3, toDisplayString(formatCellValue(row, field)), 1)),
299
- field.canCopy ? (openBlock(), createBlock(_component_el_icon, {
300
- key: 2,
301
- class: "copy-icon",
302
- onClick: ($event) => handleCopy(row, field)
303
- }, {
304
- default: withCtx(() => [
305
- createVNode(unref(copy_document_default))
306
- ]),
307
- _: 2
308
- }, 1032, ["onClick"])) : createCommentVNode("", true)
309
- ])
303
+ field.prefix ? (openBlock(), createElementBlock("span", _hoisted_2, toDisplayString(field.prefix), 1)) : createCommentVNode("", true),
304
+ field.isLink ? (openBlock(), createBlock(_component_el_link, mergeProps({
305
+ key: 1,
306
+ type: "primary"
307
+ }, toHandlers(getEventHandlers(row, field, field.linkConfig))), {
308
+ default: withCtx(() => [
309
+ createTextVNode(toDisplayString(formatCellValue(row, field)), 1)
310
+ ]),
311
+ _: 2
312
+ }, 1040)) : (openBlock(), createElementBlock(Fragment, { key: 2 }, [
313
+ createTextVNode(toDisplayString(formatCellValue(row, field)), 1)
314
+ ], 64)),
315
+ field.suffix ? (openBlock(), createElementBlock("span", _hoisted_3, toDisplayString(field.suffix), 1)) : createCommentVNode("", true),
316
+ field.canCopy ? (openBlock(), createBlock(_component_el_icon, {
317
+ key: 4,
318
+ class: "copy-icon",
319
+ onClick: ($event) => handleCopy(row, field)
320
+ }, {
321
+ default: withCtx(() => [
322
+ createVNode(unref(copy_document_default))
323
+ ]),
324
+ _: 2
325
+ }, 1032, ["onClick"])) : createCommentVNode("", true)
310
326
  ], true)
311
327
  ]),
312
328
  _: 2
313
- }, 1032, ["field", "title", "width", "min-width", "fixed", "align", "header-align", "sortable"]);
329
+ }, 1032, ["field", "title", "width", "min-width", "fixed", "align", "header-align", "sortable", "show-overflow"]);
314
330
  }), 128)),
315
- !_ctx.readonly && shouldShowOptColumn.value ? (openBlock(), createBlock(unref(VxeColumn), {
331
+ shouldShowOptColumn.value ? (openBlock(), createBlock(unref(VxeColumn), {
316
332
  key: 3,
317
333
  title: "操作",
318
- width: __props.optBtns.length * 80 + 20,
334
+ width: optColumnWidth.value,
319
335
  fixed: "right",
320
336
  align: "center"
321
337
  }, {
@@ -340,7 +356,7 @@ const _sfc_main = {
340
356
  };
341
357
  }
342
358
  };
343
- const TableColumn = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c1f83204"]]);
359
+ const TableColumn = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-07b138b8"]]);
344
360
  export {
345
361
  TableColumn as default
346
362
  };
@@ -43,7 +43,7 @@ const _sfc_main = {
43
43
  emits: ["search", "reset"],
44
44
  setup(__props, { expose: __expose, emit: __emit }) {
45
45
  useCssVars((_ctx) => ({
46
- "3f99436f": `${config.value.collapseRows * 90}px`
46
+ "082237d9": `${config.value.collapseRows * 90}px`
47
47
  }));
48
48
  const props = __props;
49
49
  const emit = __emit;
@@ -147,7 +147,7 @@ const _sfc_main = {
147
147
  }
148
148
  }
149
149
  });
150
- emit("search", { filters });
150
+ emit("search", { filters: JSON.stringify(filters) });
151
151
  };
152
152
  const handleReset = () => {
153
153
  filterValues.value = {};
@@ -300,7 +300,7 @@ const _sfc_main = {
300
300
  };
301
301
  }
302
302
  };
303
- const TableFilter = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e72fcecc"]]);
303
+ const TableFilter = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-b904d93a"]]);
304
304
  export {
305
305
  TableFilter as default
306
306
  };
@@ -63,7 +63,7 @@ class DataSourceManager {
63
63
  params.pageSize = this.pagination.pageSize;
64
64
  }
65
65
  if (this.sortRules && this.sortRules.length > 0) {
66
- params.sortRules = this.sortRules;
66
+ params.sortRules = JSON.stringify(this.sortRules);
67
67
  }
68
68
  return { ...this.initSearchData, ...params, ...extraParams };
69
69
  }
@@ -49,7 +49,11 @@ async function handlePageJump(node, data, fields, context) {
49
49
  const url = router.resolve(route).href;
50
50
  window.open(url, "_blank");
51
51
  } else {
52
- await router.push(route);
52
+ if (basic.canNotGoBack) {
53
+ await router.replace(route);
54
+ } else {
55
+ await router.push(route);
56
+ }
53
57
  }
54
58
  }
55
59
  }