修复部分bug
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { CreateFavoriteApi, DelFavoriteApi, FavoriteListApi, UpdateFavoriteApi } from "@/api/favorite";
|
||||
import { CreateFavoriteApi, DelFavoriteApi, DelFavoriteProductApi, DetailFavoriteProductApi, FavoriteListApi, MoveFavoriteProductApi, UpdateFavoriteApi } from "@/api/favorite";
|
||||
import { alert } from "@/common/common";
|
||||
import { getFilterData } from "@/common/util";
|
||||
import Product from "../components/product";
|
||||
@@ -6,7 +6,7 @@ import Search from "@/components/search"
|
||||
import { Text, View } from "@tarojs/components"
|
||||
import Taro, { useRouter } from "@tarojs/taro";
|
||||
import classnames from "classnames";
|
||||
import { useCallback, useEffect, useRef, useState } from "react";
|
||||
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
||||
import CreatePopup from "../components/createPopup";
|
||||
import UpdatePopup from "../components/updatePopup";
|
||||
import styles from './index.module.scss'
|
||||
@@ -19,24 +19,33 @@ export default () => {
|
||||
const router = useRouter()
|
||||
|
||||
//获取收藏夹面料
|
||||
const [list, setList] = useState<any[]>([])
|
||||
const getFavoriteInfo = () => {
|
||||
let arr:any[] = []
|
||||
new Array(10).fill("").map((item, index) => {
|
||||
arr.push({id:index, code: index})
|
||||
})
|
||||
setList(arr)
|
||||
const {fetchData: fetchDataDetailFavoriteProduct} = DetailFavoriteProductApi()
|
||||
const [colorInfo, setColorInfo] = useState<any>({})
|
||||
const getFavoriteInfo = async () => {
|
||||
let res = await fetchDataDetailFavoriteProduct(searchData)
|
||||
if(res.success) {
|
||||
setColorInfo(res.data)
|
||||
}
|
||||
}
|
||||
|
||||
//获取搜索数据
|
||||
const [searchData, setSearchData] = useState('')
|
||||
const [searchData, setSearchData] = useState({id:0, key: ''})
|
||||
const onSearch = useCallback((e) => {
|
||||
setSearchData(() => e)
|
||||
}, [])
|
||||
useEffect(() => {
|
||||
getFavoriteInfo()
|
||||
let id = router.params.id || 0
|
||||
if(id) setSearchData((e) => ({...e, id: parseInt(id as string)}))
|
||||
}, [])
|
||||
|
||||
useEffect(() => {
|
||||
if(searchData.id) getFavoriteInfo()
|
||||
}, [searchData])
|
||||
|
||||
const productList = useMemo(() => {
|
||||
return colorInfo.product_color_list
|
||||
}, [colorInfo])
|
||||
|
||||
|
||||
//获取选中的id
|
||||
const [ids, setIds] = useState<number[]>([])
|
||||
@@ -57,11 +66,11 @@ export default () => {
|
||||
|
||||
const [selectStatus, setSelectStatus] = useState<1|2|3>(3)
|
||||
useEffect(() => {
|
||||
if(list.length) {
|
||||
if(ids.length == list.length) {
|
||||
if(colorInfo.product_color_list?.length) {
|
||||
if(ids.length == colorInfo.product_color_list.length) {
|
||||
setSelectStatus(1)
|
||||
setAllSelectStatus(true)
|
||||
} else if ( 0 < ids.length && ids.length < list.length){
|
||||
} else if ( 0 < ids.length && ids.length < colorInfo.product_color_list.length){
|
||||
setSelectStatus(2)
|
||||
setAllSelectStatus(false)
|
||||
} else {
|
||||
@@ -69,7 +78,7 @@ export default () => {
|
||||
setAllSelectStatus(false)
|
||||
}
|
||||
}
|
||||
}, [ids, list])
|
||||
}, [ids, colorInfo])
|
||||
|
||||
|
||||
const [collectionShow, setCollectionShow] = useState(false)
|
||||
@@ -77,8 +86,25 @@ export default () => {
|
||||
setCollectionShow(false)
|
||||
}, [])
|
||||
|
||||
const onAdd = () => {
|
||||
//移动面料
|
||||
const {fetchData: fetchDataMoveFavoriteProduct} = MoveFavoriteProductApi()
|
||||
const onAdd = async () => {
|
||||
let res = await fetchDataMoveFavoriteProduct({favorite_id: searchData.id, product_id:ids})
|
||||
if(res.success) {
|
||||
getFavoriteInfo()
|
||||
alert.success('修改成功')
|
||||
}
|
||||
}
|
||||
|
||||
//取消收藏
|
||||
const {fetchData: delFavoriteProductFetchData} = DelFavoriteProductApi()
|
||||
const delCollectioin = async () => {
|
||||
if(ids.length == 0) return alert.none('请选择要取消面料')
|
||||
let res = await delFavoriteProductFetchData({favorite_id: searchData.id, product_id:ids})
|
||||
if(res.success) {
|
||||
getFavoriteInfo()
|
||||
alert.none('已取消收藏')
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
@@ -93,11 +119,11 @@ export default () => {
|
||||
</View>
|
||||
<View className={styles.operation_check_right}>
|
||||
<Text className={styles.operation_check_move} onClick={() => setCollectionShow(true)}>移动到</Text>
|
||||
<Text className={styles.operation_check_cancel}>取消收藏</Text>
|
||||
<Text className={styles.operation_check_cancel} onClick={delCollectioin}>取消收藏</Text>
|
||||
</View>
|
||||
</View>
|
||||
<View className={styles.class_list}>
|
||||
<Product productList={list} onSelectIds={getSelectIds} selectStatus={selectStatus} openCheckBox={true}/>
|
||||
<Product productList={productList} onSelectIds={getSelectIds} selectStatus={selectStatus} openCheckBox={true}/>
|
||||
</View>
|
||||
<AddCollection show={collectionShow} onAdd={onAdd} onClose={closeCollection}/>
|
||||
</View>
|
||||
|
||||
@@ -13,11 +13,12 @@ type Params = {
|
||||
selectStatus?: 1|2|3, //1全选,2不做处理,3全清空
|
||||
openCheckBox?: true|false //是否开启选择
|
||||
}
|
||||
export default ({productList = [], onSelectIds, selectStatus = 2, openCheckBox = false}:Params) => {
|
||||
export default ({productList, onSelectIds, selectStatus = 2, openCheckBox = false}:Params) => {
|
||||
const [list, setList] = useState<any[]>([])
|
||||
useEffect(() => {
|
||||
setList(() => [...productList])
|
||||
setList(() => productList||[])
|
||||
},[productList])
|
||||
|
||||
|
||||
useEffect(() => {
|
||||
if(list.length && selectStatus != 2) {
|
||||
@@ -51,7 +52,7 @@ export default ({productList = [], onSelectIds, selectStatus = 2, openCheckBox =
|
||||
useEffect(() => {
|
||||
let ids: number[] = []
|
||||
list.map(item => {
|
||||
if(item.check) ids.push(item.id)
|
||||
if(item.check) ids.push(item.product_id)
|
||||
})
|
||||
onSelectIds?.(ids)
|
||||
}, [list])
|
||||
|
||||
@@ -113,14 +113,16 @@ export default () => {
|
||||
if(res.success) {
|
||||
alert.success('编辑成功')
|
||||
getFavoriteList()
|
||||
closeUpdate()
|
||||
} else {
|
||||
alert.error('编辑失败')
|
||||
}
|
||||
}
|
||||
|
||||
const onBatchManagement = useCallback(() => {
|
||||
// goLink('pages/collection/collectionClass/index', {id: })
|
||||
}, [])
|
||||
goLink('/pages/collection/collectionClass/index', {id: initData.id})
|
||||
closeUpdate()
|
||||
}, [initData])
|
||||
|
||||
//操作文件夹
|
||||
const onCreatSuccess = (submitData) => {
|
||||
|
||||
@@ -14,7 +14,7 @@ import SubmitOrderBtn from "./components/submitOrderBtn";
|
||||
import AddressInfoDetail from "./components/addressInfoDetail";
|
||||
import { SubscriptionMessageApi } from "@/api/user";
|
||||
import { SUBSCRIPTION_MESSAGE_SCENE } from "@/common/enum";
|
||||
import { UseSubscriptionMessage } from "@/use/useCommonData";
|
||||
import { UseSubscriptionMessage } from "@/use/useCommon";
|
||||
|
||||
export default () => {
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ 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, useState } from "react";
|
||||
import { forwardRef, memo, useEffect, useImperativeHandle, useMemo, useRef, useState } from "react";
|
||||
import styles from './index.module.scss'
|
||||
|
||||
export type AddressInfoParam = {
|
||||
@@ -62,8 +62,6 @@ export default memo(forwardRef(({onSelect, onChangeShipmentMode, orderInfo, stat
|
||||
}, [orderInfo])
|
||||
|
||||
|
||||
|
||||
|
||||
//打开地址列表
|
||||
const [showAddressList, setShowAddressList] = useState(false)
|
||||
const changeShow = () => {
|
||||
@@ -84,8 +82,9 @@ export default memo(forwardRef(({onSelect, onChangeShipmentMode, orderInfo, stat
|
||||
if(limitEdit()) changeReceivingStatus(value)
|
||||
|
||||
}
|
||||
|
||||
const changeReceivingStatus = debounce(async (value) => {
|
||||
if(!orderInfo) return false
|
||||
if(!orderInfo || value == receivingStatus) return false
|
||||
if(status == 1) {
|
||||
onChangeShipmentMode?.(value)
|
||||
setReceivingStatus(value)
|
||||
@@ -142,9 +141,8 @@ export default memo(forwardRef(({onSelect, onChangeShipmentMode, orderInfo, stat
|
||||
|
||||
|
||||
//根据订单状态判断是否显示物流
|
||||
const logisticsShowList = [SaleOrderStatusWaitingReceipt.value, SaleOrderStatusAlreadyReceipt.value, SaleOrderStatusComplete.value, SaleOrderStatusRefund.value, SaleOrderStatusCancel.value]
|
||||
const logisticsShowList = [SaleOrderStatusWaitingReceipt.value, SaleOrderStatusAlreadyReceipt.value, SaleOrderStatusComplete.value, SaleOrderStatusRefund.value]
|
||||
const logisticsShow = useMemo(() => {
|
||||
console.log('aa:',orderInfo?.status)
|
||||
return logisticsShowList.includes(orderInfo?.status as number)
|
||||
}, [orderInfo])
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ import { memo, useEffect, useMemo, useRef, useState } from "react";
|
||||
import classnames from "classnames";
|
||||
import styles from './index.module.scss'
|
||||
import dayjs from "dayjs";
|
||||
import { useTimeCountDown } from "@/use/useCommonData";
|
||||
import { useTimeCountDown } from "@/use/useCommon";
|
||||
import { ORDER_STATUS, PAYMENT_METHOD, PAYMENT_METHOD_PARAM } from "@/common/enum";
|
||||
|
||||
type List = {
|
||||
|
||||
@@ -23,12 +23,12 @@ export default memo(({show, onClose, orderId}:Param) => {
|
||||
})
|
||||
|
||||
useEffect(() => {
|
||||
if(orderId) {
|
||||
console.log('show&&orderId::', show)
|
||||
if(show&&orderId) {
|
||||
submitData.current.sale_order_id = orderId
|
||||
refundExplain()
|
||||
}
|
||||
|
||||
}, [orderId])
|
||||
}, [orderId, show])
|
||||
|
||||
//申请退款
|
||||
const {fetchData} = ApplyRefundApi()
|
||||
@@ -48,7 +48,7 @@ export default memo(({show, onClose, orderId}:Param) => {
|
||||
const {fetchData: refundExplainFetchdata} = RefundExplainApi()
|
||||
const refundExplain = async () => {
|
||||
let res = await refundExplainFetchdata()
|
||||
setList(res.data.list)
|
||||
setList(() => res.data.list)
|
||||
}
|
||||
const [reason, setReason] = useState({id:0, name:''})
|
||||
const reasonSelect = useCallback((e) => {
|
||||
@@ -87,7 +87,7 @@ export default memo(({show, onClose, orderId}:Param) => {
|
||||
|
||||
return (
|
||||
<>
|
||||
<Popup show={show} title="申请退款" onClose={onClose} >
|
||||
<Popup show={show} title="申请退款33" onClose={onClose} >
|
||||
<View className={styles.apply_after_sales_con}>
|
||||
<View className={styles.returnSaleInput_item}>
|
||||
<View className={styles.title}>退款说明</View>
|
||||
|
||||
@@ -102,7 +102,7 @@ export default memo(({order, comfirm = false}:Param) => {
|
||||
return (item.value.includes(order.status)|| order.sale_mode == 1)
|
||||
} else if (item.id == 3) {
|
||||
//空差优惠只有大货才有
|
||||
return (item.value.includes(order.status) && order.sale_mode == 1 )
|
||||
return (item.value.includes(order.status) && order.sale_mode == 0 )
|
||||
} else {
|
||||
return (item.value.includes(order.status) && order.sale_mode != 1 )
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ import { GetOrderPayApi, SubmitOrderPayApi, GetPrepayOrderPayApi, SubmitPrepayOr
|
||||
import { formatPriceDiv } from "@/common/fotmat";
|
||||
import {alert} from "@/common/common"
|
||||
import { ORDER_STATUS, PAYMENT_METHOD, PAYMENT_METHOD_PARAM, SUBSCRIPTION_MESSAGE_SCENE } from "@/common/enum";
|
||||
import { UseSubscriptionMessage } from "@/use/useCommonData";
|
||||
import { UseSubscriptionMessage } from "@/use/useCommon";
|
||||
|
||||
type Param = {
|
||||
show?: true|false,
|
||||
|
||||
@@ -242,13 +242,16 @@ import styles from './index.module.scss'
|
||||
|
||||
//查看物流
|
||||
const getLogistics = useCallback(() => {
|
||||
const list = orderDetail?.delivery_appendix_url.map(item => {
|
||||
return formatImgUrl(item)
|
||||
})
|
||||
Taro.previewImage({
|
||||
current: list[0], // 当前显示
|
||||
urls: list // 需要预览的图片http链接列表
|
||||
})
|
||||
if (orderDetail?.delivery_appendix_url) {
|
||||
const list = orderDetail?.delivery_appendix_url?.map(item => {
|
||||
return formatImgUrl(item)
|
||||
})
|
||||
Taro.previewImage({
|
||||
current: list[0], // 当前显示
|
||||
urls: list // 需要预览的图片http链接列表
|
||||
})
|
||||
}
|
||||
|
||||
}, [orderDetail])
|
||||
|
||||
//添加购物车
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
|
||||
.apply_after_sales_con{
|
||||
padding: 20px;
|
||||
.returnSaleInput_item{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding-bottom: 50px;
|
||||
flex-wrap: wrap;
|
||||
.title{
|
||||
font-size: $font_size;
|
||||
font-weight: 700;
|
||||
width: 119px;
|
||||
}
|
||||
.select{
|
||||
flex:1;
|
||||
height: 60px;
|
||||
border: 2px solid #e6e6e6;
|
||||
border-radius: 10px;
|
||||
margin-left: 20px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
padding: 0 20px;
|
||||
font-size: 26px;
|
||||
color: $color_font_two;
|
||||
.miconfont{
|
||||
font-size: 30px;
|
||||
}
|
||||
}
|
||||
.upload_image{
|
||||
flex:1;
|
||||
}
|
||||
}
|
||||
.btns_con{
|
||||
width: 100%;
|
||||
bottom:0;
|
||||
box-sizing: border-box;
|
||||
margin-top: 50px;
|
||||
.btns_two{
|
||||
display: flex;
|
||||
height: 82px;
|
||||
// border: 1PX solid #007aff;
|
||||
font-size: $font_size_big;
|
||||
border-radius: 40px;
|
||||
margin-bottom: 20px;
|
||||
.rest_btn{
|
||||
flex:1;
|
||||
border: 1PX solid #007aff;
|
||||
border-radius: 40px 0 0 40px;
|
||||
text-align: center;
|
||||
line-height: 82px;
|
||||
color: $color_main;
|
||||
background-color: #fff;
|
||||
|
||||
}
|
||||
.verify_btn{
|
||||
flex:1;
|
||||
border-radius: 0 40px 40px 0;
|
||||
background: #007aff;
|
||||
text-align: center;
|
||||
line-height: 82px;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,99 +0,0 @@
|
||||
import Popup from "@/components/popup";
|
||||
import TextareaEnhance from "@/components/textareaEnhance";
|
||||
import { ScrollView, Text, View } from "@tarojs/components";
|
||||
import { memo, useCallback, useEffect, useRef, useState } from "react";
|
||||
import styles from './index.module.scss'
|
||||
import classnames from "classnames";
|
||||
import { ApplyRefundApi } from "@/api/salesAfterOrder";
|
||||
import { alert } from "@/common/common";
|
||||
import ReasonPopup from "@/pages/order/components/reasonPopup";
|
||||
|
||||
type Param = {
|
||||
show?: true|false,
|
||||
onClose?: () => void,
|
||||
orderId?: number
|
||||
}
|
||||
export default memo(({show, onClose, orderId}:Param) => {
|
||||
|
||||
//提交的数据
|
||||
const submitData = useRef({
|
||||
return_explain: 1,
|
||||
sale_order_id: 0,
|
||||
reason_describe: ''
|
||||
})
|
||||
|
||||
useEffect(() => {
|
||||
if(orderId)
|
||||
submitData.current.sale_order_id = orderId
|
||||
}, [orderId])
|
||||
|
||||
//申请退款
|
||||
const {fetchData} = ApplyRefundApi()
|
||||
const getApplyRefund = async () => {
|
||||
let res = await fetchData(submitData.current)
|
||||
if(!submitData.current.return_explain) return alert.error('请选择说明原因')
|
||||
if(res.success) {
|
||||
alert.error('申请成功')
|
||||
} else {
|
||||
alert.error('申请失败')
|
||||
}
|
||||
onClose?.()
|
||||
}
|
||||
|
||||
//获取说明数据
|
||||
const [list, setList] = useState<any[]>([])
|
||||
|
||||
|
||||
//备注
|
||||
const getOtherReason = useCallback((val) => {
|
||||
submitData.current.reason_describe = val
|
||||
}, [])
|
||||
|
||||
|
||||
//显示说明
|
||||
const [showReason, setShowReason] = useState(false)
|
||||
const closeReason = useCallback(() => {
|
||||
setShowReason(false)
|
||||
}, [])
|
||||
|
||||
|
||||
//提交
|
||||
const onSubmit = (val) => {
|
||||
if(val == 2) {
|
||||
getApplyRefund()
|
||||
} else {
|
||||
onClose?.()
|
||||
submitData.current = {
|
||||
return_explain: 0,
|
||||
sale_order_id: 0,
|
||||
reason_describe: ''
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
return (
|
||||
<>
|
||||
<Popup show={show} title="申请退款" onClose={onClose} >
|
||||
<View className={styles.apply_after_sales_con}>
|
||||
<View className={styles.returnSaleInput_item}>
|
||||
<View className={styles.title}>退款说明</View>
|
||||
<View className={styles.select} onClick={() => setShowReason(true)}>
|
||||
<Text>请选择</Text>
|
||||
<Text className={classnames(styles.miconfont, 'iconfont icon-a-moreback')}></Text>
|
||||
</View>
|
||||
</View>
|
||||
<TextareaEnhance onChange={getOtherReason} title='备注' placeholder="请输入退款备注"/>
|
||||
<View className={styles.btns_con}>
|
||||
<View className={styles.btns_two}>
|
||||
<View className={styles.rest_btn} onClick={() => onSubmit(1)}>取消</View>
|
||||
<View className={styles.verify_btn } onClick={() => onSubmit(2)}>确认</View>
|
||||
</View >
|
||||
</View>
|
||||
</View>
|
||||
</Popup>
|
||||
<ReasonPopup show={showReason} onClose={closeReason} list={list} title="退款说明"/>
|
||||
</>
|
||||
)
|
||||
})
|
||||
@@ -12,9 +12,9 @@ import OrderStatusList from "./components/orderStatusList"
|
||||
import Payment from "../order/components/payment"
|
||||
import { AddShoppingCartApi } from "@/api/shopCart"
|
||||
import ShopCart from "@/components/shopCart"
|
||||
import ApplyRefund from "./components/applyRefund"
|
||||
import { alert } from "@/common/common"
|
||||
import { useRouter } from "@tarojs/runtime"
|
||||
import ApplyRefund from "../order/components/applyRefund"
|
||||
|
||||
export default () => {
|
||||
const {checkLogin} = useLogin()
|
||||
|
||||
Reference in New Issue
Block a user