@bit-sun/business-component 2.2.1 → 2.2.3

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 (180) 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/index.d.ts +1 -0
  9. package/dist/index.esm.js +6152 -5276
  10. package/dist/index.js +6151 -5274
  11. package/dist/plugin/TableColumnSetting/index.d.ts +64 -0
  12. package/dist/plugin/TableColumnSetting/utils.d.ts +1 -0
  13. package/dist/utils/LocalstorageUtils.d.ts +2 -0
  14. package/docs/index.md +21 -21
  15. package/lib/assets/drag.svg +17 -17
  16. package/lib/assets/exportFail.svg +37 -37
  17. package/lib/assets/exportProcessing.svg +28 -28
  18. package/lib/assets/exportSuccess.svg +34 -34
  19. package/lib/assets/label_icon_bottom.svg +25 -25
  20. package/lib/assets/upExport.svg +22 -22
  21. package/package.json +77 -77
  22. package/src/assets/32.svg +27 -27
  23. package/src/assets/addIcon.svg +17 -17
  24. package/src/assets/allfunc.svg +27 -27
  25. package/src/assets/arrowRight.svg +24 -24
  26. package/src/assets/btn-delete.svg +29 -29
  27. package/src/assets/btn-edit.svg +19 -19
  28. package/src/assets/btn-more.svg +17 -17
  29. package/src/assets/btn-submit.svg +19 -19
  30. package/src/assets/caidan.svg +11 -11
  31. package/src/assets/close.svg +26 -26
  32. package/src/assets/drag.svg +17 -17
  33. package/src/assets/exportFail.svg +37 -37
  34. package/src/assets/exportProcessing.svg +28 -28
  35. package/src/assets/exportSuccess.svg +34 -34
  36. package/src/assets/fixed-left-active.svg +11 -11
  37. package/src/assets/fixed-left.svg +15 -15
  38. package/src/assets/fixed-right-active.svg +11 -11
  39. package/src/assets/fixed-right.svg +15 -15
  40. package/src/assets/guanbi.svg +15 -15
  41. package/src/assets/icon-quanping.svg +15 -15
  42. package/src/assets/icon-shezhi.svg +17 -17
  43. package/src/assets/label_icon_bottom.svg +25 -25
  44. package/src/assets/list-no-img.svg +21 -21
  45. package/src/assets/morentouxiang-32.svg +23 -23
  46. package/src/assets/scanning.svg +24 -24
  47. package/src/assets/upExport.svg +22 -22
  48. package/src/components/Business/AddSelectBusiness/index.md +63 -42
  49. package/src/components/Business/AddSelectBusiness/index.tsx +344 -341
  50. package/src/components/Business/BsLayouts/Components/AllFunc/drawContent.tsx +111 -111
  51. package/src/components/Business/BsLayouts/Components/AllFunc/index.less +153 -153
  52. package/src/components/Business/BsLayouts/Components/AllFunc/index.tsx +70 -70
  53. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.less +90 -90
  54. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/index.tsx +37 -37
  55. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/leftTree.tsx +242 -242
  56. package/src/components/Business/BsLayouts/Components/CustomerMenu/MenuSetting/rightTree.tsx +384 -384
  57. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/DrawContent.tsx +285 -285
  58. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/customMenuHeader.tsx +74 -74
  59. package/src/components/Business/BsLayouts/Components/CustomerMenu/globalMenu/drawContent.less +170 -170
  60. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.less +64 -64
  61. package/src/components/Business/BsLayouts/Components/CustomerMenu/index.tsx +153 -153
  62. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.less +72 -72
  63. package/src/components/Business/BsLayouts/Components/GlobalHeader/index.tsx +157 -157
  64. package/src/components/Business/BsLayouts/Components/RightContent/LoginModal.tsx +85 -85
  65. package/src/components/Business/BsLayouts/Components/RightContent/home.less +218 -218
  66. package/src/components/Business/BsLayouts/Components/RightContent/index.tsx +156 -156
  67. package/src/components/Business/BsLayouts/Components/SearchFunc/index.less +160 -160
  68. package/src/components/Business/BsLayouts/Components/SearchFunc/index.tsx +75 -75
  69. package/src/components/Business/BsLayouts/index.less +79 -79
  70. package/src/components/Business/BsLayouts/index.tsx +1479 -1479
  71. package/src/components/Business/BsLayouts/service.ts +10 -10
  72. package/src/components/Business/BsLayouts/utils.tsx +230 -230
  73. package/src/components/Business/BsSulaQueryTable/index.less +219 -219
  74. package/src/components/Business/BsSulaQueryTable/index.tsx +480 -480
  75. package/src/components/Business/BsSulaQueryTable/setting.tsx +802 -802
  76. package/src/components/Business/BsSulaQueryTable/utils.less +65 -65
  77. package/src/components/Business/BsSulaQueryTable/utils.tsx +688 -688
  78. package/src/components/Business/CommodityEntry/index.md +70 -70
  79. package/src/components/Business/CommodityEntry/index.tsx +80 -80
  80. package/src/components/Business/CommonAlert/index.tsx +23 -23
  81. package/src/components/Business/CommonGuideWrapper/index.less +111 -111
  82. package/src/components/Business/CommonGuideWrapper/index.md +39 -39
  83. package/src/components/Business/CommonGuideWrapper/index.tsx +83 -83
  84. package/src/components/Business/DetailPageWrapper/index.less +79 -79
  85. package/src/components/Business/DetailPageWrapper/index.tsx +335 -335
  86. package/src/components/Business/DetailPageWrapper/utils.tsx +100 -100
  87. package/src/components/Business/HomePageWrapper/index.less +33 -33
  88. package/src/components/Business/HomePageWrapper/index.md +45 -45
  89. package/src/components/Business/HomePageWrapper/index.tsx +162 -162
  90. package/src/components/Business/JsonQueryTable/components/FieldsModifyModal.tsx +824 -824
  91. package/src/components/Business/JsonQueryTable/components/FieldsSettingsTable.tsx +201 -201
  92. package/src/components/Business/JsonQueryTable/components/Formula.tsx +205 -205
  93. package/src/components/Business/JsonQueryTable/components/MaintainOptions.tsx +127 -127
  94. package/src/components/Business/JsonQueryTable/configButton/index.js +20 -20
  95. package/src/components/Business/JsonQueryTable/configTree/component/compactArrayView.js +25 -25
  96. package/src/components/Business/JsonQueryTable/configTree/component/compactObjectView.js +30 -30
  97. package/src/components/Business/JsonQueryTable/configTree/index.js +82 -82
  98. package/src/components/Business/JsonQueryTable/configTree/index.less +44 -44
  99. package/src/components/Business/JsonQueryTable/configTree/parser/highlight.js +57 -57
  100. package/src/components/Business/JsonQueryTable/configTree/parser/index.js +124 -124
  101. package/src/components/Business/JsonQueryTable/configTree/render/iconRender.js +29 -29
  102. package/src/components/Business/JsonQueryTable/configTree/render/nameRender.js +22 -22
  103. package/src/components/Business/JsonQueryTable/configTree/treeNode.js +116 -116
  104. package/src/components/Business/JsonQueryTable/drawer/index.tsx +12 -12
  105. package/src/components/Business/JsonQueryTable/function.ts +62 -62
  106. package/src/components/Business/JsonQueryTable/index.less +16 -16
  107. package/src/components/Business/JsonQueryTable/index.md +328 -328
  108. package/src/components/Business/JsonQueryTable/index.tsx +320 -320
  109. package/src/components/Business/JsonQueryTable/jsonEditor/index.js +346 -346
  110. package/src/components/Business/JsonQueryTable/jsonEditor/index.less +22 -22
  111. package/src/components/Business/JsonQueryTable/jsonEditor/lint/basicType.js +147 -147
  112. package/src/components/Business/JsonQueryTable/jsonEditor/lint/index.js +389 -389
  113. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/actions.js +118 -118
  114. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/dependency.js +22 -22
  115. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/index.js +21 -21
  116. package/src/components/Business/JsonQueryTable/jsonEditor/suggestions/request.js +65 -65
  117. package/src/components/Business/JsonQueryTable/static.ts +356 -356
  118. package/src/components/Business/SearchSelect/BusinessUtils.ts +1586 -1586
  119. package/src/components/Business/SearchSelect/common.ts +53 -53
  120. package/src/components/Business/SearchSelect/index.md +1254 -1254
  121. package/src/components/Business/SearchSelect/index.tsx +51 -51
  122. package/src/components/Business/SearchSelect/utils.ts +100 -100
  123. package/src/components/Business/StateFlow/index.less +130 -130
  124. package/src/components/Business/StateFlow/index.md +60 -60
  125. package/src/components/Business/StateFlow/index.tsx +29 -29
  126. package/src/components/Business/TreeSearchSelect/index.md +126 -126
  127. package/src/components/Business/TreeSearchSelect/index.tsx +34 -34
  128. package/src/components/Business/TreeSearchSelect/utils.ts +60 -60
  129. package/src/components/Business/columnSettingTable/columnSetting.tsx +764 -764
  130. package/src/components/Business/columnSettingTable/index.less +247 -247
  131. package/src/components/Business/columnSettingTable/index.md +357 -357
  132. package/src/components/Business/columnSettingTable/index.tsx +232 -232
  133. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +240 -240
  134. package/src/components/Business/columnSettingTable/utils.tsx +68 -68
  135. package/src/components/Business/moreTreeTable/index.less +99 -99
  136. package/src/components/Business/moreTreeTable/index.md +508 -508
  137. package/src/components/Business/moreTreeTable/index.tsx +315 -315
  138. package/src/components/Business/moreTreeTable/utils.ts +126 -126
  139. package/src/components/Functional/AddSelect/index.less +367 -367
  140. package/src/components/Functional/AddSelect/index.md +155 -154
  141. package/src/components/Functional/AddSelect/index.tsx +1072 -994
  142. package/src/components/Functional/BillEntry/index.less +371 -371
  143. package/src/components/Functional/BillEntry/index.md +39 -39
  144. package/src/components/Functional/BillEntry/index.tsx +766 -670
  145. package/src/components/Functional/DataImport/index.less +63 -63
  146. package/src/components/Functional/DataImport/index.md +44 -44
  147. package/src/components/Functional/DataImport/index.tsx +695 -695
  148. package/src/components/Functional/DataValidation/index.less +63 -63
  149. package/src/components/Functional/DataValidation/index.md +39 -39
  150. package/src/components/Functional/DataValidation/index.tsx +687 -687
  151. package/src/components/Functional/ExportFunctions/ExportIcon/index.md +37 -37
  152. package/src/components/Functional/ExportFunctions/ExportIcon/index.tsx +59 -59
  153. package/src/components/Functional/QueryMutipleInput/index.less +37 -37
  154. package/src/components/Functional/QueryMutipleInput/index.md +33 -33
  155. package/src/components/Functional/QueryMutipleInput/index.tsx +128 -128
  156. package/src/components/Functional/SearchSelect/index.less +115 -115
  157. package/src/components/Functional/SearchSelect/index.md +141 -141
  158. package/src/components/Functional/SearchSelect/index.tsx +813 -813
  159. package/src/components/Functional/SearchSelect/utils.ts +3 -3
  160. package/src/components/Functional/TreeSearchSelect/index.md +47 -47
  161. package/src/components/Functional/TreeSearchSelect/index.tsx +149 -149
  162. package/src/index.ts +34 -34
  163. package/src/plugin/TableColumnSetting/index.less +247 -0
  164. package/src/plugin/TableColumnSetting/index.md +50 -0
  165. package/src/plugin/TableColumnSetting/index.tsx +724 -0
  166. package/src/plugin/TableColumnSetting/utils.ts +19 -0
  167. package/src/styles/bsDefault.less +1906 -1906
  168. package/src/utils/CheckOneUser/index.md +39 -39
  169. package/src/utils/CheckOneUser/index.ts +51 -51
  170. package/src/utils/LocalstorageUtils.ts +33 -0
  171. package/src/utils/TableUtils.tsx +18 -18
  172. package/src/utils/checkUtils.ts +39 -39
  173. package/src/utils/enumConfig.ts +10 -10
  174. package/src/utils/getFormMode.js +12 -12
  175. package/src/utils/index.ts +2 -2
  176. package/src/utils/requestUtils.ts +33 -33
  177. package/src/utils/serialize.js +7 -7
  178. package/src/utils/utils.ts +183 -183
  179. package/tsconfig.json +29 -29
  180. package/typings.d.ts +4 -4
@@ -1,37 +1,37 @@
1
- ---
2
- title: 导出按钮
3
- order: 5
4
- nav:
5
- title: 组件
6
- order: 1
7
- group:
8
- path: /components/functional
9
- order: 0
10
- title: 功能组件
11
- ---
12
-
13
- ## ExportIcon
14
-
15
- 导出按钮demo
16
-
17
- ```tsx
18
- import React, { useState, useRef } from 'react';
19
- import {ExportIcon} from '../../../../index';
20
-
21
-
22
-
23
- export default () => {
24
-
25
- const tableRef = useRef()
26
-
27
- return (
28
- <div>
29
- <ExportIcon request={{url:'abc'}} tableRef={tableRef}/>
30
- </div>
31
- );
32
- };
33
- ```
34
-
35
- <API></API>
36
-
37
- More skills for writing demo: https://d.umijs.org/guide/demo-principle
1
+ ---
2
+ title: 导出按钮
3
+ order: 5
4
+ nav:
5
+ title: 组件
6
+ order: 1
7
+ group:
8
+ path: /components/functional
9
+ order: 0
10
+ title: 功能组件
11
+ ---
12
+
13
+ ## ExportIcon
14
+
15
+ 导出按钮demo
16
+
17
+ ```tsx
18
+ import React, { useState, useRef } from 'react';
19
+ import {ExportIcon} from '../../../../index';
20
+
21
+
22
+
23
+ export default () => {
24
+
25
+ const tableRef = useRef()
26
+
27
+ return (
28
+ <div>
29
+ <ExportIcon request={{url:'abc'}} tableRef={tableRef}/>
30
+ </div>
31
+ );
32
+ };
33
+ ```
34
+
35
+ <API></API>
36
+
37
+ More skills for writing demo: https://d.umijs.org/guide/demo-principle
@@ -1,59 +1,59 @@
1
- // @ts-nocheck
2
- import React, {Ref} from 'react'
3
- import {message, Popconfirm, Tooltip} from "antd";
4
- import axios from 'axios'
5
- import exportlogo from '../../../../assets/exportlogo.png'
6
- import {omit} from 'lodash'
7
- interface exportIconType{
8
- /** others选填,使用axios发请求,*/
9
- request:{
10
- url: string,
11
- params: Function | Object,
12
- others?: Object
13
- },
14
- /** BsSulaQueryTable的tableRef*/
15
- tableRef: any,
16
- }
17
-
18
- const ExportIcon = ({request, tableRef}: exportIconType) => {
19
- const {url, params, others} = request
20
-
21
- return (
22
- <div style={{ cursor: 'pointer' }}>
23
- <Tooltip title="导出数据">
24
- <img width={32} src={exportlogo} onClick={() =>{
25
- const convertedParams = tableRef?.current?.getExportParams()
26
- let requestData: any
27
-
28
- if(typeof params === 'function'){
29
- requestData = {...omit(params(convertedParams),'selectedRows')}
30
- }else if(typeof params === 'object'){
31
- requestData = {...params}
32
- }
33
- if(!params){
34
- requestData = omit(convertedParams, 'selectedRows')
35
- }
36
-
37
- requestData['qp-id-in'] = convertedParams?.selectedRows?.map((d: any) => d.id)?.join(',')
38
-
39
- axios({
40
- url,
41
- method:'POST',
42
- data:requestData,
43
- ...others,
44
- })
45
- .then((result: any) => {
46
- result = result.data;
47
- if (result.code !== '000000') {
48
- message.error(result?.msg);
49
- return;
50
- }
51
- message.success('任务已排入导出队列')
52
- })
53
- }} />
54
- </Tooltip>
55
- </div>
56
- )
57
- }
58
-
59
- export default ExportIcon
1
+ // @ts-nocheck
2
+ import React, {Ref} from 'react'
3
+ import {message, Popconfirm, Tooltip} from "antd";
4
+ import axios from 'axios'
5
+ import exportlogo from '../../../../assets/exportlogo.png'
6
+ import {omit} from 'lodash'
7
+ interface exportIconType{
8
+ /** others选填,使用axios发请求,*/
9
+ request:{
10
+ url: string,
11
+ params: Function | Object,
12
+ others?: Object
13
+ },
14
+ /** BsSulaQueryTable的tableRef*/
15
+ tableRef: any,
16
+ }
17
+
18
+ const ExportIcon = ({request, tableRef}: exportIconType) => {
19
+ const {url, params, others} = request
20
+
21
+ return (
22
+ <div style={{ cursor: 'pointer' }}>
23
+ <Tooltip title="导出数据">
24
+ <img width={32} src={exportlogo} onClick={() =>{
25
+ const convertedParams = tableRef?.current?.getExportParams()
26
+ let requestData: any
27
+
28
+ if(typeof params === 'function'){
29
+ requestData = {...omit(params(convertedParams),'selectedRows')}
30
+ }else if(typeof params === 'object'){
31
+ requestData = {...params}
32
+ }
33
+ if(!params){
34
+ requestData = omit(convertedParams, 'selectedRows')
35
+ }
36
+
37
+ requestData['qp-id-in'] = convertedParams?.selectedRows?.map((d: any) => d.id)?.join(',')
38
+
39
+ axios({
40
+ url,
41
+ method:'POST',
42
+ data:requestData,
43
+ ...others,
44
+ })
45
+ .then((result: any) => {
46
+ result = result.data;
47
+ if (result.code !== '000000') {
48
+ message.error(result?.msg);
49
+ return;
50
+ }
51
+ message.success('任务已排入导出队列')
52
+ })
53
+ }} />
54
+ </Tooltip>
55
+ </div>
56
+ )
57
+ }
58
+
59
+ export default ExportIcon
@@ -1,37 +1,37 @@
1
- .query_input {
2
- &_show {
3
- display: flex;
4
- }
5
-
6
- &_expand_button {
7
- position: relative;
8
- width: 30px;
9
- color: #ffffff;
10
- cursor: pointer;
11
-
12
- span {
13
- position: absolute;
14
- height: 20px;
15
- line-height: 14px;
16
- left: 50%;
17
- top: 50%;
18
- transform: translate(-50%, -50%);
19
- }
20
- }
21
-
22
- &_wrapper {
23
- display: flex;
24
-
25
- &_left {
26
- width: 100px;
27
- }
28
-
29
- &_right {
30
- color: #9e9e9e;
31
- }
32
- }
33
-
34
- &_textArea {
35
- margin-top: 15px;
36
- }
37
- }
1
+ .query_input {
2
+ &_show {
3
+ display: flex;
4
+ }
5
+
6
+ &_expand_button {
7
+ position: relative;
8
+ width: 30px;
9
+ color: #ffffff;
10
+ cursor: pointer;
11
+
12
+ span {
13
+ position: absolute;
14
+ height: 20px;
15
+ line-height: 14px;
16
+ left: 50%;
17
+ top: 50%;
18
+ transform: translate(-50%, -50%);
19
+ }
20
+ }
21
+
22
+ &_wrapper {
23
+ display: flex;
24
+
25
+ &_left {
26
+ width: 100px;
27
+ }
28
+
29
+ &_right {
30
+ color: #9e9e9e;
31
+ }
32
+ }
33
+
34
+ &_textArea {
35
+ margin-top: 15px;
36
+ }
37
+ }
@@ -1,33 +1,33 @@
1
- ---
2
- nav:
3
- title: '组件'
4
- order: 1
5
- group:
6
- title: 功能组件
7
- order: 0
8
- title: 批量查询组件
9
- order: 2
10
- ---
11
-
12
- ## QueryMutipleInput
13
-
14
- Demo:
15
-
16
- ```tsx
17
- import React, { useRef } from 'react';
18
- import { QueryMutipleInput } from '../../../index';
19
-
20
- export default () => {
21
- const handleOnChange = (value) => {
22
- console.log(value);
23
- };
24
-
25
- return (
26
- <div>
27
- <QueryMutipleInput onValueChange={handleOnChange} />
28
- </div>
29
- );
30
- };
31
- ```
32
-
33
- 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: 2
10
+ ---
11
+
12
+ ## QueryMutipleInput
13
+
14
+ Demo:
15
+
16
+ ```tsx
17
+ import React, { useRef } from 'react';
18
+ import { QueryMutipleInput } from '../../../index';
19
+
20
+ export default () => {
21
+ const handleOnChange = (value) => {
22
+ console.log(value);
23
+ };
24
+
25
+ return (
26
+ <div>
27
+ <QueryMutipleInput onValueChange={handleOnChange} />
28
+ </div>
29
+ );
30
+ };
31
+ ```
32
+
33
+ More skills for writing demo: https://d.umijs.org/guide/demo-principle
@@ -1,128 +1,128 @@
1
- /*
2
- * @Description:
3
- * @Author: rodchen
4
- * @Date: 2021-12-01 10:52:08
5
- * @LastEditTime: 2021-12-29 19:14:56
6
- * @LastEditors: rodchen
7
- */
8
- // @ts-nocheck
9
- import React, { useState, useEffect } from 'react';
10
- import { useDebounceFn } from 'ahooks';
11
- import { Input, Button, Modal } from 'antd';
12
- import './index.less';
13
-
14
- const QueryMutipleInput = ({ onValueChange }) => {
15
- const [isModalVisible, setIsModalVisible] = useState(false);
16
- const [value, setValue] = useState('');
17
- const [popvalue, setPopValue] = useState('');
18
- const { run } = useDebounceFn(
19
- () => {
20
- formaData(value);
21
- },
22
- {
23
- wait: 1000,
24
- },
25
- );
26
-
27
- useEffect(() => {
28
- setPopValue(value);
29
- onValueChange(value);
30
- }, [value]);
31
-
32
- const showModal = () => {
33
- setIsModalVisible(true);
34
- };
35
-
36
- const handleOk = () => {
37
- formaData(popvalue);
38
- setIsModalVisible(false);
39
- };
40
-
41
- const formaData = (value) => {
42
- let formatValue = ToCDB(value)
43
- .split(/[/\n/\s,;]/)
44
- .filter((item) => item)
45
- .join(',');
46
- setValue(formatValue);
47
- };
48
-
49
- const handleCancel = () => {
50
- setIsModalVisible(false);
51
- };
52
-
53
- const outerChange = (e) => {
54
- setValue(e.target.value);
55
- run();
56
- };
57
-
58
- const onChange = (e) => {
59
- setPopValue(e.target.value);
60
- };
61
-
62
- return (
63
- <div className={'query_input'}>
64
- <div className="query_input_show">
65
- <Input
66
- value={value}
67
- onChange={outerChange}
68
- onBlur={(e) => {
69
- formaData(e.target.value);
70
- }}
71
- onPaste={(e) => {
72
- formaData(e.clipboardData.getData('text'));
73
- e.preventDefault();
74
- }}
75
- style={{ width: 'calc(100% - 30px)' }}
76
- placeholder="请输入(查询多个值请用 ; 或 , 分割)"
77
- />
78
- <Button style={{width: '30px', padding: '2px', height: 'auto'}} onClick={showModal} type="primary">...</Button>
79
- </div>
80
- <Modal
81
- width={600}
82
- title="多值录入"
83
- visible={isModalVisible}
84
- onOk={handleOk}
85
- onCancel={handleCancel}
86
- footer={[
87
- <Button key="back" onClick={handleCancel}>
88
- 取消
89
- </Button>,
90
- <Button key="submit" type="primary" onClick={handleOk}>
91
- 录入
92
- </Button>,
93
- ]}
94
- >
95
- <div className={'query_input_wrapper'}>
96
- <div className={'query_input_wrapper_left'}>录入区:</div>
97
- <div className={'query_input_wrapper_right'}>
98
- <div>
99
- 如需同时使用多个值进行查询,请使用逗号、分号、空格或换行进行值的分隔,中英文格式的符号均支持
100
- </div>
101
- <div className={'query_input_textArea'}>
102
- <Input.TextArea
103
- value={popvalue}
104
- onChange={onChange}
105
- rows={6}
106
- showCount
107
- />
108
- </div>
109
- </div>
110
- </div>
111
- </Modal>
112
- </div>
113
- );
114
- };
115
-
116
- function ToCDB(str) {
117
- var tmp = '';
118
- for (var i = 0; i < str.length; i++) {
119
- if (str.charCodeAt(i) > 65248 && str.charCodeAt(i) < 65375) {
120
- tmp += String.fromCharCode(str.charCodeAt(i) - 65248);
121
- } else {
122
- tmp += String.fromCharCode(str.charCodeAt(i));
123
- }
124
- }
125
- return tmp;
126
- }
127
-
128
- export default QueryMutipleInput;
1
+ /*
2
+ * @Description:
3
+ * @Author: rodchen
4
+ * @Date: 2021-12-01 10:52:08
5
+ * @LastEditTime: 2021-12-29 19:14:56
6
+ * @LastEditors: rodchen
7
+ */
8
+ // @ts-nocheck
9
+ import React, { useState, useEffect } from 'react';
10
+ import { useDebounceFn } from 'ahooks';
11
+ import { Input, Button, Modal } from 'antd';
12
+ import './index.less';
13
+
14
+ const QueryMutipleInput = ({ onValueChange }) => {
15
+ const [isModalVisible, setIsModalVisible] = useState(false);
16
+ const [value, setValue] = useState('');
17
+ const [popvalue, setPopValue] = useState('');
18
+ const { run } = useDebounceFn(
19
+ () => {
20
+ formaData(value);
21
+ },
22
+ {
23
+ wait: 1000,
24
+ },
25
+ );
26
+
27
+ useEffect(() => {
28
+ setPopValue(value);
29
+ onValueChange(value);
30
+ }, [value]);
31
+
32
+ const showModal = () => {
33
+ setIsModalVisible(true);
34
+ };
35
+
36
+ const handleOk = () => {
37
+ formaData(popvalue);
38
+ setIsModalVisible(false);
39
+ };
40
+
41
+ const formaData = (value) => {
42
+ let formatValue = ToCDB(value)
43
+ .split(/[/\n/\s,;]/)
44
+ .filter((item) => item)
45
+ .join(',');
46
+ setValue(formatValue);
47
+ };
48
+
49
+ const handleCancel = () => {
50
+ setIsModalVisible(false);
51
+ };
52
+
53
+ const outerChange = (e) => {
54
+ setValue(e.target.value);
55
+ run();
56
+ };
57
+
58
+ const onChange = (e) => {
59
+ setPopValue(e.target.value);
60
+ };
61
+
62
+ return (
63
+ <div className={'query_input'}>
64
+ <div className="query_input_show">
65
+ <Input
66
+ value={value}
67
+ onChange={outerChange}
68
+ onBlur={(e) => {
69
+ formaData(e.target.value);
70
+ }}
71
+ onPaste={(e) => {
72
+ formaData(e.clipboardData.getData('text'));
73
+ e.preventDefault();
74
+ }}
75
+ style={{ width: 'calc(100% - 30px)' }}
76
+ placeholder="请输入(查询多个值请用 ; 或 , 分割)"
77
+ />
78
+ <Button style={{width: '30px', padding: '2px', height: 'auto'}} onClick={showModal} type="primary">...</Button>
79
+ </div>
80
+ <Modal
81
+ width={600}
82
+ title="多值录入"
83
+ visible={isModalVisible}
84
+ onOk={handleOk}
85
+ onCancel={handleCancel}
86
+ footer={[
87
+ <Button key="back" onClick={handleCancel}>
88
+ 取消
89
+ </Button>,
90
+ <Button key="submit" type="primary" onClick={handleOk}>
91
+ 录入
92
+ </Button>,
93
+ ]}
94
+ >
95
+ <div className={'query_input_wrapper'}>
96
+ <div className={'query_input_wrapper_left'}>录入区:</div>
97
+ <div className={'query_input_wrapper_right'}>
98
+ <div>
99
+ 如需同时使用多个值进行查询,请使用逗号、分号、空格或换行进行值的分隔,中英文格式的符号均支持
100
+ </div>
101
+ <div className={'query_input_textArea'}>
102
+ <Input.TextArea
103
+ value={popvalue}
104
+ onChange={onChange}
105
+ rows={6}
106
+ showCount
107
+ />
108
+ </div>
109
+ </div>
110
+ </div>
111
+ </Modal>
112
+ </div>
113
+ );
114
+ };
115
+
116
+ function ToCDB(str) {
117
+ var tmp = '';
118
+ for (var i = 0; i < str.length; i++) {
119
+ if (str.charCodeAt(i) > 65248 && str.charCodeAt(i) < 65375) {
120
+ tmp += String.fromCharCode(str.charCodeAt(i) - 65248);
121
+ } else {
122
+ tmp += String.fromCharCode(str.charCodeAt(i));
123
+ }
124
+ }
125
+ return tmp;
126
+ }
127
+
128
+ export default QueryMutipleInput;