bm-admin-ui 1.0.39-alpha → 1.0.40-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 (200) hide show
  1. package/es/components/form-create/index.js +156 -77
  2. package/es/components/form-designer/index.js +131 -33
  3. package/es/components/input-tags-display/index.js +14 -3
  4. package/es/components/input-tags-display/src/input-tags-display.vue.d.ts +9 -0
  5. package/es/utils/bm-admin-ui-resolver.d.ts +3 -1
  6. package/es/utils/bm-admin-ui-resolver.js +1 -1
  7. package/index.esm.js +351 -163
  8. package/index.js +351 -163
  9. package/lib/components/form-create/index.js +155 -76
  10. package/lib/components/form-designer/index.js +130 -32
  11. package/lib/components/input-tags-display/index.js +14 -3
  12. package/lib/components/input-tags-display/src/input-tags-display.vue.d.ts +9 -0
  13. package/lib/utils/bm-admin-ui-resolver.d.ts +3 -1
  14. package/lib/utils/bm-admin-ui-resolver.js +1 -1
  15. package/package.json +2 -2
  16. package/theme-chalk/form-create.css +1 -1
  17. package/theme-chalk/index.css +1 -1
  18. package/theme-chalk/input-tags-display.css +1 -1
  19. package/types/components/input-tags-display/src/input-tags-display.vue.d.ts +9 -0
  20. package/types/utils/bm-admin-ui-resolver.d.ts +3 -1
  21. package/es/packages/components/__tests__/util/domHook.d.ts +0 -6
  22. package/es/packages/components/button/index.d.ts +0 -3
  23. package/es/packages/components/button/src/button.d.ts +0 -12
  24. package/es/packages/components/button/src/button.vue.d.ts +0 -306
  25. package/es/packages/components/feedback/index.d.ts +0 -9
  26. package/es/packages/components/feedback/src/bmAlert.vue.d.ts +0 -191
  27. package/es/packages/components/feedback/src/bmModal.vue.d.ts +0 -839
  28. package/es/packages/components/float-table/index.d.ts +0 -3
  29. package/es/packages/components/float-table/src/float-table.vue.d.ts +0 -69
  30. package/es/packages/components/flow-designer/index.d.ts +0 -3
  31. package/es/packages/components/flow-designer/src/bm-nodes/AddCondition.d.ts +0 -26
  32. package/es/packages/components/flow-designer/src/bm-nodes/AddFlowNode.d.ts +0 -29
  33. package/es/packages/components/flow-designer/src/bm-nodes/BmConditionNode.vue.d.ts +0 -247
  34. package/es/packages/components/flow-designer/src/bm-nodes/BmFlowHtmlNode.d.ts +0 -19
  35. package/es/packages/components/flow-designer/src/bm-nodes/BmHtmlNode.vue.d.ts +0 -15
  36. package/es/packages/components/flow-designer/src/bm-nodes/BmPolyLine.d.ts +0 -21
  37. package/es/packages/components/flow-designer/src/bm-nodes/EndCircle.d.ts +0 -19
  38. package/es/packages/components/flow-designer/src/config.d.ts +0 -24
  39. package/es/packages/components/flow-designer/src/flow-designer-test.d.ts +0 -20
  40. package/es/packages/components/flow-designer/src/flow-designer.d.ts +0 -11
  41. package/es/packages/components/flow-designer/src/flow-designer.vue.d.ts +0 -6
  42. package/es/packages/components/flow-designer/src/utils.d.ts +0 -29
  43. package/es/packages/components/index.d.ts +0 -12
  44. package/es/packages/components/input-tags-display/index.d.ts +0 -3
  45. package/es/packages/components/input-tags-display/src/input-tags-display.vue.d.ts +0 -128
  46. package/es/packages/components/over-tooltips/index.d.ts +0 -3
  47. package/es/packages/components/over-tooltips/src/over-tooltips.vue.d.ts +0 -34
  48. package/es/packages/components/search-filter/index.d.ts +0 -3
  49. package/es/packages/components/search-filter/src/search-filter.d.ts +0 -89
  50. package/es/packages/components/search-filter/src/search-filter.vue.d.ts +0 -234
  51. package/es/packages/components/search-filter/src/search-reset-btn.vue.d.ts +0 -119
  52. package/es/packages/components/select-all/index.d.ts +0 -3
  53. package/es/packages/components/select-all/src/selectAll.vue.d.ts +0 -753
  54. package/es/packages/components/shops-filter/index.d.ts +0 -3
  55. package/es/packages/components/shops-filter/src/shops-filter.d.ts +0 -25
  56. package/es/packages/components/shops-filter/src/shops-filter.vue.d.ts +0 -98
  57. package/es/packages/components/staffs-selector/index.d.ts +0 -3
  58. package/es/packages/components/staffs-selector/src/multipleCmp.vue.d.ts +0 -97
  59. package/es/packages/components/staffs-selector/src/radioCmp.vue.d.ts +0 -31
  60. package/es/packages/components/staffs-selector/src/staffs-selector.vue.d.ts +0 -108
  61. package/es/packages/components/staffs-selector/src/variedCmp.vue.d.ts +0 -62
  62. package/es/packages/components/timeline/__tests__/index.test.d.ts +0 -1
  63. package/es/packages/components/timeline/index.d.ts +0 -5
  64. package/es/packages/components/timeline/src/props.d.ts +0 -27
  65. package/es/packages/components/timeline/src/timeline-item.vue.d.ts +0 -64
  66. package/es/packages/components/timeline/src/timeline.vue.d.ts +0 -50
  67. package/es/packages/components/upload/__tests__/mock.d.ts +0 -2
  68. package/es/packages/components/upload/__tests__/requests.d.ts +0 -7
  69. package/es/packages/components/upload/__tests__/upload.test.d.ts +0 -1
  70. package/es/packages/components/upload/index.d.ts +0 -3
  71. package/es/packages/components/upload/src/icons.d.ts +0 -13
  72. package/es/packages/components/upload/src/upload.vue.d.ts +0 -105
  73. package/es/packages/components/upload/utils/index.d.ts +0 -7
  74. package/es/packages/index.d.ts +0 -6
  75. package/es/packages/utils/bm-admin-ui-resolver.d.ts +0 -9
  76. package/es/packages/utils/uniqueId.d.ts +0 -1
  77. package/es/packages/utils/vxe-table.d.ts +0 -6
  78. package/es/packages/utils/with-install.d.ts +0 -1
  79. package/es/tests/shared/mountTest.d.ts +0 -1
  80. package/es/tests/utils.d.ts +0 -4
  81. package/lib/packages/components/__tests__/util/domHook.d.ts +0 -6
  82. package/lib/packages/components/button/index.d.ts +0 -3
  83. package/lib/packages/components/button/src/button.d.ts +0 -12
  84. package/lib/packages/components/button/src/button.vue.d.ts +0 -306
  85. package/lib/packages/components/feedback/index.d.ts +0 -9
  86. package/lib/packages/components/feedback/src/bmAlert.vue.d.ts +0 -191
  87. package/lib/packages/components/feedback/src/bmModal.vue.d.ts +0 -839
  88. package/lib/packages/components/float-table/index.d.ts +0 -3
  89. package/lib/packages/components/float-table/src/float-table.vue.d.ts +0 -69
  90. package/lib/packages/components/flow-designer/index.d.ts +0 -3
  91. package/lib/packages/components/flow-designer/src/bm-nodes/AddCondition.d.ts +0 -26
  92. package/lib/packages/components/flow-designer/src/bm-nodes/AddFlowNode.d.ts +0 -29
  93. package/lib/packages/components/flow-designer/src/bm-nodes/BmConditionNode.vue.d.ts +0 -247
  94. package/lib/packages/components/flow-designer/src/bm-nodes/BmFlowHtmlNode.d.ts +0 -19
  95. package/lib/packages/components/flow-designer/src/bm-nodes/BmHtmlNode.vue.d.ts +0 -15
  96. package/lib/packages/components/flow-designer/src/bm-nodes/BmPolyLine.d.ts +0 -21
  97. package/lib/packages/components/flow-designer/src/bm-nodes/EndCircle.d.ts +0 -19
  98. package/lib/packages/components/flow-designer/src/config.d.ts +0 -24
  99. package/lib/packages/components/flow-designer/src/flow-designer-test.d.ts +0 -20
  100. package/lib/packages/components/flow-designer/src/flow-designer.d.ts +0 -11
  101. package/lib/packages/components/flow-designer/src/flow-designer.vue.d.ts +0 -6
  102. package/lib/packages/components/flow-designer/src/utils.d.ts +0 -29
  103. package/lib/packages/components/index.d.ts +0 -12
  104. package/lib/packages/components/input-tags-display/index.d.ts +0 -3
  105. package/lib/packages/components/input-tags-display/src/input-tags-display.vue.d.ts +0 -128
  106. package/lib/packages/components/over-tooltips/index.d.ts +0 -3
  107. package/lib/packages/components/over-tooltips/src/over-tooltips.vue.d.ts +0 -34
  108. package/lib/packages/components/search-filter/index.d.ts +0 -3
  109. package/lib/packages/components/search-filter/src/search-filter.d.ts +0 -89
  110. package/lib/packages/components/search-filter/src/search-filter.vue.d.ts +0 -234
  111. package/lib/packages/components/search-filter/src/search-reset-btn.vue.d.ts +0 -119
  112. package/lib/packages/components/select-all/index.d.ts +0 -3
  113. package/lib/packages/components/select-all/src/selectAll.vue.d.ts +0 -753
  114. package/lib/packages/components/shops-filter/index.d.ts +0 -3
  115. package/lib/packages/components/shops-filter/src/shops-filter.d.ts +0 -25
  116. package/lib/packages/components/shops-filter/src/shops-filter.vue.d.ts +0 -98
  117. package/lib/packages/components/staffs-selector/index.d.ts +0 -3
  118. package/lib/packages/components/staffs-selector/src/multipleCmp.vue.d.ts +0 -97
  119. package/lib/packages/components/staffs-selector/src/radioCmp.vue.d.ts +0 -31
  120. package/lib/packages/components/staffs-selector/src/staffs-selector.vue.d.ts +0 -108
  121. package/lib/packages/components/staffs-selector/src/variedCmp.vue.d.ts +0 -62
  122. package/lib/packages/components/timeline/__tests__/index.test.d.ts +0 -1
  123. package/lib/packages/components/timeline/index.d.ts +0 -5
  124. package/lib/packages/components/timeline/src/props.d.ts +0 -27
  125. package/lib/packages/components/timeline/src/timeline-item.vue.d.ts +0 -64
  126. package/lib/packages/components/timeline/src/timeline.vue.d.ts +0 -50
  127. package/lib/packages/components/upload/__tests__/mock.d.ts +0 -2
  128. package/lib/packages/components/upload/__tests__/requests.d.ts +0 -7
  129. package/lib/packages/components/upload/__tests__/upload.test.d.ts +0 -1
  130. package/lib/packages/components/upload/index.d.ts +0 -3
  131. package/lib/packages/components/upload/src/icons.d.ts +0 -13
  132. package/lib/packages/components/upload/src/upload.vue.d.ts +0 -105
  133. package/lib/packages/components/upload/utils/index.d.ts +0 -7
  134. package/lib/packages/index.d.ts +0 -6
  135. package/lib/packages/utils/bm-admin-ui-resolver.d.ts +0 -9
  136. package/lib/packages/utils/uniqueId.d.ts +0 -1
  137. package/lib/packages/utils/vxe-table.d.ts +0 -6
  138. package/lib/packages/utils/with-install.d.ts +0 -1
  139. package/lib/tests/shared/mountTest.d.ts +0 -1
  140. package/lib/tests/utils.d.ts +0 -4
  141. package/types/packages/components/__tests__/util/domHook.d.ts +0 -6
  142. package/types/packages/components/button/index.d.ts +0 -3
  143. package/types/packages/components/button/src/button.d.ts +0 -12
  144. package/types/packages/components/button/src/button.vue.d.ts +0 -306
  145. package/types/packages/components/feedback/index.d.ts +0 -9
  146. package/types/packages/components/feedback/src/bmAlert.vue.d.ts +0 -191
  147. package/types/packages/components/feedback/src/bmModal.vue.d.ts +0 -839
  148. package/types/packages/components/float-table/index.d.ts +0 -3
  149. package/types/packages/components/float-table/src/float-table.vue.d.ts +0 -69
  150. package/types/packages/components/flow-designer/index.d.ts +0 -3
  151. package/types/packages/components/flow-designer/src/bm-nodes/AddCondition.d.ts +0 -26
  152. package/types/packages/components/flow-designer/src/bm-nodes/AddFlowNode.d.ts +0 -29
  153. package/types/packages/components/flow-designer/src/bm-nodes/BmConditionNode.vue.d.ts +0 -247
  154. package/types/packages/components/flow-designer/src/bm-nodes/BmFlowHtmlNode.d.ts +0 -19
  155. package/types/packages/components/flow-designer/src/bm-nodes/BmHtmlNode.vue.d.ts +0 -15
  156. package/types/packages/components/flow-designer/src/bm-nodes/BmPolyLine.d.ts +0 -21
  157. package/types/packages/components/flow-designer/src/bm-nodes/EndCircle.d.ts +0 -19
  158. package/types/packages/components/flow-designer/src/config.d.ts +0 -24
  159. package/types/packages/components/flow-designer/src/flow-designer-test.d.ts +0 -20
  160. package/types/packages/components/flow-designer/src/flow-designer.d.ts +0 -11
  161. package/types/packages/components/flow-designer/src/flow-designer.vue.d.ts +0 -6
  162. package/types/packages/components/flow-designer/src/utils.d.ts +0 -29
  163. package/types/packages/components/index.d.ts +0 -12
  164. package/types/packages/components/input-tags-display/index.d.ts +0 -3
  165. package/types/packages/components/input-tags-display/src/input-tags-display.vue.d.ts +0 -128
  166. package/types/packages/components/over-tooltips/index.d.ts +0 -3
  167. package/types/packages/components/over-tooltips/src/over-tooltips.vue.d.ts +0 -34
  168. package/types/packages/components/search-filter/index.d.ts +0 -3
  169. package/types/packages/components/search-filter/src/search-filter.d.ts +0 -89
  170. package/types/packages/components/search-filter/src/search-filter.vue.d.ts +0 -234
  171. package/types/packages/components/search-filter/src/search-reset-btn.vue.d.ts +0 -119
  172. package/types/packages/components/select-all/index.d.ts +0 -3
  173. package/types/packages/components/select-all/src/selectAll.vue.d.ts +0 -753
  174. package/types/packages/components/shops-filter/index.d.ts +0 -3
  175. package/types/packages/components/shops-filter/src/shops-filter.d.ts +0 -25
  176. package/types/packages/components/shops-filter/src/shops-filter.vue.d.ts +0 -98
  177. package/types/packages/components/staffs-selector/index.d.ts +0 -3
  178. package/types/packages/components/staffs-selector/src/multipleCmp.vue.d.ts +0 -97
  179. package/types/packages/components/staffs-selector/src/radioCmp.vue.d.ts +0 -31
  180. package/types/packages/components/staffs-selector/src/staffs-selector.vue.d.ts +0 -108
  181. package/types/packages/components/staffs-selector/src/variedCmp.vue.d.ts +0 -62
  182. package/types/packages/components/timeline/__tests__/index.test.d.ts +0 -1
  183. package/types/packages/components/timeline/index.d.ts +0 -5
  184. package/types/packages/components/timeline/src/props.d.ts +0 -27
  185. package/types/packages/components/timeline/src/timeline-item.vue.d.ts +0 -64
  186. package/types/packages/components/timeline/src/timeline.vue.d.ts +0 -50
  187. package/types/packages/components/upload/__tests__/mock.d.ts +0 -2
  188. package/types/packages/components/upload/__tests__/requests.d.ts +0 -7
  189. package/types/packages/components/upload/__tests__/upload.test.d.ts +0 -1
  190. package/types/packages/components/upload/index.d.ts +0 -3
  191. package/types/packages/components/upload/src/icons.d.ts +0 -13
  192. package/types/packages/components/upload/src/upload.vue.d.ts +0 -105
  193. package/types/packages/components/upload/utils/index.d.ts +0 -7
  194. package/types/packages/index.d.ts +0 -6
  195. package/types/packages/utils/bm-admin-ui-resolver.d.ts +0 -9
  196. package/types/packages/utils/uniqueId.d.ts +0 -1
  197. package/types/packages/utils/vxe-table.d.ts +0 -6
  198. package/types/packages/utils/with-install.d.ts +0 -1
  199. package/types/tests/shared/mountTest.d.ts +0 -1
  200. package/types/tests/utils.d.ts +0 -4
@@ -476,7 +476,7 @@ var input = {
476
476
  },
477
477
  },
478
478
  effect: {
479
- required: true,
479
+ required: false,
480
480
  formRule: 'formRule',
481
481
  },
482
482
  props: {
@@ -509,6 +509,7 @@ var input = {
509
509
  field: fieldsMap$g['props.placeholder'],
510
510
  props: {
511
511
  placeholder: '请输入',
512
+ maxlength: 30,
512
513
  },
513
514
  value: rule.props.placeholder,
514
515
  },
@@ -518,6 +519,7 @@ var input = {
518
519
  field: fieldsMap$g['value'],
519
520
  props: {
520
521
  placeholder: '请输入',
522
+ maxlength: 200,
521
523
  },
522
524
  value: rule.value,
523
525
  },
@@ -577,7 +579,7 @@ var textarea = {
577
579
  },
578
580
  },
579
581
  effect: {
580
- required: true,
582
+ required: false,
581
583
  formRule: 'formRule',
582
584
  },
583
585
  props: {
@@ -611,6 +613,7 @@ var textarea = {
611
613
  field: fieldsMap$f['props.placeholder'],
612
614
  props: {
613
615
  placeholder: '请输入',
616
+ maxlength: 30,
614
617
  },
615
618
  value: rule.props.placeholder,
616
619
  },
@@ -620,6 +623,7 @@ var textarea = {
620
623
  field: fieldsMap$f['value'],
621
624
  props: {
622
625
  placeholder: '请输入',
626
+ maxlength: 5000,
623
627
  },
624
628
  value: rule.value,
625
629
  },
@@ -680,7 +684,7 @@ var numInput = {
680
684
  },
681
685
  },
682
686
  effect: {
683
- required: true,
687
+ required: false,
684
688
  formRule: 'formRule',
685
689
  },
686
690
  props: {
@@ -715,6 +719,7 @@ var numInput = {
715
719
  field: fieldsMap$e['props.placeholder'],
716
720
  props: {
717
721
  placeholder: '请输入',
722
+ maxlength: 30,
718
723
  },
719
724
  value: rule.props.placeholder,
720
725
  },
@@ -788,6 +793,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
788
793
  const visible = vue.ref(false);
789
794
  const text = vue.ref("");
790
795
  const repeatOption = vue.ref([]);
796
+ const maxlength = 500;
791
797
  function edit() {
792
798
  visible.value = true;
793
799
  text.value = makeText(props.options);
@@ -809,6 +815,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
809
815
  function handleOk() {
810
816
  const options = text.value.split("\n").reduce((pre, cur) => {
811
817
  if (cur) {
818
+ cur = cur.substring(0, maxlength - 1);
812
819
  pre.push({ value: cur, label: cur });
813
820
  }
814
821
  return pre;
@@ -877,6 +884,7 @@ const _sfc_main$e = /* @__PURE__ */ vue.defineComponent({
877
884
  "bm-handle-options__input",
878
885
  repeatOption.value.length && repeatOption.value.includes(element.value) ? "is-error" : ""
879
886
  ]),
887
+ maxlength,
880
888
  onBlur: ($event) => handleBlur(element)
881
889
  }, null, 8, ["value", "onUpdate:value", "class", "onBlur"])
882
890
  ]),
@@ -973,7 +981,7 @@ var radio = {
973
981
  },
974
982
  },
975
983
  effect: {
976
- required: true,
984
+ required: false,
977
985
  formRule: 'formRule',
978
986
  },
979
987
  options: [
@@ -1019,6 +1027,7 @@ var radio = {
1019
1027
  field: fieldsMap$d['props.placeholder'],
1020
1028
  props: {
1021
1029
  placeholder: '请输入',
1030
+ maxlength: 30,
1022
1031
  },
1023
1032
  value: rule.props.placeholder,
1024
1033
  },
@@ -1111,7 +1120,7 @@ var checkbox = {
1111
1120
  },
1112
1121
  },
1113
1122
  effect: {
1114
- required: true,
1123
+ required: false,
1115
1124
  formRule: 'formRule',
1116
1125
  },
1117
1126
  options: [
@@ -1157,6 +1166,7 @@ var checkbox = {
1157
1166
  field: fieldsMap$c['props.placeholder'],
1158
1167
  props: {
1159
1168
  placeholder: '请输入',
1169
+ maxlength: 30,
1160
1170
  },
1161
1171
  value: rule.props.placeholder,
1162
1172
  },
@@ -1318,7 +1328,7 @@ var date = {
1318
1328
  },
1319
1329
  },
1320
1330
  effect: {
1321
- required: true,
1331
+ required: false,
1322
1332
  formRule: 'formRule',
1323
1333
  },
1324
1334
  props: {
@@ -1381,6 +1391,7 @@ var date = {
1381
1391
  field: fieldsMap$b['props.placeholder'],
1382
1392
  props: {
1383
1393
  placeholder: '请输入',
1394
+ maxlength: 30,
1384
1395
  },
1385
1396
  value: rule.props.placeholder,
1386
1397
  },
@@ -1462,7 +1473,7 @@ var dateRange = {
1462
1473
  },
1463
1474
  },
1464
1475
  effect: {
1465
- required: true,
1476
+ required: false,
1466
1477
  formRule: 'formRule',
1467
1478
  },
1468
1479
  props: {
@@ -1527,6 +1538,7 @@ var dateRange = {
1527
1538
  field: fieldsMap$a['props.placeholder.0'],
1528
1539
  props: {
1529
1540
  placeholder: '请输入',
1541
+ maxlength: 30,
1530
1542
  },
1531
1543
  value: rule.props.placeholder[0],
1532
1544
  },
@@ -1536,6 +1548,7 @@ var dateRange = {
1536
1548
  field: fieldsMap$a['props.placeholder.1'],
1537
1549
  props: {
1538
1550
  placeholder: '请输入',
1551
+ maxlength: 30,
1539
1552
  },
1540
1553
  value: rule.props.placeholder[1],
1541
1554
  },
@@ -1609,10 +1622,23 @@ var instruction = {
1609
1622
  title: label$9,
1610
1623
  field: fieldsMap$9.value,
1611
1624
  value: rule.value,
1625
+ inject: true,
1612
1626
  prefix: {
1613
1627
  type: 'TextColor',
1628
+ on: {
1629
+ change({ api, self }, color) {
1630
+ api.emit('change', 'style.color', color, self, api, true);
1631
+ },
1632
+ },
1614
1633
  props: {
1615
- rule,
1634
+ color: rule.style.color,
1635
+ },
1636
+ },
1637
+ on: {
1638
+ change({ api, self }, list) {
1639
+ vue.nextTick(() => {
1640
+ api.refresh();
1641
+ });
1616
1642
  },
1617
1643
  },
1618
1644
  },
@@ -1655,7 +1681,7 @@ var picture = {
1655
1681
  },
1656
1682
  },
1657
1683
  effect: {
1658
- required: true,
1684
+ required: false,
1659
1685
  formRule: 'formRule',
1660
1686
  },
1661
1687
  props: {
@@ -2004,7 +2030,15 @@ var table = {
2004
2030
  effect: {
2005
2031
  required: true,
2006
2032
  },
2033
+ inject: true,
2007
2034
  value: rule.config.childRules,
2035
+ on: {
2036
+ change({ api, self }, list) {
2037
+ vue.nextTick(() => {
2038
+ api.validate();
2039
+ });
2040
+ },
2041
+ },
2008
2042
  },
2009
2043
  {
2010
2044
  type: 'checkbox',
@@ -2067,7 +2101,7 @@ var file = {
2067
2101
  },
2068
2102
  },
2069
2103
  effect: {
2070
- required: true,
2104
+ required: false,
2071
2105
  formRule: 'formRule',
2072
2106
  },
2073
2107
  config: {
@@ -2138,7 +2172,7 @@ var people = {
2138
2172
  },
2139
2173
  },
2140
2174
  effect: {
2141
- required: true,
2175
+ required: false,
2142
2176
  formRule: 'formRule',
2143
2177
  },
2144
2178
  props: {
@@ -2171,6 +2205,7 @@ var people = {
2171
2205
  field: fieldsMap$5['props.placeholder'],
2172
2206
  props: {
2173
2207
  placeholder: '请输入',
2208
+ maxlength: 30,
2174
2209
  },
2175
2210
  value: rule.props.placeholder,
2176
2211
  },
@@ -2259,7 +2294,7 @@ var department = {
2259
2294
  },
2260
2295
  },
2261
2296
  effect: {
2262
- required: true,
2297
+ required: false,
2263
2298
  formRule: 'formRule',
2264
2299
  },
2265
2300
  props: {
@@ -2292,6 +2327,7 @@ var department = {
2292
2327
  field: fieldsMap$4['props.placeholder'],
2293
2328
  props: {
2294
2329
  placeholder: '请输入',
2330
+ maxlength: 30,
2295
2331
  },
2296
2332
  value: rule.props.placeholder,
2297
2333
  },
@@ -3564,7 +3600,8 @@ const _hoisted_2$1 = { class: "bm-table-column-btn-wrap" };
3564
3600
  const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
3565
3601
  __name: "table-column",
3566
3602
  props: ["formCreateInject"],
3567
- setup(__props) {
3603
+ emits: ["change"],
3604
+ setup(__props, { emit: emits }) {
3568
3605
  const props = __props;
3569
3606
  const handleClass = "bm-table-column__drag-icon";
3570
3607
  const btnCom = vue.ref();
@@ -3589,6 +3626,15 @@ const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
3589
3626
  function getPopupContainer() {
3590
3627
  return document.body;
3591
3628
  }
3629
+ vue.watch(
3630
+ childRules,
3631
+ (val) => {
3632
+ emits("change", val);
3633
+ },
3634
+ {
3635
+ deep: true
3636
+ }
3637
+ );
3592
3638
  return (_ctx, _cache) => {
3593
3639
  const _component_Delete = vue.resolveComponent("Delete");
3594
3640
  const _component_ARow = vue.resolveComponent("ARow");
@@ -3669,12 +3715,17 @@ var TableColumn = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__file", "table-co
3669
3715
 
3670
3716
  const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
3671
3717
  __name: "text-color",
3672
- props: ["rule"],
3673
- setup(__props) {
3718
+ props: ["color"],
3719
+ emits: ["change"],
3720
+ setup(__props, { emit: emits }) {
3674
3721
  const props = __props;
3722
+ const color = vue.ref(props.color);
3723
+ function getColor(curColor) {
3724
+ return curColor === Colors.Black ? Colors.Blue : Colors.Black;
3725
+ }
3675
3726
  function handleClick() {
3676
- const rule = props.rule;
3677
- rule.style.color = rule.style.color === Colors.Black ? Colors.Blue : Colors.Black;
3727
+ color.value = getColor(color.value);
3728
+ emits("change", color.value);
3678
3729
  }
3679
3730
  return (_ctx, _cache) => {
3680
3731
  const _component_ColorPanel = vue.resolveComponent("ColorPanel");
@@ -3686,16 +3737,11 @@ const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
3686
3737
  width: "1em",
3687
3738
  height: "1em",
3688
3739
  fontSize: "20px",
3689
- color: __props.rule.style.color,
3740
+ color: getColor(color.value),
3690
3741
  cursor: "pointer"
3691
3742
  }),
3692
3743
  onClick: vue.withModifiers(handleClick, ["prevent", "stop"])
3693
- }, {
3694
- default: vue.withCtx(() => [
3695
- vue.createTextVNode("change")
3696
- ]),
3697
- _: 1
3698
- }, 8, ["style", "onClick"]);
3744
+ }, null, 8, ["style", "onClick"]);
3699
3745
  };
3700
3746
  }
3701
3747
  });
@@ -3993,6 +4039,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
3993
4039
  return rule.config.config.parse(rule);
3994
4040
  }
3995
4041
  function edit(formRules) {
4042
+ widgetFormRules.splice(0);
3996
4043
  formRules.forEach((item) => {
3997
4044
  const rule = makeRule(ruleList[item.name]);
3998
4045
  delete item.name;
@@ -4010,22 +4057,73 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
4010
4057
  function getRule(name) {
4011
4058
  return makeRule(ruleList[name]);
4012
4059
  }
4060
+ function validate() {
4061
+ let pass = true;
4062
+ for (const rule of widgetFormRules) {
4063
+ const config = rule.config.config || {};
4064
+ const childRules = rule.config.childRules || [];
4065
+ if (!rule?.title?.title && config.name !== "instruction") {
4066
+ pass = false;
4067
+ }
4068
+ if (config.name === "table" && !childRules.length) {
4069
+ pass = false;
4070
+ }
4071
+ if (!pass && rule.field !== activeRule.value.field) {
4072
+ setActiveRule(rule);
4073
+ }
4074
+ if (pass && childRules.length) {
4075
+ for (const childRule of childRules) {
4076
+ if (!childRule?.title?.title) {
4077
+ pass = false;
4078
+ if (childRule.field !== activeRule.value.field) {
4079
+ setActiveRule(childRule, rule);
4080
+ }
4081
+ break;
4082
+ }
4083
+ }
4084
+ }
4085
+ if (!pass) {
4086
+ vue.nextTick(() => {
4087
+ fApi.value.validate();
4088
+ });
4089
+ break;
4090
+ }
4091
+ }
4092
+ return pass;
4093
+ }
4094
+ function flowConditionEffect(activeProps2, flowCondition) {
4095
+ const requiredRule = activeProps2?.find(
4096
+ (rule) => rule.field === "effect.required"
4097
+ );
4098
+ if (requiredRule) {
4099
+ if (!requiredRule.props) {
4100
+ requiredRule.props = {};
4101
+ }
4102
+ requiredRule.props.disabled = !!flowCondition[activeRule.value.field];
4103
+ }
4104
+ }
4013
4105
  vue.watch(
4014
4106
  () => props.presetRules,
4015
4107
  (presetRules) => {
4016
4108
  widgetFormRules.push(...presetRules);
4017
- },
4018
- {
4019
- immediate: true
4020
4109
  }
4021
4110
  );
4022
4111
  vue.watch(
4023
4112
  () => props.formRules,
4024
4113
  (formRules) => {
4025
- edit(formRules);
4114
+ formRules && edit(formRules);
4115
+ }
4116
+ );
4117
+ vue.watch(activeProps, (activeProps2) => {
4118
+ flowConditionEffect(activeProps2, props.flowCondition);
4119
+ });
4120
+ vue.watch(
4121
+ () => props.flowCondition,
4122
+ (flowCondition) => {
4123
+ flowConditionEffect(activeProps.value, flowCondition);
4026
4124
  },
4027
4125
  {
4028
- immediate: true
4126
+ deep: true
4029
4127
  }
4030
4128
  );
4031
4129
  vue.onBeforeUnmount(() => {
@@ -4033,7 +4131,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
4033
4131
  });
4034
4132
  expose({
4035
4133
  getFormRule,
4036
- getRule
4134
+ getRule,
4135
+ validate
4037
4136
  });
4038
4137
  return (_ctx, _cache) => {
4039
4138
  const _component_ACol = vue.resolveComponent("ACol");
@@ -4076,7 +4175,6 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
4076
4175
  move: moveMenuItem,
4077
4176
  "force-fallback": true,
4078
4177
  "scroll-sensitivity": 100,
4079
- delay: 50,
4080
4178
  onStart: handleMenuItemDragStart,
4081
4179
  onEnd: handleMenuItemDragEnd
4082
4180
  }, {
@@ -4141,7 +4239,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
4141
4239
  ]),
4142
4240
  _: 1
4143
4241
  }, 8, ["list"]),
4144
- showDragTip.value && !_ctx.formRules.length ? (vue.openBlock(), vue.createBlock(NoDataTip, {
4242
+ showDragTip.value && !_ctx.formRules?.length ? (vue.openBlock(), vue.createBlock(NoDataTip, {
4145
4243
  key: 0,
4146
4244
  class: "bm-no-data-tip"
4147
4245
  })) : vue.createCommentVNode("v-if", true)
@@ -26,6 +26,10 @@ var _export_sfc = (sfc, props) => {
26
26
  const _sfc_main = vue.defineComponent({
27
27
  components: { ToolTip: ToolTip__default["default"], CloseCircleFilled: iconsVue.CloseCircleFilled, Button: Button__default["default"], Tag: Tag__default["default"] },
28
28
  props: {
29
+ disabled: {
30
+ type: Boolean,
31
+ default: false
32
+ },
29
33
  list: {
30
34
  type: Array,
31
35
  default: () => []
@@ -36,7 +40,7 @@ const _sfc_main = vue.defineComponent({
36
40
  },
37
41
  placeholder: {
38
42
  type: String,
39
- default: "top"
43
+ default: "\u8BF7\u9009\u62E9"
40
44
  },
41
45
  showEmptyBtn: {
42
46
  type: Boolean,
@@ -76,6 +80,9 @@ const _sfc_main = vue.defineComponent({
76
80
  return document.querySelector(`#${containId}`);
77
81
  }
78
82
  function clear() {
83
+ if (props.disabled) {
84
+ return;
85
+ }
79
86
  emit("update:list", []);
80
87
  emit("clear");
81
88
  if (!props.showEmptyBtn && !props.showEmpty) {
@@ -85,6 +92,9 @@ const _sfc_main = vue.defineComponent({
85
92
  }
86
93
  }
87
94
  function toAddTags() {
95
+ if (props.disabled) {
96
+ return;
97
+ }
88
98
  if (!props.list.length || props.alwaysInvoke)
89
99
  emit("addClick");
90
100
  }
@@ -182,7 +192,8 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
182
192
  _: 2
183
193
  }, 1024);
184
194
  }), 128)),
185
- vue.createElementVNode("div", {
195
+ !_ctx.disabled ? (vue.openBlock(), vue.createElementBlock("div", {
196
+ key: 0,
186
197
  class: "list-clear",
187
198
  onClick: _cache[1] || (_cache[1] = vue.withModifiers((...args) => _ctx.clear && _ctx.clear(...args), ["stop"])),
188
199
  onMouseenter: _cache[2] || (_cache[2] = vue.withModifiers(() => {
@@ -191,7 +202,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
191
202
  }, ["stop"]))
192
203
  }, [
193
204
  vue.createVNode(_component_CloseCircleFilled)
194
- ], 32)
205
+ ], 32)) : vue.createCommentVNode("v-if", true)
195
206
  ])
196
207
  ]),
197
208
  _: 1
@@ -3,6 +3,10 @@ declare type ItemType = {
3
3
  title: string;
4
4
  };
5
5
  declare const _default: import("vue").DefineComponent<{
6
+ disabled: {
7
+ type: BooleanConstructor;
8
+ default: boolean;
9
+ };
6
10
  list: {
7
11
  type: ArrayConstructor;
8
12
  default: () => ItemType[];
@@ -66,6 +70,10 @@ declare const _default: import("vue").DefineComponent<{
66
70
  trigger: string;
67
71
  }>;
68
72
  }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("clear" | "update:list" | "addClick")[], "clear" | "update:list" | "addClick", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
73
+ disabled: {
74
+ type: BooleanConstructor;
75
+ default: boolean;
76
+ };
69
77
  list: {
70
78
  type: ArrayConstructor;
71
79
  default: () => ItemType[];
@@ -114,6 +122,7 @@ declare const _default: import("vue").DefineComponent<{
114
122
  "onUpdate:list"?: ((...args: any[]) => any) | undefined;
115
123
  onAddClick?: ((...args: any[]) => any) | undefined;
116
124
  }, {
125
+ disabled: boolean;
117
126
  placeholder: string;
118
127
  placement: string;
119
128
  list: unknown[];
@@ -1,4 +1,6 @@
1
- export declare function BmAdminUiResolver(options: any): {
1
+ export declare function BmAdminUiResolver(options?: {
2
+ importStyle: boolean;
3
+ }): {
2
4
  type: string;
3
5
  resolve: (name: string) => {
4
6
  name: string;
@@ -5,7 +5,7 @@ function kebabCase(key) {
5
5
  const result = key.replace(/([A-Z])/g, ' $1').trim();
6
6
  return result.split(' ').join('-').toLowerCase();
7
7
  }
8
- function BmAdminUiResolver(options) {
8
+ function BmAdminUiResolver(options = { importStyle: false }) {
9
9
  return [
10
10
  {
11
11
  type: 'component',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bm-admin-ui",
3
- "version": "1.0.39-alpha",
3
+ "version": "1.0.40-alpha",
4
4
  "private": false,
5
5
  "description": "An Admin Component Library for Bm",
6
6
  "license": "UNLICENSED",
@@ -21,7 +21,7 @@
21
21
  "floating-vue": "2.0.0-beta.17",
22
22
  "@ant-design/icons-vue": "^6.1.0",
23
23
  "ant-design-vue": "^3.2.10",
24
- "bm-admin-icons": "^0.2.0",
24
+ "bm-admin-icons": "^0.2.7",
25
25
  "vuedraggable": "^4.1.0",
26
26
  "lodash-es": "^4.17.21",
27
27
  "dayjs": "^1.11.4",
@@ -1 +1 @@
1
- .bm-fc-material-temp__add{display:inline-block;width:24px;height:24px;background:#fafafa;border-radius:2px;border:1px solid #e8e8e8;text-align:center;color:#bcbcc6}.bm-fc-module-widget{width:100%;margin:24px 0}.bm-fc-module-widget+.bm-fc-module-widget{margin-top:0}.bm-fc-head-line{width:100%;margin-bottom:24px;font-weight:700}.bm-fc-form-item-label{display:inline-block;line-height:32px;width:127px;text-align:right}.bm-fc-form-item-label.is-required::before{display:inline-block;margin-right:4px;color:#ff4d4f;font-size:14px;font-family:SimSun,sans-serif;line-height:1;content:'*'}.bm-fc-form-item{line-height:32px;color:#9393a3}.bm-fc-form-item__cover{width:170px;height:170px;-o-object-position:center;object-position:center;-o-object-fit:contain;object-fit:contain}.bm-fc-form-item__temp-content{width:170px;height:170px!important}.bm-fc-row-widget{margin-bottom:24px}.bm-fc-row-widget .ant-form-item{margin-bottom:0}.bm-dc-table-widget__title{line-height:32px;font-size:16px;font-weight:700;overflow:hidden}.bm-dc-table-widget__title-samll{font-size:14px;font-weight:initial}.bm-dc-table-widget__top-bar{float:right}.bm-dc-table-widget__top-bar .ant-btn+.ant-btn{margin-left:8px}.bm-dc-table-widget__table{margin-top:16px}.bm-dc-table-widget .vxe-header--column.is-required .vxe-cell--title::before{display:inline-block;margin-right:4px;color:#ff4d4f;font-size:14px;font-family:SimSun,sans-serif;line-height:1;content:'*'}.bm-fc-select-material-temp__sider{width:225px;height:612px;padding:20px 24px;background-color:#fff;border-right:1px solid rgba(0,0,0,.06);overflow:auto}.bm-fc-select-material-temp__content{padding:24px;background-color:#fff}.bm-fc-select-material-temp__content__input{width:432px}.bm-fc-select-material-temp__content__btn{margin-left:8px}.bm-fc-select-material-temp__content__item-info{padding:10px}.bm-fc-select-material-temp__content__item-info__cover{width:170px;height:170px}.bm-fc-select-material-temp__content__item-info__cover__img{width:100%;height:100%;-o-object-position:center;object-position:center;-o-object-fit:contain;object-fit:contain}.bm-fc-select-material-temp__content__item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.bm-fc-select-material-temp__content__item-name:hover{color:#2f4eed}.bm-fc-select-material-temp__content__circle{vertical-align:-.125em;display:inline-block;width:14px;height:14px;border:1px solid #e8e8e8;border-radius:50%}.bm-fc-select-material-temp__content__check-icon{color:#2f4eed}.bm-fc-select-material-temp__content__item-time{color:#9393a3;font-size:12px}.bm-fc-select-material-temp__content__name{margin-left:4px}.bm-fc-rect-outer{position:relative;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat}.bm-fc-rect-outer .bm-fc-rect{position:absolute;border:1px solid #2f4eed;background-repeat:no-repeat;background-size:cover;background-position:center}.bm-fc-rect-outer .bm-fc-rect.is-ele{border:unset}.bm-form-basic-info__title{font-size:16px;font-weight:700;color:#242633}.bm-form-basic-info__summary{font-size:12px;color:#9393a3;margin-top:15px}.bm-form-basic-info__summary.mt10{margin-top:10px}.bm-form-basic-info__status{float:right;padding:0 12px;margin-top:8px;background:#f5f5f5;border-radius:2px;opacity:.9;border:1px solid #d9d9d9;color:#242633}.bm-form-basic-info__approval-status{float:right;margin-top:3px}
1
+ .bm-fc-material-temp__add{display:inline-block;width:24px;height:24px;background:#fafafa;border-radius:2px;border:1px solid #e8e8e8;text-align:center;color:#bcbcc6}.bm-fc-module-widget{width:100%;margin:24px 0}.bm-fc-module-widget+.bm-fc-module-widget{margin-top:0}.bm-fc-head-line{width:100%;margin-bottom:24px;font-weight:700}.bm-fc-form-item-label{display:inline-block;line-height:32px;width:127px;text-align:right}.bm-fc-form-item-label.is-required::before{display:inline-block;margin-right:4px;color:#ff4d4f;font-size:14px;font-family:SimSun,sans-serif;line-height:1;content:'*'}.bm-fc-form-item{line-height:32px;color:#9393a3}.bm-fc-form-item__cover{width:170px;height:170px;-o-object-position:center;object-position:center;-o-object-fit:contain;object-fit:contain}.bm-fc-form-item__temp-content{width:170px;height:170px!important}.bm-fc-row-widget{margin-bottom:24px}.bm-fc-row-widget .ant-form-item{margin-bottom:0}.bm-dc-table-widget__title{line-height:32px;font-size:16px;font-weight:700;overflow:hidden}.bm-dc-table-widget__title-samll{font-size:14px;font-weight:initial}.bm-dc-table-widget__top-bar{float:right}.bm-dc-table-widget__top-bar .ant-btn+.ant-btn{margin-left:8px}.bm-dc-table-widget__table{margin-top:16px}.bm-dc-table-widget .vxe-header--column.is-required .vxe-cell--title::before{display:inline-block;margin-right:4px;color:#ff4d4f;font-size:14px;font-family:SimSun,sans-serif;line-height:1;content:'*'}.bm-fc-select-material-temp__sider{width:225px;height:612px;padding:20px 24px;background-color:#fff;border-right:1px solid rgba(0,0,0,.06);overflow:auto}.bm-fc-select-material-temp__content{padding:24px;background-color:#fff}.bm-fc-select-material-temp__content__input{width:432px}.bm-fc-select-material-temp__content__btn{margin-left:8px}.bm-fc-select-material-temp__content__item-info{padding:10px}.bm-fc-select-material-temp__content__item-info__cover{width:170px;height:170px}.bm-fc-select-material-temp__content__item-info__cover__img{width:100%;height:100%;-o-object-position:center;object-position:center;-o-object-fit:contain;object-fit:contain}.bm-fc-select-material-temp__content__item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.bm-fc-select-material-temp__content__item-name:hover{color:#2f4eed}.bm-fc-select-material-temp__content__circle{vertical-align:-.125em;display:inline-block;width:14px;height:14px;border:1px solid #e8e8e8;border-radius:50%}.bm-fc-select-material-temp__content__check-icon{color:#2f4eed}.bm-fc-select-material-temp__content__item-time{color:#9393a3;font-size:12px}.bm-fc-select-material-temp__content__name{margin-left:4px}.bm-fc-rect-outer{position:relative;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat}.bm-fc-rect-outer .bm-fc-rect{position:absolute;border:1px solid #2f4eed;background-repeat:no-repeat;background-size:cover;background-position:center}.bm-fc-rect-outer .bm-fc-rect.is-ele{border:unset}.bm-form-basic-info__title{font-size:16px;font-weight:700;color:#242633}.bm-form-basic-info__shop{margin-left:4px;padding:4px 12px;color:#2f4eed;background:#e6f7ff;border-radius:2px;border:1px solid #91d5ff}.bm-form-basic-info__summary{font-size:12px;color:#9393a3;margin-top:15px}.bm-form-basic-info__summary.mt10{margin-top:10px}.bm-form-basic-info__status{float:right;padding:0 12px;margin-top:8px;background:#f5f5f5;border-radius:2px;opacity:.9;border:1px solid #d9d9d9;color:#242633}.bm-form-basic-info__approval-status{float:right;margin-top:3px}.bm-fc-form-basic-info{margin-bottom:48px}