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 { alert } from '@/common/common'
import { formatDateTime, formatPriceDiv, formatWeightDiv } from '@/common/format' import { formatDateTime, formatPriceDiv, formatWeightDiv } from '@/common/format'
import IconFont from '@/components/iconfont/iconfont' import IconFont from '@/components/iconfont/iconfont'
import { MpPurchaserAddressList } from '@/api/addressList'
// 卡片盒子元素 // 卡片盒子元素
interface Obs { interface Obs {
@ -99,6 +100,10 @@ const GoodsItem = (porps: PropGoods) => {
const GoodsItemWithMemo = memo(GoodsItem) const GoodsItemWithMemo = memo(GoodsItem)
const SubmitOrder = () => { 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 router: any = useRouter()
const [infoObj, setInfoObj] = useState<any>({}) const [infoObj, setInfoObj] = useState<any>({})
let selectId = -1 let selectId = -1
@ -116,6 +121,21 @@ const SubmitOrder = () => {
title: '请稍等...', title: '请稍等...',
mask: true, 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) setReceivingStatus(value)
Taro.hideLoading() Taro.hideLoading()
}, 300) }, 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(() => { useEffect(() => {
setInfoObj(infoObj) setInfoObj(infoObj)
}, [infoObj]) }, [infoObj])
useDidShow(() => { useDidShow(() => {
// 获取选择的地址 // 获取选择的地址
const pages = Taro.getCurrentPages()
const currPage = pages[pages.length - 1] // 获取当前页面
setInfoObj(val => ({ setInfoObj(val => ({
...val, ...val,
sale_mode: Number(router.params.sale_mode), sale_mode: Number(router.params.sale_mode),
@ -253,7 +278,9 @@ const SubmitOrder = () => {
setReceivingStatus(2) setReceivingStatus(2)
} }
}) })
useEffect(() => { useEffect(() => {
getAddress()
getDetail() getDetail()
}, []) }, [])
return ( return (