import { Image, ScrollView, Text, Textarea, View } from "@tarojs/components"; import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react"; import classnames from "classnames"; import styles from './index.module.scss' import { formatHashTag, formatImgUrl } from "@/common/fotmat"; import Counter from "@/components/counter"; import ReasonPopup from "./components/reasonPopup"; import OtherReason from "./components/otherReason"; import Taro, { useDidShow, useRouter } from "@tarojs/taro"; import useUploadCDNImg from "@/use/useUploadImage"; import { GetSaleOrderDetailApi } from "@/api/order"; import KindList from "./components/kindList" type ReasonParam = 1|2|3 //1 退货原因 2 货物状况 3 退货说明 export default () => { const router = useRouter() const orderId = useRef(Number(router.params.id)) useDidShow(() => { getSaleOrderPreView() }) //获取订单数据 const [orderDetail, setOrderDetail] = useState() //获取到的原始数据 const {fetchData: getOrderFetchData} = GetSaleOrderDetailApi() const getSaleOrderPreView = async () => { if(orderId.current) { let res = await getOrderFetchData({id: orderId.current}) setOrderDetail(res.data) } } //监听获取到的数据 useEffect(() => { if(orderDetail) formatData() }, [orderDetail]) //格式化数据格式 const [formatDetailOrder, setFormatDetailOrder] = useState() //格式化后的数据 const formatData = () => { setFormatDetailOrder({ sale_mode: orderDetail.sale_mode, sale_mode_name: orderDetail.sale_mode_name, total_colors: orderDetail.total_colors, //总颜色数量 total_number: orderDetail.total_number, //总数量 total_fabrics: orderDetail.total_fabrics, //面料数量 unit: orderDetail.sale_mode == 0?'条':'m', //单位 list: orderDetail.product_list, status: orderDetail.status, //订单状态 }) } //数据总量 const dataCount = useMemo(() => { if(formatDetailOrder) { return `${formatDetailOrder.total_fabrics}种面料,${formatDetailOrder.total_colors}种颜色,共${formatDetailOrder.total_number}条` } }, [formatDetailOrder]) //对应数量 const formatCount = useCallback((item) => { return (formatDetailOrder?.sale_mode == 0? item.roll : Number(item.length / 100)) + formatDetailOrder?.unit }, [formatDetailOrder]) //退货选择弹窗 const [showReason, setShowReason] = useState<{show:true|false, status:ReasonParam}>({show:false, status:1}) const closeReason = useCallback(() => setShowReason({...showReason, show:false}), []) const onShowReason = (status) => setShowReason({...showReason, status, show:true}) //底部按钮 const onSubmit = (val) => { } return ( {dataCount} 退货原因 onShowReason(1)}> 请选择 货物状况 onShowReason(2)}> 请选择 退货说明 onShowReason(3)}> 请选择 拍照上传 onSubmit(1)}>取消 onSubmit(2)}>确认 ) } //图片列表 const PictureItem = memo(() => { const {getWxPhoto} = useUploadCDNImg() const [imageList, setImageLise] = useState([]) const uploadImage = async () => { let res:any = await getWxPhoto('after-sale') if(res.code == 200) { setImageLise([...imageList, res.url]) } } //删除图片 const delImage = (index) => { } return ( <> {imageList.map((item, index) => delImage(index)} className={classnames(styles.miconfont_close, 'iconfont icon-qingkong')}> )} 上传照片 ) })