修复部分bug

This commit is contained in:
2022-07-07 20:32:59 +08:00
parent d3a7fd9913
commit 3637447ab6
22 changed files with 262 additions and 318 deletions
+44 -18
View File
@@ -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])
+4 -2
View File
@@ -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) => {