bm-admin-ui 1.0.48-alpha → 1.0.50-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 (33) hide show
  1. package/es/components/editor/index.d.ts +4 -4
  2. package/es/components/editor/src/editor.vue.d.ts +4 -4
  3. package/es/components/form-create/index.js +264 -117
  4. package/es/components/input-tags-display/index.d.ts +1 -1
  5. package/es/components/input-tags-display/src/input-tags-display.vue.d.ts +1 -1
  6. package/es/components/search-filter/index.d.ts +2 -2
  7. package/es/components/search-filter/src/search-filter.vue.d.ts +2 -2
  8. package/es/components/select-all/index.d.ts +1 -1
  9. package/es/components/select-all/src/selectAll.vue.d.ts +1 -1
  10. package/es/components/staffs-selector/index.d.ts +2 -2
  11. package/es/components/staffs-selector/src/staffs-selector.vue.d.ts +2 -2
  12. package/lib/components/editor/index.d.ts +4 -4
  13. package/lib/components/editor/src/editor.vue.d.ts +4 -4
  14. package/lib/components/form-create/index.js +263 -116
  15. package/lib/components/input-tags-display/index.d.ts +1 -1
  16. package/lib/components/input-tags-display/src/input-tags-display.vue.d.ts +1 -1
  17. package/lib/components/search-filter/index.d.ts +2 -2
  18. package/lib/components/search-filter/src/search-filter.vue.d.ts +2 -2
  19. package/lib/components/select-all/index.d.ts +1 -1
  20. package/lib/components/select-all/src/selectAll.vue.d.ts +1 -1
  21. package/lib/components/staffs-selector/index.d.ts +2 -2
  22. package/lib/components/staffs-selector/src/staffs-selector.vue.d.ts +2 -2
  23. package/package.json +1 -1
  24. package/types/components/editor/index.d.ts +4 -4
  25. package/types/components/editor/src/editor.vue.d.ts +4 -4
  26. package/types/components/input-tags-display/index.d.ts +1 -1
  27. package/types/components/input-tags-display/src/input-tags-display.vue.d.ts +1 -1
  28. package/types/components/search-filter/index.d.ts +2 -2
  29. package/types/components/search-filter/src/search-filter.vue.d.ts +2 -2
  30. package/types/components/select-all/index.d.ts +1 -1
  31. package/types/components/select-all/src/selectAll.vue.d.ts +1 -1
  32. package/types/components/staffs-selector/index.d.ts +2 -2
  33. package/types/components/staffs-selector/src/staffs-selector.vue.d.ts +2 -2
@@ -85,10 +85,18 @@ var input = {
85
85
  value: row[field],
86
86
  placeholder: data.props.placeholder,
87
87
  disabled: data.disabled,
88
- maxlength: 200,
88
+ maxlength: data.props.maxlength || 200,
89
89
  'onUpdate:value': (value) => {
90
90
  row[field] = value;
91
91
  },
92
+ onBlur() {
93
+ var _a;
94
+ const value = row[field];
95
+ const txtFormatFn = (_a = data === null || data === void 0 ? void 0 : data.config) === null || _a === void 0 ? void 0 : _a.txtFormatFn;
96
+ if (txtFormatFn && !txtFormatFn(value)) {
97
+ row[field] = '';
98
+ }
99
+ },
92
100
  });
93
101
  },
94
102
  },
@@ -220,6 +228,8 @@ var numInput = {
220
228
  return vue.h(antDesignVue.InputNumber, {
221
229
  value: row[field],
222
230
  placeholder: data.props.placeholder,
231
+ parser: data.props.parser,
232
+ formatter: data.props.formatter,
223
233
  'onUpdate:value': (value) => {
224
234
  row[field] = value;
225
235
  },
@@ -784,7 +794,8 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
784
794
  "defaultSelected",
785
795
  "load",
786
796
  "disabled",
787
- "fieldNames"
797
+ "fieldNames",
798
+ "immediateFetch"
788
799
  ],
789
800
  emits: ["change"],
790
801
  setup(__props, { emit: emits }) {
@@ -837,8 +848,9 @@ const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
837
848
  "onUpdate:visible": _cache[2] || (_cache[2] = ($event) => visible.value = $event),
838
849
  title: __props.title,
839
850
  mode: __props.mode,
840
- load: __props.load
841
- }, null, 8, ["select", "visible", "title", "mode", "load"])
851
+ load: __props.load,
852
+ "immediate-fetch": __props.immediateFetch
853
+ }, null, 8, ["select", "visible", "title", "mode", "load", "immediate-fetch"])
842
854
  ]);
843
855
  };
844
856
  }
@@ -936,9 +948,21 @@ var people = {
936
948
  minWidth: data.config.fieldRatio,
937
949
  slots: {
938
950
  default({ row }) {
939
- return vue.h(StaffSelector, Object.assign({ title: '添加员工', mode: data.props.limit ? 'radio' : 'multiple', placeholder: data.props.placeholder, disabled: data.disabled, onChange: (value) => {
951
+ return vue.h(StaffSelector, {
952
+ title: '添加员工',
953
+ mode: data.props.limit ? 'radio' : 'multiple',
954
+ placeholder: data.props.placeholder,
955
+ disabled: data.disabled,
956
+ onChange: (value) => {
940
957
  row[field] = value;
941
- }, defaultSelected: row[field] }, extraConfig.people));
958
+ },
959
+ defaultSelected: row[field],
960
+ load(params) {
961
+ return __awaiter(this, void 0, void 0, function* () {
962
+ return yield extraConfig.people.fetch(params);
963
+ });
964
+ },
965
+ });
942
966
  },
943
967
  },
944
968
  };
@@ -998,8 +1022,8 @@ const _hoisted_5$4 = {
998
1022
  key: 1,
999
1023
  class: "bm-fc-select-material-temp__content__circle"
1000
1024
  };
1001
- const _hoisted_6$4 = ["title"];
1002
- const _hoisted_7$4 = { class: "bm-fc-select-material-temp__content__item-time" };
1025
+ const _hoisted_6$3 = ["title"];
1026
+ const _hoisted_7$3 = { class: "bm-fc-select-material-temp__content__item-time" };
1003
1027
  const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
1004
1028
  __name: "select-material-temp",
1005
1029
  props: [
@@ -1214,9 +1238,9 @@ const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
1214
1238
  vue.createElementVNode("span", {
1215
1239
  class: "bm-fc-select-material-temp__content__name",
1216
1240
  title: item.templateName
1217
- }, vue.toDisplayString(item.templateName), 9, _hoisted_6$4)
1241
+ }, vue.toDisplayString(item.templateName), 9, _hoisted_6$3)
1218
1242
  ], 8, _hoisted_4$4),
1219
- vue.createElementVNode("div", _hoisted_7$4, vue.toDisplayString(vue.unref(dayjs__default["default"])(item.lastUpdateTime).format("YYYY/MM/DD")), 1)
1243
+ vue.createElementVNode("div", _hoisted_7$3, vue.toDisplayString(vue.unref(dayjs__default["default"])(item.lastUpdateTime).format("YYYY/MM/DD")), 1)
1220
1244
  ])
1221
1245
  ]),
1222
1246
  _: 2
@@ -1253,11 +1277,15 @@ const _hoisted_2$4 = { class: "bm-dc-table-widget__title" };
1253
1277
  const _hoisted_3$3 = { class: "bm-dc-table-widget__title-samll" };
1254
1278
  const _hoisted_4$3 = { class: "bm-dc-table-widget__top-bar" };
1255
1279
  const _hoisted_5$3 = { class: "bm-dc-table-widget__table" };
1256
- const _hoisted_6$3 = ["onClick"];
1257
- const _hoisted_7$3 = ["onClick"];
1258
1280
  const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
1259
1281
  __name: "table-widget",
1260
- props: ["rule", "extraConfig", "disabled"],
1282
+ props: [
1283
+ "rule",
1284
+ "extraConfig",
1285
+ "disabled",
1286
+ "disabledTable",
1287
+ "hidden"
1288
+ ],
1261
1289
  emits: ["change"],
1262
1290
  setup(__props, { emit: emits }) {
1263
1291
  const props = __props;
@@ -1280,7 +1308,10 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
1280
1308
  columns: [...columns],
1281
1309
  data: [...data],
1282
1310
  checkboxConfig: {
1283
- trigger: "cell"
1311
+ trigger: "cell",
1312
+ checkMethod() {
1313
+ return !props.disabled;
1314
+ }
1284
1315
  }
1285
1316
  }));
1286
1317
  const countText = vue.computed(() => {
@@ -1316,13 +1347,13 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
1316
1347
  data.splice(0, data.length);
1317
1348
  const childRules = lodashEs.cloneDeep(props.rule.config.childRules);
1318
1349
  const value = props.rule.value;
1319
- if (deleteFeature.value) {
1350
+ if (deleteFeature.value && !props.hidden) {
1320
1351
  columns.push({
1321
1352
  type: "checkbox",
1322
1353
  width: "54px"
1323
1354
  });
1324
1355
  }
1325
- if (props.disabled) {
1356
+ if (props.disabledTable) {
1326
1357
  childRules.forEach((rule) => {
1327
1358
  rule.disabled = true;
1328
1359
  });
@@ -1341,15 +1372,16 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
1341
1372
  return pre;
1342
1373
  }, [])
1343
1374
  );
1344
- columns.push({
1345
- field: oper,
1346
- title: "\u64CD\u4F5C",
1347
- minWidth: "100px",
1348
- fixed: "right",
1349
- slots: {
1350
- default: "floatHandle"
1351
- }
1352
- });
1375
+ if (!props.hidden)
1376
+ columns.push({
1377
+ field: oper,
1378
+ title: "\u64CD\u4F5C",
1379
+ minWidth: "140px",
1380
+ fixed: "right",
1381
+ slots: {
1382
+ default: "floatHandle"
1383
+ }
1384
+ });
1353
1385
  handleAdd(value);
1354
1386
  }
1355
1387
  function getRowData() {
@@ -1514,19 +1546,25 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
1514
1546
  vue.createTextVNode(vue.toDisplayString(__props.rule.title.title) + " ", 1),
1515
1547
  vue.createElementVNode("span", _hoisted_3$3, vue.toDisplayString(vue.unref(countText)), 1),
1516
1548
  vue.createElementVNode("div", _hoisted_4$3, [
1517
- vue.unref(importFeature) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
1518
- vue.createVNode(vue.unref(antDesignVue.Button), { onClick: handleDownload }, {
1549
+ vue.unref(importFeature) && !__props.hidden ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
1550
+ vue.createVNode(vue.unref(antDesignVue.Button), {
1551
+ disabled: __props.disabled,
1552
+ onClick: handleDownload
1553
+ }, {
1519
1554
  default: vue.withCtx(() => [
1520
1555
  vue.createTextVNode("\u4E0B\u8F7D\u6A21\u677F")
1521
1556
  ]),
1522
1557
  _: 1
1523
- }),
1524
- vue.createVNode(vue.unref(antDesignVue.Button), { onClick: handleImport }, {
1558
+ }, 8, ["disabled"]),
1559
+ vue.createVNode(vue.unref(antDesignVue.Button), {
1560
+ disabled: __props.disabled,
1561
+ onClick: handleImport
1562
+ }, {
1525
1563
  default: vue.withCtx(() => [
1526
1564
  vue.createTextVNode("\u6279\u91CF\u5BFC\u5165")
1527
1565
  ]),
1528
1566
  _: 1
1529
- }),
1567
+ }, 8, ["disabled"]),
1530
1568
  vue.createElementVNode("input", {
1531
1569
  ref_key: "inputRef",
1532
1570
  ref: inputRef,
@@ -1537,17 +1575,20 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
1537
1575
  onChange: handleChange
1538
1576
  }, null, 544)
1539
1577
  ], 64)) : vue.createCommentVNode("v-if", true),
1540
- vue.unref(deleteFeature) ? (vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.Button), {
1578
+ vue.unref(deleteFeature) && !__props.hidden ? (vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.Button), {
1541
1579
  key: 1,
1580
+ disabled: __props.disabled,
1542
1581
  onClick: handleBatchDelete
1543
1582
  }, {
1544
1583
  default: vue.withCtx(() => [
1545
1584
  vue.createTextVNode("\u6279\u91CF\u5220\u9664")
1546
1585
  ]),
1547
1586
  _: 1
1548
- })) : vue.createCommentVNode("v-if", true),
1549
- vue.createVNode(vue.unref(antDesignVue.Button), {
1587
+ }, 8, ["disabled"])) : vue.createCommentVNode("v-if", true),
1588
+ !__props.hidden ? (vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.Button), {
1589
+ key: 2,
1550
1590
  type: "primary",
1591
+ disabled: __props.disabled,
1551
1592
  onClick: handleAdd
1552
1593
  }, {
1553
1594
  default: vue.withCtx(() => [
@@ -1555,7 +1596,7 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
1555
1596
  vue.createTextVNode(" \u65B0\u589E ")
1556
1597
  ]),
1557
1598
  _: 1
1558
- })
1599
+ }, 8, ["disabled"])) : vue.createCommentVNode("v-if", true)
1559
1600
  ])
1560
1601
  ]),
1561
1602
  vue.createElementVNode("div", _hoisted_5$3, [
@@ -1568,14 +1609,30 @@ const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
1568
1609
  }, {
1569
1610
  floatHandle: vue.withCtx(({ row, rowIndex }) => [
1570
1611
  vue.unref(copyFeature) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
1571
- vue.createElementVNode("a", {
1612
+ vue.createVNode(vue.unref(antDesignVue.Button), {
1613
+ type: "link",
1614
+ size: "small",
1615
+ disabled: __props.disabled,
1572
1616
  onClick: ($event) => handleCopy(row)
1573
- }, "\u590D\u5236", 8, _hoisted_6$3),
1617
+ }, {
1618
+ default: vue.withCtx(() => [
1619
+ vue.createTextVNode("\u590D\u5236")
1620
+ ]),
1621
+ _: 2
1622
+ }, 1032, ["disabled", "onClick"]),
1574
1623
  vue.createVNode(vue.unref(antDesignVue.Divider), { type: "vertical" })
1575
1624
  ], 64)) : vue.createCommentVNode("v-if", true),
1576
- vue.createElementVNode("a", {
1625
+ vue.createVNode(vue.unref(antDesignVue.Button), {
1626
+ type: "link",
1627
+ size: "small",
1628
+ disabled: __props.disabled,
1577
1629
  onClick: ($event) => handleDelete(rowIndex)
1578
- }, "\u5220\u9664", 8, _hoisted_7$3)
1630
+ }, {
1631
+ default: vue.withCtx(() => [
1632
+ vue.createTextVNode("\u5220\u9664")
1633
+ ]),
1634
+ _: 2
1635
+ }, 1032, ["disabled", "onClick"])
1579
1636
  ]),
1580
1637
  _: 1
1581
1638
  }, 8, ["config"])
@@ -1632,7 +1689,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
1632
1689
  getTempDetail(tempId).then((result) => {
1633
1690
  const activePane2 = getAcitvePane();
1634
1691
  activePane2.tempSelected = result;
1635
- activePane2.tableRule = getTableRule(result.coverageArr);
1692
+ activePane2.tableRule = getTableRule(result);
1636
1693
  });
1637
1694
  }
1638
1695
  function getAcitvePane() {
@@ -1673,44 +1730,97 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
1673
1730
  }
1674
1731
  }
1675
1732
  }
1676
- function getTableRule(coverageArr) {
1733
+ function getTableRule(tempResult) {
1734
+ const { coverageArr, preSetItems } = tempResult;
1677
1735
  const fieldTypeMap = {
1678
1736
  1: "input",
1679
1737
  2: "numInput",
1680
1738
  3: "date",
1681
- 4: "input"
1739
+ 4: "product"
1682
1740
  };
1683
1741
  const formatMap = {
1684
1742
  0: "YYYY-MM",
1685
1743
  1: "YYYY-MM-DD",
1686
1744
  2: "YYYY-MM-DD HH:mm"
1687
1745
  };
1746
+ const txtFormatFnMap = {
1747
+ 1: (txt) => /^\d{11}$/.test(txt),
1748
+ 2: (txt) => /^(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}$/.test(txt),
1749
+ 3: (txt) => /(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(txt),
1750
+ 4: (txt) => /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(txt)
1751
+ };
1688
1752
  const activePane2 = getAcitvePane();
1689
- const childRules = coverageArr.filter((coverage) => coverage.fieldType === 4 || coverage.isEdit).map((coverage) => {
1690
- const extraValues = JSON.parse(coverage.extraValues);
1691
- const value = {
1692
- name: fieldTypeMap[coverage.fieldType],
1693
- title: {
1694
- title: coverage.name
1695
- },
1696
- field: coverage.name,
1697
- effect: {
1698
- required: coverage.fieldType === 4 || coverage.isCheck
1699
- },
1700
- config: {
1701
- fieldRatio: "140px"
1702
- }
1703
- };
1704
- if (coverage.fieldType === 3) {
1705
- value.props = {};
1706
- value.props.format = formatMap[extraValues.format];
1707
- }
1708
- if (coverage.fieldType === 1 || coverage.fieldType === 2 || coverage.fieldType === 4) {
1709
- value.props = {};
1710
- value.props.placeholder = "\u8BF7\u8F93\u5165";
1753
+ const childRules = preSetItems.split(",").map((preSetItem) => ({
1754
+ name: "product",
1755
+ title: {
1756
+ title: preSetItem
1757
+ },
1758
+ field: preSetItem,
1759
+ effect: {
1760
+ required: true
1761
+ },
1762
+ props: {
1763
+ placeholder: "\u8BF7\u8F93\u5165"
1764
+ },
1765
+ config: {
1766
+ associatedFields: coverageArr.filter((coverage) => {
1767
+ if (coverage.fieldType === 4) {
1768
+ const extraValues = JSON.parse(coverage.extraValues);
1769
+ return extraValues.fieldName === preSetItem;
1770
+ } else {
1771
+ return false;
1772
+ }
1773
+ }).map((coverage) => {
1774
+ const extraValues = JSON.parse(coverage.extraValues);
1775
+ return {
1776
+ value: extraValues.presetFieldName,
1777
+ label: extraValues.presetFieldName
1778
+ };
1779
+ })
1711
1780
  }
1712
- return value;
1713
- });
1781
+ })).concat(
1782
+ coverageArr.filter((coverage) => coverage.isEdit).map((coverage) => {
1783
+ const extraValues = JSON.parse(coverage.extraValues);
1784
+ const value = {
1785
+ name: fieldTypeMap[coverage.fieldType],
1786
+ title: {
1787
+ title: coverage.name
1788
+ },
1789
+ field: coverage.name,
1790
+ effect: {
1791
+ required: coverage.isCheck
1792
+ },
1793
+ config: {
1794
+ fieldRatio: "140px"
1795
+ }
1796
+ };
1797
+ if (coverage.fieldType === 1) {
1798
+ value.props = {
1799
+ placeholder: "\u8BF7\u8F93\u5165",
1800
+ maxlength: extraValues.maxLength
1801
+ };
1802
+ value.config.txtFormatFn = txtFormatFnMap[extraValues.format];
1803
+ }
1804
+ if (coverage.fieldType === 2) {
1805
+ const decimalPlaces = extraValues.decimalPlaces || 0;
1806
+ value.props = {
1807
+ placeholder: "\u8BF7\u8F93\u5165"
1808
+ };
1809
+ if (extraValues.format === 1) {
1810
+ value.props.parser = (value2) => lodashEs.floor(value2.replace("%", ""), decimalPlaces);
1811
+ value.props.formatter = (value2) => `${value2}%`;
1812
+ } else {
1813
+ value.props.parser = (value2) => lodashEs.floor(value2, decimalPlaces);
1814
+ }
1815
+ }
1816
+ if (coverage.fieldType === 3) {
1817
+ value.props = {
1818
+ format: formatMap[extraValues.format]
1819
+ };
1820
+ }
1821
+ return value;
1822
+ })
1823
+ );
1714
1824
  if (childRules.length)
1715
1825
  return {
1716
1826
  title: {
@@ -1735,6 +1845,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
1735
1845
  key: pane.key,
1736
1846
  title: pane.title,
1737
1847
  tempIdSelected: pane.tempSelected.templateCode || pane.tempIdSelected,
1848
+ templateName: pane.tempSelected?.templateName || pane.templateName,
1738
1849
  tableData: pane.tableData,
1739
1850
  uploadList: pane.uploadList
1740
1851
  }))
@@ -1764,7 +1875,7 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
1764
1875
  props.extraConfig.getDict().then((data) => {
1765
1876
  measrueDicts.value = data;
1766
1877
  });
1767
- vue.watch(mainShopValue, (val) => {
1878
+ vue.watch(mainShopValue, () => {
1768
1879
  panes.splice(0);
1769
1880
  activeKey.value = "\u7D20\u67501";
1770
1881
  panes.push({
@@ -2018,9 +2129,9 @@ const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
2018
2129
  pane.tableRule ? (vue.openBlock(), vue.createBlock(TableWidget, {
2019
2130
  key: 0,
2020
2131
  rule: pane.tableRule,
2021
- disabled: __props.disabled?.includes?.("editTable"),
2132
+ "disabled-table": __props.disabled?.includes?.("editTable"),
2022
2133
  onChange: handleTableDataChange
2023
- }, null, 8, ["rule", "disabled"])) : vue.createCommentVNode("v-if", true)
2134
+ }, null, 8, ["rule", "disabled-table"])) : vue.createCommentVNode("v-if", true)
2024
2135
  ]),
2025
2136
  _: 2
2026
2137
  }, 1024)
@@ -2283,12 +2394,11 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
2283
2394
  label: "name",
2284
2395
  value: "code"
2285
2396
  };
2286
- const value = vue.ref(props.value?.[fieldNames.value]);
2287
2397
  const options = vue.ref([]);
2288
2398
  const keyword = vue.ref("");
2289
- const debounceFetch = lodashEs.debounce((value2) => {
2399
+ const debounceFetch = lodashEs.debounce((value) => {
2290
2400
  props.extraConfig.fetch(postData.value).then((data) => {
2291
- if (value2 === keyword.value)
2401
+ if (value === keyword.value)
2292
2402
  options.value = data;
2293
2403
  });
2294
2404
  }, 300);
@@ -2308,14 +2418,14 @@ const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
2308
2418
  ...option
2309
2419
  });
2310
2420
  }
2311
- function handleSearch(value2) {
2312
- keyword.value = value2;
2313
- debounceFetch(value2);
2421
+ function handleSearch(value) {
2422
+ keyword.value = value;
2423
+ debounceFetch(value);
2314
2424
  }
2315
2425
  initOptions();
2316
2426
  return (_ctx, _cache) => {
2317
2427
  return vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.Select), {
2318
- value: value.value,
2428
+ value: __props.formCreateInject?.rule?.value?.value || __props.value?.value,
2319
2429
  placeholder: "\u8BF7\u9009\u62E9",
2320
2430
  "show-search": "",
2321
2431
  "show-arrow": false,
@@ -2349,13 +2459,11 @@ var shop = {
2349
2459
  props: {
2350
2460
  dataFiltering: (_a = data.config) === null || _a === void 0 ? void 0 : _a.dataFiltering,
2351
2461
  extraConfig: shopExtraConfig,
2352
- value: data.value,
2353
2462
  },
2354
2463
  inject: true,
2355
2464
  on: {
2356
2465
  change(inject, value) {
2357
2466
  const rule = inject.self;
2358
- rule.props.value = value;
2359
2467
  rule.value = value;
2360
2468
  vue.nextTick(() => {
2361
2469
  setTimeout(() => {
@@ -2381,14 +2489,12 @@ var shop = {
2381
2489
  props: {
2382
2490
  dataFiltering: (_a = data.config) === null || _a === void 0 ? void 0 : _a.dataFiltering,
2383
2491
  extraConfig: shopExtraConfig,
2384
- value: data.value,
2385
2492
  },
2386
2493
  inject: true,
2387
2494
  on: {
2388
2495
  change(inject, value) {
2389
2496
  const rule = inject.self;
2390
2497
  rule.value = value;
2391
- rule.props.value = value;
2392
2498
  vue.nextTick(() => {
2393
2499
  setTimeout(() => {
2394
2500
  inject.api.validateField(rule.field);
@@ -2442,7 +2548,7 @@ const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
2442
2548
  options.value = result;
2443
2549
  return options.value;
2444
2550
  }).then((options2) => {
2445
- if (props.value.length) {
2551
+ if (props.value?.length) {
2446
2552
  if (props.multiple) {
2447
2553
  props.value.forEach((item) => loadValueOptions(item, options2));
2448
2554
  } else {
@@ -2643,6 +2749,7 @@ var row = {
2643
2749
  const children = [
2644
2750
  {
2645
2751
  type: 'row',
2752
+ field: data.field,
2646
2753
  props: {
2647
2754
  gutter: [0, 24],
2648
2755
  },
@@ -2661,7 +2768,6 @@ var row = {
2661
2768
  return {
2662
2769
  native: true,
2663
2770
  type: 'div',
2664
- field: data.field,
2665
2771
  children,
2666
2772
  class: 'bm-fc-module-widget',
2667
2773
  };
@@ -2763,9 +2869,23 @@ var department = {
2763
2869
  minWidth: data.config.fieldRatio,
2764
2870
  slots: {
2765
2871
  default({ row }) {
2766
- return vue.h(StaffSelector, Object.assign({ title: '添加部门', mode: data.props.limit ? 'radio' : 'multiple', placeholder: data.props.placeholder, immediateFetch: true, unitStr: '个', disabled: data.disabled, onChange: (value) => {
2872
+ return vue.h(StaffSelector, {
2873
+ title: '添加部门',
2874
+ mode: data.props.limit ? 'radio' : 'multiple',
2875
+ placeholder: data.props.placeholder,
2876
+ immediateFetch: true,
2877
+ unitStr: '个',
2878
+ disabled: data.disabled,
2879
+ onChange: (value) => {
2767
2880
  row[field] = value;
2768
- }, defaultSelected: row[field] }, extraConfig.department));
2881
+ },
2882
+ defaultSelected: row[field],
2883
+ load(params) {
2884
+ return __awaiter(this, void 0, void 0, function* () {
2885
+ return yield extraConfig.department.fetch(params);
2886
+ });
2887
+ },
2888
+ });
2769
2889
  },
2770
2890
  },
2771
2891
  };
@@ -3001,16 +3121,6 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
3001
3121
  const rule = vue.ref([]);
3002
3122
  const processFormPermissions = vue.computed(
3003
3123
  () => props.formPermissions ? props.formPermissions.reduce((result, item) => {
3004
- if (item.disabled) {
3005
- if (item.name === "picture") {
3006
- ((item.props = {}).uploadProps = {}).disabled = true;
3007
- } else if (item.name === "materialTemp") {
3008
- (item.props = {}).disabled = item.disabled;
3009
- } else {
3010
- (item.props = {}).disabled = true;
3011
- }
3012
- }
3013
- delete item.disabled;
3014
3124
  result[item.field] = item;
3015
3125
  return result;
3016
3126
  }, {}) : {}
@@ -3020,45 +3130,82 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
3020
3130
  );
3021
3131
  vue.provide("mainShopValue", mainShopValue);
3022
3132
  function setRule(fdRule) {
3023
- fdRule = getRuleData(fdRule);
3024
- rule.value = fdRule.map((data) => {
3133
+ fdRule = setRuleValue(fdRule);
3134
+ fdRule = makeRule(fdRule);
3135
+ rule.value = setRulePermission(fdRule);
3136
+ }
3137
+ function makeRule(fdRule) {
3138
+ return fdRule.map((data) => {
3025
3139
  const childRules = data?.config?.childRules;
3026
3140
  const rule2 = ruleList[data.name].rule(data, props.extraConfig);
3027
3141
  if (data.name === "row" && childRules?.length) {
3028
3142
  const rowRule = rule2.children.find((item) => item.type === "row");
3029
3143
  childRules.forEach((ruleItem) => {
3030
3144
  rowRule.children.push(
3031
- mergeFormPermission(
3032
- ruleItem.field,
3033
- ruleList[ruleItem.name].rowRule(ruleItem, props.extraConfig)
3034
- )
3145
+ ruleList[ruleItem.name].rowRule(ruleItem, props.extraConfig)
3035
3146
  );
3036
3147
  });
3037
- } else if (data.name === "table" && childRules?.length) {
3038
- childRules.forEach((childRule) => {
3039
- const rulePermission = processFormPermissions.value[childRule.field];
3040
- if (rulePermission) {
3041
- childRule.hidden = rulePermission.hidden;
3042
- childRule.disabled = rulePermission.props?.disabled;
3043
- }
3044
- });
3045
- } else if (data.name === "materialTemp") {
3046
- rule2.children[1] = mergeFormPermission(data.field, rule2.children[1]);
3047
- return rule2;
3048
3148
  }
3049
- return mergeFormPermission(data.field, rule2);
3149
+ return rule2;
3050
3150
  });
3051
3151
  }
3052
- function mergeFormPermission(field, rule2) {
3053
- if (processFormPermissions.value[field]) {
3054
- rule2 = lodashEs.merge(rule2, processFormPermissions.value[field]);
3152
+ function mergeFormPermission(rule2) {
3153
+ rule2 = getFormFeildRule(rule2);
3154
+ const formPermission = processFormPermissions.value[rule2.field];
3155
+ const childRules = rule2?.props?.rule?.config?.childRules;
3156
+ const children = rule2.children;
3157
+ if (formPermission) {
3158
+ const { name } = formPermission;
3159
+ if (formPermission.disabled) {
3160
+ if (name === "picture") {
3161
+ rule2.props.uploadProps.disabled = true;
3162
+ } else if (name === "materialTemp") {
3163
+ rule2.props.disabled = formPermission.disabled;
3164
+ } else {
3165
+ rule2.props.disabled = true;
3166
+ }
3167
+ }
3168
+ if (formPermission.hidden) {
3169
+ if (name === "table") {
3170
+ rule2.props.hidden = true;
3171
+ } else {
3172
+ rule2.hidden = true;
3173
+ }
3174
+ }
3175
+ }
3176
+ if (childRules?.length) {
3177
+ let allHidden = true;
3178
+ childRules.forEach((childRule) => {
3179
+ const innerFormPermission = processFormPermissions.value[childRule.field];
3180
+ if (innerFormPermission) {
3181
+ childRule.disabled = innerFormPermission.disabled;
3182
+ childRule.hidden = innerFormPermission.hidden;
3183
+ }
3184
+ if (!innerFormPermission || !childRule.hidden)
3185
+ allHidden = false;
3186
+ });
3187
+ if (formPermission?.hidden && allHidden) {
3188
+ rule2.hidden = true;
3189
+ }
3190
+ }
3191
+ if (children?.length) {
3192
+ children.forEach((child) => mergeFormPermission(child));
3055
3193
  }
3056
- return rule2;
3194
+ }
3195
+ function getFormFeildRule(rule2) {
3196
+ if (rule2.native) {
3197
+ return rule2.children.find((item) => item.field);
3198
+ } else
3199
+ return rule2;
3200
+ }
3201
+ function setRulePermission(fdRule) {
3202
+ fdRule.forEach((rule2) => mergeFormPermission(rule2));
3203
+ return fdRule;
3057
3204
  }
3058
3205
  function handleValue(value) {
3059
3206
  emits("update:value", value);
3060
3207
  }
3061
- function getRuleData(fdRule) {
3208
+ function setRuleValue(fdRule) {
3062
3209
  const ruleData = lodashEs.cloneDeep(fdRule);
3063
3210
  ruleData.forEach((rule2) => {
3064
3211
  if (rule2.name === "row") {
@@ -125,8 +125,8 @@ declare const BmTagsDisplay: import("bm-admin-ui/es/utils/with-install").SFCWith
125
125
  onAddClick?: ((...args: any[]) => any) | undefined;
126
126
  }, {
127
127
  disabled: boolean;
128
- placeholder: string;
129
128
  list: unknown[];
129
+ placeholder: string;
130
130
  placement: string;
131
131
  showEmpty: boolean;
132
132
  showEmptyBtn: boolean;
@@ -123,8 +123,8 @@ declare const _default: import("vue").DefineComponent<{
123
123
  onAddClick?: ((...args: any[]) => any) | undefined;
124
124
  }, {
125
125
  disabled: boolean;
126
- placeholder: string;
127
126
  list: unknown[];
127
+ placeholder: string;
128
128
  placement: string;
129
129
  showEmpty: boolean;
130
130
  showEmptyBtn: boolean;