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 StatusColors from '@/pages/transaction/components/StatusColors'
import { formatTimeString } from '@/utils'
......@@ -7,6 +7,7 @@ import MellowCard from '@/components/MellowCard'
import NestTable from '@/components/NestTable'
import { SaleOrderInsideWorkState, DeliverySideState } from '@/constants'
import { PublicApi } from '@/services/api'
import { history } from 'umi'
export interface OrderDeleveRecordProps {}
......@@ -151,6 +152,12 @@ const sideChildrenCols: any[] = [
]
// 订单发货记录
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 { orderReceivingStatisticsResponses, orderDeliveryDetailsResponses } = data
const sideOrderCols: any[] = [
......@@ -212,8 +219,8 @@ const OrderDeleveRecord:React.FC<OrderDeleveRecordProps> = (props) => {
key: 'ctl',
render: (text, record) => <>
{/* todo 需根据内部状态判断显示哪个按钮 */}
{ 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.CONFIRM_RECEIPT_ORDER && <Button type='link' onClick={() => handleReturn(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) => {
id: record.id
}
await PublicApi.postOrderConfirmReceipt(params)
reloadFormData && reloadFormData()
const { code } = await PublicApi.postOrderConfirmReceipt(params)
if (code === 1000) {
dataRef.current.push(record.id)
reloadFormData && reloadFormData()
}
}
// 确认回单
......@@ -236,8 +246,11 @@ const OrderDeleveRecord:React.FC<OrderDeleveRecordProps> = (props) => {
id: record.id
}
await PublicApi.postOrderReceiptOrderConfirmed(params)
reloadFormData && reloadFormData()
const { code } = await PublicApi.postOrderReceiptOrderConfirmed(params)
if (code === 1000) {
dataRef.current.push(record.id)
reloadFormData && reloadFormData()
}
}
return (
......
import React, { useContext } from 'react'
import React, { useContext, useRef } from 'react'
import { Tabs, Table, Button } from 'antd'
import StatusColors from '@/pages/transaction/components/StatusColors'
import { formatTimeString } from '@/utils'
......@@ -7,6 +7,7 @@ import MellowCard from '@/components/MellowCard'
import NestTable from '@/components/NestTable'
import { DeliverySideState } from '@/constants'
import { PublicApi } from '@/services/api'
import { history } from 'umi'
export interface OrderSaleRecordProps {}
......@@ -151,6 +152,10 @@ const sideChildrenCols: any[] = [
]
// 订单发货记录
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 { orderReceivingStatisticsResponses, orderDeliveryDetailsResponses } = data
const sideOrderCols: any[] = [
......@@ -211,8 +216,8 @@ const OrderSaleRecord:React.FC<OrderSaleRecordProps> = (props) => {
align: 'center',
key: 'ctl',
render: (text, record) => <>
{ 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.CONFIRM_RECEIPT_ORDER && <Button type='link' onClick={() => handleReturn(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) => {
id: record.id
}
await PublicApi.postOrderConfirmShipmentOrder(params)
reloadFormData && reloadFormData()
const { code } = await PublicApi.postOrderConfirmShipmentOrder(params)
if (code === 1000) {
dataRef.current.push(record.id)
reloadFormData && reloadFormData()
}
}
// 确认回单
......@@ -235,8 +243,11 @@ const OrderSaleRecord:React.FC<OrderSaleRecordProps> = (props) => {
id: record.id
}
await PublicApi.postOrderReceiptOrderConfirmed(params)
reloadFormData && reloadFormData()
const { code } = await PublicApi.postOrderReceiptOrderConfirmed(params)
if (code === 1000) {
dataRef.current.push(record.id)
reloadFormData && reloadFormData()
}
}
return (
<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