筛选完成

This commit is contained in:
2022-05-17 20:31:53 +08:00
parent 754b3330a9
commit d639f2b23b
22 changed files with 458 additions and 182 deletions
+1
View File
@@ -3,6 +3,7 @@ import { Button, Navigator, ScrollView, Text, View } from "@tarojs/components"
import { memo, useEffect, useState } from "react"
import "./index.scss"
import {addressListApi} from "@/api/addressManager"
import { useDidShow } from "@tarojs/taro"
interface Params{
refresherEnabled?: boolean,//是否开启刷新
+13 -11
View File
@@ -3,23 +3,26 @@ import Popup, {Params as PopuParams} from "@/components/popup"
import { Input, ScrollView, Text, Textarea, View } from "@tarojs/components"
import { useDidShow } from "@tarojs/taro";
import classnames from "classnames";
import { useEffect, useState } from "react";
import { memo, useEffect, useRef, useState } from "react";
import styles from './index.module.scss'
type params = {
onFiltr?: (val:object) => void //确定搜索
onRest?: (val:Object) => void //重置
} & PopuParams
export default ({onClose, onFiltr, show = false, onRest}:params) => {
export default memo(({onClose, onFiltr, show = false, onRest}:params) => {
//搜索条件
const [filterObj, setFilterObj] = useState({
seriesName: '',
seriesId: '',
width: '',
weight: '',
element: ''
element: '',
})
const selectFieldValue = useRef({width:'幅宽', weight:'克重', element:'成分', seriesName:'系列'})
//获取系列
const {fetchData: kindFetchData} = GetProductKindListApi()
const [kindList, setKindList] = useState<any[]>([])
@@ -34,7 +37,7 @@ export default ({onClose, onFiltr, show = false, onRest}:params) => {
//切换系列
const changeKind = (e) => {
setFilterObj({...filterObj, seriesId:e.id})
setFilterObj({...filterObj, seriesId:e.id, seriesName: e.name})
}
const onCloseEven = () => {
@@ -44,10 +47,11 @@ export default ({onClose, onFiltr, show = false, onRest}:params) => {
//重置数据
const onRestEven = () => {
let res = {
seriesName: '',
seriesId: '',
width: '',
weight: '',
element: ''
element: '',
}
setFilterObj(res)
onFiltr?.(filterObj)
@@ -56,7 +60,7 @@ export default ({onClose, onFiltr, show = false, onRest}:params) => {
//提交搜索
const onVerify = () => {
onFiltr?.(filterObj)
onFiltr?.({data:filterObj, field: selectFieldValue.current})
onClose?.()
}
@@ -67,7 +71,6 @@ export default ({onClose, onFiltr, show = false, onRest}:params) => {
}
return (
<Popup position="right" show={show} showTitle={false} onClose={() => onCloseEven()} showIconButton={true}>
<View className={styles.popup_main}>
<View className={styles.popup_title}>全部筛选</View>
@@ -82,14 +85,14 @@ export default ({onClose, onFiltr, show = false, onRest}:params) => {
<View className={styles.popup_filter_item}>
<View className={styles.title}>幅宽</View>
<View className={styles.btn_list_input}>
<View className={styles.btn_width}><Input value={filterObj.width} type="digit" onBlur={(e) => setFieldData(e,'width')} placeholder="请输入幅宽" placeholderStyle="font-size: 26rpx"/></View>
<View className={styles.btn_width}><Input value={filterObj.width} onBlur={(e) => setFieldData(e,'width')} placeholder="请输入幅宽" placeholderStyle="font-size: 26rpx"/></View>
<View className={styles.unit}>cm</View>
</View>
</View>
<View className={styles.popup_filter_item}>
<View className={styles.title}>克重</View>
<View className={styles.btn_list_input}>
<View className={styles.btn_width}><Input type="digit" value={filterObj.weight} onBlur={(e) => setFieldData(e,'weight')} placeholder="请输入克重" placeholderStyle="font-size: 26rpx"/></View>
<View className={styles.btn_width}><Input value={filterObj.weight} onBlur={(e) => setFieldData(e,'weight')} placeholder="请输入克重" placeholderStyle="font-size: 26rpx"/></View>
<View className={styles.unit}>kg</View>
</View>
</View>
@@ -111,6 +114,5 @@ export default ({onClose, onFiltr, show = false, onRest}:params) => {
</View>
</View>
</Popup>
)
}
})
+2 -3
View File
@@ -20,7 +20,7 @@ type Params = {
defaultValue?: string
}
export default forwardRef(({
export default memo(forwardRef(({
clickOnSearch, //点击筛选按钮触发
changeOnSearch, //输入文字触发
disabled = false, //是否禁用
@@ -35,7 +35,6 @@ export default forwardRef(({
}:Params, ref) => {
const [inputCon , setInputCon] = useState('')
const debounceTimeRef = useRef(0)
useEffect(() => {
setInputCon(defaultValue)
}, [defaultValue])
@@ -81,4 +80,4 @@ export default forwardRef(({
</View>
</>
)
})
}))
+3 -3
View File
@@ -11,6 +11,7 @@ import { alert, goLink } from "@/common/common";
import {GetShoppingCartApi, DelShoppingCartApi} from "@/api/shopCart"
import { formatHashTag, formatImgUrl, formatPriceDiv } from "@/common/fotmat";
import { setParam } from "@/common/system";
import { debounce } from "@/common/util";
type param = {
show?: true|false,
@@ -194,7 +195,7 @@ export default ({show = false, onClose}: param) => {
},[list])
//去结算
const orderDetail = () => {
const orderDetail = debounce(() => {
getSelectId()
if(selectIds.current.length == 0) {
alert.error('请选择面料')
@@ -203,8 +204,7 @@ export default ({show = false, onClose}: param) => {
setParam({ids, sale_mode:selectIndex})
goLink('/pages/order/comfirm')
}
}
}, 500)
return (
<View className={styles.shop_cart_main}>