修复部分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) => {
|
||||
|
||||
Reference in New Issue
Block a user