Commit be399149 authored by GuanHua's avatar GuanHua

fix:1. 商品详情最新销售商品列表接口参数调整;2.下单接口添加商品id传参

parent 9ddc6269
......@@ -292,7 +292,7 @@ const Commodity: React.FC<CommodityPropsType> = (props) => {
}
setConfirmLoading(true)
saveCommonlyUsedFilter(commonlyUsedName).then(() => {
resolve()
resolve(true)
setCommonlyUsedName("")
setConfirmLoading(false)
setModalVisible(false)
......
......@@ -62,7 +62,6 @@ const BrowseRecords: React.FC<BrowseRecordsPropsType> = (props) => {
return <div className={styles.product_price}>{priceFormat(info.min)}</div>
default:
return null
break
}
}
return null
......@@ -83,7 +82,7 @@ const BrowseRecords: React.FC<BrowseRecordsPropsType> = (props) => {
{
item.map((childItem, childIndex) => (
<div key={`browse_records_product_list_item_${childIndex}`} className={styles.browse_records_product_list_item}>
<a href={getCommodityDetailLink(childItem)} title={childItem.name} target="_blank">
<a href={getCommodityDetailLink(childItem)} title={childItem.name} target="_blank" rel="noreferrer">
<div className={styles.product_img_box}>
<ImageBox width={110} height={110} imgUrl={childItem.mainPic} direction="column" />
</div>
......
......@@ -8,14 +8,14 @@ import styles from './index.less'
import { message } from 'antd'
import { LAYOUT_TYPE, COMMODITY_TYPE } from '@/constants'
interface imgItemType {
interface ImgItemType {
id: number;
commodityPic: string;
}
interface ExhibitionPropsType {
imgList: imgItemType[];
imgList: ImgItemType[];
commodityDetail: GetSearchShopStoreGetCommodityDetailResponse;
layoutType: LAYOUT_TYPE;
priceType: number;
......@@ -48,8 +48,8 @@ const Exhibition: React.FC<ExhibitionPropsType> = (props) => {
}
const handleNext = () => {
let imgLength = imgList.length
let maxDistance = (imgLength - 5) * 70
const imgLength = imgList.length
const maxDistance = (imgLength - 5) * 70
if (maxDistance > Math.abs(offSetLeft)) {
setOffSetLeft(offSetLeft - 70)
......@@ -88,11 +88,10 @@ const Exhibition: React.FC<ExhibitionPropsType> = (props) => {
*/
const getCollectState = () => {
if (getAuth()) {
let param: any = {
const param: any = {
commodityId: commodityDetail.id,
type: getLayoutType()
}
//@ts-ignore
PublicApi.getSearchShopCommodityCollectGetCommodityCollect(param).then(res => {
if (res.code === 1000) {
setCollectState(res.data.isCollect)
......@@ -119,7 +118,7 @@ const Exhibition: React.FC<ExhibitionPropsType> = (props) => {
if (collectFlg) {
collectFlg = false
let postFn;
let param: any = {
const param: any = {
commodityId: commodityDetail.id,
type: getLayoutType()
}
......
......@@ -27,10 +27,11 @@ const Interested: React.FC<InterestedPropsType> = (props) => {
const getchLatelyCommodity = () => {
let getFn
let param: any = {
const param: any = {
current: 1,
pageSize: 5
}
const headers: any = {}
switch (layoutType) {
case LAYOUT_TYPE.shop:
case LAYOUT_TYPE.mall:
......@@ -47,7 +48,19 @@ const Interested: React.FC<InterestedPropsType> = (props) => {
}
break
case LAYOUT_TYPE.channel:
headers.type = 3
param.channelMemberId = shopInfo.memberId
if (priceType === COMMODITY_TYPE.integral) {
param.priceTypeList = [3]
} else if (priceType === COMMODITY_TYPE.inquiry) {
param.priceTypeList = [2]
} else if (priceType === COMMODITY_TYPE.prompt) {
param.priceTypeList = [1]
}
getFn = PublicApi.postSearchShopChannelGetCommodityList
break
case LAYOUT_TYPE.ichannel:
headers.type = 4
param.channelMemberId = shopInfo.memberId
if (priceType === COMMODITY_TYPE.integral) {
param.priceTypeList = [3]
......@@ -61,7 +74,7 @@ const Interested: React.FC<InterestedPropsType> = (props) => {
default:
break;
}
getFn && getFn(param).then(res => {
getFn && getFn(param, { headers }).then(res => {
if (res.code === 1000) {
message.destroy()
setCommodityList(res.data.data)
......@@ -103,10 +116,9 @@ const Interested: React.FC<InterestedPropsType> = (props) => {
return <div className={styles.interested_product_list_item_price}><span></span> {priceFormat(info.min)}</div>
default:
return null
break
}
}
return null
}
......
......@@ -538,7 +538,7 @@ const CommodityDetail = (props) => {
PublicApi.postOrderDirectPayment(param).then(res => {
if (res.code === 1000) {
message.destroy()
const buyCommodityInfo = {
const buyCommodityInfo: any = {
id: selectCommodityId,
count: buyCount,
unitName: commodityDetail.unitName,
......@@ -555,6 +555,9 @@ const CommodityDetail = (props) => {
attribute: attrAndValList.attributeAndValueList,
isMemberPrice: commodityDetail.isMemberPrice ? 1 : 0
}
if(layoutType === LAYOUT_TYPE.channel || layoutType === LAYOUT_TYPE.ichannel) {
buyCommodityInfo.channelProductId = commodityDetail.id
}
const sessionKey = `${commodityDetail.id}${new Date().getTime()}`
......
......@@ -110,7 +110,7 @@ const Recommand: React.FC<RecommandPropsType> = (props) => {
getFn = PublicApi.getTemplateAdornWebChannelFindAllFirstCategory
break;
default:
getFn = PublicApi.getTemplatePlatformFindAllFirstCategory
getFn = PublicApi.getTemplateWebCategoryWebFindAllFirstCategory
break;
}
......@@ -126,7 +126,7 @@ const Recommand: React.FC<RecommandPropsType> = (props) => {
* 获取一级品类详细信息
*/
const fetchCategoryById = (categoryId) => {
return new Promise((resolve) => {
return new Promise((resolve, reject) => {
const param: any = {
categoryId
}
......@@ -145,28 +145,41 @@ const Recommand: React.FC<RecommandPropsType> = (props) => {
getFn = PublicApi.getTemplateAdornWebChannelMemberCategoryAdorn
break
default:
getFn = PublicApi.getTemplatePlatformFindFirstCategoryDetail
getFn = PublicApi.getTemplateAdornWebEnterpriseCategoryAdorn
templateId = mallTemplateId
break;
}
param.templateId = templateId
if( templateId ) {
param.templateId = templateId
getFn && getFn(param).then(res => {
if (res.code === 1000) {
resolve(res.data)
}
})
} else {
reject(false)
}
getFn && getFn(param).then(res => {
if (res.code === 1000) {
resolve(res.data)
}
})
})
}
/**
* 获取商城装修第一个品类的商品列表
*/
const getCategoryComponents = async () => {
const firstCategory: any = await fetchFirstCategory()
if (firstCategory[0]) {
const categoryDetail: any = await fetchCategoryById(firstCategory[0].id)
setList(changeDataKey(categoryDetail.goodsBOList))
if(categoryDetail) {
setList(changeDataKey(categoryDetail.goodsBOList))
}
}
}
/**
* 根据商城类型返回不同的商品详情链接
* @param item
*/
const getCommodityDetailLink = (item) => {
let link = ""
switch (layoutType) {
......
......@@ -164,6 +164,9 @@ const Order: React.FC<OrderPropsType> = (props) => {
}
}
/**
* 根据url中的spam_id获取sessionStorage中的订单信息
*/
const initOrderInfo = async () => {
const result = []
const sessionOrderInfo: any = await getOrderInfo(spam_id)
......@@ -185,56 +188,6 @@ const Order: React.FC<OrderPropsType> = (props) => {
item.orderList = tempOrderList
result.push(item)
}
// const productId = sessionOrderInfo?.orderList[0]?.orderList[0].id
// // 根据商品ID获取工作流信息,判断是否需要签署合同
// if (productId) {
// try {
// const param: any = {
// productId,
// shopId: storeId,
// memberId: sessionOrderInfo.supplyMembersId,
// memberRoleId: sessionOrderInfo.supplyMembersRoleId,
// }
// const rulesRes = await PublicApi.getOrderTradingRulesByProductId(param)
// const { data } = rulesRes
// if (data) {
// // 是否选用电子合同
// if (data.isElectronicContract) {
// setElectronicContractId(data.electronicContractId)
// if (sessionStorage.getItem(`contract${spam_id}`)) {
// setContractInfo(JSON.parse(sessionStorage.getItem(`contract${spam_id}`)))
// setIsElectronicContract(true)
// } else {
// // 根据电子合同模板id获取生成电子合同
// const param: any = {
// orderModel: getOrderMode(), // 下单模式
// contractTemplateId: data.electronicContractId,
// signMemberId: sessionOrderInfo.supplyMembersId,
// signRoleId: sessionOrderInfo.supplyMembersRoleId,
// orderProductRequests: getOrderProductRequests().orderProductRequests,
// }
// if (sessionOrderInfo.logistics.deliveryType === 1 && selectAddressInfo) {
// param.deliveryAddresId = selectAddressInfo.id
// }
// const signRes = await PublicApi.postOrderSignatureSignContractCreate(param)
// const signData: any = signRes.data
// message.destroy()
// if (signRes.code === 1000) {
// setContractInfo(signData)
// sessionStorage.setItem(`contract${spam_id}`, JSON.stringify(signData))
// } else {
// setContracErrorInfo(signRes.message)
// }
// setIsElectronicContract(true)
// }
// }
// }
// } catch (error) {
// console.log("获取交易规则失败")
// }
// }
setOrderList(result)
setOrderInfo(sessionOrderInfo)
setSpinningState(false)
......@@ -397,6 +350,9 @@ const Order: React.FC<OrderPropsType> = (props) => {
temp.memberId = orderInfo.supplyMembersId
temp.memberRoleId = orderInfo.supplyMembersRoleId
temp.isMemberPrice = orderItem.isMemberPrice
if(orderItem.channelProductId) {
temp.channelProductId = orderItem.channelProductId
}
orderProductRequests.push(temp)
}
}
......
......@@ -573,6 +573,11 @@ const PurchaseOrder: React.FC<PurchaseOrderPropsType> = (props) => {
isMemberPrice: item.commodityUnitPrice.commodity.isMemberPrice ? 1 : 0
}
// 如果是渠道商品就添加渠道商品的id(非skuId)
if(layoutType === LAYOUT_TYPE.channel || layoutType === LAYOUT_TYPE.ichannel) {
buyCommodityInfo.channelProductId = item.commodityUnitPrice.commodity.id
}
if (item.commodityUnitPrice.commodity.isMemberPrice) {
buyCommodityInfo.memberDiscount = await getMemberCredit(item.commodityUnitPrice.commodity.memberId, item.commodityUnitPrice.commodity.memberRoleId)
}
......
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