Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
jinfa-platform
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
shenshaokai
jinfa-platform
Commits
15d518e0
Commit
15d518e0
authored
May 10, 2022
by
XieZhiXiong
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'fix-v2-220518-order' into 'v2-220518'
fix: 修复分页之后点击确认无法拿到上一页填写的数据问题;修复默认不展开的问题 See merge request linkseeks-design/pro-platform!671
parents
3baa4dcc
5740aa3b
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
48 additions
and
9 deletions
+48
-9
NormalTable.tsx
src/components/PolymericTable/NormalTable.tsx
+6
-1
interface.ts
src/components/PolymericTable/interface.ts
+4
-0
index.tsx
...orderCollectSrm/components/orderMaterialsDrawer/index.tsx
+38
-8
No files found.
src/components/PolymericTable/NormalTable.tsx
View file @
15d518e0
...
...
@@ -35,6 +35,7 @@ const NormalTable: React.ForwardRefRenderFunction<NormalTableRefHandleType, Norm
onPaginationChange
,
full
,
renderFootContent
,
beforePaginationChange
,
...
restProps
}
=
props
;
...
...
@@ -99,7 +100,11 @@ const NormalTable: React.ForwardRefRenderFunction<NormalTableRefHandleType, Norm
}
},
[
props
.
dataSource
]);
const
handlePaginationChange
=
(
page
:
number
,
size
:
number
)
=>
{
const
handlePaginationChange
=
async
(
page
:
number
,
size
:
number
)
=>
{
if
(
beforePaginationChange
)
{
const
flag
=
await
beforePaginationChange
?.(
page
,
size
);
if
(
!
flag
)
return
;
}
// 内部自己维护 page、size
if
(
!
(
'current'
in
pagination
))
{
setCurrent
(
page
);
...
...
src/components/PolymericTable/interface.ts
View file @
15d518e0
...
...
@@ -87,6 +87,10 @@ export interface NormalTableProps<T> extends Omit<TableProps<T>, 'pagination'> {
* 渲染底部内容
*/
renderFootContent
?:
()
=>
React
.
ReactNode
,
/**
* 分页器改变触发的钩子,若返回 false 则停止触发请求
*/
beforePaginationChange
?:
(
nextPage
:
number
,
nextSize
:
number
)
=>
boolean
|
Promise
<
boolean
>
,
}
export
interface
EditableCellProps
{
...
...
src/pages/transaction/purchaseOrder/orderCollectSrm/components/orderMaterialsDrawer/index.tsx
View file @
15d518e0
...
...
@@ -96,6 +96,11 @@ type MaterialsListItem = Omit<GetContractManagePagePurchaseMaterielListResponseD
children
:
RequisitionListItem
[],
}
export
type
FetchReponseType
=
{
data
:
MaterialsListItem
[],
totalCount
:
number
,
}
const
normalizeMaterialsList
=
(
dataSource
:
GetContractManagePagePurchaseMaterielListResponseDetail
[]):
MaterialsListItem
[]
=>
{
const
ret
:
MaterialsListItem
[]
=
[];
dataSource
.
forEach
(({
requisitionList
,
...
rest
})
=>
{
...
...
@@ -123,10 +128,14 @@ const OrderMaterialsDrawer: React.ForwardRefRenderFunction<OrderMaterialsDrawerR
const
[
checkedKeysState
,
setCheckedKeysState
]
=
useState
([]);
const
[
halfCheckedState
,
setHalfCheckedState
]
=
useState
([]);
const
[
expandedRowKeys
,
setExpandedRowKeys
]
=
useState
([]);
const
polymericRef
=
useRef
<
NormalTableRefHandleType
|
null
>
(
null
);
const
keyEntities
=
useRef
<
any
>
({});
const
requisitionListValue
=
useRef
<
OrderMaterialsSubmitValue
[
'materials'
][
'requisitionList'
]
>
({});
const
[
form
]
=
Form
.
useForm
();
const
intl
=
useIntl
();
...
...
@@ -185,6 +194,7 @@ const OrderMaterialsDrawer: React.ForwardRefRenderFunction<OrderMaterialsDrawerR
...
keyEntities
.
current
,
...
convertDataToEntities
(
dataSource
).
keyEntities
,
};
setExpandedRowKeys
(
dataSource
.
map
((
item
)
=>
item
.
key
));
return
{
data
:
dataSource
,
totalCount
:
res
.
data
.
totalCount
,
...
...
@@ -222,7 +232,7 @@ const OrderMaterialsDrawer: React.ForwardRefRenderFunction<OrderMaterialsDrawerR
const
{
levelMap
,
maxLevel
}
=
getLevelEntities
(
keyEntities
.
current
);
if
(
selected
)
{
const
keys
=
[...
checkedKeysState
,
...
selectedRows
.
map
((
item
)
=>
item
.
key
)];
const
keys
=
[...
checkedKeysState
,
...
selectedRows
.
filter
(
Boolean
).
map
((
item
)
=>
item
.
key
)];
const
{
halfCheckedKeys
,
checkedKeys
}
=
fillConductCheck
(
keys
,
levelMap
,
maxLevel
);
setCheckedKeysState
(
checkedKeys
);
setHalfCheckedState
(
halfCheckedKeys
);
...
...
@@ -323,7 +333,8 @@ const OrderMaterialsDrawer: React.ForwardRefRenderFunction<OrderMaterialsDrawerR
const
{
materials
}
=
res
;
const
ret
:
OrderMaterialsConfirmValue
=
[];
const
checkedKeys
=
Object
.
keys
(
materials
.
requisitionList
);
// const checkedKeys = Object.keys(materials.requisitionList);
const
checkedKeys
=
Object
.
keys
(
requisitionListValue
.
current
);
for
(
let
i
=
0
;
i
<
checkedKeys
.
length
;
i
++
)
{
const
checked
=
checkedKeys
[
i
];
const
{
parentNode
}
=
keyEntities
.
current
[
checked
];
...
...
@@ -338,7 +349,8 @@ const OrderMaterialsDrawer: React.ForwardRefRenderFunction<OrderMaterialsDrawerR
...
restParent
,
requisitionList
:
children
.
map
((
item
)
=>
({
...
item
,
orderQuantity
:
+
materials
.
requisitionList
[
checked
],
// orderQuantity: +materials.requisitionList[checked],
orderQuantity
:
+
requisitionListValue
.
current
[
checked
],
})),
};
ret
.
push
(
material
);
...
...
@@ -350,7 +362,8 @@ const OrderMaterialsDrawer: React.ForwardRefRenderFunction<OrderMaterialsDrawerR
...(
ret
[
index
]).
requisitionList
,
...
children
.
map
((
item
)
=>
({
...
item
,
orderQuantity
:
+
materials
.
requisitionList
[
checked
],
// orderQuantity: +materials.requisitionList[checked],
orderQuantity
:
+
requisitionListValue
.
current
[
checked
],
})),
],
}));
...
...
@@ -377,6 +390,23 @@ const OrderMaterialsDrawer: React.ForwardRefRenderFunction<OrderMaterialsDrawerR
// });
};
const
handleBeforePaginationChange
=
async
()
=>
{
try
{
await
form
.
validateFields
()
return
true
;
}
catch
(
error
)
{
return
false
;
}
};
const
handleFormValuesChange
=
(
_
,
allValues
:
OrderMaterialsSubmitValue
)
=>
{
const
{
materials
}
=
allValues
;
requisitionListValue
.
current
=
{
...
requisitionListValue
.
current
,
...(
materials
.
requisitionList
||
{}),
};
};
useImperativeHandle
(
ref
,
()
=>
({
deleteItem
:
handleDelete
,
}));
...
...
@@ -415,7 +445,7 @@ const OrderMaterialsDrawer: React.ForwardRefRenderFunction<OrderMaterialsDrawerR
onSelect
:
handleSelectRow
,
onSelectAll
:
handlehandleSelectAll
,
}
}
defaultPageSize=
{
2
0
}
defaultPageSize=
{
1
0
}
expandable=
{
isPurchaseOrderContract
?
{
expandedRowRender
,
expandIcon
:
({
expanded
,
onExpand
,
record
})
=>
(
...
...
@@ -426,7 +456,7 @@ const OrderMaterialsDrawer: React.ForwardRefRenderFunction<OrderMaterialsDrawerR
)
),
childrenColumnName
:
'xx'
,
// 默认是 children,与 dataSource数据中 冲突,随便改了名称,否则不能正常展开
defaultExpandAllRows
:
true
,
// 无效,我giao
expandedRowKeys
,
}
:
undefined
}
searchFormProps=
{
{
schema
:
querySchema
,
...
...
@@ -442,12 +472,12 @@ const OrderMaterialsDrawer: React.ForwardRefRenderFunction<OrderMaterialsDrawerR
ref=
{
polymericRef
}
components=
{
{
table
:
({
children
})
=>
(
<
Form
form=
{
form
}
>
<
Form
form=
{
form
}
onValuesChange=
{
handleFormValuesChange
}
>
<
table
>
{
children
}
</
table
>
</
Form
>
),
}
}
defaultExpandAllRows
beforePaginationChange=
{
handleBeforePaginationChange
}
full
/>
</
Drawer
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment