bm-admin-ui 1.0.92-alpha → 1.0.94-alpha

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 (97) hide show
  1. package/es/components/attachment/index.d.ts +3 -3
  2. package/es/components/attachment/src/attachment.vue.d.ts +3 -3
  3. package/es/components/breadcrumb/index.d.ts +7 -7
  4. package/es/components/breadcrumb/src/breadcrumb.vue.d.ts +7 -7
  5. package/es/components/button/index.d.ts +6 -6
  6. package/es/components/button/src/button.vue.d.ts +6 -6
  7. package/es/components/cascader/index.js +2 -2
  8. package/es/components/edit-form/index.d.ts +4 -4
  9. package/es/components/edit-form/src/edit-form.vue.d.ts +4 -4
  10. package/es/components/feedback/index.d.ts +12 -12
  11. package/es/components/feedback/src/bmAlert.vue.d.ts +6 -6
  12. package/es/components/feedback/src/bmModal.vue.d.ts +6 -6
  13. package/es/components/float-table/index.d.ts +2 -2
  14. package/es/components/float-table/src/float-table.vue.d.ts +2 -2
  15. package/es/components/flow-designer/src/bm-nodes/BmConditionNode.vue.d.ts +8 -8
  16. package/es/components/form-create/index.js +389 -98
  17. package/es/components/form-designer/index.js +201 -148
  18. package/es/components/search-filter/index.d.ts +28 -0
  19. package/es/components/search-filter/index.js +70 -17
  20. package/es/components/search-filter/src/form-select-all.vue.d.ts +21 -6
  21. package/es/components/search-filter/src/search-filter.d.ts +16 -0
  22. package/es/components/search-filter/src/search-filter.vue.d.ts +28 -0
  23. package/es/components/search-filter/src/search-reset-btn.vue.d.ts +29 -3
  24. package/es/components/select-all/index.d.ts +8 -6
  25. package/es/components/select-all/index.js +33 -15
  26. package/es/components/select-all/src/selectAll.vue.d.ts +8 -6
  27. package/es/components/staffs-selector/index.d.ts +12 -12
  28. package/es/components/staffs-selector/src/departmentCmp.vue.d.ts +2 -2
  29. package/es/components/staffs-selector/src/multipleCmp.vue.d.ts +2 -2
  30. package/es/components/staffs-selector/src/staffs-selector.vue.d.ts +12 -12
  31. package/es/components/videoView/index.d.ts +1 -1
  32. package/es/components/videoView/src/videoView.vue.d.ts +1 -1
  33. package/es/utils/uniqueId.js +2 -2
  34. package/lib/components/attachment/index.d.ts +3 -3
  35. package/lib/components/attachment/src/attachment.vue.d.ts +3 -3
  36. package/lib/components/breadcrumb/index.d.ts +7 -7
  37. package/lib/components/breadcrumb/src/breadcrumb.vue.d.ts +7 -7
  38. package/lib/components/button/index.d.ts +6 -6
  39. package/lib/components/button/src/button.vue.d.ts +6 -6
  40. package/lib/components/cascader/index.js +2 -2
  41. package/lib/components/edit-form/index.d.ts +4 -4
  42. package/lib/components/edit-form/src/edit-form.vue.d.ts +4 -4
  43. package/lib/components/feedback/index.d.ts +12 -12
  44. package/lib/components/feedback/src/bmAlert.vue.d.ts +6 -6
  45. package/lib/components/feedback/src/bmModal.vue.d.ts +6 -6
  46. package/lib/components/float-table/index.d.ts +2 -2
  47. package/lib/components/float-table/src/float-table.vue.d.ts +2 -2
  48. package/lib/components/flow-designer/src/bm-nodes/BmConditionNode.vue.d.ts +8 -8
  49. package/lib/components/form-create/index.js +389 -98
  50. package/lib/components/form-designer/index.js +195 -142
  51. package/lib/components/search-filter/index.d.ts +28 -0
  52. package/lib/components/search-filter/index.js +71 -17
  53. package/lib/components/search-filter/src/form-select-all.vue.d.ts +21 -6
  54. package/lib/components/search-filter/src/search-filter.d.ts +16 -0
  55. package/lib/components/search-filter/src/search-filter.vue.d.ts +28 -0
  56. package/lib/components/search-filter/src/search-reset-btn.vue.d.ts +29 -3
  57. package/lib/components/select-all/index.d.ts +8 -6
  58. package/lib/components/select-all/index.js +32 -14
  59. package/lib/components/select-all/src/selectAll.vue.d.ts +8 -6
  60. package/lib/components/staffs-selector/index.d.ts +12 -12
  61. package/lib/components/staffs-selector/src/departmentCmp.vue.d.ts +2 -2
  62. package/lib/components/staffs-selector/src/multipleCmp.vue.d.ts +2 -2
  63. package/lib/components/staffs-selector/src/staffs-selector.vue.d.ts +12 -12
  64. package/lib/components/videoView/index.d.ts +1 -1
  65. package/lib/components/videoView/src/videoView.vue.d.ts +1 -1
  66. package/lib/utils/uniqueId.js +2 -2
  67. package/package.json +1 -1
  68. package/theme-chalk/form-designer.css +1 -1
  69. package/theme-chalk/index.css +1 -1
  70. package/theme-chalk/select-all.css +1 -1
  71. package/types/components/attachment/index.d.ts +3 -3
  72. package/types/components/attachment/src/attachment.vue.d.ts +3 -3
  73. package/types/components/breadcrumb/index.d.ts +7 -7
  74. package/types/components/breadcrumb/src/breadcrumb.vue.d.ts +7 -7
  75. package/types/components/button/index.d.ts +6 -6
  76. package/types/components/button/src/button.vue.d.ts +6 -6
  77. package/types/components/edit-form/index.d.ts +4 -4
  78. package/types/components/edit-form/src/edit-form.vue.d.ts +4 -4
  79. package/types/components/feedback/index.d.ts +12 -12
  80. package/types/components/feedback/src/bmAlert.vue.d.ts +6 -6
  81. package/types/components/feedback/src/bmModal.vue.d.ts +6 -6
  82. package/types/components/float-table/index.d.ts +2 -2
  83. package/types/components/float-table/src/float-table.vue.d.ts +2 -2
  84. package/types/components/flow-designer/src/bm-nodes/BmConditionNode.vue.d.ts +8 -8
  85. package/types/components/search-filter/index.d.ts +28 -0
  86. package/types/components/search-filter/src/form-select-all.vue.d.ts +21 -6
  87. package/types/components/search-filter/src/search-filter.d.ts +16 -0
  88. package/types/components/search-filter/src/search-filter.vue.d.ts +28 -0
  89. package/types/components/search-filter/src/search-reset-btn.vue.d.ts +29 -3
  90. package/types/components/select-all/index.d.ts +8 -6
  91. package/types/components/select-all/src/selectAll.vue.d.ts +8 -6
  92. package/types/components/staffs-selector/index.d.ts +12 -12
  93. package/types/components/staffs-selector/src/departmentCmp.vue.d.ts +2 -2
  94. package/types/components/staffs-selector/src/multipleCmp.vue.d.ts +2 -2
  95. package/types/components/staffs-selector/src/staffs-selector.vue.d.ts +12 -12
  96. package/types/components/videoView/index.d.ts +1 -1
  97. package/types/components/videoView/src/videoView.vue.d.ts +1 -1
@@ -1,5 +1,5 @@
1
1
  import { withInstall } from 'bm-admin-ui/es/utils/with-install';
2
- import { defineComponent, openBlock, createElementBlock, normalizeStyle, toDisplayString, computed, resolveComponent, normalizeClass, unref, createBlock, createCommentVNode, withDirectives, createVNode, withCtx, createTextVNode, withModifiers, vShow, ref, watch, createElementVNode, nextTick, Fragment, isRef, renderList, renderSlot, createStaticVNode, reactive, resolveDynamicComponent } from 'vue';
2
+ import { defineComponent, openBlock, createElementBlock, normalizeStyle, toDisplayString, computed, resolveComponent, normalizeClass, unref, createBlock, createCommentVNode, withDirectives, createVNode, withCtx, createTextVNode, withModifiers, vShow, ref, watch, createElementVNode, nextTick as nextTick$1, Fragment, isRef, renderList, renderSlot, createStaticVNode, reactive, resolveDynamicComponent } from 'vue';
3
3
  import uniqueId from 'bm-admin-ui/es/utils/uniqueId';
4
4
  import Draggable from 'vuedraggable';
5
5
  import { Tooltip, FormItemRest, Input, Button, RadioGroup, Radio, DatePicker, Checkbox, Tabs, TabPane, Row, Col, Dropdown, Menu, CheckboxGroup, MenuItem, Divider, Switch, Select, Layout, LayoutSider, LayoutContent, message } from 'ant-design-vue';
@@ -68,7 +68,7 @@ var _export_sfc = (sfc, props) => {
68
68
  return target;
69
69
  };
70
70
 
71
- const _sfc_main$i = /* @__PURE__ */ defineComponent({
71
+ const _sfc_main$h = /* @__PURE__ */ defineComponent({
72
72
  __name: "widget-instruction",
73
73
  props: ["rule"],
74
74
  setup(__props) {
@@ -79,13 +79,13 @@ const _sfc_main$i = /* @__PURE__ */ defineComponent({
79
79
  };
80
80
  }
81
81
  });
82
- var WidgetInstruction = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__file", "widget-instruction.vue"]]);
82
+ var WidgetInstruction = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__file", "widget-instruction.vue"]]);
83
83
 
84
84
  const _hoisted_1$f = {
85
85
  key: 2,
86
86
  class: "bm-drag-tool-mask"
87
87
  };
88
- const _sfc_main$h = /* @__PURE__ */ defineComponent({
88
+ const _sfc_main$g = /* @__PURE__ */ defineComponent({
89
89
  __name: "drag-tool",
90
90
  props: ["rule", "activeRuleField", "parentRule"],
91
91
  emits: [
@@ -226,16 +226,16 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
226
226
  ]),
227
227
  _: 1
228
228
  }, 512), [
229
- [vShow, __props.rule.config.isHover || unref(isActive)]
229
+ [vShow, !__props.rule.config?.immutable && (__props.rule.config.isHover || unref(isActive))]
230
230
  ])
231
231
  ], 34);
232
232
  };
233
233
  }
234
234
  });
235
- var DragTool = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__file", "drag-tool.vue"]]);
235
+ var DragTool = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__file", "drag-tool.vue"]]);
236
236
 
237
237
  const _hoisted_1$e = { class: "bm-drag-placeholder" };
238
- const _sfc_main$g = /* @__PURE__ */ defineComponent({
238
+ const _sfc_main$f = /* @__PURE__ */ defineComponent({
239
239
  __name: "drag-placeholder",
240
240
  props: {},
241
241
  setup(__props) {
@@ -244,14 +244,14 @@ const _sfc_main$g = /* @__PURE__ */ defineComponent({
244
244
  };
245
245
  }
246
246
  });
247
- var DragPlaceholder = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__file", "drag-placeholder.vue"]]);
247
+ var DragPlaceholder = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__file", "drag-placeholder.vue"]]);
248
248
 
249
249
  const _hoisted_1$d = { class: "bm-widget-row-wrap" };
250
250
  const _hoisted_2$a = {
251
251
  key: 0,
252
252
  class: "bm-widget-row-tip"
253
253
  };
254
- const _sfc_main$f = /* @__PURE__ */ defineComponent({
254
+ const _sfc_main$e = /* @__PURE__ */ defineComponent({
255
255
  __name: "widget-row",
256
256
  props: ["activeRuleField", "formCreateInject"],
257
257
  emits: [
@@ -356,7 +356,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
356
356
  };
357
357
  }
358
358
  });
359
- var WidgetRow = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__file", "widget-row.vue"]]);
359
+ var WidgetRow = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__file", "widget-row.vue"]]);
360
360
 
361
361
  const label$h = '分栏';
362
362
  const fieldsMap$h = {
@@ -702,10 +702,14 @@ var numInput = {
702
702
  placeholder: '请输入',
703
703
  },
704
704
  config: {
705
+ format: '',
705
706
  propsFields: Object.values(fieldsMap$e),
706
707
  },
707
708
  style: {
708
709
  width: '100%',
710
+ overflow: 'hidden',
711
+ textOverflow: 'ellipsis',
712
+ marginBottom: '0',
709
713
  },
710
714
  };
711
715
  },
@@ -794,7 +798,7 @@ const _hoisted_2$9 = {
794
798
  key: 0,
795
799
  class: "bm-handle-options__error-tip"
796
800
  };
797
- const _sfc_main$e = /* @__PURE__ */ defineComponent({
801
+ const _sfc_main$d = /* @__PURE__ */ defineComponent({
798
802
  __name: "handle-options",
799
803
  props: ["options", "disabled"],
800
804
  emits: ["setValue"],
@@ -965,7 +969,7 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
965
969
  };
966
970
  }
967
971
  });
968
- var HandleOptionsCom = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__file", "handle-options.vue"]]);
972
+ var HandleOptionsCom = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__file", "handle-options.vue"]]);
969
973
 
970
974
  const label$d = '单选框';
971
975
  const ruleType$1 = {
@@ -1246,7 +1250,7 @@ var checkbox = {
1246
1250
  };
1247
1251
 
1248
1252
  const _hoisted_1$b = { class: "bm-default-date" };
1249
- const _sfc_main$d = /* @__PURE__ */ defineComponent({
1253
+ const _sfc_main$c = /* @__PURE__ */ defineComponent({
1250
1254
  __name: "default-date",
1251
1255
  props: [
1252
1256
  "defaultRadioValue",
@@ -1335,7 +1339,7 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
1335
1339
  };
1336
1340
  }
1337
1341
  });
1338
- var DefaultDate = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__file", "default-date.vue"]]);
1342
+ var DefaultDate = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__file", "default-date.vue"]]);
1339
1343
 
1340
1344
  const label$b = '日期';
1341
1345
  const fieldsMap$b = {
@@ -1683,7 +1687,7 @@ var instruction = {
1683
1687
  },
1684
1688
  on: {
1685
1689
  change({ api, self }, list) {
1686
- nextTick(() => {
1690
+ nextTick$1(() => {
1687
1691
  api.refresh();
1688
1692
  });
1689
1693
  },
@@ -1815,7 +1819,7 @@ var picture = {
1815
1819
 
1816
1820
  const _hoisted_1$a = { class: "bm-widget-table-wrap" };
1817
1821
  const _hoisted_2$8 = { class: "bm-widget-table-top-bar" };
1818
- const _hoisted_3$5 = { class: "bm-widget-table-outer" };
1822
+ const _hoisted_3$6 = { class: "bm-widget-table-outer" };
1819
1823
  const _hoisted_4$4 = { class: "bm-widget-table" };
1820
1824
  const _hoisted_5$1 = {
1821
1825
  key: 0,
@@ -1843,7 +1847,7 @@ const _hoisted_15 = { class: "bm-widget-table__operateColumn__content" };
1843
1847
  const _hoisted_16 = /* @__PURE__ */ createElementVNode("a", null, "\u590D\u5236", -1);
1844
1848
  const _hoisted_17 = /* @__PURE__ */ createElementVNode("span", null, null, -1);
1845
1849
  const _hoisted_18 = /* @__PURE__ */ createElementVNode("a", null, "\u5220\u9664", -1);
1846
- const _sfc_main$c = /* @__PURE__ */ defineComponent({
1850
+ const _sfc_main$b = /* @__PURE__ */ defineComponent({
1847
1851
  __name: "widget-table",
1848
1852
  props: ["formCreateInject", "activeRuleField"],
1849
1853
  emits: [
@@ -1860,6 +1864,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
1860
1864
  const childRules = computed(() => tableRule.value.config.childRules);
1861
1865
  const showDelete = computed(() => showFeature("delete"));
1862
1866
  const showImport = computed(() => showFeature("import"));
1867
+ const showExport = computed(() => showFeature("export"));
1863
1868
  const showCopy = computed(() => showFeature("copy"));
1864
1869
  function showFeature(featureId) {
1865
1870
  return tableRule.value.config.tableAdvancedFeatures.includes(featureId);
@@ -1877,6 +1882,8 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
1877
1882
  emits("set-active-rule", rule, tableRule.value);
1878
1883
  }
1879
1884
  function handleClick(element) {
1885
+ if (element?.config.immutable)
1886
+ return;
1880
1887
  emitSetActiveRuleEvt(element);
1881
1888
  }
1882
1889
  function handleUpdate({ newIndex }) {
@@ -1917,9 +1924,15 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
1917
1924
  createTextVNode(" \u4E0B\u8F7D\u5BFC\u5165\u6A21\u677F ")
1918
1925
  ]),
1919
1926
  _: 1
1927
+ })) : createCommentVNode("v-if", true),
1928
+ unref(showExport) ? (openBlock(), createBlock(unref(Button), { key: 3 }, {
1929
+ default: withCtx(() => [
1930
+ createTextVNode(" \u5BFC\u51FA ")
1931
+ ]),
1932
+ _: 1
1920
1933
  })) : createCommentVNode("v-if", true)
1921
1934
  ]),
1922
- createElementVNode("div", _hoisted_3$5, [
1935
+ createElementVNode("div", _hoisted_3$6, [
1923
1936
  createElementVNode("div", {
1924
1937
  class: "bm-widget-table-inner",
1925
1938
  style: normalizeStyle({
@@ -2005,7 +2018,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
2005
2018
  };
2006
2019
  }
2007
2020
  });
2008
- var WidgetTable = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__file", "widget-table.vue"]]);
2021
+ var WidgetTable = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__file", "widget-table.vue"]]);
2009
2022
 
2010
2023
  const label$7 = '表格';
2011
2024
  const fieldsMap$7 = {
@@ -2041,7 +2054,7 @@ var table = {
2041
2054
  },
2042
2055
  config: {
2043
2056
  childRules,
2044
- tableAdvancedFeatures: ['copy', 'delete', 'import'],
2057
+ tableAdvancedFeatures: ['copy', 'delete', 'import', 'export'],
2045
2058
  propsFields: Object.values(fieldsMap$7),
2046
2059
  },
2047
2060
  emit: [
@@ -2081,7 +2094,7 @@ var table = {
2081
2094
  value: rule.config.childRules,
2082
2095
  on: {
2083
2096
  change({ api, self }, list) {
2084
- nextTick(() => {
2097
+ nextTick$1(() => {
2085
2098
  setTimeout(() => {
2086
2099
  api.validate();
2087
2100
  });
@@ -2110,6 +2123,10 @@ var table = {
2110
2123
  value: 'import',
2111
2124
  label: '批量导入',
2112
2125
  },
2126
+ {
2127
+ value: 'export',
2128
+ label: '导出',
2129
+ },
2113
2130
  ],
2114
2131
  className: 'bfd-sider-right__form__table-checkbox',
2115
2132
  },
@@ -2444,9 +2461,9 @@ var department = {
2444
2461
 
2445
2462
  const _hoisted_1$9 = { style: { "margin-top": "16px", "line-height": "32px" } };
2446
2463
  const _hoisted_2$7 = { style: { "float": "right" } };
2447
- const _hoisted_3$4 = /* @__PURE__ */ createElementVNode("div", { class: "bm-material-temp__table-tip" }, "\u7CFB\u7EDF\u81EA\u52A8\u83B7\u53D6\u8868\u683C\u5B57\u6BB5", -1);
2464
+ const _hoisted_3$5 = /* @__PURE__ */ createElementVNode("div", { class: "bm-material-temp__table-tip" }, "\u7CFB\u7EDF\u81EA\u52A8\u83B7\u53D6\u8868\u683C\u5B57\u6BB5", -1);
2448
2465
  const _hoisted_4$3 = { class: "bm-material-temp__add" };
2449
- const _sfc_main$b = /* @__PURE__ */ defineComponent({
2466
+ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2450
2467
  __name: "widget-material-temp",
2451
2468
  props: ["formCreateInject"],
2452
2469
  setup(__props) {
@@ -2618,7 +2635,7 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
2618
2635
  })
2619
2636
  ])
2620
2637
  ]),
2621
- _hoisted_3$4
2638
+ _hoisted_3$5
2622
2639
  ]),
2623
2640
  _: 2
2624
2641
  }, 1032, ["tab"]);
@@ -2629,11 +2646,11 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
2629
2646
  };
2630
2647
  }
2631
2648
  });
2632
- var WidgetMaterialTemp = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__file", "widget-material-temp.vue"]]);
2649
+ var WidgetMaterialTemp = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__file", "widget-material-temp.vue"]]);
2633
2650
 
2634
2651
  const _hoisted_1$8 = { class: "bm-use-instruction" };
2635
2652
  const _hoisted_2$6 = { class: "bm-use-instruction__title" };
2636
- const _sfc_main$a = /* @__PURE__ */ defineComponent({
2653
+ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2637
2654
  __name: "use-instruction",
2638
2655
  setup(__props) {
2639
2656
  return (_ctx, _cache) => {
@@ -2647,7 +2664,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
2647
2664
  };
2648
2665
  }
2649
2666
  });
2650
- var UseInstruction = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__file", "use-instruction.vue"]]);
2667
+ var UseInstruction = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__file", "use-instruction.vue"]]);
2651
2668
 
2652
2669
  const label$3 = '素材模板';
2653
2670
  const fieldsMap$3 = {
@@ -2767,9 +2784,9 @@ var materialTemp = {
2767
2784
 
2768
2785
  const _hoisted_1$7 = /* @__PURE__ */ createElementVNode("div", { class: "bm-product-info-item__title" }, "\u5546\u54C1\u7F16\u53F7", -1);
2769
2786
  const _hoisted_2$5 = { class: "bm-product-info-item__content" };
2770
- const _hoisted_3$3 = { class: "bm-product-info-item__title" };
2787
+ const _hoisted_3$4 = { class: "bm-product-info-item__title" };
2771
2788
  const _hoisted_4$2 = /* @__PURE__ */ createElementVNode("div", { class: "bm-product-info-item__content" }, "\u7CFB\u7EDF\u81EA\u52A8\u5E26\u51FA", -1);
2772
- const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2789
+ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2773
2790
  __name: "product-info",
2774
2791
  props: ["formCreateInject"],
2775
2792
  setup(__props) {
@@ -2802,7 +2819,7 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2802
2819
  span: 12
2803
2820
  }, {
2804
2821
  default: withCtx(() => [
2805
- createElementVNode("div", _hoisted_3$3, toDisplayString(item.label), 1),
2822
+ createElementVNode("div", _hoisted_3$4, toDisplayString(item.label), 1),
2806
2823
  _hoisted_4$2
2807
2824
  ]),
2808
2825
  _: 2
@@ -2814,90 +2831,70 @@ const _sfc_main$9 = /* @__PURE__ */ defineComponent({
2814
2831
  };
2815
2832
  }
2816
2833
  });
2817
- var ProductInfo = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__file", "product-info.vue"]]);
2834
+ var ProductInfo = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__file", "product-info.vue"]]);
2818
2835
 
2819
- const _hoisted_1$6 = /* @__PURE__ */ createElementVNode("div", { class: "bm-associated-fields-item" }, [
2820
- /* @__PURE__ */ createElementVNode("span", { class: "bm-associated-fields-item__content" }, "\u5546\u54C1\u7F16\u53F7")
2821
- ], -1);
2836
+ const _hoisted_1$6 = { class: "bm-associated-fields-item__content" };
2822
2837
  const _hoisted_2$4 = { class: "bm-associated-fields-item__content" };
2823
- const _hoisted_3$2 = { style: { "text-align": "right", "margin": "6px 0 4px", "padding-right": "8px" } };
2824
- const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2825
- __name: "associated-fields",
2826
- props: ["associatedFields"],
2838
+ const _hoisted_3$3 = { style: { "text-align": "right", "margin": "6px 0 4px", "padding-right": "8px" } };
2839
+ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2840
+ __name: "pure-associated-fields",
2841
+ props: ["associatedFields", "options", "defaultOptions"],
2827
2842
  emits: ["change"],
2828
2843
  setup(__props, { emit: emits }) {
2829
2844
  const props = __props;
2830
2845
  const visible = ref(false);
2831
2846
  const checkList = ref([]);
2832
- const options = [
2833
- {
2834
- value: "\u5546\u54C1\u540D\u79F0",
2835
- label: "\u5546\u54C1\u540D\u79F0"
2836
- },
2837
- {
2838
- value: "\u5546\u54C1\u7B80\u79F0",
2839
- label: "\u5546\u54C1\u7B80\u79F0"
2840
- },
2841
- {
2842
- value: "\u5546\u54C1\u56FE\u7247",
2843
- label: "\u5546\u54C1\u56FE\u7247"
2844
- },
2845
- {
2846
- value: "\u5EFA\u8BAE\u96F6\u552E\u4EF7",
2847
- label: "\u5EFA\u8BAE\u96F6\u552E\u4EF7"
2848
- },
2849
- {
2850
- value: "\u5546\u54C1\u7BB1\u89C4",
2851
- label: "\u5546\u54C1\u7BB1\u89C4"
2852
- },
2853
- {
2854
- value: "\u5546\u54C1\u5355\u4F4D",
2855
- label: "\u5546\u54C1\u5355\u4F4D"
2856
- }
2857
- ];
2858
- function emitChangeEvt() {
2859
- emits(
2860
- "change",
2861
- options.filter((op) => checkList.value.includes(op.value))
2862
- );
2863
- }
2864
2847
  function handOk() {
2865
2848
  visible.value = false;
2866
2849
  emitChangeEvt();
2867
2850
  }
2868
2851
  function init() {
2869
- checkList.value = props.associatedFields.map((item) => item.value);
2852
+ checkList.value = props.associatedFields?.map((item) => item.value);
2870
2853
  }
2871
- function visibleChange(visible2) {
2872
- if (visible2) {
2873
- init();
2874
- }
2854
+ function emitChangeEvt() {
2855
+ emits(
2856
+ "change",
2857
+ props.options.filter((op) => checkList.value.includes(op.value))
2858
+ );
2875
2859
  }
2876
2860
  function handleDel(value) {
2877
2861
  checkList.value = checkList.value.filter((cl) => cl !== value);
2878
2862
  emitChangeEvt();
2879
2863
  }
2880
2864
  init();
2865
+ function visibleChange(visible2) {
2866
+ if (visible2) {
2867
+ init();
2868
+ }
2869
+ }
2881
2870
  watch(visible, (val) => {
2882
2871
  visibleChange(val);
2883
2872
  });
2884
2873
  return (_ctx, _cache) => {
2885
2874
  const _component_Delete = resolveComponent("Delete");
2886
2875
  return openBlock(), createElementBlock("div", null, [
2887
- _hoisted_1$6,
2876
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.defaultOptions, (option) => {
2877
+ return openBlock(), createElementBlock("div", {
2878
+ key: `defaultOption${option?.value}`,
2879
+ class: "bm-associated-fields-item"
2880
+ }, [
2881
+ createElementVNode("span", _hoisted_1$6, toDisplayString(option?.label), 1)
2882
+ ]);
2883
+ }), 128)),
2888
2884
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.associatedFields, (item) => {
2889
2885
  return openBlock(), createElementBlock("div", {
2890
2886
  key: item.value,
2891
2887
  class: "bm-associated-fields-item"
2892
2888
  }, [
2893
- createElementVNode("span", _hoisted_2$4, toDisplayString(item.label), 1),
2889
+ createElementVNode("span", _hoisted_2$4, toDisplayString(item?.label), 1),
2894
2890
  createVNode(_component_Delete, {
2895
2891
  class: "bm-associated-fields-item__icon",
2896
2892
  onClick: ($event) => handleDel(item.value)
2897
2893
  }, null, 8, ["onClick"])
2898
2894
  ]);
2899
2895
  }), 128)),
2900
- createVNode(unref(Dropdown), {
2896
+ __props.options?.length ? (openBlock(), createBlock(unref(Dropdown), {
2897
+ key: 0,
2901
2898
  visible: visible.value,
2902
2899
  "onUpdate:visible": _cache[2] || (_cache[2] = ($event) => visible.value = $event),
2903
2900
  trigger: ["click"]
@@ -2913,8 +2910,8 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2913
2910
  style: { "width": "100%" }
2914
2911
  }, {
2915
2912
  default: withCtx(() => [
2916
- (openBlock(), createElementBlock(Fragment, null, renderList(options, (item) => {
2917
- return createVNode(unref(MenuItem), {
2913
+ (openBlock(true), createElementBlock(Fragment, null, renderList(__props.options, (item) => {
2914
+ return openBlock(), createBlock(unref(MenuItem), {
2918
2915
  key: item.value
2919
2916
  }, {
2920
2917
  default: withCtx(() => [
@@ -2930,7 +2927,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2930
2927
  ]),
2931
2928
  _: 2
2932
2929
  }, 1024);
2933
- }), 64))
2930
+ }), 128))
2934
2931
  ]),
2935
2932
  _: 1
2936
2933
  }, 8, ["value"])
@@ -2938,7 +2935,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2938
2935
  _: 1
2939
2936
  }),
2940
2937
  createVNode(unref(Divider), { style: { "margin": "0" } }),
2941
- createElementVNode("div", _hoisted_3$2, [
2938
+ createElementVNode("div", _hoisted_3$3, [
2942
2939
  createVNode(unref(Button), {
2943
2940
  onClick: _cache[1] || (_cache[1] = ($event) => visible.value = false)
2944
2941
  }, {
@@ -2963,28 +2960,25 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
2963
2960
  })
2964
2961
  ]),
2965
2962
  default: withCtx(() => [
2966
- createVNode(unref(Button), {
2967
- style: { "margin-top": "8px" },
2968
- block: ""
2969
- }, {
2963
+ createVNode(unref(Button), { style: { "margin-top": "8px" } }, {
2970
2964
  default: withCtx(() => [
2971
2965
  createVNode(unref(PlusOutlined)),
2972
- createTextVNode(" \u6DFB\u52A0\u5B50\u5B57\u6BB5 ")
2966
+ createTextVNode("\u6DFB\u52A0\u5B50\u5B57\u6BB5")
2973
2967
  ]),
2974
2968
  _: 1
2975
2969
  })
2976
2970
  ]),
2977
2971
  _: 1
2978
- }, 8, ["visible"])
2972
+ }, 8, ["visible"])) : createCommentVNode("v-if", true)
2979
2973
  ]);
2980
2974
  };
2981
2975
  }
2982
2976
  });
2983
- var AssociatedFields = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__file", "associated-fields.vue"]]);
2977
+ var pureAssociatedFields = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__file", "pure-associated-fields.vue"]]);
2984
2978
 
2985
2979
  const _hoisted_1$5 = /* @__PURE__ */ createElementVNode("div", { style: { "margin": "18px 0 6px" } }, "\u4EC5\u83B7\u53D6", -1);
2986
2980
  const _hoisted_2$3 = /* @__PURE__ */ createElementVNode("div", { style: { "margin-top": "7px" } }, "\u4E2D\u53EF\u5206\u9500\u7684\u5546\u54C1\u6570\u636E", -1);
2987
- const _sfc_main$7 = /* @__PURE__ */ defineComponent({
2981
+ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
2988
2982
  __name: "shop-data-filter",
2989
2983
  props: ["widgetFormRules", "defaultSelectValue"],
2990
2984
  emits: ["change"],
@@ -3078,7 +3072,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
3078
3072
  };
3079
3073
  }
3080
3074
  });
3081
- var ShopDataFilter = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__file", "shop-data-filter.vue"]]);
3075
+ var ShopDataFilter = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__file", "shop-data-filter.vue"]]);
3082
3076
 
3083
3077
  const label$2 = '商品';
3084
3078
  const fieldsMap$2 = {
@@ -3117,12 +3111,44 @@ var product = {
3117
3111
  props(rule, parentRule, widgetFormRules) {
3118
3112
  return [
3119
3113
  {
3120
- type: 'AssociatedFields',
3121
- component: AssociatedFields,
3114
+ type: 'pureAssociatedFields',
3115
+ component: pureAssociatedFields,
3122
3116
  title: '关联字段',
3123
3117
  field: fieldsMap$2['config.associatedFields'],
3124
3118
  props: {
3125
3119
  associatedFields: rule.config.associatedFields,
3120
+ defaultOptions: [
3121
+ {
3122
+ value: '商品编号',
3123
+ label: '商品编号',
3124
+ },
3125
+ ],
3126
+ options: [
3127
+ {
3128
+ value: '商品名称',
3129
+ label: '商品名称',
3130
+ },
3131
+ {
3132
+ value: '商品简称',
3133
+ label: '商品简称',
3134
+ },
3135
+ {
3136
+ value: '商品图片',
3137
+ label: '商品图片',
3138
+ },
3139
+ {
3140
+ value: '建议零售价',
3141
+ label: '建议零售价',
3142
+ },
3143
+ {
3144
+ value: '商品箱规',
3145
+ label: '商品箱规',
3146
+ },
3147
+ {
3148
+ value: '商品单位',
3149
+ label: '商品单位',
3150
+ },
3151
+ ],
3126
3152
  },
3127
3153
  effect: {
3128
3154
  required: true,
@@ -3132,7 +3158,7 @@ var product = {
3132
3158
  change({ api, self }, list) {
3133
3159
  api.emit('change', self.field, list, self, api, true);
3134
3160
  self.props.associatedFields = list;
3135
- nextTick(() => {
3161
+ nextTick$1(() => {
3136
3162
  api.refresh();
3137
3163
  });
3138
3164
  },
@@ -3155,7 +3181,7 @@ var product = {
3155
3181
  change({ api, self }, value) {
3156
3182
  api.emit('change', self.field, value, self, api, true);
3157
3183
  self.props.defaultSelectValue = value;
3158
- nextTick(() => {
3184
+ nextTick$1(() => {
3159
3185
  api.refresh();
3160
3186
  });
3161
3187
  },
@@ -3184,33 +3210,6 @@ var product = {
3184
3210
  },
3185
3211
  };
3186
3212
 
3187
- const _sfc_main$6 = /* @__PURE__ */ defineComponent({
3188
- __name: "shop-associated-fields",
3189
- setup(__props) {
3190
- const associatedFields = [
3191
- {
3192
- value: "\u5E97\u94FA\u7F16\u53F7",
3193
- label: "\u5E97\u94FA\u7F16\u53F7"
3194
- },
3195
- {
3196
- value: "\u5E97\u94FA\u540D\u79F0",
3197
- label: "\u5E97\u94FA\u540D\u79F0"
3198
- }
3199
- ];
3200
- return (_ctx, _cache) => {
3201
- return openBlock(), createElementBlock("div", null, [
3202
- (openBlock(), createElementBlock(Fragment, null, renderList(associatedFields, (item) => {
3203
- return createElementVNode("span", {
3204
- key: item.value,
3205
- class: "bm-shop-associated-fields-item"
3206
- }, toDisplayString(item.label), 1);
3207
- }), 64))
3208
- ]);
3209
- };
3210
- }
3211
- });
3212
- var ShopAssociatedFields = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__file", "shop-associated-fields.vue"]]);
3213
-
3214
3213
  let i = 0;
3215
3214
  const label$1 = '店铺';
3216
3215
  const fieldsMap$1 = {
@@ -3250,13 +3249,37 @@ var shop = {
3250
3249
  props(rule, parentRule) {
3251
3250
  return [
3252
3251
  {
3253
- type: 'ShopAssociatedFields',
3254
- component: ShopAssociatedFields,
3252
+ type: 'pureAssociatedFields',
3253
+ component: pureAssociatedFields,
3255
3254
  title: '关联字段',
3256
3255
  field: 'config.associatedFields',
3256
+ props: {
3257
+ associatedFields: rule.config.associatedFields,
3258
+ defaultOptions: [
3259
+ {
3260
+ value: '店铺编号',
3261
+ label: '店铺编号',
3262
+ },
3263
+ {
3264
+ value: '店铺名称',
3265
+ label: '店铺名称',
3266
+ },
3267
+ ],
3268
+ options: [],
3269
+ },
3257
3270
  effect: {
3258
3271
  required: true,
3259
3272
  },
3273
+ inject: true,
3274
+ on: {
3275
+ change({ api, self }, list) {
3276
+ api.emit('change', self.field, list, self, api, true);
3277
+ self.props.associatedFields = list;
3278
+ nextTick(() => {
3279
+ api.refresh();
3280
+ });
3281
+ },
3282
+ },
3260
3283
  },
3261
3284
  {
3262
3285
  type: 'checkbox',
@@ -3305,8 +3328,8 @@ var shop = {
3305
3328
  required: rule.effect.required,
3306
3329
  },
3307
3330
  config: {
3308
- dataFiltering: rule.config.dataFiltering,
3309
3331
  isMain: rule.config.isMain,
3332
+ associatedFields: rule.config.associatedFields,
3310
3333
  },
3311
3334
  };
3312
3335
  },
@@ -3489,7 +3512,7 @@ const _hoisted_1$4 = {
3489
3512
  xmlns: "http://www.w3.org/2000/svg"
3490
3513
  };
3491
3514
  const _hoisted_2$2 = /* @__PURE__ */ createStaticVNode('<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"><g transform="translate(-826.000000, -249.000000)"><g transform="translate(667.000000, 71.000000)"><g transform="translate(159.000000, 178.000000)"><path d="M2,0 L197,0 C198.104569,-6.46995335e-16 199,0.8954305 199,2 L199,105 C199,106.104569 198.104569,107 197,107 L2,107 C0.8954305,107 1.3527075e-16,106.104569 0,105 L0,2 C-1.3527075e-16,0.8954305 0.8954305,2.02906125e-16 2,0 Z" fill="#F9FBFF"></path><path d="M41,6 C41.5522847,6 42,6.44771525 42,7 L42,100 C42,100.552285 41.5522847,101 41,101 L7,101 C6.44771525,101 6,100.552285 6,100 L6,7 C6,6.44771525 6.44771525,6 7,6 L41,6 Z M192,6 C192.552285,6 193,6.44771525 193,7 L193,100 C193,100.552285 192.552285,101 192,101 L159,101 C158.447715,101 158,100.552285 158,100 L158,7 C158,6.44771525 158.447715,6 159,6 L192,6 Z M151,35 C151.552285,35 152,35.4477153 152,36 L152,100 C152,100.552285 151.552285,101 151,101 L49,101 C48.4477153,101 48,100.552285 48,100 L48,36 C48,35.4477153 48.4477153,35 49,35 L151,35 Z M151,6 C151.552285,6 152,6.44771525 152,7 L152,30 C152,30.5522847 151.552285,31 151,31 L49,31 C48.4477153,31 48,30.5522847 48,30 L48,7 C48,6.44771525 48.4477153,6 49,6 L151,6 Z" fill="#EFF3FF"></path><rect stroke="#8FAAFF" fill="#D0DCFF" x="12.5" y="17.5" width="23" height="13" rx="0.5"></rect><rect fill="#E4E8F7" x="12" y="47" width="24" height="14" rx="0.5"></rect><rect fill="#E4E8F7" x="12" y="75" width="24" height="14" rx="0.5"></rect><use stroke="#AEC2FF" mask="url(#mask-2)" stroke-width="2" fill-opacity="0.26" fill="#AFC3FF" stroke-dasharray="2" xlink:href="#path-1"></use><path d="M33.5,20 C35.9852814,20 38,22.0147186 38,24.5 C38,26.9852814 35.9852814,29 33.5,29 C31.0147186,29 29,26.9852814 29,24.5 C29,22.0147186 31.0147186,20 33.5,20 Z M33.5,22 C32.1192881,22 31,23.1192881 31,24.5 C31,25.8807119 32.1192881,27 33.5,27 C34.8807119,27 36,25.8807119 36,24.5 C36,23.1192881 34.8807119,22 33.5,22 Z" fill="#2F4EED"></path><circle fill="#F9FBFF" cx="33.5" cy="24.5" r="2.5"></circle><path d="M42.5,22 C65.8354499,22 85.7454723,36.6659986 93.5155164,57.2834451 L93.7801465,55.3991118 C93.8570096,54.8522019 94.3626777,54.4711537 94.9095876,54.5480169 C95.4564976,54.6248801 95.8375458,55.1305481 95.7606826,55.677458 L94.925644,61.6190665 C94.8487808,62.1659764 94.3431128,62.5470246 93.7962028,62.4701614 L93.7673315,62.4658857 C93.5875459,62.4468789 93.4107192,62.3789077 93.2577621,62.2594045 L88.5296976,58.5654356 C88.0944913,58.2254152 88.0173279,57.5969697 88.3573483,57.1617634 C88.6973688,56.7265571 89.3258142,56.6493937 89.7610205,56.9894141 L91.887337,58.6494477 C84.582156,38.4419045 65.2276218,24 42.5,24 C40.4254117,24 38.3789284,24.1203318 36.367149,24.3543965 L36.022518,22.3809268 C38.1466458,22.1293826 40.3082134,22 42.5,22 Z" fill="#2F4EED"></path></g></g></g></g>', 1);
3492
- const _hoisted_3$1 = [
3515
+ const _hoisted_3$2 = [
3493
3516
  _hoisted_2$2
3494
3517
  ];
3495
3518
  const _hoisted_4$1 = /* @__PURE__ */ createElementVNode("div", { style: { "line-height": "20px", "margin-top": "12px", "color": "#505259" } }, " \u8BF7\u62D6\u62FD\u6216\u70B9\u51FB\u5DE6\u4FA7\u5B57\u6BB5\u521B\u5EFA\u8868\u5355 ", -1);
@@ -3499,7 +3522,7 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
3499
3522
  setup(__props) {
3500
3523
  return (_ctx, _cache) => {
3501
3524
  return openBlock(), createElementBlock("div", null, [
3502
- (openBlock(), createElementBlock("svg", _hoisted_1$4, _hoisted_3$1)),
3525
+ (openBlock(), createElementBlock("svg", _hoisted_1$4, _hoisted_3$2)),
3503
3526
  _hoisted_4$1
3504
3527
  ]);
3505
3528
  };
@@ -3524,6 +3547,18 @@ const formDesignerProps = {
3524
3547
  type: Boolean,
3525
3548
  default: false,
3526
3549
  },
3550
+ dragCheckFunc: {
3551
+ type: Function,
3552
+ default: (underlying_vm) => true,
3553
+ },
3554
+ formRulePipe: {
3555
+ type: Function,
3556
+ default: (obj) => obj,
3557
+ },
3558
+ addWidgetFunc: {
3559
+ type: Function,
3560
+ default: (pushRowWidget, pushTableWidgets) => null,
3561
+ },
3527
3562
  };
3528
3563
 
3529
3564
  const _hoisted_1$3 = {
@@ -3625,6 +3660,12 @@ const widgetNamesRowAccept = [
3625
3660
  shop.name,
3626
3661
  materialType.name,
3627
3662
  ];
3663
+ function pushTableWidgets(key, config) {
3664
+ widgetsTableAccept[key] = config;
3665
+ }
3666
+ function pushRowWidgets(key) {
3667
+ widgetNamesRowAccept.push(key);
3668
+ }
3628
3669
  var ruleList = {
3629
3670
  [row.name]: row,
3630
3671
  [input.name]: input,
@@ -3646,8 +3687,12 @@ var ruleList = {
3646
3687
  [materialType.name]: materialType,
3647
3688
  };
3648
3689
 
3649
- const _hoisted_1$1 = { class: "bm-table-column__main" };
3650
- const _hoisted_2$1 = { class: "bm-table-column-btn-wrap" };
3690
+ const _hoisted_1$1 = {
3691
+ class: "bm-table-column__main",
3692
+ style: { "margin-right": "0" }
3693
+ };
3694
+ const _hoisted_2$1 = { class: "bm-table-column__main" };
3695
+ const _hoisted_3$1 = { class: "bm-table-column-btn-wrap" };
3651
3696
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3652
3697
  __name: "table-column",
3653
3698
  props: ["formCreateInject"],
@@ -3711,25 +3756,32 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
3711
3756
  align: "middle"
3712
3757
  }, {
3713
3758
  default: withCtx(() => [
3714
- createVNode(unref(HolderOutlined), {
3715
- class: normalizeClass([handleClass])
3716
- }, null, 8, ["class"]),
3717
- createElementVNode("div", _hoisted_1$1, toDisplayString(element.title.title), 1),
3718
- createVNode(unref(EditOutlined), {
3719
- class: "bm-table-column__icon is-edit",
3720
- onClick: ($event) => handleEdit(element)
3721
- }, null, 8, ["onClick"]),
3722
- createVNode(_component_Delete, {
3723
- class: "bm-table-column__icon is-del",
3724
- onClick: ($event) => handleDelete(element, index)
3725
- }, null, 8, ["onClick"])
3759
+ element.config?.immutable ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
3760
+ createVNode(unref(HolderOutlined), {
3761
+ class: normalizeClass([handleClass])
3762
+ }, null, 8, ["class"]),
3763
+ createElementVNode("div", _hoisted_1$1, toDisplayString(element.title.title), 1)
3764
+ ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
3765
+ createVNode(unref(HolderOutlined), {
3766
+ class: normalizeClass([handleClass])
3767
+ }, null, 8, ["class"]),
3768
+ createElementVNode("div", _hoisted_2$1, toDisplayString(element.title.title), 1),
3769
+ createVNode(unref(EditOutlined), {
3770
+ class: "bm-table-column__icon is-edit",
3771
+ onClick: ($event) => handleEdit(element)
3772
+ }, null, 8, ["onClick"]),
3773
+ createVNode(_component_Delete, {
3774
+ class: "bm-table-column__icon is-del",
3775
+ onClick: ($event) => handleDelete(element, index)
3776
+ }, null, 8, ["onClick"])
3777
+ ], 64))
3726
3778
  ]),
3727
3779
  _: 2
3728
3780
  }, 1024)
3729
3781
  ]),
3730
3782
  _: 1
3731
3783
  }, 8, ["list", "handle"]),
3732
- createElementVNode("div", _hoisted_2$1, [
3784
+ createElementVNode("div", _hoisted_3$1, [
3733
3785
  createVNode(unref(FormItemRest), null, {
3734
3786
  default: withCtx(() => [
3735
3787
  createVNode(unref(Select), {
@@ -3839,7 +3891,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3839
3891
  if (rule?.props?.type === "textarea" && parentType === WidgetType.TableWidget) {
3840
3892
  rule.props.autoSize = true;
3841
3893
  }
3842
- if (rule.config.config.name === "product" && parentType === WidgetType.TableWidget) {
3894
+ if (rule.config?.config?.name === "product" && parentType === WidgetType.TableWidget) {
3843
3895
  rule.title.title = "\u5546\u54C1\u7F16\u53F7";
3844
3896
  }
3845
3897
  }
@@ -3853,7 +3905,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3853
3905
  people: "\u9664\u201C\u5FC5\u586B\u3001\u9009\u9879\u201D\u5185\u5BB9\u8BBE\u7F6E\u4E0D\u53EF\u4FEE\u6539\uFF0C\u5176\u4ED6\u4FE1\u606F\u53EF\u4FEE\u6539",
3854
3906
  department: "\u9664\u201C\u5FC5\u586B\u3001\u9009\u9879\u201D\u5185\u5BB9\u8BBE\u7F6E\u4E0D\u53EF\u4FEE\u6539\uFF0C\u5176\u4ED6\u4FE1\u606F\u53EF\u4FEE\u6539"
3855
3907
  };
3856
- const tabData = createTab();
3908
+ const tabData = typeof props.formRulePipe === "function" ? props.formRulePipe(createTab()) : [];
3909
+ typeof props.addWidgetFunc === "function" && props.addWidgetFunc(pushRowWidgets, pushTableWidgets);
3857
3910
  const activeKey = ref("controlLibrary");
3858
3911
  const widgetFormRules = reactive([]);
3859
3912
  const activeRule = ref({});
@@ -3861,7 +3914,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3861
3914
  const fApi = ref();
3862
3915
  const activeParentRule = ref();
3863
3916
  const menuList = computed(
3864
- () => tabData.find((tab) => tab.key === activeKey.value).menuList
3917
+ () => tabData.find((tab) => tab.key === activeKey.value)?.menuList
3865
3918
  );
3866
3919
  const activeProps = computed(() => cacheProps[activeRule.value.field]);
3867
3920
  const activeRuleInList = computed(
@@ -3892,10 +3945,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
3892
3945
  }
3893
3946
  }
3894
3947
  function moveMenuItem(evt) {
3895
- return checkDragMove(evt);
3948
+ return props?.dragCheckFunc(evt?.dragged?._underlying_vm_) && checkDragMove(evt);
3896
3949
  }
3897
3950
  function moveFormItem(evt) {
3898
- return checkDragMove(evt);
3951
+ return props?.dragCheckFunc(evt?.dragged?._underlying_vm_) && checkDragMove(evt);
3899
3952
  }
3900
3953
  function handleMenuItemDragStart(evt) {
3901
3954
  const item = evt.item.children[0];
@@ -4163,7 +4216,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
4163
4216
  }
4164
4217
  }
4165
4218
  if (!pass) {
4166
- nextTick(() => {
4219
+ nextTick$1(() => {
4167
4220
  fApi.value.validate();
4168
4221
  });
4169
4222
  break;