bm-admin-ui 1.0.91-alpha → 1.0.92-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 (73) hide show
  1. package/es/components/cascader/__tests__/index.test.d.ts +1 -0
  2. package/es/components/cascader/_util/KeyCode.d.ts +110 -0
  3. package/es/components/cascader/index.d.ts +30 -0
  4. package/es/components/cascader/index.js +211 -0
  5. package/es/components/cascader/src/cascader.vue.d.ts +29 -0
  6. package/es/components/edit-form/index.js +1 -1
  7. package/es/components/feedback/index.d.ts +1 -1
  8. package/es/components/feedback/src/bmModal.vue.d.ts +1 -1
  9. package/es/components/float-table/index.js +62 -54
  10. package/es/components/flow-designer/index.js +1 -1
  11. package/es/components/form-create/index.js +98 -389
  12. package/es/components/form-designer/index.js +122 -180
  13. package/es/components/index.d.ts +1 -0
  14. package/es/components/index.js +1 -0
  15. package/es/components/search-filter/index.d.ts +0 -28
  16. package/es/components/search-filter/index.js +17 -70
  17. package/es/components/search-filter/src/form-select-all.vue.d.ts +0 -15
  18. package/es/components/search-filter/src/search-filter.d.ts +0 -16
  19. package/es/components/search-filter/src/search-filter.vue.d.ts +0 -28
  20. package/es/components/search-filter/src/search-reset-btn.vue.d.ts +0 -26
  21. package/es/components/select-all/index.d.ts +0 -2
  22. package/es/components/select-all/index.js +15 -33
  23. package/es/components/select-all/src/selectAll.vue.d.ts +0 -2
  24. package/es/components/staffs-selector/index.d.ts +2 -2
  25. package/es/components/staffs-selector/src/staffs-selector.vue.d.ts +2 -2
  26. package/es/utils/uniqueId.js +2 -2
  27. package/lib/components/cascader/__tests__/index.test.d.ts +1 -0
  28. package/lib/components/cascader/_util/KeyCode.d.ts +110 -0
  29. package/lib/components/cascader/index.d.ts +30 -0
  30. package/lib/components/cascader/index.js +216 -0
  31. package/lib/components/cascader/src/cascader.vue.d.ts +29 -0
  32. package/lib/components/edit-form/index.js +1 -1
  33. package/lib/components/feedback/index.d.ts +1 -1
  34. package/lib/components/feedback/src/bmModal.vue.d.ts +1 -1
  35. package/lib/components/float-table/index.js +62 -54
  36. package/lib/components/flow-designer/index.js +1 -1
  37. package/lib/components/form-create/index.js +98 -389
  38. package/lib/components/form-designer/index.js +116 -174
  39. package/lib/components/index.d.ts +1 -0
  40. package/lib/components/index.js +7 -0
  41. package/lib/components/search-filter/index.d.ts +0 -28
  42. package/lib/components/search-filter/index.js +17 -71
  43. package/lib/components/search-filter/src/form-select-all.vue.d.ts +0 -15
  44. package/lib/components/search-filter/src/search-filter.d.ts +0 -16
  45. package/lib/components/search-filter/src/search-filter.vue.d.ts +0 -28
  46. package/lib/components/search-filter/src/search-reset-btn.vue.d.ts +0 -26
  47. package/lib/components/select-all/index.d.ts +0 -2
  48. package/lib/components/select-all/index.js +14 -32
  49. package/lib/components/select-all/src/selectAll.vue.d.ts +0 -2
  50. package/lib/components/staffs-selector/index.d.ts +2 -2
  51. package/lib/components/staffs-selector/src/staffs-selector.vue.d.ts +2 -2
  52. package/lib/utils/uniqueId.js +2 -2
  53. package/package.json +34 -34
  54. package/theme-chalk/cascader.css +1 -0
  55. package/theme-chalk/form-designer.css +1 -1
  56. package/theme-chalk/index.css +1 -1
  57. package/theme-chalk/select-all.css +1 -1
  58. package/types/components/cascader/__tests__/index.test.d.ts +1 -0
  59. package/types/components/cascader/_util/KeyCode.d.ts +110 -0
  60. package/types/components/cascader/index.d.ts +30 -0
  61. package/types/components/cascader/src/cascader.vue.d.ts +29 -0
  62. package/types/components/feedback/index.d.ts +1 -1
  63. package/types/components/feedback/src/bmModal.vue.d.ts +1 -1
  64. package/types/components/index.d.ts +1 -0
  65. package/types/components/search-filter/index.d.ts +0 -28
  66. package/types/components/search-filter/src/form-select-all.vue.d.ts +0 -15
  67. package/types/components/search-filter/src/search-filter.d.ts +0 -16
  68. package/types/components/search-filter/src/search-filter.vue.d.ts +0 -28
  69. package/types/components/search-filter/src/search-reset-btn.vue.d.ts +0 -26
  70. package/types/components/select-all/index.d.ts +0 -2
  71. package/types/components/select-all/src/selectAll.vue.d.ts +0 -2
  72. package/types/components/staffs-selector/index.d.ts +2 -2
  73. package/types/components/staffs-selector/src/staffs-selector.vue.d.ts +2 -2
@@ -174,36 +174,50 @@ var textarea = {
174
174
  },
175
175
  };
176
176
 
177
- function generateRowRule(data) {
178
- return {
179
- type: 'inputNumber',
180
- field: data.field,
181
- title: data.title.title,
182
- props: {
183
- type: 'number',
184
- placeholder: data.props.placeholder,
185
- },
186
- value: data.value,
187
- effect: {
188
- required: data.effect.required && '请输入',
189
- },
190
- wrap: {
191
- wrapperCol: {
192
- span: fieldRatioMap[data.config.fieldRatio],
193
- },
194
- },
195
- style: {
196
- width: '100%',
197
- },
198
- };
199
- }
200
177
  var numInput = {
201
178
  name: 'numInput',
202
179
  rule(data) {
203
- return generateRowRule(data);
180
+ return {
181
+ type: 'inputNumber',
182
+ field: data.field,
183
+ title: data.title.title,
184
+ props: {
185
+ type: 'number',
186
+ placeholder: data.props.placeholder,
187
+ },
188
+ value: data.value,
189
+ effect: {
190
+ required: data.effect.required && '请输入',
191
+ },
192
+ wrap: {
193
+ wrapperCol: {
194
+ span: fieldRatioMap[data.config.fieldRatio],
195
+ },
196
+ },
197
+ style: {
198
+ width: '100%',
199
+ },
200
+ };
204
201
  },
205
202
  rowRule(data) {
206
- return generateRowRule(data);
203
+ return {
204
+ type: 'inputNumber',
205
+ field: data.field,
206
+ title: data.title.title,
207
+ props: {
208
+ placeholder: data.props.placeholder,
209
+ },
210
+ value: data.value,
211
+ effect: {
212
+ required: data.effect.required && '请输入',
213
+ },
214
+ col: {
215
+ span: fieldRatioMap[data.config.fieldRatio],
216
+ },
217
+ style: {
218
+ width: '100%',
219
+ },
220
+ };
207
221
  },
208
222
  tableRule(data) {
209
223
  const field = data.field;
@@ -241,7 +255,7 @@ var _export_sfc = (sfc, props) => {
241
255
  return target;
242
256
  };
243
257
 
244
- const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
258
+ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
245
259
  __name: "radio-widget",
246
260
  props: ["formCreateInject"],
247
261
  emits: ["change"],
@@ -280,7 +294,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
280
294
  };
281
295
  }
282
296
  });
283
- var RadioWidget = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__file", "radio-widget.vue"]]);
297
+ var RadioWidget = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__file", "radio-widget.vue"]]);
284
298
 
285
299
  function handleRadioRule(rule) {
286
300
  if (rule.type === 'radio') {
@@ -840,7 +854,7 @@ var file = {
840
854
  },
841
855
  };
842
856
 
843
- const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
857
+ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
844
858
  __name: "staff-selector",
845
859
  props: [
846
860
  "title",
@@ -906,7 +920,7 @@ const _sfc_main$d = /* @__PURE__ */ vue.defineComponent({
906
920
  };
907
921
  }
908
922
  });
909
- var StaffSelector = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__file", "staff-selector.vue"]]);
923
+ var StaffSelector = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__file", "staff-selector.vue"]]);
910
924
 
911
925
  var people = {
912
926
  name: 'people',
@@ -1024,10 +1038,10 @@ var people = {
1024
1038
  },
1025
1039
  };
1026
1040
 
1027
- const _hoisted_1$7 = ["onClick"];
1041
+ const _hoisted_1$6 = ["onClick"];
1028
1042
  const _hoisted_2$6 = ["onClick"];
1029
1043
  const _hoisted_3$5 = { class: "box" };
1030
- const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
1044
+ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
1031
1045
  __name: "temp-content",
1032
1046
  props: ["content", "preview"],
1033
1047
  setup(__props) {
@@ -1072,7 +1086,7 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
1072
1086
  vue.createVNode(vue.unref(iconsVue.EyeOutlined)),
1073
1087
  vue.createTextVNode("\xA0\u9884\u89C8")
1074
1088
  ])
1075
- ], 8, _hoisted_1$7)) : vue.createCommentVNode("v-if", true),
1089
+ ], 8, _hoisted_1$6)) : vue.createCommentVNode("v-if", true),
1076
1090
  (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(vue.unref(layers), (layer) => {
1077
1091
  return vue.openBlock(), vue.createElementBlock("div", {
1078
1092
  key: layer.uuid,
@@ -1106,9 +1120,9 @@ const _sfc_main$c = /* @__PURE__ */ vue.defineComponent({
1106
1120
  };
1107
1121
  }
1108
1122
  });
1109
- var TempContent = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__file", "temp-content.vue"]]);
1123
+ var TempContent = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__file", "temp-content.vue"]]);
1110
1124
 
1111
- const _hoisted_1$6 = { class: "bm-fc-select-material-temp__content__item-info" };
1125
+ const _hoisted_1$5 = { class: "bm-fc-select-material-temp__content__item-info" };
1112
1126
  const _hoisted_2$5 = { class: "bm-fc-select-material-temp__content__item-info__cover" };
1113
1127
  const _hoisted_3$4 = ["src"];
1114
1128
  const _hoisted_4$4 = ["onClick"];
@@ -1118,7 +1132,7 @@ const _hoisted_5$4 = {
1118
1132
  };
1119
1133
  const _hoisted_6$3 = ["title"];
1120
1134
  const _hoisted_7$3 = { class: "bm-fc-select-material-temp__content__item-time" };
1121
- const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
1135
+ const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
1122
1136
  __name: "select-material-temp",
1123
1137
  props: [
1124
1138
  "visible",
@@ -1309,7 +1323,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
1309
1323
  span: 6
1310
1324
  }, {
1311
1325
  default: vue.withCtx(() => [
1312
- vue.createElementVNode("div", _hoisted_1$6, [
1326
+ vue.createElementVNode("div", _hoisted_1$5, [
1313
1327
  vue.createElementVNode("div", _hoisted_2$5, [
1314
1328
  item.coverPlanUrl ? (vue.openBlock(), vue.createElementBlock("img", {
1315
1329
  key: 0,
@@ -1364,7 +1378,7 @@ const _sfc_main$b = /* @__PURE__ */ vue.defineComponent({
1364
1378
  };
1365
1379
  }
1366
1380
  });
1367
- var SelectMaterialTemp = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__file", "select-material-temp.vue"]]);
1381
+ var SelectMaterialTemp = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__file", "select-material-temp.vue"]]);
1368
1382
 
1369
1383
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
1370
1384
 
@@ -18569,7 +18583,7 @@ var lodash = {exports: {}};
18569
18583
  }.call(commonjsGlobal));
18570
18584
  }(lodash, lodash.exports));
18571
18585
 
18572
- const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
18586
+ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
18573
18587
  __name: "product-input-in-table",
18574
18588
  props: ["value", "disabled", "shopValue"],
18575
18589
  emits: ["change"],
@@ -18606,127 +18620,9 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
18606
18620
  };
18607
18621
  }
18608
18622
  });
18609
- var ProductInput = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__file", "product-input-in-table.vue"]]);
18610
-
18611
- const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
18612
- __name: "customer-input-in-table",
18613
- props: ["value", "disabled", "shopValue"],
18614
- emits: ["change"],
18615
- setup(__props, { emit: emits }) {
18616
- const props = __props;
18617
- const debounceFn = lodash.exports.debounce(emitChange, 500);
18618
- const inputValue = vue.ref();
18619
- function emitChange(val) {
18620
- emits("change", val);
18621
- }
18622
- vue.watch(
18623
- () => props.value,
18624
- (val) => {
18625
- inputValue.value = val;
18626
- },
18627
- {
18628
- immediate: true
18629
- }
18630
- );
18631
- vue.watch(
18632
- () => props.shopValue,
18633
- () => {
18634
- emitChange("");
18635
- }
18636
- );
18637
- return (_ctx, _cache) => {
18638
- return vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.Input), {
18639
- value: inputValue.value,
18640
- "onUpdate:value": _cache[0] || (_cache[0] = ($event) => inputValue.value = $event),
18641
- placeholder: "\u8BF7\u8F93\u5165",
18642
- disabled: __props.disabled,
18643
- onChange: _cache[1] || (_cache[1] = ($event) => vue.unref(debounceFn)($event.target.value))
18644
- }, null, 8, ["value", "disabled"]);
18645
- };
18646
- }
18647
- });
18648
- var CustomerInput = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__file", "customer-input-in-table.vue"]]);
18649
-
18650
- const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
18651
- __name: "shop-input-in-table",
18652
- props: ["value", "disabled", "fetch", "dataFiltering"],
18653
- emits: ["change"],
18654
- setup(__props, { emit: emits }) {
18655
- const props = __props;
18656
- const keyword = vue.ref("");
18657
- const debounceFetch = lodash.exports.debounce((value) => {
18658
- props.fetch.fetch(
18659
- {
18660
- keyword: keyword.value,
18661
- filterByUser: props.dataFiltering
18662
- }
18663
- ).then((data) => {
18664
- if (value === keyword.value)
18665
- options.value = data;
18666
- });
18667
- }, 300);
18668
- const options = vue.ref([]);
18669
- const fieldNames = {
18670
- label: "name",
18671
- value: "code",
18672
- channelName: "channelName",
18673
- platformName: "platformName",
18674
- channelTypeName: "channelTypeName"
18675
- };
18676
- const inputValue = vue.ref();
18677
- function handleSearch(value) {
18678
- keyword.value = value;
18679
- debounceFetch(value);
18680
- }
18681
- function handleChangeConfirm(val, option) {
18682
- handleChange(val, option);
18683
- }
18684
- function handleChange(val, option) {
18685
- console.log("emit\u6570\u636E", option);
18686
- emits(
18687
- "change",
18688
- option ? {
18689
- [fieldNames.value]: option.value,
18690
- [fieldNames.label]: option.label,
18691
- ...option
18692
- } : void 0
18693
- );
18694
- }
18695
- vue.watch(
18696
- () => props.value,
18697
- (val) => {
18698
- inputValue.value = val;
18699
- },
18700
- {
18701
- immediate: true
18702
- }
18703
- );
18704
- debounceFetch("");
18705
- return (_ctx, _cache) => {
18706
- return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
18707
- vue.createCommentVNode(' <Input\n v-model:value="inputValue"\n placeholder="\u8BF7\u8F93\u5165"\n :disabled="disabled"\n @change="debounceFn($event.target.value)"\n ></Input> '),
18708
- vue.createVNode(vue.unref(antDesignVue.Select), {
18709
- value: __props.value,
18710
- placeholder: "\u8BF7\u9009\u62E9",
18711
- "show-search": "",
18712
- "show-arrow": false,
18713
- "default-active-first-option": false,
18714
- "filter-option": false,
18715
- "not-found-content": null,
18716
- options: options.value,
18717
- "get-popup-container": vue.unref(getContainer),
18718
- disabled: __props.disabled,
18719
- "allow-clear": "",
18720
- onChange: handleChangeConfirm,
18721
- onSearch: handleSearch
18722
- }, null, 8, ["value", "options", "get-popup-container", "disabled"])
18723
- ], 2112);
18724
- };
18725
- }
18726
- });
18727
- var ShopInput = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__file", "shop-input-in-table.vue"]]);
18623
+ var ProductInput = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__file", "product-input-in-table.vue"]]);
18728
18624
 
18729
- const _hoisted_1$5 = { class: "bm-dc-table-widget" };
18625
+ const _hoisted_1$4 = { class: "bm-dc-table-widget" };
18730
18626
  const _hoisted_2$4 = { class: "bm-dc-table-widget__title" };
18731
18627
  const _hoisted_3$3 = { class: "bm-dc-table-widget__title-samll" };
18732
18628
  const _hoisted_4$3 = { class: "bm-dc-table-widget__top-bar" };
@@ -18745,32 +18641,18 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
18745
18641
  setup(__props, { emit: emits }) {
18746
18642
  const props = __props;
18747
18643
  dayjs__default["default"].extend(customParseFormat__default["default"]);
18748
- const accosiationParseKeyMap = {
18644
+ const productInfoKeyMap = {
18749
18645
  \u5546\u54C1\u540D\u79F0: "productName",
18750
18646
  \u5546\u54C1\u7B80\u79F0: "productShortName",
18751
18647
  \u5546\u54C1\u56FE\u7247: "picUrl",
18752
18648
  \u5EFA\u8BAE\u96F6\u552E\u4EF7: "retailPrice",
18753
18649
  \u5546\u54C1\u7BB1\u89C4: "carton",
18754
- \u5546\u54C1\u5355\u4F4D: "unit",
18755
- \u5E97\u94FA\u6240\u5C5E\u5E73\u53F0: "platformName",
18756
- \u6E20\u9053: "channelName",
18757
- \u6E20\u9053\u7C7B\u522B: "channelTypeName",
18758
- \u5BA2\u6237\u7B80\u79F0: "",
18759
- \u5BA2\u6237\u7C7B\u578B: "",
18760
- \u5BA2\u6237\u7B49\u7EA7: "",
18761
- \u6240\u5C5E\u5E97\u94FA: "",
18762
- \u5E97\u94FA\u7F16\u53F7: "",
18763
- SAP\u5BA2\u6237\u7F16\u53F7: ""
18764
- };
18765
- let indexMap = {
18766
- product: 0,
18767
- shop: 0,
18768
- customer: 0
18650
+ \u5546\u54C1\u5355\u4F4D: "unit"
18769
18651
  };
18652
+ let productIndex = 0;
18770
18653
  const oper = "oper";
18771
18654
  const bmFloatTableRef = vue.ref();
18772
18655
  const importFeature = vue.computed(() => isShow("import"));
18773
- const exportFeature = vue.computed(() => isShow("export"));
18774
18656
  const deleteFeature = vue.computed(() => isShow("delete"));
18775
18657
  const copyFeature = vue.computed(() => isShow("copy"));
18776
18658
  const columns = vue.reactive([]);
@@ -18820,8 +18702,6 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
18820
18702
  }, {}) || {}
18821
18703
  );
18822
18704
  const productInputSlots = vue.reactive([]);
18823
- const shopInputSlots = vue.reactive([]);
18824
- const customerInputSlots = vue.reactive([]);
18825
18705
  const formData = vue.computed(
18826
18706
  () => props.formData || props.formCreateInject.api.bind()
18827
18707
  );
@@ -18832,8 +18712,6 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
18832
18712
  columns.splice(0, columns.length);
18833
18713
  data.splice(0, data.length);
18834
18714
  productInputSlots.splice(0, productInputSlots.length);
18835
- shopInputSlots.splice(0, shopInputSlots.length);
18836
- customerInputSlots.splice(0, customerInputSlots.length);
18837
18715
  const childRules = lodashEs.cloneDeep(props.rule.config.childRules);
18838
18716
  const value = props.rule.value;
18839
18717
  if (deleteFeature.value && !props.hidden) {
@@ -18848,8 +18726,8 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
18848
18726
  return pre;
18849
18727
  }
18850
18728
  const name = cur.name;
18851
- if (Object.keys(indexMap).includes(name)) {
18852
- pre.push(...getExtraColumns(cur));
18729
+ if (name === "product") {
18730
+ pre.push(...getProductColumn(cur));
18853
18731
  } else {
18854
18732
  pre.push(ruleList[name].tableRule(cur, props.extraConfig));
18855
18733
  }
@@ -18881,26 +18759,15 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
18881
18759
  function productPicName(value, field) {
18882
18760
  return `${value}-${field}`;
18883
18761
  }
18884
- function getExtraColumns(rule) {
18885
- const configObj = {
18886
- shop: {
18887
- prefix: "\u5E97\u94FA",
18888
- slots: shopInputSlots
18889
- },
18890
- product: { prefix: "\u5546\u54C1", slots: productInputSlots },
18891
- customer: { prefix: "\u5BA2\u6237", slots: customerInputSlots }
18892
- }[rule.name];
18893
- const mainName = `${configObj.prefix}${String(++indexMap[rule.name]).padStart(
18894
- 2,
18895
- "0"
18896
- )}`;
18762
+ function getProductColumn(rule) {
18763
+ const productName = `\u5546\u54C1${String(++productIndex).padStart(2, "0")}`;
18897
18764
  const field = rule.field;
18898
18765
  const associatedFields = rule.config.associatedFields;
18899
- configObj.slots.push(rule);
18766
+ productInputSlots.push(rule);
18900
18767
  const columns2 = [
18901
18768
  {
18902
18769
  field,
18903
- title: rule.name === "product" ? `\u5546\u54C1\u7F16\u7801-${mainName}` : `${mainName}`,
18770
+ title: `\u5546\u54C1\u7F16\u7801-${productName}`,
18904
18771
  headerClassName: rule.effect.required ? "is-required" : "",
18905
18772
  minWidth: "138px",
18906
18773
  slots: {
@@ -18913,7 +18780,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
18913
18780
  const childField = productPicName(item.value, field);
18914
18781
  columns2.push({
18915
18782
  field: childField,
18916
- title: `${item.label}-${mainName}`,
18783
+ title: `${item.label}-${productName}`,
18917
18784
  minWidth: "138px",
18918
18785
  slots: {
18919
18786
  default({ row }) {
@@ -18977,14 +18844,6 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
18977
18844
  inputRef.value.click();
18978
18845
  }
18979
18846
  }
18980
- function handleExport() {
18981
- xGrid.value.exportData({
18982
- mode: "all",
18983
- columnFilterMethod({ column }) {
18984
- return isValidColumn(column);
18985
- }
18986
- });
18987
- }
18988
18847
  function emitChange() {
18989
18848
  emits("change", data);
18990
18849
  }
@@ -19013,7 +18872,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
19013
18872
  function processAssociatedFields(field, associatedFields, row, result) {
19014
18873
  if (associatedFields.length)
19015
18874
  associatedFields.forEach((item) => {
19016
- row[productPicName(item.value, field)] = result ? result[accosiationParseKeyMap[item.value]] : void 0;
18875
+ row[productPicName(item.value, field)] = result ? result[productInfoKeyMap[item.value]] : void 0;
19017
18876
  });
19018
18877
  }
19019
18878
  function handleChange(e) {
@@ -19066,12 +18925,12 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
19066
18925
  const validColumns = columns.filter((c) => isValidColumn(c));
19067
18926
  for (const row of rowData) {
19068
18927
  for (const { field } of validColumns) {
19069
- const rule = childRulesMap.value[`${field}`];
18928
+ const rule = childRulesMap.value[field];
19070
18929
  const title = rule?.title?.title;
19071
18930
  if (!rule)
19072
18931
  continue;
19073
18932
  const fieldNames = props.extraConfig[rule.name]?.fieldNames;
19074
- let value = row[`${field}`] || "";
18933
+ let value = row[field] || "";
19075
18934
  const txtFormatFn = rule.config?.txtFormatFn;
19076
18935
  if (!value) {
19077
18936
  if (rule.effect.required && rule.name !== "materialType") {
@@ -19224,7 +19083,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
19224
19083
  break;
19225
19084
  }
19226
19085
  }
19227
- row[`${field}`] = value;
19086
+ row[field] = value;
19228
19087
  }
19229
19088
  if (error)
19230
19089
  break;
@@ -19247,15 +19106,6 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
19247
19106
  row[rule.field] = value;
19248
19107
  queryProductInfo(rule, row);
19249
19108
  }
19250
- function handleShopOption(value, rule, row) {
19251
- row[rule?.field] = value;
19252
- processAssociatedFields(
19253
- rule?.field,
19254
- rule?.config?.associatedFields,
19255
- row,
19256
- value
19257
- );
19258
- }
19259
19109
  function importDisabled() {
19260
19110
  return productInputSlots.filter((item) => item.config?.dataFiltering).some((item) => !formData.value[item.config.dataFiltering]);
19261
19111
  }
@@ -19278,23 +19128,12 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
19278
19128
  }
19279
19129
  );
19280
19130
  return (_ctx, _cache) => {
19281
- return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
19131
+ return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
19282
19132
  vue.createElementVNode("div", _hoisted_2$4, [
19283
19133
  vue.createTextVNode(vue.toDisplayString(__props.rule.title.title) + " ", 1),
19284
19134
  vue.createElementVNode("span", _hoisted_3$3, vue.toDisplayString(vue.unref(countText)), 1),
19285
19135
  vue.createElementVNode("div", _hoisted_4$3, [
19286
- vue.unref(exportFeature) && !__props.hidden ? (vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.Button), {
19287
- key: 0,
19288
- disabled: __props.disabled,
19289
- onClick: handleExport
19290
- }, {
19291
- default: vue.withCtx(() => [
19292
- vue.createTextVNode("\u5BFC\u51FA")
19293
- ]),
19294
- _: 1
19295
- }, 8, ["disabled"])) : vue.createCommentVNode("v-if", true),
19296
- vue.createTextVNode("\xA0 "),
19297
- vue.unref(importFeature) && !__props.hidden ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
19136
+ vue.unref(importFeature) && !__props.hidden ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
19298
19137
  vue.createElementVNode("input", {
19299
19138
  ref_key: "inputRef",
19300
19139
  ref: inputRef,
@@ -19324,7 +19163,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
19324
19163
  }, 8, ["disabled"])
19325
19164
  ], 64)) : vue.createCommentVNode("v-if", true),
19326
19165
  vue.unref(deleteFeature) && !__props.hidden ? (vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.Button), {
19327
- key: 2,
19166
+ key: 1,
19328
19167
  disabled: __props.disabled,
19329
19168
  onClick: handleBatchDelete
19330
19169
  }, {
@@ -19334,7 +19173,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
19334
19173
  _: 1
19335
19174
  }, 8, ["disabled"])) : vue.createCommentVNode("v-if", true),
19336
19175
  !__props.hidden ? (vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.Button), {
19337
- key: 3,
19176
+ key: 2,
19338
19177
  type: "primary",
19339
19178
  disabled: __props.disabled,
19340
19179
  onClick: handleAdd
@@ -19396,33 +19235,6 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
19396
19235
  }, null, 8, ["value", "disabled", "shop-value", "onChange"])
19397
19236
  ])
19398
19237
  };
19399
- }),
19400
- vue.renderList(shopInputSlots, (item) => {
19401
- return {
19402
- name: item.field,
19403
- fn: vue.withCtx(({ row }) => [
19404
- vue.createCommentVNode(" {{ item }} "),
19405
- vue.createVNode(ShopInput, {
19406
- value: row[item.field],
19407
- fetch: __props.extraConfig?.shop,
19408
- "data-filtering": item?.config?.dataFiltering,
19409
- onChange: ($event) => handleShopOption($event, item, row)
19410
- }, null, 8, ["value", "fetch", "data-filtering", "onChange"])
19411
- ])
19412
- };
19413
- }),
19414
- vue.renderList(customerInputSlots, (item) => {
19415
- return {
19416
- name: item.field,
19417
- fn: vue.withCtx(({ row }) => [
19418
- vue.createVNode(CustomerInput, {
19419
- value: row[item.field],
19420
- disabled: item.disabled || pruductInputDisabled(item.config?.dataFiltering),
19421
- "shop-value": vue.unref(formData)[item.config.dataFiltering],
19422
- onChange: ($event) => handlePressEnter($event, item, row)
19423
- }, null, 8, ["value", "disabled", "shop-value", "onChange"])
19424
- ])
19425
- };
19426
19238
  })
19427
19239
  ]), 1032, ["config"])
19428
19240
  ]),
@@ -19435,7 +19247,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
19435
19247
  });
19436
19248
  var TableWidget = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__file", "table-widget.vue"]]);
19437
19249
 
19438
- const _hoisted_1$4 = /* @__PURE__ */ vue.createElementVNode("span", { class: "bm-fc-form-item-label is-required" }, "\u7D20\u6750\u6A21\u677F\uFF1A", -1);
19250
+ const _hoisted_1$3 = /* @__PURE__ */ vue.createElementVNode("span", { class: "bm-fc-form-item-label is-required" }, "\u7D20\u6750\u6A21\u677F\uFF1A", -1);
19439
19251
  const _hoisted_2$3 = { key: 0 };
19440
19252
  const _hoisted_3$2 = /* @__PURE__ */ vue.createElementVNode("span", { class: "bm-fc-form-item-label" }, "\u7D20\u6750\u7C7B\u578B\uFF1A", -1);
19441
19253
  const _hoisted_4$2 = /* @__PURE__ */ vue.createElementVNode("span", { class: "bm-fc-form-item-label" }, "\u5C3A\u5BF8\uFF1A", -1);
@@ -19771,7 +19583,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
19771
19583
  default: vue.withCtx(() => [
19772
19584
  vue.createVNode(vue.unref(antDesignVue.Col), null, {
19773
19585
  default: vue.withCtx(() => [
19774
- _hoisted_1$4
19586
+ _hoisted_1$3
19775
19587
  ]),
19776
19588
  _: 1
19777
19589
  }),
@@ -20063,7 +19875,7 @@ var materialTemp = {
20063
19875
  },
20064
19876
  };
20065
19877
 
20066
- const _hoisted_1$3 = { class: "bm-fc-form-item-label" };
19878
+ const _hoisted_1$2 = { class: "bm-fc-form-item-label" };
20067
19879
  const _hoisted_2$2 = ["src"];
20068
19880
  const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
20069
19881
  __name: "product-info",
@@ -20195,7 +20007,7 @@ const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
20195
20007
  default: vue.withCtx(() => [
20196
20008
  vue.createVNode(vue.unref(antDesignVue.Col), null, {
20197
20009
  default: vue.withCtx(() => [
20198
- vue.createElementVNode("span", _hoisted_1$3, vue.toDisplayString(field.label) + "\uFF1A", 1)
20010
+ vue.createElementVNode("span", _hoisted_1$2, vue.toDisplayString(field.label) + "\uFF1A", 1)
20199
20011
  ]),
20200
20012
  _: 2
20201
20013
  }, 1024),
@@ -20297,7 +20109,6 @@ var product = {
20297
20109
  },
20298
20110
  };
20299
20111
 
20300
- const _hoisted_1$2 = { class: "bm-fc-form-item-label" };
20301
20112
  const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
20302
20113
  __name: "shop-widget",
20303
20114
  props: [
@@ -20306,20 +20117,14 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
20306
20117
  "dataFiltering",
20307
20118
  "disabled",
20308
20119
  "formCreateInject",
20309
- "fdRule",
20310
- "required",
20311
- "title",
20312
- "associatedFields"
20120
+ "fdRule"
20313
20121
  ],
20314
20122
  emits: ["change"],
20315
20123
  setup(__props, { emit: emits }) {
20316
20124
  const props = __props;
20317
20125
  const fieldNames = props.extraConfig.fieldNames || {
20318
20126
  label: "name",
20319
- value: "code",
20320
- channelName: "channelName",
20321
- platformName: "platformName",
20322
- channelTypeName: "channelTypeName"
20127
+ value: "code"
20323
20128
  };
20324
20129
  const options = vue.ref([]);
20325
20130
  const keyword = vue.ref("");
@@ -20385,99 +20190,23 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
20385
20190
  keyword.value = value;
20386
20191
  debounceFetch(value);
20387
20192
  }
20388
- const shopInfoKeyMap = {
20389
- \u5E97\u94FA\u6240\u5C5E\u5E73\u53F0: "platformName",
20390
- \u6E20\u9053: "channelName",
20391
- \u6E20\u9053\u7C7B\u522B: "channelTypeName"
20392
- };
20393
- function getValue(value) {
20394
- const parse = shopInfoKeyMap[value];
20395
- return props.formCreateInject?.rule?.value?.[parse];
20396
- }
20397
20193
  initOptions();
20398
20194
  return (_ctx, _cache) => {
20399
- return vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.Row), { gutter: [0, 24] }, {
20400
- default: vue.withCtx(() => [
20401
- vue.createVNode(vue.unref(antDesignVue.Col), {
20402
- span: __props.associatedFields?.length ? 8 : 24
20403
- }, {
20404
- default: vue.withCtx(() => [
20405
- vue.createVNode(vue.unref(antDesignVue.Row), null, {
20406
- default: vue.withCtx(() => [
20407
- vue.createVNode(vue.unref(antDesignVue.Col), null, {
20408
- default: vue.withCtx(() => [
20409
- vue.createElementVNode("span", {
20410
- class: vue.normalizeClass([
20411
- "bm-fc-form-item-label",
20412
- props.required ? "is-required" : ""
20413
- ])
20414
- }, vue.toDisplayString(__props.title) + "\uFF1A", 3)
20415
- ]),
20416
- _: 1
20417
- }),
20418
- vue.createVNode(vue.unref(antDesignVue.Col), { flex: 1 }, {
20419
- default: vue.withCtx(() => [
20420
- vue.createVNode(vue.unref(antDesignVue.Select), {
20421
- value: __props.formCreateInject?.rule?.value?.value || __props.value?.value,
20422
- placeholder: "\u8BF7\u9009\u62E9",
20423
- "show-search": "",
20424
- "show-arrow": false,
20425
- "default-active-first-option": false,
20426
- "filter-option": false,
20427
- "not-found-content": null,
20428
- options: options.value,
20429
- "get-popup-container": vue.unref(getContainer),
20430
- disabled: __props.disabled,
20431
- "allow-clear": "",
20432
- onChange: handleChangeConfirm,
20433
- onSearch: handleSearch
20434
- }, null, 8, ["value", "options", "get-popup-container", "disabled"])
20435
- ]),
20436
- _: 1
20437
- })
20438
- ]),
20439
- _: 1
20440
- })
20441
- ]),
20442
- _: 1
20443
- }, 8, ["span"]),
20444
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(__props.associatedFields, (field2) => {
20445
- return vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.Col), {
20446
- key: field2.value,
20447
- span: 8
20448
- }, {
20449
- default: vue.withCtx(() => [
20450
- vue.createVNode(vue.unref(antDesignVue.Row), null, {
20451
- default: vue.withCtx(() => [
20452
- vue.createVNode(vue.unref(antDesignVue.Col), null, {
20453
- default: vue.withCtx(() => [
20454
- vue.createElementVNode("span", _hoisted_1$2, vue.toDisplayString(field2.label) + "\uFF1A", 1)
20455
- ]),
20456
- _: 2
20457
- }, 1024),
20458
- vue.createVNode(vue.unref(antDesignVue.Col), {
20459
- class: "bm-fc-form-item",
20460
- flex: 1
20461
- }, {
20462
- default: vue.withCtx(() => [
20463
- getValue(field2.value) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
20464
- vue.createTextVNode(vue.toDisplayString(getValue(field2.value)), 1)
20465
- ], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
20466
- vue.createTextVNode("\u7CFB\u7EDF\u81EA\u52A8\u5E26\u51FA")
20467
- ], 64))
20468
- ]),
20469
- _: 2
20470
- }, 1024)
20471
- ]),
20472
- _: 2
20473
- }, 1024)
20474
- ]),
20475
- _: 2
20476
- }, 1024);
20477
- }), 128))
20478
- ]),
20479
- _: 1
20480
- });
20195
+ return vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.Select), {
20196
+ value: __props.formCreateInject?.rule?.value?.value || __props.value?.value,
20197
+ placeholder: "\u8BF7\u9009\u62E9",
20198
+ "show-search": "",
20199
+ "show-arrow": false,
20200
+ "default-active-first-option": false,
20201
+ "filter-option": false,
20202
+ "not-found-content": null,
20203
+ options: options.value,
20204
+ "get-popup-container": vue.unref(getContainer),
20205
+ disabled: __props.disabled,
20206
+ "allow-clear": "",
20207
+ onChange: handleChangeConfirm,
20208
+ onSearch: handleSearch
20209
+ }, null, 8, ["value", "options", "get-popup-container", "disabled"]);
20481
20210
  };
20482
20211
  }
20483
20212
  });
@@ -20491,16 +20220,14 @@ var shop = {
20491
20220
  return {
20492
20221
  type: 'ShopWidget',
20493
20222
  component: ShopWidget,
20223
+ title: `${data.title.title}${data.config.isMain ? '(主控件)' : ''}`,
20494
20224
  field: data.field,
20495
20225
  effect: {
20496
20226
  required: data.effect.required && '请选择店铺',
20497
20227
  },
20498
20228
  props: {
20499
20229
  dataFiltering: (_a = data.config) === null || _a === void 0 ? void 0 : _a.dataFiltering,
20500
- associatedFields: data.config.associatedFields,
20501
20230
  extraConfig: shopExtraConfig,
20502
- required: data.effect.required,
20503
- title: `${data.title.title}${data.config.isMain ? '(主控件)' : ''}`,
20504
20231
  },
20505
20232
  inject: true,
20506
20233
  on: {
@@ -21150,22 +20877,11 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
21150
20877
  "extraConfig",
21151
20878
  "value",
21152
20879
  "info",
21153
- "formPermissions",
21154
- "resolveRulesConfig"
20880
+ "formPermissions"
21155
20881
  ],
21156
20882
  emits: ["update:value"],
21157
20883
  setup(__props, { expose, emit: emits }) {
21158
20884
  const props = __props;
21159
- const formRuleList = vue.computed(() => {
21160
- if (typeof props.resolveRulesConfig === "function") {
21161
- const rules = props.resolveRulesConfig(ruleList);
21162
- if (!rules) {
21163
- throw new Error("resolveRulesConfig\u9700\u8FD4\u56DErules\u89E3\u6790\u5BF9\u8C61");
21164
- }
21165
- return props.resolveRulesConfig(ruleList) || {};
21166
- }
21167
- return ruleList;
21168
- });
21169
20885
  const option = vue.computed(() => ({
21170
20886
  wrap: {
21171
20887
  labelCol: {
@@ -21204,19 +20920,12 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
21204
20920
  function makeRule(fdRule) {
21205
20921
  return fdRule.map((data) => {
21206
20922
  const childRules = data?.config?.childRules;
21207
- const rule2 = formRuleList.value[data.name]?.rule(data, props.extraConfig);
21208
- if (!rule2) {
21209
- console.error(`\u672A\u914D\u7F6Erule \u3010${data.name}\u3011\u89E3\u6790\u5BF9\u8C61`);
21210
- return null;
21211
- }
20923
+ const rule2 = ruleList[data.name].rule(data, props.extraConfig);
21212
20924
  if (data.name === "row" && childRules?.length) {
21213
20925
  const rowRule = rule2.children.find((item) => item.type === "row");
21214
20926
  childRules.forEach((ruleItem) => {
21215
20927
  rowRule.children.push(
21216
- formRuleList.value[ruleItem.name]?.rowRule(
21217
- ruleItem,
21218
- props.extraConfig
21219
- )
20928
+ ruleList[ruleItem.name].rowRule(ruleItem, props.extraConfig)
21220
20929
  );
21221
20930
  });
21222
20931
  }
@@ -21280,7 +20989,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
21280
20989
  }
21281
20990
  }
21282
20991
  function getFormFeildRule(rule2) {
21283
- if (rule2?.native) {
20992
+ if (rule2.native) {
21284
20993
  return rule2.children.find((item) => item.field);
21285
20994
  } else
21286
20995
  return rule2;