feat(dealer): 更新经销商资本和订单页面功能
- 在 ShopDealerCapitalParam 接口中新增 userId 和 month 字段 - 在 ShopDealerOrder 接口添加商品名称字段 title - 修改资本页面默认日期为年月格式,并调整相关查询逻辑 - 调整订单页面收益显示文案及逻辑,支持多级佣金展示 - 修改首页跳转链接,将“收益明细”改为“电费订单”并指向订单页面
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
// 昵称
|
// 昵称
|
||||||
|
|||||||
@@ -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)}
|
||||||
|
|||||||
@@ -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"/>
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
Reference in New Issue
Block a user