@bit-sun/business-component 2.1.23 → 2.2.0

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 (188) 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/AllFunc/drawContent.d.ts +1 -1
  9. package/dist/components/Business/BsLayouts/Components/AllFunc/index.d.ts +1 -1
  10. package/dist/components/Business/BsLayouts/Components/RightContent/index.d.ts +2 -2
  11. package/dist/components/Business/BsLayouts/Components/SearchFunc/index.d.ts +2 -2
  12. package/dist/components/Business/BsLayouts/index.d.ts +2 -2
  13. package/dist/components/Business/BsSulaQueryTable/utils.d.ts +2 -2
  14. package/dist/components/Business/JsonQueryTable/components/FieldsModifyModal.d.ts +2 -0
  15. package/dist/components/Business/JsonQueryTable/components/FieldsSettingsTable.d.ts +2 -0
  16. package/dist/components/Business/JsonQueryTable/components/Formula.d.ts +6 -0
  17. package/dist/components/Business/JsonQueryTable/components/MaintainOptions.d.ts +2 -0
  18. package/dist/components/Business/JsonQueryTable/drawer/index.d.ts +2 -0
  19. package/dist/components/Business/JsonQueryTable/function.d.ts +37 -0
  20. package/dist/components/Business/JsonQueryTable/index.d.ts +4 -0
  21. package/dist/components/Business/JsonQueryTable/static.d.ts +39 -0
  22. package/dist/index.d.ts +1 -0
  23. package/dist/index.esm.js +11841 -1245
  24. package/dist/index.js +11838 -1237
  25. package/dist/utils/TableUtils.d.ts +2 -2
  26. package/dist/utils/utils.d.ts +3 -1
  27. package/docs/index.md +21 -21
  28. package/lib/assets/drag.svg +17 -17
  29. package/lib/assets/exportFail.svg +37 -37
  30. package/lib/assets/exportProcessing.svg +28 -28
  31. package/lib/assets/exportSuccess.svg +34 -34
  32. package/lib/assets/label_icon_bottom.svg +25 -25
  33. package/lib/assets/upExport.svg +22 -22
  34. package/package.json +77 -71
  35. package/src/assets/32.svg +27 -27
  36. package/src/assets/addIcon.svg +17 -17
  37. package/src/assets/allfunc.svg +27 -27
  38. package/src/assets/arrowRight.svg +24 -24
  39. package/src/assets/btn-delete.svg +29 -29
  40. package/src/assets/btn-edit.svg +19 -19
  41. package/src/assets/btn-more.svg +17 -17
  42. package/src/assets/btn-submit.svg +19 -19
  43. package/src/assets/caidan.svg +11 -11
  44. package/src/assets/close.svg +26 -26
  45. package/src/assets/drag.svg +17 -17
  46. package/src/assets/exportFail.svg +37 -37
  47. package/src/assets/exportProcessing.svg +28 -28
  48. package/src/assets/exportSuccess.svg +34 -34
  49. package/src/assets/fixed-left-active.svg +11 -11
  50. package/src/assets/fixed-left.svg +15 -15
  51. package/src/assets/fixed-right-active.svg +11 -11
  52. package/src/assets/fixed-right.svg +15 -15
  53. package/src/assets/guanbi.svg +15 -15
  54. package/src/assets/icon-quanping.svg +15 -15
  55. package/src/assets/icon-shezhi.svg +17 -17
  56. package/src/assets/label_icon_bottom.svg +25 -25
  57. package/src/assets/list-no-img.svg +21 -21
  58. package/src/assets/morentouxiang-32.svg +23 -23
  59. package/src/assets/scanning.svg +24 -24
  60. package/src/assets/upExport.svg +22 -22
  61. package/src/components/Business/AddSelectBusiness/index.md +42 -42
  62. package/src/components/Business/AddSelectBusiness/index.tsx +341 -341
  63. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +111 -111
  64. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -153
  65. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -70
  66. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -90
  67. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +37 -37
  68. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +242 -242
  69. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +384 -384
  70. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +285 -285
  71. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +74 -74
  72. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +170 -170
  73. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +64 -64
  74. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +153 -153
  75. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +72 -72
  76. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +157 -157
  77. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -85
  78. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -218
  79. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +156 -156
  80. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +160 -160
  81. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +75 -75
  82. package/src/components/Business/BsLayouts/index.less +79 -79
  83. package/src/components/Business/BsLayouts/index.tsx +1479 -1479
  84. package/src/components/Business/BsLayouts/service.ts +10 -10
  85. package/src/components/Business/BsLayouts/utils.tsx +230 -230
  86. package/src/components/Business/BsSulaQueryTable/index.less +219 -219
  87. package/src/components/Business/BsSulaQueryTable/index.tsx +476 -476
  88. package/src/components/Business/BsSulaQueryTable/setting.tsx +802 -802
  89. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  90. package/src/components/Business/BsSulaQueryTable/utils.tsx +688 -688
  91. package/src/components/Business/CommodityEntry/index.md +70 -70
  92. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  93. package/src/components/Business/CommonAlert/index.tsx +23 -23
  94. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  95. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  96. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  97. package/src/components/Business/DetailPageWrapper/index.less +79 -79
  98. package/src/components/Business/DetailPageWrapper/index.tsx +335 -335
  99. package/src/components/Business/DetailPageWrapper/utils.tsx +100 -100
  100. package/src/components/Business/HomePageWrapper/index.less +33 -33
  101. package/src/components/Business/HomePageWrapper/index.md +45 -45
  102. package/src/components/Business/HomePageWrapper/index.tsx +162 -162
  103. package/src/components/Business/JsonQueryTable/components/FieldsModifyModal.tsx +824 -0
  104. package/src/components/Business/JsonQueryTable/components/FieldsSettingsTable.tsx +202 -0
  105. package/src/components/Business/JsonQueryTable/components/Formula.tsx +205 -0
  106. package/src/components/Business/JsonQueryTable/components/MaintainOptions.tsx +127 -0
  107. package/src/components/Business/JsonQueryTable/configButton/index.js +20 -0
  108. package/src/components/Business/JsonQueryTable/configTree/component/compactArrayView.js +25 -0
  109. package/src/components/Business/JsonQueryTable/configTree/component/compactObjectView.js +30 -0
  110. package/src/components/Business/JsonQueryTable/configTree/index.js +82 -0
  111. package/src/components/Business/JsonQueryTable/configTree/index.less +44 -0
  112. package/src/components/Business/JsonQueryTable/configTree/parser/highlight.js +57 -0
  113. package/src/components/Business/JsonQueryTable/configTree/parser/index.js +124 -0
  114. package/src/components/Business/JsonQueryTable/configTree/render/iconRender.js +29 -0
  115. package/src/components/Business/JsonQueryTable/configTree/render/nameRender.js +22 -0
  116. package/src/components/Business/JsonQueryTable/configTree/treeNode.js +116 -0
  117. package/src/components/Business/JsonQueryTable/drawer/index.tsx +12 -0
  118. package/src/components/Business/JsonQueryTable/function.ts +62 -0
  119. package/src/components/Business/JsonQueryTable/index.less +17 -0
  120. package/src/components/Business/JsonQueryTable/index.md +328 -0
  121. package/src/components/Business/JsonQueryTable/index.tsx +320 -0
  122. package/src/components/Business/JsonQueryTable/jsonEditor/index.js +346 -0
  123. package/src/components/Business/JsonQueryTable/jsonEditor/index.less +22 -0
  124. package/src/components/Business/JsonQueryTable/jsonEditor/lint/basicType.js +147 -0
  125. package/src/components/Business/JsonQueryTable/jsonEditor/lint/index.js +389 -0
  126. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/actions.js +118 -0
  127. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/dependency.js +22 -0
  128. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/index.js +21 -0
  129. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/request.js +65 -0
  130. package/src/components/Business/JsonQueryTable/static.ts +356 -0
  131. package/src/components/Business/SearchSelect/BusinessUtils.ts +1586 -1586
  132. package/src/components/Business/SearchSelect/common.ts +53 -53
  133. package/src/components/Business/SearchSelect/index.md +1254 -1254
  134. package/src/components/Business/SearchSelect/index.tsx +51 -51
  135. package/src/components/Business/SearchSelect/utils.ts +100 -100
  136. package/src/components/Business/StateFlow/index.less +130 -130
  137. package/src/components/Business/StateFlow/index.md +60 -60
  138. package/src/components/Business/StateFlow/index.tsx +29 -29
  139. package/src/components/Business/TreeSearchSelect/index.md +126 -126
  140. package/src/components/Business/TreeSearchSelect/index.tsx +34 -34
  141. package/src/components/Business/TreeSearchSelect/utils.ts +60 -60
  142. package/src/components/Business/columnSettingTable/columnSetting.tsx +764 -764
  143. package/src/components/Business/columnSettingTable/index.less +247 -247
  144. package/src/components/Business/columnSettingTable/index.md +357 -357
  145. package/src/components/Business/columnSettingTable/index.tsx +232 -232
  146. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +240 -240
  147. package/src/components/Business/columnSettingTable/utils.tsx +68 -68
  148. package/src/components/Business/moreTreeTable/index.less +99 -99
  149. package/src/components/Business/moreTreeTable/index.md +508 -508
  150. package/src/components/Business/moreTreeTable/index.tsx +315 -315
  151. package/src/components/Business/moreTreeTable/utils.ts +126 -126
  152. package/src/components/Functional/AddSelect/index.less +367 -367
  153. package/src/components/Functional/AddSelect/index.md +154 -154
  154. package/src/components/Functional/AddSelect/index.tsx +994 -994
  155. package/src/components/Functional/BillEntry/index.less +371 -371
  156. package/src/components/Functional/BillEntry/index.md +39 -39
  157. package/src/components/Functional/BillEntry/index.tsx +670 -671
  158. package/src/components/Functional/DataImport/index.less +63 -63
  159. package/src/components/Functional/DataImport/index.md +44 -44
  160. package/src/components/Functional/DataImport/index.tsx +695 -695
  161. package/src/components/Functional/DataValidation/index.less +63 -63
  162. package/src/components/Functional/DataValidation/index.md +39 -39
  163. package/src/components/Functional/DataValidation/index.tsx +687 -687
  164. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  165. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  166. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  167. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  168. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  169. package/src/components/Functional/SearchSelect/index.less +115 -115
  170. package/src/components/Functional/SearchSelect/index.md +141 -141
  171. package/src/components/Functional/SearchSelect/index.tsx +813 -813
  172. package/src/components/Functional/SearchSelect/utils.ts +3 -6
  173. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  174. package/src/components/Functional/TreeSearchSelect/index.tsx +149 -149
  175. package/src/index.ts +34 -32
  176. package/src/styles/bsDefault.less +1906 -1906
  177. package/src/utils/CheckOneUser/index.md +39 -39
  178. package/src/utils/CheckOneUser/index.ts +51 -51
  179. package/src/utils/TableUtils.tsx +18 -18
  180. package/src/utils/checkUtils.ts +39 -39
  181. package/src/utils/enumConfig.ts +10 -10
  182. package/src/utils/getFormMode.js +12 -0
  183. package/src/utils/index.ts +2 -2
  184. package/src/utils/requestUtils.ts +33 -33
  185. package/src/utils/serialize.js +7 -0
  186. package/src/utils/utils.ts +182 -142
  187. package/tsconfig.json +29 -29
  188. package/typings.d.ts +4 -4
@@ -1,6 +1,3 @@
1
- export const handleSourceName = (sName: any) => {
2
- if(Array.isArray(sName) && sName.length===2 && sName[0]==='extensionFields') {
3
- return sName[1]
4
- }
5
- return sName
6
- }
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,149 +1,149 @@
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
-
6
- const TreeSearchSelect = (props: any) => {
7
- const [treeData, setTreeData] = useState([]);
8
- const {
9
- ctx, // ctx中有自己的name
10
- value,
11
- valueName, // 当labelInValue为true时,值为null
12
- onChange,
13
- onChangeName, // 当labelInValue为true时,此函数无意义,故无需传
14
- placeholder,
15
- remoteSource,
16
- initialValue,
17
- treeCheckable = false,
18
- showSearch = true,
19
- maxTagCount = 1,
20
- multiple = false,
21
- isChoose = false,
22
- mode,
23
- getPopupContainer,
24
- labelInValue = false,
25
- showArrow = true,
26
- allowClear = true,
27
- showCheckedStrategy = TreeSelect.SHOW_PARENT,
28
- style = { width: '100%' },
29
- getTreeData,
30
- disabled
31
- } = props;
32
-
33
- const {
34
- url,
35
- paramsKey = 'qp-name-like',
36
- resKeyValue = ['id', 'name'],
37
- initialParams = {},
38
- } = remoteSource;
39
-
40
- const mapSearchTree = (treeDataItem: any) => {
41
- const haveChildren = Array.isArray(treeDataItem.children) && treeDataItem.children.length > 0;
42
- return {
43
- title: treeDataItem[resKeyValue[1]],
44
- key: treeDataItem[resKeyValue[0]],
45
- value: treeDataItem[resKeyValue[0]],
46
- parentId: treeDataItem.parent,
47
- data: { ...treeDataItem },
48
- isLeaf: !haveChildren,
49
- disabled: isDisabled(haveChildren),
50
- children: haveChildren ? treeDataItem.children.map((i: any) => mapSearchTree(i)) : [],
51
- };
52
- };
53
-
54
- const isDisabled = (children: any) => {
55
- if (isChoose) {
56
- return false;
57
- }
58
- return children;
59
- }
60
-
61
- /* 实时查询 但是目前用的直接是完整数据源, 所以没有使用 */
62
- const handleSearch = (q: string) => {
63
- const paramsData = {
64
- [`${paramsKey}`]: q,
65
- ...initialParams,
66
- }
67
- axios.get(`${url}?${stringify(paramsData)}`).then(async (res: any) => {
68
- const resData = res?.data || [];
69
- let coverData;
70
-
71
- if(resData.status === '0') {
72
- const { data } = resData;
73
- if (remoteSource.converter) {
74
- coverData = await remoteSource.converter({ data: [data] })
75
- } else {
76
- const dataList = (data && Array.isArray(data)) ? data : (data && [data] || []);
77
- coverData = dataList.length && dataList.map((ites: any) => mapSearchTree(ites)) || [];
78
- }
79
- } else {
80
- coverData = []
81
- }
82
-
83
- setTreeData(coverData);
84
- ctx?.form?.setFieldSource(ctx.name, coverData);
85
- });
86
- };
87
-
88
- const handleChange = (data: any, dataName: any) => {
89
- onChange(data);
90
- onChangeName && onChangeName(dataName);
91
- getTreeData && getTreeData(treeData); // 把树节点暴露出去
92
- ctx?.form?.setFieldValue(ctx.name, data);
93
- };
94
-
95
- useEffect(() => {
96
- handleSearch(initialValue);
97
- }, []);
98
-
99
- const maxTagPlaceholder = (selectedValues: any) => {
100
- const onClose = (e: any,item: any) => {
101
- e.preventDefault();
102
- 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)
103
- const newValueName = labelInValue ? null: JSON.parse(JSON.stringify(valueName)).filter((i: any) => i !== item.label)
104
- handleChange(newValue, newValueName);
105
- }
106
- return (
107
- <Tooltip title={selectedValues.map((i: any) => (
108
- <Tag
109
- closable={true}
110
- onClose={(e) => onClose(e,i)}
111
- style={{ marginRight: 3, background: '#f5f5f5', height: '24px', border: '1px solid #f0f0f0' }}
112
- >
113
- {i.label}
114
- </Tag>
115
- ))}>
116
- {`+ ${selectedValues?.length}`}
117
- </Tooltip>
118
- )
119
- }
120
-
121
- return (
122
- <div className={'tree_search_select'}>
123
- <TreeSelect
124
- treeCheckable={treeCheckable}
125
- maxTagCount={maxTagCount}
126
- showSearch={showSearch}
127
- style={style}
128
- value={value}
129
- dropdownStyle={{ maxHeight: 400, maxWidth: 100, overflow: 'auto' }}
130
- treeData={treeData}
131
- placeholder={placeholder}
132
- allowClear={allowClear}
133
- labelInValue={labelInValue}
134
- showArrow={showArrow}
135
- showCheckedStrategy={showCheckedStrategy}
136
- treeNodeFilterProp={'title'}
137
- treeDefaultExpandAll
138
- multiple={multiple} // 支持多选(当设置 treeCheckable 时自动变为 true)
139
- maxTagPlaceholder={maxTagPlaceholder}
140
- onChange={handleChange}
141
- disabled={disabled || mode==='view' || ctx?.mode === 'view'}
142
- getPopupContainer={() => (getPopupContainer && getPopupContainer()) || document.body}
143
- >
144
- </TreeSelect>
145
- </div>
146
- );
147
- };
148
-
149
- 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
+
6
+ const TreeSearchSelect = (props: any) => {
7
+ const [treeData, setTreeData] = useState([]);
8
+ const {
9
+ ctx, // ctx中有自己的name
10
+ value,
11
+ valueName, // 当labelInValue为true时,值为null
12
+ onChange,
13
+ onChangeName, // 当labelInValue为true时,此函数无意义,故无需传
14
+ placeholder,
15
+ remoteSource,
16
+ initialValue,
17
+ treeCheckable = false,
18
+ showSearch = true,
19
+ maxTagCount = 1,
20
+ multiple = false,
21
+ isChoose = false,
22
+ mode,
23
+ getPopupContainer,
24
+ labelInValue = false,
25
+ showArrow = true,
26
+ allowClear = true,
27
+ showCheckedStrategy = TreeSelect.SHOW_PARENT,
28
+ style = { width: '100%' },
29
+ getTreeData,
30
+ disabled
31
+ } = props;
32
+
33
+ const {
34
+ url,
35
+ paramsKey = 'qp-name-like',
36
+ resKeyValue = ['id', 'name'],
37
+ initialParams = {},
38
+ } = remoteSource;
39
+
40
+ const mapSearchTree = (treeDataItem: any) => {
41
+ const haveChildren = Array.isArray(treeDataItem.children) && treeDataItem.children.length > 0;
42
+ return {
43
+ title: treeDataItem[resKeyValue[1]],
44
+ key: treeDataItem[resKeyValue[0]],
45
+ value: treeDataItem[resKeyValue[0]],
46
+ parentId: treeDataItem.parent,
47
+ data: { ...treeDataItem },
48
+ isLeaf: !haveChildren,
49
+ disabled: isDisabled(haveChildren),
50
+ children: haveChildren ? treeDataItem.children.map((i: any) => mapSearchTree(i)) : [],
51
+ };
52
+ };
53
+
54
+ const isDisabled = (children: any) => {
55
+ if (isChoose) {
56
+ return false;
57
+ }
58
+ return children;
59
+ }
60
+
61
+ /* 实时查询 但是目前用的直接是完整数据源, 所以没有使用 */
62
+ const handleSearch = (q: string) => {
63
+ const paramsData = {
64
+ [`${paramsKey}`]: q,
65
+ ...initialParams,
66
+ }
67
+ axios.get(`${url}?${stringify(paramsData)}`).then(async (res: any) => {
68
+ const resData = res?.data || [];
69
+ let coverData;
70
+
71
+ if(resData.status === '0') {
72
+ const { data } = resData;
73
+ if (remoteSource.converter) {
74
+ coverData = await remoteSource.converter({ data: [data] })
75
+ } else {
76
+ const dataList = (data && Array.isArray(data)) ? data : (data && [data] || []);
77
+ coverData = dataList.length && dataList.map((ites: any) => mapSearchTree(ites)) || [];
78
+ }
79
+ } else {
80
+ coverData = []
81
+ }
82
+
83
+ setTreeData(coverData);
84
+ ctx?.form?.setFieldSource(ctx.name, coverData);
85
+ });
86
+ };
87
+
88
+ const handleChange = (data: any, dataName: any) => {
89
+ onChange(data);
90
+ onChangeName && onChangeName(dataName);
91
+ getTreeData && getTreeData(treeData); // 把树节点暴露出去
92
+ ctx?.form?.setFieldValue(ctx.name, data);
93
+ };
94
+
95
+ useEffect(() => {
96
+ handleSearch(initialValue);
97
+ }, []);
98
+
99
+ const maxTagPlaceholder = (selectedValues: any) => {
100
+ const onClose = (e: any,item: any) => {
101
+ e.preventDefault();
102
+ 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)
103
+ const newValueName = labelInValue ? null: JSON.parse(JSON.stringify(valueName)).filter((i: any) => i !== item.label)
104
+ handleChange(newValue, newValueName);
105
+ }
106
+ return (
107
+ <Tooltip title={selectedValues.map((i: any) => (
108
+ <Tag
109
+ closable={true}
110
+ onClose={(e) => onClose(e,i)}
111
+ style={{ marginRight: 3, background: '#f5f5f5', height: '24px', border: '1px solid #f0f0f0' }}
112
+ >
113
+ {i.label}
114
+ </Tag>
115
+ ))}>
116
+ {`+ ${selectedValues?.length}`}
117
+ </Tooltip>
118
+ )
119
+ }
120
+
121
+ return (
122
+ <div className={'tree_search_select'}>
123
+ <TreeSelect
124
+ treeCheckable={treeCheckable}
125
+ maxTagCount={maxTagCount}
126
+ showSearch={showSearch}
127
+ style={style}
128
+ value={value}
129
+ dropdownStyle={{ maxHeight: 400, maxWidth: 100, overflow: 'auto' }}
130
+ treeData={treeData}
131
+ placeholder={placeholder}
132
+ allowClear={allowClear}
133
+ labelInValue={labelInValue}
134
+ showArrow={showArrow}
135
+ showCheckedStrategy={showCheckedStrategy}
136
+ treeNodeFilterProp={'title'}
137
+ treeDefaultExpandAll
138
+ multiple={multiple} // 支持多选(当设置 treeCheckable 时自动变为 true)
139
+ maxTagPlaceholder={maxTagPlaceholder}
140
+ onChange={handleChange}
141
+ disabled={disabled || mode==='view' || ctx?.mode === 'view'}
142
+ getPopupContainer={() => (getPopupContainer && getPopupContainer()) || document.body}
143
+ >
144
+ </TreeSelect>
145
+ </div>
146
+ );
147
+ };
148
+
149
+ export default TreeSearchSelect;
package/src/index.ts CHANGED
@@ -1,32 +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';
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
+