popup.vue 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <template>
  2. <view>
  3. <!-- 弹窗 -->
  4. <view class="bgbox" @click="getClose" v-if="type"></view>
  5. <view v-if="type=='wygj'" class="wygjbox">
  6. <view class="wytop">
  7. <image :src="wytit" class="imga"></image>
  8. <image :src="head" class="imgb"></image>
  9. </view>
  10. <view class="wylist flexc" v-for="(ite,idx) in phoneList" :key="idx" @click="getPhone(ite.content)">
  11. <image :src="ite.title.indexOf('投诉')!=-1?phicob:phicoa"></image>
  12. <view>
  13. <view class="co6 mb4">{{ite.title}}</view>
  14. <view class="co27">{{ite.content}}</view>
  15. </view>
  16. </view>
  17. <image :src="closeimg" class="closeimg" @click="getClose"></image>
  18. </view>
  19. <!-- 信息弹窗 -->
  20. <view class="bgbox" style="z-index: 100;" v-if="initFace=='Y'"></view>
  21. <view class="fixedbox" style="z-index: 101;" v-if="initFace=='Y'">
  22. <image :src="tiptit" class="imga"></image>
  23. <view class="boxs">
  24. <view class="ztit">您的信息暂未完善,请前去完善</view>
  25. <view class="ztit">解锁更多内容</view>
  26. </view>
  27. <view class="fixedbtn flexcj">
  28. <view class="btns btn2 flex1" @click="getXxwsFn">去完善</view>
  29. </view>
  30. <image :src="closeimg" class="closeimg" @click="getClose"></image>
  31. </view>
  32. </view>
  33. </template>
  34. <script>
  35. import config from '@/config'
  36. const baseUrl = config.baseUrl
  37. import { getToken } from '@/utils/auth'
  38. import {uploadmore} from '@/utils/common.js'
  39. export default{
  40. components:{},
  41. props:{
  42. type: {
  43. type: String,
  44. default () {
  45. return ''
  46. }
  47. },
  48. initFace:{
  49. type: [String,Number],
  50. default () {
  51. return 'N'
  52. }
  53. },
  54. phoneList:{
  55. type: Array,
  56. default () {
  57. return []
  58. }
  59. }
  60. },
  61. data(){
  62. return{
  63. baseUrl:config.baseUrl,
  64. closeimg:require("@/static/images/close.png"),
  65. head:require("@/static/images/head.png"),
  66. phicoa:require("@/static/images/phicoa.png"),
  67. phicob:require("@/static/images/phicob.png"),
  68. wytit:require("@/static/images/wytit.png"),
  69. tiptit:require("@/static/images/tiptit.png"),
  70. // rimg: require('@/work/static/people/rimg.png'),
  71. // headbg: require('@/work/static/service/headbg.png'),
  72. datainfo:{
  73. iszc:""
  74. },
  75. tabval:0,
  76. }
  77. },
  78. mounted() {
  79. this.baseUrl=baseUrl
  80. },
  81. watch:{
  82. type(val){
  83. // this.filelist=[];
  84. // this.shtext='';
  85. // this.isty='2';
  86. // this.phofile=[];
  87. }
  88. },
  89. methods:{
  90. getClose(){
  91. this.$emit('getClose')
  92. },
  93. getSure(){
  94. this.$emit('getSure')
  95. },
  96. getXxwsFn(){
  97. this.$emit('getXxwsFn')
  98. },
  99. getPhone(phone){
  100. uni.makePhoneCall({
  101. phoneNumber: phone //仅为示例
  102. });
  103. }
  104. }
  105. }
  106. </script>
  107. <style lang="scss" scoped>
  108. .wygjbox{position: fixed;left:166rpx;right: 166rpx;background: linear-gradient(0deg, #FFFFFF, #FEF6E1);border-radius: 20rpx;padding: 26rpx 38rpx 12rpx;z-index: 10;top: 40%;transform: translateY(-50%);
  109. .wytop{display: flex;align-items: flex-end;margin-bottom: 52rpx;
  110. .imga{width: 230rpx;height: 74rpx;margin-right: 26rpx;}
  111. .imgb{width: 86rpx;height: 86rpx;}
  112. }
  113. .wylist{padding-left: 34rpx;margin-bottom: 28rpx;
  114. image{width: 34rpx;height: 34rpx;margin-right: 16rpx;flex: 0 0 auto;}
  115. view{font-weight: 500;font-size: 26rpx;}
  116. }
  117. }
  118. .closeimg{width: 34rpx;height: 34rpx;position: absolute;bottom: -52rpx;left: 50%;margin-left: -16rpx;}
  119. .fixedbox{position: fixed;left: 160rpx;right: 160rpx;background: #fff;border-radius: 20rpx;top: 50%;transform: translateY(-50%);z-index: 10;padding: 32rpx 28rpx 40rpx;box-sizing: border-box;background: linear-gradient(0deg, #FFFFFF, #FEF6E1);
  120. .imga{width: 230rpx;height: 70rpx;display: block;margin: 0 auto 36rpx;}
  121. .boxs{
  122. .ztit{font-weight: 500;font-size: 26rpx;color: #343434;text-align: center;line-height: 48rpx;text-align: center;
  123. }
  124. }
  125. .fixedbtn{margin: 36rpx 2rpx 0;
  126. .btns{width: 192rpx;height: 70rpx;border-radius: 36rpx;font-weight: bold;
  127. font-size: 26rpx;display: flex;align-items: center;justify-content: center;box-sizing: border-box;
  128. &.btn1{color: #00A9F0;border: 2rpx solid #00A9F0;margin-right: 24rpx;}
  129. &.btn2{background: #FFF5EC;color: #F7801F;border: 2rpx solid #F7801F;}
  130. }
  131. }
  132. .closeimg{bottom: -58rpx;}
  133. }
  134. </style>