svipPrice.vue 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <template>
  2. <view class="acea-row items-baseline">
  3. <view :class="priceColor.color?'':'x-money'" class="mr-12 acea-row items-baseline relative" :style="svipPriceStyle.topStyle?[svipPriceStyle.topStyle,priceColor]:[priceColor]">
  4. <view>¥</view>
  5. <view v-if="productPrice.groupPrice" class='tui-skeleton-rect semiBold' :style="[svipIconStyle.price]">{{productPrice.groupPrice}}</view>
  6. <view v-else class='tui-skeleton-rect semiBold' :style="[svipIconStyle.price]">{{userIsPaidMember && productPrice.isPaidMember?productPrice.vipPrice:productPrice.price}}</view>
  7. </view>
  8. <view v-if="userIsPaidMember && productPrice.isPaidMember&&!productPrice.groupPrice" class="svip-icon hidden acea-row row-middle" :style="[svipIconStyle.svipBox]">
  9. <view :style="[svipIconStyle.svipPrice]">SVIP会员价</view>
  10. </view>
  11. <view v-if="!userIsPaidMember && paidMemberPriceDisplay==='all' && productPrice.isPaidMember&&!productPrice.groupPrice" class="svip-price hidden acea-row row-middle" :style="[svipPriceStyle.svipBox]">
  12. <view class="icon pl-10 acea-row row-middle" :style="[svipPriceStyle.icon]">SVIP</view>
  13. <view class="price ml-6 semiBold" :style="[svipPriceStyle.svipPrice]">¥{{productPrice.vipPrice}}</view>
  14. </view>
  15. </view>
  16. </template>
  17. <script>
  18. import {configMap} from "../utils";
  19. export default {
  20. computed: configMap(['userIsPaidMember','paidMemberPriceDisplay']),
  21. props: {
  22. //是否展示返回按钮
  23. productPrice: {
  24. type: Object,
  25. default: null
  26. },
  27. //SVIP样式图标
  28. svipIconStyle:{
  29. type: Object,
  30. default: null
  31. },
  32. //普通商品样式
  33. svipPriceStyle:{
  34. type: Object,
  35. default: null
  36. },
  37. //价格颜色
  38. priceColor: {
  39. type: Object,
  40. default: ()=>{
  41. return {}
  42. }
  43. }
  44. }
  45. }
  46. </script>
  47. <style scoped lang="scss">
  48. .x-money {
  49. top: 5rpx;
  50. font-weight: 700;
  51. @include main_color(theme);
  52. }
  53. .svip-price {
  54. padding: 0 8rpx 0 0;
  55. background: #FFF0D1;
  56. .icon{
  57. font-weight: 600;
  58. color: #FDDAA4;
  59. padding-right: 6rpx;
  60. background: linear-gradient( 180deg, #484643 100%,#1F1B17 100%);
  61. }
  62. .price{
  63. color: #333333;
  64. }
  65. }
  66. .svip-icon {
  67. padding: 0 16rpx;
  68. background: linear-gradient( 180deg, #FDF6EC 0%, #FFE3B7 100%);
  69. color: #70490C;
  70. }
  71. </style>