商城测试版v7

This commit is contained in:
2022-07-23 21:20:18 +08:00
parent c4684c11b8
commit 7e12050a94
20 changed files with 129 additions and 100 deletions
+2 -2
View File
@@ -91,8 +91,8 @@ import { throttle } from "@/common/util";
name: address?.name,
phone: address?.phone,
shipment_mode: address?.shipment_mode,
take_goods_address: address?.take_goods_address,
take_goods_phone: address?.take_goods_phone,
take_goods_address: preViewOrder?.take_goods_address,
take_goods_phone: preViewOrder?.take_goods_phone,
}
}, [preViewOrder])
@@ -1,23 +1,18 @@
import { GetAddressListApi } from "@/api/addressList";
import { addressListApi } from "@/api/addressManager";
import { EditSaleOrderAddressApi, EditSaleOrderShipmentModeApi } from "@/api/order";
import { alert } from "@/common/common";
import { alert, goLink } from "@/common/common";
import { ORDER_STATUS } from "@/common/enum";
import { debounce } from "@/common/util";
import { debounce, throttle } from "@/common/util";
import AddressList from "@/components/AddressList";
import Popup from "@/components/popup";
import { Text, View } from "@tarojs/components"
import classnames from "classnames";
import { forwardRef, memo, useEffect, useImperativeHandle, useMemo, useRef, useState } from "react";
import Taro from "@tarojs/taro";
import styles from './index.module.scss'
export type AddressInfoParam = {
province_name: string,
city_name: string,
district_name: string,
address_detail: string,
id?: number,
name: string,
phone: string,
}
type Param = {
onSelect?: (val:any) => void, //选择地址
disabled?: false|true, //true禁用后只用于展示
@@ -61,7 +56,6 @@ export default memo(forwardRef(({onSelect, onChangeShipmentMode, orderInfo, stat
}
}, [orderInfo])
//打开地址列表
const [showAddressList, setShowAddressList] = useState(false)
const changeShow = () => {
@@ -77,10 +71,37 @@ export default memo(forwardRef(({onSelect, onChangeShipmentMode, orderInfo, stat
//收货方法,1:自提,2物流
const [receivingStatus, setReceivingStatus] = useState(2)
const {fetchData: shipmentModeFetchData} = EditSaleOrderShipmentModeApi()
const onReceivingStatus = (value, e) => {
const onReceivingStatus = async (value, e) => {
e.stopPropagation()
if(limitEdit()) changeReceivingStatus(value)
}
//当没有地址时获取地址列表中的第一个数据
const {fetchData: addressListFetchData} = addressListApi()
const getAddressListOne = async () => {
if(orderInfo?.address_detail) return true
let res = await addressListFetchData()
if( res.data.list && res.data.list?.length > 0 ) {
let info = res.data.list[0]
await addressFetchData({id: orderInfo?.id, address_id: info.id})
setAddressInfo((e) => ({...e, ...info, target_user_name: info.name, target_user_phone: info.phone}))
return true
} else {
Taro.showModal({
content: '您还没有地址,请前去新增地址',
success: function (res) {
if (res.confirm) {
goLink('/pages/addressManager/index')
} else if (res.cancel) {
console.log('用户点击取消')
}
}
})
return false
}
}
const changeReceivingStatus = debounce(async (value) => {
@@ -90,16 +111,20 @@ export default memo(forwardRef(({onSelect, onChangeShipmentMode, orderInfo, stat
setReceivingStatus(value)
return false
}
if(value == 2) {
let res = await getAddressListOne()
if(!res) return false
}
alert.loading('正在修改')
const res = await shipmentModeFetchData({id: orderInfo.id, shipment_mode:value})
if(res.success) {
alert.success('收货方式修改成功')
onChangeShipmentMode?.(value)
setReceivingStatus(value)
setReceivingStatus(() => value)
} else {
alert.none(res.msg)
}
}, 10)
}, 300)
//修改地址
const [addressId, setAddressId] = useState(0)
@@ -109,7 +134,7 @@ export default memo(forwardRef(({onSelect, onChangeShipmentMode, orderInfo, stat
if(status == 1) {
setShowAddressList(() => false)
setAddressId(value.id)
setAddressInfo(() => value)
setAddressInfo((e) => ({...e, ...value, target_user_name: value.name, target_user_phone: value.phone}))
onSelect?.(value)
return false
}
@@ -120,13 +145,13 @@ export default memo(forwardRef(({onSelect, onChangeShipmentMode, orderInfo, stat
onSelect?.(value)
setShowAddressList(() => false)
setAddressId(value.id)
setAddressInfo(() => value)
setAddressInfo((e) => ({...e, ...value, target_user_name: value.name, target_user_phone: value.phone}))
} else {
alert.none(res.msg)
}
}
//根据订单状态判断是否可用修改
//根据订单状态判断是否可修改
const limitEdit = () => {
let res = [
SaleorderstatusWaitingPrePayment.value,
@@ -149,11 +174,13 @@ export default memo(forwardRef(({onSelect, onChangeShipmentMode, orderInfo, stat
//地址格式
const formatAddress = useMemo(() => {
if(receivingStatus == 2) {
console.log('take_goods_addressbb::', addressInfo)
return addressInfo?.province_name?addressInfo.province_name + addressInfo.city_name + addressInfo.district_name + addressInfo.address_detail:''
} else {
console.log('take_goods_address::', addressInfo)
return addressInfo?.take_goods_address
}
}, [addressInfo, receivingStatus])
}, [receivingStatus, addressInfo])
return (
<View>
@@ -165,8 +192,8 @@ export default memo(forwardRef(({onSelect, onChangeShipmentMode, orderInfo, stat
{(receivingStatus == 2 && !logisticsShow)&&<Text className={classnames(styles.moreIconfont,'iconfont icon-a-moreback')}></Text>}
</View>
<View className={styles.order_address_text_name}>
<Text>{receivingStatus == 1?'管理员':addressInfo?.name}</Text>
<Text>{receivingStatus == 1?addressInfo?.take_goods_phone: addressInfo?.phone}</Text>
<Text>{receivingStatus == 1?'管理员':addressInfo?.target_user_name}</Text>
<Text>{receivingStatus == 1?addressInfo?.take_goods_phone: addressInfo?.target_user_phone}</Text>
</View>
</View>
{!logisticsShow&&<View className={styles.updateBtn}>
+6 -6
View File
@@ -1,5 +1,5 @@
import { Text, View } from "@tarojs/components";
import { memo, useCallback, useEffect, useMemo, useState } from "react";
import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
import AmountShow from "../amountShow";
import classnames from "classnames";
import styles from './index.module.scss'
@@ -86,9 +86,13 @@ export default memo(({show = false, onClose, orderInfo, onSubmitSuccess}:Param)
}, [show, orderInfo])
//预存款选择
const advanceRef = useRef<any>(null)
const advanceSelectData = useCallback((val) => {
setSubmitData((e) => ({...e, payment_method:val}))
}, [])
const changeSelect = () => {
advanceRef.current.onSelectEven()
}
//账期选择
const periodSelectData = (val) => {
@@ -155,10 +159,6 @@ export default memo(({show = false, onClose, orderInfo, onSubmitSuccess}:Param)
)
}, [payInfo])
//选择改变
const changeSelect = () => {
}
//在线支付所需数据
const onlinePayData = useMemo(() => {
return {...orderInfo, offline_remittance_information: payInfo?.offline_remittance_information}
@@ -199,7 +199,7 @@ export default memo(({show = false, onClose, orderInfo, onSubmitSuccess}:Param)
</View>
{advance_payment}
</View>
<MCheckbox status={submitData.payment_method == PaymentMethodPreDeposit.value} onSelect={() => advanceSelectData(PaymentMethodPreDeposit.value)} onClose={() => advanceSelectData(null)}/>
<MCheckbox ref={advanceRef} status={submitData.payment_method == PaymentMethodPreDeposit.value} onSelect={() => advanceSelectData(PaymentMethodPreDeposit.value)} onClose={() => advanceSelectData(null)}/>
</View>
{show_account_payment&&<View className={styles.payment_list_item}>
<View className={styles.payment_list_item_left}>
+1 -1
View File
@@ -70,7 +70,7 @@ export default memo(({show = true, onClose, company, orderInfo}:Param) => {
client: orderInfo.purchaser_name, //客户名称
phone: userPhone(orderInfo), //收货手机号码
order_total_length: (orderInfo.total_number/100).toString(), //订单布匹长度
order_total_price: formatPriceDiv(orderInfo.total_sale_price).toString(), //订单价格
order_total_price: formatPriceDiv(orderInfo.total_should_collect_money).toString(), //订单价格
order_total_num: (orderInfo.total_number) + '',
qrcode:"", //跳转链接
order_total_weight: formatWeightDiv(orderInfo.total_weight||orderInfo.total_estimate_weight).toString(), //订单布匹重量
@@ -74,7 +74,7 @@ export default memo(({show = true, onClose, company, orderInfo}:Param) => {
client: orderInfo.purchaser_name, //客户名称
phone: userPhone(orderInfo), //收货手机号码
order_total_length: (orderInfo.total_number/100).toString(), //订单布匹长度
order_total_price: formatPriceDiv(orderInfo.total_sale_price).toString(), //订单价格
order_total_price: formatPriceDiv(orderInfo.total_should_collect_money).toString(), //订单价格
order_total_num: (orderInfo.total_number).toString(),
qrcode:"", //跳转链接
order_total_weight: formatWeightDiv(orderInfo.total_weight||orderInfo.total_estimate_weight).toString(), //订单布匹重量
+2 -2
View File
@@ -106,8 +106,8 @@ import styles from './index.module.scss'
city_name: orderDetail?.city_name,
district_name: orderDetail?.district_name,
address_detail: orderDetail?.address_detail,
name: orderDetail?.target_user_name,
phone: orderDetail?.target_user_phone,
target_user_name: orderDetail?.target_user_name,
target_user_phone: orderDetail?.target_user_phone,
shipment_mode: orderDetail?.shipment_mode,
id: orderDetail?.id,
sale_mode: orderDetail?.sale_mode,