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 { export interface ShopDealerCapitalParam extends PageParam {
id?: number; id?: number;
orderNo?: string; orderNo?: string;
userId?: number;
month?: string,
keywords?: string; keywords?: string;
} }

View File

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

View File

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

View File

@@ -209,7 +209,7 @@ const DealerIndex: React.FC = () => {
border: 'none' border: 'none'
} as React.CSSProperties} } 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="text-center">
<View className="w-12 h-12 bg-blue-50 rounded-xl flex items-center justify-center mx-auto mb-2"> <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"/> <Shopping color="#3b82f6" size="20"/>

View File

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