@bit-sun/business-component 2.2.34 → 2.2.36

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 (184) 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/JsonQueryTable/static.d.ts +1 -1
  11. package/dist/components/Business/SearchSelect/index.d.ts +1 -1
  12. package/dist/components/Functional/SearchSelect/index.d.ts +1 -1
  13. package/dist/index.esm.js +655 -668
  14. package/dist/index.js +662 -675
  15. package/dist/utils/utils.d.ts +1 -1
  16. package/docs/index.md +21 -21
  17. package/lib/assets/drag.svg +17 -17
  18. package/lib/assets/exportFail.svg +37 -37
  19. package/lib/assets/exportProcessing.svg +28 -28
  20. package/lib/assets/exportSuccess.svg +34 -34
  21. package/lib/assets/label_icon_bottom.svg +25 -25
  22. package/lib/assets/upExport.svg +22 -22
  23. package/package.json +77 -77
  24. package/src/assets/32.svg +27 -27
  25. package/src/assets/addIcon.svg +17 -17
  26. package/src/assets/allfunc.svg +27 -27
  27. package/src/assets/arrowRight.svg +24 -24
  28. package/src/assets/btn-delete.svg +29 -29
  29. package/src/assets/btn-edit.svg +19 -19
  30. package/src/assets/btn-more.svg +17 -17
  31. package/src/assets/btn-submit.svg +19 -19
  32. package/src/assets/caidan.svg +11 -11
  33. package/src/assets/close.svg +26 -26
  34. package/src/assets/drag.svg +17 -17
  35. package/src/assets/exportFail.svg +37 -37
  36. package/src/assets/exportProcessing.svg +28 -28
  37. package/src/assets/exportSuccess.svg +34 -34
  38. package/src/assets/fixed-left-active.svg +11 -11
  39. package/src/assets/fixed-left.svg +15 -15
  40. package/src/assets/fixed-right-active.svg +11 -11
  41. package/src/assets/fixed-right.svg +15 -15
  42. package/src/assets/guanbi.svg +15 -15
  43. package/src/assets/icon-quanping.svg +15 -15
  44. package/src/assets/icon-shezhi.svg +17 -17
  45. package/src/assets/label_icon_bottom.svg +25 -25
  46. package/src/assets/list-no-img.svg +21 -21
  47. package/src/assets/morentouxiang-32.svg +23 -23
  48. package/src/assets/scanning.svg +24 -24
  49. package/src/assets/upExport.svg +22 -22
  50. package/src/components/Business/AddSelectBusiness/index.md +161 -161
  51. package/src/components/Business/AddSelectBusiness/index.tsx +861 -861
  52. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +111 -111
  53. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -153
  54. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -70
  55. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -90
  56. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +37 -37
  57. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +242 -242
  58. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +384 -384
  59. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +285 -285
  60. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +74 -74
  61. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +170 -170
  62. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +64 -64
  63. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +153 -153
  64. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +72 -72
  65. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +157 -157
  66. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -85
  67. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -218
  68. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +155 -155
  69. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +160 -160
  70. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +75 -75
  71. package/src/components/Business/BsLayouts/index.less +79 -79
  72. package/src/components/Business/BsLayouts/index.tsx +1484 -1484
  73. package/src/components/Business/BsLayouts/service.ts +10 -10
  74. package/src/components/Business/BsLayouts/utils.tsx +203 -203
  75. package/src/components/Business/BsSulaQueryTable/SearchItemSetting.tsx +538 -538
  76. package/src/components/Business/BsSulaQueryTable/index.less +219 -219
  77. package/src/components/Business/BsSulaQueryTable/index.tsx +527 -527
  78. package/src/components/Business/BsSulaQueryTable/setting.tsx +802 -802
  79. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  80. package/src/components/Business/BsSulaQueryTable/utils.tsx +688 -688
  81. package/src/components/Business/CommodityEntry/index.md +70 -70
  82. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  83. package/src/components/Business/CommonAlert/index.tsx +23 -23
  84. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  85. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  86. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  87. package/src/components/Business/DetailPageWrapper/index.less +79 -79
  88. package/src/components/Business/DetailPageWrapper/index.tsx +313 -313
  89. package/src/components/Business/DetailPageWrapper/utils.tsx +100 -100
  90. package/src/components/Business/HomePageWrapper/index.less +33 -33
  91. package/src/components/Business/HomePageWrapper/index.md +45 -45
  92. package/src/components/Business/HomePageWrapper/index.tsx +162 -162
  93. package/src/components/Business/JsonQueryTable/components/FieldsModifyModal.tsx +824 -824
  94. package/src/components/Business/JsonQueryTable/components/FieldsSettingsTable.tsx +201 -201
  95. package/src/components/Business/JsonQueryTable/components/Formula.tsx +205 -205
  96. package/src/components/Business/JsonQueryTable/components/MaintainOptions.tsx +127 -127
  97. package/src/components/Business/JsonQueryTable/configButton/index.js +20 -20
  98. package/src/components/Business/JsonQueryTable/configTree/component/compactArrayView.js +25 -25
  99. package/src/components/Business/JsonQueryTable/configTree/component/compactObjectView.js +30 -30
  100. package/src/components/Business/JsonQueryTable/configTree/index.js +82 -82
  101. package/src/components/Business/JsonQueryTable/configTree/index.less +44 -44
  102. package/src/components/Business/JsonQueryTable/configTree/parser/highlight.js +57 -57
  103. package/src/components/Business/JsonQueryTable/configTree/parser/index.js +124 -124
  104. package/src/components/Business/JsonQueryTable/configTree/render/iconRender.js +29 -29
  105. package/src/components/Business/JsonQueryTable/configTree/render/nameRender.js +22 -22
  106. package/src/components/Business/JsonQueryTable/configTree/treeNode.js +116 -116
  107. package/src/components/Business/JsonQueryTable/drawer/index.tsx +12 -12
  108. package/src/components/Business/JsonQueryTable/function.ts +62 -62
  109. package/src/components/Business/JsonQueryTable/index.less +16 -16
  110. package/src/components/Business/JsonQueryTable/index.md +328 -328
  111. package/src/components/Business/JsonQueryTable/index.tsx +320 -320
  112. package/src/components/Business/JsonQueryTable/jsonEditor/index.js +346 -346
  113. package/src/components/Business/JsonQueryTable/jsonEditor/index.less +22 -22
  114. package/src/components/Business/JsonQueryTable/jsonEditor/lint/basicType.js +147 -147
  115. package/src/components/Business/JsonQueryTable/jsonEditor/lint/index.js +389 -389
  116. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/actions.js +118 -118
  117. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/dependency.js +22 -22
  118. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/index.js +21 -21
  119. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/request.js +65 -65
  120. package/src/components/Business/JsonQueryTable/static.ts +390 -390
  121. package/src/components/Business/SearchSelect/BusinessUtils.ts +1731 -1730
  122. package/src/components/Business/SearchSelect/common.ts +53 -53
  123. package/src/components/Business/SearchSelect/index.md +1319 -1319
  124. package/src/components/Business/SearchSelect/index.tsx +51 -51
  125. package/src/components/Business/SearchSelect/utils.ts +100 -100
  126. package/src/components/Business/StateFlow/index.less +130 -130
  127. package/src/components/Business/StateFlow/index.md +60 -60
  128. package/src/components/Business/StateFlow/index.tsx +29 -29
  129. package/src/components/Business/TreeSearchSelect/index.md +154 -154
  130. package/src/components/Business/TreeSearchSelect/index.tsx +34 -34
  131. package/src/components/Business/TreeSearchSelect/utils.ts +69 -69
  132. package/src/components/Business/columnSettingTable/columnSetting.tsx +764 -764
  133. package/src/components/Business/columnSettingTable/index.less +247 -247
  134. package/src/components/Business/columnSettingTable/index.md +357 -357
  135. package/src/components/Business/columnSettingTable/index.tsx +232 -232
  136. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +240 -240
  137. package/src/components/Business/columnSettingTable/utils.tsx +68 -68
  138. package/src/components/Business/moreTreeTable/index.less +99 -99
  139. package/src/components/Business/moreTreeTable/index.md +448 -448
  140. package/src/components/Business/moreTreeTable/index.tsx +365 -363
  141. package/src/components/Business/moreTreeTable/utils.ts +126 -126
  142. package/src/components/Functional/AddSelect/helps.ts +14 -14
  143. package/src/components/Functional/AddSelect/index.less +367 -367
  144. package/src/components/Functional/AddSelect/index.md +155 -155
  145. package/src/components/Functional/AddSelect/index.tsx +1279 -1272
  146. package/src/components/Functional/BillEntry/index.less +371 -371
  147. package/src/components/Functional/BillEntry/index.md +39 -39
  148. package/src/components/Functional/BillEntry/index.tsx +772 -766
  149. package/src/components/Functional/DataImport/index.less +63 -63
  150. package/src/components/Functional/DataImport/index.md +44 -44
  151. package/src/components/Functional/DataImport/index.tsx +695 -695
  152. package/src/components/Functional/DataValidation/index.less +63 -63
  153. package/src/components/Functional/DataValidation/index.md +39 -39
  154. package/src/components/Functional/DataValidation/index.tsx +687 -687
  155. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  156. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  157. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  158. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  159. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  160. package/src/components/Functional/SearchSelect/index.less +115 -115
  161. package/src/components/Functional/SearchSelect/index.md +141 -141
  162. package/src/components/Functional/SearchSelect/index.tsx +849 -849
  163. package/src/components/Functional/SearchSelect/utils.ts +3 -3
  164. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  165. package/src/components/Functional/TreeSearchSelect/index.tsx +162 -162
  166. package/src/index.ts +34 -34
  167. package/src/plugin/TableColumnSetting/index.less +247 -247
  168. package/src/plugin/TableColumnSetting/index.md +50 -50
  169. package/src/plugin/TableColumnSetting/index.tsx +724 -724
  170. package/src/plugin/TableColumnSetting/utils.ts +19 -19
  171. package/src/styles/bsDefault.less +1912 -1912
  172. package/src/utils/CheckOneUser/index.md +39 -39
  173. package/src/utils/CheckOneUser/index.ts +51 -51
  174. package/src/utils/LocalstorageUtils.ts +90 -90
  175. package/src/utils/TableUtils.tsx +18 -18
  176. package/src/utils/checkUtils.ts +39 -39
  177. package/src/utils/enumConfig.ts +11 -11
  178. package/src/utils/getFormMode.js +12 -12
  179. package/src/utils/index.ts +3 -3
  180. package/src/utils/requestUtils.ts +34 -34
  181. package/src/utils/serialize.js +7 -7
  182. package/src/utils/utils.ts +183 -183
  183. package/tsconfig.json +29 -29
  184. 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';