index.jsx 3.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. import Taro from '@tarojs/taro'
  2. import { View, Text } from '@tarojs/components'
  3. import formatPrice from "@/utils/formatPrice";
  4. import SeeDetails from '@/assets/icons/GuideCheck/SeeDetails.png'
  5. import baozan from '@/assets/icons/housemantj/bgood.png'
  6. import CouponCard from '@/components/CouponCard'
  7. import { compressImage } from '@/utils'
  8. import Location from '@/components/Location'
  9. import './style.less'
  10. const CouponMedia = CouponCard.Media
  11. const Action = CouponCard.Action
  12. export default (props) => {
  13. const { item, cardNavigateTo } = props
  14. const targetType = item.targetType
  15. const star = parseFloat(((item.sweetScore + item.environmentScore + item.serviceScore) / 3).toFixed(1));
  16. const handleDetail = () => {
  17. targetType == "shop_package" ? Taro.navigateTo({ url: `/pages/details/foodDetails/foodDetails?id=${item.shopId}` })
  18. : targetType == "tourist" ? Taro.navigateTo({ url: `/pages/details/mjDetails/sceneryDetails?id=${item.targetId}` })
  19. : Taro.navigateTo({ url: `/pages/details/foodDetails/foodDetails?id=${item.targetId}` })
  20. }
  21. const PayAction = <Action.Icon icon={SeeDetails} text='查看详情' onClick={handleDetail} />
  22. return (
  23. <View className='View-box-LR'>
  24. {
  25. targetType === "shop_package" && (
  26. <View style={{ margin: '15px 5px' }}>
  27. <CouponCard action={PayAction}>
  28. <CouponMedia>
  29. <CouponMedia.Header
  30. cashback={item.cashback}
  31. image={compressImage(item.poster)}
  32. badge='food'
  33. />
  34. <CouponMedia.Body star={star}>
  35. <View className='cpn-card-text'>
  36. {(item.title).toString().length > 25 ? (item.title).substring(0, 25) + '...' : (item.title)}
  37. </View>
  38. <View className='cpn-card-text' style={{ lineHeight:'10px' }}>
  39. <Text className='cpn-card-text_mn'>¥{`${(item.actualPrice / 100)?.toFixed(2)}元`}</Text>
  40. <Text className='cpn-card-text_rm'>{`门市价${(item.standardPrice / 100)?.toFixed(2)}元`}</Text>
  41. </View>
  42. <View className='cpn-md-act'>
  43. <Location {...item} />
  44. </View>
  45. </CouponMedia.Body>
  46. </CouponMedia>
  47. </CouponCard>
  48. </View>
  49. )
  50. }
  51. {
  52. targetType !== "shop_package" && (
  53. <View style={{ margin: '15px 5px' }}>
  54. <CouponCard action={PayAction}>
  55. <CouponMedia>
  56. <CouponMedia.Header
  57. image={compressImage(item.poster)}
  58. badge={targetType}
  59. />
  60. <CouponMedia.Body >
  61. <View className='cpn-card-text'>
  62. {(item.title).toString().length > 25 ? (item.title).substring(0, 25) + '...' : (item.title)}
  63. </View>
  64. <View className='cpn-card-text' style={{ lineHeight:'10px' }}>
  65. <Text className='cpn-card-text_mn'>¥{`${formatPrice(item.averagePrice)}元`}</Text>
  66. </View>
  67. <View className='cpn-md-act'>
  68. <Location {...item} />
  69. <view className='wdscbaozan'>
  70. <image className='title-on' src={baozan} />
  71. <text className='title-on-text'>爆赞 {item.likeNum}</text>
  72. </view>
  73. </View>
  74. </CouponMedia.Body>
  75. </CouponMedia>
  76. </CouponCard>
  77. </View>
  78. )
  79. }
  80. </View>
  81. )
  82. }