import React from "react"; import {Image, Space, Tag, Button} from '@nutui/nutui-react-taro' import {Truck, User, Shield, Location} from '@nutui/icons-react-taro' import Taro from '@tarojs/taro' import {HjmCar} from "@/api/hjm/hjmCar/model"; interface BestSellersProps { data: HjmCar[] onRefresh?: () => void } /** * 车辆列表组件 */ const BestSellers: React.FC = ({data, onRefresh}) => { // 获取保险状态显示 const getInsuranceStatusDisplay = (status?: number) => { switch (status) { case 0: return {text: '未投保', color: '#ff4d4f', bgColor: '#fff2f0'} case 1: return {text: '已投保', color: '#52c41a', bgColor: '#f6ffed'} case 2: return {text: '即将到期', color: '#faad14', bgColor: '#fffbe6'} default: return {text: '未知', color: '#8c8c8c', bgColor: '#f5f5f5'} } } // 跳转到车辆详情 const navigateToDetail = (item: HjmCar) => { Taro.navigateTo({ url: `/hjm/query?id=${item.id}` }) } // 快速报险 const quickInsurance = (item: HjmCar, event: any) => { event.stopPropagation() Taro.navigateTo({ url: `/hjm/bx/bx-add?carId=${item.id}&carCode=${item.code}` }) } if (!data || data.length === 0) { return null } return (
{data.map((item, index) => { const insuranceStatus = getInsuranceStatusDisplay(item.insuranceStatus) return (
navigateToDetail(item)} >
{/* 车辆图片 */}
{/* 车辆信息 */}
{/* 车辆编号 */}
{item.code || '未知编号'}
{/* 快递公司 */}
快递公司: {item.parentOrganization || '未知'}
{/* 保险状态 */}
保险状态: {insuranceStatus.text}
{/* 操作员 */}
操作员: {item.driver || '未绑定'}
{/* 操作按钮 */}
) })}
) } export default BestSellers