@bit-sun/business-component 2.2.36 → 2.2.38

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