优化滚动

This commit is contained in:
2022-05-20 20:32:39 +08:00
parent f30e174e3e
commit 8112d38499
21 changed files with 240 additions and 144 deletions
@@ -10,7 +10,7 @@ export type AddressInfoParam = {
city_name: string,
district_name: string,
address_detail: string,
id: number,
id?: number,
name: string,
phone: string
}
@@ -5,9 +5,11 @@ import classnames from "classnames";
import styles from './index.module.scss'
type Param = {
style?: Object,
number?: number
number?: number,
title?: string,
status?: true|false, //true 加大加深
}
export default memo(({style, number = 0}:Param) => {
export default memo(({style, number = 0, status = true, title = ''}:Param) => {
const priceDom = useCallback(() => {
let res = number.toFixed(2).split('.')
let int_num = parseInt(res[0]) + ''
@@ -21,40 +23,16 @@ export default memo(({style, number = 0}:Param) => {
)
}, [number])
return (
<>
<>
<View className={styles.order_price}>
<View className={styles.order_price_text}>
<Text>合计金额</Text>
<View className={classnames(styles.order_price_text, status&&styles.emphasis)}>
<Text>{title}</Text>
<View className={styles.iconfont_msg}>
<Text className={classnames(styles.miconfont, 'iconfont icon-zhushi')}></Text>
{/* <View className={classnames(styles.message)}>123123123121212312312312312</View> */}
</View>
</View>
<View className={styles.order_price_num} style={style}>
{priceDom()}
</View>
</View>
<View className={styles.order_price}>
<View className={styles.order_price_text}>
<Text>空差优惠</Text>
<View className={styles.iconfont_msg}>
<Text className={classnames(styles.miconfont, 'iconfont icon-zhushi')}></Text>
{/* <View className={classnames(styles.message)}>123123123121212312312312312</View> */}
</View>
</View>
<View className={styles.order_price_num} style={style}>
{priceDom()}
</View>
</View>
<View className={styles.order_price}>
<View className={classnames(styles.order_price_text, styles.emphasis)}>
<Text>应付金额</Text>
<View className={styles.iconfont_msg}>
<Text className={classnames(styles.miconfont, 'iconfont icon-zhushi')}></Text>
{/* <View className={classnames(styles.message)}>123123123121212312312312312</View> */}
</View>
</View>
<View className={classnames(styles.order_price_num, styles.emphasis_num)} style={style}>
<View className={classnames(styles.order_price_num, status&&styles.emphasis_num)} style={style}>
{priceDom()}
</View>
</View>
@@ -64,7 +64,7 @@ export default memo(({value}:{value:OrderParam|null}) => {
})
}
<View className={styles.order_estimated_amount}>
<EstimatedAmount number={formatPriceDiv(value?.estimate_amount)}/>
<EstimatedAmount number={formatPriceDiv(value?.estimate_amount)} title="预估金额" />
</View>
</View>
</>
+1 -1
View File
@@ -1,3 +1,3 @@
export default {
navigationBarTitleText: '确认订单'
navigationBarTitleText: '订单详情'
}
+43 -23
View File
@@ -1,10 +1,11 @@
import { GetSaleOrderDetailApi } from "@/api/order";
import { goLink } from "@/common/common";
import { GetSaleOrderDetailApi, EditSaleOrderRemarkApi } from "@/api/order";
import { alert, goLink } from "@/common/common";
import { formatDateTime, formatPriceDiv } from "@/common/fotmat";
import { setParam } from "@/common/system";
import Popup from "@/components/popup";
import SearchInput from "@/components/searchInput";
import { Text, Textarea, View } from "@tarojs/components"
import Taro, { useRouter } from "@tarojs/taro";
import Taro, { useDidShow, useRouter } from "@tarojs/taro";
import classnames from "classnames";
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import AddressInfo from "./components/addressInfo";
@@ -18,17 +19,20 @@ import styles from './index.module.scss'
const [showDesc, setShowDesc] = useState(false)
const router = useRouter()
useEffect(() => {
const orderId = useRef<number>(Number(router.params.id))
useDidShow(() => {
getSaleOrderPreView()
}, [])
})
//获取订单详情
const [orderDetail, setOrderDetail] = useState<any>() //获取到的原始数据
const {fetchData: getOrderFetchData} = GetSaleOrderDetailApi()
const getSaleOrderPreView = async () => {
if(router.params.id) {
let res = await getOrderFetchData({id: router.params.id})
if(orderId.current) {
let res = await getOrderFetchData({id: orderId.current})
setOrderDetail(res.data)
setOrderRemark(res.data.remark)
}
}
@@ -89,32 +93,48 @@ import styles from './index.module.scss'
//格式化初始地址
const defaultAddress = useMemo(() => {
const address = orderDetail?.default_address
if(address) {
return {
province_name: address.province_name,
city_name: address.city_name,
district_name: address.district_name,
address_detail: address.address_detail,
id: address.id,
name: address.name,
phone: address.phone
}
return {
province_name: orderDetail?.province_name,
city_name: orderDetail?.city_name,
district_name: orderDetail?.district_name,
address_detail: orderDetail?.address_detail,
// id: address.id,
name: orderDetail?.target_user_name,
phone: orderDetail?.target_user_phone
}
return null
}, [orderDetail])
//订单备注
const {fetchData: remarkFetchData} = EditSaleOrderRemarkApi()
const [orderRemark, setOrderRemark] = useState('')
const getRemark = useCallback((e) => {
const getRemark = useCallback(async (e) => {
setOrderRemark(() => e)
let res = await remarkFetchData({remark:e, id: orderId.current})
if(res.success) {
alert.success('修改成功')
} else {
alert.error(res.msg)
}
setShowDesc(() => false)
}, [])
//修改地址
const changeAddress = useCallback(() => {
goLink('/pages/editOrder/index', {id: router.params.id})
}, [router.params])
const changeAddress = () => {
//临时传递数据
setParam({
province_name: orderDetail?.province_name,
city_name: orderDetail?.city_name,
district_name: orderDetail?.district_name,
address_detail: orderDetail?.address_detail,
id: orderId.current,
name: orderDetail?.target_user_name,
phone: orderDetail?.target_user_phone,
shipment_mode: orderDetail?.shipment_mode,
}
)
goLink('/pages/editOrder/index')
}
return (
<View className={styles.order_main}>
<View className={styles.weight_memo_con}>