Commit 2e1f3cb9 authored by GuanHua's avatar GuanHua

feat:进货单有多种物流方式的商品时处理

parent 577cdad7
...@@ -169,9 +169,7 @@ const PurchaseOrder: React.FC<PurchaseOrderPropsType> = (props) => { ...@@ -169,9 +169,7 @@ const PurchaseOrder: React.FC<PurchaseOrderPropsType> = (props) => {
defaultCheckedList: item.orderList.map(item => item.id) defaultCheckedList: item.orderList.map(item => item.id)
}) })
}) })
console.log(result)
setOrderList(result) setOrderList(result)
// !initChecked && setCheckedList(result.map(item => item.id))
} }
const onCheckAllChange = (e: any) => { const onCheckAllChange = (e: any) => {
...@@ -240,7 +238,7 @@ const PurchaseOrder: React.FC<PurchaseOrderPropsType> = (props) => { ...@@ -240,7 +238,7 @@ const PurchaseOrder: React.FC<PurchaseOrderPropsType> = (props) => {
* @param id * @param id
*/ */
const handleCountChange = (count: number, id: number, type: string) => { const handleCountChange = (count: number, id: number, type: string) => {
handleChangeFinishCount(count, id) handleChangeFinishCount(count, id)
if(type === 'click' || type === 'blur') { if(type === 'click' || type === 'blur') {
if (countState) { if (countState) {
countState = false countState = false
...@@ -271,14 +269,13 @@ const PurchaseOrder: React.FC<PurchaseOrderPropsType> = (props) => { ...@@ -271,14 +269,13 @@ const PurchaseOrder: React.FC<PurchaseOrderPropsType> = (props) => {
}) })
} }
} }
}
const handleBlur = (count: number, id: number) => {
console.log(countState, count, "handleBlur")
} }
/**
* 修改商品购买数量
* @param count
* @param id
*/
const handleChangeFinishCount = (count, id) => { const handleChangeFinishCount = (count, id) => {
const result = orderList.map(item => { const result = orderList.map(item => {
item.orderList = item.orderList.map(childItem => { item.orderList = item.orderList.map(childItem => {
...@@ -456,6 +453,10 @@ const PurchaseOrder: React.FC<PurchaseOrderPropsType> = (props) => { ...@@ -456,6 +453,10 @@ const PurchaseOrder: React.FC<PurchaseOrderPropsType> = (props) => {
}) })
} }
/**
* 获取支付方式
* @param memberId
*/
const getPayWayListByMemberId = (memberId: number) => { const getPayWayListByMemberId = (memberId: number) => {
return new Promise((resolve) => { return new Promise((resolve) => {
if (!memberId) { if (!memberId) {
...@@ -530,13 +531,19 @@ const PurchaseOrder: React.FC<PurchaseOrderPropsType> = (props) => { ...@@ -530,13 +531,19 @@ const PurchaseOrder: React.FC<PurchaseOrderPropsType> = (props) => {
const buyOrderlist = [] const buyOrderlist = []
const selectOrderList = selectItem.orderList.filter(item => selectItem.checkedList.includes(item.id)) const selectOrderList = selectItem.orderList.filter(item => selectItem.checkedList.includes(item.id))
let commonLogistics = {} let commonLogistics = {}
let hasLogistics = false
let logisticsInfo = {}
setConfirmLoading(true) setConfirmLoading(true)
const purchaseIds = [] const purchaseIds = []
for (const item of selectOrderList) { for (const item of selectOrderList) {
purchaseIds.push(item.id) purchaseIds.push(item.id)
productIds.push(item.commodityUnitPrice.id) productIds.push(item.commodityUnitPrice.id)
commonLogistics = item.commodityUnitPrice.commodity.logistics commonLogistics = item.commodityUnitPrice.commodity.logistics
if(item.commodityUnitPrice.commodity.logistics.deliveryType === 1) {
hasLogistics = true
logisticsInfo = item.commodityUnitPrice.commodity.logistics
}
const buyCommodityInfo: any = { const buyCommodityInfo: any = {
id: item.commodityUnitPrice.id, id: item.commodityUnitPrice.id,
purchaseId: item.id, purchaseId: item.id,
...@@ -553,6 +560,7 @@ const PurchaseOrder: React.FC<PurchaseOrderPropsType> = (props) => { ...@@ -553,6 +560,7 @@ const PurchaseOrder: React.FC<PurchaseOrderPropsType> = (props) => {
attribute: item.commodityUnitPrice.attributeAndValueList, attribute: item.commodityUnitPrice.attributeAndValueList,
stockCount: item.stockCount || 0 stockCount: item.stockCount || 0
} }
if (item.commodityUnitPrice.commodity.isMemberPrice) { if (item.commodityUnitPrice.commodity.isMemberPrice) {
buyCommodityInfo.memberDiscount = await getMemberCredit(item.commodityUnitPrice.commodity.memberId, item.commodityUnitPrice.commodity.memberRoleId) buyCommodityInfo.memberDiscount = await getMemberCredit(item.commodityUnitPrice.commodity.memberId, item.commodityUnitPrice.commodity.memberRoleId)
} }
...@@ -564,7 +572,7 @@ const PurchaseOrder: React.FC<PurchaseOrderPropsType> = (props) => { ...@@ -564,7 +572,7 @@ const PurchaseOrder: React.FC<PurchaseOrderPropsType> = (props) => {
purchaseOrder: true, // 是否进货单下单 purchaseOrder: true, // 是否进货单下单
idList: purchaseIds, idList: purchaseIds,
productType: (layoutType === LAYOUT_TYPE.channel || layoutType === LAYOUT_TYPE.ichannel) ? 2 : 1, productType: (layoutType === LAYOUT_TYPE.channel || layoutType === LAYOUT_TYPE.ichannel) ? 2 : 1,
logistics: commonLogistics, logistics: hasLogistics ? logisticsInfo : commonLogistics,
supplyMembersName: selectItem.shopname, supplyMembersName: selectItem.shopname,
supplyMembersId: selectItem.memberId, supplyMembersId: selectItem.memberId,
supplyMembersRoleId: selectItem.memberRoleId, supplyMembersRoleId: selectItem.memberRoleId,
......
...@@ -34,6 +34,7 @@ const BasicInfo: React.FC<queryProps> = (props) => { ...@@ -34,6 +34,7 @@ const BasicInfo: React.FC<queryProps> = (props) => {
const [visibleChannelMember, setVisibleChannelMember] = useState(false); const [visibleChannelMember, setVisibleChannelMember] = useState(false);
const [memberName, setmemberName] = useState<any>(); const [memberName, setmemberName] = useState<any>();
const [memberId, setmemberId] = useState<any>(); const [memberId, setmemberId] = useState<any>();
const [roleId, setroleId] = useState<any>();
const [memberRowSelection, memberRowCtl] = useRowSelectionTable({ customKey: 'memberId', type: 'radio' }); const [memberRowSelection, memberRowCtl] = useRowSelectionTable({ customKey: 'memberId', type: 'radio' });
const handleOkAddMember = () => { const handleOkAddMember = () => {
setVisibleChannelMember(false) setVisibleChannelMember(false)
...@@ -42,6 +43,7 @@ const BasicInfo: React.FC<queryProps> = (props) => { ...@@ -42,6 +43,7 @@ const BasicInfo: React.FC<queryProps> = (props) => {
memberId: memberRowCtl.selectRow[0].memberId memberId: memberRowCtl.selectRow[0].memberId
} }
setmemberId(memberRowCtl.selectRow[0].memberId) setmemberId(memberRowCtl.selectRow[0].memberId)
setroleId(memberRowCtl.selectRow[0].roleId)
setmemberName(memberRowCtl.selectRow[0].name); setmemberName(memberRowCtl.selectRow[0].name);
getMemberList(memberInfo); // 回传给父级 getMemberList(memberInfo); // 回传给父级
} }
...@@ -141,6 +143,7 @@ const BasicInfo: React.FC<queryProps> = (props) => { ...@@ -141,6 +143,7 @@ const BasicInfo: React.FC<queryProps> = (props) => {
}) })
setmemberName(editData.memberName) setmemberName(editData.memberName)
setmemberId(editData.memberId) setmemberId(editData.memberId)
setroleId(editData.roleId)
} }
}, [editData]) }, [editData])
...@@ -157,7 +160,7 @@ const BasicInfo: React.FC<queryProps> = (props) => { ...@@ -157,7 +160,7 @@ const BasicInfo: React.FC<queryProps> = (props) => {
</Form.Item> </Form.Item>
<Form.Item label='被询价会员' name='memberId' rules={[{ required: true, message: '请选择被询价会员' }]}> <Form.Item label='被询价会员' name='memberId' rules={[{ required: true, message: '请选择被询价会员' }]}>
<Search disabled={type === 3} value={memberName ? memberName : undefined} readOnly enterButton={<><LinkOutlined /> 选择</>} onSearch={()=>setVisibleChannelMember(true)} /> <Search disabled={type === 3} value={memberName ? memberName : undefined} readOnly enterButton={<><LinkOutlined /> 选择</>} onSearch={()=>setVisibleChannelMember(true)} />
{memberName && <Button type='link' onClick={() => window.open(`/shop?shopId=${btoa(JSON.stringify({memberId}))}`)}>查看会员详情</Button>} {memberName && <Button type='link' onClick={() => window.open(`/shop?shopId=${btoa(JSON.stringify({memberId, roleId}))}`)}>查看会员详情</Button>}
</Form.Item> </Form.Item>
<Form.Item label='询价单号' name='orderNumber'> <Form.Item label='询价单号' name='orderNumber'>
<span>{(Object.keys(editData).length > 0 && editData.inquiryListNo) ? editData.inquiryListNo : '-'}</span> <span>{(Object.keys(editData).length > 0 && editData.inquiryListNo) ? editData.inquiryListNo : '-'}</span>
......
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