Commit f0889475 authored by 前端-钟卫鹏's avatar 前端-钟卫鹏

fix: 订单查看库存减扣添加stockId字段,新增订单商品字段添加重量和运费模板

parent 033cd60f
......@@ -303,7 +303,7 @@ const SaleOrderProductTable:React.FC<OrderProductTableProps> = (props) => {
// 合同下单模式
const contractOrder = (orderKind === OrderKindType.SRM_ORDER)
const [warehouseVisible, setWarehouseVisible] = useState(false)
const [checkProductId, setCheckProductId] = useState(0) // 选中的商品id
const [checkProduct, setCheckProduct] = useState<any>({}) // 选中的商品id
const warehouseRef = useRef<any>({})
// 判断是否可操作当前表格
......@@ -369,7 +369,7 @@ const SaleOrderProductTable:React.FC<OrderProductTableProps> = (props) => {
};
const handlePreviewWarehouse = (record) => {
setCheckProductId(record.skuId)
setCheckProduct(record)
setWarehouseVisible(true)
}
......@@ -559,9 +559,9 @@ const SaleOrderProductTable:React.FC<OrderProductTableProps> = (props) => {
]
const fetchWarehouseData = useCallback(async (params) => {
const { data } = await PublicApi.getProductPositionDeductionRecordList({...params, productId: String(checkProductId)})
const { data } = await PublicApi.getProductPositionDeductionRecordList({...params, productId: String(checkProduct?.skuId), stockId: checkProduct?.stockId})
return data
}, [checkProductId])
}, [checkProduct])
const columns = productInfoColumns.map(col => {
if (!col.editable) {
......
......@@ -68,6 +68,8 @@ export const procurementRenderField = (data) => {
// 冗余memberId memberRoleId查询自提地址使用
memberId: data.vendorMemberId,
memberRoleId: data.vendorRoleId,
// 冗余运费
freight: data.product.freight,
}
})
}
......@@ -82,6 +84,8 @@ export const procurementProcessField = (value) => {
name: item.productName,
logo: item.imgUrl,
quantity: item.purchaseCount,
logisticTemplateId: item.logistics.templateId,
weight: item.logistics.weight,
}
})
return value
......
......@@ -57,6 +57,7 @@ export const MoneyTotalBox = registerVirtualBox('moneyTotalBox', props => {
const receiverAddressId = form.getFieldValue('deliveryAddresId')
const sum = data.reduce((prev, next) => (prev*100 + (next.money || 0)*100)/100, 0)
const [freePrice, setFreePrice] = useState<number>(0)
const { pageStatus } = usePageStatus()
useEffect(() => {
if (sum + freePrice) {
......@@ -68,16 +69,32 @@ export const MoneyTotalBox = registerVirtualBox('moneyTotalBox', props => {
}, [sum, freePrice])
useEffect(() => {
// 存在商品 并且有选择收货地址,则开始计算运费,此外 收货方式变动也要重新计算
// 存在商品 并且有选择收货地址,则开始计算运费(有物流和运费模板的商品),此外 收货方式变动也要重新计算
if (data && data.length > 0 && receiverAddressId) {
// 筛选配送方式为物流的商品并且使用了运费模板
const logsiticsDataMaps = data.filter(v => v.logistics && v.logistics.useTemplate && v.logistics.deliveryType === 1)
console.log(data, 'ooo')
let logsiticsDataMaps = []
// 新增和编辑取不同的字段
if(pageStatus === PageStatus.ADD) {
logsiticsDataMaps = data.filter(v => v.logistics && v.logistics.useTemplate && v.logistics.deliveryType === 1)
} else if(pageStatus === PageStatus.EDIT) {
logsiticsDataMaps = data.filter(v => v.logistics && v.deliveryType === 1)
}
if (logsiticsDataMaps.length > 0) {
PublicApi.postLogisticsFreightTemplateCalFreightPrice({
orderProductList: logsiticsDataMaps.map(v => ({
orderProductList: pageStatus === PageStatus.ADD
?
logsiticsDataMaps.map(v => ({
templateId: v.logistics.templateId,
weight: v.logistics.weight,
count: v?.purchaseCount || 0
}))
:
logsiticsDataMaps.map(v => ({
templateId: v.logisticTemplateId,
weight: v.weight,
count: v.purchaseCount
})),
receiverAddressId: typeof receiverAddressId === 'object' ? receiverAddressId.id : receiverAddressId
}, {ttl: 10 * 1000, useCache: true, ctlType: 'none'}).then(res => {
......@@ -86,7 +103,7 @@ export const MoneyTotalBox = registerVirtualBox('moneyTotalBox', props => {
}
})
} else {
setFreePrice(0)
setFreePrice(Number(data[0]?.freight) || 0)
}
}
}, [data, receiverAddressId])
......
......@@ -7,6 +7,7 @@ import { PublicApi } from '@/services/api'
export const usePaymentInfo = (ctx: ISchemaFormActions | ISchemaFormAsyncActions, memberId: any, memberRoleId: any, products: any = []): any => {
const paywayData = useRef<any>({})
const [columns, setColumns] = useState<any[]>(paymentInformationColumns)
const markRef = useRef<boolean>(true)
// const { schemaActions, detailData } = useContext(ReadyAddOrderDetailContext)
const components = {
body: {
......@@ -16,11 +17,12 @@ export const usePaymentInfo = (ctx: ISchemaFormActions | ISchemaFormAsyncActions
}
useEffect(() => {
// 当选择报价单/会员/商品时有memberId传入时 调用支付方式api
if(memberId && products.length) {
getPayLists(memberId, memberRoleId)
// 商品有传入时 调用支付方式api
if(products.length && markRef.current) {
getPayLists(products[0].memberId, products[0].memberRoleId)
markRef.current = false
}
}, [memberId, products])
}, [products])
const initPayWayList = (memberId, memberRoleId) => {
let result = []
......
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