feat(dealer): 更新经销商资本和订单页面功能
- 在 ShopDealerCapitalParam 接口中新增 userId 和 month 字段 - 在 ShopDealerOrder 接口添加商品名称字段 title - 修改资本页面默认日期为年月格式,并调整相关查询逻辑 - 调整订单页面收益显示文案及逻辑,支持多级佣金展示 - 修改首页跳转链接,将“收益明细”改为“电费订单”并指向订单页面
This commit is contained in:
@@ -32,5 +32,7 @@ export interface ShopDealerCapital {
|
||||
export interface ShopDealerCapitalParam extends PageParam {
|
||||
id?: number;
|
||||
orderNo?: string;
|
||||
userId?: number;
|
||||
month?: string,
|
||||
keywords?: string;
|
||||
}
|
||||
|
||||
@@ -6,6 +6,8 @@ import type { PageParam } from '@/api';
|
||||
export interface ShopDealerOrder {
|
||||
// 主键ID
|
||||
id?: number;
|
||||
// 商品名称
|
||||
title?: string;
|
||||
// 买家用户ID
|
||||
userId?: number;
|
||||
// 昵称
|
||||
|
||||
@@ -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)}
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
@@ -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">
|
||||
|
||||
Reference in New Issue
Block a user