@bit-sun/business-component 4.0.11 → 4.0.12-alpha.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.
- package/.umirc.ts +10 -6
- package/dist/components/Business/BsSulaQueryTable/SearchItemSetting.d.ts +2 -4
- package/dist/components/Business/BsSulaQueryTable/utils.d.ts +1 -0
- package/dist/components/Business/SearchSelect/BusinessUtils.d.ts +2 -1
- package/dist/components/Functional/SearchSelect/utils.d.ts +11 -0
- package/dist/index.esm.js +1910 -980
- package/dist/index.js +1909 -979
- package/package.json +2 -2
- package/src/assets/copyImg.svg +16 -0
- package/src/assets/zhankaitiaojian-icon.svg +18 -0
- package/src/components/Business/BsLayouts/index.tsx +17 -0
- package/src/components/Business/BsSulaQueryTable/SearchItemSetting.tsx +45 -17
- package/src/components/Business/BsSulaQueryTable/index.less +21 -38
- package/src/components/Business/BsSulaQueryTable/index.tsx +26 -16
- package/src/components/Business/BsSulaQueryTable/setting.tsx +5 -5
- package/src/components/Business/BsSulaQueryTable/utils.tsx +36 -15
- package/src/components/Business/DetailPageWrapper/index.less +11 -3
- package/src/components/Business/DetailPageWrapper/index.tsx +27 -2
- package/src/components/Business/HomePageWrapper/index.less +9 -0
- package/src/components/Business/HomePageWrapper/index.tsx +1 -1
- package/src/components/Business/SearchSelect/BusinessUtils.tsx +834 -179
- package/src/components/Business/SearchSelect/index.md +181 -0
- package/src/components/Business/SearchSelect/index.tsx +2 -1
- package/src/components/Business/SearchSelect/utils.ts +4 -1
- package/src/components/Business/StateFlow/index.less +140 -124
- package/src/components/Business/StateFlow/index.tsx +3 -3
- package/src/components/Business/columnSettingTable/columnSetting.tsx +6 -6
- package/src/components/Business/columnSettingTable/index.less +31 -69
- package/src/components/Business/columnSettingTable/index.tsx +36 -6
- package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +36 -7
- package/src/components/Common/ParagraphCopier/index.tsx +2 -6
- package/src/components/Functional/QueryMutipleInput/index.less +51 -19
- package/src/components/Functional/QueryMutipleInput/index.tsx +28 -22
- package/src/components/Functional/SearchSelect/index.less +236 -73
- package/src/components/Functional/SearchSelect/index.tsx +400 -263
- package/src/components/Functional/SearchSelect/utils.ts +35 -0
- package/src/components/Functional/TreeSearchSelect/index.tsx +1 -1
- package/src/components/Solution/RuleComponent/index.js +4 -3
- package/src/components/Solution/RuleSetter/function.ts +2 -1
- package/src/plugin/TableColumnSetting/index.less +38 -70
- package/src/plugin/TableColumnSetting/index.tsx +5 -5
- package/src/styles/bsDefault.less +132 -136
- package/src/utils/TableUtils.tsx +1 -1
- package/src/utils/utils.ts +5 -2
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
// 列自定义
|
|
2
1
|
.sort_table_wrapper {
|
|
3
2
|
.sort_table {
|
|
4
3
|
display: flex;
|
|
5
4
|
|
|
6
5
|
.sort_table_column_wrapper {
|
|
7
6
|
width: 560px;
|
|
8
|
-
margin-right:
|
|
7
|
+
margin-right: 8px;
|
|
9
8
|
}
|
|
10
9
|
|
|
11
10
|
.sort_table_content_wrapper {
|
|
@@ -17,12 +16,12 @@
|
|
|
17
16
|
height: 20px;
|
|
18
17
|
font-family: PingFangSC-Regular;
|
|
19
18
|
font-weight: 400;
|
|
20
|
-
font-size:
|
|
19
|
+
font-size: 12px;
|
|
21
20
|
color: #000000;
|
|
22
21
|
letter-spacing: 0;
|
|
23
22
|
|
|
24
23
|
span {
|
|
25
|
-
color: #
|
|
24
|
+
color: #8E8E8E;
|
|
26
25
|
}
|
|
27
26
|
}
|
|
28
27
|
|
|
@@ -47,7 +46,7 @@
|
|
|
47
46
|
text-align: center;
|
|
48
47
|
font-family: PingFangSC-Regular;
|
|
49
48
|
font-weight: 400;
|
|
50
|
-
font-size:
|
|
49
|
+
font-size: 12px;
|
|
51
50
|
color: #848484;
|
|
52
51
|
}
|
|
53
52
|
}
|
|
@@ -58,22 +57,25 @@
|
|
|
58
57
|
height: 20px;
|
|
59
58
|
font-family: PingFangSC-Regular;
|
|
60
59
|
font-weight: 400;
|
|
61
|
-
font-size:
|
|
60
|
+
font-size: 12px;
|
|
62
61
|
color: #848484;
|
|
63
62
|
letter-spacing: 0;
|
|
64
63
|
}
|
|
65
64
|
|
|
66
65
|
.ant-checkbox-wrapper {
|
|
67
66
|
width: 144px;
|
|
67
|
+
height: 16px;
|
|
68
|
+
line-height: 16px;
|
|
68
69
|
margin-top: 16px;
|
|
69
70
|
}
|
|
70
71
|
|
|
71
|
-
.ant-checkbox-wrapper
|
|
72
|
+
.ant-checkbox-wrapper + .ant-checkbox-wrapper {
|
|
72
73
|
margin-left: 0px;
|
|
73
74
|
}
|
|
74
75
|
}
|
|
75
76
|
|
|
76
77
|
.sort_table_content {
|
|
78
|
+
height: 430px;
|
|
77
79
|
margin-top: 10px;
|
|
78
80
|
padding-top: 10px;
|
|
79
81
|
padding-bottom: 10px;
|
|
@@ -83,7 +85,6 @@
|
|
|
83
85
|
.ant-table-wrapper {
|
|
84
86
|
padding: 0px !important;
|
|
85
87
|
}
|
|
86
|
-
|
|
87
88
|
.sort_table_title {
|
|
88
89
|
height: 32px;
|
|
89
90
|
line-height: 32px;
|
|
@@ -92,29 +93,11 @@
|
|
|
92
93
|
}
|
|
93
94
|
}
|
|
94
95
|
}
|
|
95
|
-
|
|
96
|
-
div.ant-modal-header {
|
|
97
|
-
width: 820px;
|
|
98
|
-
height: 64px;
|
|
99
|
-
background: #ffffff;
|
|
100
|
-
padding: 20px;
|
|
101
|
-
border: 0px;
|
|
102
|
-
|
|
103
|
-
div.ant-modal-title {
|
|
104
|
-
height: 24px;
|
|
105
|
-
font-family: PingFangSC-Medium;
|
|
106
|
-
font-weight: 500;
|
|
107
|
-
font-size: 18px;
|
|
108
|
-
color: #000000;
|
|
109
|
-
letter-spacing: 0;
|
|
110
|
-
line-height: 24px;
|
|
111
|
-
}
|
|
112
|
-
}
|
|
96
|
+
|
|
113
97
|
|
|
114
98
|
.ant-modal-body {
|
|
115
|
-
padding:
|
|
99
|
+
padding: 10px 16px;
|
|
116
100
|
}
|
|
117
|
-
|
|
118
101
|
.ant-modal-close-x {
|
|
119
102
|
height: 24px;
|
|
120
103
|
font-family: PingFangSC-Medium;
|
|
@@ -130,7 +113,7 @@
|
|
|
130
113
|
}
|
|
131
114
|
|
|
132
115
|
input {
|
|
133
|
-
height:
|
|
116
|
+
height: 22px;
|
|
134
117
|
padding: 6px 4px;
|
|
135
118
|
border-radius: 5px;
|
|
136
119
|
}
|
|
@@ -138,34 +121,33 @@
|
|
|
138
121
|
.ant-input-prefix {
|
|
139
122
|
width: 24px;
|
|
140
123
|
height: 24px;
|
|
141
|
-
margin: 4px;
|
|
124
|
+
margin: 0 4px;
|
|
142
125
|
// border: 1px dashed #d9d9d9;
|
|
143
126
|
display: flex;
|
|
144
127
|
justify-content: center;
|
|
145
128
|
}
|
|
146
129
|
|
|
147
130
|
.ant-modal-footer {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
131
|
+
padding: 8px 16px;
|
|
132
|
+
display: flex;
|
|
133
|
+
justify-content: space-between;
|
|
134
|
+
|
|
152
135
|
.ant-btn {
|
|
153
136
|
width: 80px;
|
|
154
|
-
height:
|
|
155
|
-
border-radius: 5px;
|
|
137
|
+
height: 28px;
|
|
156
138
|
|
|
157
139
|
span {
|
|
158
140
|
font-family: PingFangSC-Medium;
|
|
159
141
|
font-weight: 600;
|
|
160
|
-
font-size:
|
|
142
|
+
font-size: 12px;
|
|
161
143
|
letter-spacing: 0;
|
|
162
144
|
text-align: center;
|
|
163
145
|
line-height: 20px;
|
|
164
146
|
}
|
|
165
147
|
|
|
166
|
-
&:first-child {
|
|
167
|
-
|
|
168
|
-
}
|
|
148
|
+
// &:first-child {
|
|
149
|
+
// margin-right: 524px;
|
|
150
|
+
// }
|
|
169
151
|
}
|
|
170
152
|
}
|
|
171
153
|
|
|
@@ -180,14 +162,13 @@
|
|
|
180
162
|
padding-bottom: 50px;
|
|
181
163
|
|
|
182
164
|
tr {
|
|
183
|
-
height:
|
|
184
|
-
|
|
165
|
+
height: 30px;
|
|
185
166
|
td {
|
|
186
167
|
width: 24px !important;
|
|
187
|
-
height:
|
|
168
|
+
height: 30px !important;
|
|
188
169
|
font-family: PingFangSC-Regular;
|
|
189
170
|
font-weight: 400;
|
|
190
|
-
font-size:
|
|
171
|
+
font-size: 12px;
|
|
191
172
|
color: #000000;
|
|
192
173
|
letter-spacing: 0;
|
|
193
174
|
|
|
@@ -199,8 +180,8 @@
|
|
|
199
180
|
overflow: hidden;
|
|
200
181
|
text-overflow: ellipsis;
|
|
201
182
|
white-space: nowrap;
|
|
202
|
-
height:
|
|
203
|
-
line-height:
|
|
183
|
+
height: 30px !important;
|
|
184
|
+
line-height: 30px !important;
|
|
204
185
|
}
|
|
205
186
|
|
|
206
187
|
img {
|
|
@@ -216,7 +197,7 @@
|
|
|
216
197
|
&:last-child {
|
|
217
198
|
padding-left: 0px !important;
|
|
218
199
|
padding-right: 3px !important;
|
|
219
|
-
width:
|
|
200
|
+
width: 30px !important;
|
|
220
201
|
|
|
221
202
|
img {
|
|
222
203
|
// border: 1px dashed #d9d9d9;
|
|
@@ -227,27 +208,8 @@
|
|
|
227
208
|
}
|
|
228
209
|
}
|
|
229
210
|
}
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
.global_tab_nav_style {
|
|
233
|
-
top: 2px !important;
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
.row-dragging {
|
|
237
|
-
background: #fafafa;
|
|
238
|
-
border: 1px solid #ccc;
|
|
239
|
-
z-index: 10000;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
.row-dragging td {
|
|
243
|
-
padding: 7px 16px;
|
|
244
|
-
display: none;
|
|
245
|
-
|
|
246
|
-
}
|
|
247
|
-
.row-dragging td:first-child {
|
|
248
|
-
display: inline-block;
|
|
249
|
-
}
|
|
250
211
|
|
|
251
|
-
.
|
|
252
|
-
|
|
212
|
+
.ant-dropdown-link {
|
|
213
|
+
cursor: pointer;
|
|
214
|
+
}
|
|
253
215
|
}
|
|
@@ -159,7 +159,7 @@ export default class ColumnSettingTable extends React.Component {
|
|
|
159
159
|
...restProps,
|
|
160
160
|
};
|
|
161
161
|
let showSummary = null;
|
|
162
|
-
if (this.state.showColumns.length) {
|
|
162
|
+
if (this.state.showColumns.length && !Array.isArray(summary)) {
|
|
163
163
|
if (summary && summary().diy) {
|
|
164
164
|
showSummary = this.getTableSummaryInfo();
|
|
165
165
|
} else {
|
|
@@ -201,12 +201,13 @@ export default class ColumnSettingTable extends React.Component {
|
|
|
201
201
|
...scroll,
|
|
202
202
|
x: restProps.overScrollX || this.getTableScrollXWidth(showCol)
|
|
203
203
|
},
|
|
204
|
-
|
|
204
|
+
...(
|
|
205
|
+
showSummary ? { summary: showSummary } : {}
|
|
206
|
+
)
|
|
205
207
|
}
|
|
206
208
|
return (
|
|
207
|
-
<div>
|
|
208
|
-
<
|
|
209
|
-
<span style={{ float: 'right' }} className="ant-dropdown-link">
|
|
209
|
+
<div style={{ position: 'relative' }}>
|
|
210
|
+
<span style={{ position: 'absolute', zIndex: '10', right: '8px', top: '1px' }} className="ant-dropdown-link">
|
|
210
211
|
<ColumnSetting
|
|
211
212
|
setShowColumns={this.setShowColumns}
|
|
212
213
|
showColumns={this.state.showColumns}
|
|
@@ -216,9 +217,9 @@ export default class ColumnSettingTable extends React.Component {
|
|
|
216
217
|
appRequestConfig={appRequestConfig}
|
|
217
218
|
/>
|
|
218
219
|
</span>
|
|
219
|
-
</div>
|
|
220
220
|
<Table
|
|
221
221
|
columns={showCol}
|
|
222
|
+
border={true}
|
|
222
223
|
components={{
|
|
223
224
|
header: {
|
|
224
225
|
cell: this.ResizeableTitle,
|
|
@@ -228,6 +229,35 @@ export default class ColumnSettingTable extends React.Component {
|
|
|
228
229
|
...otherTableInfo
|
|
229
230
|
}
|
|
230
231
|
/>
|
|
232
|
+
{Array.isArray(summary) && (
|
|
233
|
+
<>
|
|
234
|
+
<div
|
|
235
|
+
className='table-bssula-summary'
|
|
236
|
+
style={{
|
|
237
|
+
right: '20%',
|
|
238
|
+
bottom: 0,
|
|
239
|
+
whiteSpace: 'nowrap',
|
|
240
|
+
overflowX: 'auto',
|
|
241
|
+
}}
|
|
242
|
+
>
|
|
243
|
+
{summary.map(item => (
|
|
244
|
+
<Text type='danger'>
|
|
245
|
+
{item.label}: <span className='table-bssula-summary-count'>{item.count || 0}</span>
|
|
246
|
+
</Text>
|
|
247
|
+
))}
|
|
248
|
+
</div>
|
|
249
|
+
<div style={{
|
|
250
|
+
width: '16px',
|
|
251
|
+
height: '26px',
|
|
252
|
+
opacity: 0.32,
|
|
253
|
+
transform: 'scaleX(-1)',
|
|
254
|
+
backgroundImage:'linear-gradient(270deg, #ffffff00 0%, #A4A4A4 100%)',
|
|
255
|
+
right: '20%',
|
|
256
|
+
position: 'absolute',
|
|
257
|
+
bottom: 0,
|
|
258
|
+
}}></div>
|
|
259
|
+
</>
|
|
260
|
+
)}
|
|
231
261
|
</div >
|
|
232
262
|
)
|
|
233
263
|
}
|
|
@@ -156,7 +156,7 @@ export default class ColumnSettingSulaTable extends React.Component {
|
|
|
156
156
|
...restProps,
|
|
157
157
|
};
|
|
158
158
|
let showSummary = null;
|
|
159
|
-
if (this.state.showColumns.length) {
|
|
159
|
+
if (this.state.showColumns.length && !Array.isArray(summary)) {
|
|
160
160
|
if (summary && summary().diy) {
|
|
161
161
|
showSummary = this.getTableSummaryInfo();
|
|
162
162
|
} else {
|
|
@@ -197,12 +197,13 @@ export default class ColumnSettingSulaTable extends React.Component {
|
|
|
197
197
|
...scroll,
|
|
198
198
|
x: restProps.overScrollX || this.getTableScrollXWidth(showCol)
|
|
199
199
|
},
|
|
200
|
-
|
|
200
|
+
...(
|
|
201
|
+
showSummary ? { summary: showSummary } : {}
|
|
202
|
+
)
|
|
201
203
|
}
|
|
202
204
|
return (
|
|
203
|
-
<div>
|
|
204
|
-
<
|
|
205
|
-
<span style={{ float: 'right' }} className="ant-dropdown-link">
|
|
205
|
+
<div style={{ position: 'relative' }}>
|
|
206
|
+
<span style={{ position: 'absolute', zIndex: '10', right: '8px', top: '10px' }} className="ant-dropdown-link">
|
|
206
207
|
<ColumnSetting
|
|
207
208
|
setShowColumns={this.setShowColumns}
|
|
208
209
|
showColumns={this.state.showColumns}
|
|
@@ -211,10 +212,9 @@ export default class ColumnSettingSulaTable extends React.Component {
|
|
|
211
212
|
appRequestConfig={appRequestConfig}
|
|
212
213
|
/>
|
|
213
214
|
</span>
|
|
214
|
-
</div>
|
|
215
215
|
<SulaTable
|
|
216
216
|
ref={this.sulaTableRef}
|
|
217
|
-
|
|
217
|
+
border={true}
|
|
218
218
|
columns={showCol}
|
|
219
219
|
components={{
|
|
220
220
|
header: {
|
|
@@ -225,6 +225,35 @@ export default class ColumnSettingSulaTable extends React.Component {
|
|
|
225
225
|
...otherTableInfo
|
|
226
226
|
}
|
|
227
227
|
/>
|
|
228
|
+
{Array.isArray(summary) && (
|
|
229
|
+
<>
|
|
230
|
+
<div
|
|
231
|
+
className='table-bssula-summary'
|
|
232
|
+
style={{
|
|
233
|
+
right: '20%',
|
|
234
|
+
bottom: 0,
|
|
235
|
+
whiteSpace: 'nowrap',
|
|
236
|
+
overflowX: 'auto',
|
|
237
|
+
}}
|
|
238
|
+
>
|
|
239
|
+
{summary.map(item => (
|
|
240
|
+
<Text type='danger'>
|
|
241
|
+
{item.label}: <span className='table-bssula-summary-count'>{item.count || 0}</span>
|
|
242
|
+
</Text>
|
|
243
|
+
))}
|
|
244
|
+
</div>
|
|
245
|
+
<div style={{
|
|
246
|
+
width: '16px',
|
|
247
|
+
height: '26px',
|
|
248
|
+
opacity: 0.32,
|
|
249
|
+
transform: 'scaleX(-1)',
|
|
250
|
+
backgroundImage:'linear-gradient(270deg, #ffffff00 0%, #A4A4A4 100%)',
|
|
251
|
+
right: '20%',
|
|
252
|
+
position: 'absolute',
|
|
253
|
+
bottom: 0,
|
|
254
|
+
}}></div>
|
|
255
|
+
</>
|
|
256
|
+
)}
|
|
228
257
|
</div >
|
|
229
258
|
)
|
|
230
259
|
}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import React, { useState } from 'react';
|
|
2
2
|
import { Typography } from 'antd';
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
const IconFont = createFromIconfontCN({
|
|
6
|
-
scriptUrl: '//at.alicdn.com/t/c/font_4645959_8nhs21v6bnp.js',
|
|
7
|
-
});
|
|
3
|
+
import copyImg from '../../../assets/copyImg.svg';
|
|
8
4
|
|
|
9
5
|
const { Paragraph } = Typography;
|
|
10
6
|
|
|
@@ -34,7 +30,7 @@ const ParagraphCopier = (props: ParagraphCopierProps) => {
|
|
|
34
30
|
// 拷贝选项,包含图标和提示信息
|
|
35
31
|
const copyableOptions = {
|
|
36
32
|
text: text,
|
|
37
|
-
icon: <
|
|
33
|
+
icon: <img src={copyImg} />,
|
|
38
34
|
tooltips: ['点击复制', '复制成功'],
|
|
39
35
|
};
|
|
40
36
|
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
@border-color: #d9d9d9;
|
|
2
|
+
@primary-color-hover: #005cff;
|
|
3
|
+
|
|
1
4
|
.query_input {
|
|
2
5
|
&_show {
|
|
3
6
|
display: flex;
|
|
@@ -5,33 +8,62 @@
|
|
|
5
8
|
|
|
6
9
|
&_expand_button {
|
|
7
10
|
position: relative;
|
|
11
|
+
right: -11px;
|
|
8
12
|
width: 30px;
|
|
9
|
-
|
|
13
|
+
border-left: 1px solid @border-color;
|
|
14
|
+
height: 24px;
|
|
10
15
|
cursor: pointer;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
transform: translate(-50%, -50%);
|
|
19
|
-
}
|
|
16
|
+
font-size: 12px;
|
|
17
|
+
text-align: center;
|
|
18
|
+
line-height: normal;
|
|
19
|
+
}
|
|
20
|
+
&_expand_button:hover {
|
|
21
|
+
background-color: @primary-color-hover;
|
|
22
|
+
color: #fff;
|
|
20
23
|
}
|
|
21
24
|
|
|
22
25
|
&_wrapper {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
&_left {
|
|
26
|
-
width: 100px;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
&_right {
|
|
30
|
-
color: #9e9e9e;
|
|
26
|
+
&_top {
|
|
27
|
+
color: #8E8E8E;
|
|
31
28
|
}
|
|
32
29
|
}
|
|
33
30
|
|
|
34
31
|
&_textArea {
|
|
35
|
-
margin-top:
|
|
32
|
+
margin-top: 10px;
|
|
33
|
+
.ant-input {
|
|
34
|
+
height: 300px;
|
|
35
|
+
background: #FAFAFA;
|
|
36
|
+
border: 0.8px solid #E0E0E0;
|
|
37
|
+
resize: none;
|
|
38
|
+
border-radius: 0;
|
|
39
|
+
}
|
|
36
40
|
}
|
|
37
41
|
}
|
|
42
|
+
|
|
43
|
+
.multiInput_modal{
|
|
44
|
+
.ant-modal-header{
|
|
45
|
+
height: 32px;
|
|
46
|
+
padding: 0 16px;
|
|
47
|
+
font-size: 12px;
|
|
48
|
+
}
|
|
49
|
+
.ant-modal-title{
|
|
50
|
+
line-height: 32px;
|
|
51
|
+
}
|
|
52
|
+
.ant-modal-close-x{
|
|
53
|
+
width: 32px;
|
|
54
|
+
height: 32px;
|
|
55
|
+
line-height: 32px;
|
|
56
|
+
}
|
|
57
|
+
.ant-modal-footer{
|
|
58
|
+
padding-right: 8px;
|
|
59
|
+
height: 44px;
|
|
60
|
+
.ant-btn + .ant-btn:not(.ant-dropdown-trigger) {
|
|
61
|
+
margin-left: 6px;
|
|
62
|
+
}
|
|
63
|
+
.ant-btn {
|
|
64
|
+
width: 56px;
|
|
65
|
+
height: 28px;
|
|
66
|
+
font-weight: 500;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
// @ts-nocheck
|
|
9
9
|
import React, { useState, useEffect } from 'react';
|
|
10
10
|
import { useDebounceFn } from 'ahooks';
|
|
11
|
-
import { Input, Button, Modal } from 'antd';
|
|
11
|
+
import { Input, Button, Modal, ConfigProvider } from 'antd';
|
|
12
12
|
import './index.less';
|
|
13
13
|
|
|
14
14
|
const QueryMutipleInput = ({ onValueChange,onPressEnter }) => {
|
|
@@ -31,6 +31,8 @@ const QueryMutipleInput = ({ onValueChange,onPressEnter }) => {
|
|
|
31
31
|
|
|
32
32
|
const showModal = () => {
|
|
33
33
|
setIsModalVisible(true);
|
|
34
|
+
//弹窗打开时 默认搜索内容换行显示
|
|
35
|
+
setPopValue(data => data.replace(/,/g, '\n'));
|
|
34
36
|
};
|
|
35
37
|
|
|
36
38
|
const handleOk = () => {
|
|
@@ -72,11 +74,11 @@ const QueryMutipleInput = ({ onValueChange,onPressEnter }) => {
|
|
|
72
74
|
formaData(e.clipboardData.getData('text'));
|
|
73
75
|
e.preventDefault();
|
|
74
76
|
}}
|
|
75
|
-
style={{ width: 'calc(100%
|
|
77
|
+
style={{ width: 'calc(100%)' }}
|
|
78
|
+
suffix={<div className="query_input_expand_button" onClick={showModal}>...</div>}
|
|
76
79
|
placeholder="请输入(查询多个值请用 ; 或 , 分割)"
|
|
77
80
|
onPressEnter={()=>onPressEnter?.()}
|
|
78
81
|
/>
|
|
79
|
-
<Button style={{width: '30px', padding: '2px', height: 'auto'}} onClick={showModal} type="primary">...</Button>
|
|
80
82
|
</div>
|
|
81
83
|
<Modal
|
|
82
84
|
width={600}
|
|
@@ -84,29 +86,33 @@ const QueryMutipleInput = ({ onValueChange,onPressEnter }) => {
|
|
|
84
86
|
visible={isModalVisible}
|
|
85
87
|
onOk={handleOk}
|
|
86
88
|
onCancel={handleCancel}
|
|
89
|
+
className='multiInput_modal'
|
|
90
|
+
bodyStyle={{
|
|
91
|
+
padding: '10px 16px'
|
|
92
|
+
}}
|
|
87
93
|
footer={[
|
|
88
|
-
<
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
+
<ConfigProvider autoInsertSpaceInButton = { false }>
|
|
95
|
+
<Button key="back" onClick={handleCancel} autoI>
|
|
96
|
+
取消
|
|
97
|
+
</Button>
|
|
98
|
+
</ConfigProvider>,
|
|
99
|
+
<ConfigProvider autoInsertSpaceInButton = { false }>
|
|
100
|
+
<Button key="submit" type="primary" onClick={handleOk}>
|
|
101
|
+
录入
|
|
102
|
+
</Button>
|
|
103
|
+
</ConfigProvider>,
|
|
94
104
|
]}
|
|
95
105
|
>
|
|
96
106
|
<div className={'query_input_wrapper'}>
|
|
97
|
-
<div className={'
|
|
98
|
-
<div className={'
|
|
99
|
-
<
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
rows={6}
|
|
107
|
-
showCount
|
|
108
|
-
/>
|
|
109
|
-
</div>
|
|
107
|
+
<div className={'query_input_wrapper_top'}>如需同时使用多个值进行查询,请使用逗号,分号、空格或换行进行值的分割,中英文格式的符号均支持</div>
|
|
108
|
+
<div className={'query_input_textArea'}>
|
|
109
|
+
<Input.TextArea
|
|
110
|
+
placeholder='在此录入...'
|
|
111
|
+
value={popvalue}
|
|
112
|
+
onChange={onChange}
|
|
113
|
+
rows={12}
|
|
114
|
+
showCount={false}
|
|
115
|
+
/>
|
|
110
116
|
</div>
|
|
111
117
|
</div>
|
|
112
118
|
</Modal>
|