Commit 4beddd16 authored by Gavin Peng's avatar Gavin Peng

fix: 修复选择会员组件分页器已知问题

parent fe2e17d3
...@@ -32,6 +32,7 @@ function RoleSelect(props: RoleSelectProps) { ...@@ -32,6 +32,7 @@ function RoleSelect(props: RoleSelectProps) {
const [dataSource, setDataSource] = useState([]) const [dataSource, setDataSource] = useState([])
const [total, setTotal] = useState(0) const [total, setTotal] = useState(0)
const [current, setCurrent] = useState(1); const [current, setCurrent] = useState(1);
const [pageSize, setPageSize] = useState(10);
const showDrawer = useCallback(() => { const showDrawer = useCallback(() => {
setVisible(true) setVisible(true)
...@@ -106,12 +107,16 @@ function RoleSelect(props: RoleSelectProps) { ...@@ -106,12 +107,16 @@ function RoleSelect(props: RoleSelectProps) {
columns={TableMemberColumn} columns={TableMemberColumn}
dataSource={dataSource} dataSource={dataSource}
pagination={{ pagination={{
total: total, position: ['bottomCenter'],
pageSize: 10, total,
current: current, pageSize,
onChange: (page: number) => { current,
form.setFieldsValue({ 'current': page }); showTotal: (total: number, range: [number, number]) => (`共 ${total} 条`),
setCurrent(page); showQuickJumper: true,
onChange: (page: number, pageSize: number) => {
form.setFieldsValue({ 'current': page })
setCurrent(page)
setPageSize(pageSize)
fetchData() fetchData()
} }
}} }}
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
import { history } from 'umi' import { history } from 'umi'
import AnchorPage, { AnchorsItem } from '@/components/AnchorPage' import AnchorPage, { AnchorsItem } from '@/components/AnchorPage'
import { BaseInfo as base_Info, Remarks, PlanningCycle, SupplyMembersLabel, PlanSummary, ExternalState, Circulation, Purchaser, SubmitDeliveryPlan, Supplier, ConfirmDeliveryPlan, PlannedDelivery, DeliveryPlanText, DeliveryPlanRemark, CreateDeliveryPlanTitleSRM } from '../../constants' import { BaseInfo as base_Info, Remarks, PlanningCycle, SupplyMembersLabel, PlanSummary, ExternalState, Circulation, Purchaser, SubmitDeliveryPlan, Supplier, ConfirmDeliveryPlan, PlannedDelivery, DeliveryPlanText, DeliveryPlanRemark, CreateDeliveryPlanTitleSRM } from '../../constants'
import { Button, DatePicker, Form, Input, InputNumber, message, Space, Steps, Table } from 'antd' import { Button, DatePicker, Form, Input, InputNumber, message, Space, Spin, Steps, Table } from 'antd'
import { SaveOutlined } from '@ant-design/icons' import { SaveOutlined } from '@ant-design/icons'
import BaseInfo from '@/components/BaseInfo/BaseInfo' import BaseInfo from '@/components/BaseInfo/BaseInfo'
import _ from 'lodash' import _ from 'lodash'
...@@ -54,8 +54,10 @@ const initExpandIconColumn = [ ...@@ -54,8 +54,10 @@ const initExpandIconColumn = [
const [form] = Form.useForm() const [form] = Form.useForm()
const datesRef = useRef<any>(null) const datesRef = useRef<any>(null)
const materialTableDataRef = useRef(null) const materialTableDataRef = useRef(null)
const [iAnchors, setiAnchors] = useState<AnchorsItem[]>([ const [spinning, setSpinning] = useState<boolean>(false)
const [iAnchors, setIAnchors] = useState<AnchorsItem[]>([
Circulation, Circulation,
base_Info, base_Info,
PlannedDelivery, PlannedDelivery,
...@@ -78,8 +80,6 @@ const initExpandIconColumn = [ ...@@ -78,8 +80,6 @@ const initExpandIconColumn = [
const [selectedMember, setSelectedMember] = useState<any>({}) const [selectedMember, setSelectedMember] = useState<any>({})
// 计划送货物料 列表 // 计划送货物料 列表
const [materialTableData, setMaterialTableData] = useState<any>(null) const [materialTableData, setMaterialTableData] = useState<any>(null)
// 外部流转单据记录
const [externalRoamRecordData, setExternalRoamRecordData] = useState<any>(null)
// 保存 // 保存
const save = () => { const save = () => {
...@@ -87,8 +87,10 @@ const initExpandIconColumn = [ ...@@ -87,8 +87,10 @@ const initExpandIconColumn = [
// console.log('values :>> ', values) // console.log('values :>> ', values)
if (_.isEmpty(materialTableDataRef.current)) { if (_.isEmpty(materialTableDataRef.current)) {
message.warning('没有找到可执行计划送货') message.warning('没有找到可执行计划送货')
setSpinning(false)
return return
} }
setSpinning(true)
const productList = materialTableDataRef.current.map((item: any) => { const productList = materialTableDataRef.current.map((item: any) => {
return { return {
...item, ...item,
...@@ -111,7 +113,12 @@ const initExpandIconColumn = [ ...@@ -111,7 +113,12 @@ const initExpandIconColumn = [
remark: values.remark, remark: values.remark,
productList productList
}).then((res: any) => { }).then((res: any) => {
console.log('保存 :>> ', res) setSpinning(false)
if (res.code === 1000) {
history.goBack()
}
}).catch(err => {
setSpinning(false)
}) })
}) })
} }
...@@ -202,88 +209,90 @@ const initExpandIconColumn = [ ...@@ -202,88 +209,90 @@ const initExpandIconColumn = [
}, [selectedDate, selectedMember]) }, [selectedDate, selectedMember])
return ( return (
<AnchorPage <Spin spinning={spinning}>
title={CreateDeliveryPlanTitleSRM} <AnchorPage
onBack={() => history.goBack()} title={CreateDeliveryPlanTitleSRM}
anchors={iAnchors} onBack={() => history.goBack()}
extra={ anchors={iAnchors}
<Space> extra={
{/* <Button>保存并新增</Button> */} <Space>
<Button type='primary' icon={<SaveOutlined />} onClick={save}>保存</Button> {/* <Button>保存并新增</Button> */}
</Space> <Button type='primary' icon={<SaveOutlined />} onClick={save}>保存</Button>
} </Space>
> }
<Form >
labelAlign='left' <Form
form={form} labelAlign='left'
> form={form}
<BaseInfo className='mt-0' title={Circulation.name} id={Circulation.key} cols={1}> >
<Steps progressDot current={0}> <BaseInfo className='mt-0' title={Circulation.name} id={Circulation.key} cols={1}>
<Steps.Step title={Purchaser} description={SubmitDeliveryPlan} /> <Steps progressDot current={0}>
<Steps.Step title={Supplier} description={ConfirmDeliveryPlan} /> <Steps.Step title={Purchaser} description={SubmitDeliveryPlan} />
</Steps> <Steps.Step title={Supplier} description={ConfirmDeliveryPlan} />
</BaseInfo> </Steps>
<BaseInfo className='mt-16' title={base_Info.name} id={base_Info.key}> </BaseInfo>
<Form.Item <BaseInfo className='mt-16' title={base_Info.name} id={base_Info.key}>
{...formItemLayout} <Form.Item
label={PlanningCycle} {...formItemLayout}
name='dates' label={PlanningCycle}
rules={[ name='dates'
{ required: true, message: '请选择' } rules={[
]} { required: true, message: '请选择' }
> ]}
<DatePicker.RangePicker style={{ width: '100%' }} onChange={(dates) => handleDateAssembleColumn(dates)} /> >
</Form.Item> <DatePicker.RangePicker style={{ width: '100%' }} onChange={(dates) => handleDateAssembleColumn(dates)} />
</Form.Item>
<Form.Item
{...formItemLayout} <Form.Item
label={SupplyMembersLabel} {...formItemLayout}
name='memberId' label={SupplyMembersLabel}
rules={[ name='memberId'
{ required: true, message: '请选择' } rules={[
]} { required: true, message: '请选择' }
> ]}
<RoleSelect >
request={getMemberManageLowerMerchantProviderPage} <RoleSelect
onChange={handleMemberInfo} request={getMemberManageLowerMerchantProviderPage}
params={{ current: '1', pageSize: '100' }} onChange={handleMemberInfo}
/> params={{ current: '1', pageSize: '100' }}
</Form.Item> />
</Form.Item>
<Form.Item
{...formItemLayout} <Form.Item
label={PlanSummary} {...formItemLayout}
name='planSummaryText' label={PlanSummary}
rules={[ name='planSummaryText'
{ required: true, message: '请选择' } rules={[
]} { required: true, message: '请选择' }
> ]}
<Input /> >
</Form.Item> <Input />
</BaseInfo> </Form.Item>
<BaseInfo className='mt-16' title={PlannedDelivery.name} id={PlannedDelivery.key} cols={1}> </BaseInfo>
<Table <BaseInfo className='mt-16' title={PlannedDelivery.name} id={PlannedDelivery.key} cols={1}>
// defaultExpandAllRows <Table
rowKey={'skuId'} // defaultExpandAllRows
columns={materialTableColumn} rowKey={'skuId'}
expandedRowRender={expandedRowRender} columns={materialTableColumn}
dataSource={materialTableData} expandedRowRender={expandedRowRender}
tableLayout="fixed" dataSource={materialTableData}
scroll={{ x: 2022 }} tableLayout="fixed"
/> scroll={{ x: 2022 }}
</BaseInfo> />
<BaseInfo className='mt-16' title={Remarks.name} id={Remarks.key} cols={1}> </BaseInfo>
<Form.Item <BaseInfo className='mt-16' title={Remarks.name} id={Remarks.key} cols={1}>
name='remark' <Form.Item
rules={[ name='remark'
{ required: true, message: '请输入' } rules={[
]} { required: true, message: '请输入' }
> ]}
<Input.TextArea rows={4} maxLength={300} placeholder={DeliveryPlanRemark} /> >
</Form.Item> <Input.TextArea rows={4} maxLength={300} placeholder={DeliveryPlanRemark} />
</BaseInfo> </Form.Item>
</Form> </BaseInfo>
</AnchorPage> </Form>
</AnchorPage>
</Spin>
) )
} }
......
...@@ -7,7 +7,7 @@ import React, { useEffect, useRef, useState } from 'react' ...@@ -7,7 +7,7 @@ import React, { useEffect, useRef, useState } from 'react'
import { history, useHistory } from 'umi' import { history, useHistory } from 'umi'
import AnchorPage, { AnchorsItem } from '@/components/AnchorPage' import AnchorPage, { AnchorsItem } from '@/components/AnchorPage'
import { BaseInfo as base_Info, Remarks, PlanningCycle, SupplyMembersLabel, PlanSummary, ExternalRoamRecord, ExternalState, Circulation, Purchaser, SubmitDeliveryPlan, Supplier, ConfirmDeliveryPlan, PlannedDelivery, DeliveryPlanRemark } from '../../constants' import { BaseInfo as base_Info, Remarks, PlanningCycle, SupplyMembersLabel, PlanSummary, ExternalRoamRecord, ExternalState, Circulation, Purchaser, SubmitDeliveryPlan, Supplier, ConfirmDeliveryPlan, PlannedDelivery, DeliveryPlanRemark } from '../../constants'
import { Button, Form, Input, InputNumber, message, Space, Steps, Table, Tag } from 'antd' import { Button, Form, Input, InputNumber, message, Space, Spin, Steps, Table, Tag } from 'antd'
import { SaveOutlined } from '@ant-design/icons' import { SaveOutlined } from '@ant-design/icons'
import BaseInfo from '@/components/BaseInfo/BaseInfo' import BaseInfo from '@/components/BaseInfo/BaseInfo'
import { ExternalRoamRecordTableColumn } from '../../constants/page-table-column' import { ExternalRoamRecordTableColumn } from '../../constants/page-table-column'
...@@ -32,7 +32,9 @@ const DeliveryPlanAwaitSRMUpdate: React.FC = () => { ...@@ -32,7 +32,9 @@ const DeliveryPlanAwaitSRMUpdate: React.FC = () => {
const datesRef = useRef(null) const datesRef = useRef(null)
const materialTableDataRef = useRef(null) const materialTableDataRef = useRef(null)
const [iAnchors, setiAnchors] = useState<AnchorsItem[]>([ const [spinning, setSpinning] = useState<boolean>(false)
const [iAnchors, setIAnchors] = useState<AnchorsItem[]>([
Circulation, Circulation,
base_Info, base_Info,
PlannedDelivery, PlannedDelivery,
...@@ -85,6 +87,7 @@ const DeliveryPlanAwaitSRMUpdate: React.FC = () => { ...@@ -85,6 +87,7 @@ const DeliveryPlanAwaitSRMUpdate: React.FC = () => {
message.warning('没有找到可执行计划送货') message.warning('没有找到可执行计划送货')
return return
} }
setSpinning(true)
const orders = materialTableDataRef.current.flatMap((item: any) => item.orders).flatMap((o: any) => ({ const orders = materialTableDataRef.current.flatMap((item: any) => item.orders).flatMap((o: any) => ({
...o, ...o,
planDays: Object.keys(o).filter((f: any) => f.startsWith('$')).map((p: any) => o[p]) planDays: Object.keys(o).filter((f: any) => f.startsWith('$')).map((p: any) => o[p])
...@@ -95,7 +98,12 @@ const DeliveryPlanAwaitSRMUpdate: React.FC = () => { ...@@ -95,7 +98,12 @@ const DeliveryPlanAwaitSRMUpdate: React.FC = () => {
remark: values.remark, remark: values.remark,
orders orders
}).then((res: any) => { }).then((res: any) => {
console.log('保存 :>> ', res) setSpinning(false)
if (res.code === 1000) {
history.goBack()
}
}).catch(err => {
setSpinning(false)
}) })
}) })
} }
...@@ -181,79 +189,81 @@ const DeliveryPlanAwaitSRMUpdate: React.FC = () => { ...@@ -181,79 +189,81 @@ const DeliveryPlanAwaitSRMUpdate: React.FC = () => {
}, []) }, [])
return ( return (
<AnchorPage <Spin spinning={spinning}>
title={details?.planNo} <AnchorPage
onBack={() => history.goBack()} title={details?.planNo}
anchors={iAnchors} onBack={() => history.goBack()}
extra={ anchors={iAnchors}
<Space> extra={
<Button type='primary' icon={<SaveOutlined />} onClick={save}>保存</Button> <Space>
</Space> <Button type='primary' icon={<SaveOutlined />} onClick={save}>保存</Button>
} </Space>
> }
<Form
labelAlign='left'
form={form}
> >
<BaseInfo className='mt-0' title={Circulation.name} id={Circulation.key} cols={1}> <Form
<Steps progressDot current={0}> labelAlign='left'
<Steps.Step title={Purchaser} description={SubmitDeliveryPlan} /> form={form}
<Steps.Step title={Supplier} description={ConfirmDeliveryPlan} /> >
</Steps> <BaseInfo className='mt-0' title={Circulation.name} id={Circulation.key} cols={1}>
</BaseInfo> <Steps progressDot current={0}>
<BaseInfo className='mt-16' title={base_Info.name} id={base_Info.key}> <Steps.Step title={Purchaser} description={SubmitDeliveryPlan} />
<BaseInfo.BaseInfoItem label={PlanningCycle}> {moment(details?.planStartTime).format('YYYY-MM-DD')} ~ {moment(details?.planEndTime).format('YYYY-MM-DD')} </BaseInfo.BaseInfoItem> <Steps.Step title={Supplier} description={ConfirmDeliveryPlan} />
</Steps>
</BaseInfo>
<BaseInfo className='mt-16' title={base_Info.name} id={base_Info.key}>
<BaseInfo.BaseInfoItem label={PlanningCycle}> {moment(details?.planStartTime).format('YYYY-MM-DD')} ~ {moment(details?.planEndTime).format('YYYY-MM-DD')} </BaseInfo.BaseInfoItem>
<BaseInfo.BaseInfoItem label={SupplyMembersLabel}> {details?.vendorMemberName} </BaseInfo.BaseInfoItem> <BaseInfo.BaseInfoItem label={SupplyMembersLabel}> {details?.vendorMemberName} </BaseInfo.BaseInfoItem>
<Form.Item <Form.Item
{...formItemLayout} {...formItemLayout}
label={PlanSummary} label={PlanSummary}
name='planSummaryText' name='planSummaryText'
rules={[ rules={[
{ required: true, message: '请输入' } { required: true, message: '请输入' }
]} ]}
> >
<Input /> <Input />
</Form.Item> </Form.Item>
<BaseInfo.BaseInfoItem label={ExternalState}> <BaseInfo.BaseInfoItem label={ExternalState}>
<Tag color={tagStatus.getTagStyle(details?.status).bgColor}> <Tag color={tagStatus.getTagStyle(details?.status).bgColor}>
<span style={{ color: tagStatus.getTagStyle(details?.status).fontColor }}>{statusTxt.get(details?.status)}</span> <span style={{ color: tagStatus.getTagStyle(details?.status).fontColor }}>{statusTxt.get(details?.status)}</span>
</Tag> </Tag>
</BaseInfo.BaseInfoItem> </BaseInfo.BaseInfoItem>
</BaseInfo> </BaseInfo>
<BaseInfo className='mt-16' title={PlannedDelivery.name} id={PlannedDelivery.key} cols={1}> <BaseInfo className='mt-16' title={PlannedDelivery.name} id={PlannedDelivery.key} cols={1}>
<Table <Table
// defaultExpandAllRows // defaultExpandAllRows
rowKey={'skuId'} rowKey={'skuId'}
columns={materialTableColumn} columns={materialTableColumn}
expandedRowRender={expandedRowRender} expandedRowRender={expandedRowRender}
dataSource={materialTableData} dataSource={materialTableData}
tableLayout="fixed" tableLayout="fixed"
scroll={{ x: 2022 }} scroll={{ x: 2022 }}
/> />
</BaseInfo> </BaseInfo>
<BaseInfo className='mt-16' title={Remarks.name} id={Remarks.key} cols={1}> <BaseInfo className='mt-16' title={Remarks.name} id={Remarks.key} cols={1}>
<Form.Item <Form.Item
name='remark' name='remark'
rules={[ rules={[
{ required: true, message: '请输入' } { required: true, message: '请输入' }
]} ]}
> >
<Input.TextArea rows={4} maxLength={300} placeholder={DeliveryPlanRemark} /> <Input.TextArea rows={4} maxLength={300} placeholder={DeliveryPlanRemark} />
</Form.Item> </Form.Item>
</BaseInfo> </BaseInfo>
<BaseInfo className='mt-16' title={ExternalRoamRecord.name} id={ExternalRoamRecord.key} cols={1}> <BaseInfo className='mt-16' title={ExternalRoamRecord.name} id={ExternalRoamRecord.key} cols={1}>
<Table <Table
rowKey={'id'} rowKey={'id'}
dataSource={externalRoamRecordData} dataSource={externalRoamRecordData}
columns={ExternalRoamRecordTableColumn} columns={ExternalRoamRecordTableColumn}
pagination={false} pagination={false}
/> />
</BaseInfo> </BaseInfo>
</Form> </Form>
</AnchorPage> </AnchorPage>
</Spin>
) )
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment