index.vue 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. <template>
  2. <view v-if="!loading">
  3. <view v-if="recommendCard&&userInfo.id!=recommendCard.userId">
  4. <view style="height: 136rpx;"></view>
  5. <view class="sc-box ddflex">
  6. <image class="sc-header" :src="recommendCard.avatar?recommendCard.avatar:'../../static/images/userimg.png'">
  7. </image>
  8. <view class="sc-name">
  9. <view>{{recommendCard.realName}}</view>
  10. <view class="sc-tag">{{recommendCard.jobName}}</view>
  11. </view>
  12. <view class="sc-line"></view>
  13. <view class="sc-contact" @click="jumpSingleChatRoom()">
  14. <image src="/static/images/wxChat.png"></image>
  15. <view>聊一聊</view>
  16. </view>
  17. <block v-if="userInfo.manageSaleNo">
  18. <view class="sc-btn flex" @click="toIndex">进入我的微页</view>
  19. </block>
  20. <block v-else>
  21. <view class="sc-btn flex" style="border-radius: 80rpx 0 0 80rpx;" @click="toIndex">进入微页</view>
  22. <view class="sc-btn flex" style="margin-left: 10rpx;border-radius: 0 80rpx 80rpx 0;background-color: #FF7229;" v-if="!userInfo.manageSaleNo" @click="bindSale()">绑定</view>
  23. </block>
  24. </view>
  25. </view>
  26. <update-userinfo :update-info="isUpdateInfo" :update-mobile="isUpdateMobile" :is-update="true" v-if="isShowUpdate" @closeUpdate="closeUpdate" @updateMobile="updateMobileInfo" @updateInfo="updateInfo"></update-userinfo>
  27. </view>
  28. </template>
  29. <script>
  30. const app = getApp();
  31. const req = require("../../utils/request.js");
  32. const QQMapWX = require("../../utils/qqmap.js");
  33. export default {
  34. data() {
  35. return {
  36. userInfo:{},
  37. recommendCard: {},
  38. loading:true,
  39. isShowUpdate: false, //是否显示更新信息弹窗
  40. isUpdateInfo: false, //更新用户信息
  41. isUpdateMobile: false, //绑定手机号
  42. };
  43. },
  44. components: {},
  45. props: {
  46. userId:String
  47. },
  48. watch: {},
  49. mounted() {
  50. this.userInfo = req.getStorage('userInfo')
  51. QQMapWX.initMap();
  52. req.getLocation(res => {
  53. const to = {
  54. latitude: res.latitude,
  55. longitude: res.longitude
  56. };
  57. this.getRecommendCard(to)
  58. });
  59. },
  60. methods: {
  61. // 获取推荐销售
  62. getRecommendCard(loction) {
  63. let params = loction
  64. if(this.userId){
  65. params.userId = this.userId
  66. req.getRequest('/api/user/userInfoById', params, res => {
  67. if(res.visitingCardDTO){
  68. this.recommendCard = res.visitingCardDTO
  69. this.loading = false
  70. }else{
  71. params.shareSaleNo = req.getStorage("shareId")?req.getStorage("shareId"):null
  72. delete params.userId
  73. req.getRequest('/api/visiting/card/recommendCardInfo', params, res => {
  74. this.recommendCard = res
  75. this.loading = false
  76. })
  77. }
  78. })
  79. }else{
  80. params.shareSaleNo = req.getStorage("shareId")?req.getStorage("shareId"):null
  81. req.getRequest('/api/visiting/card/recommendCardInfo', params, res => {
  82. this.recommendCard = res
  83. this.loading = false
  84. })
  85. }
  86. },
  87. jumpSingleChatRoom() {
  88. if (this.recommendCard) {
  89. req.jumpSingleChatRoom(this.recommendCard.userId, this.recommendCard.avatar, this.recommendCard
  90. .realName);
  91. req.saveBehaviorNew(this.recommendCard.id,1,14)
  92. }
  93. },
  94. // jumpConversation() {
  95. // req.jumpConversation();
  96. // },
  97. toIndex() {
  98. uni.switchTab({
  99. url: '/pages/index/index'
  100. })
  101. },
  102. bindSale(){
  103. let userInfo = req.getStorage('userInfo');
  104. console.log('updateInfo userInfo.avatar',userInfo.avatar)
  105. if (!userInfo.avatar || !userInfo.nickName || userInfo.avatar.indexOf('thirdwx.qlogo') > -1 || userInfo.nickName.indexOf('用户') > -1) {
  106. this.isShowUpdate = true
  107. this.isUpdateInfo = true
  108. return false
  109. }
  110. if(userInfo.avatar&&!userInfo.mobile){
  111. this.isShowUpdate = true
  112. this.isUpdateMobile = true
  113. return false
  114. }
  115. uni.showModal({
  116. title:'提示',
  117. content:'是否绑定该顾问?',
  118. success: (con) => {
  119. if(con.confirm){
  120. req.postRequest('/api/visiting/card/bindManageSaleNo',{manageSaleNo:this.recommendCard.jobNumber},res=>{
  121. req.msg('已绑定专属顾问')
  122. let userInfo = req.getStorage('userInfo')
  123. userInfo.manageSaleNo = this.recommendCard.jobNumber
  124. req.setStorage('userInfo',userInfo)
  125. this.userInfo = req.getStorage('userInfo')
  126. })
  127. }
  128. }
  129. })
  130. },
  131. showUpdate(){
  132. this.isShowUpdate = true;
  133. this.isUpdateInfo = true;
  134. },
  135. closeUpdate(){
  136. this.isShowUpdate = false
  137. this.isUpdateInfo = false;
  138. },
  139. updateInfo(e){
  140. setTimeout(()=>{
  141. this.bindSale()
  142. },500)
  143. },
  144. updateMobileInfo(e){
  145. setTimeout(()=>{
  146. this.bindSale()
  147. },500)
  148. },
  149. }
  150. };
  151. </script>
  152. <style>
  153. @import "./index.css";
  154. </style>