@bit-sun/business-component 2.2.36 → 2.2.37

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 (183) hide show
  1. package/.editorconfig +16 -16
  2. package/.fatherrc.ts +5 -5
  3. package/.gitlab-ci.yml +179 -179
  4. package/.prettierignore +7 -7
  5. package/.prettierrc +11 -11
  6. package/.umirc.ts +74 -74
  7. package/README.md +27 -27
  8. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.d.ts +1 -1
  9. package/dist/components/Business/BsLayouts/Components/CustomerMenu/index.d.ts +1 -1
  10. package/dist/components/Business/SearchSelect/index.d.ts +1 -1
  11. package/dist/components/Functional/SearchSelect/index.d.ts +1 -1
  12. package/dist/index.esm.js +667 -635
  13. package/dist/index.js +674 -642
  14. package/dist/utils/utils.d.ts +1 -1
  15. package/docs/index.md +21 -21
  16. package/lib/assets/drag.svg +17 -17
  17. package/lib/assets/exportFail.svg +37 -37
  18. package/lib/assets/exportProcessing.svg +28 -28
  19. package/lib/assets/exportSuccess.svg +34 -34
  20. package/lib/assets/label_icon_bottom.svg +25 -25
  21. package/lib/assets/upExport.svg +22 -22
  22. package/package.json +77 -77
  23. package/src/assets/32.svg +27 -27
  24. package/src/assets/addIcon.svg +17 -17
  25. package/src/assets/allfunc.svg +27 -27
  26. package/src/assets/arrowRight.svg +24 -24
  27. package/src/assets/btn-delete.svg +29 -29
  28. package/src/assets/btn-edit.svg +19 -19
  29. package/src/assets/btn-more.svg +17 -17
  30. package/src/assets/btn-submit.svg +19 -19
  31. package/src/assets/caidan.svg +11 -11
  32. package/src/assets/close.svg +26 -26
  33. package/src/assets/drag.svg +17 -17
  34. package/src/assets/exportFail.svg +37 -37
  35. package/src/assets/exportProcessing.svg +28 -28
  36. package/src/assets/exportSuccess.svg +34 -34
  37. package/src/assets/fixed-left-active.svg +11 -11
  38. package/src/assets/fixed-left.svg +15 -15
  39. package/src/assets/fixed-right-active.svg +11 -11
  40. package/src/assets/fixed-right.svg +15 -15
  41. package/src/assets/guanbi.svg +15 -15
  42. package/src/assets/icon-quanping.svg +15 -15
  43. package/src/assets/icon-shezhi.svg +17 -17
  44. package/src/assets/label_icon_bottom.svg +25 -25
  45. package/src/assets/list-no-img.svg +21 -21
  46. package/src/assets/morentouxiang-32.svg +23 -23
  47. package/src/assets/scanning.svg +24 -24
  48. package/src/assets/upExport.svg +22 -22
  49. package/src/components/Business/AddSelectBusiness/index.md +161 -161
  50. package/src/components/Business/AddSelectBusiness/index.tsx +861 -861
  51. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +111 -111
  52. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -153
  53. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -70
  54. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -90
  55. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +37 -37
  56. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +242 -242
  57. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +384 -384
  58. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +285 -285
  59. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +74 -74
  60. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +170 -170
  61. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +64 -64
  62. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +153 -153
  63. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +72 -72
  64. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +157 -157
  65. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -85
  66. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -218
  67. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +155 -155
  68. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +160 -160
  69. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +75 -75
  70. package/src/components/Business/BsLayouts/index.less +79 -79
  71. package/src/components/Business/BsLayouts/index.tsx +1484 -1484
  72. package/src/components/Business/BsLayouts/service.ts +10 -10
  73. package/src/components/Business/BsLayouts/utils.tsx +203 -203
  74. package/src/components/Business/BsSulaQueryTable/SearchItemSetting.tsx +538 -538
  75. package/src/components/Business/BsSulaQueryTable/index.less +219 -219
  76. package/src/components/Business/BsSulaQueryTable/index.tsx +527 -527
  77. package/src/components/Business/BsSulaQueryTable/setting.tsx +802 -802
  78. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  79. package/src/components/Business/BsSulaQueryTable/utils.tsx +688 -688
  80. package/src/components/Business/CommodityEntry/index.md +70 -70
  81. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  82. package/src/components/Business/CommonAlert/index.tsx +23 -23
  83. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  84. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  85. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  86. package/src/components/Business/DetailPageWrapper/index.less +79 -79
  87. package/src/components/Business/DetailPageWrapper/index.tsx +313 -313
  88. package/src/components/Business/DetailPageWrapper/utils.tsx +100 -100
  89. package/src/components/Business/HomePageWrapper/index.less +33 -33
  90. package/src/components/Business/HomePageWrapper/index.md +45 -45
  91. package/src/components/Business/HomePageWrapper/index.tsx +162 -162
  92. package/src/components/Business/JsonQueryTable/components/FieldsModifyModal.tsx +824 -824
  93. package/src/components/Business/JsonQueryTable/components/FieldsSettingsTable.tsx +201 -201
  94. package/src/components/Business/JsonQueryTable/components/Formula.tsx +205 -205
  95. package/src/components/Business/JsonQueryTable/components/MaintainOptions.tsx +127 -127
  96. package/src/components/Business/JsonQueryTable/configButton/index.js +20 -20
  97. package/src/components/Business/JsonQueryTable/configTree/component/compactArrayView.js +25 -25
  98. package/src/components/Business/JsonQueryTable/configTree/component/compactObjectView.js +30 -30
  99. package/src/components/Business/JsonQueryTable/configTree/index.js +82 -82
  100. package/src/components/Business/JsonQueryTable/configTree/index.less +44 -44
  101. package/src/components/Business/JsonQueryTable/configTree/parser/highlight.js +57 -57
  102. package/src/components/Business/JsonQueryTable/configTree/parser/index.js +124 -124
  103. package/src/components/Business/JsonQueryTable/configTree/render/iconRender.js +29 -29
  104. package/src/components/Business/JsonQueryTable/configTree/render/nameRender.js +22 -22
  105. package/src/components/Business/JsonQueryTable/configTree/treeNode.js +116 -116
  106. package/src/components/Business/JsonQueryTable/drawer/index.tsx +12 -12
  107. package/src/components/Business/JsonQueryTable/function.ts +62 -62
  108. package/src/components/Business/JsonQueryTable/index.less +16 -16
  109. package/src/components/Business/JsonQueryTable/index.md +328 -328
  110. package/src/components/Business/JsonQueryTable/index.tsx +320 -320
  111. package/src/components/Business/JsonQueryTable/jsonEditor/index.js +346 -346
  112. package/src/components/Business/JsonQueryTable/jsonEditor/index.less +22 -22
  113. package/src/components/Business/JsonQueryTable/jsonEditor/lint/basicType.js +147 -147
  114. package/src/components/Business/JsonQueryTable/jsonEditor/lint/index.js +389 -389
  115. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/actions.js +118 -118
  116. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/dependency.js +22 -22
  117. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/index.js +21 -21
  118. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/request.js +65 -65
  119. package/src/components/Business/JsonQueryTable/static.ts +390 -390
  120. package/src/components/Business/SearchSelect/BusinessUtils.ts +1732 -1731
  121. package/src/components/Business/SearchSelect/common.ts +53 -53
  122. package/src/components/Business/SearchSelect/index.md +1319 -1319
  123. package/src/components/Business/SearchSelect/index.tsx +51 -51
  124. package/src/components/Business/SearchSelect/utils.ts +100 -100
  125. package/src/components/Business/StateFlow/index.less +130 -130
  126. package/src/components/Business/StateFlow/index.md +60 -60
  127. package/src/components/Business/StateFlow/index.tsx +29 -29
  128. package/src/components/Business/TreeSearchSelect/index.md +154 -154
  129. package/src/components/Business/TreeSearchSelect/index.tsx +34 -34
  130. package/src/components/Business/TreeSearchSelect/utils.ts +69 -69
  131. package/src/components/Business/columnSettingTable/columnSetting.tsx +764 -764
  132. package/src/components/Business/columnSettingTable/index.less +247 -247
  133. package/src/components/Business/columnSettingTable/index.md +357 -357
  134. package/src/components/Business/columnSettingTable/index.tsx +232 -232
  135. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +240 -240
  136. package/src/components/Business/columnSettingTable/utils.tsx +68 -68
  137. package/src/components/Business/moreTreeTable/index.less +99 -99
  138. package/src/components/Business/moreTreeTable/index.md +448 -448
  139. package/src/components/Business/moreTreeTable/index.tsx +365 -365
  140. package/src/components/Business/moreTreeTable/utils.ts +126 -126
  141. package/src/components/Functional/AddSelect/helps.ts +14 -14
  142. package/src/components/Functional/AddSelect/index.less +367 -367
  143. package/src/components/Functional/AddSelect/index.md +155 -155
  144. package/src/components/Functional/AddSelect/index.tsx +1279 -1279
  145. package/src/components/Functional/BillEntry/index.less +371 -371
  146. package/src/components/Functional/BillEntry/index.md +39 -39
  147. package/src/components/Functional/BillEntry/index.tsx +772 -772
  148. package/src/components/Functional/DataImport/index.less +63 -63
  149. package/src/components/Functional/DataImport/index.md +44 -44
  150. package/src/components/Functional/DataImport/index.tsx +695 -695
  151. package/src/components/Functional/DataValidation/index.less +63 -63
  152. package/src/components/Functional/DataValidation/index.md +39 -39
  153. package/src/components/Functional/DataValidation/index.tsx +687 -687
  154. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  155. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  156. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  157. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  158. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  159. package/src/components/Functional/SearchSelect/index.less +115 -115
  160. package/src/components/Functional/SearchSelect/index.md +141 -141
  161. package/src/components/Functional/SearchSelect/index.tsx +849 -849
  162. package/src/components/Functional/SearchSelect/utils.ts +3 -3
  163. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  164. package/src/components/Functional/TreeSearchSelect/index.tsx +162 -162
  165. package/src/index.ts +34 -34
  166. package/src/plugin/TableColumnSetting/index.less +247 -247
  167. package/src/plugin/TableColumnSetting/index.md +50 -50
  168. package/src/plugin/TableColumnSetting/index.tsx +724 -724
  169. package/src/plugin/TableColumnSetting/utils.ts +19 -19
  170. package/src/styles/bsDefault.less +1912 -1912
  171. package/src/utils/CheckOneUser/index.md +39 -39
  172. package/src/utils/CheckOneUser/index.ts +51 -51
  173. package/src/utils/LocalstorageUtils.ts +90 -90
  174. package/src/utils/TableUtils.tsx +18 -18
  175. package/src/utils/checkUtils.ts +39 -39
  176. package/src/utils/enumConfig.ts +11 -11
  177. package/src/utils/getFormMode.js +12 -12
  178. package/src/utils/index.ts +3 -3
  179. package/src/utils/requestUtils.ts +34 -34
  180. package/src/utils/serialize.js +7 -7
  181. package/src/utils/utils.ts +183 -183
  182. package/tsconfig.json +29 -29
  183. package/typings.d.ts +4 -4
@@ -1,3 +1,3 @@
1
- export const handleSourceName = (sName: any) => {
2
- return sName
3
- }
1
+ export const handleSourceName = (sName: any) => {
2
+ return sName
3
+ }
@@ -1,47 +1,47 @@
1
- ---
2
- nav:
3
- title: '组件'
4
- order: 1
5
- group:
6
- title: 功能组件
7
- order: 0
8
- title: 树型选择器
9
- order: 4
10
- ---
11
-
12
- ## TreeSearchSelect
13
-
14
- 部门选择器Demo:
15
-
16
- ```tsx
17
- import React, { useState } from 'react';
18
- import { TreeSearchSelect } from '../../../index';
19
-
20
- export default () => {
21
-
22
- const [value, setValue] = useState();
23
-
24
- const props = {
25
- mode: 'create',
26
- remoteSource: {
27
- url: `/user/orgViewNode/common/getTreeForOrgViewAndTenant`,
28
- initialParams: { 'orgViewCode': 'administrative-organization-view' },
29
- resKeyValue: ['code', 'name'],
30
- },
31
- value,
32
- isChoose: false, // 控制是否父节点可选中,默认不可选中
33
- treeCheckable: true,
34
- onChange: (v) => {
35
- setValue(v)
36
- }
37
- };
38
-
39
- return (
40
- <div>
41
- <TreeSearchSelect {...props} />
42
- </div>
43
- );
44
- };
45
- ```
46
-
47
- More skills for writing demo: https://d.umijs.org/guide/demo-principle
1
+ ---
2
+ nav:
3
+ title: '组件'
4
+ order: 1
5
+ group:
6
+ title: 功能组件
7
+ order: 0
8
+ title: 树型选择器
9
+ order: 4
10
+ ---
11
+
12
+ ## TreeSearchSelect
13
+
14
+ 部门选择器Demo:
15
+
16
+ ```tsx
17
+ import React, { useState } from 'react';
18
+ import { TreeSearchSelect } from '../../../index';
19
+
20
+ export default () => {
21
+
22
+ const [value, setValue] = useState();
23
+
24
+ const props = {
25
+ mode: 'create',
26
+ remoteSource: {
27
+ url: `/user/orgViewNode/common/getTreeForOrgViewAndTenant`,
28
+ initialParams: { 'orgViewCode': 'administrative-organization-view' },
29
+ resKeyValue: ['code', 'name'],
30
+ },
31
+ value,
32
+ isChoose: false, // 控制是否父节点可选中,默认不可选中
33
+ treeCheckable: true,
34
+ onChange: (v) => {
35
+ setValue(v)
36
+ }
37
+ };
38
+
39
+ return (
40
+ <div>
41
+ <TreeSearchSelect {...props} />
42
+ </div>
43
+ );
44
+ };
45
+ ```
46
+
47
+ More skills for writing demo: https://d.umijs.org/guide/demo-principle
@@ -1,162 +1,162 @@
1
- import React, { useState, useEffect } from 'react';
2
- import { TreeSelect, Tooltip, Tag } from 'antd';
3
- import axios from 'axios';
4
- import { stringify } from 'querystring';
5
- import _ from "lodash"
6
-
7
- const TreeSearchSelect = (props: any) => {
8
- const [treeData, setTreeData] = useState([]);
9
- const {
10
- ctx, // ctx中有自己的name
11
- value,
12
- valueName, // 当labelInValue为true时,值为null
13
- onChange,
14
- onChangeName, // 当labelInValue为true时,此函数无意义,故无需传
15
- placeholder,
16
- remoteSource,
17
- initialValue,
18
- treeCheckable = false,
19
- showSearch = true,
20
- maxTagCount = 1,
21
- multiple = false,
22
- isChoose = false,
23
- mode,
24
- getPopupContainer,
25
- labelInValue = false,
26
- showArrow = true,
27
- allowClear = true,
28
- showCheckedStrategy = props?.treeCheckStrictly ? TreeSelect.SHOW_ALL : TreeSelect.SHOW_PARENT,
29
- style = { width: '100%' },
30
- getTreeData,
31
- disabled,
32
- ...restProps
33
- } = props;
34
-
35
- const {
36
- url,
37
- paramsKey = 'qp-name-like',
38
- resKeyValue = ['id', 'name'],
39
- initialParams = {},
40
- } = remoteSource;
41
-
42
- const mapSearchTree = (treeDataItem: any) => {
43
- const haveChildren = Array.isArray(treeDataItem.children) && treeDataItem.children.length > 0;
44
- return {
45
- title: treeDataItem[resKeyValue[1]],
46
- key: treeDataItem[resKeyValue[0]],
47
- value: treeDataItem[resKeyValue[0]],
48
- parentId: treeDataItem.parent,
49
- data: { ...treeDataItem },
50
- isLeaf: !haveChildren,
51
- disabled: isDisabled(haveChildren),
52
- children: haveChildren ? treeDataItem.children.map((i: any) => mapSearchTree(i)) : [],
53
- };
54
- };
55
-
56
- const isDisabled = (children: any) => {
57
- if (isChoose) {
58
- return false;
59
- }
60
- return children;
61
- }
62
-
63
- /* 实时查询 但是目前用的直接是完整数据源, 所以没有使用 */
64
- const handleSearch = (q: string) => {
65
- const paramsData = {
66
- [`${paramsKey}`]: q,
67
- ...initialParams,
68
- }
69
- axios.get(`${url}?${stringify(paramsData)}`).then(async (res: any) => {
70
- const resData = res?.data || [];
71
- let coverData;
72
-
73
- if(resData.status === '0' || resData.code === '000000') {
74
- const { data } = resData;
75
- if (remoteSource.converter) {
76
- coverData = await remoteSource.converter({ data: [data] })
77
- } else {
78
- const dataList = (data && Array.isArray(data)) ? data : (data && [data] || []);
79
- coverData = dataList.length && dataList.map((ites: any) => mapSearchTree(ites)) || [];
80
- }
81
- } else {
82
- coverData = []
83
- }
84
-
85
- setTreeData(coverData);
86
- ctx?.form?.setFieldSource(ctx.name, coverData);
87
- });
88
- };
89
-
90
- const formatData = (value: any) => {
91
- if (labelInValue) {
92
- const formatResult = multiple||treeCheckable ? value.map((i: any) => ({...i, key: i.value})) : { ...value, key: value?.value };
93
- return formatResult
94
- } else {
95
- const formatResult = multiple||treeCheckable ? value.map((i: any) => (i?.value || i)) : (_.get(value?.[0], 'value') || value)
96
- return formatResult
97
- }
98
- }
99
- const handleChange = (data: any, dataName: any) => {
100
- const handleData = formatData(data);
101
- onChange(handleData,data);
102
- onChangeName && onChangeName(dataName);
103
- getTreeData && getTreeData(treeData); // 把树节点暴露出去
104
- ctx?.form?.setFieldValue(ctx.name, handleData);
105
- };
106
-
107
- useEffect(() => {
108
- handleSearch(initialValue);
109
- }, []);
110
-
111
- const maxTagPlaceholder = (selectedValues: any) => {
112
- const onClose = (e: any,item: any) => {
113
- e.preventDefault();
114
- const newValue = labelInValue ? JSON.parse(JSON.stringify(value)).filter((i: any) => i.value !== item.value): JSON.parse(JSON.stringify(value)).filter((i: any) => i !== item.value)
115
- const newValueName = labelInValue ? null: JSON.parse(JSON.stringify(valueName)).filter((i: any) => i !== item.label)
116
- handleChange(newValue, newValueName);
117
- }
118
- return (
119
- <Tooltip title={selectedValues.map((i: any) => (
120
- <Tag
121
- closable={true}
122
- onClose={(e) => onClose(e,i)}
123
- style={{ marginRight: 3, background: '#f5f5f5', height: '24px', border: '1px solid #f0f0f0' }}
124
- >
125
- {i.label}
126
- </Tag>
127
- ))}>
128
- {`+ ${selectedValues?.length}`}
129
- </Tooltip>
130
- )
131
- }
132
-
133
- return (
134
- <div className={'tree_search_select'}>
135
- <TreeSelect
136
- {...restProps}
137
- treeCheckable={treeCheckable}
138
- maxTagCount={maxTagCount}
139
- showSearch={showSearch}
140
- style={style}
141
- value={value}
142
- dropdownStyle={{ maxHeight: 400, maxWidth: 100, overflow: 'auto' }}
143
- treeData={treeData}
144
- placeholder={placeholder}
145
- allowClear={allowClear}
146
- labelInValue={labelInValue}
147
- showArrow={showArrow}
148
- showCheckedStrategy={showCheckedStrategy}
149
- treeNodeFilterProp={'title'}
150
- treeDefaultExpandAll
151
- multiple={multiple} // 支持多选(当设置 treeCheckable 时自动变为 true)
152
- maxTagPlaceholder={maxTagPlaceholder}
153
- onChange={handleChange}
154
- disabled={disabled || mode==='view' || ctx?.mode === 'view'}
155
- getPopupContainer={(triggerNode) => (getPopupContainer && getPopupContainer(triggerNode)) || document.body}
156
- >
157
- </TreeSelect>
158
- </div>
159
- );
160
- };
161
-
162
- export default TreeSearchSelect;
1
+ import React, { useState, useEffect } from 'react';
2
+ import { TreeSelect, Tooltip, Tag } from 'antd';
3
+ import axios from 'axios';
4
+ import { stringify } from 'querystring';
5
+ import _ from "lodash"
6
+
7
+ const TreeSearchSelect = (props: any) => {
8
+ const [treeData, setTreeData] = useState([]);
9
+ const {
10
+ ctx, // ctx中有自己的name
11
+ value,
12
+ valueName, // 当labelInValue为true时,值为null
13
+ onChange,
14
+ onChangeName, // 当labelInValue为true时,此函数无意义,故无需传
15
+ placeholder,
16
+ remoteSource,
17
+ initialValue,
18
+ treeCheckable = false,
19
+ showSearch = true,
20
+ maxTagCount = 1,
21
+ multiple = false,
22
+ isChoose = false,
23
+ mode,
24
+ getPopupContainer,
25
+ labelInValue = false,
26
+ showArrow = true,
27
+ allowClear = true,
28
+ showCheckedStrategy = props?.treeCheckStrictly ? TreeSelect.SHOW_ALL : TreeSelect.SHOW_PARENT,
29
+ style = { width: '100%' },
30
+ getTreeData,
31
+ disabled,
32
+ ...restProps
33
+ } = props;
34
+
35
+ const {
36
+ url,
37
+ paramsKey = 'qp-name-like',
38
+ resKeyValue = ['id', 'name'],
39
+ initialParams = {},
40
+ } = remoteSource;
41
+
42
+ const mapSearchTree = (treeDataItem: any) => {
43
+ const haveChildren = Array.isArray(treeDataItem.children) && treeDataItem.children.length > 0;
44
+ return {
45
+ title: treeDataItem[resKeyValue[1]],
46
+ key: treeDataItem[resKeyValue[0]],
47
+ value: treeDataItem[resKeyValue[0]],
48
+ parentId: treeDataItem.parent,
49
+ data: { ...treeDataItem },
50
+ isLeaf: !haveChildren,
51
+ disabled: isDisabled(haveChildren),
52
+ children: haveChildren ? treeDataItem.children.map((i: any) => mapSearchTree(i)) : [],
53
+ };
54
+ };
55
+
56
+ const isDisabled = (children: any) => {
57
+ if (isChoose) {
58
+ return false;
59
+ }
60
+ return children;
61
+ }
62
+
63
+ /* 实时查询 但是目前用的直接是完整数据源, 所以没有使用 */
64
+ const handleSearch = (q: string) => {
65
+ const paramsData = {
66
+ [`${paramsKey}`]: q,
67
+ ...initialParams,
68
+ }
69
+ axios.get(`${url}?${stringify(paramsData)}`).then(async (res: any) => {
70
+ const resData = res?.data || [];
71
+ let coverData;
72
+
73
+ if(resData.status === '0' || resData.code === '000000') {
74
+ const { data } = resData;
75
+ if (remoteSource.converter) {
76
+ coverData = await remoteSource.converter({ data: [data] })
77
+ } else {
78
+ const dataList = (data && Array.isArray(data)) ? data : (data && [data] || []);
79
+ coverData = dataList.length && dataList.map((ites: any) => mapSearchTree(ites)) || [];
80
+ }
81
+ } else {
82
+ coverData = []
83
+ }
84
+
85
+ setTreeData(coverData);
86
+ ctx?.form?.setFieldSource(ctx.name, coverData);
87
+ });
88
+ };
89
+
90
+ const formatData = (value: any) => {
91
+ if (labelInValue) {
92
+ const formatResult = multiple||treeCheckable ? value.map((i: any) => ({...i, key: i.value})) : { ...value, key: value?.value };
93
+ return formatResult
94
+ } else {
95
+ const formatResult = multiple||treeCheckable ? value.map((i: any) => (i?.value || i)) : (_.get(value?.[0], 'value') || value)
96
+ return formatResult
97
+ }
98
+ }
99
+ const handleChange = (data: any, dataName: any) => {
100
+ const handleData = formatData(data);
101
+ onChange(handleData,data);
102
+ onChangeName && onChangeName(dataName);
103
+ getTreeData && getTreeData(treeData); // 把树节点暴露出去
104
+ ctx?.form?.setFieldValue(ctx.name, handleData);
105
+ };
106
+
107
+ useEffect(() => {
108
+ handleSearch(initialValue);
109
+ }, []);
110
+
111
+ const maxTagPlaceholder = (selectedValues: any) => {
112
+ const onClose = (e: any,item: any) => {
113
+ e.preventDefault();
114
+ const newValue = labelInValue ? JSON.parse(JSON.stringify(value)).filter((i: any) => i.value !== item.value): JSON.parse(JSON.stringify(value)).filter((i: any) => i !== item.value)
115
+ const newValueName = labelInValue ? null: JSON.parse(JSON.stringify(valueName)).filter((i: any) => i !== item.label)
116
+ handleChange(newValue, newValueName);
117
+ }
118
+ return (
119
+ <Tooltip title={selectedValues.map((i: any) => (
120
+ <Tag
121
+ closable={true}
122
+ onClose={(e) => onClose(e,i)}
123
+ style={{ marginRight: 3, background: '#f5f5f5', height: '24px', border: '1px solid #f0f0f0' }}
124
+ >
125
+ {i.label}
126
+ </Tag>
127
+ ))}>
128
+ {`+ ${selectedValues?.length}`}
129
+ </Tooltip>
130
+ )
131
+ }
132
+
133
+ return (
134
+ <div className={'tree_search_select'}>
135
+ <TreeSelect
136
+ {...restProps}
137
+ treeCheckable={treeCheckable}
138
+ maxTagCount={maxTagCount}
139
+ showSearch={showSearch}
140
+ style={style}
141
+ value={value}
142
+ dropdownStyle={{ maxHeight: 400, maxWidth: 100, overflow: 'auto' }}
143
+ treeData={treeData}
144
+ placeholder={placeholder}
145
+ allowClear={allowClear}
146
+ labelInValue={labelInValue}
147
+ showArrow={showArrow}
148
+ showCheckedStrategy={showCheckedStrategy}
149
+ treeNodeFilterProp={'title'}
150
+ treeDefaultExpandAll
151
+ multiple={multiple} // 支持多选(当设置 treeCheckable 时自动变为 true)
152
+ maxTagPlaceholder={maxTagPlaceholder}
153
+ onChange={handleChange}
154
+ disabled={disabled || mode==='view' || ctx?.mode === 'view'}
155
+ getPopupContainer={(triggerNode) => (getPopupContainer && getPopupContainer(triggerNode)) || document.body}
156
+ >
157
+ </TreeSelect>
158
+ </div>
159
+ );
160
+ };
161
+
162
+ export default TreeSearchSelect;
package/src/index.ts CHANGED
@@ -1,34 +1,34 @@
1
- /*
2
- * @Description:
3
- * @Author: rodchen
4
- * @Date: 2021-11-30 22:59:39
5
- * @LastEditTime: 2022-01-14 16:10:27
6
- * @LastEditors: rodchen
7
- */
8
- // import 'antd/dist/antd.css';
9
- import './utils/index';
10
-
11
- export { default as DataValidation } from './components/Functional/DataValidation';
12
- export { default as DataImport } from './components/Functional/DataImport';
13
- export { default as QueryMutipleInput } from './components/Functional/QueryMutipleInput';
14
- export { default as SearchSelect } from './components/Functional/SearchSelect';
15
- export { default as AddSelect } from './components/Functional/AddSelect';
16
- export { default as BillEntry } from './components/Functional/BillEntry';
17
- export { default as BusinessSearchSelect } from './components/Business/SearchSelect';
18
- export * from './components/Business/AddSelectBusiness';
19
- export { default as CommodityEntry } from './components/Business/CommodityEntry';
20
- export { default as CheckOneUser } from './utils/CheckOneUser';
21
- export { default as TreeSearchSelect } from './components/Functional/TreeSearchSelect';
22
- export { default as BusinessTreeSearchSelect } from './components/Business/TreeSearchSelect';
23
- export { default as StateFlow } from './components/Business/StateFlow';
24
- export { default as GuideWrapper } from './components/Business/CommonGuideWrapper';
25
- export { default as ExportIcon } from './components/Functional/ExportFunctions/ExportIcon';
26
- export { default as SulaColumnSettingTable} from './components/Business/columnSettingTable/sulaSettingTable';
27
- export { default as ColumnSettingTable} from './components/Business/columnSettingTable';
28
- export { default as DetailPageWrapper } from './components/Business/DetailPageWrapper';
29
- export { default as HomePageWrapper } from './components/Business/HomePageWrapper';
30
- export { default as BsSulaQueryTable } from './components/Business/BsSulaQueryTable';
31
- export { default as BsLayout } from './components/Business/BsLayouts';
32
- export { default as MoreTreeTable } from './components/Business/moreTreeTable';;
33
- export { default as JsonQueryTable } from './components/Business/JsonQueryTable';
34
- export { default as TableColumnSetting} from './plugin/TableColumnSetting';
1
+ /*
2
+ * @Description:
3
+ * @Author: rodchen
4
+ * @Date: 2021-11-30 22:59:39
5
+ * @LastEditTime: 2022-01-14 16:10:27
6
+ * @LastEditors: rodchen
7
+ */
8
+ // import 'antd/dist/antd.css';
9
+ import './utils/index';
10
+
11
+ export { default as DataValidation } from './components/Functional/DataValidation';
12
+ export { default as DataImport } from './components/Functional/DataImport';
13
+ export { default as QueryMutipleInput } from './components/Functional/QueryMutipleInput';
14
+ export { default as SearchSelect } from './components/Functional/SearchSelect';
15
+ export { default as AddSelect } from './components/Functional/AddSelect';
16
+ export { default as BillEntry } from './components/Functional/BillEntry';
17
+ export { default as BusinessSearchSelect } from './components/Business/SearchSelect';
18
+ export * from './components/Business/AddSelectBusiness';
19
+ export { default as CommodityEntry } from './components/Business/CommodityEntry';
20
+ export { default as CheckOneUser } from './utils/CheckOneUser';
21
+ export { default as TreeSearchSelect } from './components/Functional/TreeSearchSelect';
22
+ export { default as BusinessTreeSearchSelect } from './components/Business/TreeSearchSelect';
23
+ export { default as StateFlow } from './components/Business/StateFlow';
24
+ export { default as GuideWrapper } from './components/Business/CommonGuideWrapper';
25
+ export { default as ExportIcon } from './components/Functional/ExportFunctions/ExportIcon';
26
+ export { default as SulaColumnSettingTable} from './components/Business/columnSettingTable/sulaSettingTable';
27
+ export { default as ColumnSettingTable} from './components/Business/columnSettingTable';
28
+ export { default as DetailPageWrapper } from './components/Business/DetailPageWrapper';
29
+ export { default as HomePageWrapper } from './components/Business/HomePageWrapper';
30
+ export { default as BsSulaQueryTable } from './components/Business/BsSulaQueryTable';
31
+ export { default as BsLayout } from './components/Business/BsLayouts';
32
+ export { default as MoreTreeTable } from './components/Business/moreTreeTable';;
33
+ export { default as JsonQueryTable } from './components/Business/JsonQueryTable';
34
+ export { default as TableColumnSetting} from './plugin/TableColumnSetting';