Commit e20e418a authored by 前端-许佳敏's avatar 前端-许佳敏

fix:收发货与回单逻辑冲突

parent b83216fb
import React, { useContext } from 'react' import React, { useContext, useRef } from 'react'
import { Tabs, Table, Button } from 'antd' import { Tabs, Table, Button } from 'antd'
import StatusColors from '@/pages/transaction/components/StatusColors' import StatusColors from '@/pages/transaction/components/StatusColors'
import { formatTimeString } from '@/utils' import { formatTimeString } from '@/utils'
...@@ -7,6 +7,7 @@ import MellowCard from '@/components/MellowCard' ...@@ -7,6 +7,7 @@ import MellowCard from '@/components/MellowCard'
import NestTable from '@/components/NestTable' import NestTable from '@/components/NestTable'
import { SaleOrderInsideWorkState, DeliverySideState } from '@/constants' import { SaleOrderInsideWorkState, DeliverySideState } from '@/constants'
import { PublicApi } from '@/services/api' import { PublicApi } from '@/services/api'
import { history } from 'umi'
export interface OrderDeleveRecordProps {} export interface OrderDeleveRecordProps {}
...@@ -151,6 +152,12 @@ const sideChildrenCols: any[] = [ ...@@ -151,6 +152,12 @@ const sideChildrenCols: any[] = [
] ]
// 订单发货记录 // 订单发货记录
const OrderDeleveRecord:React.FC<OrderDeleveRecordProps> = (props) => { const OrderDeleveRecord:React.FC<OrderDeleveRecordProps> = (props) => {
const pathname = history.location.pathname
const isPreview = pathname.lastIndexOf('/preview')
// 用于储存已经修改过的订单id
const dataRef = useRef<any>([])
const { data, reloadFormData } = useContext(OrderDetailContext) const { data, reloadFormData } = useContext(OrderDetailContext)
const { orderReceivingStatisticsResponses, orderDeliveryDetailsResponses } = data const { orderReceivingStatisticsResponses, orderDeliveryDetailsResponses } = data
const sideOrderCols: any[] = [ const sideOrderCols: any[] = [
...@@ -212,8 +219,8 @@ const OrderDeleveRecord:React.FC<OrderDeleveRecordProps> = (props) => { ...@@ -212,8 +219,8 @@ const OrderDeleveRecord:React.FC<OrderDeleveRecordProps> = (props) => {
key: 'ctl', key: 'ctl',
render: (text, record) => <> render: (text, record) => <>
{/* todo 需根据内部状态判断显示哪个按钮 */} {/* todo 需根据内部状态判断显示哪个按钮 */}
{ record.interiorState === DeliverySideState.CONFIRM_RECEIPT_ORDER && <Button type='link' onClick={() => handleReturn(record)}>确认回单</Button> } { !isPreview && dataRef.current.includes(record.id) && record.interiorState === DeliverySideState.CONFIRM_RECEIPT_ORDER && <Button type='link' onClick={() => handleReturn(record)}>确认回单</Button> }
{ record.interiorState === DeliverySideState.WAREHOUSE_ORDER && <Button type='link' onClick={() => handleConfirm(record)}>确认收货</Button> } { !isPreview && dataRef.current.includes(record.id) && record.interiorState === DeliverySideState.WAREHOUSE_ORDER && <Button type='link' onClick={() => handleConfirm(record)}>确认收货</Button> }
</> </>
}, },
] ]
...@@ -225,8 +232,11 @@ const OrderDeleveRecord:React.FC<OrderDeleveRecordProps> = (props) => { ...@@ -225,8 +232,11 @@ const OrderDeleveRecord:React.FC<OrderDeleveRecordProps> = (props) => {
id: record.id id: record.id
} }
await PublicApi.postOrderConfirmReceipt(params) const { code } = await PublicApi.postOrderConfirmReceipt(params)
reloadFormData && reloadFormData() if (code === 1000) {
dataRef.current.push(record.id)
reloadFormData && reloadFormData()
}
} }
// 确认回单 // 确认回单
...@@ -236,8 +246,11 @@ const OrderDeleveRecord:React.FC<OrderDeleveRecordProps> = (props) => { ...@@ -236,8 +246,11 @@ const OrderDeleveRecord:React.FC<OrderDeleveRecordProps> = (props) => {
id: record.id id: record.id
} }
await PublicApi.postOrderReceiptOrderConfirmed(params) const { code } = await PublicApi.postOrderReceiptOrderConfirmed(params)
reloadFormData && reloadFormData() if (code === 1000) {
dataRef.current.push(record.id)
reloadFormData && reloadFormData()
}
} }
return ( return (
......
import React, { useContext } from 'react' import React, { useContext, useRef } from 'react'
import { Tabs, Table, Button } from 'antd' import { Tabs, Table, Button } from 'antd'
import StatusColors from '@/pages/transaction/components/StatusColors' import StatusColors from '@/pages/transaction/components/StatusColors'
import { formatTimeString } from '@/utils' import { formatTimeString } from '@/utils'
...@@ -7,6 +7,7 @@ import MellowCard from '@/components/MellowCard' ...@@ -7,6 +7,7 @@ import MellowCard from '@/components/MellowCard'
import NestTable from '@/components/NestTable' import NestTable from '@/components/NestTable'
import { DeliverySideState } from '@/constants' import { DeliverySideState } from '@/constants'
import { PublicApi } from '@/services/api' import { PublicApi } from '@/services/api'
import { history } from 'umi'
export interface OrderSaleRecordProps {} export interface OrderSaleRecordProps {}
...@@ -151,6 +152,10 @@ const sideChildrenCols: any[] = [ ...@@ -151,6 +152,10 @@ const sideChildrenCols: any[] = [
] ]
// 订单发货记录 // 订单发货记录
const OrderSaleRecord:React.FC<OrderSaleRecordProps> = (props) => { const OrderSaleRecord:React.FC<OrderSaleRecordProps> = (props) => {
const pathname = history.location.pathname
const isPreview = pathname.lastIndexOf('/preview')
// 用于储存已经修改过的订单id
const dataRef = useRef<any>([])
const { data, reloadFormData } = useContext(OrderDetailContext) const { data, reloadFormData } = useContext(OrderDetailContext)
const { orderReceivingStatisticsResponses, orderDeliveryDetailsResponses } = data const { orderReceivingStatisticsResponses, orderDeliveryDetailsResponses } = data
const sideOrderCols: any[] = [ const sideOrderCols: any[] = [
...@@ -211,8 +216,8 @@ const OrderSaleRecord:React.FC<OrderSaleRecordProps> = (props) => { ...@@ -211,8 +216,8 @@ const OrderSaleRecord:React.FC<OrderSaleRecordProps> = (props) => {
align: 'center', align: 'center',
key: 'ctl', key: 'ctl',
render: (text, record) => <> render: (text, record) => <>
{ record.interiorState === DeliverySideState.CONFIRM_RECEIPT_ORDER && <Button type='link' onClick={() => handleReturn(record)}>确认回单</Button> } { !isPreview && dataRef.current.includes(record.id) && record.interiorState === DeliverySideState.CONFIRM_RECEIPT_ORDER && <Button type='link' onClick={() => handleReturn(record)}>确认回单</Button> }
{ record.interiorState === DeliverySideState.ADD_LOGISTICS_ORDER && <Button type='link' onClick={() => handleConfirm(record)}>确认发货</Button> } { !isPreview && dataRef.current.includes(record.id) && record.interiorState === DeliverySideState.ADD_LOGISTICS_ORDER && <Button type='link' onClick={() => handleConfirm(record)}>确认发货</Button> }
</> </>
}, },
] ]
...@@ -224,8 +229,11 @@ const OrderSaleRecord:React.FC<OrderSaleRecordProps> = (props) => { ...@@ -224,8 +229,11 @@ const OrderSaleRecord:React.FC<OrderSaleRecordProps> = (props) => {
id: record.id id: record.id
} }
await PublicApi.postOrderConfirmShipmentOrder(params) const { code } = await PublicApi.postOrderConfirmShipmentOrder(params)
reloadFormData && reloadFormData() if (code === 1000) {
dataRef.current.push(record.id)
reloadFormData && reloadFormData()
}
} }
// 确认回单 // 确认回单
...@@ -235,8 +243,11 @@ const OrderSaleRecord:React.FC<OrderSaleRecordProps> = (props) => { ...@@ -235,8 +243,11 @@ const OrderSaleRecord:React.FC<OrderSaleRecordProps> = (props) => {
id: record.id id: record.id
} }
await PublicApi.postOrderReceiptOrderConfirmed(params) const { code } = await PublicApi.postOrderReceiptOrderConfirmed(params)
reloadFormData && reloadFormData() if (code === 1000) {
dataRef.current.push(record.id)
reloadFormData && reloadFormData()
}
} }
return ( return (
<MellowCard style={{marginTop: 24}} bordered={false} id='deleveBox'> <MellowCard style={{marginTop: 24}} bordered={false} id='deleveBox'>
......
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