Browse Source

feat:app端采购单位画像添加客服入口

zhangsiya 1 year ago
parent
commit
b7bf5ed4f5

+ 7 - 4
src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/unit_portrayal.js

@@ -174,7 +174,9 @@ var vNode = {
       buyerHighSet: '',
       unitParams: {},
       follow:false, // 是否监控
-      allpower:{}
+      allpower:{},
+      // 页面滚动距离
+      pageScrollTop: 0
     }
   },
   computed: {
@@ -363,7 +365,8 @@ var vNode = {
     getStickyTop: function () {
       this.stickyTop = $('.j-header.jy-app-header').outerHeight()
     },
-    onUnitScroll: utils.debounce(function () {
+    onUnitScroll: utils.debounce(function (e) {
+      this.pageScrollTop = e.target.scrollTop
       if (!this.getfreeBuyerOpen) return
     }, 300),
     // 判断当前用户是登录
@@ -851,7 +854,7 @@ var vNode = {
               data: JSON.stringify(params),
               success: function(res) {
                 if (res.data && !_this.follow) { // 为监控调用组件函数 相关逻辑统一组件内处理
-                  _this.$refs.portrayalFooter.no_monitor(res.data)   
+                  _this.$refs.portrayalFooter.no_monitor(res.data)
                 }
                 if (res && res.error_code === 0 && res.data.status) {
                   if (_this.follow) {
@@ -862,7 +865,7 @@ var vNode = {
 
                   } else {
                     // 关注操作返回
-                    _this.follow = true  
+                    _this.follow = true
                     _this.updataStorage(decodeURIComponent(utils.getParam('entName')),'isFollowed',true)
                   }
                 } else {

+ 5 - 2
src/jfw/modules/app/src/web/templates/big-member/page_client_portrayal.html

@@ -98,7 +98,7 @@
 <body>
 <div class="j-container">
   {{include "/big-member/header.html"}}
-  <div id="client_portrayal" class="j-main" v-cloak @click="doubleBar.showTooltip = false">
+  <div id="client_portrayal" class="j-main" v-cloak @click="doubleBar.showTooltip = false"  @scroll="onUnitScroll">
     <div v-if="chartLoading" class="skeleton">
       <img class="working"  src="/jyapp/big-member/image/working.gif" alt="">
     </div>
@@ -132,7 +132,7 @@
           <forwardshare :params="clientParams"></forwardshare>
         </div> -->
       </div>
-      
+
       <!-- 超级订阅用户展示  -->
       <!-- <div v-if="superVipPort" style="margin-top: .24rem; " class="free-give">
         <div class="balance-text"> 当月采购单位画像余额:<em class="highlight-text">${usageInfo.surplus}</em></div>
@@ -576,6 +576,8 @@
     </div>
     <!-- 底部按钮组件 -->
     <mobile-portrayal-footer ref="portrayalFooter" @monitorclick="changeFollowState('g')" @claimclick="changeClaimState" :islogin="true" :monitorshow="true" :monitor="follow" :params="clientParams" :shareshow="true" :claimshow="claimShow" :claim="claim" :allpower="powerInfo"></mobile-portrayal-footer>
+      <!--客服组件-->
+      <customer-corner-component :scroll-status="pageScrollTop < 60" bottom-position="12%"></customer-corner-component>
   </div>
   <div id="jyKeepEntComponent">
     <keep-ent-component ref="vKeepComponent" @on-save-tag="onSaveTag" :bid="nowOpenBid" :first="false"></keep-ent-component>
@@ -615,6 +617,7 @@
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/forward-share/js/forward.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module//mobile-portrayal-footer/js/mobile-portrayal-footer.js?v={{Msg "seo" "version"}}'></script>
 <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/big-member/js/client_portrayal.js?v={{Msg "seo" "version"}}11'></script>
+<script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/customer-corner/mobile-template.js?v={{Msg "seo" "version"}}'></script>
 <script>
   // 收藏组件
   var vKeepComponent = new Vue({

+ 4 - 1
src/jfw/modules/app/src/web/templates/big-member/page_unit_portrayal.html

@@ -706,7 +706,9 @@
       <popup-data-export ref="popup_dataExport" @next="next_export"></popup-data-export>
        <!-- 底部按钮组件 -->
     <mobile-portrayal-footer ref="portrayalFooter" @monitorclick="changeFollowState('g')" :islogin="userInfo.isLogin"  :monitorshow="true" :monitor="follow" :params="unitParams" :allpower="allpower" :shareshow="isLogin"></mobile-portrayal-footer>
-    </div>
+      <!--客服组件-->
+      <customer-corner-component v-show="isLogin" :scroll-status="pageScrollTop < 60" bottom-position="12%"></customer-corner-component>
+  </div>
     <div id="jyKeepComponent">
       <keep-component ref="vKeepComponent" @on-change-keep="changeKeepStatus" :bid="nowOpenBid" :first="false">
       </keep-component>
@@ -759,6 +761,7 @@
     src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/keep-tags/keep-ent-tags-template.js?v={{Msg "seo" "version"}}'>
   </script>
   <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/dataExport/components/popup-data-export.js?v={{Msg "seo" "version"}}'></script>
+  <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/customer-corner/mobile-template.js?v={{Msg "seo" "version"}}'></script>
   <script>
     // 收藏组件
     var vKeepComponent = new Vue({

+ 10 - 6
src/web/staticres/common-module/big-member/js/client_portrayal.js

@@ -179,7 +179,8 @@ var vNode = {
           list:[],
           // 招标动态筛选条件缓存,用来判断是否正在使用筛选项进行请求
           buyerHighSet: '',
-          clientParams: {}
+          clientParams: {},
+          pageScrollTop: 0
       }
   },
   computed: {
@@ -318,6 +319,9 @@ var vNode = {
     window.removeEventListener("resize", this.init,20);
   },
   methods: {
+      onUnitScroll:function (e) {
+        this.pageScrollTop = e.target.scrollTop
+      },
       restoreTab: function() {
         var tab = utils.getParam('tab') || ''
         if (tab) {
@@ -470,7 +474,7 @@ var vNode = {
           success: function(res) {
             if(res.error_code == 0) {
               if (res.data && !_this.follow) { // 为监控调用组件函数 相关逻辑统一组件内处理
-                _this.$refs.portrayalFooter.no_monitor(res.data)   
+                _this.$refs.portrayalFooter.no_monitor(res.data)
               }
               if(res.data.status) {
                   if(_this.follow){
@@ -480,7 +484,7 @@ var vNode = {
                     _this.updataStorage(decodeURIComponent(utils.getParam('entName')),'isFollowed',true)
 
                   }
-                  _this.follow = !_this.follow 
+                  _this.follow = !_this.follow
               } else {
                 // _this.$toast(res.error_msg)
               }
@@ -551,7 +555,7 @@ var vNode = {
              }
           })
          }
-         
+
          localStorage.setItem('JY-MOBILE-/search/result/buyer',JSON.stringify(data))
         }catch(e){
         }
@@ -1198,7 +1202,7 @@ var vNode = {
             v.parent = v.project_count / data[0].project_count*100 + "%";
           })
           this.agencyList = data;
-          this.isShow.showAgency = true 
+          this.isShow.showAgency = true
         }
       },
       // 处理金额区间转换
@@ -1680,7 +1684,7 @@ var vNode = {
             sessionStorage.removeItem(this.sessKey)
             return false
           }
-  
+
           this.chartLoading = $data.chartLoading
           this.tabActiveName = $data.tabActiveName
           Object.assign(this.buyer, $data.buyer || {})

+ 8 - 8
src/web/staticres/common-module/customer-corner/mobile-template.js

@@ -1,17 +1,17 @@
 var customerCornerStyle = `<style>
 .customer-corner-component{
     position: fixed;
-    padding-top:4px;
-    width: 42px;
-    height: 42px;
+    padding-top:0.08rem;
+    width: 0.84rem;
+    height: 0.84rem;
     bottom: 9%;
-    right: 12px;
+    right: 0.24rem;
     background: #fff;
     border-radius: 50%;
     z-index: 99;
     box-shadow: 0 0 16px rgba(0,0,0,0.16);
-    font-size: 9px;
-    line-height: 10px;
+    font-size: 0.18rem;
+    line-height: 0.2rem;
     color: #2ABED1;
   }
   .customer-corner-component.fadeOutRight{
@@ -23,8 +23,8 @@ var customerCornerStyle = `<style>
       text-align: center;
     }
   .customer-corner-component img{
-    width: 24px;
-    height: 24px;
+    width: 0.48rem;
+    height: 0.48rem;
   }
   </style>`
 var customerCornerTemplate = `