@bit-sun/business-component 2.3.26 → 2.3.28

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 (49) hide show
  1. package/dist/components/Business/AddSelectBusiness/index.d.ts +4 -3
  2. package/dist/components/Business/BsLayouts/Components/AllFunc/drawContent.d.ts +2 -1
  3. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.d.ts +1 -1
  4. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.d.ts +2 -2
  5. package/dist/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.d.ts +2 -1
  6. package/dist/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.d.ts +2 -1
  7. package/dist/components/Business/BsLayouts/Components/GlobalHeader/index.d.ts +2 -1
  8. package/dist/components/Business/BsLayouts/Components/RightContent/LoginModal.d.ts +2 -1
  9. package/dist/components/Business/BsLayouts/index.d.ts +1 -1
  10. package/dist/components/Business/BsSulaQueryTable/SearchItemSetting.d.ts +5 -5
  11. package/dist/components/Business/BsSulaQueryTable/index.d.ts +2 -1
  12. package/dist/components/Business/BsSulaQueryTable/setting.d.ts +5 -5
  13. package/dist/components/Business/BsSulaQueryTable/utils.d.ts +14 -13
  14. package/dist/components/Business/CommodityEntry/index.d.ts +2 -1
  15. package/dist/components/Business/CommonAlert/index.d.ts +2 -1
  16. package/dist/components/Business/CommonGuideWrapper/index.d.ts +3 -3
  17. package/dist/components/Business/DetailPageWrapper/index.d.ts +6 -5
  18. package/dist/components/Business/HomePageWrapper/index.d.ts +2 -1
  19. package/dist/components/Business/JsonQueryTable/components/FieldsModifyModal.d.ts +2 -1
  20. package/dist/components/Business/JsonQueryTable/components/FieldsSettingsTable.d.ts +2 -1
  21. package/dist/components/Business/JsonQueryTable/components/Formula.d.ts +2 -1
  22. package/dist/components/Business/JsonQueryTable/components/MaintainOptions.d.ts +2 -1
  23. package/dist/components/Business/JsonQueryTable/drawer/index.d.ts +2 -1
  24. package/dist/components/Business/JsonQueryTable/static.d.ts +1 -0
  25. package/dist/components/Business/StateFlow/index.d.ts +2 -1
  26. package/dist/components/Business/TreeSearchSelect/index.d.ts +1 -1
  27. package/dist/components/Business/columnSettingTable/columnSetting.d.ts +5 -5
  28. package/dist/components/Business/columnSettingTable/index.d.ts +2 -2
  29. package/dist/components/Business/columnSettingTable/sulaSettingTable.d.ts +2 -2
  30. package/dist/components/Business/columnSettingTable/utils.d.ts +2 -1
  31. package/dist/components/Functional/AddSelect/index.d.ts +2 -1
  32. package/dist/components/Functional/DataImport/index.d.ts +3 -3
  33. package/dist/components/Functional/DataValidation/index.d.ts +3 -3
  34. package/dist/components/Functional/ExportFunctions/ExportIcon/index.d.ts +2 -1
  35. package/dist/components/Functional/QueryMutipleInput/index.d.ts +2 -1
  36. package/dist/components/Functional/TreeSearchSelect/index.d.ts +2 -1
  37. package/dist/components/Solution/RuleComponent/Formula.d.ts +2 -1
  38. package/dist/components/Solution/RuleComponent/InnerSelect.d.ts +2 -1
  39. package/dist/index.esm.js +245 -12
  40. package/dist/index.js +245 -12
  41. package/dist/plugin/TableColumnSetting/index.d.ts +5 -5
  42. package/package.json +1 -1
  43. package/src/components/Business/JsonQueryTable/static.ts +19 -0
  44. package/src/components/Business/SearchSelect/BusinessUtils.ts +74 -0
  45. package/src/components/Business/SearchSelect/index.md +57 -0
  46. package/src/components/Business/SearchSelect/utils.ts +1 -1
  47. package/src/components/Solution/RuleComponent/index.js +36 -4
  48. package/src/components/Solution/RuleComponent/ruleFiled.js +111 -6
  49. package/src/components/Solution/RuleComponent/util.js +4 -0
package/dist/index.js CHANGED
@@ -6699,6 +6699,7 @@ var handleDefaultPrefixUrl = function handleDefaultPrefixUrl(type) {
6699
6699
  case 'purchaseOrg':
6700
6700
  case 'salesOrg':
6701
6701
  case 'employee2':
6702
+ case 'role':
6702
6703
  result = '/user';
6703
6704
  break;
6704
6705
  case 'deliveryMode':
@@ -8654,6 +8655,84 @@ function commonFun(type, prefixUrl, requestConfigProp, modalTableBusProps) {
8654
8655
  }]
8655
8656
  }, modalTableBusProps);
8656
8657
  }
8658
+ // 角色选择器
8659
+ if (type === 'role') {
8660
+ requestConfig = _objectSpread2({
8661
+ url: "".concat(prefixUrl.selectPrefix, "/role"),
8662
+ filter: 'qp-name,code-orGroup,like',
8663
+ mappingTextField: 'name',
8664
+ mappingTextShowKeyField: 'code',
8665
+ mappingValueField: 'code',
8666
+ otherParams: {
8667
+ 'qp-status-eq': 10,
8668
+ sorter: 'desc-id'
8669
+ },
8670
+ sourceName: 'roleCode'
8671
+ }, requestConfigProp);
8672
+ tableSearchForm = [{
8673
+ name: 'qp-name-like',
8674
+ label: '角色名称'
8675
+ }, {
8676
+ name: 'qp-code-like',
8677
+ label: '角色编码'
8678
+ }, {
8679
+ name: 'qp-categoryCode-eq',
8680
+ type: 'select',
8681
+ label: '角色分类',
8682
+ field: {
8683
+ type: 'select',
8684
+ props: {
8685
+ notFoundContent: '暂无数据',
8686
+ allowClear: true,
8687
+ showSearch: true,
8688
+ showArrow: true,
8689
+ maxTagCount: 1,
8690
+ optionFilterProp: 'children',
8691
+ filterOption: function filterOption(input, option) {
8692
+ return option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0;
8693
+ }
8694
+ }
8695
+ }
8696
+ }];
8697
+ Promise.all([loadSelectSource$1("".concat(prefixUrl.formSelectFix, "/permissionCategory"), {
8698
+ pageSize: 5000,
8699
+ currentPage: 1
8700
+ })]).then(function (x) {
8701
+ formatSource(x, 0, 2, tableSearchForm);
8702
+ });
8703
+ modalTableProps = _objectSpread2({
8704
+ modalTableTitle: '选择角色',
8705
+ tableSearchForm: tableSearchForm,
8706
+ tableColumns: [{
8707
+ title: '角色编码',
8708
+ dataIndex: 'code'
8709
+ }, {
8710
+ title: '角色名称',
8711
+ dataIndex: 'name',
8712
+ render: function render(text) {
8713
+ return handleTextOverflow(text);
8714
+ }
8715
+ }, {
8716
+ title: '角色分类',
8717
+ dataIndex: 'categoryName',
8718
+ render: function render(text) {
8719
+ return handleTextOverflow(text);
8720
+ }
8721
+ }, {
8722
+ dataIndex: 'remark',
8723
+ title: '角色描述',
8724
+ render: function render(text) {
8725
+ return handleTextOverflow(text);
8726
+ }
8727
+ }, {
8728
+ dataIndex: 'applicationName',
8729
+ title: '应用',
8730
+ render: function render(text) {
8731
+ return handleTextOverflow(text);
8732
+ }
8733
+ }]
8734
+ }, modalTableBusProps);
8735
+ }
8657
8736
  return {
8658
8737
  modalTableProps: modalTableProps,
8659
8738
  requestConfig: requestConfig,
@@ -24401,6 +24480,14 @@ var inputTypes = {
24401
24480
  props: _objectSpread2({
24402
24481
  treeCheckable: false
24403
24482
  }, normalSingleSelectProps)
24483
+ },
24484
+ 360: {
24485
+ type: 'bs-roleSelect',
24486
+ props: _objectSpread2(_objectSpread2({}, normalSingleSelectProps), {}, {
24487
+ requestConfig: {
24488
+ filter: 'qp-name,code-orGroup-in'
24489
+ }
24490
+ })
24404
24491
  }
24405
24492
  },
24406
24493
  30: {
@@ -24558,6 +24645,14 @@ var inputTypes = {
24558
24645
  props: _objectSpread2({
24559
24646
  treeCheckable: false
24560
24647
  }, normalSingleSelectProps)
24648
+ },
24649
+ 360: {
24650
+ type: 'bs-roleSelect',
24651
+ props: _objectSpread2(_objectSpread2({}, normalMultipleSelectProps), {}, {
24652
+ requestConfig: {
24653
+ filter: 'qp-name,code-orGroup-in'
24654
+ }
24655
+ })
24561
24656
  }
24562
24657
  }
24563
24658
  };
@@ -24589,7 +24684,8 @@ var choiceType = Object.freeze({
24589
24684
  310: '配送方式选择器',
24590
24685
  330: '变量',
24591
24686
  340: '规则模板选择器',
24592
- 350: '营销区域选择器'
24687
+ 350: '营销区域选择器',
24688
+ 360: '角色选择器'
24593
24689
  });
24594
24690
  var inputType = {
24595
24691
  10: '输入',
@@ -26619,6 +26715,8 @@ var findChangedThresholdQuery = function findChangedThresholdQuery(oldVal, newVa
26619
26715
  var isObj = function isObj(object) {
26620
26716
  return object && _typeof(object) == 'object' && Object.prototype.toString.call(object).toLowerCase() == '[object object]';
26621
26717
  };
26718
+ var dateFormat = 'YYYY-MM-DD';
26719
+ var fullDateFormat = 'YYYY-MM-DD HH:mm:ss';
26622
26720
 
26623
26721
  var RangePicker = antd.DatePicker.RangePicker;
26624
26722
  var RuleField = /*#__PURE__*/function (_Component) {
@@ -26789,8 +26887,6 @@ var RuleField = /*#__PURE__*/function (_Component) {
26789
26887
  disabled = _this$props2.disabled,
26790
26888
  customerWidth = _this$props2.customerWidth;
26791
26889
  var thresholdList = _this.state.thresholdList;
26792
- var dateFormat = 'YYYY-MM-DD';
26793
- var fullDateFormat = 'YYYY-MM-DD HH:mm:ss';
26794
26890
  var styleCommon = {
26795
26891
  width: customerWidth || '150px'
26796
26892
  };
@@ -28700,6 +28796,120 @@ var RuleField = /*#__PURE__*/function (_Component) {
28700
28796
  });
28701
28797
  }
28702
28798
  }
28799
+ // 角色选择器
28800
+ if (dataChoiceBusinessType == 360) {
28801
+ if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
28802
+ return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(BusinessSearchSelect$1, {
28803
+ selectBusinessType: "role",
28804
+ selectProps: _objectSpread2({
28805
+ style: styleCommon,
28806
+ placeholder: '请选择角色'
28807
+ }, dataInputBusinessType === 12 ? {
28808
+ mode: 'multiple',
28809
+ maxTagCount: 1
28810
+ } : {}),
28811
+ disabled: disabled,
28812
+ labelInValue: true,
28813
+ value: values[0],
28814
+ requestConfig: {
28815
+ filterInit: 'qp-code-in'
28816
+ },
28817
+ onChange: function onChange(value) {
28818
+ if (dataInputBusinessType === 12) {
28819
+ values[0] = value.map(function (i) {
28820
+ return i.key;
28821
+ });
28822
+ valueNames[0] = value.map(function (i) {
28823
+ return i.label || '';
28824
+ });
28825
+ } else {
28826
+ values[0] = [value.key];
28827
+ valueNames[0] = [value.label || ''];
28828
+ }
28829
+ callback(values, valueNames);
28830
+ },
28831
+ getPopupContainer: function getPopupContainer() {
28832
+ return document.body;
28833
+ }
28834
+ }), /*#__PURE__*/React__default['default'].createElement("span", null, "~"), /*#__PURE__*/React__default['default'].createElement(BusinessSearchSelect$1, {
28835
+ selectBusinessType: "role",
28836
+ selectProps: _objectSpread2({
28837
+ style: styleCommon,
28838
+ placeholder: '请选择角色'
28839
+ }, dataInputBusinessType === 12 ? {
28840
+ mode: 'multiple',
28841
+ maxTagCount: 1
28842
+ } : {}),
28843
+ disabled: disabled,
28844
+ labelInValue: true,
28845
+ value: values[1],
28846
+ requestConfig: {
28847
+ filterInit: 'qp-code-in'
28848
+ },
28849
+ onChange: function onChange(value) {
28850
+ if (dataInputBusinessType === 12) {
28851
+ values[1] = value.map(function (i) {
28852
+ return i.key;
28853
+ });
28854
+ valueNames[1] = value.map(function (i) {
28855
+ return i.label || '';
28856
+ });
28857
+ } else {
28858
+ values[1] = [value.key];
28859
+ valueNames[1] = [value.label || ''];
28860
+ }
28861
+ callback(values, valueNames);
28862
+ },
28863
+ getPopupContainer: function getPopupContainer() {
28864
+ return document.body;
28865
+ }
28866
+ }));
28867
+ } else {
28868
+ var _values12;
28869
+ var _currentValue11 = dataInputBusinessType === 12 ? ((_values12 = values) === null || _values12 === void 0 ? void 0 : _values12.map(function (s, vIndex) {
28870
+ return {
28871
+ key: s,
28872
+ label: valueNames[vIndex]
28873
+ };
28874
+ })) || [] : values[0] && {
28875
+ key: values[0],
28876
+ label: valueNames[0]
28877
+ } || {};
28878
+ return /*#__PURE__*/React__default['default'].createElement(BusinessSearchSelect$1, {
28879
+ selectBusinessType: "role",
28880
+ selectProps: _objectSpread2({
28881
+ style: styleCommon,
28882
+ placeholder: '请选择角色'
28883
+ }, dataInputBusinessType === 12 ? {
28884
+ mode: 'multiple',
28885
+ maxTagCount: 1
28886
+ } : {}),
28887
+ disabled: disabled,
28888
+ labelInValue: true,
28889
+ value: _currentValue11,
28890
+ requestConfig: {
28891
+ filterInit: 'qp-code-in'
28892
+ },
28893
+ onChange: function onChange(value) {
28894
+ if (dataInputBusinessType === 12) {
28895
+ values = value.map(function (i) {
28896
+ return i.key;
28897
+ }) || [];
28898
+ valueNames = value.map(function (i) {
28899
+ return i.label || '';
28900
+ }) || [];
28901
+ } else {
28902
+ values = (value === null || value === void 0 ? void 0 : value.key) ? [value.key] : [];
28903
+ valueNames = (value === null || value === void 0 ? void 0 : value.label) ? [value.label] : [];
28904
+ }
28905
+ callback(values, valueNames);
28906
+ },
28907
+ getPopupContainer: function getPopupContainer() {
28908
+ return document.body;
28909
+ }
28910
+ });
28911
+ }
28912
+ }
28703
28913
  } else {
28704
28914
  if (dataTypeCode == 22 || dataTypeCode == 21 || dataTypeCode == 24 || dataTypeCode == 23) {
28705
28915
  //数值22, 字符串21, 布尔类型24, long23
@@ -28735,12 +28945,11 @@ var RuleField = /*#__PURE__*/function (_Component) {
28735
28945
  }
28736
28946
  });
28737
28947
  }
28738
- } else if (dataTypeCode == 41) {
28739
- // 日期41
28948
+ } else if (dataTypeCode == 41 || dataTypeCode == 32) {
28949
+ // 日期41 日期时间32
28740
28950
  if (INTERVAL_TYPE.indexOf(selectOperation) > -1) {
28741
- return /*#__PURE__*/React__default['default'].createElement(RangePicker
28742
- // showTime
28743
- , {
28951
+ return /*#__PURE__*/React__default['default'].createElement(RangePicker, {
28952
+ showTime: dataTypeCode == 32,
28744
28953
  disabled: disabled,
28745
28954
  style: {
28746
28955
  width: customerWidth || '300px'
@@ -28764,6 +28973,7 @@ var RuleField = /*#__PURE__*/function (_Component) {
28764
28973
  });
28765
28974
  } else {
28766
28975
  return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement(antd.DatePicker, {
28976
+ showTime: dataTypeCode == 32,
28767
28977
  format: dataTypeCode == 41 ? dateFormat : fullDateFormat,
28768
28978
  disabled: disabled,
28769
28979
  style: {
@@ -29848,18 +30058,18 @@ var RuleObjectComponent = /*#__PURE__*/function (_Component) {
29848
30058
  onClick: function onClick() {
29849
30059
  _this.handleLogicalTypeChange(itemDetail, 'or');
29850
30060
  }
29851
- }, "OR"), /*#__PURE__*/React__default['default'].createElement("p", {
30061
+ }, "\u6216\u8005"), /*#__PURE__*/React__default['default'].createElement("p", {
29852
30062
  className: 'choose_logical_type',
29853
30063
  onClick: function onClick() {
29854
30064
  _this.handleLogicalTypeChange(itemDetail, 'and');
29855
30065
  }
29856
- }, "AND")),
30066
+ }, "\u5E76\u4E14")),
29857
30067
  trigger: "focus"
29858
30068
  }, /*#__PURE__*/React__default['default'].createElement(antd.Button, {
29859
30069
  disabled: disabled,
29860
30070
  type: "link",
29861
30071
  className: 'logical_item_btn'
29862
- }, (itemDetail === null || itemDetail === void 0 ? void 0 : itemDetail.operationCode) == 'or' ? 'OR' : 'AND', /*#__PURE__*/React__default['default'].createElement(icons.DownOutlined, {
30072
+ }, (itemDetail === null || itemDetail === void 0 ? void 0 : itemDetail.operationCode) == 'or' ? '或者' : '并且', /*#__PURE__*/React__default['default'].createElement(icons.DownOutlined, {
29863
30073
  style: {
29864
30074
  marginLeft: '6px'
29865
30075
  }
@@ -30142,7 +30352,9 @@ var RuleObjectComponent = /*#__PURE__*/function (_Component) {
30142
30352
  onChange: function onChange(value) {
30143
30353
  handleEdit(ites.code, value);
30144
30354
  }
30145
- }) || null, (ites === null || ites === void 0 ? void 0 : ites.inputType) === 10 && (ites === null || ites === void 0 ? void 0 : ites.valueType) === 41 && /*#__PURE__*/React__default['default'].createElement(antd.DatePicker, {
30355
+ }) || null, (ites === null || ites === void 0 ? void 0 : ites.inputType) === 10 && ((ites === null || ites === void 0 ? void 0 : ites.valueType) === 41 || (ites === null || ites === void 0 ? void 0 : ites.valueType) === 32) && /*#__PURE__*/React__default['default'].createElement(antd.DatePicker, {
30356
+ showTime: dataTypeCode == 32,
30357
+ format: dataTypeCode == 41 ? dateFormat : fullDateFormat,
30146
30358
  disabled: disabled,
30147
30359
  defaultValue: ites.defaultValue,
30148
30360
  style: style2,
@@ -30536,6 +30748,27 @@ var RuleObjectComponent = /*#__PURE__*/function (_Component) {
30536
30748
  getPopupContainer: function getPopupContainer() {
30537
30749
  return document.body;
30538
30750
  }
30751
+ }) || null, ((ites === null || ites === void 0 ? void 0 : ites.inputType) === 20 || (ites === null || ites === void 0 ? void 0 : ites.inputType) === 30) && (ites === null || ites === void 0 ? void 0 : ites.choiceType) === 360 && /*#__PURE__*/React__default['default'].createElement(BusinessSearchSelect$1, {
30752
+ selectBusinessType: "role",
30753
+ selectProps: _objectSpread2({
30754
+ style: styleCommon,
30755
+ placeholder: '请选择角色'
30756
+ }, (ites === null || ites === void 0 ? void 0 : ites.inputType) === 30 ? {
30757
+ mode: 'multiple',
30758
+ maxTagCount: 1
30759
+ } : {}),
30760
+ disabled: disabled,
30761
+ labelInValue: true,
30762
+ value: showValue(ites.code),
30763
+ requestConfig: {
30764
+ filterInit: 'qp-code-in'
30765
+ },
30766
+ onChange: function onChange(value) {
30767
+ handleEdit(ites.code, value);
30768
+ },
30769
+ getPopupContainer: function getPopupContainer() {
30770
+ return document.body;
30771
+ }
30539
30772
  }) || null, (ites === null || ites === void 0 ? void 0 : ites.inputType) === 40 && /*#__PURE__*/React__default['default'].createElement("div", {
30540
30773
  style: {
30541
30774
  display: 'flex'
@@ -38,14 +38,14 @@ declare class TableColumnSetting extends React.Component<TableColumnSettingProps
38
38
  } | {
39
39
  title: string;
40
40
  dataIndex: string;
41
- render: (text: any, record: any) => JSX.Element;
41
+ render: (text: any, record: any) => React.JSX.Element;
42
42
  className?: undefined;
43
43
  width?: undefined;
44
44
  } | {
45
45
  title: string;
46
46
  dataIndex: string;
47
47
  className: string;
48
- render: () => JSX.Element;
48
+ render: () => React.JSX.Element;
49
49
  width?: undefined;
50
50
  })[];
51
51
  showModal: () => void;
@@ -53,12 +53,12 @@ declare class TableColumnSetting extends React.Component<TableColumnSettingProps
53
53
  handleCancel: (e: React.MouseEvent<HTMLElement>) => void;
54
54
  handleTableHeadHidden: (title: string) => void;
55
55
  onSortEnd: ({ oldIndex, newIndex }: any) => void;
56
- DraggableContainer: (props: any) => JSX.Element;
57
- DraggableBodyRow: ({ className, style, ...restProps }: any) => JSX.Element;
56
+ DraggableContainer: (props: any) => React.JSX.Element;
57
+ DraggableBodyRow: ({ className, style, ...restProps }: any) => React.JSX.Element;
58
58
  onChange: (e: any, title: any) => void;
59
59
  handleReset: () => void;
60
60
  onSearch: (e: any) => void;
61
61
  onSearchSort: (e: any) => void;
62
- render(): JSX.Element;
62
+ render(): React.JSX.Element;
63
63
  }
64
64
  export default TableColumnSetting;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bit-sun/business-component",
3
- "version": "2.3.26",
3
+ "version": "2.3.28",
4
4
  "scripts": {
5
5
  "start": "dumi dev",
6
6
  "docs:build": "dumi build",
@@ -169,6 +169,15 @@ export const inputTypes:any = {
169
169
  ...normalSingleSelectProps,
170
170
  },
171
171
  },
172
+ 360: {
173
+ type: 'bs-roleSelect',
174
+ props: {
175
+ ...normalSingleSelectProps,
176
+ requestConfig: {
177
+ filter: 'qp-name,code-orGroup-in',
178
+ },
179
+ },
180
+ },
172
181
  },
173
182
  30: {
174
183
  10: {
@@ -343,6 +352,15 @@ export const inputTypes:any = {
343
352
  ...normalSingleSelectProps,
344
353
  },
345
354
  },
355
+ 360: {
356
+ type: 'bs-roleSelect',
357
+ props: {
358
+ ...normalMultipleSelectProps,
359
+ requestConfig: {
360
+ filter: 'qp-name,code-orGroup-in',
361
+ },
362
+ },
363
+ },
346
364
  },
347
365
  };
348
366
 
@@ -384,6 +402,7 @@ export const choiceType = Object.freeze({
384
402
  330: '变量',
385
403
  340: '规则模板选择器',
386
404
  350: '营销区域选择器',
405
+ 360: '角色选择器',
387
406
  });
388
407
  export const inputType:any ={
389
408
  10: '输入',
@@ -1758,5 +1758,79 @@ export function commonFun (type?: string, prefixUrl: any, requestConfigProp?: an
1758
1758
  }
1759
1759
  }
1760
1760
 
1761
+ // 角色选择器
1762
+ if(type === 'role') {
1763
+ requestConfig = {
1764
+ url: `${prefixUrl.selectPrefix}/role`,
1765
+ filter: 'qp-name,code-orGroup,like', // 过滤参数
1766
+ mappingTextField: 'name',
1767
+ mappingTextShowKeyField: 'code',
1768
+ mappingValueField: 'code',
1769
+ otherParams: {
1770
+ 'qp-status-eq': 10, // 10启用 20禁用
1771
+ sorter: 'desc-id',
1772
+ }, // 默认参数
1773
+ sourceName: 'roleCode',
1774
+ ...requestConfigProp
1775
+ }
1776
+ tableSearchForm = [
1777
+ { name: 'qp-name-like', label: '角色名称' },
1778
+ { name: 'qp-code-like', label: '角色编码' },
1779
+ { name: 'qp-categoryCode-eq', type: 'select', label: '角色分类', field: {
1780
+ type: 'select',
1781
+ props: {
1782
+ notFoundContent: '暂无数据',
1783
+ allowClear: true,
1784
+ showSearch: true,
1785
+ showArrow: true,
1786
+ maxTagCount: 1,
1787
+ optionFilterProp: 'children',
1788
+ filterOption: (input: string, option: { props: { children: string } }) =>
1789
+ option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0,
1790
+ },
1791
+ }
1792
+ },
1793
+ ]
1794
+ Promise.all([
1795
+ loadSelectSource(`${prefixUrl.formSelectFix}/permissionCategory`, {
1796
+ pageSize: 5000,
1797
+ currentPage: 1,
1798
+ }),
1799
+ ]).then((x: any)=>{
1800
+ formatSource(x,0, 2, tableSearchForm);
1801
+ })
1802
+ modalTableProps = {
1803
+ modalTableTitle: '选择角色',
1804
+ tableSearchForm,
1805
+ tableColumns: [
1806
+ {
1807
+ title: '角色编码',
1808
+ dataIndex: 'code',
1809
+ },
1810
+ {
1811
+ title: '角色名称',
1812
+ dataIndex: 'name',
1813
+ render: (text: any) => handleTextOverflow(text),
1814
+ },
1815
+ {
1816
+ title: '角色分类',
1817
+ dataIndex: 'categoryName',
1818
+ render: (text: any) => handleTextOverflow(text),
1819
+ },
1820
+ {
1821
+ dataIndex: 'remark',
1822
+ title: '角色描述',
1823
+ render: (text: any) => handleTextOverflow(text),
1824
+ },
1825
+ {
1826
+ dataIndex: 'applicationName',
1827
+ title: '应用',
1828
+ render: (text: any) => handleTextOverflow(text),
1829
+ },
1830
+ ],
1831
+ ...modalTableBusProps
1832
+ }
1833
+ }
1834
+
1761
1835
  return { modalTableProps, requestConfig, needModalTable };
1762
1836
  }
@@ -1326,4 +1326,61 @@ export default () => {
1326
1326
  };
1327
1327
  ```
1328
1328
 
1329
+ # 角色选择器 Select-ROLE-001
1330
+
1331
+ ```tsx
1332
+ import React, { useState } from 'react';
1333
+ import { Tabs } from 'antd';
1334
+ import {BusinessSearchSelect} from '../../../index.ts';
1335
+
1336
+ const { TabPane } = Tabs;
1337
+
1338
+ export default () => {
1339
+ const selectProps = {
1340
+ // mode: 'multiple',
1341
+ // maxTagCount: 1,
1342
+ // disabled: true
1343
+ }
1344
+ const selectPropsMultiple = {
1345
+ mode: 'multiple',
1346
+ maxTagCount: 1,
1347
+ }
1348
+
1349
+ const [ tabKey, setTabKey ] = useState('single')
1350
+ const [value, setValue] = useState(selectProps?.mode ? [] : null);
1351
+
1352
+ const props = {
1353
+ value,
1354
+ onChange: (value: any) => {
1355
+ console.log(value)
1356
+ setValue(value)
1357
+ },
1358
+ selectProps,
1359
+ selectBusinessType: 'role',
1360
+ };
1361
+
1362
+ const onTabChange = (key) => {
1363
+ setTabKey(key)
1364
+ setValue(key === 'single' ? null: [])
1365
+ }
1366
+
1367
+ return (
1368
+ <div>
1369
+ <Tabs onChange={onTabChange} activeKey={tabKey}>
1370
+ <TabPane tab='单选' key='single'>
1371
+ {tabKey === 'single' && (
1372
+ <BusinessSearchSelect {...props} />
1373
+ )}
1374
+ </TabPane>
1375
+ <TabPane tab='多选' key='multiple'>
1376
+ {tabKey === 'multiple' && (
1377
+ <BusinessSearchSelect {...props} selectProps={selectPropsMultiple} />
1378
+ )}
1379
+ </TabPane>
1380
+ </Tabs>
1381
+ </div>
1382
+ );
1383
+ };
1384
+ ```
1385
+
1329
1386
  More skills for writing demo: https://d.umijs.org/guide/demo-principle
@@ -84,7 +84,7 @@ const handleDefaultPrefixUrl = (type: string) => {
84
84
  case 'physicalWarehouse': case 'realWarehouse': case 'virtualWarehouse': case 'channelWarehouse': case 'ownerWarehouse':
85
85
  result = '/stock';
86
86
  break;
87
- case 'inventoryOrg2': case 'purchaseOrg': case 'salesOrg': case 'employee2':
87
+ case 'inventoryOrg2': case 'purchaseOrg': case 'salesOrg': case 'employee2': case 'role':
88
88
  result = '/user';
89
89
  break;
90
90
  case 'deliveryMode': case 'ruleTemplate':
@@ -31,6 +31,8 @@ import {
31
31
  getSpecialPropertyCode,
32
32
  getPropertyCode,
33
33
  isObj,
34
+ dateFormat,
35
+ fullDateFormat
34
36
  } from './util';
35
37
  import { getDictionarySource, uuid } from '../../../utils/utils';
36
38
  import {
@@ -656,7 +658,7 @@ class RuleObjectComponent extends Component {
656
658
  this.handleLogicalTypeChange(itemDetail, 'or');
657
659
  }}
658
660
  >
659
- OR
661
+ 或者
660
662
  </p>
661
663
  <p
662
664
  className={'choose_logical_type'}
@@ -664,7 +666,7 @@ class RuleObjectComponent extends Component {
664
666
  this.handleLogicalTypeChange(itemDetail, 'and');
665
667
  }}
666
668
  >
667
- AND
669
+ 并且
668
670
  </p>
669
671
  </div>
670
672
  }
@@ -675,7 +677,7 @@ class RuleObjectComponent extends Component {
675
677
  type="link"
676
678
  className={'logical_item_btn'}
677
679
  >
678
- {itemDetail?.operationCode == 'or' ? 'OR' : 'AND'}
680
+ {itemDetail?.operationCode == 'or' ? '或者' : '并且'}
679
681
  <DownOutlined style={{ marginLeft: '6px' }} />
680
682
  </Button>
681
683
  </Popover>
@@ -1047,8 +1049,10 @@ class RuleObjectComponent extends Component {
1047
1049
  )) ||
1048
1050
  null}
1049
1051
  {/* 输入/日期 */}
1050
- {(ites?.inputType === 10 && ites?.valueType === 41 && (
1052
+ {(ites?.inputType === 10 && (ites?.valueType === 41 || ites?.valueType === 32) && (
1051
1053
  <DatePicker
1054
+ showTime={dataTypeCode == 32}
1055
+ format={dataTypeCode == 41 ? dateFormat : fullDateFormat}
1052
1056
  disabled={disabled}
1053
1057
  defaultValue={ites.defaultValue}
1054
1058
  style={style2}
@@ -1562,6 +1566,34 @@ class RuleObjectComponent extends Component {
1562
1566
  />
1563
1567
  )) ||
1564
1568
  null}
1569
+ {/* 单选/多选 角色选择器 */}
1570
+ {((ites?.inputType === 20 || ites?.inputType === 30) &&
1571
+ ites?.choiceType === 360 && (
1572
+ <BusinessSearchSelect
1573
+ selectBusinessType="role"
1574
+ selectProps={{
1575
+ style: styleCommon,
1576
+ placeholder: '请选择角色',
1577
+ ...(ites?.inputType === 30
1578
+ ? {
1579
+ mode: 'multiple',
1580
+ maxTagCount: 1,
1581
+ }
1582
+ : {}),
1583
+ }}
1584
+ disabled={disabled}
1585
+ labelInValue={true}
1586
+ value={showValue(ites.code)}
1587
+ requestConfig={{
1588
+ filterInit: 'qp-code-in',
1589
+ }}
1590
+ onChange={(value) => {
1591
+ handleEdit(ites.code, value);
1592
+ }}
1593
+ getPopupContainer={() => document.body}
1594
+ />
1595
+ )) ||
1596
+ null}
1565
1597
  {/* 表达式 */}
1566
1598
  {ites?.inputType === 40 && (
1567
1599
  <div style={{ display: 'flex' }}>