callback.vue 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <template>
  2. <view class="wrap">
  3. <view class="top">
  4. <u-icon name="checkmark-circle-fill" color="#19be6b" size="120" v-if="isSuccess && result!='查询中'"></u-icon>
  5. <u-icon name="error-circle-fill" color="#fa3534" size="120" v-if="!isSuccess && result!='查询中'"></u-icon>
  6. <view>{{result}}</view>
  7. </view>
  8. <view class="content" v-if="result!=='查询中'">
  9. <u-button type="primary" @click="finish">确定</u-button>
  10. </view>
  11. </view>
  12. </template>
  13. <script>
  14. export default {
  15. data() {
  16. return {
  17. orderSn: '',
  18. isSuccess: undefined,
  19. result: '查询中'
  20. }
  21. },
  22. onLoad(option) {
  23. this.orderSn = option.orderSn
  24. this.init()
  25. },
  26. methods: {
  27. init() {
  28. this.$u.get('pay/queryResult/' + this.orderSn).then(res => {
  29. if (res == true) {
  30. this.result = "支付成功"
  31. this.isSuccess = true
  32. } else {
  33. this.isSuccess = false
  34. this.result = "支付失败"
  35. }
  36. })
  37. },
  38. finish(){
  39. this.$u.route({
  40. url: '/pages/order/detail',
  41. params: {
  42. orderSn: this.orderSn
  43. }
  44. })
  45. }
  46. }
  47. }
  48. </script>
  49. <style lang="scss" scoped>
  50. .wrap {
  51. .top {
  52. text-align: center;
  53. margin:60rpx;
  54. }
  55. .content{
  56. padding:60rpx;
  57. }
  58. }
  59. </style>