t-pay-way.vue 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. <template>
  2. <view>
  3. <tui-bottom-popup :show="show" @close="close">
  4. <tui-list-cell :hover="false">
  5. <view class="tui-pay-item__title">
  6. <view>请选择支付方式</view>
  7. <view>支付金额:<text class="tui-pay-amuont">¥{{amuont}}</text></view>
  8. </view>
  9. </tui-list-cell>
  10. <radio-group @change="paymentradioChange">
  11. <block v-for="(item,index) in paymethod" :key="index">
  12. <tui-list-cell unlined>
  13. <label class="tui-pay-item">
  14. <image :src="'/static/images/mall/pay/'+item.code+'.png'" class="tui-pay-logo"></image>
  15. <text>{{item.title}}</text>
  16. <view class="tui-radio">
  17. <radio :color="stylecolor" :value="item.code" :name="item.code" :checked="item.code === paymethod[0].default"></radio>
  18. </view>
  19. </label>
  20. </tui-list-cell>
  21. </block>
  22. </radio-group>
  23. <view class="tui-btn-pay">
  24. <button class="gopaybutt" @click="goPay" :style="'background:'+ stylecolor">去付款</button>
  25. </view>
  26. </tui-bottom-popup>
  27. </view>
  28. </template>
  29. <script>
  30. export default {
  31. name: 'tPayWay',
  32. props: {
  33. //支付方式
  34. paymethod: {
  35. type: Array,
  36. default() {
  37. return [];
  38. }
  39. },
  40. //控制显示
  41. show: {
  42. type: Boolean,
  43. default: false
  44. },
  45. amuont:{
  46. type: String,
  47. default: ''
  48. },
  49. stylecolor:{
  50. type: String,
  51. default: '#ff1e02'
  52. },
  53. page: {
  54. type: Number,
  55. default: 1
  56. }
  57. },
  58. data() {
  59. return {
  60. paymentType:""
  61. };
  62. },
  63. methods: {
  64. close() {
  65. this.$emit("close", {})
  66. },
  67. goPay() {
  68. this.$emit("goPay", {paymentType:this.paymentType})
  69. },
  70. paymentradioChange(e) {
  71. this.paymentType = e.target.value
  72. }
  73. }
  74. }
  75. </script>
  76. <style scoped>
  77. .tui-pay-item__title {
  78. width: 100%;
  79. height: 90rpx;
  80. display: flex;
  81. align-items: center;
  82. justify-content: space-between;
  83. padding: 0 20rpx;
  84. box-sizing: border-box;
  85. font-size: 28rpx;
  86. }
  87. .tui-pay-amuont {
  88. color: #eb0909;
  89. font-weight: 500;
  90. font-size: 34rpx;
  91. }
  92. .tui-pay-item {
  93. width: 100%;
  94. height: 80rpx;
  95. display: flex;
  96. align-items: center;
  97. padding: 0 20rpx;
  98. box-sizing: border-box;
  99. font-size: 28rpx;
  100. }
  101. .tui-pay-logo {
  102. width: 48rpx;
  103. height: 48rpx;
  104. margin-right: 15rpx;
  105. }
  106. .tui-radio {
  107. margin-left: auto;
  108. transform: scale(0.8);
  109. transform-origin: 100% center;
  110. }
  111. .tui-btn-pay {
  112. width: 100%;
  113. padding: 68rpx 60rpx 50rpx;
  114. box-sizing: border-box;
  115. }
  116. .tui-recharge {
  117. color: #fc872d;
  118. margin-left: auto;
  119. padding: 12rpx 0;
  120. }
  121. .gopaybutt {
  122. height: 88rpx;
  123. line-height: 88rpx;
  124. font-size: 28rpx;
  125. border-radius: 50rpx;
  126. color: #ffffff;
  127. align-items: center;
  128. }
  129. </style>