successpay.vue 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. <template>
  2. <view class="" @touchstart="touchStart" @touchmove="touchMove" @touchend="touchEnd">
  3. <u-navbar title="个人中心" :safeAreaInsetTop="true" leftIconSize="45" :titleStyle="{'font-size':'28rpx'}"
  4. @leftClick="backBtn()">
  5. </u-navbar>
  6. <view class="successbox flex1">
  7. <view class="flex1">
  8. <view class="imgbox">
  9. <image src="../../static/success.png" mode="aspectFill"></image>
  10. </view>
  11. <text style="padding-top: 20rpx;">订单提交成功</text>
  12. </view>
  13. <view class="chabtn">
  14. <text class="backhome" @click="gobackinHome">回到首页</text>
  15. <text class="backhome pd" @click="goDetails">查看订单</text>
  16. </view>
  17. </view>
  18. </view>
  19. </template>
  20. <script>
  21. export default {
  22. data() {
  23. return {
  24. id: '',
  25. startX: 0, //滑动开始x轴位置
  26. startY: 0, //滑动开始y轴位置
  27. moveX: 0, //滑动的x轴距离
  28. moveY: 0, //滑动的y轴距离
  29. like_state: 0, //-1:左滑,0:没滑动,1:右滑
  30. }
  31. },
  32. onLoad(o) {
  33. if (o.id) {
  34. this.id = o.id
  35. }
  36. },
  37. onBackPress(options) {
  38. if (options.from == 'navigateBack') {
  39. return false
  40. }
  41. uni.switchTab({
  42. url: "/pages/index/index"
  43. })
  44. return true;
  45. },
  46. methods: {
  47. backBtn() {
  48. uni.redirectTo({
  49. url: "/pages/travel"
  50. })
  51. },
  52. gobackinHome() {
  53. uni.switchTab({
  54. url: "/pages/index/index"
  55. })
  56. },
  57. goDetails() {
  58. uni.redirectTo({
  59. url: "/pages/order/orderDetails?id=" + this.id
  60. })
  61. },
  62. touchStart(event) {
  63. this.startX = event.touches[0].pageX;
  64. this.startY = event.touches[0].pageY;
  65. console.log('开始触摸:', this.startX, this.startY);
  66. },
  67. touchMove(event) {
  68. var currentX = event.touches[0].pageX;
  69. var currentY = event.touches[0].pageY;
  70. var moveX = currentX - this.startX;
  71. var moveY = currentY - this.startY;
  72. var text = '';
  73. var state = 0; //-1:左滑,0:没滑动,1:右滑
  74. // //左右方向滑动
  75. if (Math.abs(moveX) > Math.abs(moveY)) {
  76. if (moveX < -10) {
  77. text = '左滑';
  78. state = 1;
  79. } else if (moveX > 10) {
  80. text = '右滑';
  81. state = -1;
  82. }
  83. } else { //上下方向滑动
  84. if (moveY < 0) {
  85. text = '上滑';
  86. } else if (moveY > 0) text = '下滑';
  87. }
  88. this.like_state = state;
  89. this.moveX = moveX;
  90. this.moveY = moveY;
  91. console.log('开始滑动:', this.moveX, this.moveY, this.like_state);
  92. },
  93. touchEnd(event) {
  94. console.log(`移动距离:${Math.abs(this.moveX)}`)
  95. if (Math.abs(this.moveX) > 60 && this.like_state != -100) {
  96. var state = this.like_state
  97. this.like_state = -100//设置这个数是为了避免滑动之后点击不走touchMove而产生的不正常滑动
  98. uni.switchTab({
  99. url: "/pages/index/index"
  100. })//这里放需要进行的业务逻辑
  101. }
  102. },
  103. }
  104. }
  105. </script>
  106. <style lang="less">
  107. page {
  108. font-family: PingFang-SC-Heavy, PingFang-SC;
  109. background: #ffffff;
  110. }
  111. .flex1 {
  112. display: flex;
  113. align-items: center;
  114. flex-direction: column;
  115. justify-content: center;
  116. }
  117. .successbox {
  118. padding:40rpx 0;
  119. background-color: #FCFCFC;
  120. // margin: 20rpx;
  121. // border-radius: 10rpx;
  122. margin-top: 240rpx;
  123. .imgbox {
  124. width: 120rpx;
  125. height: 120rpx;
  126. image {
  127. width: 100%;
  128. height: 100%;
  129. }
  130. }
  131. }
  132. .chabtn {
  133. padding-top: 120rpx;
  134. display: flex;
  135. .backhome {
  136. display: block;
  137. font-size: 30rpx;
  138. color: rgba(30, 159, 106, 1);
  139. padding: 10rpx 30rpx;
  140. border: 1rpx solid rgba(30, 159, 106, 1);
  141. border-radius: 30rpx;
  142. }
  143. .pd {
  144. margin-left: 100rpx;
  145. }
  146. }
  147. </style>