index.vue 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. <template>
  2. <view class="check-panel flex-direction">
  3. <image :src="logo" class="buyer-logo"></image>
  4. <view class="title center">{{buyer}}</view>
  5. <view class="input-content">
  6. <view class="tips">交易金额</view>
  7. <view class="input-bar center" @tap="show=true">
  8. <view class="icon center">¥</view>
  9. <view class="input center">
  10. <view>{{orderAmount}}</view>
  11. <view class="cusor"></view>
  12. </view>
  13. </view>
  14. <view style="height: 50rpx;"></view>
  15. <u-button class="button" type="warning" @click="$jump('/pages/checkstand/order-res')">付款</u-button>
  16. </view>
  17. <view class="bottom-line center"> -- 联兑通提供技术支持 --</view>
  18. <u-keyboard
  19. ref="uKeyboard"
  20. :show-tips="false"
  21. :safe-area-inset-bottom="true"
  22. :mask="false"
  23. v-model="show"
  24. @change="handleInput"
  25. @backspace="handleDelete"
  26. ></u-keyboard>
  27. </view>
  28. </template>
  29. <script>
  30. export default {
  31. onLoad(option) {
  32. },
  33. data() {
  34. return {
  35. show: true,
  36. logo: "/static/bank/ABC.png",
  37. buyer: "中国招商银行",
  38. orderAmount: '',
  39. }
  40. },
  41. methods: {
  42. handleInput(num){
  43. if(this.orderAmount.length>12) {
  44. return
  45. }
  46. this.orderAmount =this.orderAmount + num
  47. },
  48. handleDelete(){
  49. if(this.$isEmpty(this.orderAmount)){
  50. return
  51. }
  52. this.orderAmount = this.orderAmount.substr(0,this.orderAmount.length-1)
  53. },
  54. }
  55. }
  56. </script>
  57. <style lang="scss" scoped>
  58. .check-panel{
  59. .buyer-logo{
  60. width: 100rpx;
  61. height: 100rpx;
  62. margin-top: 50rpx;
  63. margin-left: calc(50% - 50rpx);
  64. }
  65. .title{
  66. height: 70rpx;
  67. letter-spacing: 3rpx;
  68. color: #5D5D5D;
  69. }
  70. .input-content{
  71. padding: 50rpx;
  72. position: absolute;
  73. top: 280rpx;
  74. bottom: 0;
  75. left: 0;
  76. right: 0;
  77. background-color: #FFFFFF;
  78. width: 100%;
  79. border-radius: 25rpx 25rpx 0 0;
  80. .tips{
  81. height: 100rpx;
  82. font-size: 30rpx;
  83. display: flex;
  84. justify-content: left;
  85. align-items: center;
  86. }
  87. .input-bar{
  88. height: 150rpx;
  89. border-bottom: 1rpx solid #DDDDDD;
  90. .icon{
  91. width: 15%;
  92. font-size: 70rpx;
  93. font-weight: 900;
  94. height: 100%;
  95. }
  96. .input{
  97. width: 85%;
  98. height: 100%;
  99. overflow: hidden;
  100. font-size: 70rpx;
  101. }
  102. .cusor{
  103. width: 2rpx;
  104. height: 80%;
  105. background-color: #FD711B;
  106. animation: blink 1500ms infinite ease-in-out;
  107. }
  108. }
  109. }
  110. }
  111. .bottom-line{
  112. position: absolute;
  113. bottom: 50rpx;
  114. left: 0;
  115. width: 100%;
  116. color: #dddddd;
  117. }
  118. @keyframes blink {
  119. from{
  120. opacity: 0;
  121. }
  122. }
  123. </style>