1
0

app-goods-service.vue 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <template>
  2. <view class="u-service-box">
  3. <view class="u-service cross-center" @click="show = true">
  4. <view class="box-grow-0 u-text">保障</view>
  5. <view class="box-grow-1 u-content">
  6. <view class="u-line-1">
  7. <block v-for="(item, index) in list" :key="index">{{item.name}}{{list.length - 1 > index ? ' · ' : ''}}</block>
  8. </view>
  9. </view>
  10. <image class="u-icon-del" src="../../../static/image/icon/arrow-right.png"></image>
  11. </view>
  12. <u-popup v-model="show" mode="bottom" border-radius="14" @close="show = false">
  13. <view class="model" @touchmove.stop.prevent>
  14. <view class="f-top dir-left-nowrap main-between cross-center">
  15. <view class="f-title dir-left-nowrap cross-center u-line-1">
  16. <image class="u-top-icon" :src="guarantee_pic"></image>
  17. <view>
  18. {{guarantee_title}}
  19. </view>
  20. </view>
  21. <view class="f-image" @click="show = false">
  22. <image class="f-img" src="/static/image/icon/icon-close.png"></image>
  23. </view>
  24. </view>
  25. <scroll-view scroll-y class="f-scroll">
  26. <view class="f-scroll-content">
  27. <view class="f-item dir-top-nowrap" v-for="(item, index) in list" :key="index">
  28. <view class="dir-left-nowrap cross-center">
  29. <image class="u-icon" :src="item.pic"></image>
  30. <view class="u-name">{{item.name}}</view>
  31. </view>
  32. <text class="u-remark">{{item.remark}}</text>
  33. </view>
  34. </view>
  35. </scroll-view>
  36. </view>
  37. </u-popup>
  38. </view>
  39. </template>
  40. <script>
  41. import uPopup from '../../basic-component/u-popup/u-popup.vue';
  42. export default {
  43. props: {
  44. list: Array,
  45. guarantee_title: {
  46. type: String
  47. },
  48. guarantee_pic: {
  49. type: String
  50. }
  51. },
  52. data() {
  53. return {
  54. show: false
  55. }
  56. },
  57. components: {
  58. uPopup
  59. }
  60. }
  61. </script>
  62. <style scoped lang="scss">
  63. .u-service {
  64. height: 100upx;
  65. background-color: #fff;
  66. font-size: 26upx;
  67. padding: 0 24upx;
  68. }
  69. .u-text {
  70. color: #999999;
  71. }
  72. .u-content {
  73. color: #353535;
  74. margin: 24upx;
  75. width: 570upx;
  76. }
  77. .u-icon-del {
  78. width: 12upx;
  79. height: 22upx;
  80. display: block;
  81. }
  82. .model {
  83. height: #{1100upx};
  84. width: 750upx;
  85. }
  86. .f-top {
  87. height: 105upx;
  88. background-color: #ffffff;
  89. position: relative;
  90. border-radius: 15rpx;
  91. .f-image {
  92. width: 78upx;
  93. height: 78upx;
  94. padding: 24upx;
  95. position: absolute;
  96. right: 0;
  97. .f-img {
  98. width: 30upx;
  99. height: 30upx;
  100. }
  101. }
  102. }
  103. .f-title {
  104. position: absolute;
  105. left: 50%;
  106. transform: translateX(-50%);
  107. max-width: 594upx;
  108. }
  109. .f-scroll {
  110. height: 995upx;
  111. width: 100%;
  112. }
  113. .f-scroll-content {
  114. padding: 0 24upx;
  115. }
  116. .u-icon {
  117. width: 24upx;
  118. height: 24upx;
  119. }
  120. .u-name {
  121. color: #353535;
  122. font-size: 24upx;
  123. margin-left: 20upx;
  124. }
  125. .u-remark {
  126. font-size: 24upx;
  127. color: #999999;
  128. margin-top: 26upx;
  129. margin-left: 44upx;
  130. }
  131. .f-item {
  132. margin-bottom: 30upx;
  133. }
  134. .u-top-icon {
  135. width: 28upx;
  136. height: 28upx;
  137. margin-right: 10upx;
  138. }
  139. </style>