feat(ID1000781):【Bug转需求】设置了默认地址,确定订单页面选择“物流”方式时,需要自动选择默认地址

This commit is contained in:
Haiyi 2022-12-06 14:35:30 +08:00
parent d35ca6004f
commit 81f6c48794

View File

@ -15,6 +15,7 @@ import {
import { alert } from '@/common/common'
import { formatDateTime, formatPriceDiv, formatWeightDiv } from '@/common/format'
import IconFont from '@/components/iconfont/iconfont'
import { MpPurchaserAddressList } from '@/api/addressList'
// 卡片盒子元素
interface Obs {
@ -99,6 +100,10 @@ const GoodsItem = (porps: PropGoods) => {
const GoodsItemWithMemo = memo(GoodsItem)
const SubmitOrder = () => {
const addrssRef = useRef<any>([])
const pages = Taro.getCurrentPages()
const currPage = pages[pages.length - 1] // 获取当前页面
const { fetchData: addressFetch } = MpPurchaserAddressList()
const router: any = useRouter()
const [infoObj, setInfoObj] = useState<any>({})
let selectId = -1
@ -116,6 +121,21 @@ const SubmitOrder = () => {
title: '请稍等...',
mask: true,
})
if (value === 2 && addrssRef.current.length > 0 && !currPage.data?.addressObj) {
setInfoObj(val => ({
...val,
province_name: addrssRef.current[0]?.province_name,
address_id: addrssRef.current[0]?.id,
city_name: addrssRef.current[0]?.city_name,
address_detail: addrssRef.current[0]?.address_detail,
district_name: addrssRef.current[0]?.district_name,
target_user_name: addrssRef.current[0]?.name,
purchaser_phone: addrssRef.current[0]?.phone,
}))
}
else {
alert.error('请选择一个收货地址')
}
setReceivingStatus(value)
Taro.hideLoading()
}, 300)
@ -213,13 +233,18 @@ const SubmitOrder = () => {
})
}
// 获取地址
const getAddress = async() => {
const result = await addressFetch({ purchaser_id: router.params.purchaser_id })
addrssRef.current = result?.data?.list.filter((item) => { return item.is_default })
}
useEffect(() => {
setInfoObj(infoObj)
}, [infoObj])
useDidShow(() => {
// 获取选择的地址
const pages = Taro.getCurrentPages()
const currPage = pages[pages.length - 1] // 获取当前页面
setInfoObj(val => ({
...val,
sale_mode: Number(router.params.sale_mode),
@ -253,7 +278,9 @@ const SubmitOrder = () => {
setReceivingStatus(2)
}
})
useEffect(() => {
getAddress()
getDetail()
}, [])
return (