Commit 6d5f3452 authored by LeeJiancong's avatar LeeJiancong

'优化物流单详情相关计算'

parent 52088727
......@@ -43,7 +43,8 @@ const detailInfo: React.FC<{}> = () => {
let [dataInfo, setdataInfo] = useState<any>({
status: '',
digest: '',
logisticsOrderNo:'',
logisticsOrderCode:'',
invoicesNo:'',
companyName:'',
invoicesTime:'',
detailList:[],
......@@ -84,7 +85,7 @@ const detailInfo: React.FC<{}> = () => {
base: {
title: '基本信息',
leftElem: [
{ title: '对应发货单号:', key: 'shipmentOrderNo',value: dataInfo.shipmentOrderNo },
{ title: '对应发货单号:', key: 'shipmentOrderNo',value: dataInfo.shipmentOrderCode },
{ title: '对应订单号/售后单:', key: '',value: dataInfo.invoicesNo }
],
centerElem: [
......@@ -233,7 +234,7 @@ const detailInfo: React.FC<{}> = () => {
})
}
//物流单处理 物流单查询
if (pathname === '/memberCenter/logisticsAbility/logisticsResult/orderResultDeatil') {
PublicApi.getLogisticsOrderConfirmGet({ id: id }).then(res => {
setdataInfo(res.data)
......
/*
* @Author: LeeJiancong
* @Date: 2020-09-23 10:24:42
* @LastEditors: LeeJiancong
* @Copyright: 1549414730@qq.com
* @LastEditTime: 2020-09-23 11:29:20
* 外部流转记录
*/
import React, { Component,useRef,ReactNode } from 'react';
import { PublicApi } from '@/services/api'
import {StandardTable} from 'god'
import {Badge} from 'antd'
import {ColumnType} from 'antd/lib/table/interface'
import moment from 'moment'
const columns: ColumnType<any>[] = [
{
title: '序号',
dataIndex: 'operatorRoleId',
align: 'center',
key: 'operatorRoleId',
},
{
title: '操作角色',
dataIndex: 'operatorRoleName',
align: 'center',
key: 'operatorRoleName',
},
{
title: '状态',
dataIndex: 'status',
align: 'left',
key: 'status',
render: (text: number, record: any) => {
let component: ReactNode = null;
text === 1 ? component = <Badge status='default' text="待提交" />:
text === 2 ? component = <Badge status='processing' text="待确认" />:
text === 3 ? component = <Badge status='success' text="接受物流单" />:
component = <Badge status='error' text="不接受物流单" />
return component;
},
},
{
title: '操作',
dataIndex: 'type',
align: 'center',
key: 'type',
render: (text: number ,record:any) =>
<>{text === 1 ?'提交物流单':'确认物流单'}</>
},
{
title: '操作时间',
dataIndex: 'operateTime',
align: 'center',
key: 'operateTime',
render:(text: any, record: any) => <>{moment(text).format('YYYY-MM-DD HH:mm:ss')}</>
},
{
title: '审核意见',
dataIndex: 'remark',
align: 'center',
key: 'remark',
width: 300
},
];
export interface Params{
id: string | number,
pathName?: string,
type: string //Submit 能力中心待提交
}
const Log: React.FC<Params> = (props) => {
const ref = useRef<any>({})
const fetchData = (params: any) => {
if(!props.id){
return
}
if(props.type === 'Submit'){
return new Promise((resolve, reject) => {
PublicApi.getLogisticsOrderWaitSubmitPageOrderLog({...params,orderId:props.id}).then(res => {
if(res.code === 1000){
resolve(res.data)
}
})
});
}
};
return <StandardTable
tableProps={{rowKey:'id'}}
currentRef={ref}
columns={columns}
fetchTableData={(params: any) => fetchData(params)}
/>
}
Log.defaultProps= {
type:"Submit"
}
export default Log
\ No newline at end of file
......@@ -3,7 +3,7 @@
* @Date: 2020-07-28 11:25:30
* @LastEditors: LeeJiancong
* @Copyright: 1549414730@qq.com
* @LastEditTime: 2020-09-22 16:48:27
* @LastEditTime: 2020-09-23 15:39:49
*/
import React, { Component, useEffect, useRef, useState, ReactNode } from 'react'
......@@ -17,6 +17,7 @@ import { PATTERN_MAPS } from '@/constants/regExp'
import { useRowSelectionTable } from '@/hooks/useRowSelectionTable'
import { PageStatus, usePageStatus } from '@/hooks/usePageStatus'
import ListMadal from '../components/sumbitOrderModal'
import OrderLog from '../components/pageOrderLog'
import { PublicApi } from '@/services/api'
import {
Submit,
......@@ -327,16 +328,32 @@ const Deatail: React.FC<{}> = () => {
</Button>
)
/**
* @description: 保存
* @param {type}
* @return {type}
*/
const FormSubmit = (values: any) => {
let value = { ...values }
console.log('value', value, JSON.stringify(value))
PublicApi.postLogisticsOrderWaitSubmitAdd(value).then(res => {
if (res.code === 1000) {
setTimeout(() => {
history.goBack()
}, 1000)
}
})
if(id){
value['id'] = id
PublicApi.postLogisticsOrderWaitSubmitUpdate(value).then(res => {
if (res.code === 1000) {
setTimeout(() => {
history.goBack()
}, 1000)
}
})
}else{
PublicApi.postLogisticsOrderWaitSubmitAdd(value).then(res => {
if (res.code === 1000) {
setTimeout(() => {
history.goBack()
}, 1000)
}
})
}
}
const headList = [
{
......@@ -390,28 +407,37 @@ const Deatail: React.FC<{}> = () => {
onFieldValueChange$('detailList').subscribe(({ value }) => {
setFieldValue('detailList', value)
let detailData = value
let _totalCarton = 0, _totalVolume = 0, _totalWeight = 0
if (detailData && detailData.length > 0) {
detailData.forEach(v => {
if (v.amount && v.carton) {
_totalCarton += Number(v.amount) * Number(v.carton)
}
if (v.amount && v.volume) {
_totalVolume += Number(v.amount) * Number(v.volume)
}
if (v.amount && v.weight) {
_totalWeight += Number(v.amount) * Number(v.weight)
}
});
setTotalCarton(_totalCarton)
setTotalVolume(_totalVolume)
setTotalWeight(_totalWeight)
}
computedALL(detailData)
})
}
/**
* @description: 结算 计算
* @param {type}
* @return {type}
*/
const computedALL = (data) => {
let _totalCarton = 0, _totalVolume = 0, _totalWeight = 0
if (data && data.length > 0) {
data.forEach(v => {
if (v.amount && v.carton) {
_totalCarton += Number(v.carton)
}
if (v.amount && v.volume) {
_totalVolume += Number(v.volume)
}
if (v.amount && v.weight) {
_totalWeight += Number(v.weight)
}
});
}
setTotalCarton(_totalCarton)
setTotalVolume(_totalVolume)
setTotalWeight(_totalWeight)
}
/**
* @description: 订单 || 发货单弹窗
* @param {type}
* @return {type}
......@@ -427,17 +453,17 @@ const Deatail: React.FC<{}> = () => {
setvisibleObj({ ...visibleObj, ModalSeletOrder1: false })
break;
case 2://发货单
// memberName 收货方
let {deliveryAddresId, fullAddress,memberName } = values[0]
setShipmentOrderID(id)
setReceiverAddress(address)
actions.setFieldValue('shipmentOrderCode', orderNo)
actions.setFieldValue("receiverName",memberName)
actions.setFieldValue("receiverAddressId",deliveryAddresId)
actions.setFieldValue("receiverFullAddress",fullAddress)
setvisibleObj({ ...visibleObj, ModalSeletOrder2: false })
break;
}
}
......@@ -536,16 +562,9 @@ const Deatail: React.FC<{}> = () => {
</Col>
</Row>
<FormItem name="id2" label='收货方'>
<>
{}
</>
</FormItem>
<FormItem label='收货地址'>
<>
{receiverAddress}
</>
</FormItem>
<FormItem editable={false} name="receiverName" label='收货方' component={Input}/>
<FormItem display={false} editable={false} name="receiverAddressId" label='收货地址id' component={Input}/>
<FormItem editable={false} name="receiverFullAddress" label='收货地址' component={Input}/>
<FormItem name="shipperAddressId" label="发货地址" dataSource={shipperAddress} required component={Select} />
</Col>
</Row>
......@@ -575,7 +594,15 @@ const Deatail: React.FC<{}> = () => {
}
</Row>
{state.value.map((item: any, index: any) => {
const onRemove = (index: number) => mutators.remove(index)
const onRemove = (index: number) => {
mutators.remove(index)
console.log(index)
let list = actions.getFieldValue('detailList')
let _list = list.splice(1,index)
console.log('_list',_list)
actions.setFieldValue('detailList',..._list)
computedALL(_list)
}
return (
<>
<Row gutter={[10, 10]} key={'index' + index}>
......@@ -661,7 +688,7 @@ const Deatail: React.FC<{}> = () => {
/>
</Col>
<Col span={1}>
<Button type='link' onClick={onRemove.bind(null, index)}>删除</Button>
<Button type='link' onClick={() => onRemove(index)}>删除</Button>
</Col>
</Row>
......@@ -701,12 +728,7 @@ const Deatail: React.FC<{}> = () => {
</FormItem>
</TabPane>
<TabPane key='tab-4' tab='流转记录'>
<StandardTable
tableProps={{ rowKey: 'id' }}
columns={columns}
currentRef={ref}
fetchTableData={(params: any) => fetchData(params)}
/>
<OrderLog id={id} type="Submit"/>
</TabPane>
</Tabs>
......@@ -728,13 +750,6 @@ const Deatail: React.FC<{}> = () => {
dialogVisible={visibleObj.ModalSeletOrder2}
onCancel={() => setvisibleObj({ ...visibleObj, ModalSeletOrder2: false })}
/>
{/*
<ListMadal title='选择商品'
columns={columns3}
type={3}
dialogVisible={visibleObj.ModalSeletOrder3}
onCancel={() => setvisibleObj({ ...visibleObj, ModalSeletOrder3: false })}
/> */}
<ModalTable
modalTitle='选择商品'
confirm={handleConfirmProduct}
......
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