You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

payment.vue 3.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. <template>
  2. <view class="container">
  3. <view class="text">信息确认</view>
  4. <view class="input-card" v-if="!state.isShow">
  5. <view class="input-box">
  6. <label class="label">车牌号</label>
  7. <input placeholder="车牌号" v-model="state.chepai" :disabled="state.disabled" />
  8. </view>
  9. <view class="input-box">
  10. <label class="label">车牌颜色</label>
  11. <input placeholder="车牌号" v-model="state.yanse" :disabled="state.disabled" />
  12. </view>
  13. <view class="input-enter-btn">
  14. <label class="label">手机号</label>
  15. <input class="left" placeholder="请输入手机号" type="number" maxlength="11" />
  16. <view class="right" @click="sendCodeToNewPhone">{{state.newCodeStatus}}</view>
  17. </view>
  18. <view class="input-box">
  19. <label class="label">验证码</label>
  20. <input placeholder="请输入验证码" @change="getPhoneCode" type="number" maxlength="10" />
  21. </view>
  22. </view>
  23. <view class="comfirm_btn" @click="verificationCode">提交</view>
  24. </view>
  25. </template>
  26. <script setup>
  27. import {
  28. reactive
  29. } from "vue";
  30. const state = reactive({
  31. list: [],
  32. chepai: "贵Z12345",
  33. yanse: "蓝色",
  34. colorArr: [],
  35. obj: "",
  36. phone: "",
  37. newCodeStatus: '获取验证码',
  38. code: "",
  39. tel: "",
  40. newCodeBtnDisabled: false,
  41. codeInterval: 60,
  42. isShow: false,
  43. num: "",
  44. disabled: true
  45. })
  46. /**
  47. * 点击了获取手机验证码
  48. */
  49. const sendCodeToNewPhone = () => {}
  50. const verificationCode = () => {
  51. }
  52. const getPhoneCode = () => {
  53. }
  54. </script>
  55. <style scoped>
  56. .mainView {
  57. position: relative;
  58. }
  59. .input-box {
  60. display: flex;
  61. justify-content: center;
  62. align-items: center;
  63. padding: 0 30rpx;
  64. height: 90rpx;
  65. border-bottom: 1px solid #ddd;
  66. color: #495060;
  67. }
  68. .input-box input {
  69. flex: 1;
  70. }
  71. .input-card {
  72. font-size: 28rpx;
  73. left: 0;
  74. top: 100rpx;
  75. padding: 30rpx 0;
  76. z-index: 999;
  77. background: #fff;
  78. }
  79. .input-card .input {
  80. width: calc(100% - 120rpx);
  81. height: 90rpx;
  82. margin: 30rpx 30rpx;
  83. padding: 0rpx 30rpx;
  84. border-radius: 8rpx;
  85. background: transparent;
  86. }
  87. .input-card .input-enter-btn {
  88. display: flex;
  89. flex-direction: row;
  90. height: 90rpx;
  91. line-height: 90rpx;
  92. border-bottom: 1px solid #ddd;
  93. padding: 0px 15px;
  94. color: #495060;
  95. }
  96. .input-enter-btn .left {
  97. height: 100%;
  98. width: 60%;
  99. border: none;
  100. /* padding-left: 30rpx; */
  101. }
  102. .input-enter-btn .right {
  103. /* width: calc(40% - 30rpx); */
  104. width: 180rpx;
  105. height: 60rpx;
  106. line-height: 60rpx;
  107. text-align: center;
  108. margin: 15rpx 30rpx;
  109. background: linear-gradient(to right, #13E7C1, #43A1E0);
  110. color: #fff;
  111. border-radius: 8rpx;
  112. font-size: 24rpx;
  113. }
  114. .input-enter-btn .right:active {
  115. background: #0acc24;
  116. }
  117. .comfirm_btn {
  118. width: calc(100% - 60rpx);
  119. margin-left: 30rpx;
  120. margin-top: 50rpx;
  121. height: 80rpx;
  122. border-radius: 40rpx;
  123. line-height: 80rpx;
  124. text-align: center;
  125. font-size: 32rpx;
  126. color: #fff;
  127. background: linear-gradient(to right, #13E7C1, #43A1E0);
  128. }
  129. .comfirm_btn:active {
  130. background: #0acc24;
  131. }
  132. .text {
  133. font-size: 36rpx;
  134. padding-left: 30rpx;
  135. padding-bottom: 20rpx;
  136. }
  137. .label {
  138. width: 160rpx;
  139. }
  140. </style>