index.tsx 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import { View, Image } from '@tarojs/components'
  2. import style from './index.module.less'
  3. import Taro from '@tarojs/taro'
  4. import { TContactItem } from '@/types/contact';
  5. import { AvatarMedia } from '@/components/AvatarMedia';
  6. import IconCertificateColor from "@/components/icon/icon-certificate-color";
  7. interface Props {
  8. data: TContactItem
  9. deleteable?: boolean
  10. refresh: () => void
  11. fromContact?: boolean
  12. className?: string
  13. }
  14. const Index = ({data, deleteable, className, refresh, fromContact}: Props)=> {
  15. const handleClick = (data: TContactItem)=>{
  16. console.log(data, fromContact)
  17. Taro.navigateTo({
  18. url: "/pages/profile/index?agentId=" + data.agentId,
  19. });
  20. }
  21. return (
  22. <View className={`${style.contactCard} ${className}`} onClick={()=>{handleClick(data)}}>
  23. <View className={style.avatarContainer}>
  24. <AvatarMedia source={data.avatarUrl || ''} mode="aspectFill" className={style.avatar}></AvatarMedia>
  25. {(!!data?.tipCnt) && <View className={style.tipCnt}>{data.tipCnt}</View>}
  26. </View>
  27. <View className={`${style.infoColumn} truncate`}>
  28. <View className={`${style.nameRow} truncate`}>
  29. <View className={`${style.nickName} truncate`}>{data.name}</View>
  30. {data.isEnt && <View className={style.certificationContainer}><IconCertificateColor></IconCertificateColor></View>}
  31. </View>
  32. <View className='flex flex-col w-full gap-8 truncate'>
  33. <View className={`flex items-center flex-1 ${style.subInfo} truncate`}>
  34. <View className='max-w-156 truncate'>{!!data.entName?.length ? data.entName : '暂无企业名称'}</View>
  35. <View className='px-4'>|</View>
  36. <View className='truncate'>{!!data.position?.length ? data.position : '暂无职位名称'}</View>
  37. </View>
  38. <View className={`flex-1 ${style.lastMsg} truncate`}>{data.lastChatMsg}</View>
  39. </View>
  40. </View>
  41. </View>
  42. )
  43. }
  44. export default Index