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

feat:确认收货

parent 82e0a7e3
import React, { useContext, useState, useEffect } from 'react'
import { Modal, Row, Col } from 'antd'
import { useHttpRequest } from '@/hooks/useHttpRequest'
import { PublicApi } from '@/services/api'
import { OrderDetailContext } from '../../_public/order/context'
import { history } from 'umi'
import moment from 'moment'
export interface OrderHandReceivedModalProps {
currentRef: any
}
const OrderHandReceivedModal:React.FC<OrderHandReceivedModalProps> = ({currentRef}) => {
const { formContext } = useContext(OrderDetailContext)
const [confirmVisible, setConfirmVisible] = useState(false)
const formData = formContext.data || {}
const { run, loading } = useHttpRequest(PublicApi.postOrderManualConfirmReceipt)
const handleConfirm = async () => {
console.log('确认收货')
const { code } = await run({
orderId: formData.id
})
if (code === 1000) {
history.goBack()
}
}
useEffect(() => {
if (currentRef) {
currentRef.current = {
visible: confirmVisible,
setVisible: setConfirmVisible
}
}
}, [])
return <Modal
title='收货信息'
onOk={handleConfirm}
onCancel={() => setConfirmVisible(false)}
visible={confirmVisible}
confirmLoading={loading}
>
{
formData &&
<>
<Row>
<Col span={6}>发货地址: </Col>
<Col>{formData.name}</Col>
</Row>
<Row>
<Col span={6}>发货时间: </Col>
<Col>{moment(formData.deliverTime).format('YYYY-MM-DD')}</Col>
</Row>
<Row>
<Col span={6}>物流单号: </Col>
<Col>{formData.deliverNo}</Col>
</Row>
<Row>
<Col span={6}>物流公司: </Col>
<Col>{formData.logisticsCompany}</Col>
</Row>
</>
}
</Modal>
}
OrderHandReceivedModal.defaultProps = {}
export default OrderHandReceivedModal
\ No newline at end of file
import React from 'react';
import React, { useState, useCallback, useRef } from 'react';
import { OrderDetailContext } from '../../../_public/order/context';
import { PublicApi } from '@/services/api';
import { Button } from 'antd';
import OrderDetailHeader from '@/pages/transaction/components/OrderDetailHeader';
import OrderDetailWrapper from '@/pages/transaction/components/OrderDetailWrapper';
import PreLoading from '@/components/PreLoading';
import { useOrderDetail } from '../../../_public/order/effects/useOrderDetail';
import ApprovedOrderModal from '../../../components/approvedOrderModal';
import { history } from 'umi'
import { useHttpRequest } from '@/hooks/useHttpRequest';
import OrderDetailSection from '../../../components/orderDetailSection';
import { PurchaseOrderInsideWorkState } from '@/constants';
import OrderHandReceivedModal from '@/pages/transaction/components/orderHandReceivedModal';
const ReadyReceiveOrderDetail: React.FC = () => {
const { formContext, id, detailList } = useOrderDetail({type: 'purchaseOrder'})
const approvedRef = useRef<any>({})
// 是否是手工收货
const isHeadReceipt = formContext.data.interiorState === PurchaseOrderInsideWorkState.HAND_RECEIPT_ORDER
const handleClick = useCallback(() => {
if (isHeadReceipt) {
// 手工收货
approvedRef.current.setVisible(true)
} else {
// 正常收货
const deleveBox = document.querySelector('#deleveBox') as any
window.scrollTo(0, deleveBox.offsetTop)
}
}, [isHeadReceipt])
return (
<div>
待收货订单详情
<OrderDetailContext.Provider value={formContext}>
<OrderDetailHeader detailList={detailList} detailData={formContext.data} extraRight={
<Button type='primary' onClick={handleClick}>
{isHeadReceipt ? '手工收货' : '去确认收货'}
</Button>
} />
<OrderDetailWrapper>
<PreLoading loading={!formContext.data} active paragraph={{rows: 6}}>
<OrderDetailSection formContext={formContext}/>
</PreLoading>
</OrderDetailWrapper>
<OrderHandReceivedModal
currentRef={approvedRef}
/>
</OrderDetailContext.Provider>
</div>
);
};
......
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