yd-address-select.vue 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <template>
  2. <view class="address-box">
  3. <view v-if="!address.area" class="address-empty">
  4. <view class="address-tips">
  5. <u--text :lines="1" size="14px" color="#333" bold="true" text="请选择收货地址"></u--text>
  6. <u-icon class="icon-arrow-right" name="arrow-right"></u-icon>
  7. </view>
  8. </view>
  9. <view v-else class="address-selected">
  10. <view class="address-area">
  11. <view class="default-tag">默认</view>
  12. <u--text :lines="1" size="12px" color="#666" :text="address.area"></u--text>
  13. </view>
  14. <view class="address-detail">
  15. <u--text :lines="2" size="14px" color="#333" :bold="true" :text="address.detail"></u--text>
  16. <u-icon class="icon-arrow-right" name="arrow-right"></u-icon>
  17. </view>
  18. <view class="address-user">
  19. <view class="user-text">{{ address.name }}</view>
  20. <view class="user-text">{{ address.mobile }}</view>
  21. </view>
  22. </view>
  23. <image class="address-line" src="/static/images/address-line.png"></image>
  24. </view>
  25. </template>
  26. <script>
  27. /**
  28. * 地址选择
  29. */
  30. export default {
  31. name: 'yd-address-select',
  32. props: {
  33. address: {
  34. type: Object,
  35. default: () => []
  36. }
  37. },
  38. data() {
  39. return {}
  40. },
  41. methods: {}
  42. }
  43. </script>
  44. <style lang="scss" scoped>
  45. .address-box {
  46. padding: 0 10rpx;
  47. background-color: #fff;
  48. border-radius: 0 0 30rpx 30rpx;
  49. .address-empty {
  50. padding: 20rpx 20rpx 0;
  51. .address-tips {
  52. @include flex-space-between;
  53. padding: 10rpx 0;
  54. .icon-arrow-right {
  55. margin-left: 50rpx;
  56. }
  57. }
  58. }
  59. .address-selected {
  60. padding: 20rpx 20rpx 0;
  61. .address-area {
  62. @include flex-left;
  63. .default-tag {
  64. font-size: 22rpx;
  65. color: $u-primary;
  66. border: 1rpx solid $u-primary;
  67. padding: 0 6rpx;
  68. margin-right: 10rpx;
  69. border-radius: 5rpx;
  70. }
  71. }
  72. .address-detail {
  73. @include flex-space-between;
  74. padding: 10rpx 0;
  75. .icon-arrow-right {
  76. margin-left: 50rpx;
  77. }
  78. }
  79. .address-user {
  80. @include flex-left;
  81. .user-text {
  82. color: #666;
  83. font-size: 24rpx;
  84. margin-right: 10rpx;
  85. }
  86. }
  87. }
  88. .address-line {
  89. width: 100%;
  90. margin: 0 auto;
  91. height: 5rpx;
  92. }
  93. }
  94. </style>