From d0d4219413085db7f1496d7f6aef6f5ab6edc367 Mon Sep 17 00:00:00 2001 From: czm <2192718639@qq.com> Date: Wed, 29 Jun 2022 20:32:12 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=B5=E5=AD=90=E5=95=86=E5=9F=8E=E6=B5=8B?= =?UTF-8?q?=E8=AF=95=E7=89=88v3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/order.ts | 10 + src/common/constant.js | 4 +- src/components/textareaEnhance/index.tsx | 11 +- src/components/uploadImage/index.tsx | 10 +- src/pages/orderList/index copy.tsx | 194 ++++++++++++++++++ src/pages/orderList/index.tsx | 18 +- .../components/returnLogistics/index.tsx | 11 +- src/pages/salesAfter/index.tsx | 8 +- .../{index copy 2.tsx => index copy.tsx} | 11 +- src/pages/salesAfterList/index.tsx | 11 +- 10 files changed, 252 insertions(+), 36 deletions(-) create mode 100644 src/pages/orderList/index copy.tsx rename src/pages/salesAfterList/{index copy 2.tsx => index copy.tsx} (93%) diff --git a/src/api/order.ts b/src/api/order.ts index 26c175c..952811e 100644 --- a/src/api/order.ts +++ b/src/api/order.ts @@ -99,4 +99,14 @@ export const ReceiveOrderApi = () => { url: `/v1/mall/saleOrder/receive`, method: "put", }) +} + +/** + * 订单状态列表 + */ + export const OrderStatusListApi = () => { + return useRequest({ + url: `/v1/mall/enum/filterSaleOrderStatus`, + method: "get", + }) } \ No newline at end of file diff --git a/src/common/constant.js b/src/common/constant.js index 9eb3a66..3dc9ec4 100644 --- a/src/common/constant.js +++ b/src/common/constant.js @@ -10,8 +10,8 @@ // 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.5:40001/lymarket` // 王霞 -export const BASE_URL = `http://192.168.1.7:50002/lymarket` // 添 -// export const BASE_URL = `http://192.168.1.42:50001/lymarket` // 杰 +// export const BASE_URL = `http://192.168.1.7:50002/lymarket` // 添 +export const BASE_URL = `http://192.168.1.42:50001/lymarket` // 杰 // CDN // 生成密钥 diff --git a/src/components/textareaEnhance/index.tsx b/src/components/textareaEnhance/index.tsx index 7d41b2c..80c8c7a 100644 --- a/src/components/textareaEnhance/index.tsx +++ b/src/components/textareaEnhance/index.tsx @@ -1,5 +1,5 @@ import {Textarea, View } from "@tarojs/components"; -import { memo, useMemo, useState } from "react"; +import { memo, useEffect, useMemo, useState } from "react"; import styles from './index.module.scss' import classnames from "classnames"; @@ -17,8 +17,7 @@ export default memo(({onChange, title = '', placeholder = '请输入', defaultVa count: 200, show: false }) - const getDesc = (e) => { - let value = e.detail.value + const getDesc = (value) => { let res = value if(value.length > descData.count) { res = value.slice(0, descData.count) @@ -27,6 +26,10 @@ export default memo(({onChange, title = '', placeholder = '请输入', defaultVa onChange?.(res) } + useEffect(() => { + getDesc(defaultValue) + }, [defaultValue]) + const toggleShowRealTextarea = (show) => { setDescData({...descData, show:show}) } @@ -34,7 +37,7 @@ export default memo(({onChange, title = '', placeholder = '请输入', defaultVa {title} - {descData.show&&|| + {descData.show&&|| toggleShowRealTextarea(true)}>{descData.value||placeholder} } {descData.number +'/'+ descData.count} diff --git a/src/components/uploadImage/index.tsx b/src/components/uploadImage/index.tsx index 8a144be..91d5425 100644 --- a/src/components/uploadImage/index.tsx +++ b/src/components/uploadImage/index.tsx @@ -8,11 +8,17 @@ import styles from './index.module.scss' //图片列表 type ImageParam = { - onChange?:(val: string[]) => void + onChange?:(val: string[]) => void, + defaultList?: string[] } -const PictureItem:FC = memo(({onChange}) => { +const PictureItem:FC = memo(({onChange, defaultList = []}) => { const {getWxPhoto} = useUploadCDNImg() const [imageList, setImageLise] = useState([]) + + useEffect(() => { + setImageLise(defaultList) + }, [defaultList]) + //上传图片 const uploadImage = async () => { let res:any = await getWxPhoto('after-sale') diff --git a/src/pages/orderList/index copy.tsx b/src/pages/orderList/index copy.tsx new file mode 100644 index 0000000..66d344b --- /dev/null +++ b/src/pages/orderList/index copy.tsx @@ -0,0 +1,194 @@ +import Search from "@/components/search" +import useLogin from "@/use/useLogin" +import { Image, ScrollView, Text, View } from "@tarojs/components" +import Taro, { useDidShow, usePullDownRefresh, useRouter } from "@tarojs/taro" +import { useCallback, useEffect, useMemo, useRef, useState } from "react" +import styles from './index.module.scss' +import classnames from "classnames"; +import Order from "./components/order" +import InfiniteScroll from "@/components/infiniteScroll" +import {GetOrderStatusListApi, GetOrderListApi, OrderStatusListApi} from '@/api/order' +import { dataLoadingStatus, getFilterData } from "@/common/util" +import OrderStatusList from "./components/orderStatusList" +import Payment from "../order/components/payment" +import { ORDER_STATUS } from "@/common/enum" +import { AddShoppingCartApi } from "@/api/shopCart" +import ShopCart from "@/components/shopCart" +import ApplyRefund from "./components/applyRefund" +import { alert } from "@/common/common" + +export default () => { + const {checkLogin} = useLogin() + useDidShow(async () => { + await checkLogin() + }) + + //搜索参数 + const [searchField, setSearchField] = useState({ + status: -1, + page : 1, + size : 10, + Name:'' + }) + + //获取订单状态 + const {fetchData: orderStatusListFetchData} = OrderStatusListApi() + const [statusList, setStatusList] = useState([{id: -1, name: '全部'}]) + const getOrderStatusList = () => { + const status = Object.values(ORDER_STATUS).map(item => { + return {id: item.value, name: item.label} + }) + setStatusList((e) => [...e, ...status]) + } + useEffect(() => { + getOrderStatusList() + }, []) + + //获取订单列表 + const {fetchData: listFetchData, state:orderState} = GetOrderListApi() + const [orderData, setOrderData] = useState<{list:any[], total:number}>({list:[], total:0}) + const getOrderList = async () => { + let res = await listFetchData(getFilterData(searchField)) + setOrderData({list: res.data.list, total: res.data.total}) + setRefresherTriggeredStatus(() => false) + } + + + //监听筛选条件变化 + useEffect(() => { + getOrderList() + }, [searchField]) + + //上拉加载数据 + const pageNum = useRef({size: searchField.size, page: searchField.page}) + const getScrolltolower = useCallback(() => { + if(orderData.list.length < orderData.total) { + pageNum.current.page++ + const size = pageNum.current.size * pageNum.current.page + setSearchField({...searchField, size }) + } + }, [orderData]) + + //状态改变 + const changeStatus = useCallback((e) => { + pageNum.current.page = 1 + setSearchField((value) => ({...value, status:e, size:10})) + setOrderData(() => ({list:[], total:0})) + }, []) + + + //数据加载状态 + const statusMore = useMemo(() => { + return dataLoadingStatus({list:orderData.list, total: orderData.total, status: orderState.loading}) + }, [orderData, orderState]) + + //输入了搜索关键字 + const getSearchData = useCallback((e) => { + pageNum.current.page = 1 + setOrderData(() => ({list:[], total:0})) + setSearchField((val) => ({...val, name:e, size:10})) + }, []) + + + //列表下拉刷新 + const [refresherTriggeredStatus, setRefresherTriggeredStatus] = useState(false) + const getRefresherRefresh = async () => { + pageNum.current.size = 1 + setRefresherTriggeredStatus(true) + setSearchField((val) => ({...val, size:10})) + } + + //监听点击的按钮 + const clickOrderBtn = useCallback(({status, orderInfo}) => { + setCallBackPayOrderInfo(() => orderInfo) + if(status == 1 || status == 6) { + getOrderList() + } else if(status == 2) { + //去支付 + toPay() + } else if (status == 3) { + //申请退款 + if(!orderInfo?.av_return_roll) return alert.none('该订单已申请过退款') + setRefundShow(true) + } else if (status == 7) { + //购买 + addShopCart(orderInfo) + } + }, [orderData]) + + + const [callBackOrderInfo, setCallBackPayOrderInfo] = useState() + + //去付款 + const [payMentShow, setPayMentShow] = useState(false) + const toPay = () => { + setPayMentShow(true) + } + //关闭支付弹窗 + const closePayShow = useCallback(() => { + setPayMentShow(() => false) + }, []) + //支付成功 + const onPaySuccess = useCallback(() => { + getOrderList() + closePayShow() + }, []) + + //添加购物车 + const [showCart, setShowCart] = useState(false) + const {fetchData:addFetchData} = AddShoppingCartApi() + const addShopCart = async (item) => { + let color_list:{product_color_id: number, roll?: number, length?: number}[] = [] + item?.product_list.map(pitem => { + pitem?.product_colors.map(citem => { + if(item?.sale_mode == 0) { + return color_list.push({product_color_id: citem.id, roll: citem.roll}) + } else { + return color_list.push({product_color_id: citem.id, length: citem.length}) + } + }) + }) + const state = await addFetchData({ + sale_mode: item?.sale_mode, + color_list + }) + if(state.success) { + Taro.showToast({ + title:'已加入购物车' + }) + setShowCart(true) + } else { + Taro.showToast({ + icon:'none', + title: state.msg + }) + } + + } + + //申请退款 + const [refundShow, setRefundShow] = useState(false) + const applyRefundClose = useCallback(() => { + setRefundShow(false) + }, []) + + + return ( + + + + + + + + {orderData?.list.map(item => { + return + })} + + + + setShowCart(false)}/> + + + ) +} diff --git a/src/pages/orderList/index.tsx b/src/pages/orderList/index.tsx index fa55e30..10a3d57 100644 --- a/src/pages/orderList/index.tsx +++ b/src/pages/orderList/index.tsx @@ -1,17 +1,15 @@ import Search from "@/components/search" import useLogin from "@/use/useLogin" -import { Image, ScrollView, Text, View } from "@tarojs/components" -import Taro, { useDidShow, usePullDownRefresh, useRouter } from "@tarojs/taro" +import {View } from "@tarojs/components" +import Taro, { useDidShow,} from "@tarojs/taro" import { useCallback, useEffect, useMemo, useRef, useState } from "react" import styles from './index.module.scss' -import classnames from "classnames"; import Order from "./components/order" import InfiniteScroll from "@/components/infiniteScroll" -import {GetOrderStatusListApi, GetOrderListApi} from '@/api/order' +import { GetOrderListApi, OrderStatusListApi} from '@/api/order' import { dataLoadingStatus, getFilterData } from "@/common/util" import OrderStatusList from "./components/orderStatusList" import Payment from "../order/components/payment" -import { ORDER_STATUS } from "@/common/enum" import { AddShoppingCartApi } from "@/api/shopCart" import ShopCart from "@/components/shopCart" import ApplyRefund from "./components/applyRefund" @@ -32,13 +30,11 @@ export default () => { }) //获取订单状态 - // const {fetchData: statusFetchData} = GetOrderStatusListApi() + const {fetchData: orderStatusListFetchData} = OrderStatusListApi() const [statusList, setStatusList] = useState([{id: -1, name: '全部'}]) - const getOrderStatusList = () => { - const status = Object.values(ORDER_STATUS).map(item => { - return {id: item.value, name: item.label} - }) - setStatusList((e) => [...e, ...status]) + const getOrderStatusList = async () => { + let res = await orderStatusListFetchData() + setStatusList((e) => [...e, ...res.data.list]) } useEffect(() => { getOrderStatusList() diff --git a/src/pages/salesAfter/components/returnLogistics/index.tsx b/src/pages/salesAfter/components/returnLogistics/index.tsx index 3d6b19f..e49f04c 100644 --- a/src/pages/salesAfter/components/returnLogistics/index.tsx +++ b/src/pages/salesAfter/components/returnLogistics/index.tsx @@ -11,9 +11,11 @@ type Param = { show?: true|false, onClose?: () => void, onSubmit?: () => void, - id?: number //订单id + id?: number, //订单id + images: string[], //图片列表 + descValue?: string, //描述 } -export default memo(({show = false, onClose, onSubmit, id = 0}: Param) => { +export default memo(({show = false, onClose, onSubmit, id = 0, images = [], descValue = ''}: Param) => { //需要提交的数据 const submitData = useRef({ accessory_url: [], @@ -45,6 +47,7 @@ export default memo(({show = false, onClose, onSubmit, id = 0}: Param) => { } else { alert.error('上传失败') } + onSubmit?.() } return ( @@ -54,11 +57,11 @@ export default memo(({show = false, onClose, onSubmit, id = 0}: Param) => { 上传附件: - + - + onSubmitEven()}>保存 diff --git a/src/pages/salesAfter/index.tsx b/src/pages/salesAfter/index.tsx index d84ae04..b6f3e05 100644 --- a/src/pages/salesAfter/index.tsx +++ b/src/pages/salesAfter/index.tsx @@ -116,9 +116,13 @@ import styles from './index.module.scss' }) } }, [orderDetail]) - const onCloseLogistics = useCallback(() => setLogisticsShow(false), []) + const onCloseLogistics = useCallback(() => { + setLogisticsShow(false) + }, []) //物流成功上传 const logisticsSuccess = useCallback(() => { + console.log('12312132121113') + setLogisticsShow(false) getSaleOrderPreView() }, []) @@ -137,7 +141,7 @@ import styles from './index.module.scss' - + setApplyRecord(false)}/> diff --git a/src/pages/salesAfterList/index copy 2.tsx b/src/pages/salesAfterList/index copy.tsx similarity index 93% rename from src/pages/salesAfterList/index copy 2.tsx rename to src/pages/salesAfterList/index copy.tsx index 2d64951..6cc25ea 100644 --- a/src/pages/salesAfterList/index copy 2.tsx +++ b/src/pages/salesAfterList/index copy.tsx @@ -10,7 +10,7 @@ import InfiniteScroll from "@/components/infiniteScroll" import { dataLoadingStatus, getFilterData } from "@/common/util" import OrderStatusList from "./components/orderStatusList" import { AFTER_ORDER_STATUS } from "@/common/enum" -import { GetSaleOrderListApi, RefundOrderSatausApi } from "@/api/salesAfterOrder" +import { GetSaleOrderListApi } from "@/api/salesAfterOrder" import ReturnLogistics from "./components/returnLogistics" export default () => { @@ -29,10 +29,11 @@ export default () => { //获取订单状态 const [statusList, setStatusList] = useState([{id: -1, name: '全部'}]) - const {fetchData: fetchDataStatus} = RefundOrderSatausApi() - const getOrderStatusList = async () => { - let res = await fetchDataStatus() - setStatusList((e) => [...e, ...res.data.list]) + const getOrderStatusList = () => { + const status = Object.values(AFTER_ORDER_STATUS).map(item => { + return {id: item.value, name: item.label} + }) + setStatusList((e) => [...e, ...status]) } useEffect(() => { getOrderStatusList() diff --git a/src/pages/salesAfterList/index.tsx b/src/pages/salesAfterList/index.tsx index 6cc25ea..2d64951 100644 --- a/src/pages/salesAfterList/index.tsx +++ b/src/pages/salesAfterList/index.tsx @@ -10,7 +10,7 @@ import InfiniteScroll from "@/components/infiniteScroll" import { dataLoadingStatus, getFilterData } from "@/common/util" import OrderStatusList from "./components/orderStatusList" import { AFTER_ORDER_STATUS } from "@/common/enum" -import { GetSaleOrderListApi } from "@/api/salesAfterOrder" +import { GetSaleOrderListApi, RefundOrderSatausApi } from "@/api/salesAfterOrder" import ReturnLogistics from "./components/returnLogistics" export default () => { @@ -29,11 +29,10 @@ export default () => { //获取订单状态 const [statusList, setStatusList] = useState([{id: -1, name: '全部'}]) - const getOrderStatusList = () => { - const status = Object.values(AFTER_ORDER_STATUS).map(item => { - return {id: item.value, name: item.label} - }) - setStatusList((e) => [...e, ...status]) + const {fetchData: fetchDataStatus} = RefundOrderSatausApi() + const getOrderStatusList = async () => { + let res = await fetchDataStatus() + setStatusList((e) => [...e, ...res.data.list]) } useEffect(() => { getOrderStatusList()