authModal.vue 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <template>
  2. <view class="page">
  3. <u-mask :show="localAuthShow" class="dis a-c j-c">
  4. <view class="auth-wrap">
  5. <view class="header">
  6. <text>实名认证</text>
  7. <image src="../../../static/image/user/auth.png" mode="aspectFit"></image>
  8. </view>
  9. <view class="content dis f-c a-c">
  10. <text>您好,成为 <text class="highlight">晋掌柜平台使用人</text>,需要先对您的身份信息进行核对,建议您先实名认证再进行车险报价等业务。</text>
  11. <view class="dis a-c j-s" style="width: 100%;margin-top: 72rpx;">
  12. <view class="btn1" @click.stop="onMaskClick">
  13. <text>取消</text>
  14. </view>
  15. <view class="btn" @click.stop="onBtnClick">
  16. <text>好的,去认证</text>
  17. </view>
  18. </view>
  19. </view>
  20. </view>
  21. </u-mask>
  22. </view>
  23. </template>
  24. <script>
  25. export default {
  26. name: 'AuthPopup',
  27. props: {
  28. authShow: {
  29. type: Boolean,
  30. default: true,
  31. },
  32. },
  33. data() {
  34. return {
  35. localAuthShow: this.authShow
  36. };
  37. },
  38. watch: {
  39. authShow(newVal) {
  40. this.localAuthShow = newVal;
  41. },
  42. },
  43. methods: {
  44. onBtnClick() {
  45. this.$emit('btnClick');
  46. uni.navigateTo({
  47. url: "/pages/user/authInfo"
  48. })
  49. },
  50. onMaskClick() {
  51. this.$emit('maskClick');
  52. },
  53. }
  54. };
  55. </script>
  56. <style lang="scss" scoped>
  57. .auth-wrap {
  58. width: 570rpx;
  59. height: 390rpx;
  60. border-radius: 12rpx;
  61. position: relative;
  62. .header {
  63. width: 100%;
  64. height: 118rpx;
  65. background: linear-gradient(0deg, #4FA4F7 0%, #306CF1 100%);
  66. border-radius: 12rpx 12rpx 0 0;
  67. position: absolute;
  68. padding: 20rpx 30rpx;
  69. text {
  70. font-size: 40rpx;
  71. color: #FFFFFF;
  72. font-weight: bold;
  73. line-height: 1.5;
  74. }
  75. image {
  76. position: absolute;
  77. width: 180rpx;
  78. height: 180rpx;
  79. right: 30rpx;
  80. top: -82rpx;
  81. }
  82. }
  83. .content {
  84. position: relative;
  85. height: 390rpx;
  86. background: linear-gradient(180deg, #EBF3FF 0%, #FFFFFF 100%);
  87. border-radius: 12rpx;
  88. margin-top: 98rpx;
  89. padding: 56rpx 30rpx;
  90. >text {
  91. color: #333;
  92. font-size: 28rpx;
  93. }
  94. .highlight {
  95. color: #0052FF;
  96. font-weight: bold;
  97. }
  98. .btn1 {
  99. background: #FFFFFF;
  100. box-shadow: 0px 4rpx 10rpx 0px rgba(0, 82, 255, 0.1);
  101. border-radius: 8rpx;
  102. border: 1px solid #4F88FD;
  103. font-size: 32rpx;
  104. color: #4F88FD;
  105. padding: 8rpx 44rpx;
  106. }
  107. .btn {
  108. background: linear-gradient(90deg, #0153FF 0%, #0D89FF 100%);
  109. box-shadow: 0 4rpx 10rpx 0 rgba(0, 82, 255, 0.1);
  110. border-radius: 8rpx;
  111. padding: 8rpx 60rpx;
  112. border: 1px solid #0D89FF;
  113. color: #FFFFFF;
  114. font-size: 32rpx;
  115. }
  116. }
  117. }
  118. </style>