This commit is contained in:
2025-11-17 17:49:02 +08:00
parent 3e92929709
commit f8bd1972b4

View File

@@ -7,6 +7,7 @@ import {pageShopDealerOrder} from '@/api/shop/shopDealerOrder'
import {useDealerUser} from '@/hooks/useDealerUser'
import type {ShopDealerOrder} from '@/api/shop/shopDealerOrder/model'
import {useUser} from "@/hooks/useUser";
import {pageUsers} from "@/api/system/user";
interface OrderWithDetails extends ShopDealerOrder {
orderNo?: string
@@ -22,20 +23,6 @@ interface PickerOption {
className?: string | number
}
const listData1 = [
[
{ value: 1, text: '南京市' },
{ value: 2, text: '无锡市' },
{ value: 3, text: '海北藏族自治区' },
{ value: 4, text: '北京市' },
{ value: 5, text: '连云港市' },
{ value: 8, text: '大庆市' },
{ value: 9, text: '绥化市' },
{ value: 10, text: '潍坊市' },
{ value: 12, text: '乌鲁木齐市' },
],
]
const DealerOrder: React.FC = () => {
const [loading, setLoading] = useState<boolean>(false)
const d = new Date()
@@ -48,14 +35,20 @@ const DealerOrder: React.FC = () => {
const [orders, setOrders] = useState<OrderWithDetails[]>([])
const [currentPage, setCurrentPage] = useState<number>(1)
const [hasMore, setHasMore] = useState<boolean>(true)
const [users, setUsers] = useState<any[]>([])
const [visible1, setVisible1] = useState(false)
const [baseDesc, setBaseDesc] = useState('')
const [text1, setText1] = useState('')
const [visible2, setVisible2] = useState(false)
const [text2, setText2] = useState('')
const [visible3, setVisible3] = useState(false)
const [text3, setText3] = useState('')
const {dealerUser} = useDealerUser()
const {user} = useUser()
// 获取订单数据
const fetchOrders = useCallback(async (page: number = 1, isRefresh: boolean = false) => {
const fetchOrders = useCallback(async (page: number = 1, isRefresh: boolean = false,userId?: number) => {
if (!dealerUser?.userId) return
try {
@@ -66,8 +59,8 @@ const DealerOrder: React.FC = () => {
} else {
setLoadingMore(true)
}
const result = await pageShopDealerOrder({
userId: userId || undefined,
isInvalid: 0,
isSettled: 1,
resourceId: getResourceId(),
@@ -136,29 +129,43 @@ const DealerOrder: React.FC = () => {
return user.roles.some(role => role.roleCode === roleCode);
}
const changePicker = (list: any[], option: any, columnIndex: number) => {
console.log(list,'list>>>')
console.log(columnIndex, option)
}
const confirmPicker = (
const confirmPicker1 = (
options: PickerOption[],
values: (string | number)[]
) => {
let description = ''
// let description = ''
// options.forEach((option: any) => {
// description += ` ${option.text}`
// })
if(values && values.length > 0){
Number(values[0])
options.forEach((option: any) => {
description += ` ${option.text}`
setText1(`${option.text}`)
})
}
}
const confirmPicker2 = (
options: PickerOption[],
values: (string | number)[]
) => {
if(values && values.length > 0){
Number(values[0])
options.forEach((option: any) => {
setText2(`${option.text}`)
})
}
}
const confirmPicker3 = (
options: PickerOption[],
values: (string | number)[]
) => {
if(values && values.length > 0){
Number(values[0])
options.forEach((option: any) => {
setText3(`${option.text}`)
})
console.log(values,'values')
setBaseDesc(description)
}
// 初始化加载数据
useEffect(() => {
if (dealerUser?.userId) {
fetchOrders(1)
}
}, [fetchOrders, date])
const getStatusText = (isSettled?: number, isInvalid?: number) => {
if (isInvalid === 1) return '未签约'
@@ -166,6 +173,34 @@ const DealerOrder: React.FC = () => {
return '待结算'
}
function fetchUsers() {
pageUsers({}).then(data => {
console.log(data,'datadatadatadatadatadata')
const userList = data?.list.map(d => {
return {
text: d.nickname,
value: d.userId,
disabled: false,
children: [],
className: ''
}
})
setUsers(userList || [])
})
}
// 初始化加载数据
useEffect(() => {
if (dealerUser?.userId) {
fetchOrders(1).then()
}
}, [fetchOrders, date])
useEffect(() => {
fetchUsers()
},[])
const renderOrderItem = (order: OrderWithDetails) => (
<View key={order.id} className="bg-white rounded-lg p-4 mb-3 shadow-sm">
<View className="flex justify-between items-start mb-1">
@@ -280,9 +315,9 @@ const DealerOrder: React.FC = () => {
<ArrowDown size={10} className={'text-gray-400'} onClick={() => setShow1(true)}/>
</View>
<Space className={'select-user'}>
<Button size={'mini'}>{baseDesc || '业务员'}</Button>
<Button size={'mini'}></Button>
<Button size={'mini'} onClick={() => setVisible1(!visible1)}></Button>
<Button size={'mini'} onClick={() => setVisible1(!visible1)}>{text1 || '业务员'}</Button>
<Button size={'mini'} onClick={() => setVisible2(!visible2)}>{text2 || '渠道一'}</Button>
<Button size={'mini'} onClick={() => setVisible3(!visible3)}>{text3 || '渠道二'}</Button>
</Space>
</View>
{/*账单列表*/}
@@ -331,12 +366,25 @@ const DealerOrder: React.FC = () => {
}}
/>
<Picker
title="请选择城市"
title="请选择"
visible={visible1}
options={listData1}
onConfirm={(list, values) => confirmPicker(list, values)}
options={users}
onConfirm={(list, values) => confirmPicker1(list, values)}
onClose={() => setVisible1(false)}
onChange={changePicker}
/>
<Picker
title="请选择"
visible={visible2}
options={users}
onConfirm={(list, values) => confirmPicker2(list, values)}
onClose={() => setVisible2(false)}
/>
<Picker
title="请选择"
visible={visible3}
options={users}
onConfirm={(list, values) => confirmPicker3(list, values)}
onClose={() => setVisible3(false)}
/>
</View>
)