@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.
Files changed (35) hide show
  1. package/dist/components/Business/BsSulaQueryTable/utils.d.ts +1 -1
  2. package/dist/components/Business/PropertyModal/index.d.ts +23 -0
  3. package/dist/components/Business/PropertyModal/mockData.d.ts +10 -0
  4. package/dist/components/Business/PropertyModal/propertyGroup.d.ts +4 -0
  5. package/dist/components/Business/columnSettingTable/components/TableSumComponent.d.ts +4 -0
  6. package/dist/components/Functional/QueryMutipleSelect/index.d.ts +5 -0
  7. package/dist/components/Functional/SearchSelect/utils.d.ts +18 -1
  8. package/dist/index.d.ts +2 -0
  9. package/dist/index.esm.js +1635 -635
  10. package/dist/index.js +1632 -630
  11. package/package.json +4 -3
  12. package/src/components/Business/BsSulaQueryTable/setting.tsx +3 -3
  13. package/src/components/Business/BsSulaQueryTable/utils.tsx +6 -4
  14. package/src/components/Business/PropertyModal/index.less +58 -0
  15. package/src/components/Business/PropertyModal/index.md +33 -0
  16. package/src/components/Business/PropertyModal/index.tsx +271 -0
  17. package/src/components/Business/PropertyModal/mockData.ts +160 -0
  18. package/src/components/Business/PropertyModal/propertyGroup.tsx +205 -0
  19. package/src/components/Business/SearchSelect/BusinessUtils.tsx +60 -3
  20. package/src/components/Business/SearchSelect/index.md +4 -5
  21. package/src/components/Business/columnSettingTable/columnSetting.tsx +2 -1
  22. package/src/components/Business/columnSettingTable/components/TableSumComponent.tsx +25 -0
  23. package/src/components/Business/columnSettingTable/components/style.less +25 -0
  24. package/src/components/Business/columnSettingTable/index.tsx +3 -28
  25. package/src/components/Business/columnSettingTable/sulaSettingTable.tsx +2 -27
  26. package/src/components/Functional/DataValidation/index.tsx +1 -0
  27. package/src/components/Functional/QueryMutipleSelect/index.less +117 -0
  28. package/src/components/Functional/QueryMutipleSelect/index.md +40 -0
  29. package/src/components/Functional/QueryMutipleSelect/index.tsx +242 -0
  30. package/src/components/Functional/SearchSelect/index.less +45 -7
  31. package/src/components/Functional/SearchSelect/index.tsx +85 -303
  32. package/src/components/Functional/SearchSelect/utils.tsx +439 -0
  33. package/src/components/Solution/RuleComponent/ruleFiled.js +93 -93
  34. package/src/index.ts +2 -0
  35. 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/v3`,
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编码',type:'multipleQueryInput' },
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-like', label: '外部SPU编码' },
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(['1540295745870573570', '1540173160826613762'])
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
- // labelInValue: true,
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: 'realWarehouse',
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
- <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
- )}
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
  )
@@ -741,6 +741,7 @@ class DataValidation extends React.Component {
741
741
  >
742
742
  <ExclamationCircleOutlined />
743
743
  </Tooltip>
744
+ <div style={{color: 'red'}}>(鼠标移入感叹号图标查看导入使用说明)</div>
744
745
  </Space>
745
746
  <Space>
746
747
  {!notExcelImport && (