fan-standard-comp 4.1.2 → 4.1.4

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 (79) hide show
  1. package/dist/fan-standard-comp.min.css +1 -1
  2. package/dist/fan-standard-comp.min.js +1 -1
  3. package/es/CompositeTable/index.d.ts +0 -0
  4. package/es/CompositeTable/index.js +211 -0
  5. package/es/CompositeTable/index.style.d.ts +5 -0
  6. package/es/CompositeTable/index.style.js +27 -0
  7. package/es/FormComp/FieldComponent/ExtensionField.d.ts +2 -2
  8. package/es/FormComp/FieldComponent/ExtensionField.js +1 -1
  9. package/es/FormComp/FieldComponent/index.js +2 -6
  10. package/es/StandardContent/ContentHeader.js +17 -25
  11. package/es/StandardContent/SubfieldContent.js +12 -9
  12. package/es/StandardContent/WrapperContent.js +9 -8
  13. package/es/StandardContent/styles/Subfield.js +18 -5
  14. package/es/StandardContent/styles/Wrapper.js +13 -2
  15. package/es/StandardContent/styles/index.less +8 -2
  16. package/es/StandardFilter/index.js +52 -28
  17. package/es/StandardFilter/style/FilterStyle.js +3 -2
  18. package/es/StandardFilter/style/index.less +7 -0
  19. package/es/StandardForm/index.js +3 -1
  20. package/es/StandardTable/index.d.ts +4 -28
  21. package/es/StandardTable/index.js +65 -5
  22. package/es/StandardTable/types.d.ts +33 -0
  23. package/es/StandardTable/types.js +1 -0
  24. package/es/StandardTablePro/index.d.ts +5 -7
  25. package/es/StandardTablePro/index.js +246 -84
  26. package/es/StandardTablePro/types.d.ts +29 -0
  27. package/es/StandardTablePro/types.js +1 -0
  28. package/es/StandardTablePro/useFetchData.d.ts +0 -0
  29. package/es/StandardTablePro/useFetchData.js +275 -0
  30. package/es/StandardTablePro/utils.d.ts +3 -0
  31. package/es/StandardTablePro/utils.js +49 -0
  32. package/es/index.d.ts +2 -0
  33. package/es/index.js +3 -0
  34. package/es/types.d.ts +1 -0
  35. package/es/types.js +1 -0
  36. package/es/utils/ValueFormat.d.ts +1 -1
  37. package/es/utils/ValueFormat.js +42 -27
  38. package/es/utils/getParentNodes.js +1 -1
  39. package/es/utils/urlUtils.d.ts +6 -0
  40. package/es/utils/urlUtils.js +26 -0
  41. package/lib/CompositeTable/index.d.ts +0 -0
  42. package/lib/CompositeTable/index.js +212 -0
  43. package/lib/CompositeTable/index.style.d.ts +5 -0
  44. package/lib/CompositeTable/index.style.js +33 -0
  45. package/lib/FormComp/FieldComponent/ExtensionField.d.ts +2 -2
  46. package/lib/FormComp/FieldComponent/ExtensionField.js +1 -1
  47. package/lib/FormComp/FieldComponent/index.js +2 -6
  48. package/lib/StandardContent/ContentHeader.js +16 -24
  49. package/lib/StandardContent/SubfieldContent.js +12 -9
  50. package/lib/StandardContent/WrapperContent.js +9 -8
  51. package/lib/StandardContent/styles/Subfield.js +18 -5
  52. package/lib/StandardContent/styles/Wrapper.js +13 -2
  53. package/lib/StandardContent/styles/index.less +8 -2
  54. package/lib/StandardFilter/index.js +52 -28
  55. package/lib/StandardFilter/style/FilterStyle.js +3 -2
  56. package/lib/StandardFilter/style/index.less +7 -0
  57. package/lib/StandardForm/index.js +3 -1
  58. package/lib/StandardTable/index.d.ts +4 -28
  59. package/lib/StandardTable/index.js +64 -4
  60. package/lib/StandardTable/types.d.ts +33 -0
  61. package/lib/StandardTable/types.js +5 -0
  62. package/lib/StandardTablePro/index.d.ts +5 -7
  63. package/lib/StandardTablePro/index.js +244 -82
  64. package/lib/StandardTablePro/types.d.ts +29 -0
  65. package/lib/StandardTablePro/types.js +5 -0
  66. package/lib/StandardTablePro/useFetchData.d.ts +0 -0
  67. package/lib/StandardTablePro/useFetchData.js +276 -0
  68. package/lib/StandardTablePro/utils.d.ts +3 -0
  69. package/lib/StandardTablePro/utils.js +55 -0
  70. package/lib/index.d.ts +2 -0
  71. package/lib/index.js +20 -0
  72. package/lib/types.d.ts +1 -0
  73. package/lib/types.js +16 -0
  74. package/lib/utils/ValueFormat.d.ts +1 -1
  75. package/lib/utils/ValueFormat.js +42 -29
  76. package/lib/utils/getParentNodes.js +1 -1
  77. package/lib/utils/urlUtils.d.ts +6 -0
  78. package/lib/utils/urlUtils.js +27 -3
  79. package/package.json +2 -2
File without changes
@@ -0,0 +1,211 @@
1
+ /*
2
+ /!**
3
+ * 组合组件;配置"筛选StandardFilter"、"列表StandardTable"
4
+ * 不加业务相关的功能
5
+ * @param {Object} dataSource 数据源
6
+ * @value {Array} list 列表数据
7
+ * @value {Object} pagination 页码配置
8
+ * @param {Function} request 接口请求数据源
9
+ * @param {Object} params 请求参数:页码、筛选条件等
10
+ * @param {Object} defaultParams 默认参数,在筛选重置的情况下不会更改
11
+ * request:
12
+ * 1、列表接口数据
13
+ * *!/
14
+ import React, { ReactNode, forwardRef, useEffect, useState, useCallback, useImperativeHandle, useMemo } from 'react'
15
+ import { StandardFilter, StandardTable, ButtonGroup, } from "fan-standard-comp";
16
+ import { useStyles } from './index.style'
17
+ import { commonUse } from "@/data";
18
+ import { Spin } from 'antd';
19
+ import dayjs from "dayjs";
20
+
21
+ interface FilterFormProps {
22
+ formItemGroup: any[]
23
+ buttonGroup?: any[] | ReactNode
24
+ syncToUrl?: (values) => void // 从url上取值后进行转换
25
+ dateFormatter?: 'dayjs' | 'string' // 日期类的控件是否将其格式转换
26
+ }
27
+
28
+ interface CompositeTableProps {
29
+ dataSource?: any // 列表数据静态数据来源
30
+ request?: Function // 接口数据
31
+ params?: any // 请求参数/页码
32
+ defaultParams?: any // 默认的参数,在筛选重置的情况下不会更改
33
+ formItemGroup?: any[]
34
+ buttonGroup?: any[] | ReactNode
35
+ commonUse: any
36
+ children?: ReactNode
37
+ onChange?: (targetKey: string, data?: any) => void // 页码或表单触发更新
38
+ formatForm?: (fields: any) => void; // 转换筛选表单值
39
+ page?: number | string, // 页码
40
+ size?: number | string // 单页数量
41
+ getTableData?: Function // 获取表格数据
42
+ form?: FilterFormProps // 筛选表单
43
+ }
44
+
45
+
46
+ const CompositeTable = forwardRef((props: CompositeTableProps, ref) => {
47
+ const {
48
+ dataSource, buttonGroup = [], params = {}, defaultParams = {}, columns, children, request,
49
+ onChange,
50
+ getTableData,
51
+ form,
52
+ title
53
+ } = props;
54
+ const {
55
+ formItemGroup = [], syncToUrl,
56
+ } = form
57
+ const { styles, cx } = useStyles();
58
+ const [resDataSource, setResDataSource] = useState({
59
+ list: [],
60
+ pagination: {},
61
+ keywords: {}
62
+ })
63
+ const [formKeywords, setFormKeywords] = useState({})
64
+ const [queryLoading, setQueryLoading] = useState(false)
65
+ const [searchLoading, setSearchLoading] = useState(false)
66
+ const [filterForm, setFilterForm] = useState({
67
+ values: {},
68
+ form: undefined,
69
+ })
70
+ const paramsKey = useMemo(() => {
71
+ return params
72
+ }, [params])
73
+
74
+ const localPagination = {page:1, size: 10} // 基础页码
75
+
76
+ // ref 的转发
77
+ useImperativeHandle(ref, () => {
78
+ return {
79
+ ...filterForm,
80
+ dataSource: resDataSource,
81
+ setDataSource: setResDataSource,
82
+ reload: (filter) => loadData('refresh', {}, filter) // 更新列表
83
+ }
84
+ });
85
+ /!**
86
+ * 加载数据方法
87
+ * @param {string} updateKey 触发列表位置
88
+ * @param {Object} pagination 分页选项器
89
+ * @param {Object} filters 过滤条件
90
+ * @param {Object} sorter 排序条件
91
+ *!/
92
+ const loadData: any = useCallback(async (updateKey: string, pagination?: any = {}, filters?: any = {}, sorter?: any = {},
93
+ ) => {
94
+ if (updateKey !== 'init') {
95
+ handleChange(updateKey, updateKey === 'reset' ? {} : { ...pagination, ...filters, ...sorter })
96
+ }
97
+ if (request) {
98
+ setQueryLoading(true)
99
+ let parameter = Object.assign(
100
+ { ...defaultParams },
101
+ // updateKey === 'init' ? { ...params } : {}, // 重置条件下,会清空params
102
+ syncToUrl ? syncToUrl(params) : { ...params },
103
+ {
104
+ page: pagination?.page || params?.page || localPagination.page,
105
+ size: pagination?.size || params?.size || localPagination.size
106
+ },
107
+ {
108
+ ...filters
109
+ },
110
+ // 排序与筛选待定
111
+ // (sorter && sorter.field && {
112
+ // sortField: sorter.field
113
+ // }) || {},
114
+ // (sorter && sorter.order && {
115
+ // sortOrder: sorter.order
116
+ // }) || {},
117
+ )
118
+ const response = await request(parameter)
119
+ setQueryLoading(false)
120
+ setSearchLoading(false)
121
+ // 转换列表数据
122
+ if (response.code === '200') {
123
+ setResDataSource(Object.assign({
124
+ list: response?.data?.records,
125
+ total: response?.data?.total || 0,
126
+ pagination: {
127
+ total: response?.data?.total || 0,
128
+ current: response?.data?.current || commonUse.basePagination.page,
129
+ pageSize: response?.data?.pageSize || commonUse.basePagination.size,
130
+ },
131
+ keywords: parameter || {}, // 关键字搜索字段
132
+ }),)
133
+ } else {
134
+ setResDataSource({
135
+ list: [],
136
+ pagination: {},
137
+ keywords: {}
138
+ })
139
+ }
140
+ } else if (dataSource) {
141
+ setResDataSource(dataSource)
142
+ }
143
+ }, [params, formItemGroup, dataSource, request])
144
+ // console.log('resDataSource', resDataSource.keywords)
145
+ useEffect(() => {
146
+ getTableData && getTableData(resDataSource)
147
+ }, [resDataSource])
148
+ const fetchData = () => {
149
+
150
+ }
151
+ const handleChange = (targetKey: string, data?: any) => {
152
+ onChange && onChange(targetKey, data)
153
+ }
154
+ useEffect(() => {
155
+ setFormKeywords(syncToUrl ? syncToUrl({ ...params }) : { ...params })
156
+ }, [params, syncToUrl])
157
+ useEffect(() => {
158
+ loadData('init')
159
+ }, [])
160
+ return <div className={cx('f-composite-container', styles.CompositeContainerStyle)}>
161
+ <StandardFilter {...form}
162
+ formItemGroup={formItemGroup}
163
+ gridLayout={'horizontal'} // 表单组与按钮组的排版
164
+ formLayout={'horizontal'} // 表单控件组的排版
165
+ min={100}
166
+ itemGroupConfig={{
167
+ columnCount: 4
168
+ }}
169
+ getFormFields={(fields, form) => {
170
+ setFilterForm({ values: fields, form: form?.current })
171
+ }}
172
+ initialValues={formKeywords}
173
+ onFilterSearch={(fields) => {
174
+ setSearchLoading(true)
175
+ formItemGroup.forEach(fItem => {
176
+ if (fItem.searchTransform && fields[fItem.filedName]) {
177
+ // 筛选参数转换
178
+ let trans = fItem.searchTransform(fields[fItem.filedName])
179
+ delete fields[fItem.filedName] // 提交时,删除有格式转换的字段名
180
+ fields = { ...fields, ...trans }
181
+ }
182
+ })
183
+ loadData('search', { ...commonUse.basePagination }, fields)
184
+ }}
185
+ onFilterReset={() => {
186
+ loadData('reset', {page: 1,}, {})
187
+ }}
188
+ className={cx('f-composite-filter', styles.CompositeFilterStyle)}
189
+ confirmButtonProps={{
190
+ loading: searchLoading
191
+ }}
192
+ // dateFormatter={'string'}
193
+ />
194
+ <StandardTable data={resDataSource} columns={columns}
195
+ title={title}
196
+ buttonGroup={buttonGroup}
197
+ className={cx('f-composite-table', styles.CompositeTableStyle)}
198
+ onChange={(pagination, filters, sorter,) => {
199
+ // console.log(' pagination, filters, sorter', pagination, filters, sorter)
200
+ loadData('table', {
201
+ page: pagination.current,
202
+ size: pagination.pageSize
203
+ }, filters, sorter)
204
+ }}
205
+ />
206
+ {children}
207
+ </div>
208
+ })
209
+
210
+ export default CompositeTable
211
+ */
@@ -0,0 +1,5 @@
1
+ export declare const useStyles: (props?: unknown) => import("antd-style").ReturnStyles<{
2
+ CompositeContainerStyle: import("antd-style").SerializedStyles;
3
+ CompositeFilterStyle: import("antd-style").SerializedStyles;
4
+ CompositeTableStyle: import("antd-style").SerializedStyles;
5
+ }>;
@@ -0,0 +1,27 @@
1
+ var _templateObject, _templateObject2, _templateObject3, _templateObject4;
2
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
3
+ import { createStyles } from 'antd-style';
4
+ export var useStyles = createStyles(function (_ref) {
5
+ var token = _ref.token,
6
+ css = _ref.css,
7
+ cx = _ref.cx;
8
+ var commonCard = css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n border-radius: ", "px;\n padding: ", "px;\n "])), token.borderRadiusLG, token.paddingLG);
9
+ return {
10
+ CompositeContainerStyle: css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n overflow-x: hidden;\n "]))),
11
+ CompositeFilterStyle: css(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n .filter-form {\n padding: ", "px;\n padding-bottom: 0;\n background-color: ", ";\n //margin-bottom: ", "px;\n //border-radius: ", "px;\n }\n\n .filter-btns {\n padding: ", "px;\n padding-bottom: 0;\n // border-top-left-radius: ", "px;\n // border-top-right-radius: ", "px;\n background-color: ", ";\n }\n "])), token.paddingMD, token.colorBgBase, token.marginMD, token.borderRadiusLG, token.paddingMD, token.borderRadiusLG, token.borderRadiusLG, token.colorBgBase),
12
+ // CompositeButtonGroupStyle: css`
13
+ // padding: ${token.paddingMD}px;
14
+ // background-color: ${token.colorBgBase};
15
+ // border-top-left-radius: ${token.borderRadiusLG}px;
16
+ // border-top-right-radius: ${token.borderRadiusLG}px;
17
+ // display: flex;
18
+ // .f-composite-button-group-grid {
19
+ // flex: 1;
20
+ // &.align-right{
21
+ // text-align: right;
22
+ // }
23
+ // }
24
+ // `,
25
+ CompositeTableStyle: css(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n &.f-composite-table {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n // padding: ", "px;\n // padding-top: 0;\n .spec-pagination {\n background-color: ", ";\n //justify-content: flex-start;\n }\n }\n "])), token.paddingMD, token.colorBgBase)
26
+ };
27
+ });
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
- declare const ExtensionField: React.ForwardRefExoticComponent<Omit<any, "ref"> & React.RefAttributes<unknown>>;
3
- export default ExtensionField;
2
+ declare const _default: React.MemoExoticComponent<React.ForwardRefExoticComponent<Omit<any, "ref"> & React.RefAttributes<unknown>>>;
3
+ export default _default;
@@ -15,4 +15,4 @@ var ExtensionField = /*#__PURE__*/forwardRef(function (props, ref) {
15
15
  var MatchTypeComponent = (MatchType === null || MatchType === void 0 ? void 0 : MatchType.component) || null;
16
16
  return typeof MatchTypeComponent === 'function' ? /*#__PURE__*/React.createElement(MatchTypeComponent, fieldProps) : MatchTypeComponent;
17
17
  });
18
- export default ExtensionField;
18
+ export default /*#__PURE__*/React.memo(ExtensionField);
@@ -141,9 +141,7 @@ var FieldComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
141
141
  compContent = viewOnly ? value || 0 : /*#__PURE__*/React.createElement(InputNumber, _extends({
142
142
  placeholder: fieldStatus === 'disabled' || defaultProps.disabled ? '' : defaultProps.placeholder || placeholder || '请输入数字'
143
143
  }, sortLimitRule, defaultProps, {
144
- style: _objectSpread(_objectSpread({}, defaultStyle), {}, {
145
- width: '120px'
146
- }, defaultProps.style)
144
+ style: _objectSpread(_objectSpread({}, defaultStyle), defaultProps.style) // 去掉width: '120px',
147
145
  }));
148
146
  break;
149
147
  case 'select':
@@ -282,9 +280,7 @@ var FieldComponent = /*#__PURE__*/React.forwardRef(function (props, ref) {
282
280
  type: type,
283
281
  protoConfig: protoConfig
284
282
  }) : /*#__PURE__*/React.createElement(TimePicker, _extends({}, defaultProps, {
285
- style: _objectSpread(_objectSpread(_objectSpread({}, defaultStyle), defaultProps.style), {}, {
286
- width: 'auto'
287
- })
283
+ style: _objectSpread(_objectSpread({}, defaultStyle), defaultProps.style) // 去掉 width: 'auto'
288
284
  }));
289
285
  break;
290
286
  case 'timePickerRange':
@@ -11,46 +11,33 @@ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len
11
11
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
12
12
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
13
13
  import React, { forwardRef, useImperativeHandle, useRef, useEffect, useState } from 'react';
14
- import { Breadcrumb, Button } from "antd";
14
+ import { Breadcrumb, Button, Tabs } from "antd";
15
15
  import classNames from 'classnames';
16
16
  import useStyle from "./styles/Header";
17
17
  import SpecIcon from "../SpecIcon/index";
18
- var Child = /*#__PURE__*/forwardRef(function (props, ref) {
19
- var _useState = useState(0),
20
- _useState2 = _slicedToArray(_useState, 2),
21
- count = _useState2[0],
22
- setCount = _useState2[1];
23
- useImperativeHandle(ref, function () {
24
- return {
25
- getCurrentCount: function getCurrentCount() {
26
- return count;
27
- }
28
- };
29
- }, [count]);
30
- return /*#__PURE__*/React.createElement("div", null, "Count: ", count);
31
- });
32
18
  var ContentHeader = /*#__PURE__*/forwardRef(function (props, ref) {
33
- var _breadcrumb$items;
19
+ var _breadcrumb$items, _tabs$items;
34
20
  var breadcrumb = props.breadcrumb,
35
21
  className = props.className,
36
22
  title = props.title,
37
23
  getClientHeight = props.getClientHeight,
38
24
  extra = props.extra,
39
25
  prefix = props.prefix,
40
- goBack = props.goBack;
26
+ goBack = props.goBack,
27
+ tabs = props.tabs;
41
28
  var componentName = 'spec-content-header';
42
29
  var _useStyle = useStyle(componentName),
43
30
  _useStyle2 = _slicedToArray(_useStyle, 2),
44
31
  wrapSSR = _useStyle2[0],
45
32
  hashId = _useStyle2[1];
46
- var _useState3 = useState(false),
33
+ var _useState = useState(false),
34
+ _useState2 = _slicedToArray(_useState, 2),
35
+ visible = _useState2[0],
36
+ setVisible = _useState2[1];
37
+ var _useState3 = useState(0),
47
38
  _useState4 = _slicedToArray(_useState3, 2),
48
- visible = _useState4[0],
49
- setVisible = _useState4[1];
50
- var _useState5 = useState(0),
51
- _useState6 = _slicedToArray(_useState5, 2),
52
- clientHeight = _useState6[0],
53
- setClientHeight = _useState6[1];
39
+ clientHeight = _useState4[0],
40
+ setClientHeight = _useState4[1];
54
41
  var headerRef = useRef(null);
55
42
  var handleGoBack = function handleGoBack() {
56
43
  if (goBack) {
@@ -118,6 +105,11 @@ var ContentHeader = /*#__PURE__*/forwardRef(function (props, ref) {
118
105
  className: componentName + '-title-name'
119
106
  }, " ", title), extra && /*#__PURE__*/React.createElement("div", {
120
107
  className: componentName + '-title-extra'
121
- }, " ", extra)) : null));
108
+ }, " ", extra)) : null, (tabs === null || tabs === void 0 || (_tabs$items = tabs.items) === null || _tabs$items === void 0 ? void 0 : _tabs$items.length) && /*#__PURE__*/React.createElement("div", {
109
+ className: componentName + '-tabs'
110
+ }, /*#__PURE__*/React.createElement(Tabs, {
111
+ type: "card",
112
+ items: (tabs === null || tabs === void 0 ? void 0 : tabs.items) || []
113
+ }))));
122
114
  });
123
115
  export default ContentHeader;
@@ -67,15 +67,14 @@ var SubfieldContent = /*#__PURE__*/forwardRef(function (props, ref) {
67
67
  style: style,
68
68
  ref: contentRef
69
69
  }, proLayoutProps !== null && proLayoutProps !== void 0 && proLayoutProps.header || header ? /*#__PURE__*/React.createElement(ContentHeader, _extends({
70
- ref: headerRef,
71
- getClientHeight: setHeaderHeight,
70
+ ref: headerRef
71
+ // getClientHeight={setHeaderHeight}
72
+ ,
72
73
  className: classNames('spec-grid-content-header', proLayoutProps !== null && proLayoutProps !== void 0 && (_proLayoutProps$heade = proLayoutProps.header) !== null && _proLayoutProps$heade !== void 0 && _proLayoutProps$heade.fixed || header !== null && header !== void 0 && header.fixed ? 'spec-grid-content-header-fixed' : '')
73
74
  }, (proLayoutProps === null || proLayoutProps === void 0 ? void 0 : proLayoutProps.header) || {}, header || {})) : null, /*#__PURE__*/React.createElement("div", {
74
- className: 'spec-grid-content-body',
75
- style: {
76
- height: "calc(100% - ".concat(headerHeight ? headerHeight + 20 : 0, "px")
77
- }
78
- }, /*#__PURE__*/React.createElement(DragContent, {
75
+ className: 'spec-grid-content-body'
76
+ // style={{ height: `calc(100% - ${headerHeight ? headerHeight + 20 : 0}px` }}
77
+ }, leftSiderNode && /*#__PURE__*/React.createElement(DragContent, {
79
78
  direction: leftSiderDragDirection,
80
79
  className: classNames('spec-grid-left', leftSiderClassName),
81
80
  style: {
@@ -83,8 +82,12 @@ var SubfieldContent = /*#__PURE__*/forwardRef(function (props, ref) {
83
82
  },
84
83
  moveMaxWidth: leftSiderMoveMaxWidth,
85
84
  moveMaxHeight: leftSiderMoveMaxHeight
86
- }, leftSiderNode), /*#__PURE__*/React.createElement("div", {
85
+ }, /*#__PURE__*/React.createElement("div", {
86
+ className: 'spec-grid-left-cont'
87
+ }, leftSiderNode)), /*#__PURE__*/React.createElement("div", {
87
88
  className: "spec-grid-right"
88
- }, children))));
89
+ }, /*#__PURE__*/React.createElement("div", {
90
+ className: "spec-grid-right-cont"
91
+ }, children)))));
89
92
  });
90
93
  export default SubfieldContent;
@@ -18,7 +18,7 @@ import useStyle from "./styles/Wrapper";
18
18
  import { FanContext } from "../ConfigContext";
19
19
  import ContentHeader from "./ContentHeader";
20
20
  var WrapperContent = /*#__PURE__*/forwardRef(function (props, ref) {
21
- var _proLayoutProps$heade, _proLayoutProps$heade2;
21
+ var _proLayoutProps$heade, _proLayoutProps$heade2, _proLayoutProps$heade3;
22
22
  var InitFanContext = useContext(FanContext);
23
23
  var providerConfig = InitFanContext['SubfieldContent'] || {}; // 使用上下文(全局配置)设置扩展的配置项
24
24
  var proLayoutProps = InitFanContext['proLayoutProps'] || {};
@@ -56,21 +56,22 @@ var WrapperContent = /*#__PURE__*/forwardRef(function (props, ref) {
56
56
  }
57
57
  });
58
58
  return wrapSSR( /*#__PURE__*/React.createElement("div", {
59
- className: classNames(componentName, className, noMargin ? 'has-margin' : '', hashId),
59
+ className: classNames(componentName, className, noMargin ? 'has-margin' : '', proLayoutProps !== null && proLayoutProps !== void 0 && (_proLayoutProps$heade = proLayoutProps.header) !== null && _proLayoutProps$heade !== void 0 && _proLayoutProps$heade.fixed || header !== null && header !== void 0 && header.fixed ? componentName + '-fixed' : '', hashId),
60
60
  style: style,
61
61
  ref: contentRef
62
- }, proLayoutProps !== null && proLayoutProps !== void 0 && proLayoutProps.header || header ? /*#__PURE__*/React.createElement(ContentHeader, _extends({
63
- getClientHeight: setHeaderHeight,
64
- className: classNames('spec-wrapper-content-header', proLayoutProps !== null && proLayoutProps !== void 0 && (_proLayoutProps$heade = proLayoutProps.header) !== null && _proLayoutProps$heade !== void 0 && _proLayoutProps$heade.fixed || header !== null && header !== void 0 && header.fixed ? 'spec-wrapper-content-header-fixed' : '')
62
+ }, proLayoutProps !== null && proLayoutProps !== void 0 && proLayoutProps.header || header ? /*#__PURE__*/React.createElement(ContentHeader
63
+ // getClientHeight={setHeaderHeight}
64
+ , _extends({
65
+ className: classNames('spec-wrapper-content-header', proLayoutProps !== null && proLayoutProps !== void 0 && (_proLayoutProps$heade2 = proLayoutProps.header) !== null && _proLayoutProps$heade2 !== void 0 && _proLayoutProps$heade2.fixed || header !== null && header !== void 0 && header.fixed ? 'spec-wrapper-content-header-fixed' : '')
65
66
  }, (proLayoutProps === null || proLayoutProps === void 0 ? void 0 : proLayoutProps.header) || {}, header || {})) : null, light ? /*#__PURE__*/React.createElement("div", {
66
67
  className: "spec-wrapper-content-block light-block"
67
68
  }, /*#__PURE__*/React.createElement("div", {
68
69
  className: 'spec-wrapper-content-body'
69
70
  }, children)) : /*#__PURE__*/React.createElement("div", {
70
71
  className: 'spec-wrapper-content-body',
71
- style: proLayoutProps !== null && proLayoutProps !== void 0 && (_proLayoutProps$heade2 = proLayoutProps.header) !== null && _proLayoutProps$heade2 !== void 0 && _proLayoutProps$heade2.fixed || header !== null && header !== void 0 && header.fixed ? {
72
- height: "calc(100% - ".concat(headerHeight ? headerHeight + 20 : 0, "px)"),
73
- overflow: 'auto'
72
+ style: proLayoutProps !== null && proLayoutProps !== void 0 && (_proLayoutProps$heade3 = proLayoutProps.header) !== null && _proLayoutProps$heade3 !== void 0 && _proLayoutProps$heade3.fixed || header !== null && header !== void 0 && header.fixed ? {
73
+ // height: `calc(100% - ${headerHeight ? headerHeight + 20 : 0}px)`,
74
+ // overflow: 'auto'
74
75
  } : {}
75
76
  }, children)));
76
77
  });
@@ -15,11 +15,18 @@ var SubfieldContentStyleFunc = function SubfieldContentStyleFunc(prefix) {
15
15
  return createStyleHook(prefix, function (token) {
16
16
  var prefixCls = ".".concat(prefix);
17
17
  // console.log(' new TinyColor(token.colorPrimary).setAlpha(0.1)' ,new TinyColor(token.colorPrimary).setAlpha(0.1).toRgbString(), )
18
- return [_defineProperty({}, prefixCls, _objectSpread(_objectSpread({}, scrollBar(token)), {}, {
18
+ return [_defineProperty({}, prefixCls, _objectSpread(_objectSpread({
19
+ // height: '500px',
20
+ background: 'pink',
21
+ display: 'flex',
22
+ flexDirection: 'column'
23
+ }, scrollBar(token)), {}, {
19
24
  '.spec-grid-content-header + .spec-grid-content-body': {
20
25
  // height: `calc(100% - 60px)`
21
26
  },
22
27
  '.spec-grid-content-body': {
28
+ flex: 1,
29
+ overflow: 'hidden',
23
30
  display: 'flex',
24
31
  position: 'relative',
25
32
  height: '100%'
@@ -29,17 +36,23 @@ var SubfieldContentStyleFunc = function SubfieldContentStyleFunc(prefix) {
29
36
  height: '100%',
30
37
  overflow: 'auto'
31
38
  }, scrollBar(token)),
32
- '& .spec-grid-left': _objectSpread({
39
+ '& .spec-grid-left': _objectSpread(_objectSpread({
33
40
  height: '100%',
34
41
  // overflow: 'hidden',
35
42
  overflow: 'auto',
36
43
  padding: token.paddingMD,
37
44
  background: token.colorBgBase,
38
45
  boxSizing: 'border-box'
39
- }, scrollBar(token)),
46
+ }, scrollBar(token)), {}, {
47
+ '+ .spec-grid-right': {
48
+ marginLeft: token.marginMD
49
+ },
50
+ '.spec-grid-left-cont': {
51
+ marginRight: '-8px'
52
+ }
53
+ }),
40
54
  '& .spec-grid-right': _objectSpread({
41
- padding: 0,
42
- marginLeft: token.marginMD
55
+ padding: 0
43
56
  }, scrollBar(token))
44
57
  }))];
45
58
  }, prepareComponentToken // 当前组件扩展的变量
@@ -14,7 +14,7 @@ var WrapperContentStyleFunc = function WrapperContentStyleFunc(prefix) {
14
14
  };
15
15
  return createStyleHook(prefix, function (token) {
16
16
  var prefixCls = ".".concat(prefix);
17
- return [_defineProperty(_defineProperty(_defineProperty({}, prefixCls, _objectSpread(_objectSpread({
17
+ return [_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, prefixCls, _objectSpread(_objectSpread({
18
18
  position: 'relative',
19
19
  // padding: token.paddingMD,
20
20
  // margin: -token.marginMD,
@@ -26,7 +26,18 @@ var WrapperContentStyleFunc = function WrapperContentStyleFunc(prefix) {
26
26
  padding: token.paddingMD,
27
27
  background: token.colorBgBase
28
28
  }
29
- })), '.spec-wrapper-content-header', {}), '.spec-wrapper-content-body', {})];
29
+ })), '&.spec-wrapper-content-fixed', {
30
+ display: 'flex',
31
+ flexDirection: 'column',
32
+ '.spec-wrapper-content-header': {
33
+ width: '100%'
34
+ },
35
+ '.spec-wrapper-content-body': {
36
+ width: '100%',
37
+ flex: 1,
38
+ overflow: 'auto'
39
+ }
40
+ }), '.spec-wrapper-content-header', {}), '.spec-wrapper-content-body', {})];
30
41
  }, prepareComponentToken // 当前组件扩展的变量
31
42
  );
32
43
  };
@@ -59,10 +59,16 @@
59
59
  .spec-grid-right {
60
60
  flex: 1;
61
61
  height: 100%;
62
+ overflow: auto;
62
63
  //height: calc(100vh - @layout-header-height);
63
64
  //padding: @padding-lg;
64
- overflow-y: auto;
65
- overflow-x: hidden;
65
+ //overflow-y: auto;
66
+ //overflow-x: auto;
66
67
  //margin-left: 200px
67
68
  }
69
+
70
+ .spec-grid-right-cont {
71
+ width: 100%;
72
+ overflow: auto;
73
+ }
68
74
  }