feat(ID1000902):订单补充发货信息

This commit is contained in:
Haiyi 2023-02-21 14:46:03 +08:00
parent 4c6ea5f1d2
commit eaf107398d
3 changed files with 204 additions and 146 deletions

View File

@ -18,7 +18,8 @@
&:nth-last-child(n + 2) { &:nth-last-child(n + 2) {
padding-bottom: 30px; padding-bottom: 30px;
} }
.order_status_tail_end, .order_status_tail{ .order_status_tail_end,
.order_status_tail {
width: 15px; width: 15px;
height: 15px; height: 15px;
border: 2px solid $color_main; border: 2px solid $color_main;
@ -41,33 +42,53 @@
z-index: 1; z-index: 1;
} }
.order_status_content { .order_status_content {
// display: flex;
// align-items: center;
padding: 0 30px;
.flexBox {
display: flex; display: flex;
align-items: center; align-items: center;
padding: 0 30px;
.order_status_title { .order_status_title {
color: $color_font_two; color: $color_font_two;
font-size: $font_size; font-size: $font_size;
font-weight: 700; font-weight: 700;
} }
.order_status_time { .order_status_time {
color: $color_font_two; color: $color_font_two;
font-size: $font_size_medium; font-size: $font_size_medium;
padding: 0 20px; padding: 0 20px;
} }
.order_status_tag { .order_status_tag {
font-size: $font_size_min; font-size: $font_size_min;
background: #F0F0F0; background: #f0f0f0;
border-radius: 6px; border-radius: 6px;
padding: 5px 10px; padding: 5px 10px;
color: $color_font_two; color: $color_font_two;
} }
.order_status_select { .order_status_select {
color: $color_main; color: $color_main;
} }
.order_status_tag_select { .order_status_tag_select {
color: $color_main; color: $color_main;
} }
} }
.picBox {
display: flex;
flex-shrink: 0;
flex-wrap: wrap;
.pic {
margin-right: 10px;
margin-bottom: 10px;
width: 90px;
height: 90px;
border-radius: 10px;
}
}
}
.order_status_des { .order_status_des {
color: $color_font_two; color: $color_font_two;
font-size: $font_size_medium; font-size: $font_size_medium;
@ -79,7 +100,7 @@
height: 56px; height: 56px;
background: #f6f6f6; background: #f6f6f6;
border-radius: 20px; border-radius: 20px;
color: #3C3C3C; color: #3c3c3c;
font-size: 24px; font-size: 24px;
display: flex; display: flex;
align-items: center; align-items: center;
@ -90,7 +111,6 @@
font-size: 28px; font-size: 28px;
color: $color_main; color: $color_main;
padding: 0 10px; padding: 0 10px;
} }
} }
} }
@ -140,7 +160,7 @@
.pay_title_tag { .pay_title_tag {
margin-top: 10px; margin-top: 10px;
font-size: 24px; font-size: 24px;
color: #EE7500; color: #ee7500;
background: rgba(255, 230, 206, 0.36); background: rgba(255, 230, 206, 0.36);
border-radius: 10px; border-radius: 10px;
height: 56px; height: 56px;

View File

@ -1,4 +1,5 @@
import { Image, Text, View } from '@tarojs/components' import { Image, Text, View } from '@tarojs/components'
import Taro, { useDidShow, usePullDownRefresh, useRouter } from '@tarojs/taro'
import { memo, useEffect, useMemo, useRef, useState } from 'react' import { memo, useEffect, useMemo, useRef, useState } from 'react'
import classnames from 'classnames' import classnames from 'classnames'
import * as dayjs from 'dayjs' import * as dayjs from 'dayjs'
@ -12,6 +13,8 @@ interface List {
tag: string tag: string
desc: string desc: string
expire_time: string expire_time: string
delivery_appendix_url?: string[]
} }
interface Param { interface Param {
@ -23,8 +26,10 @@ interface Param {
account_period?: number // 账期 account_period?: number // 账期
account_period_time?: string // 还款日期 account_period_time?: string // 还款日期
} }
picUrl?: string[]
} }
const OrderState = ({ orderInfo = { logistics_details: [], payment_method: 0, status: 0 }, onRefresh }: Param) => { const OrderState = ({ orderInfo = { logistics_details: [], payment_method: 0, status: 0 }, onRefresh, picUrl = [] }: Param) => {
useEffect(() => { useEffect(() => {
console.log('orderInfo33::', orderInfo) console.log('orderInfo33::', orderInfo)
}, [orderInfo]) }, [orderInfo])
@ -46,6 +51,14 @@ const OrderState = ({ orderInfo = { logistics_details: [], payment_method: 0, st
PaymentMethodCashOnDelivery, PaymentMethodCashOnDelivery,
} = PAYMENT_METHOD } = PAYMENT_METHOD
const handSee = (item) => {
console.log(item, 'itemmmm')
Taro.previewImage({
current: item, // 图片的地址url
urls: picUrl, // 预览的地址url
})
}
return ( return (
<> <>
{(dataList?.length > 0) && <View className={styles.order_flow_state}> {(dataList?.length > 0) && <View className={styles.order_flow_state}>
@ -54,9 +67,20 @@ const OrderState = ({ orderInfo = { logistics_details: [], payment_method: 0, st
{(dataList.length > 1) && <View className={classnames(styles.order_status_tail, (index == 0) && styles.order_status_tail_end)}></View>} {(dataList.length > 1) && <View className={classnames(styles.order_status_tail, (index == 0) && styles.order_status_tail_end)}></View>}
{(dataList.length != (index + 1)) && <View className={styles.order_status_line}></View>} {(dataList.length != (index + 1)) && <View className={styles.order_status_line}></View>}
<View className={styles.order_status_content}> <View className={styles.order_status_content}>
<View className={styles.flexBox}>
<View className={classnames(styles.order_status_title, (index == 0) && styles.order_status_select)}>{item.status}</View> <View className={classnames(styles.order_status_title, (index == 0) && styles.order_status_select)}>{item.status}</View>
<View className={classnames(styles.order_status_time, (index == 0) && styles.order_status_select)}>{formatDateTime(item.time)}</View> <View className={classnames(styles.order_status_time, (index == 0) && styles.order_status_select)}>{formatDateTime(item.time)}</View>
</View> </View>
<View className={styles.picBox}>
{
item.delivery_appendix_url?.map((item, index) => {
return (
<Image mode="aspectFit" src={item} className={styles.pic} key={index} onClick={() => handSee(item)} />
)
})
}
</View>
</View>
<Text className={classnames(styles.order_status_des, (index == 0) && styles.order_status_des_select)}>{item.desc}</Text> <Text className={classnames(styles.order_status_des, (index == 0) && styles.order_status_des_select)}>{item.desc}</Text>
</View>)} </View>)}
</View> </View>

View File

@ -25,6 +25,7 @@ import { SubscriptionMessageApi } from '@/api/user'
import { AddShoppingCartApi } from '@/api/shopCart' import { AddShoppingCartApi } from '@/api/shopCart'
import { EditSaleOrderRemarkApi, GetSaleOrderDetailApi } from '@/api/order' import { EditSaleOrderRemarkApi, GetSaleOrderDetailApi } from '@/api/order'
import MoveBtn from '@/components/moveBtn' import MoveBtn from '@/components/moveBtn'
import { IMG_CND_Prefix } from '@/common/constant'
const Order = () => { const Order = () => {
useLogin() useLogin()
@ -58,6 +59,19 @@ const Order = () => {
const getSaleOrderPreView = async() => { const getSaleOrderPreView = async() => {
if (orderId.current) { if (orderId.current) {
const res = await getOrderFetchData({ id: orderId.current }) const res = await getOrderFetchData({ id: orderId.current })
res.data.picUrl = res.data.delivery_appendix_url?.map((item) => {
item = IMG_CND_Prefix + item
return item
})
res.data.logistics_details?.map((item) => {
if (item.status == '待收货') {
item.delivery_appendix_url = res.data.delivery_appendix_url?.map((item) => {
item = IMG_CND_Prefix + item
return item
})
}
return item
})
setOrderDetail(res.data) setOrderDetail(res.data)
setOrderRemark(res.data.remark) setOrderRemark(res.data.remark)
// 预付款自动打开支付 // 预付款自动打开支付
@ -289,7 +303,7 @@ const Order = () => {
return ( return (
<MoveBtn orderObj={orderDetail} showList={['order']} messageTitle={orderDetail?.order_no} messagePath={`/pages/order/index?id=${orderDetail?.id}`} showCart> <MoveBtn orderObj={orderDetail} showList={['order']} messageTitle={orderDetail?.order_no} messagePath={`/pages/order/index?id=${orderDetail?.id}`} showCart>
<View className={styles.order_main}> <View className={styles.order_main}>
{(orderDetail?.status != SaleorderstatusWaitingPrePayment.value && <OrderState orderInfo={orderDetail} />) || ( {(orderDetail?.status != SaleorderstatusWaitingPrePayment.value && <OrderState picUrl={orderDetail?.picUrl} orderInfo={orderDetail} />) || (
<AdvanceOrderState orderInfo={orderDetail} onRefresh={refresh} /> <AdvanceOrderState orderInfo={orderDetail} onRefresh={refresh} />
)} )}
<View> <View>