diff --git a/src/api/order.ts b/src/api/order.ts
index 83cbdae..10318d3 100644
--- a/src/api/order.ts
+++ b/src/api/order.ts
@@ -29,3 +29,34 @@ export const SaleOrderApi = () => {
method: "get",
})
}
+
+
+/**
+ * 修改销售单备注
+ */
+ export const EditSaleOrderRemarkApi = () => {
+ return useRequest({
+ url: `/v1/mall/saleOrder/remark`,
+ method: "put",
+ })
+}
+
+/**
+ * 修改销售单地址
+ */
+ export const EditSaleOrderAddressApi = () => {
+ return useRequest({
+ url: `/v1/mall/saleOrder/address`,
+ method: "put",
+ })
+}
+
+/**
+ * 修改销售单收货方法
+ */
+ export const EditSaleOrderShipmentModeApi = () => {
+ return useRequest({
+ url: `/v1/mall/saleOrder/shipmentMode`,
+ method: "put",
+ })
+}
\ No newline at end of file
diff --git a/src/common/constant.js b/src/common/constant.js
index ff94106..b4f2b9a 100644
--- a/src/common/constant.js
+++ b/src/common/constant.js
@@ -5,8 +5,8 @@
// export const BASE_URL = `http://192.168.0.89:40001/lymarket`
// export const BASE_URL = `http://192.168.1.165:40001/lymarket` // 王霞
// export const BASE_URL = `https://test.zzfzyc.com/lymarket` // 测试环境
-export const BASE_URL = `http://192.168.1.30:40001/lymarket` // 发
-// export const BASE_URL = `https://dev.zzfzyc.com/lymarket` // 开发环境
+// export const BASE_URL = `http://192.168.1.30:40001/lymarket` // 发
+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.4:40001/lymarket` // 王霞
// export const BASE_URL = `http://192.168.1.224:50002/lymarket` // 添
diff --git a/src/common/util.js b/src/common/util.ts
similarity index 74%
rename from src/common/util.js
rename to src/common/util.ts
index 6c131c9..15f5d6b 100644
--- a/src/common/util.js
+++ b/src/common/util.ts
@@ -5,7 +5,7 @@
* @returns
*/
export const debounce = (fn, delay) => {
- let timer = null;
+ let timer:any = null;
return (...param) => {
if (timer) clearTimeout(timer);
timer = setTimeout(() => {
@@ -90,4 +90,17 @@ export const throttle = (fn, delay) => {
*/
export const screenshot = (url, suffix="!w200")=>{
return url+suffix;
+ }
+
+ //获取数据加载状态 //0:数据从无到有加载数据,1,没有任何数据, 2:下拉加载,3:下拉没有数据
+ export const dataLoadingStatus = ({list = [], total = 0, status = false}:{list:any[], total:number, status:true|false}) => {
+ if(list.length == 0 && status) {
+ return 0
+ } else if (list.length == 0 && !status) {
+ return 1
+ } else if (list.length < total) {
+ return 2
+ } else {
+ return 3
+ }
}
\ No newline at end of file
diff --git a/src/components/infiniteScroll/index.tsx b/src/components/infiniteScroll/index.tsx
index 99dbbaf..26ab828 100644
--- a/src/components/infiniteScroll/index.tsx
+++ b/src/components/infiniteScroll/index.tsx
@@ -4,12 +4,14 @@ import style from "./index.module.scss"
import DotLoading from "@/components/dotLoading"
import LoadingCard from "../loadingCard"
+export type StatusParam = 0|1|2|3
+
type Params = {
styleObj?: Object,
selfonScrollToLower?: () => void,
- hasMore?: false|true,
+ hasMore?: false|true,
moreStatus?: false|true,
- statusMore?: 0|1|2, //0:没数据加载,1:下拉加载,2:没有数据
+ statusMore?: StatusParam //0:数据从无到有加载数据,1,没有任何数据, 2:下拉加载,3:下拉没有数据
children?: ReactNode,
lowerThresholdNum?: number,
selfOnScrollToUpper?:() => void
@@ -80,20 +82,28 @@ export default memo(({
onRefresherAbort = {() => refresherAbort()}
refresherBackground ='#F8F8F8'
>
- {(statusMore != 0)&&
- {children}
- {moreStatus&&
- {
- hasMore&&加载中||
- 没有更多数据了
- }
- }
- ||
-
- }
+ {!moreStatus&&<>
+
+ {children}
+
+ >||
+ <>
+ {(statusMore == 2 || statusMore == 3)&&
+ {children}
+
+ {
+ (statusMore == 2)&&加载中||
+ 没有更多数据了
+ }
+
+
+ }
+ {(statusMore == 0)&&}
+ {(statusMore == 1)&&}
+ >}
+
-
>
)
})
\ No newline at end of file
diff --git a/src/components/sideBar/index.tsx b/src/components/sideBar/index.tsx
index 8245770..78ceec0 100644
--- a/src/components/sideBar/index.tsx
+++ b/src/components/sideBar/index.tsx
@@ -1,13 +1,12 @@
import { ScrollView, View } from "@tarojs/components"
-import { memo, ReactNode, useEffect, useRef, useState } from "react"
+import React, { memo, ReactNode, useEffect, useRef, useState } from "react"
import styles from "./index.module.scss"
import classnames from "classnames";
import Taro, { useReady } from "@tarojs/taro";
-import InfiniteScroll from "../infiniteScroll";
+import InfiniteScroll, {StatusParam} from "../infiniteScroll";
import LoadingCard from "../loadingCard";
-
type Params = {
list?: any[],
defaultValue?: number|string,
@@ -18,7 +17,8 @@ type Params = {
refresherTriggered?: true|false,
selfOnRefresherRefresh?: () => void
selfOnScrolltolower?: () => void,
- hasMore?: true|false
+ hasMore?: true|false,
+ statusMore?: StatusParam
}
export default memo(({list = [],
@@ -30,7 +30,8 @@ export default memo(({list = [],
refresherTriggered = false,
selfOnRefresherRefresh,
selfOnScrolltolower,
- hasMore = true
+ hasMore = true,
+ statusMore = 0
}: Params) => {
let num_half = useRef(0)
@@ -82,8 +83,6 @@ export default memo(({list = [],
})
})
-
-
return (
<>
@@ -108,8 +107,7 @@ export default memo(({list = [],
-
- selfOnScrolltolower?.()} refresherTriggered={refresherTriggered} refresherEnabled={true} selfOnRefresherRefresh={() => selfOnRefresherRefresh?.()}>
+ selfOnScrolltolower?.()} refresherTriggered={refresherTriggered} refresherEnabled={true} selfOnRefresherRefresh={() => selfOnRefresherRefresh?.()}>
{children}
diff --git a/src/pages/classList/index.tsx b/src/pages/classList/index.tsx
index 5d79601..c2a46c9 100644
--- a/src/pages/classList/index.tsx
+++ b/src/pages/classList/index.tsx
@@ -4,13 +4,13 @@ import Search from '@/components/search'
import Product from '@/components/product'
import InfiniteScroll from '@/components/infiniteScroll'
import styles from './index.module.scss'
-import { useCallback, useEffect, useRef, useState } from "react";
+import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import Filter from "@/components/filter";
import SortBtn from "@/components/sortBtn";
import SelectData, {ListProps} from "../searchList/components/selectData";
import {GetProductListApi} from '@/api/material'
import { useRouter } from "@tarojs/taro";
-import { getFilterData } from "@/common/util";
+import { dataLoadingStatus, getFilterData } from "@/common/util";
import LoadingCard from "@/components/loadingCard";
export default () => {
@@ -56,9 +56,9 @@ export default () => {
}
}
- //监听获得的数据变化
- useEffect(() => {
- (categoryList.list.length < categoryList.total)?setHasMore(true):setHasMore(false)
+ //数据加载状态
+ const statusMore = useMemo(() => {
+ return dataLoadingStatus({list:categoryList.list, total: categoryList.total, status: state.loading})
}, [categoryList])
//获取筛选条件
@@ -118,11 +118,9 @@ export default () => {
- {(categoryList.list.length == 0&&state.loading)&&}
- {(categoryList.list.length == 0 && !state.loading)&&}
- {(categoryList.list.length > 0)&& getScrolltolower()} hasMore={hasMore}>
+ getScrolltolower()} statusMore={statusMore}>
- }
+
setShowPopup(false)} onFiltr={getFiltr}/>
diff --git a/src/pages/editOrder/components/shipmentMode/index.tsx b/src/pages/editOrder/components/shipmentMode/index.tsx
index 235591c..9ee03ae 100644
--- a/src/pages/editOrder/components/shipmentMode/index.tsx
+++ b/src/pages/editOrder/components/shipmentMode/index.tsx
@@ -1,18 +1,22 @@
import { Text, View } from "@tarojs/components"
import styles from './index.module.scss'
import classnames from "classnames";
-import { memo, useRef, useState } from "react";
+import { memo, useEffect, useRef, useState } from "react";
type Param = {
onSelect?:(val:number) => void
+ defaultValue?: 0|1|2
}
-export default memo(({onSelect}: Param) => {
- //收货方法 1:自提,2:物流
+export default memo(({onSelect, defaultValue = 0}: Param) => {
+ //收货方法 0:没选择, 1:自提,2:物流
const shipmentMode = useRef([
{value:1, label:'上门自提', selected:false},
{value:2, label:'物流', selected:false}
])
- const [selectValue, setSelectValue] = useState()
+ const [selectValue, setSelectValue] = useState()
+ useEffect(() => {
+ setSelectValue(defaultValue)
+ }, [defaultValue])
const selectShipmentMode = (value) => {
setSelectValue(() => value)
onSelect?.(value)
diff --git a/src/pages/editOrder/index.tsx b/src/pages/editOrder/index.tsx
index 31fcd81..627165c 100644
--- a/src/pages/editOrder/index.tsx
+++ b/src/pages/editOrder/index.tsx
@@ -1,21 +1,62 @@
import { Text, View } from "@tarojs/components"
import styles from './index.module.scss'
import classnames from "classnames";
-import { useCallback, useRef, useState } from "react";
+import { useCallback, useMemo, useRef, useState } from "react";
import ShipmentMode from "./components/shipmentMode";
import AddressList from "@/components/AddressList";
-import { goLink } from "@/common/common";
+import { alert, goLink } from "@/common/common";
+import { getParam } from "@/common/system";
+import {EditSaleOrderAddressApi, EditSaleOrderShipmentModeApi} from "@/api/order";
+import Taro from "@tarojs/taro";
+
export default () => {
+
+ //获取临时传递的数据
+ const params = getParam()
+ const [paramsData, setParamsData] = useState(params)
+
//提交的数据
const [submitData, setSubmitData] = useState({
address_id:0,
- id:0,
- shipment_mode: 0
+ id:params.id,
+ shipment_mode: params.shipment_mode
})
+
+
+ //格式化地址
+ const address = useMemo(() => {
+ return paramsData.province_name+' '+paramsData.city_name+' '+paramsData.district_name+' '+paramsData.address_detail
+ }, [paramsData])
+
//获取收货方法
const getShipmentMode = useCallback((num) => {
setSubmitData((val) => ({...val, shipment_mode:num}))
}, [])
+
+ //获取地址
+ const getSelectAddress = useCallback((e) => {
+ setSubmitData((val) => ({...val, address_id:e.id}))
+ }, [])
+
+ //修改请求
+ const {fetchData: addressFetchData} = EditSaleOrderAddressApi()
+ const {fetchData: shipmentFetchData} = EditSaleOrderShipmentModeApi()
+ const editData = async () => {
+ if(submitData.address_id) {
+ let res = await addressFetchData(submitData)
+ if(!res.success) {
+ alert.error(res.msg)
+ return false
+ }
+ }
+ let res = await shipmentFetchData(submitData)
+ if(!res.success) {
+ alert.error(res.msg)
+ return false
+ }
+ Taro.navigateBack()
+ }
+
return (
@@ -26,24 +67,24 @@ export default () => {
-
+
原地址:
- 广东省 佛山市 禅城区 张槎街道 清风路1988号麦兜的大 大仓库
+ {address}
- 陈先生
- 1818877790
+ {paramsData.name}
+ {paramsData.phone}
重新选择收货地址
-
+
goLink('/pages/addressAdd/index', {type:'add'})} className={classnames(styles.addAddress, styles.addressBtn)}>添加新地址
- 提交修改
+ editData()}>提交修改
diff --git a/src/pages/index/context.ts b/src/pages/index/context.ts
new file mode 100644
index 0000000..f7db244
--- /dev/null
+++ b/src/pages/index/context.ts
@@ -0,0 +1,3 @@
+import React from "react";
+
+export const ParamsContext = React.createContext(null)
\ No newline at end of file
diff --git a/src/pages/index/index.config.ts b/src/pages/index/index.config.ts
index a025a3d..86e3b2e 100644
--- a/src/pages/index/index.config.ts
+++ b/src/pages/index/index.config.ts
@@ -1,3 +1,3 @@
export default {
- navigationBarTitleText: '修改地址',
+ navigationBarTitleText: '首页',
}
diff --git a/src/pages/index/index.tsx b/src/pages/index/index.tsx
index 5653f8d..de0e0b0 100644
--- a/src/pages/index/index.tsx
+++ b/src/pages/index/index.tsx
@@ -7,11 +7,12 @@ import MoveBtn from '@/components/moveBtn'
import ShopCart from '@/components/shopCart'
import { goLink } from '@/common/common'
import styles from './index.module.scss'
-import { useEffect, useRef, useState } from 'react'
+import React, { useEffect, useMemo, useRef, useState } from 'react'
import Taro, { Events, useDidShow, usePullDownRefresh, useRouter } from '@tarojs/taro'
import {GetProductKindListApi, GetProductListApi} from '@/api/material'
import useLogin from '@/use/useLogin'
import LoadingCard from '@/components/loadingCard'
+import { dataLoadingStatus } from '@/common/util'
export default () => {
@@ -54,6 +55,7 @@ export default () => {
getProductList()
}, [filtrate])
+
//点击面料类型
const getProductKindId = async (e) => {
pageNum.current.page = 1
@@ -90,6 +92,11 @@ export default () => {
usePullDownRefresh(() => {
console.log('123')
})
+
+ //数据加载状态
+ const statusMore = useMemo(() => {
+ return dataLoadingStatus({list:productData.list, total: productData.total, status: productState.loading})
+ }, [productData])
return (
setShowShopCart(!showShopCart)}>
@@ -102,9 +109,9 @@ export default () => {
- getScrolltolower()} sideBarOnClick={(e) => getProductKindId(e)} heightItem={150} refresherTriggered={refresherTriggeredStatus} selfOnRefresherRefresh={() => getRefresherRefresh()}>
-
-
+ getScrolltolower()} sideBarOnClick={(e) => getProductKindId(e)} heightItem={150} refresherTriggered={refresherTriggeredStatus} selfOnRefresherRefresh={() => getRefresherRefresh()}>
+
+
setShowShopCart(false)}/>
@@ -112,3 +119,4 @@ export default () => {
)
}
+
diff --git a/src/pages/order/components/addressInfo/index.tsx b/src/pages/order/components/addressInfo/index.tsx
index e8c5276..4225fea 100644
--- a/src/pages/order/components/addressInfo/index.tsx
+++ b/src/pages/order/components/addressInfo/index.tsx
@@ -10,7 +10,7 @@ export type AddressInfoParam = {
city_name: string,
district_name: string,
address_detail: string,
- id: number,
+ id?: number,
name: string,
phone: string
}
diff --git a/src/pages/order/components/estimatedAmount/index.tsx b/src/pages/order/components/estimatedAmount/index.tsx
index c1f360d..269487e 100644
--- a/src/pages/order/components/estimatedAmount/index.tsx
+++ b/src/pages/order/components/estimatedAmount/index.tsx
@@ -5,9 +5,11 @@ import classnames from "classnames";
import styles from './index.module.scss'
type Param = {
style?: Object,
- number?: number
+ number?: number,
+ title?: string,
+ status?: true|false, //true 加大加深
}
-export default memo(({style, number = 0}:Param) => {
+export default memo(({style, number = 0, status = true, title = ''}:Param) => {
const priceDom = useCallback(() => {
let res = number.toFixed(2).split('.')
let int_num = parseInt(res[0]) + ''
@@ -21,40 +23,16 @@ export default memo(({style, number = 0}:Param) => {
)
}, [number])
return (
- <>
+ <>
-
- 合计金额
+
+ {title}
{/* 123123123121212312312312312 */}
-
- {priceDom()}
-
-
-
-
- 空差优惠
-
-
- {/* 123123123121212312312312312 */}
-
-
-
- {priceDom()}
-
-
-
-
- 应付金额
-
-
- {/* 123123123121212312312312312 */}
-
-
-
+
{priceDom()}
diff --git a/src/pages/order/components/kindList/index.tsx b/src/pages/order/components/kindList/index.tsx
index 7dc81eb..1a42f7e 100644
--- a/src/pages/order/components/kindList/index.tsx
+++ b/src/pages/order/components/kindList/index.tsx
@@ -64,7 +64,7 @@ export default memo(({value}:{value:OrderParam|null}) => {
})
}
-
+
>
diff --git a/src/pages/order/index.config.ts b/src/pages/order/index.config.ts
index b0cb522..d88c826 100644
--- a/src/pages/order/index.config.ts
+++ b/src/pages/order/index.config.ts
@@ -1,3 +1,3 @@
export default {
- navigationBarTitleText: '确认订单'
+ navigationBarTitleText: '订单详情'
}
diff --git a/src/pages/order/index.tsx b/src/pages/order/index.tsx
index a2aee83..600443e 100644
--- a/src/pages/order/index.tsx
+++ b/src/pages/order/index.tsx
@@ -1,10 +1,11 @@
-import { GetSaleOrderDetailApi } from "@/api/order";
-import { goLink } from "@/common/common";
+import { GetSaleOrderDetailApi, EditSaleOrderRemarkApi } from "@/api/order";
+import { alert, goLink } from "@/common/common";
import { formatDateTime, formatPriceDiv } from "@/common/fotmat";
+import { setParam } from "@/common/system";
import Popup from "@/components/popup";
import SearchInput from "@/components/searchInput";
import { Text, Textarea, View } from "@tarojs/components"
-import Taro, { useRouter } from "@tarojs/taro";
+import Taro, { useDidShow, useRouter } from "@tarojs/taro";
import classnames from "classnames";
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import AddressInfo from "./components/addressInfo";
@@ -18,17 +19,20 @@ import styles from './index.module.scss'
const [showDesc, setShowDesc] = useState(false)
const router = useRouter()
- useEffect(() => {
+ const orderId = useRef(Number(router.params.id))
+
+ useDidShow(() => {
getSaleOrderPreView()
- }, [])
+ })
//获取订单详情
const [orderDetail, setOrderDetail] = useState() //获取到的原始数据
const {fetchData: getOrderFetchData} = GetSaleOrderDetailApi()
const getSaleOrderPreView = async () => {
- if(router.params.id) {
- let res = await getOrderFetchData({id: router.params.id})
+ if(orderId.current) {
+ let res = await getOrderFetchData({id: orderId.current})
setOrderDetail(res.data)
+ setOrderRemark(res.data.remark)
}
}
@@ -89,32 +93,48 @@ import styles from './index.module.scss'
//格式化初始地址
const defaultAddress = useMemo(() => {
- const address = orderDetail?.default_address
- if(address) {
- return {
- province_name: address.province_name,
- city_name: address.city_name,
- district_name: address.district_name,
- address_detail: address.address_detail,
- id: address.id,
- name: address.name,
- phone: address.phone
- }
+ return {
+ province_name: orderDetail?.province_name,
+ city_name: orderDetail?.city_name,
+ district_name: orderDetail?.district_name,
+ address_detail: orderDetail?.address_detail,
+ // id: address.id,
+ name: orderDetail?.target_user_name,
+ phone: orderDetail?.target_user_phone
}
- return null
+
}, [orderDetail])
//订单备注
+ const {fetchData: remarkFetchData} = EditSaleOrderRemarkApi()
const [orderRemark, setOrderRemark] = useState('')
- const getRemark = useCallback((e) => {
+ const getRemark = useCallback(async (e) => {
setOrderRemark(() => e)
+ let res = await remarkFetchData({remark:e, id: orderId.current})
+ if(res.success) {
+ alert.success('修改成功')
+ } else {
+ alert.error(res.msg)
+ }
setShowDesc(() => false)
}, [])
//修改地址
- const changeAddress = useCallback(() => {
- goLink('/pages/editOrder/index', {id: router.params.id})
- }, [router.params])
+ const changeAddress = () => {
+ //临时传递数据
+ setParam({
+ province_name: orderDetail?.province_name,
+ city_name: orderDetail?.city_name,
+ district_name: orderDetail?.district_name,
+ address_detail: orderDetail?.address_detail,
+ id: orderId.current,
+ name: orderDetail?.target_user_name,
+ phone: orderDetail?.target_user_phone,
+ shipment_mode: orderDetail?.shipment_mode,
+ }
+ )
+ goLink('/pages/editOrder/index')
+ }
return (
diff --git a/src/pages/orderList/index.tsx b/src/pages/orderList/index.tsx
index 4741c48..010f815 100644
--- a/src/pages/orderList/index.tsx
+++ b/src/pages/orderList/index.tsx
@@ -58,7 +58,6 @@ export default () => {
return
})}
-
diff --git a/src/pages/searchList/hightSearchList.tsx b/src/pages/searchList/hightSearchList.tsx
index f563b90..f7d31db 100644
--- a/src/pages/searchList/hightSearchList.tsx
+++ b/src/pages/searchList/hightSearchList.tsx
@@ -8,10 +8,10 @@ import LinkBlueTooth from "@/components/bluetooth/LinkBlueTooth";
import {useBluetooth} from "@/use/contextBlueTooth"
import {toRgb} from '@/common/bluetooth/color/colorSpace'
import styles from './hightSearchList.module.scss'
-import { useCallback, useEffect, useRef, useState } from "react";
+import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import Taro, { useDidShow, usePullDownRefresh, useReady } from "@tarojs/taro";
import {GetLabProductApi} from "@/api/material"
-import { getFilterData } from "@/common/util";
+import { dataLoadingStatus, getFilterData } from "@/common/util";
import { formatHashTag, formatImgUrl } from "@/common/fotmat";
import LoadingCard from "@/components/loadingCard";
import useLogin from "@/use/useLogin";
@@ -64,11 +64,11 @@ export default () => {
}
}
- //监听获得的数据变化
- useEffect(() => {
- (materialList.list.length < materialList.total)?setHasMore(true):setHasMore(false)
- }, [materialList])
+ //数据加载状态
+ const statusMore = useMemo(() => {
+ return dataLoadingStatus({list:materialList.list, total: materialList.total, status: materialState.loading})
+ }, [materialList])
const [scrollStatus, setScrollStatus] = useState(false)
const onscroll = useCallback((e) => {
@@ -176,12 +176,11 @@ export default () => {
搜索结果 ({materialList.total}条记录)
- {(materialList.list.length == 0&&materialState.loading)&&}
- {(materialList.list.length == 0 && !materialState.loading)&&}
- {(materialList.list.length > 0)&& getScrolltolower()}
selfOnScroll={(e) => onscroll(e)}
- hasMore={hasMore}
+ statusMore={statusMore}
>
{materialList.list.map(item => {
@@ -197,7 +196,7 @@ export default () => {
})}
- }
+
getFiltr(e)} onClose={() => setShowFilter(false)}/>
diff --git a/src/pages/searchList/searchList.tsx b/src/pages/searchList/searchList.tsx
index 9eee0c0..2fe2769 100644
--- a/src/pages/searchList/searchList.tsx
+++ b/src/pages/searchList/searchList.tsx
@@ -7,12 +7,12 @@ import SortBtn from "@/components/sortBtn";
import SelectData, {ListProps} from "./components/selectData";
import { goLink } from "@/common/common";
import styles from './searchList.module.scss'
-import { useCallback, useEffect, useRef, useState } from "react";
+import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import useManualPullDownRefresh from "@/use/useManualPullDownRefresh";
import {GetProductListApi} from "@/api/material"
import Taro, { useDidShow, usePullDownRefresh, useRouter } from "@tarojs/taro";
import { formatHashTag, formatImgUrl } from "@/common/fotmat";
-import { getFilterData } from "@/common/util";
+import { dataLoadingStatus, getFilterData } from "@/common/util";
import LoadingCard from "@/components/loadingCard";
import useLogin from "@/use/useLogin";
@@ -53,7 +53,6 @@ export default () => {
//上拉加载数据
const pageNum = useRef({size: searchField.size, page: searchField.page})
- const [hasMore, setHasMore] = useState(true)
const getScrolltolower = () => {
if(materialList.list.length < materialList.total) {
pageNum.current.page++
@@ -62,9 +61,9 @@ export default () => {
}
}
- //监听获得的数据变化
- useEffect(() => {
- (materialList.list.length < materialList.total)?setHasMore(true):setHasMore(false)
+ //数据加载状态
+ const statusMore = useMemo(() => {
+ return dataLoadingStatus({list:materialList.list, total: materialList.total, status: materialState.loading})
}, [materialList])
//输入了搜索关键字
@@ -156,12 +155,10 @@ export default () => {
搜索结果 ({materialList.total}条记录)
- {(materialList.list.length == 0&&materialState.loading)&&}
- {(materialList.list.length == 0 && !materialState.loading)&&}
- {(materialList.list.length > 0)&& getScrolltolower()}
- hasMore={hasMore}
selfOnScroll={(e) => onscroll(e)}
+ statusMore={statusMore}
>
{materialList.list.map(item => {
@@ -181,7 +178,7 @@ export default () => {
})}
- }
+
setShowFilter(false)} onFiltr={(e) => getFiltr(e)} />
diff --git a/src/pages/subjectList/index.tsx b/src/pages/subjectList/index.tsx
index ad8c921..2c1a07a 100644
--- a/src/pages/subjectList/index.tsx
+++ b/src/pages/subjectList/index.tsx
@@ -4,13 +4,13 @@ import Search from '@/components/search'
import Product from '@/components/product'
import InfiniteScroll from '@/components/infiniteScroll'
import styles from './index.module.scss'
-import { useCallback, useEffect, useRef, useState } from "react";
+import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import Filter from "@/components/filter";
import SortBtn from "@/components/sortBtn";
import SelectData, {ListProps} from "../searchList/components/selectData";
import {GetProductListApi} from '@/api/material'
import { useRouter } from "@tarojs/taro";
-import { getFilterData } from "@/common/util";
+import { dataLoadingStatus, getFilterData } from "@/common/util";
import LoadingCard from "@/components/loadingCard";
export default () => {
@@ -56,9 +56,9 @@ export default () => {
}
}
- //监听获得的数据变化
- useEffect(() => {
- (subjectList.list.length < subjectList.total)?setHasMore(true):setHasMore(false)
+ //数据加载状态
+ const statusMore = useMemo(() => {
+ return dataLoadingStatus({list:subjectList.list, total: subjectList.total, status: state.loading})
}, [subjectList])
//获取筛选条件
@@ -118,11 +118,9 @@ export default () => {
- {(subjectList.list.length == 0&&state.loading)&&}
- {(subjectList.list.length == 0 && !state.loading)&&}
- {(subjectList.list.length > 0)&& getScrolltolower()} hasMore={hasMore}>
+ getScrolltolower()} statusMore={statusMore}>
- }
+
setShowPopup(false)} onFiltr={getFiltr}/>
diff --git a/src/use/useHttp.ts b/src/use/useHttp.ts
index feea9e9..05b143b 100644
--- a/src/use/useHttp.ts
+++ b/src/use/useHttp.ts
@@ -107,7 +107,7 @@ export const useRequest = (options:option = {
success: false, // 请求是否成功
data: {},
msg: '',
- loading: false,
+ loading: true,
error: null,
query: {},
filter: null,
@@ -170,7 +170,6 @@ export const useRequest = (options:option = {
if (statusCode === 401) {
removeToken()
removeSessionKey()
- // remove
// Taro.reLaunch({
// url: router.path +'?' + qs.stringify(router.params)
// })