@bit-sun/business-component 4.0.12-alpha.9 → 4.0.13-alpha.11
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/dist/components/Business/BsSulaQueryTable/utils.d.ts +1 -1
- package/dist/components/Business/PropertyModal/index.d.ts +23 -0
- package/dist/components/Business/PropertyModal/mockData.d.ts +10 -0
- package/dist/components/Business/PropertyModal/propertyGroup.d.ts +4 -0
- package/dist/components/Business/columnSettingTable/components/TableSumComponent.d.ts +4 -0
- package/dist/components/Functional/QueryMutipleSelect/index.d.ts +5 -0
- package/dist/components/Functional/SearchSelect/utils.d.ts +18 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.esm.js +1635 -635
- package/dist/index.js +1632 -630
- package/package.json +4 -3
- package/src/components/Business/BsSulaQueryTable/setting.tsx +3 -3
- package/src/components/Business/BsSulaQueryTable/utils.tsx +6 -4
- package/src/components/Business/PropertyModal/index.less +58 -0
- package/src/components/Business/PropertyModal/index.md +33 -0
- package/src/components/Business/PropertyModal/index.tsx +271 -0
- package/src/components/Business/PropertyModal/mockData.ts +160 -0
- package/src/components/Business/PropertyModal/propertyGroup.tsx +205 -0
- package/src/components/Business/SearchSelect/BusinessUtils.tsx +60 -3
- package/src/components/Business/SearchSelect/index.md +4 -5
- package/src/components/Business/columnSettingTable/columnSetting.tsx +2 -1
- package/src/components/Business/columnSettingTable/components/TableSumComponent.tsx +25 -0
- package/src/components/Business/columnSettingTable/components/style.less +25 -0
- package/src/components/Business/columnSettingTable/index.tsx +3 -28
- package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +2 -27
- package/src/components/Functional/DataValidation/index.tsx +1 -0
- package/src/components/Functional/QueryMutipleSelect/index.less +117 -0
- package/src/components/Functional/QueryMutipleSelect/index.md +40 -0
- package/src/components/Functional/QueryMutipleSelect/index.tsx +242 -0
- package/src/components/Functional/SearchSelect/index.less +45 -7
- package/src/components/Functional/SearchSelect/index.tsx +85 -303
- package/src/components/Functional/SearchSelect/utils.tsx +439 -0
- package/src/components/Solution/RuleComponent/ruleFiled.js +93 -93
- package/src/index.ts +2 -0
- package/src/components/Functional/SearchSelect/utils.ts +0 -38
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import React, { useEffect, useState } from "react";
|
|
2
|
+
import { Checkbox } from 'antd';
|
|
3
|
+
import { CaretUpOutlined, CaretDownOutlined } from '@ant-design/icons';
|
|
4
|
+
import './index.less';
|
|
5
|
+
import { set } from "lodash";
|
|
6
|
+
|
|
7
|
+
interface PropertyItem {
|
|
8
|
+
name: string;
|
|
9
|
+
value: string;
|
|
10
|
+
isChecked: boolean;
|
|
11
|
+
isCommonUse: boolean;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
interface propertyInfoProps {
|
|
15
|
+
propertyName: string;
|
|
16
|
+
propertyCode: string;
|
|
17
|
+
detailList: Array<PropertyItem>;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const PropertyGroup = (props: any) => {
|
|
21
|
+
|
|
22
|
+
const {
|
|
23
|
+
propertyData,
|
|
24
|
+
handleProperyItemChange,
|
|
25
|
+
modalVisilbe,
|
|
26
|
+
itemValue,
|
|
27
|
+
} = props;
|
|
28
|
+
const [commonUseProperty, setCommonUseProperty] = useState<Array<PropertyItem> | any>([]); // 常用属性值
|
|
29
|
+
const [notCommonUseProperty, setNotCommonUseProperty] = useState<Array<PropertyItem> | any>([]); // 非常用属性值
|
|
30
|
+
const [indeterminate, setIndeterminate] = useState(false);
|
|
31
|
+
const [showNotCommon, setShowNotCommon] = useState(false);
|
|
32
|
+
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
const proItemValue = (itemValue.propertyList || []).find((item: any) => item.propertyCode === propertyData.propertyCode);
|
|
35
|
+
const checkedList = proItemValue?.detailList || [];
|
|
36
|
+
|
|
37
|
+
const proDetailList = JSON.parse(JSON.stringify( propertyData?.detailList || []));
|
|
38
|
+
proDetailList.forEach((item: any) => {
|
|
39
|
+
if (checkedList.some((checkItem: any) => checkItem.value === item.value)){
|
|
40
|
+
item.isChecked = true;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
const commonUseProperty = (proDetailList).filter((item: any) => item.isCommonUse);
|
|
44
|
+
|
|
45
|
+
const notCommonUseProperty = (proDetailList).filter((item: any) => !item.isCommonUse);
|
|
46
|
+
if (checkedList.some((item: any) => !item.isCommonUse)) {
|
|
47
|
+
setShowNotCommon(true)
|
|
48
|
+
}
|
|
49
|
+
setCommonUseProperty(commonUseProperty);
|
|
50
|
+
setNotCommonUseProperty(notCommonUseProperty);
|
|
51
|
+
}, [modalVisilbe])
|
|
52
|
+
|
|
53
|
+
const parseDataToParent = (comUse: any[], notComUse: any[]) => {
|
|
54
|
+
let choosedPropertyList = (comUse|| []).filter(item => item.isChecked);
|
|
55
|
+
if (showNotCommon) {
|
|
56
|
+
choosedPropertyList = [...choosedPropertyList, ...((notComUse|| []).filter(item => item.isChecked))]
|
|
57
|
+
}
|
|
58
|
+
handleProperyItemChange({
|
|
59
|
+
propertyCode: propertyData?.propertyCode,
|
|
60
|
+
propertyName: propertyData?.propertyName,
|
|
61
|
+
propertyId: propertyData?.propertyId,
|
|
62
|
+
isCommonUse: propertyData?.isCommonUse,
|
|
63
|
+
detailList: choosedPropertyList
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
const handleChangeAll = (e: any) => {
|
|
69
|
+
if (showNotCommon) {
|
|
70
|
+
notCommonUseProperty.map((item: any) => item.isChecked = e.target.checked);
|
|
71
|
+
setNotCommonUseProperty([...notCommonUseProperty])
|
|
72
|
+
}
|
|
73
|
+
commonUseProperty.map((item: any) => item.isChecked = e.target.checked);
|
|
74
|
+
parseDataToParent(commonUseProperty, notCommonUseProperty)
|
|
75
|
+
setCommonUseProperty([...commonUseProperty])
|
|
76
|
+
setIndeterminate(false)
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
const handleIndeterminate = (commonUseProperty: any[], notCommonUseProperty: any[]) => {
|
|
80
|
+
let checkList = [...commonUseProperty];
|
|
81
|
+
if (showNotCommon) {
|
|
82
|
+
checkList = [...checkList, ...notCommonUseProperty]
|
|
83
|
+
}
|
|
84
|
+
const indeterminate = !!checkList.filter(item => item.isChecked).length && checkList.filter(item => item.isChecked).length !== checkList.length;
|
|
85
|
+
setIndeterminate(indeterminate);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
const handleItemChecked = (e: any, item: any, type: number) => {
|
|
89
|
+
if (type === 1) { // 常用属性
|
|
90
|
+
(commonUseProperty || []).forEach((info: any) => {
|
|
91
|
+
if (info.value === item.value) {
|
|
92
|
+
info.isChecked = e.target.checked;
|
|
93
|
+
}
|
|
94
|
+
})
|
|
95
|
+
handleIndeterminate(commonUseProperty, notCommonUseProperty)
|
|
96
|
+
parseDataToParent(commonUseProperty, notCommonUseProperty)
|
|
97
|
+
setCommonUseProperty([...commonUseProperty])
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
if (type === 2) { // 非常用属性
|
|
101
|
+
(notCommonUseProperty || []).forEach((info: any) => {
|
|
102
|
+
if (info.value === item.value) {
|
|
103
|
+
info.isChecked = e.target.checked;
|
|
104
|
+
}
|
|
105
|
+
})
|
|
106
|
+
handleIndeterminate(commonUseProperty, notCommonUseProperty)
|
|
107
|
+
parseDataToParent(commonUseProperty, notCommonUseProperty)
|
|
108
|
+
setNotCommonUseProperty([...notCommonUseProperty])
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
const checkAllChecked = () => {
|
|
113
|
+
const checkData = showNotCommon ? [...commonUseProperty, ...notCommonUseProperty] : [...commonUseProperty];
|
|
114
|
+
return checkData.length && checkData.every(item => item.isChecked) ? true : false;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
return (
|
|
119
|
+
<div className={'propertyGroup_container'}>
|
|
120
|
+
<div className={'propertyGroup_container_left'}>
|
|
121
|
+
<Checkbox
|
|
122
|
+
checked={checkAllChecked()}
|
|
123
|
+
indeterminate={indeterminate}
|
|
124
|
+
onChange={handleChangeAll}
|
|
125
|
+
>
|
|
126
|
+
<div title={propertyData.name} className="propertyGroup_checkbox_container">{propertyData.propertyName}</div>
|
|
127
|
+
</Checkbox>
|
|
128
|
+
</div>
|
|
129
|
+
<div className={'propertyGroup_container_right'}>
|
|
130
|
+
{
|
|
131
|
+
(commonUseProperty || []).map((item: any) => (
|
|
132
|
+
<Checkbox
|
|
133
|
+
checked={item.isChecked}
|
|
134
|
+
key={item.value}
|
|
135
|
+
onChange={(e) => {
|
|
136
|
+
handleItemChecked(e, item, 1)
|
|
137
|
+
}}
|
|
138
|
+
>
|
|
139
|
+
<div title={item.name} className="propertyGroup_checkbox_container">
|
|
140
|
+
{item.name}
|
|
141
|
+
</div>
|
|
142
|
+
</Checkbox>
|
|
143
|
+
))
|
|
144
|
+
|
|
145
|
+
}
|
|
146
|
+
{
|
|
147
|
+
showNotCommon && (notCommonUseProperty || []).map((item: any) => (
|
|
148
|
+
<Checkbox
|
|
149
|
+
checked={item.isChecked}
|
|
150
|
+
key={item.value}
|
|
151
|
+
onChange={(e) => {
|
|
152
|
+
handleItemChecked(e, item, 2)
|
|
153
|
+
}}
|
|
154
|
+
>
|
|
155
|
+
<div title={item.name} className="propertyGroup_checkbox_container">
|
|
156
|
+
{item.name}
|
|
157
|
+
</div>
|
|
158
|
+
</Checkbox>
|
|
159
|
+
))
|
|
160
|
+
|
|
161
|
+
}
|
|
162
|
+
{
|
|
163
|
+
!!notCommonUseProperty.length && (
|
|
164
|
+
<div
|
|
165
|
+
style={{
|
|
166
|
+
width: '50px',
|
|
167
|
+
cursor: 'pointer',
|
|
168
|
+
color: '#005cff',
|
|
169
|
+
fontSize: '10px',
|
|
170
|
+
display: 'flex',
|
|
171
|
+
alignItems: 'center',
|
|
172
|
+
}}
|
|
173
|
+
onClick={() => {
|
|
174
|
+
setShowNotCommon(!showNotCommon);
|
|
175
|
+
handleIndeterminate(commonUseProperty, notCommonUseProperty)
|
|
176
|
+
}}
|
|
177
|
+
>
|
|
178
|
+
{
|
|
179
|
+
showNotCommon && (
|
|
180
|
+
<>
|
|
181
|
+
<CaretUpOutlined />
|
|
182
|
+
收起
|
|
183
|
+
</>
|
|
184
|
+
)
|
|
185
|
+
}
|
|
186
|
+
{
|
|
187
|
+
!showNotCommon && (
|
|
188
|
+
<>
|
|
189
|
+
<CaretDownOutlined />
|
|
190
|
+
展开
|
|
191
|
+
</>
|
|
192
|
+
)
|
|
193
|
+
}
|
|
194
|
+
</div>
|
|
195
|
+
)
|
|
196
|
+
}
|
|
197
|
+
</div>
|
|
198
|
+
</div>
|
|
199
|
+
);
|
|
200
|
+
};
|
|
201
|
+
|
|
202
|
+
export default React.memo(PropertyGroup, (props, nextProps) => {
|
|
203
|
+
if (props.modalVisilbe !== nextProps.modalVisilbe) return false;
|
|
204
|
+
return true;
|
|
205
|
+
});
|
|
@@ -15,6 +15,7 @@ export function commonFun (type?: string, prefixUrl: any, parentProps?:any) {
|
|
|
15
15
|
|
|
16
16
|
// 默认type === 'supplier' 供应商选择器
|
|
17
17
|
let requestConfig = {
|
|
18
|
+
init: true,
|
|
18
19
|
url: `${prefixUrl.selectPrefix}/supplier`,
|
|
19
20
|
filter: 'qp-name,code-orGroup,like', // 过滤参数
|
|
20
21
|
otherParams: {
|
|
@@ -295,7 +296,8 @@ export function commonFun (type?: string, prefixUrl: any, parentProps?:any) {
|
|
|
295
296
|
// 商品选择器sku
|
|
296
297
|
if(type === 'skuCommodity') {
|
|
297
298
|
requestConfig = {
|
|
298
|
-
url: `${prefixUrl.selectPrefix}/sku/doPageBySelect/
|
|
299
|
+
url: `${prefixUrl.selectPrefix}/sku/doPageBySelect/v4`,
|
|
300
|
+
method: 'post',
|
|
299
301
|
filter: 'skuCodeAndSkuName', // 过滤参数
|
|
300
302
|
searchStartLength: 4,
|
|
301
303
|
mappingTextField: 'name',
|
|
@@ -324,9 +326,48 @@ export function commonFun (type?: string, prefixUrl: any, parentProps?:any) {
|
|
|
324
326
|
...selectConfigProps,
|
|
325
327
|
}
|
|
326
328
|
tableSearchForm = [
|
|
327
|
-
{ name: 'qp-skuCode-in', label: 'SKU编码',
|
|
329
|
+
{ name: 'qp-skuCode-in', label: 'SKU编码', field: {
|
|
330
|
+
type:'multipleQuerySearchSelect',
|
|
331
|
+
props: {
|
|
332
|
+
selectProps: {
|
|
333
|
+
mode: "multiple",
|
|
334
|
+
placeholder: '请输入SKU编码查询'
|
|
335
|
+
},
|
|
336
|
+
requestConfig: {
|
|
337
|
+
url: '/items/sku//listNoPage/Simple',
|
|
338
|
+
filter: 'qp-skuCode,name-orGroup,like',
|
|
339
|
+
mappingTextField: 'name',
|
|
340
|
+
mappingValueField: 'skuCode',
|
|
341
|
+
sourceName: 'qp-skuCode-in',
|
|
342
|
+
specialBracket: true,
|
|
343
|
+
otherParams: {
|
|
344
|
+
'ownOrgSign': getCurrentTargetBgId(),
|
|
345
|
+
'ctl-count': true
|
|
346
|
+
}, // 默认参数
|
|
347
|
+
},
|
|
348
|
+
}
|
|
349
|
+
} },
|
|
328
350
|
{ name: 'qp-skuName-like', label: 'SKU名称' },
|
|
329
|
-
{ name: 'qp-itemCode-
|
|
351
|
+
{ name: 'qp-itemCode-in', label: 'SPU编码', field: {
|
|
352
|
+
type:'multipleQuerySearchSelect',
|
|
353
|
+
props: {
|
|
354
|
+
selectProps: {
|
|
355
|
+
placeholder: '请输入SPU编码查询'
|
|
356
|
+
},
|
|
357
|
+
requestConfig: {
|
|
358
|
+
url: '/items/item/listNoPage/Simple',
|
|
359
|
+
filter: 'qp-itemCode,name-orGroup,like',
|
|
360
|
+
mappingTextField: 'name',
|
|
361
|
+
mappingValueField: 'itemCode',
|
|
362
|
+
sourceName: 'qp-itemCode-in',
|
|
363
|
+
specialBracket: true,
|
|
364
|
+
otherParams: {
|
|
365
|
+
'ownOrgSign': getCurrentTargetBgId(),
|
|
366
|
+
'ctl-count': true
|
|
367
|
+
}, // 默认参数
|
|
368
|
+
},
|
|
369
|
+
}
|
|
370
|
+
} },
|
|
330
371
|
{ name: 'qp-eancode-in', label: '商品条码', field: {
|
|
331
372
|
type: 'multipleQueryInput',
|
|
332
373
|
props: {
|
|
@@ -365,6 +406,9 @@ export function commonFun (type?: string, prefixUrl: any, parentProps?:any) {
|
|
|
365
406
|
dropdownStyle: { maxHeight: 400, maxWidth: 100, overflow: 'auto' }
|
|
366
407
|
},
|
|
367
408
|
} },
|
|
409
|
+
{ name: 'UNIQUE_SPEC', label: '属性', field: {
|
|
410
|
+
type: 'proppertySelector',
|
|
411
|
+
} },
|
|
368
412
|
]
|
|
369
413
|
Promise.all([
|
|
370
414
|
loadSelectSource(`${prefixUrl.formSelectFix}/brand/queryBrandList`, {
|
|
@@ -784,6 +828,7 @@ export function commonFun (type?: string, prefixUrl: any, parentProps?:any) {
|
|
|
784
828
|
...selectConfigProps,
|
|
785
829
|
}
|
|
786
830
|
requestConfig = {
|
|
831
|
+
init: true,
|
|
787
832
|
url: `${prefixUrl.selectPrefix}/skuPropertyValue/list`,
|
|
788
833
|
filter: 'qp-value-like', // 过滤参数
|
|
789
834
|
mappingTextField: 'value',
|
|
@@ -1694,6 +1739,7 @@ export function commonFun (type?: string, prefixUrl: any, parentProps?:any) {
|
|
|
1694
1739
|
...selectConfigProps,
|
|
1695
1740
|
}
|
|
1696
1741
|
requestConfig = {
|
|
1742
|
+
init: true,
|
|
1697
1743
|
url: `${prefixUrl.selectPrefix}/inventoryOrg`,
|
|
1698
1744
|
filter: 'qp-name,code-orGroup,like', // 过滤参数
|
|
1699
1745
|
mappingTextField: 'name',
|
|
@@ -1726,6 +1772,7 @@ export function commonFun (type?: string, prefixUrl: any, parentProps?:any) {
|
|
|
1726
1772
|
...selectConfigProps,
|
|
1727
1773
|
}
|
|
1728
1774
|
requestConfig = {
|
|
1775
|
+
init: true,
|
|
1729
1776
|
url: `${prefixUrl.selectPrefix}/company`,
|
|
1730
1777
|
filter: 'qp-name,code-orGroup,like', // 过滤参数
|
|
1731
1778
|
mappingTextField: 'name',
|
|
@@ -1758,6 +1805,7 @@ export function commonFun (type?: string, prefixUrl: any, parentProps?:any) {
|
|
|
1758
1805
|
...selectConfigProps,
|
|
1759
1806
|
}
|
|
1760
1807
|
requestConfig = {
|
|
1808
|
+
init: true,
|
|
1761
1809
|
url: `${prefixUrl.selectPrefix}/platCompany`,
|
|
1762
1810
|
filter: 'qp-name,socialCreditCode-orGroup,like', // 过滤参数
|
|
1763
1811
|
mappingTextField: 'name',
|
|
@@ -1790,6 +1838,7 @@ export function commonFun (type?: string, prefixUrl: any, parentProps?:any) {
|
|
|
1790
1838
|
...selectConfigProps,
|
|
1791
1839
|
}
|
|
1792
1840
|
requestConfig = {
|
|
1841
|
+
init: true,
|
|
1793
1842
|
url: `${prefixUrl.selectPrefix}/employee/v2`,
|
|
1794
1843
|
filter: 'qp-employeeNumber,name-orGroup,like', // 过滤参数
|
|
1795
1844
|
mappingTextField: 'name',
|
|
@@ -1887,6 +1936,7 @@ export function commonFun (type?: string, prefixUrl: any, parentProps?:any) {
|
|
|
1887
1936
|
...selectConfigProps,
|
|
1888
1937
|
}
|
|
1889
1938
|
requestConfig = {
|
|
1939
|
+
init: true,
|
|
1890
1940
|
url: `${prefixUrl.selectPrefix}/employee/pageList/v2`,
|
|
1891
1941
|
filter: 'qp-username,name-orGroup,like', // 过滤参数
|
|
1892
1942
|
mappingTextField: 'name',
|
|
@@ -2008,6 +2058,7 @@ export function commonFun (type?: string, prefixUrl: any, parentProps?:any) {
|
|
|
2008
2058
|
const isLogisCompanyCodeSingleSearch = requestConfigProp?.fixedparameter?.some((i: any) => i == 'qp-logisCompanyCode-eq');
|
|
2009
2059
|
const logisCompanyCodeSingleSearchName = isLogisCompanyCodeSingleSearch ? 'qp-logisCompanyCode-eq' : 'qp-logisCompanyCode-in';
|
|
2010
2060
|
requestConfig = {
|
|
2061
|
+
init: true,
|
|
2011
2062
|
url: `${prefixUrl.selectPrefix}/deliveryMode`,
|
|
2012
2063
|
filter: 'qp-name,code-orGroup,like', // 过滤参数
|
|
2013
2064
|
mappingTextField: 'name',
|
|
@@ -2135,6 +2186,7 @@ export function commonFun (type?: string, prefixUrl: any, parentProps?:any) {
|
|
|
2135
2186
|
...selectConfigProps,
|
|
2136
2187
|
}
|
|
2137
2188
|
requestConfig = {
|
|
2189
|
+
init: true,
|
|
2138
2190
|
url: `${prefixUrl.selectPrefix}/ruleTemplate`,
|
|
2139
2191
|
filter: 'qp-name,code-orGroup,like', // 过滤参数
|
|
2140
2192
|
mappingTextField: 'name',
|
|
@@ -2210,6 +2262,7 @@ export function commonFun (type?: string, prefixUrl: any, parentProps?:any) {
|
|
|
2210
2262
|
...selectConfigProps,
|
|
2211
2263
|
}
|
|
2212
2264
|
requestConfig = {
|
|
2265
|
+
init: true,
|
|
2213
2266
|
url: `${prefixUrl.selectPrefix}/role`,
|
|
2214
2267
|
filter: 'qp-name,code-orGroup,like', // 过滤参数
|
|
2215
2268
|
mappingTextField: 'name',
|
|
@@ -2308,6 +2361,7 @@ export function commonFun (type?: string, prefixUrl: any, parentProps?:any) {
|
|
|
2308
2361
|
...selectConfigProps,
|
|
2309
2362
|
}
|
|
2310
2363
|
requestConfig = {
|
|
2364
|
+
init: true,
|
|
2311
2365
|
url: `${prefixUrl.selectPrefix}/channelInfo`,
|
|
2312
2366
|
filter: 'qp-name,code-orGroup,like', // 过滤参数
|
|
2313
2367
|
mappingTextField: 'name',
|
|
@@ -2398,6 +2452,7 @@ export function commonFun (type?: string, prefixUrl: any, parentProps?:any) {
|
|
|
2398
2452
|
...selectConfigProps,
|
|
2399
2453
|
}
|
|
2400
2454
|
requestConfig = {
|
|
2455
|
+
init: true,
|
|
2401
2456
|
url: `${prefixUrl.selectPrefix}/orgViewNode/common/pageList`,
|
|
2402
2457
|
filter: 'qp-name-like', // 过滤参数
|
|
2403
2458
|
mappingTextField: 'name',
|
|
@@ -2531,6 +2586,7 @@ export function commonFun (type?: string, prefixUrl: any, parentProps?:any) {
|
|
|
2531
2586
|
...selectConfigProps,
|
|
2532
2587
|
}
|
|
2533
2588
|
requestConfig = {
|
|
2589
|
+
init: true,
|
|
2534
2590
|
url: `${prefixUrl.selectPrefix}/person`,
|
|
2535
2591
|
filter: 'qp-code,name-orGroup,like', // 过滤参数
|
|
2536
2592
|
mappingTextField: 'name',
|
|
@@ -2687,6 +2743,7 @@ export function commonFun (type?: string, prefixUrl: any, parentProps?:any) {
|
|
|
2687
2743
|
...selectConfigProps,
|
|
2688
2744
|
}
|
|
2689
2745
|
requestConfig = {
|
|
2746
|
+
init: true,
|
|
2690
2747
|
url: `${prefixUrl.selectPrefix}/priceType`,
|
|
2691
2748
|
filter: 'qp-code,name-orGroup,like', // 过滤参数
|
|
2692
2749
|
mappingTextField: 'name',
|
|
@@ -54,7 +54,7 @@ export default () => {
|
|
|
54
54
|
setValue(value)
|
|
55
55
|
},
|
|
56
56
|
selectBusinessType: 'supplier',
|
|
57
|
-
disabled: true,
|
|
57
|
+
// disabled: true,
|
|
58
58
|
};
|
|
59
59
|
|
|
60
60
|
const props2 = {
|
|
@@ -426,7 +426,7 @@ export default () => {
|
|
|
426
426
|
|
|
427
427
|
useEffect(() => {
|
|
428
428
|
if(tabKey === 'multiple') {
|
|
429
|
-
setValue([
|
|
429
|
+
setValue([])
|
|
430
430
|
}
|
|
431
431
|
},[tabKey])
|
|
432
432
|
|
|
@@ -448,7 +448,7 @@ export default () => {
|
|
|
448
448
|
// },
|
|
449
449
|
// prefixUrl: { selectPrefix: '/bop/api', formSelectFix: '/bop/api' },
|
|
450
450
|
selectProps,
|
|
451
|
-
|
|
451
|
+
labelInValue: true,
|
|
452
452
|
selectBusinessType: 'physicalWarehouse',
|
|
453
453
|
};
|
|
454
454
|
|
|
@@ -520,7 +520,7 @@ export default () => {
|
|
|
520
520
|
// needStatusSearch: true
|
|
521
521
|
// },
|
|
522
522
|
selectProps,
|
|
523
|
-
selectBusinessType: '
|
|
523
|
+
selectBusinessType: 'brand',
|
|
524
524
|
};
|
|
525
525
|
|
|
526
526
|
const onTabChange = (key) => {
|
|
@@ -1707,7 +1707,6 @@ export default () => {
|
|
|
1707
1707
|
}
|
|
1708
1708
|
const selectPropsMultiple = {
|
|
1709
1709
|
mode: 'multiple',
|
|
1710
|
-
maxTagCount: 1,
|
|
1711
1710
|
}
|
|
1712
1711
|
|
|
1713
1712
|
const [ tabKey, setTabKey ] = useState('single')
|
|
@@ -20,6 +20,7 @@ import request from '@/utils/request';
|
|
|
20
20
|
import './index.less';
|
|
21
21
|
import ENUM from '@/utils/enumConfig';
|
|
22
22
|
import { handleRequestUrl, judgeIsRequestSuccess } from '@/utils/requestUtils';
|
|
23
|
+
import { renderToString } from '../BsSulaQueryTable/utils';
|
|
23
24
|
|
|
24
25
|
interface SortTableProps {
|
|
25
26
|
[propName: string]: any;
|
|
@@ -644,7 +645,7 @@ class SortableTable extends React.Component<SortTableProps> {
|
|
|
644
645
|
}: any = this.state;
|
|
645
646
|
|
|
646
647
|
let seatchDataSource = dataSource.filter(
|
|
647
|
-
(item: any) => item?.title?.indexOf(searchDataSource || '') > -1,
|
|
648
|
+
(item: any) => renderToString(item?.title)?.indexOf(searchDataSource || '') > -1,
|
|
648
649
|
);
|
|
649
650
|
|
|
650
651
|
return (
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React, { Fragment } from "react";
|
|
2
|
+
import { Typography } from 'antd';
|
|
3
|
+
import './style.less';
|
|
4
|
+
|
|
5
|
+
//表格底部 金额总计
|
|
6
|
+
export default ({
|
|
7
|
+
summary
|
|
8
|
+
}: any) => {
|
|
9
|
+
const { Text } = Typography;
|
|
10
|
+
|
|
11
|
+
return (
|
|
12
|
+
<Fragment>
|
|
13
|
+
<div className="table_sum_wrapper">
|
|
14
|
+
<div className='table-bssula-summary'>
|
|
15
|
+
{summary.map((item: any) => (
|
|
16
|
+
<Text type='danger'>
|
|
17
|
+
{item.label}: <span className='table-bssula-summary-count'>{item.count || 0}</span>
|
|
18
|
+
</Text>
|
|
19
|
+
))}
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
<div className="sum_right_line"></div>
|
|
23
|
+
</Fragment>
|
|
24
|
+
)
|
|
25
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
|
|
2
|
+
.table_sum_wrapper{
|
|
3
|
+
position: absolute;
|
|
4
|
+
overflow: hidden;
|
|
5
|
+
width: 80%;
|
|
6
|
+
height: 26px;
|
|
7
|
+
bottom: 0;
|
|
8
|
+
.table-bssula-summary{
|
|
9
|
+
height: 40px;
|
|
10
|
+
right: 0;
|
|
11
|
+
bottom: -20px;
|
|
12
|
+
white-space: nowrap;
|
|
13
|
+
overflow-x: auto;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
.sum_right_line {
|
|
17
|
+
position: absolute;
|
|
18
|
+
right: 20%;
|
|
19
|
+
bottom: 0;
|
|
20
|
+
width: 16px;
|
|
21
|
+
height: 26px;
|
|
22
|
+
opacity: 0.32;
|
|
23
|
+
transform: scaleX(-1);
|
|
24
|
+
background-image: linear-gradient(270deg, #ffffff00 0%, #A4A4A4 100%);
|
|
25
|
+
}
|
|
@@ -6,6 +6,7 @@ import { getItemDefaultWidth, getShowColumns, handleTextOverflow } from './utils
|
|
|
6
6
|
import { noEmptyArray } from './utils';
|
|
7
7
|
import ENUM from '@/utils/enumConfig';
|
|
8
8
|
import { handleAntdColumnsSpecialParams } from '@/utils/utils';
|
|
9
|
+
import TableSumComponent from './components/TableSumComponent';
|
|
9
10
|
const { Text } = Typography;
|
|
10
11
|
export default class ColumnSettingTable extends React.Component {
|
|
11
12
|
state: any;
|
|
@@ -230,34 +231,8 @@ export default class ColumnSettingTable extends React.Component {
|
|
|
230
231
|
}
|
|
231
232
|
/>
|
|
232
233
|
{Array.isArray(summary) && (
|
|
233
|
-
|
|
234
|
-
|
|
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
|
-
)}
|
|
234
|
+
<TableSumComponent summary={summary} />
|
|
235
|
+
)}
|
|
261
236
|
</div >
|
|
262
237
|
)
|
|
263
238
|
}
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
} from 'antd';
|
|
11
11
|
import ENUM from '@/utils/enumConfig';
|
|
12
12
|
import { handleBssulaColumnsSpecialParams, parseWidth, uuid } from '@/utils/utils';
|
|
13
|
+
import TableSumComponent from './components/TableSumComponent';
|
|
13
14
|
const { Text } = Typography;
|
|
14
15
|
|
|
15
16
|
export default class ColumnSettingSulaTable extends React.Component {
|
|
@@ -330,33 +331,7 @@ export default class ColumnSettingSulaTable extends React.Component {
|
|
|
330
331
|
}
|
|
331
332
|
/>
|
|
332
333
|
{Array.isArray(summary) && (
|
|
333
|
-
|
|
334
|
-
<div
|
|
335
|
-
className='table-bssula-summary'
|
|
336
|
-
style={{
|
|
337
|
-
right: '20%',
|
|
338
|
-
bottom: 0,
|
|
339
|
-
whiteSpace: 'nowrap',
|
|
340
|
-
overflowX: 'auto',
|
|
341
|
-
}}
|
|
342
|
-
>
|
|
343
|
-
{summary.map(item => (
|
|
344
|
-
<Text type='danger'>
|
|
345
|
-
{item.label}: <span className='table-bssula-summary-count'>{item.count || 0}</span>
|
|
346
|
-
</Text>
|
|
347
|
-
))}
|
|
348
|
-
</div>
|
|
349
|
-
<div style={{
|
|
350
|
-
width: '16px',
|
|
351
|
-
height: '26px',
|
|
352
|
-
opacity: 0.32,
|
|
353
|
-
transform: 'scaleX(-1)',
|
|
354
|
-
backgroundImage:'linear-gradient(270deg, #ffffff00 0%, #A4A4A4 100%)',
|
|
355
|
-
right: '20%',
|
|
356
|
-
position: 'absolute',
|
|
357
|
-
bottom: 0,
|
|
358
|
-
}}></div>
|
|
359
|
-
</>
|
|
334
|
+
<TableSumComponent summary={summary} />
|
|
360
335
|
)}
|
|
361
336
|
</div >
|
|
362
337
|
)
|