feat(dealer): 更新经销商资本和订单页面功能

- 在 ShopDealerCapitalParam 接口中新增 userId 和 month 字段
- 在 ShopDealerOrder 接口添加商品名称字段 title
- 修改资本页面默认日期为年月格式,并调整相关查询逻辑
- 调整订单页面收益显示文案及逻辑,支持多级佣金展示
- 修改首页跳转链接,将“收益明细”改为“电费订单”并指向订单页面
This commit is contained in:
2025-10-19 13:59:58 +08:00
parent e1e25bad3c
commit 159869a381
5 changed files with 23 additions and 21 deletions

View File

@@ -32,5 +32,7 @@ export interface ShopDealerCapital {
export interface ShopDealerCapitalParam extends PageParam {
id?: number;
orderNo?: string;
userId?: number;
month?: string,
keywords?: string;
}

View File

@@ -6,6 +6,8 @@ import type { PageParam } from '@/api';
export interface ShopDealerOrder {
// 主键ID
id?: number;
// 商品名称
title?: string;
// 买家用户ID
userId?: number;
// 昵称

View File

@@ -11,8 +11,9 @@ import navTo from "@/utils/common";
const DealerCapital: React.FC = () => {
const [loading, setLoading] = useState<boolean>(false)
const d = new Date()
const currMonth = `${d.getFullYear()}${d.getMonth() + 1}`;
const currDate = `${d.getFullYear()}-${d.getMonth() + 1}-${d.getDate()}`;
const [date, setDate] = useState(currDate)
const [date, setDate] = useState(currMonth)
const [show1, setShow1] = useState(false)
const [refreshing, setRefreshing] = useState<boolean>(false)
const [loadingMore, setLoadingMore] = useState<boolean>(false)
@@ -24,7 +25,7 @@ const DealerCapital: React.FC = () => {
// 获取订单数据
const fetchCapital = useCallback(async (page: number = 1, isRefresh: boolean = false) => {
if (!dealerUser?.userId) return
// if (!dealerUser?.userId) return
try {
if (isRefresh) {
@@ -37,7 +38,9 @@ const DealerCapital: React.FC = () => {
const result = await pageShopDealerCapital({
page,
limit: 10
limit: 10,
month: date,
userId: Taro.getStorageSync('UserId')
})
if (result?.list) {
@@ -94,7 +97,7 @@ const DealerCapital: React.FC = () => {
if (dealerUser?.userId) {
fetchCapital(1)
}
}, [fetchCapital])
}, [fetchCapital,date])
const renderCapitalItem = (item: ShopDealerCapital) => (
<View key={item.id} className="bg-white rounded-lg p-4 mb-3 shadow-sm"
@@ -108,10 +111,10 @@ const DealerCapital: React.FC = () => {
</Text>
</View>
{item.comments && (
{item.orderNo && (
<View className="flex justify-between items-center mb-1">
<Text className="text-sm text-gray-400">
{item.comments}
{item.orderNo}
</Text>
</View>
)}
@@ -187,6 +190,7 @@ const DealerCapital: React.FC = () => {
pickerProps={{
popupProps: {zIndex: 1220},
}}
type={'year-month'}
defaultValue={new Date(`${currDate}`)}
showChinese
onCancel={() => setShow1(false)}

View File

@@ -209,7 +209,7 @@ const DealerIndex: React.FC = () => {
border: 'none'
} as React.CSSProperties}
>
<Grid.Item text="收益明细" onClick={() => navigateToPage('/dealer/capital/index')}>
<Grid.Item text="电费订单" onClick={() => navigateToPage('/dealer/orders/index')}>
<View className="text-center">
<View className="w-12 h-12 bg-blue-50 rounded-xl flex items-center justify-center mx-auto mb-2">
<Shopping color="#3b82f6" size="20"/>

View File

@@ -44,7 +44,7 @@ const DealerOrder: React.FC = () => {
const result = await pageShopDealerOrder({
isInvalid: 0,
isSettled: 1,
resourceId: Taro.getStorageSync('UserId'),
resourceId: Taro.getStorageSync('UserId') == 33658 ? undefined : Taro.getStorageSync('UserId'),
month: date,
page,
limit: 10
@@ -122,7 +122,7 @@ const DealerOrder: React.FC = () => {
<View className="flex justify-between items-center mb-1">
<Text className="text-sm text-gray-400">
{order.comments}
{order.title}
</Text>
</View>
@@ -133,34 +133,28 @@ const DealerOrder: React.FC = () => {
</Text>
</View>
<View className="mb-1">
DealerId{Taro.getStorageSync('DealerId')}
{/* 间推收益用户 */}
{/*DealerId{Taro.getStorageSync('DealerId')}*/}
{/* 一级佣金30 */}
{(order.firstNickname || order.firstUserId) && (
<Text className="text-sm text-gray-400 block">
{order.firstNickname || `用户${order.firstUserId}`} (¥{order.firstMoney || '0.00'})
{order.firstNickname || `用户${order.firstUserId}`} (¥{order.firstMoney || '0.00'})
</Text>
)}
{/* 一级分销商 */}
{(order.nickname || order.userId) && (
{(order.secondUserId || order.secondUserId) && (
<Text className="text-sm text-gray-400 block">
{order.nickname || `用户${order.userId}`} (¥{order.secondMoney || '0.00'})
{order.secondNickname || `用户${order.secondUserId}`} (¥{order.secondMoney || '0.00'})
</Text>
)}
{/* 三级分销商 */}
{(order.thirdUserId !== undefined && order.thirdUserId > 0) && (
<Text className="text-sm text-gray-400 block">
{order.thirdNickname || `用户${order.thirdUserId}`} (¥{order.thirdMoney || '0.00'})
{order.thirdNickname || `用户${order.thirdUserId}`} (¥{order.thirdMoney || '0.00'})
</Text>
)}
{/* 如果都没有信息 */}
{!(order.firstNickname || order.firstUserId || order.nickname || order.userId || order.thirdNickname || order.thirdUserId) && (
<Text className="text-sm text-gray-400 block">
</Text>
)}
</View>
<View className="flex justify-between items-center mt-2">