main.vue 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <template>
  2. <view class="shop-item row" @click="triggerGoDetail">
  3. <view class="layout-shop-image relative overflow">
  4. <v-image :src="item.image" class="screen_all"></v-image>
  5. </view>
  6. <view class="flex-all-1 flex shop-item-content overflow">
  7. <view class="shop-item-title line-2">{{item.title || '商品名称,商品名称'}}</view>
  8. <view class="flex-all-1"></view>
  9. <view class="row aCenter">
  10. <view class="flex-all-1">
  11. <text class="shop-price-group"><text class="shop-price-em">¥</text><text>{{item.price || '48.00'}}</text></text>
  12. </view>
  13. <text v-if="number" class="row aCenter shop-close-container">
  14. <text class="iconfont-close iconfont shop-close"></text>
  15. <text>1</text>
  16. </text>
  17. </view>
  18. </view>
  19. </view>
  20. </template>
  21. <script>
  22. import vImage from '@/components/v-image/main.vue';
  23. import { mapState } from 'vuex';
  24. import props from './props';
  25. import shop from '@/utils/controls/shop';
  26. export default {
  27. name: "layout-ui-shop-item",
  28. computed:{
  29. ...mapState(['config'])
  30. },
  31. props,
  32. components:{
  33. vImage
  34. },
  35. methods:{
  36. triggerGoDetail(){
  37. if (this.goDetail) {
  38. return shop.goShopDetail(this.item);
  39. }
  40. }
  41. }
  42. }
  43. </script>
  44. <style scoped lang="scss" src="./style.scss"></style>