index.jsx 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import Taro from '@tarojs/taro'
  2. import useSave from "@/utils/hooks/useSave"
  3. import { getShopDetail, getShopcity } from '@/services/home'
  4. import { useState, useEffect } from 'react'
  5. import Star from '@/components/Star/Star.jsx'
  6. import position from '@/assets/icons/GuideCheck/position_logo.png'
  7. import Pay from '@/assets/icons/GuideCheck/Pay_logo.png'
  8. import starOn from '@/assets/icons/housemantj/onlove.png'
  9. import starOff from '@/assets/icons/housemantj/touristGood.png'
  10. import food from '@/assets/icons/ProCard/food.png'
  11. import ProCard_hot from '@/assets/icons/ProCard/ProCard_hot.png'
  12. import { getQueryString } from '@/utils/index'
  13. //入住指引--老板推荐
  14. import './style.less'
  15. export default (props) => {
  16. const { item, st, taRoomContent, trackClick, det } = props
  17. const { shopId, packageId } = props.item
  18. const [isSaved, toggleSave] = useSave(item.isSaved, 'shop_package', item.packageId)
  19. const goFood = () => {
  20. trackClick({ eventType: 'hotel_recommend_package', eventParams: getQueryString({ hotelId: taRoomContent.hotelId, shopId: shopId, packageId: packageId }) })
  21. Taro.navigateTo({ url: `/pages/details/foodDetails/foodDetails?id=${shopId}` })
  22. }
  23. return (
  24. <view class='container'>
  25. <view class='wrapper'>
  26. <view class='left-complete-one' >
  27. <image className='left-image-1' src={ProCard_hot}></image>
  28. <view className='left-viewText'>
  29. 返现¥{(item.cashback / 100)?.toFixed(2)}
  30. </view>
  31. {/* 评分 */}
  32. <view className='card-box-star'>
  33. <Star star={st} />
  34. <text className='card-star-text' >{st}</text>
  35. </view>
  36. <view className='title-image' onClick={() => { goFood() }}>
  37. <image className='image-1' mode='scaleToFill' src={item.poster}></image>
  38. <image className='image-2' src={food}></image>
  39. </view>
  40. <view className='title-content'>
  41. <view className='Pro-title' onClick={() => { goFood() }} >
  42. <view className='title-text'>{(item.description).toString().length > 25 ? (item.description).substring(0, 25) + '...' : (item.description)}</view>
  43. </view>
  44. <text className='title-money' >¥{(item.actualPrice / 100)?.toFixed(2)}元<text className='title-money-2'>门市价{(item.standardPrice / 100)?.toFixed(2)}元</text></text>
  45. <view className='title-position-on'>
  46. <image className='title-position' src={position} />
  47. <text className='title-position-image'>{det.areaName == '南京市' ? det.areaName : det.areaPName + '/' + det.areaName}</text>
  48. <view style={{ display: 'inline-block' }} onClick={toggleSave}>
  49. <image className='title-on' src={isSaved > 0 ? starOn : starOff} />
  50. <text className='title-on-text'>{isSaved > 0 ? '已收藏' : '加入收藏'}</text>
  51. </view>
  52. </view>
  53. </view>
  54. </view>
  55. <view class='right-complete-two'>
  56. <view className='right-content' onClick={() => { Taro.navigateTo({ url: `/pages/PayOrder/index?packageId=${item.packageId}` }); }}>
  57. {/* <view className='right-number'>×1</view> */}
  58. <image className='right-image' src={Pay} />
  59. <view className='right-title'>支付</view>
  60. </view>
  61. </view>
  62. </view>
  63. </view>
  64. )
  65. }