@bit-sun/business-component 2.2.44 → 2.2.46

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