巴青农资商城

AddressBar.vue 1.5KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <template>
  2. <view class="addr-bar" @click="emit('click')">
  3. <u-icon name="map" color="#2e7d32" size="22" />
  4. <view v-if="address" class="addr-bar__body">
  5. <view class="addr-bar__head">
  6. <text class="addr-bar__name">{{ address.consigneeName }}</text>
  7. <text class="addr-bar__mobile">{{ address.mobile }}</text>
  8. <text v-if="address.isDefault" class="addr-bar__tag">默认</text>
  9. </view>
  10. <text class="addr-bar__detail">{{ address.fullAddress }}</text>
  11. </view>
  12. <view v-else class="addr-bar__empty">
  13. <text>请添加收货地址</text>
  14. </view>
  15. <u-icon name="arrow-right" color="#ccc" size="16" />
  16. </view>
  17. </template>
  18. <script setup>
  19. defineProps({
  20. address: {
  21. type: Object,
  22. default: null
  23. }
  24. })
  25. const emit = defineEmits(['click'])
  26. </script>
  27. <style lang="scss" scoped>
  28. .addr-bar {
  29. display: flex;
  30. align-items: center;
  31. padding: 24rpx;
  32. margin: 16rpx 24rpx;
  33. background: #fff;
  34. border-radius: 12rpx;
  35. }
  36. .addr-bar__body {
  37. flex: 1;
  38. margin: 0 16rpx;
  39. min-width: 0;
  40. }
  41. .addr-bar__head {
  42. display: flex;
  43. align-items: center;
  44. flex-wrap: wrap;
  45. gap: 12rpx;
  46. }
  47. .addr-bar__name {
  48. font-size: 30rpx;
  49. font-weight: 600;
  50. color: #333;
  51. }
  52. .addr-bar__mobile {
  53. font-size: 28rpx;
  54. color: #666;
  55. }
  56. .addr-bar__tag {
  57. font-size: 22rpx;
  58. color: #2e7d32;
  59. background: #e8f5e9;
  60. padding: 4rpx 10rpx;
  61. border-radius: 6rpx;
  62. }
  63. .addr-bar__detail {
  64. display: block;
  65. margin-top: 8rpx;
  66. font-size: 26rpx;
  67. color: #666;
  68. line-height: 1.5;
  69. }
  70. .addr-bar__empty {
  71. flex: 1;
  72. margin: 0 16rpx;
  73. font-size: 28rpx;
  74. color: #999;
  75. }
  76. </style>