callback.vue 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. <template>
  2. <!-- 官网各种回调页面 -->
  3. <div class="app-content">
  4. <div class="callback-wrap">
  5. <div class="callback-blo" :class="{ 'paddingTop' : pageStatus == 7 }">
  6. <block v-if="pageStatus == 7">
  7. <div class="module-wrap">
  8. <div class="module-tit">提示</div>
  9. <div class="module-det">
  10. <div class="module-list" v-for="(item, index) in promptData" :key="index">
  11. <span class="dot-wrap"></span>
  12. <span>{{ item }}</span>
  13. </div>
  14. </div>
  15. </div>
  16. </block>
  17. <block v-else>
  18. <!-- 使用icon -->
  19. <!-- 成功 icon -->
  20. <block v-if="pageStatus == 1">
  21. <div class="status-img">
  22. <img :src="`${constant.imgUrl}/retail/callback/success.png`" alt mode="widthFix" />
  23. </div>
  24. </block>
  25. <!-- 使用图片 -->
  26. <!-- 支付成功 -->
  27. <block v-else>
  28. <div class="icon">
  29. <i class="iconfont icondaizhifu"></i>
  30. </div>
  31. </block>
  32. <!-- prompt-wrap -->
  33. <div class="prompt-wrap">
  34. <block v-if="pageStatus == 1">
  35. <div class="prompt-tit">恭喜您, 续订成功!</div>
  36. <div>
  37. <span class="app-color-2">你的帐号有效期已延长至:</span>
  38. <span>2020-11-05 23:09</span>
  39. </div>
  40. </block>
  41. </div>
  42. <!-- qr-code -->
  43. <div class="qr-code-wrap" v-if="option.focus == 0">
  44. <div class="qr-code-img">
  45. <img :src="option.qrCode" alt />
  46. </div>
  47. <div>识别二维码关注花卉宝</div>
  48. <div>审核结果将通过微信通知您</div>
  49. </div>
  50. </block>
  51. <!-- button -->
  52. <div class="button-wrap">
  53. <block v-if="pageStatus == 1 || pageStatus == 7">
  54. <button class="admin-button-com big blue">{{ btnText }}</button>
  55. </block>
  56. <block v-else>
  57. <button class="admin-button-com big default">{{ btnText }}</button>
  58. </block>
  59. </div>
  60. </div>
  61. </div>
  62. </div>
  63. </template>
  64. <script>
  65. /** *
  66. * 页面状态
  67. * @parmas pageStatus 进入页面的状态
  68. * @parmas 1 续订成功
  69. * @parmas 2 申请已提交
  70. * @parmas 3 申请已提交 - 返回二维码 -- successPay
  71. * @parmas 4 审核未通过 -- successEval
  72. * @parmas 5 审核通过 - 扫码支付 -- successPayCode
  73. * @parmas 6 授权成功 - 扫码支付 -- successPayCode
  74. * @parmas 7 授权提示 - 扫码支付 -- successPayCode
  75. */
  76. export default {
  77. name: 'callback',
  78. data() {
  79. return {
  80. pageStatus: 7,
  81. promptData: [
  82. '确认你已经有公众号(服务号),并且已认证和申请微 信支付',
  83. '满足以上条件,可以点下方按钮开始授权。',
  84. '点击之后会跳到新页面,页面有个二维码,识别后按确 认授权即可。'
  85. ]
  86. }
  87. },
  88. computed: {
  89. btnText() {
  90. let text = ''
  91. switch (this.pageStatus) {
  92. case '1':
  93. text = '返回管理中心'
  94. break
  95. case '2':
  96. text = '返回首页'
  97. break
  98. case '3':
  99. text = '返回首页'
  100. break
  101. case '4':
  102. text = '返回首页'
  103. break
  104. case '5':
  105. text = '开始授权'
  106. break
  107. case '6':
  108. text = '管理中心'
  109. break
  110. case '7':
  111. text = '开始授权'
  112. break
  113. default:
  114. text = '返回管理中心'
  115. break
  116. }
  117. return text
  118. }
  119. }
  120. }
  121. </script>
  122. <style lang="scss" scoped>
  123. .callback-wrap {
  124. padding-top: 30px;
  125. .callback-blo {
  126. width: calc(100% - 60px);
  127. margin: 0 30px;
  128. padding: 70px 0;
  129. background-color: #fff;
  130. box-shadow: 2px 2px 16px 0px rgba(181, 181, 181, 0.29);
  131. border-radius: 10px;
  132. text-align: center;
  133. &.paddingTop {
  134. padding-top: 40px;
  135. }
  136. // 使用icon
  137. .icon {
  138. .iconfont {
  139. font-size: 170px;
  140. }
  141. .icondaizhifu {
  142. color: #ffa92e;
  143. }
  144. }
  145. // 使用状态图片
  146. .status-img {
  147. width: 294px;
  148. margin: 0 auto;
  149. }
  150. }
  151. // module
  152. .module-wrap {
  153. padding: 0 32px;
  154. text-align: left;
  155. .module-tit {
  156. font-size: 38px;
  157. // margin-bottom: 20px;
  158. }
  159. .module-det {
  160. .module-list {
  161. @include disFlex(flex-start, flex-start);
  162. margin-top: 30px;
  163. .dot-wrap {
  164. width: 10px;
  165. height: 10px;
  166. border-radius: 50%;
  167. background-color: $mainColor;
  168. margin-top: 12px;
  169. margin-right: 24px;
  170. }
  171. }
  172. }
  173. }
  174. // prompt
  175. .prompt-wrap {
  176. margin-top: 60px;
  177. .prompt-tit {
  178. color: #09bb07;
  179. font-size: 36px;
  180. margin-bottom: 10px;
  181. }
  182. }
  183. // qr-code
  184. .qr-code-wrap {
  185. color: $fontColor2;
  186. text-align: center;
  187. & > div {
  188. margin-top: 10px;
  189. }
  190. .qr-code-img {
  191. width: 226px;
  192. margin: 60px auto 40px;
  193. }
  194. }
  195. // button
  196. .button-wrap {
  197. margin-top: 80px;
  198. }
  199. }
  200. </style>