feat(dealer): 新增资金明细页面及功能
- 在 dealer/capital 路由配置中添加 detail 子路由 - 创建资金明细详情页组件 /dealer/capital/detail.tsx - 实现资金流水列表展示,支持下拉刷新和上拉加载更多 - 添加日期筛选功能,允许按年月查看资金记录 -优化资金类型显示逻辑,区分电费收益、提现支出等不同类型 - 修改资金明细接口字段,将 describe 字段改为 comments - 调整页面布局样式,适配移动端显示效果 -为资金明细项添加点击跳转至详情页的功能- 更新订单页面日期选择器交互方式和位置- 统一页面标题和导航栏文案为“详情”
This commit is contained in:
@@ -12,10 +12,11 @@ interface OrderWithDetails extends ShopDealerOrder {
|
||||
userCommission?: string
|
||||
}
|
||||
|
||||
const DealerOrders: React.FC = () => {
|
||||
const DealerOrder: React.FC = () => {
|
||||
const [loading, setLoading] = useState<boolean>(false)
|
||||
const d = new Date()
|
||||
const currDay = `${d.getFullYear()}${d.getMonth() + 1}`
|
||||
const currDay = `${d.getFullYear()}${d.getMonth() + 1}`;
|
||||
const currDate = `${d.getFullYear()}-${d.getMonth() + 1}-${d.getDate()}`;
|
||||
const [date, setDate] = useState(currDay)
|
||||
const [show1, setShow1] = useState(false)
|
||||
const [refreshing, setRefreshing] = useState<boolean>(false)
|
||||
@@ -76,7 +77,7 @@ const DealerOrders: React.FC = () => {
|
||||
setRefreshing(false)
|
||||
setLoadingMore(false)
|
||||
}
|
||||
}, [dealerUser?.userId])
|
||||
}, [dealerUser?.userId, date])
|
||||
|
||||
// 下拉刷新
|
||||
const handleRefresh = async () => {
|
||||
@@ -95,7 +96,7 @@ const DealerOrders: React.FC = () => {
|
||||
if (dealerUser?.userId) {
|
||||
fetchOrders(1)
|
||||
}
|
||||
}, [fetchOrders])
|
||||
}, [fetchOrders, date])
|
||||
|
||||
const getStatusText = (isSettled?: number, isInvalid?: number) => {
|
||||
if (isInvalid === 1) return '未签约'
|
||||
@@ -161,6 +162,13 @@ const DealerOrders: React.FC = () => {
|
||||
|
||||
return (
|
||||
<View className="min-h-screen bg-gray-50">
|
||||
<Cell.Group divider={false}>
|
||||
<Cell
|
||||
description={date ? `${date}` : '请选择'}
|
||||
extra={'选择月份'}
|
||||
onClick={() => setShow1(true)}
|
||||
/>
|
||||
</Cell.Group>
|
||||
<PullToRefresh
|
||||
onRefresh={handleRefresh}
|
||||
disabled={refreshing}
|
||||
@@ -169,34 +177,15 @@ const DealerOrders: React.FC = () => {
|
||||
refreshingText="刷新中..."
|
||||
completeText="刷新完成"
|
||||
>
|
||||
<Cell
|
||||
description={date ? `${date}` : '请选择'}
|
||||
extra={'选择月份'}
|
||||
onClick={() => setShow1(true)}
|
||||
/>
|
||||
<DatePicker
|
||||
title="日期选择"
|
||||
visible={show1}
|
||||
pickerProps={{
|
||||
popupProps: {zIndex: 1220},
|
||||
}}
|
||||
type={'year-month'}
|
||||
defaultValue={new Date(`${date}`)}
|
||||
showChinese
|
||||
onCancel={() => setShow1(false)}
|
||||
onConfirm={(_, values) => {
|
||||
setShow1(false)
|
||||
setDate(`${values[0]}${values[1]}`)
|
||||
fetchOrders(1).then()
|
||||
}}
|
||||
/>
|
||||
<ScrollView
|
||||
scrollY
|
||||
className="h-screen"
|
||||
style={{
|
||||
height: 'calc(100vh - 100px)',
|
||||
}}
|
||||
onScrollToLower={handleLoadMore}
|
||||
lowerThreshold={50}
|
||||
>
|
||||
<View className="p-4">
|
||||
<View className="px-4">
|
||||
{loading && orders.length === 0 ? (
|
||||
<View className="text-center py-8">
|
||||
<Loading/>
|
||||
@@ -225,8 +214,23 @@ const DealerOrders: React.FC = () => {
|
||||
</View>
|
||||
</ScrollView>
|
||||
</PullToRefresh>
|
||||
<DatePicker
|
||||
title="日期选择"
|
||||
visible={show1}
|
||||
pickerProps={{
|
||||
popupProps: {zIndex: 1220},
|
||||
}}
|
||||
type={'year-month'}
|
||||
defaultValue={new Date(`${currDate}`)}
|
||||
showChinese
|
||||
onCancel={() => setShow1(false)}
|
||||
onConfirm={(_, values) => {
|
||||
setShow1(false)
|
||||
setDate(`${values[0]}${values[1]}`)
|
||||
}}
|
||||
/>
|
||||
</View>
|
||||
)
|
||||
}
|
||||
|
||||
export default DealerOrders
|
||||
export default DealerOrder
|
||||
|
||||
Reference in New Issue
Block a user