import { Text, View } from '@tarojs/components' import Taro from '@tarojs/taro' import classnames from 'classnames' import { useCallback, useMemo, useRef, useState } from 'react' import styles from './index.module.scss' import ShipmentMode from './components/shipmentMode' import AddressList from '@/components/AddressList' import { alert, goLink } from '@/common/common' import { getParam } from '@/common/system' import { EditSaleOrderAddressApi, EditSaleOrderShipmentModeApi } from '@/api/order' import useLogin from '@/use/useLogin' const EditOrder = () => { useLogin() // 获取临时传递的数据 const params = getParam() const [paramsData, setParamsData] = useState(params) // 提交的数据 const [submitData, setSubmitData] = useState({ address_id: 0, id: params.id, shipment_mode: params.shipment_mode, }) // 格式化地址 const address = useMemo(() => { return `${paramsData.province_name} ${paramsData.city_name} ${paramsData.district_name} ${paramsData.address_detail}` }, [paramsData]) // 获取收货方法 const getShipmentMode = useCallback((num) => { setSubmitData(val => ({ ...val, shipment_mode: num })) }, []) // 获取地址 const getSelectAddress = useCallback((e) => { setSubmitData(val => ({ ...val, address_id: e.id })) }, []) // 修改请求 const { fetchData: addressFetchData } = EditSaleOrderAddressApi() const { fetchData: shipmentFetchData } = EditSaleOrderShipmentModeApi() const editData = async() => { if (submitData.address_id) { const res = await addressFetchData(submitData) if (!res.success) { alert.error(res.msg) return false } } const res = await shipmentFetchData(submitData) if (!res.success) { alert.error(res.msg) return false } Taro.navigateBack() } return ( 修改收货地址可能会影响发货时效 若商品已发货,则不能修改 原地址: {address} {paramsData.name} {paramsData.phone} 重新选择收货地址 goLink('/pages/addressAdd/index', { type: 'add' })} className={classnames(styles.addAddress, styles.addressBtn)}>添加新地址 editData()}>提交修改 ) } export default EditOrder