@bit-sun/business-component 2.0.37 → 2.0.39-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/.editorconfig +16 -16
  2. package/.fatherrc.ts +5 -4
  3. package/.gitlab-ci.yml +174 -174
  4. package/.prettierignore +7 -7
  5. package/.prettierrc +11 -11
  6. package/.umirc.ts +77 -74
  7. package/README.md +27 -27
  8. package/dist/components/Business/BsLayouts/Components/AllFunc/drawContent.d.ts +4 -0
  9. package/dist/components/Business/BsLayouts/Components/AllFunc/index.d.ts +4 -0
  10. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.d.ts +4 -0
  11. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.d.ts +17 -0
  12. package/dist/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.d.ts +30 -0
  13. package/dist/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.d.ts +3 -0
  14. package/dist/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.d.ts +2 -0
  15. package/dist/components/Business/BsLayouts/Components/CustomerMenu/index.d.ts +4 -0
  16. package/dist/components/Business/BsLayouts/Components/GlobalHeader/index.d.ts +4 -0
  17. package/dist/components/Business/BsLayouts/Components/RightContent/LoginModal.d.ts +2 -0
  18. package/dist/components/Business/BsLayouts/Components/RightContent/index.d.ts +8 -0
  19. package/dist/components/Business/BsLayouts/Components/SearchFunc/index.d.ts +8 -0
  20. package/dist/components/Business/BsLayouts/index.d.ts +18 -0
  21. package/dist/components/Business/BsLayouts/service.d.ts +1 -0
  22. package/dist/components/Business/BsLayouts/utils.d.ts +22 -0
  23. package/dist/components/Business/DetailPageWrapper/utils.d.ts +1 -2
  24. package/dist/index.d.ts +4 -0
  25. package/dist/index.esm.js +11703 -44
  26. package/dist/index.js +11678 -11
  27. package/dist/utils/enumConfig.d.ts +10 -0
  28. package/dist/utils/utils.d.ts +2 -1
  29. package/docs/index.md +21 -21
  30. package/lib/assets/drag.svg +17 -17
  31. package/lib/assets/exportFail.svg +37 -37
  32. package/lib/assets/exportProcessing.svg +28 -28
  33. package/lib/assets/exportSuccess.svg +34 -34
  34. package/lib/assets/label_icon_bottom.svg +25 -25
  35. package/lib/assets/upExport.svg +22 -22
  36. package/package.json +70 -66
  37. package/src/assets/32.svg +28 -0
  38. package/src/assets/addIcon.svg +18 -0
  39. package/src/assets/allfunc.svg +28 -0
  40. package/src/assets/arrowRight.svg +25 -0
  41. package/src/assets/btn-delete.svg +29 -29
  42. package/src/assets/btn-edit.svg +19 -19
  43. package/src/assets/btn-more.svg +17 -17
  44. package/src/assets/btn-submit.svg +19 -19
  45. package/src/assets/caidan.svg +12 -0
  46. package/src/assets/close.svg +26 -26
  47. package/src/assets/closeicon.png +0 -0
  48. package/src/assets/drag.svg +17 -17
  49. package/src/assets/exportFail.svg +37 -37
  50. package/src/assets/exportProcessing.svg +28 -28
  51. package/src/assets/exportSuccess.svg +34 -34
  52. package/src/assets/fixed-left-active.svg +11 -11
  53. package/src/assets/fixed-left.svg +15 -15
  54. package/src/assets/fixed-right-active.svg +11 -11
  55. package/src/assets/fixed-right.svg +15 -15
  56. package/src/assets/guanbi.svg +16 -0
  57. package/src/assets/icon-quanping.svg +15 -15
  58. package/src/assets/icon-shezhi.svg +17 -17
  59. package/src/assets/label_icon_bottom.svg +25 -25
  60. package/src/assets/morentouxiang-32.svg +24 -0
  61. package/src/assets/right.png +0 -0
  62. package/src/assets/scanning.svg +24 -24
  63. package/src/assets/upExport.svg +22 -22
  64. package/src/assets/xinglan-icon-out.png +0 -0
  65. package/src/components/Business/AddSelectBusiness/index.md +41 -41
  66. package/src/components/Business/AddSelectBusiness/index.tsx +290 -290
  67. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +112 -0
  68. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -0
  69. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -0
  70. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -0
  71. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +38 -0
  72. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +243 -0
  73. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +385 -0
  74. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +286 -0
  75. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +75 -0
  76. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +171 -0
  77. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +65 -0
  78. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +154 -0
  79. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +73 -0
  80. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +158 -0
  81. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -0
  82. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -0
  83. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +156 -0
  84. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +162 -0
  85. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +76 -0
  86. package/src/components/Business/BsLayouts/index.less +80 -0
  87. package/src/components/Business/BsLayouts/index.tsx +1495 -0
  88. package/src/components/Business/BsLayouts/service.ts +11 -0
  89. package/src/components/Business/BsLayouts/utils.tsx +350 -0
  90. package/src/components/Business/BsSulaQueryTable/index.less +219 -219
  91. package/src/components/Business/BsSulaQueryTable/index.tsx +535 -534
  92. package/src/components/Business/BsSulaQueryTable/setting.tsx +818 -817
  93. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  94. package/src/components/Business/BsSulaQueryTable/utils.tsx +691 -690
  95. package/src/components/Business/CommodityEntry/index.md +70 -70
  96. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  97. package/src/components/Business/CommonAlert/index.tsx +23 -23
  98. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  99. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  100. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  101. package/src/components/Business/DetailPageWrapper/index.less +79 -79
  102. package/src/components/Business/DetailPageWrapper/index.tsx +335 -324
  103. package/src/components/Business/DetailPageWrapper/utils.tsx +101 -111
  104. package/src/components/Business/HomePageWrapper/index.less +33 -33
  105. package/src/components/Business/HomePageWrapper/index.md +45 -45
  106. package/src/components/Business/HomePageWrapper/index.tsx +162 -150
  107. package/src/components/Business/SearchSelect/BusinessUtils.ts +1458 -1457
  108. package/src/components/Business/SearchSelect/common.ts +53 -53
  109. package/src/components/Business/SearchSelect/index.md +1137 -1137
  110. package/src/components/Business/SearchSelect/index.tsx +51 -51
  111. package/src/components/Business/SearchSelect/utils.ts +100 -99
  112. package/src/components/Business/StateFlow/index.less +130 -130
  113. package/src/components/Business/StateFlow/index.md +60 -60
  114. package/src/components/Business/StateFlow/index.tsx +29 -29
  115. package/src/components/Business/TreeSearchSelect/index.md +126 -126
  116. package/src/components/Business/TreeSearchSelect/index.tsx +34 -34
  117. package/src/components/Business/TreeSearchSelect/utils.ts +60 -60
  118. package/src/components/Business/columnSettingTable/columnSetting.tsx +763 -762
  119. package/src/components/Business/columnSettingTable/index.less +247 -247
  120. package/src/components/Business/columnSettingTable/index.md +357 -357
  121. package/src/components/Business/columnSettingTable/index.tsx +226 -225
  122. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +234 -233
  123. package/src/components/Business/columnSettingTable/utils.tsx +68 -68
  124. package/src/components/Functional/AddSelect/index.less +367 -367
  125. package/src/components/Functional/AddSelect/index.md +122 -122
  126. package/src/components/Functional/AddSelect/index.tsx +962 -962
  127. package/src/components/Functional/BillEntry/index.less +371 -371
  128. package/src/components/Functional/BillEntry/index.md +39 -39
  129. package/src/components/Functional/BillEntry/index.tsx +613 -607
  130. package/src/components/Functional/DataImport/index.less +63 -63
  131. package/src/components/Functional/DataImport/index.md +44 -44
  132. package/src/components/Functional/DataImport/index.tsx +689 -689
  133. package/src/components/Functional/DataValidation/index.less +63 -63
  134. package/src/components/Functional/DataValidation/index.md +38 -38
  135. package/src/components/Functional/DataValidation/index.tsx +681 -681
  136. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  137. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  138. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  139. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  140. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  141. package/src/components/Functional/SearchSelect/index.less +115 -115
  142. package/src/components/Functional/SearchSelect/index.md +141 -141
  143. package/src/components/Functional/SearchSelect/index.tsx +812 -812
  144. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  145. package/src/components/Functional/TreeSearchSelect/index.tsx +149 -149
  146. package/src/index.ts +31 -30
  147. package/src/utils/CheckOneUser/index.md +39 -39
  148. package/src/utils/CheckOneUser/index.ts +51 -51
  149. package/src/utils/enumConfig.ts +10 -0
  150. package/src/utils/requestUtils.ts +33 -32
  151. package/src/utils/utils.ts +52 -22
  152. package/tsconfig.json +29 -29
  153. package/typings.d.ts +4 -4
@@ -1,47 +1,47 @@
1
- ---
2
- nav:
3
- title: '组件'
4
- order: 1
5
- group:
6
- title: 功能组件
7
- order: 0
8
- title: 树型选择器
9
- order: 4
10
- ---
11
-
12
- ## TreeSearchSelect
13
-
14
- 部门选择器Demo:
15
-
16
- ```tsx
17
- import React, { useState } from 'react';
18
- import { TreeSearchSelect } from '../../../index';
19
-
20
- export default () => {
21
-
22
- const [value, setValue] = useState();
23
-
24
- const props = {
25
- mode: 'create',
26
- remoteSource: {
27
- url: `/user/orgViewNode/common/getTreeForOrgViewAndTenant`,
28
- initialParams: { 'orgViewCode': 'administrative-organization-view' },
29
- resKeyValue: ['code', 'name'],
30
- },
31
- value,
32
- isChoose: false, // 控制是否父节点可选中,默认不可选中
33
- treeCheckable: true,
34
- onChange: (v) => {
35
- setValue(v)
36
- }
37
- };
38
-
39
- return (
40
- <div>
41
- <TreeSearchSelect {...props} />
42
- </div>
43
- );
44
- };
45
- ```
46
-
47
- More skills for writing demo: https://d.umijs.org/guide/demo-principle
1
+ ---
2
+ nav:
3
+ title: '组件'
4
+ order: 1
5
+ group:
6
+ title: 功能组件
7
+ order: 0
8
+ title: 树型选择器
9
+ order: 4
10
+ ---
11
+
12
+ ## TreeSearchSelect
13
+
14
+ 部门选择器Demo:
15
+
16
+ ```tsx
17
+ import React, { useState } from 'react';
18
+ import { TreeSearchSelect } from '../../../index';
19
+
20
+ export default () => {
21
+
22
+ const [value, setValue] = useState();
23
+
24
+ const props = {
25
+ mode: 'create',
26
+ remoteSource: {
27
+ url: `/user/orgViewNode/common/getTreeForOrgViewAndTenant`,
28
+ initialParams: { 'orgViewCode': 'administrative-organization-view' },
29
+ resKeyValue: ['code', 'name'],
30
+ },
31
+ value,
32
+ isChoose: false, // 控制是否父节点可选中,默认不可选中
33
+ treeCheckable: true,
34
+ onChange: (v) => {
35
+ setValue(v)
36
+ }
37
+ };
38
+
39
+ return (
40
+ <div>
41
+ <TreeSearchSelect {...props} />
42
+ </div>
43
+ );
44
+ };
45
+ ```
46
+
47
+ More skills for writing demo: https://d.umijs.org/guide/demo-principle
@@ -1,149 +1,149 @@
1
- import React, { useState, useEffect } from 'react';
2
- import { TreeSelect, Tooltip, Tag } from 'antd';
3
- import axios from 'axios';
4
- import { stringify } from 'querystring';
5
-
6
- const TreeSearchSelect = (props: any) => {
7
- const [treeData, setTreeData] = useState([]);
8
- const {
9
- ctx, // ctx中有自己的name
10
- value,
11
- valueName, // 当labelInValue为true时,值为null
12
- onChange,
13
- onChangeName, // 当labelInValue为true时,此函数无意义,故无需传
14
- placeholder,
15
- remoteSource,
16
- initialValue,
17
- treeCheckable = false,
18
- showSearch = true,
19
- maxTagCount = 1,
20
- multiple = false,
21
- isChoose = false,
22
- mode,
23
- getPopupContainer,
24
- labelInValue = false,
25
- showArrow = true,
26
- allowClear = true,
27
- showCheckedStrategy = TreeSelect.SHOW_PARENT,
28
- style = { width: '100%' },
29
- getTreeData,
30
- disabled
31
- } = props;
32
-
33
- const {
34
- url,
35
- paramsKey = 'qp-name-like',
36
- resKeyValue = ['id', 'name'],
37
- initialParams = {},
38
- } = remoteSource;
39
-
40
- const mapSearchTree = (treeDataItem: any) => {
41
- const haveChildren = Array.isArray(treeDataItem.children) && treeDataItem.children.length > 0;
42
- return {
43
- title: treeDataItem[resKeyValue[1]],
44
- key: treeDataItem[resKeyValue[0]],
45
- value: treeDataItem[resKeyValue[0]],
46
- parentId: treeDataItem.parent,
47
- data: { ...treeDataItem },
48
- isLeaf: !haveChildren,
49
- disabled: isDisabled(haveChildren),
50
- children: haveChildren ? treeDataItem.children.map((i: any) => mapSearchTree(i)) : [],
51
- };
52
- };
53
-
54
- const isDisabled = (children: any) => {
55
- if (isChoose) {
56
- return false;
57
- }
58
- return children;
59
- }
60
-
61
- /* 实时查询 但是目前用的直接是完整数据源, 所以没有使用 */
62
- const handleSearch = (q: string) => {
63
- const paramsData = {
64
- [`${paramsKey}`]: q,
65
- ...initialParams,
66
- }
67
- axios.get(`${url}?${stringify(paramsData)}`).then(async (res: any) => {
68
- const resData = res?.data || [];
69
- let coverData;
70
-
71
- if(resData.status === '0') {
72
- const { data } = resData;
73
- if (remoteSource.converter) {
74
- coverData = await remoteSource.converter({ data: [data] })
75
- } else {
76
- const dataList = (data && Array.isArray(data)) ? data : (data && [data] || []);
77
- coverData = dataList.length && dataList.map((ites: any) => mapSearchTree(ites)) || [];
78
- }
79
- } else {
80
- coverData = []
81
- }
82
-
83
- setTreeData(coverData);
84
- ctx?.form?.setFieldSource(ctx.name, coverData);
85
- });
86
- };
87
-
88
- const handleChange = (data: any, dataName: any) => {
89
- onChange(data);
90
- onChangeName && onChangeName(dataName);
91
- getTreeData && getTreeData(treeData); // 把树节点暴露出去
92
- ctx?.form?.setFieldValue(ctx.name, data);
93
- };
94
-
95
- useEffect(() => {
96
- handleSearch(initialValue);
97
- }, []);
98
-
99
- const maxTagPlaceholder = (selectedValues: any) => {
100
- const onClose = (e: any,item: any) => {
101
- e.preventDefault();
102
- const newValue = labelInValue ? JSON.parse(JSON.stringify(value)).filter((i: any) => i.value !== item.value): JSON.parse(JSON.stringify(value)).filter((i: any) => i !== item.value)
103
- const newValueName = labelInValue ? null: JSON.parse(JSON.stringify(valueName)).filter((i: any) => i !== item.label)
104
- handleChange(newValue, newValueName);
105
- }
106
- return (
107
- <Tooltip title={selectedValues.map((i: any) => (
108
- <Tag
109
- closable={true}
110
- onClose={(e) => onClose(e,i)}
111
- style={{ marginRight: 3, background: '#f5f5f5', height: '24px', border: '1px solid #f0f0f0' }}
112
- >
113
- {i.label}
114
- </Tag>
115
- ))}>
116
- {`+ ${selectedValues?.length}`}
117
- </Tooltip>
118
- )
119
- }
120
-
121
- return (
122
- <div className={'tree_search_select'}>
123
- <TreeSelect
124
- treeCheckable={treeCheckable}
125
- maxTagCount={maxTagCount}
126
- showSearch={showSearch}
127
- style={style}
128
- value={value}
129
- dropdownStyle={{ maxHeight: 400, maxWidth: 100, overflow: 'auto' }}
130
- treeData={treeData}
131
- placeholder={placeholder}
132
- allowClear={allowClear}
133
- labelInValue={labelInValue}
134
- showArrow={showArrow}
135
- showCheckedStrategy={showCheckedStrategy}
136
- treeNodeFilterProp={'title'}
137
- treeDefaultExpandAll
138
- multiple={multiple} // 支持多选(当设置 treeCheckable 时自动变为 true)
139
- maxTagPlaceholder={maxTagPlaceholder}
140
- onChange={handleChange}
141
- disabled={disabled || mode==='view' || ctx?.mode === 'view'}
142
- getPopupContainer={() => (getPopupContainer && getPopupContainer()) || document.body}
143
- >
144
- </TreeSelect>
145
- </div>
146
- );
147
- };
148
-
149
- export default TreeSearchSelect;
1
+ import React, { useState, useEffect } from 'react';
2
+ import { TreeSelect, Tooltip, Tag } from 'antd';
3
+ import axios from 'axios';
4
+ import { stringify } from 'querystring';
5
+
6
+ const TreeSearchSelect = (props: any) => {
7
+ const [treeData, setTreeData] = useState([]);
8
+ const {
9
+ ctx, // ctx中有自己的name
10
+ value,
11
+ valueName, // 当labelInValue为true时,值为null
12
+ onChange,
13
+ onChangeName, // 当labelInValue为true时,此函数无意义,故无需传
14
+ placeholder,
15
+ remoteSource,
16
+ initialValue,
17
+ treeCheckable = false,
18
+ showSearch = true,
19
+ maxTagCount = 1,
20
+ multiple = false,
21
+ isChoose = false,
22
+ mode,
23
+ getPopupContainer,
24
+ labelInValue = false,
25
+ showArrow = true,
26
+ allowClear = true,
27
+ showCheckedStrategy = TreeSelect.SHOW_PARENT,
28
+ style = { width: '100%' },
29
+ getTreeData,
30
+ disabled
31
+ } = props;
32
+
33
+ const {
34
+ url,
35
+ paramsKey = 'qp-name-like',
36
+ resKeyValue = ['id', 'name'],
37
+ initialParams = {},
38
+ } = remoteSource;
39
+
40
+ const mapSearchTree = (treeDataItem: any) => {
41
+ const haveChildren = Array.isArray(treeDataItem.children) && treeDataItem.children.length > 0;
42
+ return {
43
+ title: treeDataItem[resKeyValue[1]],
44
+ key: treeDataItem[resKeyValue[0]],
45
+ value: treeDataItem[resKeyValue[0]],
46
+ parentId: treeDataItem.parent,
47
+ data: { ...treeDataItem },
48
+ isLeaf: !haveChildren,
49
+ disabled: isDisabled(haveChildren),
50
+ children: haveChildren ? treeDataItem.children.map((i: any) => mapSearchTree(i)) : [],
51
+ };
52
+ };
53
+
54
+ const isDisabled = (children: any) => {
55
+ if (isChoose) {
56
+ return false;
57
+ }
58
+ return children;
59
+ }
60
+
61
+ /* 实时查询 但是目前用的直接是完整数据源, 所以没有使用 */
62
+ const handleSearch = (q: string) => {
63
+ const paramsData = {
64
+ [`${paramsKey}`]: q,
65
+ ...initialParams,
66
+ }
67
+ axios.get(`${url}?${stringify(paramsData)}`).then(async (res: any) => {
68
+ const resData = res?.data || [];
69
+ let coverData;
70
+
71
+ if(resData.status === '0') {
72
+ const { data } = resData;
73
+ if (remoteSource.converter) {
74
+ coverData = await remoteSource.converter({ data: [data] })
75
+ } else {
76
+ const dataList = (data && Array.isArray(data)) ? data : (data && [data] || []);
77
+ coverData = dataList.length && dataList.map((ites: any) => mapSearchTree(ites)) || [];
78
+ }
79
+ } else {
80
+ coverData = []
81
+ }
82
+
83
+ setTreeData(coverData);
84
+ ctx?.form?.setFieldSource(ctx.name, coverData);
85
+ });
86
+ };
87
+
88
+ const handleChange = (data: any, dataName: any) => {
89
+ onChange(data);
90
+ onChangeName && onChangeName(dataName);
91
+ getTreeData && getTreeData(treeData); // 把树节点暴露出去
92
+ ctx?.form?.setFieldValue(ctx.name, data);
93
+ };
94
+
95
+ useEffect(() => {
96
+ handleSearch(initialValue);
97
+ }, []);
98
+
99
+ const maxTagPlaceholder = (selectedValues: any) => {
100
+ const onClose = (e: any,item: any) => {
101
+ e.preventDefault();
102
+ const newValue = labelInValue ? JSON.parse(JSON.stringify(value)).filter((i: any) => i.value !== item.value): JSON.parse(JSON.stringify(value)).filter((i: any) => i !== item.value)
103
+ const newValueName = labelInValue ? null: JSON.parse(JSON.stringify(valueName)).filter((i: any) => i !== item.label)
104
+ handleChange(newValue, newValueName);
105
+ }
106
+ return (
107
+ <Tooltip title={selectedValues.map((i: any) => (
108
+ <Tag
109
+ closable={true}
110
+ onClose={(e) => onClose(e,i)}
111
+ style={{ marginRight: 3, background: '#f5f5f5', height: '24px', border: '1px solid #f0f0f0' }}
112
+ >
113
+ {i.label}
114
+ </Tag>
115
+ ))}>
116
+ {`+ ${selectedValues?.length}`}
117
+ </Tooltip>
118
+ )
119
+ }
120
+
121
+ return (
122
+ <div className={'tree_search_select'}>
123
+ <TreeSelect
124
+ treeCheckable={treeCheckable}
125
+ maxTagCount={maxTagCount}
126
+ showSearch={showSearch}
127
+ style={style}
128
+ value={value}
129
+ dropdownStyle={{ maxHeight: 400, maxWidth: 100, overflow: 'auto' }}
130
+ treeData={treeData}
131
+ placeholder={placeholder}
132
+ allowClear={allowClear}
133
+ labelInValue={labelInValue}
134
+ showArrow={showArrow}
135
+ showCheckedStrategy={showCheckedStrategy}
136
+ treeNodeFilterProp={'title'}
137
+ treeDefaultExpandAll
138
+ multiple={multiple} // 支持多选(当设置 treeCheckable 时自动变为 true)
139
+ maxTagPlaceholder={maxTagPlaceholder}
140
+ onChange={handleChange}
141
+ disabled={disabled || mode==='view' || ctx?.mode === 'view'}
142
+ getPopupContainer={() => (getPopupContainer && getPopupContainer()) || document.body}
143
+ >
144
+ </TreeSelect>
145
+ </div>
146
+ );
147
+ };
148
+
149
+ export default TreeSearchSelect;
package/src/index.ts CHANGED
@@ -1,30 +1,31 @@
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/requestUtils';
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';
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/requestUtils';
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';
@@ -1,39 +1,39 @@
1
- ---
2
- nav:
3
- title: '工具方法'
4
- order: 2
5
- group:
6
- title: 方法
7
- order: 0
8
- title: 确保单用户登录
9
- order: 1
10
- ---
11
-
12
- ## CheckOneUser
13
-
14
- Demo:
15
-
16
- ```tsx
17
- import React, { useRef } from 'react';
18
- import { message } from 'antd';
19
-
20
- import { CheckOneUser } from '../../index';
21
-
22
- CheckOneUser('userInfo.a.information.name', 3, () => {
23
- message.warning('检测新用户登录,当前页面会在3s之后刷新!');
24
- })
25
-
26
- export default () => {
27
-
28
- const handleOnChange = (value) => {
29
- console.log(value);
30
- };
31
-
32
- return (
33
- <div>
34
- </div>
35
- );
36
- };
37
- ```
38
-
39
- More skills for writing demo: https://d.umijs.org/guide/demo-principle
1
+ ---
2
+ nav:
3
+ title: '工具方法'
4
+ order: 2
5
+ group:
6
+ title: 方法
7
+ order: 0
8
+ title: 确保单用户登录
9
+ order: 1
10
+ ---
11
+
12
+ ## CheckOneUser
13
+
14
+ Demo:
15
+
16
+ ```tsx
17
+ import React, { useRef } from 'react';
18
+ import { message } from 'antd';
19
+
20
+ import { CheckOneUser } from '../../index';
21
+
22
+ CheckOneUser('userInfo.a.information.name', 3, () => {
23
+ message.warning('检测新用户登录,当前页面会在3s之后刷新!');
24
+ })
25
+
26
+ export default () => {
27
+
28
+ const handleOnChange = (value) => {
29
+ console.log(value);
30
+ };
31
+
32
+ return (
33
+ <div>
34
+ </div>
35
+ );
36
+ };
37
+ ```
38
+
39
+ More skills for writing demo: https://d.umijs.org/guide/demo-principle
@@ -1,52 +1,52 @@
1
- /*
2
- * @Description:
3
- * @Author: rodchen
4
- * @Date: 2022-01-14 14:12:01
5
- * @LastEditTime: 2022-01-14 17:17:26
6
- * @LastEditors: rodchen
7
- */
8
- export default (storageKeyString: string, seconds: number = 2, tipsCallFunction?: () =>{}) => {
9
- if (typeof seconds !== 'number' ) throw new Error('seconds should be number');
10
-
11
- let cacheValue = getStorageVale(storageKeyString);
12
-
13
- if (document.hidden !== undefined) {
14
- document.addEventListener('visibilitychange', () => {
15
- if (!document.hidden) {
16
- let currentValue = getStorageVale(storageKeyString);
17
- if (currentValue !== cacheValue) {
18
- if (tipsCallFunction && typeof tipsCallFunction === 'function') {
19
- tipsCallFunction();
20
- } else {
21
- window.alert('检测新用户登录,当前页面会在2s之后刷新!');
22
- }
23
-
24
- setTimeout(() => {
25
- window.location.reload();
26
- }, seconds * 1000)
27
- }
28
- }
29
- })
30
- }
31
- }
32
-
33
- function getStorageVale (storageKeyString: string) {
34
- var [localstorage, ...restKeyArrays] = storageKeyString.split('.');
35
- let localStorageInfo = window.localStorage.getItem(localstorage)
36
-
37
- if (!restKeyArrays.length) return localStorageInfo;
38
-
39
- let returnVal = JSON.parse(localStorageInfo || '{}');
40
-
41
- for(let i = 0; i < restKeyArrays.length; i++ ) {
42
- returnVal = returnVal[restKeyArrays[i]]
43
-
44
- if (!returnVal) return '';
45
-
46
- if (typeof returnVal === 'string') {
47
- return returnVal
48
- }
49
- }
50
-
51
- return ""
1
+ /*
2
+ * @Description:
3
+ * @Author: rodchen
4
+ * @Date: 2022-01-14 14:12:01
5
+ * @LastEditTime: 2022-01-14 17:17:26
6
+ * @LastEditors: rodchen
7
+ */
8
+ export default (storageKeyString: string, seconds: number = 2, tipsCallFunction?: () =>{}) => {
9
+ if (typeof seconds !== 'number' ) throw new Error('seconds should be number');
10
+
11
+ let cacheValue = getStorageVale(storageKeyString);
12
+
13
+ if (document.hidden !== undefined) {
14
+ document.addEventListener('visibilitychange', () => {
15
+ if (!document.hidden) {
16
+ let currentValue = getStorageVale(storageKeyString);
17
+ if (currentValue !== cacheValue) {
18
+ if (tipsCallFunction && typeof tipsCallFunction === 'function') {
19
+ tipsCallFunction();
20
+ } else {
21
+ window.alert('检测新用户登录,当前页面会在2s之后刷新!');
22
+ }
23
+
24
+ setTimeout(() => {
25
+ window.location.reload();
26
+ }, seconds * 1000)
27
+ }
28
+ }
29
+ })
30
+ }
31
+ }
32
+
33
+ function getStorageVale (storageKeyString: string) {
34
+ var [localstorage, ...restKeyArrays] = storageKeyString.split('.');
35
+ let localStorageInfo = window.localStorage.getItem(localstorage)
36
+
37
+ if (!restKeyArrays.length) return localStorageInfo;
38
+
39
+ let returnVal = JSON.parse(localStorageInfo || '{}');
40
+
41
+ for(let i = 0; i < restKeyArrays.length; i++ ) {
42
+ returnVal = returnVal[restKeyArrays[i]]
43
+
44
+ if (!returnVal) return '';
45
+
46
+ if (typeof returnVal === 'string') {
47
+ return returnVal
48
+ }
49
+ }
50
+
51
+ return ""
52
52
  }
@@ -0,0 +1,10 @@
1
+ export default {
2
+ // 浏览器缓存信息
3
+ BROWSER_CACHE: {
4
+ COLUMN_CONDITION: 'columnCondition', //表格列信息缓存
5
+ MAIN_AUTH_CODES: 'menuAuth_mainProject', //按钮资源权限集合
6
+ LIMIT_MENU_DATA: 'limitedMenuData', //权限过滤后的菜单数据
7
+ USER_INFO: 'userInfo', //用户信息
8
+ DICT_CODES: 'dicData', //数据字典数据
9
+ }
10
+ }