diff --git a/src/common/constant.js b/src/common/constant.js index 861155e..234c97f 100644 --- a/src/common/constant.js +++ b/src/common/constant.js @@ -5,10 +5,10 @@ // export const BASE_URL = `http://192.168.0.89:40001/lymarket` // export const BASE_URL = `http://192.168.1.165:40001/lymarket` // 王霞 // export const BASE_URL = `https://test.zzfzyc.com/lymarket` // 测试环境 -// export const BASE_URL = `http://192.168.1.30:40001/lymarket` // 发 +export const BASE_URL = `http://192.168.1.30:40001/lymarket` // 发 // export const BASE_URL = `https://dev.zzfzyc.com/lymarket` // 开发环境 // export const BASE_URL = `https://www.zzfzyc.com/lymarket` // 正式环境 -export const BASE_URL = `http://192.168.1.4:40001/lymarket` // 王霞 +// export const BASE_URL = `http://192.168.1.4:40001/lymarket` // 王霞 // export const BASE_URL = `http://192.168.1.224:50002/lymarket` // 添 // export const BASE_URL = `http://192.168.1.15:50001/lymarket` // 杰 diff --git a/src/common/enum.ts b/src/common/enum.ts index df57d45..138aedf 100644 --- a/src/common/enum.ts +++ b/src/common/enum.ts @@ -1,7 +1,14 @@ + +//订单状态枚举 export const ORDER_STATUS = { - 0:{value:0, label:'申请中'}, - 1:{value:1, label:'配布中'}, - 2:{value:2, label:'待发货'}, - 3:{value:3, label:'已发货'}, - 4:{value:4, label:'已完成'} + SaleOrderStatusBooking : {value:0, label:'待接单'}, // 待接单 + SaleOrderStatusArranging : {value:1, label:'配布中'}, // 配布中 + SaleOrderStatusArranged : {value:2, label:'已配布'}, // 已配布 + SaleOrderStatusWaitingPayment : {value:7, label:'待付款'}, // 待付款 + SaleOrderStatusWaitingDelivery : {value:3, label:'待发货'}, // 待发货 + SaleOrderStatusWaitingReceipt : {value:8, label:'待收货'}, // 待收货 + SaleOrderStatusAlreadyReceipt : {value:9, label:'已收货'}, // 已收货 + SaleOrderStatusComplete : {value:4, label:'已完成'}, // 已完成 + SaleOrderStatusRefund : {value:6, label:'已退款'}, // 已退款 + SaleOrderStatusCancel : {value:5, label:'已取消'}, // 已取消 } \ No newline at end of file diff --git a/src/components/orderBtns/index.tsx b/src/components/orderBtns/index.tsx index 4ae23d6..6f6f4c6 100644 --- a/src/components/orderBtns/index.tsx +++ b/src/components/orderBtns/index.tsx @@ -1,5 +1,6 @@ import { CancelOrderApi } from "@/api/order" import { alert } from "@/common/common" +import { ORDER_STATUS } from "@/common/enum" import { View } from "@tarojs/components" import Taro from "@tarojs/taro" import { useCallback, useRef, memo } from "react" @@ -7,63 +8,83 @@ import styles from './index.module.scss' type Param = { orderInfo: { - status?: number, //订单状态 + status: number, //订单状态 orderId: number, //订单id - payModel: number, //支付方式 - realPayPrice: number, //实付金额 - pendingPayPrice: number, //待付金额 - }, + settle_mode: number, //支付方式 + actual_amount: number, //实付金额 + wait_pay_amount: number, //待付金额 + }|null, onClick?: (val: number) => void //点击后触发的事件,返回订单状态 } export default memo(({orderInfo, onClick}:Param) => { + const { + SaleOrderStatusBooking, + SaleOrderStatusArranging, + SaleOrderStatusArranged, + SaleOrderStatusWaitingDelivery, + SaleOrderStatusComplete, + SaleOrderStatusCancel, + SaleOrderStatusRefund, + SaleOrderStatusWaitingPayment, + SaleOrderStatusWaitingReceipt, + SaleOrderStatusAlreadyReceipt + } = ORDER_STATUS //订单按钮按订单状态归类 const orderBtnsList = useRef([ { id: 1, - value: [0, 1, 2, 3, 4], //取消订单按钮对应: 待接单,待配布,已配布, 待付款, 待发货 + value: [SaleOrderStatusBooking.value, SaleOrderStatusArranging.value, SaleOrderStatusArranged.value, SaleOrderStatusWaitingPayment.value, SaleOrderStatusWaitingDelivery.value], //取消订单按钮对应: 待接单,配布中,已配布, 待付款, 待发货 label: '取消订单' }, { id: 2, - value: [3, 4], //去付款按钮对应:待付款, 待发货 + value: [SaleOrderStatusWaitingPayment.value, SaleOrderStatusWaitingDelivery.value, SaleOrderStatusWaitingReceipt.value, SaleOrderStatusAlreadyReceipt.value, SaleOrderStatusComplete.value], //去付款按钮对应:待付款, 待发货, 待收货, 已收货, 已完成 label: '去付款' }, { id: 3, - value: [4], //取消订单按钮对应: 待发货 + value: [SaleOrderStatusWaitingDelivery.value], //取消订单按钮对应: 待发货 label: '申请退款' }, { id: 4, - value: [5, 6, 7, 8], //取消订单按钮对应: 待收货, 已收货, 已完成, 已退款 + value: [SaleOrderStatusWaitingReceipt.value, SaleOrderStatusAlreadyReceipt.value, SaleOrderStatusComplete.value, SaleOrderStatusRefund.value], //取消订单按钮对应: 待收货, 已收货, 已完成, 已退款 label: '查看物流' }, { id: 5, - value: [5, 6, 8], //取消订单按钮对应: 待收货, 已收货, 已退款 + value: [SaleOrderStatusWaitingReceipt.value, SaleOrderStatusAlreadyReceipt.value, SaleOrderStatusRefund.value], //取消订单按钮对应: 待收货, 已收货, 已退款 label: '申请退货' }, { id: 6, - value: [5], //取消订单按钮对应: 待收货 + value: [SaleOrderStatusWaitingReceipt.value], //取消订单按钮对应: 待收货 label: '确认收货' }, { id: 7, - value: [5,6,7,8], //取消订单按钮对应: 待收货,已收货,已完成, 已退款 + value: [SaleOrderStatusWaitingReceipt.value,SaleOrderStatusAlreadyReceipt.value,SaleOrderStatusComplete.value,SaleOrderStatusRefund.value], //取消订单按钮对应: 待收货,已收货,已完成, 已退款 label: '再次购买' } ]) //判断是否显示该按钮 - const orderBtnsShow = useCallback((item, status) => { - if(item.id == 1) { - return( orderInfo.realPayPrice == 0 && status <= 4) //在代发货之前没有付过款 - } - if(item.id == 2) { - return( orderInfo.pendingPayPrice != 0 && status <= 4) //在代发货之前没有付完款 + const orderBtnsShow = useCallback((item) => { + if(orderInfo) { + // console.log('orderInfo::',item.value.includes(orderInfo.status)) + if(item.id == 1) { + //取消订单按钮 + return( orderInfo.actual_amount == 0 && item.value.includes(orderInfo.status)) //在代发货之前没有付过款 + } else if (item.id == 2) { + //去付款按钮 + return( orderInfo.wait_pay_amount != 0 && item.value.includes(orderInfo.status)) //只要没有付完款就显示 + } else if(item.id == 3) { + //申请退款 + return (orderInfo.actual_amount != 0 && item.value.includes(orderInfo.status)) //在代发货之前付过款 + } else { + return item.value.includes(orderInfo.status) + } } - return item.value.includes(status) - },[]) + },[orderInfo]) //点击按钮操作 const submitBtns = (val) => { @@ -73,12 +94,12 @@ export default memo(({orderInfo, onClick}:Param) => { //取消订单 const {fetchData: cancelFetchData} = CancelOrderApi() - const cancelOrder = () => { + const cancelOrder = () => { Taro.showModal({ title: '要取消该订单吗?', success: async function (res) { if (res.confirm) { - let res = await cancelFetchData({id: orderInfo.orderId}) + let res = await cancelFetchData({id: orderInfo?.orderId}) if(res.success) { alert.success('取消成功') onClick?.(1) @@ -94,8 +115,8 @@ export default memo(({orderInfo, onClick}:Param) => { return ( - {orderBtnsList.current.map((item, index) => - orderBtnsShow(item, status)&& submitBtns(item.id)}>{item.label} + {orderBtnsList.current.map((item) => + orderBtnsShow(item)&& submitBtns(item.id)}>{item.label} )} ) diff --git a/src/pages/order/components/kindList/index.tsx b/src/pages/order/components/kindList/index.tsx index e6ea05a..cf6717a 100644 --- a/src/pages/order/components/kindList/index.tsx +++ b/src/pages/order/components/kindList/index.tsx @@ -1,3 +1,4 @@ +import { ORDER_STATUS } from "@/common/enum" import { formatHashTag, formatPriceDiv } from "@/common/fotmat" import { View } from "@tarojs/components" import { memo, useCallback, useMemo } from "react" @@ -17,10 +18,11 @@ type OrderParam = { total_sale_price: number, //销售金额 total_should_collect_money: number, //应收金额 total_weight_error_discount: number, //空差优惠 - + the_previous_status: number, //取消订单时的订单状态 + actual_amount: number //实付金额 } -export default memo(({value}:{value?:OrderParam}) => { +export default memo(({value}:{value:OrderParam}) => { //对应数量 const formatCount = useCallback((item) => { return value?.sale_mode == 0? item.roll : Number(item.length / 100) @@ -36,15 +38,75 @@ export default memo(({value}:{value?:OrderParam}) => { return `${value?.total_fabrics}种面料,${value?.total_colors}种颜色,共${value?.total_number}${value?.unit}` }, [value]) + const { + SaleOrderStatusBooking, // 待接单 + SaleOrderStatusArranging, // 配布中 + SaleOrderStatusArranged, // 已配布 + SaleOrderStatusWaitingPayment, // 待付款 + SaleOrderStatusWaitingDelivery, // 待发货 + SaleOrderStatusWaitingReceipt, // 待收货 + SaleOrderStatusAlreadyReceipt, // 已收货 + SaleOrderStatusComplete, // 已完成 + SaleOrderStatusRefund, // 已退款 + SaleOrderStatusCancel, // 已取消 + } = ORDER_STATUS + + //金额列表枚举 + const priceList = [ + { + id:1, + value:[SaleOrderStatusBooking.value, SaleOrderStatusArranging.value], + label:'预估金额' + }, + { + id:2, + value:[SaleOrderStatusArranged.value, SaleOrderStatusWaitingPayment.value, SaleOrderStatusWaitingDelivery.value, SaleOrderStatusWaitingReceipt.value, SaleOrderStatusAlreadyReceipt.value, SaleOrderStatusComplete.value, SaleOrderStatusRefund.value, SaleOrderStatusCancel.value], + label:'合计金额' + }, + { + id:3, + value:[SaleOrderStatusArranged.value, SaleOrderStatusWaitingPayment.value, SaleOrderStatusWaitingDelivery.value, SaleOrderStatusWaitingReceipt.value, SaleOrderStatusAlreadyReceipt.value, SaleOrderStatusComplete.value, SaleOrderStatusRefund.value, SaleOrderStatusCancel.value], + label:'空差优惠' + }, + { + id:4, + value:[ SaleOrderStatusWaitingPayment.value], + label:'应付金额' + }, + { + id:5, + value:[SaleOrderStatusWaitingDelivery.value, SaleOrderStatusWaitingReceipt.value, SaleOrderStatusAlreadyReceipt.value, SaleOrderStatusComplete.value, SaleOrderStatusRefund.value, SaleOrderStatusCancel.value], + label:'实付金额' + } + ] + const priceConDom = useMemo(() => { - return ( - <> - {(value&&value.status < 3)&&} - {(value&&value.status >= 3)&&} - {(value&&value.status >= 3)&&} - {(value&&value.status >= 3)&&} - - ) + if(!value) return + console.log('value:::', value) + //订单为取消订单状态 + if(value?.status == 9) { + return ( + <> + {(priceList[1].value.includes(value?.the_previous_status))&&} + {(priceList[2].value.includes(value?.the_previous_status))&&} + {(priceList[3].value.includes(value?.the_previous_status))&&} + {(priceList[4].value.includes(value?.the_previous_status))&&} + {/* {(priceList[5].value.includes(value?.the_previous_status))&&} */} + + ) + } else { + return ( + <> + {(priceList[1].value.includes(value?.status))&&} + {(priceList[2].value.includes(value?.status))&&} + {(priceList[3].value.includes(value?.status))&&} + {(priceList[4].value.includes(value?.status))&&} + {/* {(priceList[5].value.includes(value?.status))&&} */} + + ) + } + + }, [value]) return ( diff --git a/src/pages/order/components/orderState/index.tsx b/src/pages/order/components/orderState/index.tsx index 0ba593d..471cc9e 100644 --- a/src/pages/order/components/orderState/index.tsx +++ b/src/pages/order/components/orderState/index.tsx @@ -4,12 +4,16 @@ import styles from './index.module.scss' import classnames from "classnames"; import { formatDateTime, formatImgUrl } from "@/common/fotmat"; type Param = { - status: string, - time: string, - tag: string, - desc: string + list: { + status: string, + time: string, + tag: string, + desc: string + }[], + settle_mode: -1|0|1|2, //-1:没选支付方式,0:全额现结,1:定期付款,2:货到付款 + } -export default memo(({list = []}:{list?:Param[]}) => { +export default memo(({list = [], settle_mode = -1}:Param) => { const [showMore, setShowMore] = useState(false) const changeMore = () => { setShowMore(() => !showMore) @@ -38,7 +42,8 @@ export default memo(({list = []}:{list?:Param[]}) => { } - {/* */} + {(settle_mode == 2)&&} + {(settle_mode == 1)&&} } diff --git a/src/pages/order/components/payment/index.tsx b/src/pages/order/components/payment/index.tsx index 3d6f42a..4f35d49 100644 --- a/src/pages/order/components/payment/index.tsx +++ b/src/pages/order/components/payment/index.tsx @@ -23,7 +23,7 @@ type PayInfo = { amount: string } -type PayStatus = 0|1|2|3|4|null //0:预存款, 1:账期,2:线下汇款, 3:扫码支付, 4:货到付款 +type PayStatus = 1|2|3|4|5|null //1:预存款, 2:账期,3:线下汇款, 4:扫码支付, 5:货到付款 export default memo(({show = false, onClose, orderId = 0, onSubmitSuccess}:Param) => { //提交参数 @@ -54,9 +54,10 @@ export default memo(({show = false, onClose, orderId = 0, onSubmitSuccess}:Param setPayInfo(() => data) } useEffect(() => { - if(show&&orderId) + if(show&&orderId) { setSubmitData((val) => ({...val, id:orderId})) getOrderPay() + } }, [show, orderId]) //预存款选择 @@ -125,7 +126,7 @@ export default memo(({show = false, onClose, orderId = 0, onSubmitSuccess}:Param {advance_payment} - advanceSelectData(0)} onClose={() => advanceSelectData(null)}/> + advanceSelectData(0)} onClose={() => advanceSelectData(null)}/> @@ -135,7 +136,7 @@ export default memo(({show = false, onClose, orderId = 0, onSubmitSuccess}:Param 可用额度 ¥{payInfo?.account_period_credit_available_line} - periodSelectData(1)} onClose={() => periodSelectData(null)}/> + periodSelectData(1)} onClose={() => periodSelectData(null)}/> diff --git a/src/pages/order/index.tsx b/src/pages/order/index.tsx index abeee6e..43979d0 100644 --- a/src/pages/order/index.tsx +++ b/src/pages/order/index.tsx @@ -16,7 +16,6 @@ import { useCallback, useEffect, useMemo, useRef, useState } from "react"; import order from "../orderList/components/order"; import AddressInfoDetail from "./components/addressInfoDetail"; import KindList from "./components/kindList"; -import orderState from "./components/orderState"; import OrderState from "./components/orderState"; import Payment from "./components/payment"; import Remark from "./components/remark"; @@ -66,6 +65,9 @@ import styles from './index.module.scss' total_sale_price: orderDetail.total_sale_price, //销售金额 total_should_collect_money: orderDetail.total_should_collect_money, //应收金额 total_weight_error_discount: orderDetail.total_weight_error_discount, //空差优惠 + actual_amount: orderDetail.actual_amount, //实付金额 + the_previous_status: orderDetail.the_previous_status, //取消订单时的订单状态 + }) } const formatPreViewOrderMemo = useMemo(() => { @@ -165,11 +167,11 @@ import styles from './index.module.scss' //按钮所需数据 const orderInfo = useMemo(() => { return { - status: orderDetail?.status, + status: orderDetail?.status, //订单状态 orderId: orderDetail?.id, - payModel: orderDetail?.id, //支付方式 - realPayPrice: orderDetail?.id, //实付金额 - pendingPayPrice: orderDetail?.id, //待付金额 + settle_mode: orderDetail?.settle_mode, //支付方式 -1 还没支付 0:全额现结,1:定期付款,2:货到付款 + actual_amount: orderDetail?.actual_amount, //实付金额 + wait_pay_amount: orderDetail?.wait_pay_amount, //待付金额 } }, [orderDetail]) @@ -206,10 +208,9 @@ import styles from './index.module.scss' } - + {(orderDetail?.status)&& - {/* toPay()}>去支付 */} - + } setShowDesc(false)} > getRemark(e)}/> diff --git a/src/pages/orderList/components/order/index.tsx b/src/pages/orderList/components/order/index.tsx index 7ad9512..7f47fdd 100644 --- a/src/pages/orderList/components/order/index.tsx +++ b/src/pages/orderList/components/order/index.tsx @@ -8,7 +8,7 @@ import { memo, useCallback, useMemo, useRef } from "react"; import styles from './index.module.scss' type Param = { - value?: { + value: { order_no: string, sale_mode: number, sale_mode_name: string, @@ -19,7 +19,10 @@ type Param = { total_colors: number, total_number: number, status: 0, - id: number + id: number, + settle_mode: number, //支付方式 + actual_amount: number, //实付金额 + wait_pay_amount: number //待付金额 }, onClickBtn?: (val:number) => void } @@ -39,6 +42,17 @@ export default memo(({value, onClickBtn}: Param) => { onClickBtn?.(status) }, [value]) + //按钮所需数据 + const orderInfo = useMemo(() => { + return { + status: value?.status, //订单状态 + orderId: value?.id, + settle_mode: value?.settle_mode, //支付方式 -1 还没支付 0:全额现结,1:定期付款,2:货到付款 + actual_amount: value?.actual_amount, //实付金额 + wait_pay_amount: value?.wait_pay_amount, //待付金额 + } + }, [value]) + return ( goLink('/pages/order/index', {id: value?.id})}> @@ -83,7 +97,7 @@ export default memo(({value, onClickBtn}: Param) => { {`${value?.total_fabrics}种面料,${value?.total_colors}种颜色,共${value?.total_number}条`} - + ) })