Card.js 1.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import Taro from '@tarojs/taro'
  2. import useSave from "@/utils/hooks/useSave"
  3. import msTip from '@/assets/icons/housemantj/foodtip.png'
  4. import mjTip from '@/assets/icons/housemantj/mjtip.png'
  5. import glTip from '@/assets/icons/housemantj/gltip.png'
  6. import location from '@/assets/icons/housemantj/location.png'
  7. import onlove from '@/assets/icons/housemantj/onlove.png'
  8. import love from '@/assets/icons/housemantj/爱心.png'
  9. export default (props) => {
  10. const { item } = props
  11. const [isSaved, toggleSave] = useSave(item.isSaved, item.targetType, item.targetId)
  12. const Detail=()=>{
  13. if (item.targetType=='tourist') {
  14. Taro.navigateTo({ url: `/pages/details/mjDetails/sceneryDetails?id=${item.targetId}` });
  15. }
  16. else{
  17. Taro.navigateTo({ url: `/pages/details/foodDetails/foodDetails?id=${item.targetId}` });
  18. }
  19. }
  20. return (
  21. <view className='contentCard'>
  22. <view className='cardTop'>
  23. <image mode='widthFix' onClick={Detail} src={item.poster} className='cCardimg' />
  24. <image className='lefttips' src={item.targetType==='tourist'?mjTip:msTip}/>
  25. <image onClick={toggleSave} src={isSaved> 0?onlove:love} className='loveharde'></image>
  26. </view>
  27. <view className='bContent' onClick={Detail}>
  28. <view className='cCword'>{(item.title).toString().length>35?(item.title).substring(0, 35)+'...':(item.title)}</view>
  29. <view className='cCleft'>
  30. <image src={location} className='cCicon'></image>
  31. <view className='distance'><text>{(item.distance/1000).toFixed(2)}</text>公里</view>
  32. </view>
  33. <view className='cCright'>
  34. <view className='price'><text className='money'>¥</text><text>{item.averagePrice/100}</text>/人</view>
  35. </view>
  36. </view>
  37. </view>
  38. )
  39. }