@bit-sun/business-component 2.1.23 → 2.2.0-alpha.1

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