Browse Source

Merge remote-tracking branch 'origin/dev4.6.2.4' into dev4.6.2.4

# Conflicts:
#	src/web/staticres/images/subscribe/vip_toUse.png
wangkaiyue 3 years ago
parent
commit
25d1fb21fc
29 changed files with 1133 additions and 334 deletions
  1. 6 5
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/ent_portrait.js
  2. 153 33
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/unit_portrayal.js
  3. 18 9
      src/jfw/modules/app/src/web/staticres/jyapp/me/js/mine.js
  4. 9 9
      src/jfw/modules/app/src/web/templates/big-member/page_ent_portrait.html
  5. 25 17
      src/jfw/modules/app/src/web/templates/big-member/page_unit_portrayal.html
  6. 3 3
      src/jfw/modules/app/src/web/templates/frontRouter/bigmember/free/perfect_info.html
  7. 19 2
      src/jfw/modules/app/src/web/templates/frontRouter/portraitRecord/sess/index.html
  8. 10 0
      src/jfw/modules/app/src/web/templates/me/mine.html
  9. 40 22
      src/jfw/modules/app/src/web/templates/weixin/wxinfocontent.html
  10. 2 2
      src/jfw/modules/publicapply/src/config.json
  11. 13 7
      src/jfw/modules/weixin/src/wx/wx.go
  12. 2 2
      src/jfw/modules/wxtoken/src/config.json
  13. 177 49
      src/web/staticres/big-member/js/unit_portrayal.js
  14. 39 12
      src/web/staticres/common-module/big-member/js/buyer_project_news.js
  15. 77 20
      src/web/staticres/common-module/collection/js/buyer-example.js
  16. 2 2
      src/web/staticres/common-module/collection/js/ent_portrait.js
  17. 12 1
      src/web/staticres/common-module/collection/js/history-project.js
  18. 81 26
      src/web/staticres/common-module/collection/js/vip-dialog.js
  19. 64 17
      src/web/staticres/common-module/portraitRecord/js/index-wx.js
  20. 64 17
      src/web/staticres/common-module/portraitRecord/js/index.js
  21. 15 4
      src/web/staticres/css/subscribe_new.css
  22. 3 0
      src/web/staticres/me/js/mine.js
  23. 42 29
      src/web/templates/big-member/wx/page_unit_portrayal.html
  24. 129 0
      src/web/templates/frontRouter/wx/buyerPortraitRecord/sess/index.html
  25. 9 9
      src/web/templates/frontRouter/wx/collection/sess/ent_portrait.html
  26. 19 2
      src/web/templates/frontRouter/wx/portraitRecord/sess/index.html
  27. 3 2
      src/web/templates/pc/subscribe_new.html
  28. 10 0
      src/web/templates/weixin/my.html
  29. 87 33
      src/web/templates/weixin/wxinfocontent_rec.html

+ 6 - 5
src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/ent_portrait.js

@@ -132,7 +132,8 @@ var vNode = {
         top10: true,
         topShow: true,
         dt: true
-      }
+      },
+      canFreeExp: false
     }
   },
   created: function () {
@@ -262,9 +263,6 @@ var vNode = {
         return item
       })
       return !isShow
-    },
-    getfreeEntPort:function(){
-      return this.freeEntPort >-1;
     }
   },
   methods: {
@@ -653,7 +651,10 @@ var vNode = {
           } else {
             _this.$toast(res.error_msg)
           }
-          _this.freeEntPort=res.data.freeEntPort;
+          //免费用户体验权限
+          if(res.data.isFree&&res.data.freeEntPort==0){
+            _this.canFreeExp=true
+          }
         },
         complete: function () {
           if (_this.loading) {

+ 153 - 33
src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/unit_portrayal.js

@@ -118,7 +118,20 @@ var vNode = {
             encryptId: '', // 首次埋点返回的加密id 用于点击去开通传参
             power: [],
             hotChart: null,
-            pieChart: null
+            pieChart: null,
+            userInfo: {
+              isFree: false,
+              vipStatus: false,
+              viper: false,
+              entniche: false
+            },
+            usageInfo: {
+              total: 0,
+              usage: 0,
+              provin: 0,
+              visited: false,
+              surplus: 0
+            } // 超级订阅用户画像浏览
         }
     },
     computed: {
@@ -155,11 +168,31 @@ var vNode = {
             })
         },
         getStatus: function () {
-          console.log(11)
-          return this.power.indexOf(5)  == -1 // power == 5
+          var info = this.userInfo
+          var isFreeAuth = info.isFree && info.freeBuyerPort > 0
+          var isVipAuth = info.vipStatus > 0 && info.viper && this.usageInfo.surplus > 0
+          var isMember = this.power.indexOf(5)  !== -1
+          // 免费用户无体验次数的、超级订阅用户无剩余次数的、没有大会员浏览权限的 显示遮罩
+          return !isFreeAuth && !isVipAuth && !isMember // power == 5
         },
+        // 展示免费用户体验
         getfreeBuyerPort:function(){
-          return this.freeBuyerPort >-1;
+          return this.userInfo.isFree && this.userInfo.freeBuyerPort == 0;
+        },
+        // 展示超级订阅浏览次数
+        superVipPort: function () {
+          console.log(this.userInfo.vipStatus, this.userInfo.viper)
+          return this.userInfo.vipStatus > 0 && this.userInfo.viper && this.bigStatus <= 0
+        },
+        // 超级订阅用户对应的按钮
+        superVipBtnText: function () {
+          let text = ''
+          if (this.usageInfo.provin === -1) {
+            text = '联系客服'
+          } else {
+            text = '前往升级'
+          }
+          return text 
         }
     },
     watch: {
@@ -201,15 +234,34 @@ var vNode = {
           sessionStorage.removeItem('buyer_high_set')
           sessionStorage.removeItem('buyer_high_name')
         }
-        
-        this.getNewMsg(); // 中标动态
-        this.getChartData(); // 企业画像
-        // this.init()
     },
     beforeDestroy() {
       window.removeEventListener("resize", this.init,20);
     },
     methods: {
+        // 查询超级订阅采购单位画像浏览次数
+        getUsage: function () {
+          var _this = this
+          console.log(this.superVipPort)
+          if (this.superVipPort) {
+            $.ajax({
+              type: 'POST',
+              url: '/bigmember/portrait/subVipPortrait/usage',
+              data: {
+                buyer: decodeURIComponent(utils.getParam('entName')),
+                p_type: '1'
+              },
+              success: function (res) {
+                if (res.error_code == 0 && res.data) {
+                  res.data.surplus = res.data.total - res.data.usage
+                  _this.usageInfo = res.data
+                } else {
+                  console.log(res.error_msg)
+                }
+              }
+            })
+          }
+        },
         // 获取权限信息
         getPowerInfo: function () {
             var _this = this
@@ -226,7 +278,11 @@ var vNode = {
                     var vip = res.data.vipStatus
                     var userType = ''
                     //免费用户可查看采购单位画像次数(-1:已使用;0:未使用;1:可使用次数)
-                   _this.freeBuyerPort = res.data.freeBuyerPort; 
+                    _this.userInfo.isFree = res.data.isFree
+                    _this.userInfo.vipStatus = res.data.vipStatus
+                    _this.userInfo.viper = res.data.viper
+                    _this.userInfo.freeBuyerPort = res.data.freeBuyerPort
+                    _this.userInfo.entniche = res.data.entniche
                     if (vip > 0) {
                       userType = '1'
                     }
@@ -249,6 +305,9 @@ var vNode = {
                     if (res.data.power.indexOf(5) === -1) {
                       _this.getBuried(userType)
                     }
+                    _this.getUsage(); // 超级订阅用户剩余次数
+                    _this.getNewMsg(); // 中标动态
+                    _this.getChartData(); // 企业画像
                   }
               },
               error: function (error) {
@@ -352,7 +411,8 @@ var vNode = {
         },
         // 跳转招标动态新页面
         goProjectPage: function () {
-          if (this.power.indexOf(5) == -1) {
+          // 无权限的弹出弹框提醒
+          if (this.getStatus) {
             this.openDialog()
             return
           } else {
@@ -369,9 +429,10 @@ var vNode = {
               // pageSign: that.dt.isMore,
               pageNum: 1
           }
+          var isMember = this.bigStatus > 0 && this.power.indexOf(5) > -1
           $.ajax({
             type:'POST',
-            url:'/bigmember/portrait/buyer/getNewMsg',
+            url: isMember ? '/bigmember/portrait/buyer/getNewMsg' : '/bigmember/subVipPortrait/buyer/getNewMsg',
             data: storageSet ? Object.assign(data, storageSet) : data,
             timeout: 8000,
             success:function(res) {
@@ -414,9 +475,10 @@ var vNode = {
               }
             },
             error:function(err) {
-              setTimeout(function() {
-                that.getNewMsg()
-              }, 3000)
+              console.log(err)
+              // setTimeout(function() {
+              //   that.getNewMsg()
+              // }, 3000)
             }
           })
         },
@@ -427,9 +489,10 @@ var vNode = {
           var data = {
             buyer: decodeURIComponent(utils.getParam('entName'))
           }
+          var isMember = this.bigStatus > 0 && this.power.indexOf(5) > -1
           $.ajax({
             type:'POST',
-            url:'/bigmember/portrait/buyer/getData',
+            url: isMember ? '/bigmember/portrait/buyer/getData' : '/bigmember/subVipPortrait/buyer/getData',
             data: storageSet ? Object.assign(data, storageSet) : data,
             timeout: 10000,
             success:function(res) {
@@ -449,9 +512,9 @@ var vNode = {
             },
             error:function(err) {
               console.log(err)
-              setTimeout(function() {
-                that.getChartData()
-              }, 3000)
+              // setTimeout(function() {
+              //   that.getChartData()
+              // }, 3000)
             }
           })
         },
@@ -1280,23 +1343,57 @@ var vNode = {
         // dialog
         openDialog: function () {
           var _this = this
+          var info = this.userInfo
+          var title = ''
+          var content = ''
+          var btnText = ''
+          var isFree = info.isFree
+          var isVip = info.vipStatus > 0
+          if (isFree) {
+            if (info.freeBuyerPort < 0) {
+              title = '开通超级订阅'
+              content = '您已经免费解锁过【采购单位全景分析】权益1次,暂无免费查看权限。如需查看更多,请开通超级订阅获取更多权限。'
+              btnText = '去开通'
+            } else {
+              // 立即解锁
+              location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=buyer_portrait_getNewMsg_freeuser'
+              // 需要return出去 直接跳留资 不弹弹框
+              return
+            }
+          } else {
+            if (isVip) {
+              title = '升级超级订阅'
+              content = '对不起,暂无权限,您可升级超级订阅解锁采购单位全景分析,查看更多招标动态'
+              btnText = '前往升级'
+            } else {
+              title = '开通大会员'
+              content = '开通大会员,采购单位项目动态全面获取,帮助企业洞察采购需求,开发新客户!'
+              btnText = '联系客服'
+            }
+          }
           this.$dialog.confirm({
             width: 303,
             className: 'custom-dialog',
-            title: '您暂无使用权限',
-            message: '开通大会员,采购单位项目动态全面获取,帮助企业洞察采购需求,开发新客户!',
+            title: title,
+            message: content,
             messageAlign:'left',
-            confirmButtonText: _this.power.indexOf(5) < 0 && _this.bigStatus > 0 ? '联系客服' : '免费体验',
+            confirmButtonText: btnText,
             confirmButtonColor: '#2ABED1',
             showCancelButton: true,
             cancelButtonText: '取消'
-          }).then(function(){
-            if (_this.power.indexOf(5) < 0 && _this.bigStatus > 0) {
-              try {
-                JyObj.callPhone('400-108-6670');
-              } catch (error) {
-                console.log(error)
-              }
+          }).then(function(data){
+            console.log(data)
+            if (btnText == '联系客服') {
+              // try {
+              //   JyObj.callPhone('400-108-6670');
+              // } catch (error) {
+              //   console.log(error)
+              // }
+              location.href = '/jyapp/free/customer'
+            } else if (btnText == '前往升级') {
+              location.href = '/jyapp/vipsubscribe/upgradePage'
+            } else if (btnText == '去开通') {
+              location.href = '/jyapp/vipsubscribe/vipsubscribe_new'
             } else {
               _this.goBuyBuried('开通大会员,采购单位项目动态全面获取,帮助企业洞察采购需求,开发新客户!')
             }
@@ -1310,11 +1407,11 @@ var vNode = {
             var href = '/jyapp/article/content/' + item.id + '.html'
             location.href = href
           } else {
-            if (this.power.indexOf(5) == -1) {
-              this.openDialog()
-            } else {
-              console.log('没有id')
-            }
+            // if (this.power.indexOf(5) == -1) {
+            //   this.openDialog()
+            // } else {
+            //   console.log('没有id')
+            // }
           }
         },
         // 求最大项目数量
@@ -1339,6 +1436,29 @@ var vNode = {
         //免费赠送采购单位全景分析体验 去解锁
         goGiveAnalysis: function(){
           location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=buyerportrait_freeuser';
+        },
+        // 前往升级或联系客服
+        goUpgradeOrConcat: function (item) {
+          console.log(item)
+          var usage = this.usageInfo
+          var someProvinText = `<span>每购买<em class="highlight-text">1</em>个省,每月可查看<em class="highlight-text">5</em>个采购单位画像,上限为<em class="highlight-text">80</em>个,您当前订阅了${usage.provin}个省,如需查看更多,前往订阅更多省份。</span>`
+          var allProvinText = `<span>每购买<em>1</em>个省,每月可查看<em>5</em>个采购单位画像,上限为<em>80</em>个,您当前订阅全国,如需查看更多,请联系客服。</span>`
+          this.$dialog.confirm({
+            width: 303,
+            className: 'custom-dialog',
+            message: usage.provin == -1 ? allProvinText : someProvinText,
+            messageAlign:'left',
+            confirmButtonText: item,
+            confirmButtonColor: '#2ABED1',
+            showCancelButton: true,
+            cancelButtonText: '取消'
+          }).then(function(data){
+            if (item == '前往升级') {
+              location.href = '/jyapp/vipsubscribe/upgradePage'
+            } else if (item == '联系客服') {
+              location.href = '/jyapp/free/customer'
+            }
+          })
         }
     }
 }

+ 18 - 9
src/jfw/modules/app/src/web/staticres/jyapp/me/js/mine.js

@@ -116,6 +116,12 @@ var mine = {
           var url = $(this).attr('data-href')
             autoLogin(url)
         })
+        // 企业画像记录
+        $('.buyer-follow-history').on('click', function (e) {
+          setLiActive(e.currentTarget)
+          var url = $(this).attr('data-href')
+            autoLogin(url)
+        })
         // 企业查询
         $('.ent-search').on('click', function (e) {
             setLiActive(e.currentTarget)
@@ -234,15 +240,18 @@ var mine = {
                         pageUserInfo.bigMemberStatus = res.data.memberStatus
                     }
                     if (res.data.memberStatus <= 0) {
-                      // 大会员和免费用户不显示企业画像记录菜单
-                      if(res.data.vipStatus > 0 && res.data.viper ) {
-                        $('.ent-follow-history').show()
-                      } else {
-                        $('.ent-follow-history').hide()
-                      }
-                    } else {
-                      $('.ent-follow-history').hide()
-                    }
+	                    // 大会员和免费用户不显示企业画像记录菜单
+	                    if(res.data.vipStatus > 0 && res.data.viper ) {
+	                        $('.ent-follow-history').show()
+	                        $('.buyer-follow-history').show()
+	                    } else {
+	                        $('.ent-follow-history').hide()
+	                        $('.buyer-follow-history').hide()
+	                    }
+	                } else {
+	                    $('.ent-follow-history').hide()
+	                    $('.buyer-follow-history').hide()
+	                }
                     if ($.isArray(res.data.power)) {
                         pageUserInfo.power = res.data.power
                     }

+ 9 - 9
src/jfw/modules/app/src/web/templates/big-member/page_ent_portrait.html

@@ -235,7 +235,7 @@
             </div>
             <div class="vip_component"
             style="height:11.04rem;background:url('/common-module/collection/image/bg/vip_bg_9.png') no-repeat;background-size:100% 100%">
-            <vip-component @tabactive="tabActive" :power="conf" type="item_9" :entvisit="entvisit" :newvip="isVip"
+            <vip-component @tabactive="tabActive" :power="conf" type="item_9" :can-free-exp="canFreeExp" :entvisit="entvisit" :newvip="isVip"
             imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_9.png'></vip-component>
             </div>
           </div>
@@ -251,7 +251,7 @@
             </div>
           </div>
           <!-- 免费用户采购单位全景分析提示 -->
-          <div v-if="getfreeEntPort" style="margin-top: .24rem; " class="free-give">
+          <div v-if="canFreeExp" style="margin-top: .24rem; " class="free-give">
               <div class="go-text"> 免费赠送1次【企业中标信息】权益体验机会!</div>
               <div class="go-btn"  @click="goGiveAnalysis">去解锁</div>
           </div>
@@ -296,7 +296,7 @@
           </div>
           <div class="vip_component" v-if="getStatus && hideDt"
             style="height:9.16rem;background:url('/common-module/collection/image/bg/vip_bg_1.png') no-repeat;background-size:100% 100%" key="dt">
-            <vip-component @tabactive="tabActive" :power="conf" type="item_1" :entvisit="entvisit" :newvip="isVip"
+            <vip-component @tabactive="tabActive" :power="conf" type="item_1" :can-free-exp="canFreeExp" :entvisit="entvisit" :newvip="isVip"
               imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_1.png'>
             </vip-component>
           </div>
@@ -348,7 +348,7 @@
           </div>
           <div class="vip_component" v-if="getStatus"
             style="height:11.12rem;background:url('/common-module/collection/image/bg/vip_bg_2.png') no-repeat;background-size:100% 100%">
-            <vip-component @tabactive="tabActive" type="item_2" :power="conf" :entvisit="entvisit" :newvip="isVip"
+            <vip-component @tabactive="tabActive" type="item_2" :power="conf" :can-free-exp="canFreeExp" :entvisit="entvisit" :newvip="isVip"
               imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_2.png'>
             </vip-component>
           </div>
@@ -364,7 +364,7 @@
           </div>
           <div class="vip_component" v-if="getStatus"
             style="height:10.8rem;background:url('/common-module/collection/image/bg/vip_bg_3.png') no-repeat;background-size:100% 100%">
-            <vip-component @tabactive="tabActive" type="item_3" :power="conf" :entvisit="entvisit" :newvip="isVip"
+            <vip-component @tabactive="tabActive" type="item_3" :power="conf" :can-free-exp="canFreeExp" :entvisit="entvisit" :newvip="isVip"
               imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_3.png'>
             </vip-component>
           </div>
@@ -379,7 +379,7 @@
           </div>
           <div class="vip_component" v-if="getStatus"
             style="height:10.56rem;background:url('/common-module/collection/image/bg/vip_bg_4.png') no-repeat;background-size:100% 100%">
-            <vip-component @tabactive="tabActive" type="item_4" :power="conf" :entvisit="entvisit" :newvip="isVip"
+            <vip-component @tabactive="tabActive" type="item_4" :power="conf" :can-free-exp="canFreeExp" :entvisit="entvisit" :newvip="isVip"
               imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_4.png'>
             </vip-component>
           </div>
@@ -395,7 +395,7 @@
           </div>
           <div class="vip_component" v-if="getStatus"
             style="height:11.24rem;background:url('/common-module/collection/image/bg/vip_bg_5.png') no-repeat;background-size:100% 100%">
-            <vip-component @tabactive="tabActive" type="item_5" :power="conf" :entvisit="entvisit" :newvip="isVip"
+            <vip-component @tabactive="tabActive" type="item_5" :power="conf" :can-free-exp="canFreeExp" :entvisit="entvisit" :newvip="isVip"
               imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_5.png'>
             </vip-component>
           </div>
@@ -409,7 +409,7 @@
           </div>
           <div class="vip_component" v-if="getStatus"
             style="height:11.92rem;background:url('/common-module/collection/image/bg/vip_bg_6.png') no-repeat;background-size:100% 100%">
-            <vip-component @tabactive="tabActive" type="item_6" :power="conf" :entvisit="entvisit" :newvip="isVip"
+            <vip-component @tabactive="tabActive" type="item_6" :power="conf" :can-free-exp="canFreeExp" :entvisit="entvisit" :newvip="isVip"
               imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_6.png'>
             </vip-component>
           </div>
@@ -443,7 +443,7 @@
           </div>
           <div class="vip_component" v-if="getStatus"
             style="height:10.8rem;background:url('/common-module/collection/image/bg/vip_bg_7.png') no-repeat;background-size:100% 100%">
-            <vip-component @tabactive="tabActive" type="item_7" :power="conf" :entvisit="entvisit" :newvip="isVip"
+            <vip-component @tabactive="tabActive" type="item_7" :power="conf" :can-free-exp="canFreeExp" :entvisit="entvisit" :newvip="isVip"
               imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_7.png'>
             </vip-component>
           </div>

+ 25 - 17
src/jfw/modules/app/src/web/templates/big-member/page_unit_portrayal.html

@@ -70,17 +70,20 @@
             justify-content: space-between;
         }
         .go-btn{
-            background-color:#2cb7ca;
+            background:linear-gradient(360deg, #1CB5E5 0%, #2ABED1 100%);
             color: #FFFFFF;
-            width: 1.1rem;
+            padding: 0 .16rem;
             text-align: center;
             height: 0.5rem;
-            border-radius: 9px;
+            border-radius: 8px;
             line-height: 0.5rem;
         }
         .go-text{
           color: #2cb7ca;
         }
+        .balance-text{
+          color: #9B9BA3;
+        }
     </style>
 </head>
 <body>
@@ -104,15 +107,20 @@
                 <div class="go-text"> 免费赠送1次【采购单位全景分析】权益体验机会!</div>
                 <div class="go-btn"  @click="goGiveAnalysis">去解锁</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>
+              <div class="go-btn" v-if="usageInfo.surplus !== 0 && usageInfo.provin !== -1" @click="goUpgradeOrConcat(superVipBtnText)">${superVipBtnText}</div>
+            </div>
             <!-- 采购单位通讯录 -->
             <div v-if="getStatus" style="margin-top: .24rem;">
               <div class="vip_component" style="height:10.8rem;background:url('/common-module/collection/image/buyer/01-bg.png') no-repeat;background-size:100% 100%">
                 <p class="example-title win-bid-title">采购单位通讯录</p>
-                <buyer-example :status="bigStatus" :power="power" type="item_1" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/01.png'></buyer-example>
+                <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_1" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/01.png'></buyer-example>
               </div>
             </div>
             <!-- 采购单位通讯录 -->
-            <hispro-component v-else class="history-list" type="buyer" :buyer="buyer.name"></hispro-component>
+            <hispro-component v-else class="history-list" type="buyer" :status="bigStatus" :buyer="buyer.name"></hispro-component>
             <!-- 高级分析设置 -->
             <!-- 高级分析 -->
             <div class="win-analyse">
@@ -357,62 +365,62 @@
               <!-- 历史项目联系人 -->
               <!-- <div class="vip_component" style="height:10.8rem;background:url('/common-module/collection/image/buyer/01-bg.png') no-repeat;background-size:100% 100%">
                 <p class="example-title">历史项目联系方式</p>
-                <buyer-example :status="bigStatus" :power="power" type="item_1" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/01.png'></buyer-example>
+                <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_1" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/01.png'></buyer-example>
               </div> -->
               <!-- 合作企业注册资本分布 -->
               <!-- <div class="vip_component" style="height:10.8rem;background:url('/common-module/collection/image/buyer/09-bg.png') no-repeat;background-size:100% 100%">
                 <p class="example-title">合作企业注册资本分布</p>
-                <buyer-example :status="bigStatus" :power="power" type="item_9" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/09.png'></buyer-example>
+                <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_9" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/09.png'></buyer-example>
               </div> -->
               <!-- 合作企业年龄分布 -->
               <!-- <div class="vip_component" style="height:10.8rem;background:url('/common-module/collection/image/buyer/10-bg.png') no-repeat;background-size:100% 100%">
                 <p class="example-title">合作企业年龄分布</p>
-                <buyer-example :status="bigStatus" :power="power" type="item_10" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/10.png'></buyer-example>
+                <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_10" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/10.png'></buyer-example>
               </div> -->
               <!-- 合作企业注册地分布 -->
               <!-- <div class="vip_component" style="height:10.8rem;background:url('/common-module/collection/image/buyer/11-bg.png') no-repeat;background-size:100% 100%">
                 <p class="example-title">合作企业注册地分布</p>
-                <buyer-example :status="bigStatus" :power="power" type="item_11" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/11.png'></buyer-example>
+                <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_11" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/11.png'></buyer-example>
               </div> -->
               <!-- 年度项目统计 -->
               <div class="vip_component" style="height:10.8rem;background:url('/common-module/collection/image/buyer/02-bg.png') no-repeat;background-size:100% 100%">
                 <p class="example-title">年度项目统计</p>
-                <buyer-example :status="bigStatus" :power="power" type="item_2" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/02.png'></buyer-example>
+                <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_2" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/02.png'></buyer-example>
               </div>
               <!-- 月度采购规模统计 -->
               <div class="vip_component" style="height:10.8rem;background:url('/common-module/collection/image/buyer/03-bg.png') no-repeat;background-size:100% 100%">
                 <p class="example-title">月度采购规模统计</p>
-                <buyer-example :status="bigStatus" :power="power" type="item_3" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/03.png'></buyer-example>
+                <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_3" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/03.png'></buyer-example>
               </div>
               <!-- 采购规模分布 -->
               <div class="vip_component" style="height:10.8rem;background:url('/common-module/collection/image/buyer/04-bg.png') no-repeat;background-size:100% 100%">
                 <p class="example-title">采购规模分布</p>
-                <buyer-example :status="bigStatus" :power="power" type="item_4" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/04.png'></buyer-example>
+                <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_4" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/04.png'></buyer-example>
               </div>
               <!-- 各类招标方式占比(双柱图) -->
               <div class="vip_component" style="height:8.8rem;background:url('/common-module/collection/image/buyer/05-bg.png') no-repeat;background-size:100% 100%">
                 <p class="example-title">各类招标方式占比</p>
-                <buyer-example :status="bigStatus" :power="power" type="item_5" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/05.png'></buyer-example>
+                <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_5" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/05.png'></buyer-example>
               </div>
               <!-- 各行业项目平均节支率 -->
               <div class="vip_component" style="height:10.8rem;background:url('/common-module/collection/image/buyer/06-bg.png') no-repeat;background-size:100% 100%">
                 <p class="example-title">各行业项目平均节支率</p>
-                <buyer-example :status="bigStatus" :power="power" type="item_6" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/06.png'></buyer-example>
+                <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_6" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/06.png'></buyer-example>
               </div>
               <!-- 重点合作代理机构 -->
               <div class="vip_component" style="height:10.8rem;background:url('/common-module/collection/image/buyer/12-bg.png') no-repeat;background-size:100% 100%">
                 <p class="example-title">重点合作代理机构</p>
-                <buyer-example :status="bigStatus" :power="power" type="item_12" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/12.png'></buyer-example>
+                <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_12" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/12.png'></buyer-example>
               </div>
               <!-- 重点合作企业 -->
               <div class="vip_component" style="height:10.8rem;background:url('/common-module/collection/image/buyer/08-bg.png') no-repeat;background-size:100% 100%">
                 <p class="example-title">重点合作企业</p>
-                <buyer-example :status="bigStatus" :power="power" type="item_8" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/08.png'></buyer-example>
+                <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_8" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/08.png'></buyer-example>
               </div>
               <!-- 各行业项目规模占比 -->
               <div class="vip_component" style="height:11.2rem;background:url('/common-module/collection/image/buyer/07-bg.png') no-repeat;background-size:100% 100%">
                 <p class="example-title">各行业项目规模占比</p>
-                <buyer-example :status="bigStatus" :power="power" type="item_7" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/07.png'></buyer-example>
+                <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_7" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/07.png'></buyer-example>
               </div>
             </div>
         </div>

+ 3 - 3
src/jfw/modules/app/src/web/templates/frontRouter/bigmember/free/perfect_info.html

@@ -607,9 +607,6 @@
           }
         }
         // 标题
-        var titleMap = {
-          ent_portrait_freeuser: '欢迎体验企业中标分析'
-        }
         var titleText = ''
 
         if (infoText) {
@@ -632,6 +629,9 @@
         }
 
           // 标题
+          var titleMap = {
+              ent_portrait_freeuser: '欢迎体验企业中标分析'
+          }
           for (var key in titleMap) {
               if (source.indexOf(key) !== -1) {
                   titleText = titleMap[key]

+ 19 - 2
src/jfw/modules/app/src/web/templates/frontRouter/portraitRecord/sess/index.html

@@ -57,7 +57,7 @@
               finished-text=""
               @load="onLoad"
             >
-                <div class="ent-search-item" v-for="(item, i) in list" :key="item._id" @click="detailed(item._id)">
+                <div v-if="ptype==''" class="ent-search-item" v-for="(item, i) in list" :key="item._id" @click="detailed(item._id)">
                     <div class="ent-info-top">
                         <div class="ent-info-head" :style="{'background-color': item.color}">{item.abbr}</div>
                         <div class="ent-info-keep">
@@ -82,7 +82,24 @@
                             <div class="van-multi-ellipsis--l2">{item.address}</div>
                             <i class="j-icon base-icon icon-address"></i>
                         </div>
-
+                    </div>
+                </div>
+                <div v-if="ptype=='1'" class="ent-search-item" v-for="(item, i) in list" :key="item._id" @click="detailed(item._id)">
+                    <div class="ent-info-top">
+                        <div class="ent-info-head" :style="{'background-color': item.color}">{item.abbr}</div>
+                        <div class="ent-info-keep">
+                            <div class="ent-row">
+                                <div class="ent-name van-ellipsis">{item.name}</div>
+                                <div class="fill-icon-box" style="display: none">
+                                    <i class="j-icon base-icon icon-no-favorite"></i>
+                                </div>
+                            </div>
+                            <div class="ent-more">
+                                <div v-if="item.province">所在地: <span>{item.province} {item.city}</span></div>
+                                <div v-if="item.buyerClass">采购单位类型: <span>{item.buyerClass}</span></div>
+                            </div>
+                            <div class="ent-line-box"></div>
+                        </div>
                     </div>
                 </div>
             </van-list>

+ 10 - 0
src/jfw/modules/app/src/web/templates/me/mine.html

@@ -184,6 +184,16 @@
                             <span class="j-icon base-icon icon-arrow-right"></span>
                         </div>
                     </div>
+                    <div style="display: none;" data-need-bind-phone class="menu_list buyer-follow-history" data-href='/jyapp/frontPage/portraitRecord/sess/index?type=1'>
+                        <div class="menu_list_left">
+                            <span class="j-icon base-icon icon-company"></span>
+                            <span class="label">采购单位画像记录</span>
+                        </div>
+                        <div class="menu_list_right">
+                            <i class="dot-red"></i>
+                            <span class="j-icon base-icon icon-arrow-right"></span>
+                        </div>
+                    </div>
                 </div>
                 <div class="menu">
                   <div class="menu_list my-docs" data-need-bind-phone>

+ 40 - 22
src/jfw/modules/app/src/web/templates/weixin/wxinfocontent.html

@@ -1010,6 +1010,10 @@
                 if (res.data.memberStatus > 0 && res.data.power.indexOf(3) == -1) {
                     window.isNoMember = true
                 }
+                // 是大会员 有下载权限
+        				if (res.data.memberStatus > 0 && res.data.power.indexOf(3) > -1) {
+        					  window.isMemberAndPower = true
+        				}
                 window.isFree = res.data.isFree // 是否是免费用户
                 window.freeFile = res.data.freeFile // 免费用户 是否体验过 0:未体验过 -1:体验过
                 window.vipStatus = res.data.vipStatus // 是否是超级订阅用户
@@ -1059,7 +1063,8 @@
                 if (res.data && res.data.isFree && res.data.freeFile == 0) {
                   $('.free-down-text').css('display', 'inline-block')
                 }
-                if (res.data && res.data.vipStatus > 0 && res.data.viper) {
+                //非大会员或大会员无此功能 且是新超级订阅用户
+                if (res.data && res.data.vipStatus > 0 && res.data.viper&&!window.isMemberAndPower) {
                   $('.file-count-tip').css('display', 'inline-block')
                   $('.concat-kf').css('display', 'inline-block')
                   $('.icon-help').css('display', 'inline-block')
@@ -1222,16 +1227,8 @@
                         if (window.freeFile == 0) {
                           // 判断有无留过资 且未体验过 - 去留资
                           location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=article_attach_freeuser'
-                        } else if (window.freeFile > 0 ){
-                          // 留过资 更新下载次数 进入附件下载页面
-                          if (url) {
-                            if(mySysIsIos()){
-                              iosShow(url)
-                            } else {
-                              location.href = url
-                            }
-                          }
-                        } else {
+                          return
+                        } else if (window.freeFile < 0 ) {
                           // 免费用户 体验过 下载次数为-1 弹框提醒跳至超级订阅购买页
                           vant.Dialog.confirm({
                             title: '开通超级订阅',
@@ -1242,16 +1239,16 @@
                             className: 'custom-dialog',
                             width: 303,
                             messageAlign: 'left',
-
                           }).then(() => {
-                            location.href = '/front/vipsubscribe/vipsubscribe_new'
+                            location.href = '/jyapp/vipsubscribe/vipsubscribe_new'
                           })
                           .catch(() => {})
+                          return
                         }
                       } else {
                         // 付费用户
                         // 大会员用户 有下载权限
-                        if (bigstatus > 0 && hasServiceArr.indexOf(3) > -1) {
+                        if (window.isMemberAndPower) {
                           if(mySysIsIos()){
                             iosShow(url)
                           } else {
@@ -1264,13 +1261,7 @@
                           // 是新超级订阅用户
                           if (window.viper) {
                             // 有下载次数
-                            if (window.fileNum > 0) {
-                              if(mySysIsIos()){
-                                iosShow(url)
-                              } else {
-                                location.href = url
-                              }
-                            } else {
+                            if (window.fileNum <= 0) {
                               // 次数用完提醒联系客服
                               vant.Dialog.confirm({
                                 message: '您本月查看机会已经消耗完毕,如需要更多服务,请前往联系客服。',
@@ -1284,6 +1275,7 @@
                                 location.href = '/jyapp/free/customer'
                               })
                               .catch(() => {})
+                              return
                             }
                           } else {
                             // 老超级订阅用户 提醒升级
@@ -1298,8 +1290,8 @@
                             }).then(() => {
                               location.href = '/jyapp/vipsubscribe/upgradePage'
                             }).catch(() => {})
+                            return
                           }
-                          return
                         }
                         // 是大会员自定义版本没有下载权限 或 非超级订阅的商机管理用户 (弹框提醒联系客服)
                         if (window.isNoMember == true || (window.vipStatus <=0 && window.entniche)) {
@@ -1313,6 +1305,8 @@
                           return
                         }
                       }
+                      //
+                      gotoFilePage($(this).find('a').text())
                     })
                     $('.atta-list').show()
                 }else{
@@ -1330,6 +1324,30 @@
             }
         });
     }
+    //浏览附件
+    function gotoFilePage(name){
+      $.ajax({
+            type:'post',
+            url:'/publicapply/attachment/get',
+            data:{
+                infoId:{{.T.obj._id}}
+            },
+            success:function(r){
+              if(r.data&&r.data.attachment !=null&&r.data.attachment.length!=0){
+                for(var i=0;i<r.data.attachment.length;i++) {
+                  if (name!=""&&name == r.data.attachment[i].filename){
+                    var url = r.data.attachment[i].downurl
+                    if(mySysIsIos()){
+                        iosShow(url)
+                    } else {
+                        location.href = url
+                    }
+                  }
+                }
+              }
+            }
+          })
+    }
     andownload()
     //如果是ios显示附件下载弹框
     function iosShow(url){

+ 2 - 2
src/jfw/modules/publicapply/src/config.json

@@ -14,8 +14,6 @@
             "user": "public03@topnet.net.cn"
         }
     ],
-    "attachmentRPC":"192.168.3.206:10082",
-    "followPushRpc": "127.0.0.1:8759",
     "industry": "分类综合测试",
     "defaultEntList": [
         "744fb1d7cc3561e11c639fcc2ad955c0",
@@ -42,5 +40,7 @@
 
     ],
     "bidSearchOldUserLimit": 1626105600,
+    "attachmentRPC":"192.168.3.206:10082",
+    "followPushRpc": "127.0.0.1:8759",
     "file_number": 10
 }

+ 13 - 7
src/jfw/modules/weixin/src/wx/wx.go

@@ -786,9 +786,11 @@ func Subscribe(w ResponseWriter, r *Request) {
 				w.ReplyText(fmt.Sprintf(exists, strings.ReplaceAll(subkey, "++", " "), fastSubscribeText["skill"].(string)))
 			} else if pcresult == "vipsubscribe##reply" { //关注
 				vipsubReply := config.Sysconfig["vipSubscribeReply"].(map[string]interface{})
-				time.AfterFunc(time.Second/2, func() {
-					w.PostText(fmt.Sprintf(fmt.Sprint(vipsubReply["content"]), config.Sysconfig["webdomain"].(string)+vipsubReply["href"].(string)))
-				})
+				if switchBl, ok := vipsubReply["switch"].(bool); switchBl && ok {
+					time.AfterFunc(time.Second/2, func() {
+						w.PostText(fmt.Sprintf(fmt.Sprint(vipsubReply["content"]), config.Sysconfig["webdomain"].(string)+vipsubReply["href"].(string)))
+					})
+				}
 				isAutoRepl = true
 			} else {
 				if subkey != "" {
@@ -1207,9 +1209,11 @@ func ScanHandler(w ResponseWriter, r *Request) {
 					w.ReplyText(fmt.Sprintf(config.Sysconfig["welcomemsg"].(string), url))
 					if pcresult == "vipsubscribe##reply" { //新用户扫码
 						vipsubReply := config.Sysconfig["vipSubscribeReply"].(map[string]interface{})
-						time.AfterFunc(time.Second/2, func() {
-							w.PostText(fmt.Sprintf(fmt.Sprint(vipsubReply["content"]), config.Sysconfig["webdomain"].(string)+vipsubReply["href"].(string)))
-						})
+						if switchBl, ok := vipsubReply["switch"].(bool); switchBl && ok {
+							time.AfterFunc(time.Second/2, func() {
+								w.PostText(fmt.Sprintf(fmt.Sprint(vipsubReply["content"]), config.Sysconfig["webdomain"].(string)+vipsubReply["href"].(string)))
+							})
+						}
 					}
 				}
 			}
@@ -1292,7 +1296,9 @@ func ScanHandler(w ResponseWriter, r *Request) {
 					w.ReplyText(fmt.Sprintf(fmt.Sprint(pchints["key_fail"]), strings.ReplaceAll(subkey, "++", " "), url))
 				} else if pcresult == "vipsubscribe##reply" { //老用户扫码
 					vipsubReply := config.Sysconfig["vipSubscribeReply"].(map[string]interface{})
-					w.ReplyText(fmt.Sprintf(fmt.Sprint(vipsubReply["content"]), config.Sysconfig["webdomain"].(string)+vipsubReply["href"].(string)))
+					if switchBl, ok := vipsubReply["switch"].(bool); switchBl && ok {
+						w.ReplyText(fmt.Sprintf(fmt.Sprint(vipsubReply["content"]), config.Sysconfig["webdomain"].(string)+vipsubReply["href"].(string)))
+					}
 				}
 			} else if pccodepre == "18" { //关注企业
 				company := redis.GetStr("sso", "pc_subscribe_"+r.EventKey) //企业名称

+ 2 - 2
src/jfw/modules/wxtoken/src/config.json

@@ -1,8 +1,8 @@
 {
 	"wxs":[
 		{
-			"appid":"wx5b1c6e7cc4dac0e4",
-			"appsecret":"b026103ffebd2291b3edb7a269612112"
+			"appid":"wxdedd73f450993685",
+			"appsecret":"d55898fde0b7887e5fe4660bd2494700"
 		}
 	],
 	"redis":"wxtoken=192.168.3.206:1712"

+ 177 - 49
src/web/staticres/big-member/js/unit_portrayal.js

@@ -117,8 +117,21 @@ var vNode = {
             encryptId: '', // 首次埋点返回的加密id 用于点击去开通传参
             power: [],
             hotChart: null,
-      		isFreeExper: false, // 免费用户体验标识
-            pieChart: null
+      		  isFreeExper: false, // 免费用户体验标识
+            pieChart: null,
+            userInfo: {
+              isFree: false,
+              vipStatus: false,
+              viper: false,
+              entniche: false
+            },
+            usageInfo: {
+              total: 0,
+              usage: 0,
+              provin: 0,
+              visited: false,
+              surplus: 0
+            } // 超级订阅用户画像浏览
         }
     },
     computed: {
@@ -155,8 +168,32 @@ var vNode = {
             })
         },
         getStatus: function () {
-          return this.power.indexOf(5)  == -1 // power == 5
+          var info = this.userInfo
+          var isFreeAuth = info.isFree && info.freeBuyerPort > 0
+          var isVipAuth = info.vipStatus > 0 && info.viper && this.usageInfo.surplus > 0
+          var isMember = this.power.indexOf(5)  !== -1
+          // 免费用户无体验次数的、超级订阅用户无剩余次数的、没有大会员浏览权限的 显示遮罩
+          return !isFreeAuth && !isVipAuth && !isMember // power == 5
+        },
+        // 展示免费用户体验
+        getfreeBuyerPort:function(){
+          return this.userInfo.isFree && this.userInfo.freeBuyerPort == 0;
+        },
+        // 展示超级订阅浏览次数
+        superVipPort: function () {
+          console.log(this.userInfo.vipStatus, this.userInfo.viper)
+          return this.userInfo.vipStatus > 0 && this.userInfo.viper && this.bigStatus <= 0
         },
+        // 超级订阅用户对应的按钮
+        superVipBtnText: function () {
+          let text = ''
+          if (this.usageInfo.provin === -1) {
+            text = '联系客服'
+          } else {
+            text = '前往升级'
+          }
+          return text 
+        }
     },
     watch: {
       // 监听热力图
@@ -194,15 +231,34 @@ var vNode = {
           sessionStorage.removeItem('buyer_high_set')
           sessionStorage.removeItem('buyer_high_name')
         }
-      
-        this.getNewMsg(); // 中标动态
-        this.getChartData(); // 企业画像
-        // this.init();
     },
     beforeDestroy() {
       window.removeEventListener("resize", this.init,20);
     },
     methods: {
+        // 查询超级订阅采购单位画像浏览次数
+        getUsage: function () {
+          var _this = this
+          console.log(this.superVipPort)
+          if (this.superVipPort) {
+            $.ajax({
+              type: 'POST',
+              url: '/bigmember/portrait/subVipPortrait/usage',
+              data: {
+                buyer: decodeURIComponent(utils.getParam('entName')),
+                p_type: '1'
+              },
+              success: function (res) {
+                if (res.error_code == 0 && res.data) {
+                  res.data.surplus = res.data.total - res.data.usage
+                  _this.usageInfo = res.data
+                } else {
+                  console.log(res.error_msg)
+                }
+              }
+            })
+          }
+        },
         // 获取权限信息
         getPowerInfo: function () {
           var _this = this
@@ -211,38 +267,47 @@ var vNode = {
             url: '/bigmember/use/isAdd?t=' + Date.now(),
             success: function (res) {
               if (res.data) {
-                _this.power = res.data.power
-                _this.bigStatus = res.data.memberStatus
-                var entniche = res.data.entniche
-                var member = res.data.memberStatus
-                var vip = res.data.vipStatus
-                var userType = ''
-                if (vip > 0) {
-                  userType = '1'
-                }
-                if (member > 0) {
-                  if (userType !== '') {
-                    userType += ','
+                  _this.power = res.data.power
+                  _this.bigStatus = res.data.memberStatus
+                  var entniche = res.data.entniche
+                  var member = res.data.memberStatus
+                  var vip = res.data.vipStatus
+                  //免费用户可查看采购单位画像次数(-1:已使用;0:未使用;1:可使用次数)
+                  _this.userInfo.isFree = res.data.isFree
+                  _this.userInfo.vipStatus = res.data.vipStatus
+                  _this.userInfo.viper = res.data.viper
+                  _this.userInfo.freeBuyerPort = res.data.freeBuyerPort
+                  _this.userInfo.entniche = res.data.entniche
+                  var userType = ''
+                  if (vip > 0) {
+                    userType = '1'
                   }
-                  userType += '2'
-                }
-                if (entniche) {
-                  if (userType !== '') {
-                    userType += ','
+                  if (member > 0) {
+                    if (userType !== '') {
+                      userType += ','
+                    }
+                    userType += '2'
                   }
-                  userType += '3'
-                }
-                if (userType === '') {
-                  userType = '0'
-                }
-                // 没有采购单位画像权限的 则添加埋点
-                if (res.data.power.indexOf(5) === -1) {
-                  _this.getBuried(userType)
+                  if (entniche) {
+                    if (userType !== '') {
+                      userType += ','
+                    }
+                    userType += '3'
+                  }
+                  if (userType === '') {
+                    userType = '0'
+                  }
+                  // 没有采购单位画像权限的 则添加埋点
+                  if (res.data.power.indexOf(5) === -1) {
+                    _this.getBuried(userType)
+                  }
+                //免费用户体验权限
+                if(res.data.isFree&&res.data.freeEntPort==0){
+                  _this.isFreeExper=true
                 }
-	            //免费用户体验权限
-	            if(res.data.isFree&&res.data.freeEntPort==0){
-	            	_this.isFreeExper=true
-	            }
+                _this.getUsage(); // 超级订阅用户剩余次数
+                _this.getNewMsg(); // 中标动态
+                _this.getChartData(); // 企业画像
               }
             },
             error: function (error) {
@@ -343,7 +408,8 @@ var vNode = {
         },
         // 跳转招标动态新页面
         goProjectPage: function () {
-          if (this.power.indexOf(5) == -1) {
+          // 无权限的弹出弹框提醒
+          if (this.getStatus) {
             this.openDialog()
             return
           } else {
@@ -354,6 +420,7 @@ var vNode = {
         getNewMsg: function(){
           var that = this;
           var storageSet = JSON.parse(sessionStorage.getItem('buyer_high_set'))
+          var isMember = this.bigStatus > 0 && this.power.indexOf(5) > -1
           var data = {
               buyer: decodeURIComponent(utils.getParam('entName')),
               // count: that.dt.pageCount,
@@ -362,7 +429,7 @@ var vNode = {
           }
           $.ajax({
             type:'POST',
-            url:'/bigmember/portrait/buyer/getNewMsg',
+            url: isMember ? '/bigmember/portrait/buyer/getNewMsg' : '/bigmember/subVipPortrait/buyer/getNewMsg',
             data:storageSet ? Object.assign(data, storageSet) : data,
             success:function(res) {
               if(res.error_code == 0) {
@@ -415,9 +482,10 @@ var vNode = {
           var data = {
             buyer: decodeURIComponent(utils.getParam('entName'))
           }
+          var isMember = this.bigStatus > 0 && this.power.indexOf(5) > -1
           $.ajax({
             type:'POST',
-            url:'/bigmember/portrait/buyer/getData',
+            url: isMember ? '/bigmember/portrait/buyer/getData' : '/bigmember/subVipPortrait/buyer/getData',
             data:storageSet ? Object.assign(data, storageSet) : data,
             success:function(res) {
                 if(res.error_code == 0) {
@@ -1264,19 +1332,52 @@ var vNode = {
         },
         openDialog: function () {
           var _this = this
+          var info = this.userInfo
+          var title = ''
+          var content = ''
+          var btnText = ''
+          var isFree = info.isFree
+          var isVip = info.vipStatus > 0
+          if (isFree) {
+            if (info.freeBuyerPort < 0) {
+              title = '开通超级订阅'
+              content = '您已经免费解锁过【采购单位全景分析】权益1次,暂无免费查看权限。如需查看更多,请开通超级订阅获取更多权限。'
+              btnText = '去开通'
+            } else {
+              // 立即解锁
+              location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=buyer_portrait_getNewMsg_freeuser'
+              // 需要return出去 直接跳留资 不弹弹框
+              return
+            }
+          } else {
+            if (isVip) {
+              title = '升级超级订阅'
+              content = '对不起,暂无权限,您可升级超级订阅解锁采购单位全景分析,查看更多招标动态'
+              btnText = '前往升级'
+            } else {
+              title = '开通大会员'
+              content = '开通大会员,采购单位项目动态全面获取,帮助企业洞察采购需求,开发新客户!'
+              btnText = '联系客服'
+            }
+          }
           this.$dialog.confirm({
             width: 303,
             className: 'custom-dialog',
-            title: '您暂无使用权限',
-            message: '开通大会员,采购单位项目动态全面获取,帮助企业洞察采购需求,开发新客户!',
+            title: title,
+            message: content,
             messageAlign:'left',
-            confirmButtonText: _this.power.indexOf(5) < 0 && _this.bigStatus > 0 ? '联系客服' : '免费体验',
+            confirmButtonText: btnText,
             confirmButtonColor: '#2ABED1',
             showCancelButton: true,
             cancelButtonText: '取消'
           }).then(function(){
-            if (_this.power.indexOf(5) < 0 && _this.bigStatus > 0) {
-              location.href = "tel: 400-108-6670"
+            if (btnText == '联系客服') {
+              // location.href = "tel: 400-108-6670"
+              location.href = '/big/wx/page/customer'
+            } else if (btnText == '前往升级') {
+              location.href = '/front/vipsubscribe/upgradePage'
+            } else if (btnText == '去开通') {
+              location.href = '/front/vipsubscribe/vipsubscribe_new'
             } else {
               _this.goBuyBuried('开通大会员,采购单位项目动态全面获取,帮助企业洞察采购需求,开发新客户!')
             }
@@ -1290,11 +1391,11 @@ var vNode = {
             var href = '/article/content/' + item.id + '.html'
             location.href = href
           } else {
-            if (this.power.indexOf(5) == -1) {
-              this.openDialog()
-            } else {
-              console.log('没有id')
-            }
+            // if (this.power.indexOf(5) == -1) {
+            //   this.openDialog()
+            // } else {
+            //   console.log('没有id')
+            // }
           }
         },
         // 求最大项目数量
@@ -1315,6 +1416,33 @@ var vNode = {
         goHighSet: function() {
           sessionStorage.setItem('is-click-set', 1)
           location.href = '/big/wx/page/free_high_set?header=采购单位高级分析设置&entName=' + decodeURIComponent(utils.getParam('entName'))
+        },
+        //免费赠送采购单位全景分析体验 去解锁
+        goGiveAnalysis: function(){
+          location.href = '/weixin/frontPage/bigmember/free/perfect_info?source=buyerportrait_freeuser';
+        },
+        // 前往升级或联系客服
+        goUpgradeOrConcat: function (item) {
+          console.log(item)
+          var usage = this.usageInfo
+          var someProvinText = `<span>每购买<em class="highlight-text">1</em>个省,每月可查看<em class="highlight-text">5</em>个采购单位画像,上限为<em class="highlight-text">80</em>个,您当前订阅了${usage.provin}个省,如需查看更多,前往订阅更多省份。</span>`
+          var allProvinText = `<span>每购买<em>1</em>个省,每月可查看<em>5</em>个采购单位画像,上限为<em>80</em>个,您当前订阅全国,如需查看更多,请联系客服。</span>`
+          this.$dialog.confirm({
+            width: 303,
+            className: 'custom-dialog',
+            message: usage.provin == -1 ? allProvinText : someProvinText,
+            messageAlign:'left',
+            confirmButtonText: item,
+            confirmButtonColor: '#2ABED1',
+            showCancelButton: true,
+            cancelButtonText: '取消'
+          }).then(function(data){
+            if (item == '前往升级') {
+              location.href = '/front/vipsubscribe/upgradePage'
+            } else if (item == '联系客服') {
+              location.href = '/big/wx/page/customer'
+            }
+          })
         }
     }
 }

+ 39 - 12
src/web/staticres/common-module/big-member/js/buyer_project_news.js

@@ -98,7 +98,13 @@ var vConfig = {
             infoType: [],
             timeRange: [],
         },
-        reqSign: 'bigmember'
+        reqSign: 'bigmember',
+        info: {
+          bigStatus: false,
+          vipStatus: false,
+          viper: false,
+          power: []
+        }
     },
     computed: {
         projectNewUrl: function () {
@@ -137,17 +143,36 @@ var vConfig = {
         if (entName) {
           this.entInfo.buyerName = entName
         }
+        this.getUserInfo()
     },
-    mounted: function () {
-        var recover = this.recover()
-        if (!recover) {
-            // this.getFilterInfo()
-            this.onLoad()
-        } else {
-            this.initSelector(this.filterInitData)
-        }
-    },
+    mounted: function () {},
     methods: {
+        getUserInfo: function() {
+          var _this = this
+          $.ajax({
+            type: 'POST',
+            url: '/bigmember/use/isAdd?t=' + Date.now(),
+            timeout: 6000,
+            success: function (res) {
+                if (res.data) {
+                  _this.info.bigStatus = res.data.memberStatus
+                  _this.info.power = res.data.power
+                  _this.info.vipStatus = res.data.vipStatus
+                  _this.info.viper = res.data.viper
+                  var recover = _this.recover()
+                  if (!recover) {
+                      // this.getFilterInfo()
+                      _this.onLoad()
+                  } else {
+                      _this.initSelector(_this.filterInitData)
+                  }
+                }
+            },
+            error: function (error) {
+              console.log(error)
+            }
+          })
+        },
         showToast: function (message) {
             this.$toast({
                 duration: 1500,
@@ -192,7 +217,8 @@ var vConfig = {
             var t = this.listState
             t.loading = true
             var storageSet = JSON.parse(sessionStorage.getItem('buyer_high_set'))
-            var url = '/bigmember/portrait/buyer/getNewMsg'
+            var bigUrl = '/bigmember/portrait/buyer/getNewMsg'
+            var vipUrl = '/bigmember/subVipPortrait/buyer/getNewMsg'
             var data = {
               buyer: _this.entInfo.buyerName,
               // match: _this.searchInfo.content,
@@ -203,9 +229,10 @@ var vConfig = {
               pageNum: _this.listState.pageNum,
               pageSize: _this.listState.pageSize,
             }
+            var isMember = _this.info.bigStatus > 0 && _this.info.power.indexOf(5) > -1
             $.ajax({
                 type: 'POST',
-                url: url,
+                url: isMember ? bigUrl : vipUrl,
                 data: storageSet ? Object.assign(data, storageSet) : data,
                 success: function (res) {
                     if (res.data) {

+ 77 - 20
src/web/staticres/common-module/collection/js/buyer-example.js

@@ -43,7 +43,19 @@ var buyerExample = {
       default: function () {
         return 0
       }
-    }
+    },
+    "userinfo": {
+      type: Object,
+      default: function () {
+        return {}
+      }
+    },
+    "useage": {
+      type: Object,
+      default: function () {
+        return {}
+      }
+    },
   },
   data: function() {
     return {
@@ -59,16 +71,16 @@ var buyerExample = {
     getTextMap () {
       var textMap = {
         titleText: '开通大会员',
-        btnText: '免费体验',
+        btnText: this.shadeBottomBtnText,
         headText: {
           top: '通过实时监控项目的招标、中标、合同等',
           bot: '信息,全面挖掘更多潜在商机!'
         },
         source: ''
       }
-      if (this.power.indexOf(5) < 0 && this.status > 0) {
-        textMap.btnText = '联系客服'
-      }
+      // if (this.power.indexOf(5) < 0 && this.status > 0) {
+      //   textMap.btnText = '联系客服'
+      // }
       switch (this.type) {
           // 历史项目联系方式
         case 'item_1': {
@@ -157,29 +169,75 @@ var buyerExample = {
       }
       return textMap
     },
+    // 遮罩按钮对应文案
+    shadeBottomBtnText () {
+      let btnText = ''
+      var info = this.userinfo
+      var usage = this.usage
+      // 【立即解锁】:未体验过采购单位画像的免费用户,点击进行“欢迎体验采购单位全景分析”留资
+      // 【去开通】:已体验过1次采购单位画像的免费用户,点击进入超级订阅购买页
+      // 【前往升级】:超级订阅老版用户+购买了非全国采购单位画像余额为0的超级订阅新版用户,点击进入超级订阅升级页
+      // 【联系客服】:购买了全国采购单位画像余额为0的超级订阅新版用户+无采购单位画像权限的大会员客户;点击调起智齿在线客服
+      if (info.isFree) {
+        if (info.freeBuyerPort === 0) {
+          btnText = '立即解锁'
+        } else {
+          btnText = '去开通'
+        }
+      } else {
+        // 老超级订阅用户
+        var oldVip = info.vipStatus > 0 && !info.viper
+        // 新超级订阅用户
+        var newVip = info.vipStatus > 0 && info.viper
+        // 大会员用户
+        var member = this.status > 0
+        // 新超级订阅用户买的非全国 余额为0
+        var noAllProvinNoCounts = newVip && usage.provin !== -1 && usage.surplus <= 0
+        // 超级订阅新用户 购买的全国 余额为0
+        var allProvinNoCounts = newVip && usage.provin === -1 && usage.surplus <= 0
+        // 无权限的大会员用户
+        var noAuthMember = member && this.power.indexOf(5) === -1
+        // 纯商机管理用户
+        var entniche = info.entniche && !oldVip && !newVip && !member
+        if (oldVip || noAllProvinNoCounts) {
+          btnText = '前往升级'
+        } else if (allProvinNoCounts || noAuthMember || entniche) {
+          btnText = '联系客服'
+        }
+      }
+      return btnText
+    }
   },
   methods: {
     linkFn: function(id, source) {
       var isWeixin = utils.isWeiXinBrowser
       if(!isWeixin) {
-        if (this.getTextMap.btnText == '免费体验') {
-          // 跳转到大会员
-          // location.href = '/jyapp/big/page/buy_commit?bid=' + id
+        if (this.getTextMap.btnText == '立即解锁') {
+          // 留资
           location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=' + source
         } else if (this.getTextMap.btnText == '联系客服') {
-          try {
-            JyObj.callPhone('400-108-6670');
-          } catch (error) {
-            console.log(error)
-          }
+          // try {
+          //   JyObj.callPhone('400-108-6670');
+          // } catch (error) {
+          //   console.log(error)
+          // }
+          location.href = '/jyapp/free/customer' // 客服
+        } else if (this.getTextMap.btnText == '去开通') {
+          location.href = '/jyapp/vipsubscribe/vipsubscribe_new'
+        } else if (this.getTextMap.btnText == '前往升级') {
+          location.href = '/jyapp/vipsubscribe/upgradePage'
         }
       } else {
-        if (this.getTextMap.btnText == '免费体验') {
-          // 跳转到大会员
-          // location.href = '/big/wx/page/buy_commit?bid=' + id
+        if (this.getTextMap.btnText == '立即解锁') {
+          // 留资
           location.href = '/weixin/frontPage/bigmember/free/perfect_info?source=' + source
         } else if (this.getTextMap.btnText == '联系客服') {
-          location.href = 'tel:400-108-6670'
+          // location.href = 'tel:400-108-6670'
+          location.href = '/big/wx/page/customer'
+        } else if (this.getTextMap.btnText == '去开通') {
+          location.href = '/front/vipsubscribe/vipsubscribe_new'
+        } else if (this.getTextMap.btnText == '前往升级') {
+          location.href = '/front/vipsubscribe/upgradePage'
         }
       }
     },
@@ -192,14 +250,13 @@ var buyerExample = {
       }
       var _this = this
       console.log(_this.getTextMap.btnText)
-      if (_this.getTextMap.btnText == '免费体验') {
+      if (_this.getTextMap.btnText == '立即解锁') {
         $.ajax({
           type: 'POST',
           url: '/publicapply/drainage/buyerunit',
           contentType: "application/json",
           data: JSON.stringify(params),
           success: function (res) {
-            console.log(res)
             _this.linkFn(_this.$parent.encryptId, source)
           },
           error: function (error) {
@@ -207,7 +264,7 @@ var buyerExample = {
             _this.linkFn(_this.$parent.encryptId, source)
           }
         })
-      } else if (_this.getTextMap.btnText == '联系客服') {
+      } else {
         _this.linkFn(_this.$parent.encryptId)
       }
     }

+ 2 - 2
src/web/staticres/common-module/collection/js/ent_portrait.js

@@ -109,7 +109,7 @@ var vNode = {
       svip: false, // 判断是否是超级订阅的企业画像
       overlayShow: true, // 弹窗遮罩是否显示
       isVip: false, // 只是超级订阅
-      isFreeExper: false, // 免费用户体验标识
+      canFreeExp: false, // 免费用户体验标识
       bidcollPowerInfo: {
         vip: 0,
         text: '开通',
@@ -632,7 +632,7 @@ var vNode = {
               }
 	            //免费用户体验权限
 	            if(res.data.isFree&&res.data.freeEntPort==0){
-	            	_this.isFreeExper=true
+	            	_this.canFreeExp=true
 	            }
               _this.singleTab = false
             }

+ 12 - 1
src/web/staticres/common-module/collection/js/history-project.js

@@ -61,6 +61,12 @@ var hisproComponent = {
       default: function() {
         return ''
       }
+    },
+    'status': {
+      type: String,
+      default: function() {
+        return 0
+      }
     }
   },
   data: function () {
@@ -87,7 +93,12 @@ var hisproComponent = {
         item.url = '/bigmember/portrait/winner/contacts'
         item.datas.entId = this.id
       } else if(this.type == 'buyer') {
-        item.url = '/bigmember/portrait/buyer/contacts'
+        console.log(this.status, '111')
+        if (this.status > 0) {
+          item.url = '/bigmember/portrait/buyer/contacts'
+        } else {
+          item.url = '/bigmember/subVipPortrait/buyer/contacts'
+        }
         item.datas.buyer = this.buyer
       } else {
         loading.clear()

+ 81 - 26
src/web/staticres/common-module/collection/js/vip-dialog.js

@@ -26,6 +26,12 @@ var vipComponent = {
         return ''
       }
     },
+    "canFreeExp": {
+      type: Boolean,
+      default: function () {
+        return false
+      }
+    },
     "entvisit": {
       type: Object,
       default: function () {
@@ -89,7 +95,7 @@ var vipComponent = {
           textMap.btnText = '联系客服'
         } else {
           if (this.type === 'item_1') {
-            textMap.btnText = !this.newvip && this.power.vipStatus > 0  ? '升级' : '去开通'
+            textMap.btnText = !this.newvip && this.power.vipStatus > 0  ? '前往升级' : '去开通'
           } else {
             textMap.btnText = '联系客服'
           }
@@ -100,18 +106,31 @@ var vipComponent = {
             textMap.btnText = '去开通'
           } else if (this.entvisit.provin != -1) {
             textMap.titleText = '超级订阅'
-            textMap.btnText = this.type === 'item_1' ? '升级' : '免费体验'
+            textMap.btnText = this.type === 'item_1' ? '前往升级' : '免费体验'
           } else if(this.entvisit.provin == -1) {
             textMap.titleText = '超级订阅'
             textMap.btnText = this.type === 'item_1' ? '联系客服' : '免费体验'
           }
         } else {
           if (this.type === 'item_1') {
-            textMap.btnText = !this.newvip && this.power.vipStatus > 0  ? '升级' : '去开通'
+            textMap.btnText = !this.newvip && this.power.vipStatus > 0  ? '前往升级' : '去开通'
           } else {
             textMap.btnText = '免费体验'
           }
         }
+
+        // (2)【立即解锁】:未体验过企业画像的免费用户,中标分析各模块,点击进行“欢迎体验企业中标分析”留资;
+        if (this.canFreeExp) {
+          textMap.btnText = '立即解锁'
+        } else {
+          if (this.power.vipStatus <= 0) {
+            textMap.btnText = '去开通'
+          }
+          // (4)【前往升级】:超级订阅老版用户,中标分析各模块;购买了非全国的超级订阅新版用户且企业画像余额为0;点击进入超级订阅升级页;
+          if (!this.newvip && this.entvisit.provin != -1 && this.entvisit.total >= 0) {
+            textMap.btnText = '前往升级'
+          }
+        }
       }
       switch (this.type) {
           // 项目动态
@@ -126,7 +145,7 @@ var vipComponent = {
           // textMap.btnText =  this.power.isMember > 0 && !this.power._4 ? '联系客服' : '免费体验'
           textMap.headText.top = '年度项目规模、增长趋势一目了然,'
           textMap.headText.bot = '快速分析市场!'
-          textMap.source = 'ent_portrait_yearData'
+          textMap.source = 'ent_portrait_yearData_freeuser'
           break
         }
           // 月度中标金额统计
@@ -135,7 +154,7 @@ var vipComponent = {
           // textMap.btnText = this.power.isMember > 0 && !this.power._4 ? '联系客服' : '免费体验'
           textMap.headText.top = '纵向对比采购单位近三年月度采购规模,'
           textMap.headText.bot = '不错过任何商机!'
-          textMap.source = 'ent_portrait_monthData'
+          textMap.source = 'ent_portrait_monthData_freeuser'
           break
         }
           // 市场区域分布
@@ -144,7 +163,7 @@ var vipComponent = {
           // textMap.btnText = this.power.isMember > 0 && !this.power._4 ? '联系客服' : '免费体验'
           textMap.headText.top = '通过企业市场规模、市场格局,'
           textMap.headText.bot = '分析企业的市场发展现状!'
-          textMap.source = 'ent_portrait_areaData'
+          textMap.source = 'ent_portrait_areaData_freeuser'
           break
         }
           // 各类客户平均折扣率
@@ -153,7 +172,7 @@ var vipComponent = {
           // textMap.btnText = this.power.isMember > 0 && !this.power._4 ? '联系客服' : '免费体验'
           textMap.headText.top = '通过近3年各类客户平均折扣率范围,'
           textMap.headText.bot = '透视企业的行业盈利能力!'
-          textMap.source = 'ent_portrait_discountRate'
+          textMap.source = 'ent_portrait_discountRate_freeuser'
           break
         }
           // 客户类型分布
@@ -162,7 +181,7 @@ var vipComponent = {
           // textMap.btnText = this.power.isMember > 0 && !this.power._4 ? '联系客服' : '免费体验'
           textMap.headText.top = '通过企业主要客户类型分析,'
           textMap.headText.bot = '洞悉企业业务模式、经营状况!'
-          textMap.source = 'ent_portrait_top10'
+          textMap.source = 'ent_portrait_top10_freeuser'
           break
         }
           // 重点客户
@@ -171,7 +190,7 @@ var vipComponent = {
           // textMap.btnText = this.power.isMember > 0 && !this.power._4 ? '联系客服' : '免费体验'
           textMap.headText.top = '通过挖掘企业重点客户,直观了解采购单位'
           textMap.headText.bot = '与供应商关系远近,辅助投标决策!'
-          textMap.source = 'ent_portrait_topShow'
+          textMap.source = 'ent_portrait_topShow_freeuser'
           break
         }
           // 企业情报历史记录
@@ -202,12 +221,9 @@ var vipComponent = {
     },
   },
   methods: {
-    goOpen: function(source) {
-      // 点击按钮保存tabActiveName值
-      this.$emit('tabactive', 'save')
-      let isWeixin = utils.isWeiXinBrowser
-      if(!isWeixin) {
-        if (this.getTextMap.btnText == '去开通') {
+    goOpenOfApp: function (btnText, source) {
+      switch (btnText) {
+        case '去开通': {
           if(this.type == 'item_9' || this.type == 'item_8') {
             // 跳转到大会员
             location.href = '/jyapp/big/page/buy_commit'
@@ -216,17 +232,33 @@ var vipComponent = {
             // 跳转到超级订阅
             location.href = '/jyapp/vipsubscribe/vipsubscribe_new'
           }
-        } else if (this.getTextMap.btnText == '免费体验') {
+          break
+        }
+        case '免费体验': {
           location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=' + source
-        } else if (this.getTextMap.btnText == '去升级') {
+          break
+        }
+        case '前往升级': {
           location.href = '/jyapp/vipsubscribe/upgradePage'
-        } else if(this.getTextMap.btnText == '联系客服') {
+          break
+        }
+        case '联系客服': {
           location.href = '/jyapp/free/customer'
-        } else {
+          break
+        }
+        case '立即解锁': {
+          location.href = '/jyapp/frontPage/bigmember/free/perfect_info?source=ent_portrait_freeuser'
+          break
+        }
+        default: {
           location.href = '/jyapp/vipsubscribe/vipsubscribe_new'
+          break
         }
-      } else {
-        if (this.getTextMap.btnText == '去开通') {
+      }
+    },
+    goOpenOfWx: function (btnText, source) {
+      switch (btnText) {
+        case '去开通': {
           if(this.type == 'item_9' || this.type == 'item_8') {
             // 跳转到大会员
             location.href = '/big/wx/page/buy_commit'
@@ -234,16 +266,39 @@ var vipComponent = {
             // 跳转到超级订阅
             location.href = '/front/vipsubscribe/vipsubscribe_new'
           }
-        } else if (this.getTextMap.btnText == '免费体验') {
+          break
+        }
+        case '免费体验': {
           location.href = '/weixin/frontPage/bigmember/free/perfect_info?source=' + source
-        } else if (this.getTextMap.btnText == '去升级') {
+          break
+        }
+        case '前往升级': {
           location.href = '/front/vipsubscribe/upgradePage'
-        } else if(this.getTextMap.btnText == '联系客服') {
+          break
+        }
+        case '联系客服': {
           location.href = '/big/wx/page/customer'
-        } else {
+          break
+        }
+        case '立即解锁': {
+          location.href = '/weixin/frontPage/bigmember/free/perfect_info?source=ent_portrait_freeuser'
+          break
+        }
+        default: {
           location.href = '/front/vipsubscribe/vipsubscribe_new'
+          break
         }
       }
+    },
+    goOpen: function(source) {
+      // 点击按钮保存tabActiveName值
+      this.$emit('tabactive', 'save')
+      const isWeixin = utils.isWeiXinBrowser
+      if (isWeixin) {
+        this.goOpenOfWx(this.getTextMap.btnText, source)
+      } else {
+        this.goOpenOfApp(this.getTextMap.btnText, source)
+      }
     }
   }
-}
+}

+ 64 - 17
src/web/staticres/common-module/portraitRecord/js/index-wx.js

@@ -66,10 +66,12 @@ var vm = new Vue({
       },
       statusEnum: ['存续', '吊销', '停业', '撤销'],
       statusColors: ['#2CB7CA', '#F5AF5C', '#58A1E7', '#51CEA2'],
-      list: []
+      list: [],
+      ptype:""
     }
   },
   created: function () {
+      this.getPType("type") 
       this.years = new Date().getFullYear()
       this.months = parseInt(new Date().getMonth() + 1)
       this.dValue = this.years + '年' + this.months + '月'
@@ -78,8 +80,31 @@ var vm = new Vue({
       this.maxTime = new Date(this.years, this.months - 1)
       this.subPoint()
       this.onLoad()
+    	this.initHtml()
   },
   methods: {
+	initHtml(){
+		if(this.ptype=="1"){
+			document.title = '采购单位画像记录'
+			$(".btns span").text("当月采购单位画像剩余数")
+			$(".emptytext").text("暂无采购单位画像记录")
+		}
+	},
+	getPType(paraName){
+      	let _this = this
+		var url = document.location.toString();
+	   var arrObj = url.split("?");
+	   if (arrObj.length > 1) {
+      	var arrPara = arrObj[1].split("&");
+      	var arr;
+      	for (var i = 0; i < arrPara.length; i++) {
+        	arr = arrPara[i].split("=");
+        	if (arr != null && arr[0] == paraName) {
+          	_this.ptype =  arr[1];
+        	}
+      	}
+    	}
+	},
     usedHised() {
       let _this = this
       _this.pShow = true
@@ -89,7 +114,7 @@ var vm = new Vue({
         url: '/bigmember/portrait/subVipPortrait/usage',
         type: 'POST',
         contentType: 'application/x-www-form-urlencoded',
-        data: '',
+        data: {p_type:this.ptype},
         dataType: 'json'
       }).done(res => {
         if (res.error_code == 0) {
@@ -121,16 +146,29 @@ var vm = new Vue({
         if (Array.isArray(r.data.list) && r.data.list.length !== 0) {
           var _this = this
           this.list = this.list.concat(r.data.list.map(function (v) {
-            return {
-              name: v.company_name,
-              abbr: getShortName(v.company_name),
-              color: _this.statusColors[Math.floor(Math.random() * _this.statusColors.length)],
-              legal: v.legal_person,
-              money: v.capital,
-              address: v.company_address,
-              _id: v.id,
-              status: _this.statusEnum.indexOf(v.company_status) || 0,
-              checked: false
+        	if(_this.ptype==""){
+	            return {
+	              name: v.company_name,
+	              abbr: getShortName(v.company_name),
+	              color: _this.statusColors[Math.floor(Math.random() * _this.statusColors.length)],
+	              legal: v.legal_person,
+	              money: v.capital,
+	              address: v.company_address,
+	              _id: v.id,
+	              status: _this.statusEnum.indexOf(v.company_status) || 0,
+	              checked: false
+	            }
+            }else{
+	            return {
+	              name: v.name,
+	              abbr: getShortName(v.name),
+	              color: _this.statusColors[Math.floor(Math.random() * _this.statusColors.length)],
+	              buyerClass: v.buyerclass,
+	              province: v.province,
+	              city: v.city,
+	              _id: v.name,
+	              checked: false
+	            }
             }
           }))
         } else {
@@ -148,7 +186,8 @@ var vm = new Vue({
         year: this.years,
         month: this.months,
         pageSize: this.listInfo.pageSize,
-        pageNum: this.listInfo.pageNum
+        pageNum: this.listInfo.pageNum,
+        p_type:this.ptype
       }
     },
     ajaxEntList() {
@@ -164,10 +203,14 @@ var vm = new Vue({
     },
     helpTiped() {
       let _this = this
+    	var typeName = "企业画像"
+		if (_this.ptype=="1"){
+			typeName = "采购单位画像"
+		}
       if (_this.points.provin === -1 && _this.points.usage == _this.points.total) { // 用户订阅全国且机会用完
         this.contracted = true
         this.$dialog.alert({
-          message: '每订购1个省,可查看50个企业画像/月,<span style="color:#FF0000">上限为800个</span>,每月1号上月余额清零重新计算。您当前订阅全国,查看机会已经消耗完毕。如需更多权益,请联系客服。',
+          message: '每订购1个省,可查看50个'+typeName+'/月,<span style="color:#FF0000">上限为800个</span>,每月1号上月余额清零重新计算。您当前订阅全国,查看机会已经消耗完毕。如需更多权益,请联系客服。',
           className: 'pro-log',
           messageAlign: 'left',
           showCancelButton:'true',
@@ -176,7 +219,7 @@ var vm = new Vue({
         })
       } else if (_this.points.usage !== _this.points.total) { // 订阅全国和非订阅全国的次数未用完时
         this.$dialog.alert({
-          message: '每订购1个省,可查看50个企业画像/月,<span style="color:#FF0000">上限为800个</span>,每月1号上月余额清零重新计算。',
+          message: '每订购1个省,可查看50个'+typeName+'/月,<span style="color:#FF0000">上限为800个</span>,每月1号上月余额清零重新计算。',
           className: 'pro-log',
           messageAlign: 'left',
           confirmButtonColor: '#2ABED1',
@@ -185,7 +228,7 @@ var vm = new Vue({
         })
       } else if (_this.points.provin !== -1) { // 用户未订阅全国
         this.$dialog.alert({
-          message: '每订购1个省,可查看50个企业画像/月,<span style="color:#FF0000">上限为800个</span>,每月1号上月余额清零重新计算。 您当前订阅了' + `<span style="color:#2ABED1">${_this.points.provin}</span>` + '个省,如需更多权益,请订购更多省份。',
+          message: '每订购1个省,可查看50个'+typeName+'/月,<span style="color:#FF0000">上限为800个</span>,每月1号上月余额清零重新计算。 您当前订阅了' + `<span style="color:#2ABED1">${_this.points.provin}</span>` + '个省,如需更多权益,请订购更多省份。',
           className: 'pro-log',
           messageAlign: 'left',
           showCancelButton:'true',
@@ -219,7 +262,11 @@ var vm = new Vue({
         return (Y + M).replace(/^\s+|\s+$/g,"")
     },
     detailed(ids) {
-        location.href = '/weixin/frontPage/collection/sess/ent_portrait?eId=' + ids + '&svip=1'
+    	if(this.ptype==""){
+        	location.href = '/weixin/frontPage/collection/sess/ent_portrait?eId=' + ids + '&svip=1'
+        }else{
+			location.href='/big/wx/page/unit_portrayal?entName=' + ids + '&svip=1'
+		}
     },
     // contractPerson() {
     //   location.href = '400-108-6670'

+ 64 - 17
src/web/staticres/common-module/portraitRecord/js/index.js

@@ -66,10 +66,12 @@ var vm = new Vue({
       },
       statusEnum: ['存续', '吊销', '停业', '撤销'],
       statusColors: ['#2CB7CA', '#F5AF5C', '#58A1E7', '#51CEA2'],
-      list: []
+      list: [],
+      ptype:""
     }
   },
   created: function () {
+      this.getPType("type") 
       this.years = new Date().getFullYear()
       this.months = parseInt(new Date().getMonth() + 1)
       this.dValue = this.years + '年' + this.months + '月'
@@ -78,8 +80,31 @@ var vm = new Vue({
       this.maxTime = new Date(this.years, this.months - 1)
       this.subPoint()
       this.onLoad()
+    	this.initHtml()
   },
   methods: {
+	initHtml(){
+		if(this.ptype=="1"){
+			document.title = '采购单位画像记录'
+			$(".btns span").text("当月采购单位画像剩余数")
+			$(".emptytext").text("暂无采购单位画像记录")
+		}
+	},
+	getPType(paraName){
+      	let _this = this
+		var url = document.location.toString();
+	   var arrObj = url.split("?");
+	   if (arrObj.length > 1) {
+      	var arrPara = arrObj[1].split("&");
+      	var arr;
+      	for (var i = 0; i < arrPara.length; i++) {
+        	arr = arrPara[i].split("=");
+        	if (arr != null && arr[0] == paraName) {
+          	_this.ptype =  arr[1];
+        	}
+      	}
+    	}
+	},
     usedHised() {
       let _this = this
       _this.pShow = true
@@ -89,7 +114,7 @@ var vm = new Vue({
         url: '/bigmember/portrait/subVipPortrait/usage',
         type: 'POST',
         contentType: 'application/x-www-form-urlencoded',
-        data: '',
+        data: {p_type:this.ptype},
         dataType: 'json'
       }).done(res => {
         if (res.error_code == 0) {
@@ -121,16 +146,29 @@ var vm = new Vue({
         if (Array.isArray(r.data.list) && r.data.list.length !== 0) {
           var _this = this
           this.list = this.list.concat(r.data.list.map(function (v) {
-            return {
-              name: v.company_name,
-              abbr: getShortName(v.company_name),
-              color: _this.statusColors[Math.floor(Math.random() * _this.statusColors.length)],
-              legal: v.legal_person,
-              money: v.capital,
-              address: v.company_address,
-              _id: v.id,
-              status: _this.statusEnum.indexOf(v.company_status) || 0,
-              checked: false
+            if(_this.ptype==""){
+	            return {
+	              name: v.company_name,
+	              abbr: getShortName(v.company_name),
+	              color: _this.statusColors[Math.floor(Math.random() * _this.statusColors.length)],
+	              legal: v.legal_person,
+	              money: v.capital,
+	              address: v.company_address,
+	              _id: v.id,
+	              status: _this.statusEnum.indexOf(v.company_status) || 0,
+	              checked: false
+	            }
+            }else{
+	            return {
+	              name: v.name,
+	              abbr: getShortName(v.name),
+	              color: _this.statusColors[Math.floor(Math.random() * _this.statusColors.length)],
+	              buyerClass: v.buyerclass,
+	              province: v.province,
+	              city: v.city,
+	              _id: v.name,
+	              checked: false
+	            }
             }
           }))
         } else {
@@ -148,7 +186,8 @@ var vm = new Vue({
         year: this.years,
         month: this.months,
         pageSize: this.listInfo.pageSize,
-        pageNum: this.listInfo.pageNum
+        pageNum: this.listInfo.pageNum,
+        p_type:this.ptype
       }
     },
     ajaxEntList() {
@@ -164,10 +203,14 @@ var vm = new Vue({
     },
     helpTiped() {
       let _this = this
+    	var typeName = "企业画像"
+		if (_this.ptype=="1"){
+			typeName = "采购单位画像"
+		}
       if (_this.points.provin === -1 && _this.points.usage == _this.points.total) { // 用户订阅全国且机会用完
         this.contracted = true
         this.$dialog.alert({
-          message: '每订购1个省,可查看50个企业画像/月,<span style="color:#FF0000">上限为800个</span>,每月1号上月余额清零重新计算。您当前订阅全国,查看机会已经消耗完毕。如需更多权益,请联系客服。',
+          message: '每订购1个省,可查看50个'+typeName+'/月,<span style="color:#FF0000">上限为800个</span>,每月1号上月余额清零重新计算。您当前订阅全国,查看机会已经消耗完毕。如需更多权益,请联系客服。',
           className: 'pro-log',
           messageAlign: 'left',
           showCancelButton:'true',
@@ -176,7 +219,7 @@ var vm = new Vue({
         })
       } else if (_this.points.usage !== _this.points.total) { // 订阅全国和非订阅全国的次数未用完时
         this.$dialog.alert({
-          message: '每订购1个省,可查看50个企业画像/月,<span style="color:#FF0000">上限为800个</span>,每月1号上月余额清零重新计算。',
+          message: '每订购1个省,可查看50个'+typeName+'/月,<span style="color:#FF0000">上限为800个</span>,每月1号上月余额清零重新计算。',
           className: 'pro-log',
           messageAlign: 'left',
           confirmButtonColor: '#2ABED1',
@@ -186,7 +229,7 @@ var vm = new Vue({
       } else if (_this.points.provin !== -1) { // 用户未订阅全国
         this.$dialog.alert({
           // message: '每订购1个省,可查看50个企业画像/月。 您当前订阅了' + `<span style="color:#2ABED1">${_this.points.provin}</span>` + '个省,如需更多权益,请订购更多省份。',
-          message: '每订购1个省,每月可查看50个企业画像,<span style="color:#FF0000">上限为800个</span>,每月1号上月余额清零重新计算。您当前订阅了' + `<span style="color:#2ABED1">${_this.points.provin}</span>` + '个省,如需更多权益,请订购更多省份。',
+          message: '每订购1个省,每月可查看50个'+typeName+',<span style="color:#FF0000">上限为800个</span>,每月1号上月余额清零重新计算。您当前订阅了' + `<span style="color:#2ABED1">${_this.points.provin}</span>` + '个省,如需更多权益,请订购更多省份。',
           className: 'pro-log',
           messageAlign: 'left',
           showCancelButton:'true',
@@ -222,7 +265,11 @@ var vm = new Vue({
         return (Y + M).replace(/^\s+|\s+$/g,"")
     },
     detailed(ids) {
-        location.href = '/jyapp/big/page/ent_portrait?eId=' + ids + '&svip=1'
+    	if(this.ptype==""){
+        	location.href = '/jyapp/big/page/ent_portrait?eId=' + ids + '&svip=1'
+        }else{
+			location.href = '/jyapp/big/page/unit_portrayal?entName=' + ids + '&svip=1'
+		}
     },
     contractPerson() {
       try {

+ 15 - 4
src/web/staticres/css/subscribe_new.css

@@ -502,7 +502,7 @@
     position: absolute;
     width: 170px;
     height: 197px;
-    left: 30%;
+    left: 27.5%;
     bottom: 10%;
 }
 
@@ -510,11 +510,22 @@
     width: 180px;
     height: 21px;
     font-size: 16px;
-    font-family: MicrosoftYaHei;
     line-height: 24px;
-    color: rgba(59, 33, 5, 1);
     opacity: 1;
-    margin: 20px 0 0 -15px;
+    margin: 20px 0 0 2px;
+    font-family: Microsoft YaHei;
+    color: #714402;
+}
+
+.modal-content .vip-code .vip-text2 {
+    width: 180px;
+    height: 21px;
+    font-size: 16px;
+    line-height: 24px;
+    opacity: 1;
+    margin: 0 0 0 24px;
+    font-family: Microsoft YaHei;
+    color: #714402;
 }
 
 .modal-open {

+ 3 - 0
src/web/staticres/me/js/mine.js

@@ -98,11 +98,14 @@ var mine = {
                       // 大会员和免费用户不显示企业画像记录菜单
                       if(res.data.vipStatus > 0 && res.data.viper ) {
                         $('#ent-follow-history').show()
+                        $('#buyer-follow-history').show()
                       } else {
                         $('#ent-follow-history').hide()
+                        $('#buyer-follow-history').hide()
                       }
                   } else {
                     $('#ent-follow-history').hide()
+                    $('#buyer-follow-history').hide()
                   }
               }
           }

+ 42 - 29
src/web/templates/big-member/wx/page_unit_portrayal.html

@@ -75,20 +75,28 @@
             background-size: 100% 100%;
             box-sizing: border-box;
         }
-        .freeExper{
-          display: flex;
-          align-items: center;
-          justify-content: space-between;
-          padding: 0.24rem 0.32rem;
-          margin-top: 0.24rem;
-          background: #fff;
+        .free-give{
+            padding: 0.24rem 0.32rem;
+            background-color: #fff;
+            font-size: .24rem;
+            display: flex;
+            align-items: center;
+            justify-content: space-between;
+        }
+        .go-btn{
+            background:linear-gradient(360deg, #1CB5E5 0%, #2ABED1 100%);
+            color: #FFFFFF;
+            padding: 0 .16rem;
+            text-align: center;
+            height: 0.5rem;
+            border-radius: 8px;
+            line-height: 0.5rem;
+        }
+        .go-text{
           color: #2cb7ca;
         }
-        .freeExper span{
-          color: white;
-          background: #2cb7ca;
-          border-radius: 4px;
-          padding: 0.07rem 0.1rem;
+        .balance-text{
+          color: #9B9BA3;
         }
     </style>
 </head>
@@ -107,17 +115,22 @@
               <p class="region">所在地:${statistics.province || '--'} ${statistics.city}</p>
               <p class="buyer-type">采购单位类型:${statistics.buyerClass || '--'}</p>
           </div>
-          <!-- 免费用户体验-->
-          <div  v-if="isFreeExper" class="freeExper">
-              <p class="freeRemark">免费赠送1次【采购单位全景分析】权益体验机会!</p>
-              <span>去解锁</span>
+          <!-- 免费用户采购单位全景分析提示 -->
+          <div v-if="getfreeBuyerPort" style="margin-top: .24rem; " class="free-give">
+            <div class="go-text"> 免费赠送1次【采购单位全景分析】权益体验机会!</div>
+            <div class="go-btn"  @click="goGiveAnalysis">去解锁</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>
+            <div class="go-btn" v-if="usageInfo.surplus !== 0 && usageInfo.provin !== -1" @click="goUpgradeOrConcat(superVipBtnText)">${superVipBtnText}</div>
           </div>
           <!-- 采购单位通讯录 -->
           <div style="margin-top: .24rem;">
             <div v-if="getStatus" key="txl">
               <div class="vip_component" style="height:10.8rem;background:url('/common-module/collection/image/buyer/01-bg.png') no-repeat;background-size:100% 100%">
                 <p class="example-title win-bid-title">采购单位通讯录</p>
-                <buyer-example data-cl-event="c_wx_free_buttonclick" :status="bigStatus" :power="power" type="item_1" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/01.png'></buyer-example>
+                <buyer-example :useage="usageInfo" :userinfo="userInfo" data-cl-event="c_wx_free_buttonclick" :status="bigStatus" :power="power" type="item_1" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/01.png'></buyer-example>
               </div>
             </div>
             <hispro-component v-else class="history-list" type="buyer" :buyer="buyer.name" key="txl"></hispro-component>
@@ -369,62 +382,62 @@
             <!-- 历史项目联系人 -->
             <!-- <div class="vip_component" style="height:10.8rem;background:url('/common-module/collection/image/buyer/01-bg.png') no-repeat;background-size:100% 100%">
               <p class="example-title">历史项目联系方式</p>
-              <buyer-example :status="bigStatus" :power="power" type="item_1" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/01.png'></buyer-example>
+               <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_1" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/01.png'></buyer-example>
             </div> -->
             <!-- 合作企业注册资本分布 -->
             <!-- <div class="vip_component" style="height:10.8rem;background:url('/common-module/collection/image/buyer/09-bg.png') no-repeat;background-size:100% 100%">
               <p class="example-title">合作企业注册资本分布</p>
-              <buyer-example :status="bigStatus" :power="power" type="item_9" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/09.png'></buyer-example>
+               <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_9" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/09.png'></buyer-example>
             </div> -->
             <!-- 合作企业年龄分布 -->
             <!-- <div class="vip_component" style="height:10.8rem;background:url('/common-module/collection/image/buyer/10-bg.png') no-repeat;background-size:100% 100%">
               <p class="example-title">合作企业年龄分布</p>
-              <buyer-example :status="bigStatus" :power="power" type="item_10" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/10.png'></buyer-example>
+               <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_10" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/10.png'></buyer-example>
             </div> -->
             <!-- 合作企业注册地分布 -->
             <!-- <div class="vip_component" style="height:10.8rem;background:url('/common-module/collection/image/buyer/11-bg.png') no-repeat;background-size:100% 100%">
               <p class="example-title">合作企业注册地分布</p>
-              <buyer-example :status="bigStatus" :power="power" type="item_11" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/11.png'></buyer-example>
+               <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_11" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/11.png'></buyer-example>
             </div> -->
             <!-- 年度项目统计 -->
             <div class="vip_component" style="height:10.8rem;background:url('/common-module/collection/image/buyer/02-bg.png') no-repeat;background-size:100% 100%">
               <p class="example-title">年度项目统计</p>
-              <buyer-example :status="bigStatus" :power="power" type="item_2" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/02.png'></buyer-example>
+               <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_2" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/02.png'></buyer-example>
             </div>
             <!-- 月度采购规模统计 -->
             <div class="vip_component" style="height:10.8rem;background:url('/common-module/collection/image/buyer/03-bg.png') no-repeat;background-size:100% 100%">
               <p class="example-title">月度采购规模统计</p>
-              <buyer-example :status="bigStatus" :power="power" type="item_3" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/03.png'></buyer-example>
+               <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_3" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/03.png'></buyer-example>
             </div>
             <!-- 采购规模分布 -->
             <div class="vip_component" style="height:10.8rem;background:url('/common-module/collection/image/buyer/04-bg.png') no-repeat;background-size:100% 100%">
               <p class="example-title">采购规模分布</p>
-              <buyer-example :status="bigStatus" :power="power" type="item_4" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/04.png'></buyer-example>
+               <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_4" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/04.png'></buyer-example>
             </div>
             <!-- 各类招标方式占比(双柱图) -->
             <div class="vip_component" style="height:8.8rem;background:url('/common-module/collection/image/buyer/05-bg.png') no-repeat;background-size:100% 100%">
               <p class="example-title">各类招标方式占比</p>
-              <buyer-example :status="bigStatus" :power="power" type="item_5" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/05.png'></buyer-example>
+               <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_5" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/05.png'></buyer-example>
             </div>
             <!-- 各行业项目平均节支率 -->
             <div class="vip_component" style="height:10.8rem;background:url('/common-module/collection/image/buyer/06-bg.png') no-repeat;background-size:100% 100%">
               <p class="example-title">各行业项目平均节支率</p>
-              <buyer-example :status="bigStatus" :power="power" type="item_6" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/06.png'></buyer-example>
+               <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_6" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/06.png'></buyer-example>
             </div>
             <!-- 重点合作代理机构 -->
             <div class="vip_component" style="height:10.8rem;background:url('/common-module/collection/image/buyer/12-bg.png') no-repeat;background-size:100% 100%">
               <p class="example-title">重点合作代理机构</p>
-              <buyer-example :status="bigStatus" :power="power" type="item_12" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/12.png'></buyer-example>
+               <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_12" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/12.png'></buyer-example>
             </div>
             <!-- 重点合作企业 -->
             <div class="vip_component" style="height:10.8rem;background:url('/common-module/collection/image/buyer/08-bg.png') no-repeat;background-size:100% 100%">
               <p class="example-title">重点合作企业</p>
-              <buyer-example :status="bigStatus" :power="power" type="item_8" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/08.png'></buyer-example>
+               <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_8" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/08.png'></buyer-example>
             </div>
             <!-- 各行业项目规模占比 -->
             <div class="vip_component" style="height:11.2rem;background:url('/common-module/collection/image/buyer/07-bg.png') no-repeat;background-size:100% 100%">
               <p class="example-title">各行业项目规模占比</p>
-              <buyer-example :status="bigStatus" :power="power" type="item_7" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/07.png'></buyer-example>
+               <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_7" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/07.png'></buyer-example>
             </div>
           </div>
       </div>

+ 129 - 0
src/web/templates/frontRouter/wx/buyerPortraitRecord/sess/index.html

@@ -0,0 +1,129 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+<head>
+    <meta charset="utf-8">
+    <meta name="keywords" content="剑鱼标讯">
+    <meta name="description" content="剑鱼标讯">
+    <meta name="author" content="剑鱼标讯">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
+    <meta name="browsermode" content="application">
+    <meta name="x5-orientation" content="portrait">
+    <meta name="screen-orientation" content="portrait">
+    <meta name="x5-page-mode" content="app">
+    <meta name="apple-mobile-web-app-capable" content="yes">
+    <meta name="apple-mobile-web-app-status-bar-style" content="black">
+    <meta name="format-detection" content="telephone=no">
+    <title>企业画像记录</title>
+    <script src="/big-member/js/rem.js"></script>
+    <!--S-当前页面的css资源-->
+    <link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/lib/reset-css/5.0.1/reset.min.css />
+    <link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/index.css />
+    <link rel="stylesheet" href=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/icon/local.css />
+    <link rel="stylesheet" href='{{Msg "seo" "cdn"}}/common-module/portraitRecord/css/index.css?v={{Msg "seo" "version"}}' />
+    <script src='https://cdn-common.jianyu360.com/cdn/lib/jquery/3.6.0/jquery.min.js'></script>
+    <script src="https://cdn-common.jianyu360.com/cdn/lib/loadjs/4.2.0/dist/loadjs.umd.js"></script>
+</head>
+<body>
+  <div class="j-container">
+    {{include "/big-member/header.html"}}
+    <div class="j-main portraited" id="proRecord" v-cloak>
+      <div class="j-container">
+        <div class="j-main">
+          <div class="t-bg flex">
+            <div class="nums">
+              <span>{points.total - points.usage}</span>个
+              <img src='{{Msg "seo" "cdn"}}/common-module/portraitRecord/image/help-p.png?v={{Msg "seo" "version"}}' @click="helpTiped" alt="">
+            </div>
+            <div class="btns flex">
+              <span>当月企业画像剩余数</span>
+              <a href="tel:400-108-6670" v-if="contracted">
+                <van-button round type="primary">联系客服</van-button>
+              </a>
+              <van-button round type="primary" v-else @click="setBook">订阅设置</van-button>
+            </div>
+          </div>
+          <div class="p1-date" style="background: #F5F6F7;">
+            <div class="d-box flex">
+              使用记录
+              <van-field v-model="dValue" @click="usedHised" placeholder="显示图标" right-icon="play" readonly/>
+            </div>
+            <div class="word-tips">
+              当前已使用:<span>{points.usage}个</span>
+            </div>
+          </div>
+          <!-- 日期弹出框 -->
+          <van-popup v-model:show="pShow" round position="bottom">
+            <van-datetime-picker
+              v-model="curDate"
+              type="year-month"
+              title="选择日期"
+              :formatter="formatter11"
+              :min-date="minDate"
+              :max-date="maxTime"
+              @confirm="confirmed"
+              @cancel="canceled"
+            />
+          </van-popup>
+          <div class="c-list" v-if="list.length !== 0 && empty">
+            <van-list
+              v-model="listInfo.loading"
+              :finished="listInfo.finished"
+              finished-text=""
+              @load="onLoad"
+            >
+                <div class="ent-search-item" v-for="(item, i) in list" :key="item._id" @click="detailed(item._id)">
+                    <div class="ent-info-top">
+                        <div class="ent-info-head" :style="{'background-color': item.color}">{item.abbr}</div>
+                        <div class="ent-info-keep">
+                            <div class="ent-row">
+                                <div class="ent-name van-ellipsis">{item.name}</div>
+                                <div class="fill-icon-box" style="display: none">
+                                    <i class="j-icon base-icon icon-no-favorite"></i>
+                                </div>
+                            </div>
+                            <div class="ent-more">
+                                <div v-if="item.legal">法定代表人: <span>{item.legal}</span></div>
+                                <div v-if="item.money">注册资本: <span>{item.money}万元</span></div>
+                            </div>
+                            <div class="ent-line-box"></div>
+                        </div>
+                    </div>
+                    <div class="ent-info-bottom ent-row" v-show="item.status >= 0 || item.address">
+                        <div class="ent-info-status-box">
+                            <span class="ent-info-status" v-show="item.status >= 0" :class="'status-' + item.status">{statusEnum[item.status]}</span>
+                        </div>
+                        <div  class="ent-row ent-address"  v-show="item.address">
+                            <div class="van-multi-ellipsis--l2">{item.address}</div>
+                            <i class="j-icon base-icon icon-address"></i>
+                        </div>
+
+                    </div>
+                </div>
+            </van-list>
+          </div>
+          <van-loading size="24px" vertical v-if="working">加载中...</van-loading>
+          <div class="emptycom" v-if="list.length==0 && empty">
+            <div class="emptyimg">
+              <img src='{{Msg "seo" "cdn"}}/common-module/collection/image/img-empty.png?v={{Msg "seo" "version"}}' alt="">
+            </div>
+            <div class="emptytext">
+              暂无企业画像记录
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+  <!--S-当前页面的资源-->
+  <script src='https://cdn-common.jianyu360.com/cdn/lib/vue/2.6.11/vue.min.js'></script>
+  <script src=//cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.min.js></script>
+  <script src=//cdn-common.jianyu360.com/cdn/lib/zepto/1.2.0/zepto.min.js></script>
+  <!--E-当前页面的资源-->
+  {{include "/big-member/commonjs.html"}}
+  <script src='{{Msg "seo" "cdn"}}/common-module/public/js/china-map-data.js?v={{Msg "seo" "version"}}'></script>
+  <script src='{{Msg "seo" "cdn"}}/common-module/portraitRecord/js/index-wx.js?v={{Msg "seo" "version"}}'></script>
+  {{include "/common/baiducc.html"}}
+</body>
+
+</html>

+ 9 - 9
src/web/templates/frontRouter/wx/collection/sess/ent_portrait.html

@@ -229,7 +229,7 @@
                     <span class="win-bid-title">企业通讯录</span>
                   </div>
                   <div class="vip_component" style="height:11.04rem;background:url('/common-module/collection/image/bg/vip_bg_9.png') no-repeat;background-size:100% 100%">
-                    <vip-component data-cl-event="c_wx_free_buttonclick" @tabactive="tabActive" :power="conf" type="item_9" :entvisit="entvisit" :newvip="isVip" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_9.png'></vip-component>
+                    <vip-component data-cl-event="c_wx_free_buttonclick" @tabactive="tabActive" :power="conf" type="item_9" :entvisit="entvisit" :can-free-exp="canFreeExp" :newvip="isVip" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_9.png'></vip-component>
                   </div>
                 </div>
                 <div class="bg-white tab-card cell-list history-list" v-else>
@@ -244,7 +244,7 @@
                   </div>
                 </div>
                 <!--免费用户体验-->
-                <div v-if="isFreeExper" class="freeExper">
+                <div v-if="canFreeExp" class="freeExper">
                     <p class="freeRemark">免费赠送1次【采购单位全景分析】权益体验机会!</p>
                     <span @click="goExpAnalysis">去解锁</span>
                 </div>
@@ -282,7 +282,7 @@
                 <div class="vip_component" v-if="getStatus" style="height:2.12rem;background:url('/common-module/collection/image/bg/vip_bg_0.png') no-repeat;background-size:100% 100%"></div>
                 <!-- 项目动态 -->
                 <div class="vip_component test" v-if="getStatus && hideDt" style="height:9.16rem;background:url('/common-module/collection/image/bg/vip_bg_1.png') no-repeat;background-size:100% 100%" key="dt">
-                  <vip-component data-cl-event="c_wx_open_buttionclick" @tabactive="tabActive" :power="conf" type="item_1" :entvisit="entvisit" :newvip="isVip"  imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_1.png'></vip-component>
+                  <vip-component data-cl-event="c_wx_open_buttionclick" @tabactive="tabActive" :power="conf" type="item_1" :entvisit="entvisit" :can-free-exp="canFreeExp" :newvip="isVip"  imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_1.png'></vip-component>
               </div>
               <div v-else key="dt">
                 <div class="j-container empty" style="padding-bottom: .2rem;"  v-if="conf._13 && !conf._4 && topProject.list.length === 0">
@@ -340,7 +340,7 @@
                     <div class="tab-card-tip">注:项目金额指所有项目的中标金额之和,少数缺失的中标金额,用项目预算补充。</div>
                 </div>
                 <div class="vip_component" v-if="getStatus" style="height:11.12rem;background:url('/common-module/collection/image/bg/vip_bg_2.png') no-repeat;background-size:100% 100%">
-                    <vip-component data-cl-event="c_wx_open_buttionclick" @tabactive="tabActive" :power="conf" type="item_2" :entvisit="entvisit" :newvip="isVip" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_2.png'></vip-component>
+                    <vip-component data-cl-event="c_wx_open_buttionclick" @tabactive="tabActive" :power="conf" type="item_2" :entvisit="entvisit" :can-free-exp="canFreeExp" :newvip="isVip" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_2.png'></vip-component>
                 </div>
                 <div class="bg-white tab-card charts"  v-if="conf._4 && monthZbData.rows.length !== 0  && !getStatus">
                     <div class="tab-card-title">月度中标金额统计</div>
@@ -356,7 +356,7 @@
                     <div class="tab-card-tip">注:少数缺失的中标金额,用项目预算补充。</div>
                 </div>
                 <div class="vip_component" v-if="getStatus" style="height:10.8rem;background:url('/common-module/collection/image/bg/vip_bg_3.png') no-repeat;background-size:100% 100%">
-                    <vip-component data-cl-event="c_wx_open_buttionclick" @tabactive="tabActive" :power="conf" type="item_3" :entvisit="entvisit" :newvip="isVip" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_3.png'></vip-component>
+                    <vip-component data-cl-event="c_wx_open_buttionclick" @tabactive="tabActive" :power="conf" type="item_3" :entvisit="entvisit" :can-free-exp="canFreeExp" :newvip="isVip" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_3.png'></vip-component>
                 </div>
                 <div class="bg-white tab-card charts" v-if="conf._4 && mapChartData.rows.length !== 0  && !getStatus">
                     <div class="tab-card-title">市场区域分布</div>
@@ -372,7 +372,7 @@
                     </div>
                 </div>
                 <div class="vip_component" v-if="getStatus" style="height:10.56rem;background:url('/common-module/collection/image/bg/vip_bg_4.png') no-repeat;background-size:100% 100%">
-                    <vip-component data-cl-event="c_wx_open_buttionclick" @tabactive="tabActive" :power="conf" type="item_4" :entvisit="entvisit" :newvip="isVip" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_4.png'></vip-component>
+                    <vip-component data-cl-event="c_wx_open_buttionclick" @tabactive="tabActive" :power="conf" type="item_4" :entvisit="entvisit" :can-free-exp="canFreeExp" :newvip="isVip" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_4.png'></vip-component>
                 </div>
                 <div class="bg-white tab-card charts"  v-if="conf._4 && rateData.rows.length !== 0  && !getStatus">
                     <div class="tab-card-title">各类客户平均折扣率</div>
@@ -388,7 +388,7 @@
                     <div class="tab-card-tip">注:平均折扣率=(全部项目预算-全部中标金额)/全部项目预算,是指价格减让部分与原价的比率,仅统计预算和中标金额同时存在的项目。</div>
                 </div>
                 <div class="vip_component" v-if="getStatus" style="height:11.24rem;background:url('/common-module/collection/image/bg/vip_bg_5.png') no-repeat;background-size:100% 100%">
-                    <vip-component data-cl-event="c_wx_open_buttionclick" @tabactive="tabActive" :power="conf" type="item_5" :entvisit="entvisit" :newvip="isVip" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_5.png'></vip-component>
+                    <vip-component data-cl-event="c_wx_open_buttionclick" @tabactive="tabActive" :power="conf" type="item_5" :entvisit="entvisit" :can-free-exp="canFreeExp" :newvip="isVip" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_5.png'></vip-component>
                 </div>
                 <div class="bg-white tab-card charts"  v-show="conf._4 && entPortraitInfo.top10 && entPortraitInfo.top10.length != 0  && !getStatus">
                     <div class="tab-card-title">客户类型分布</div>
@@ -398,7 +398,7 @@
                     <div class="tab-card-tip">注:各客户类型占比以中标金额计算,最多展示占比排名前十的客户类型。</div>
                 </div>
                 <div class="vip_component" v-if="getStatus" style="height:11.92rem;background:url('/common-module/collection/image/bg/vip_bg_6.png') no-repeat;background-size:100% 100%">
-                    <vip-component data-cl-event="c_wx_open_buttionclick" @tabactive="tabActive" :power="conf" type="item_6" :entvisit="entvisit" :newvip="isVip" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_6.png'></vip-component>
+                    <vip-component data-cl-event="c_wx_open_buttionclick" @tabactive="tabActive" :power="conf" type="item_6" :entvisit="entvisit" :can-free-exp="canFreeExp" :newvip="isVip" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_6.png'></vip-component>
                 </div>
                 <div class="bg-white tab-card customers client"  v-show="conf._4 && importantCustomers.length !== 0  && !getStatus">
                     <div class="tab-card-title">重点客户</div>
@@ -428,7 +428,7 @@
                     </div>
                 </div>
                 <div class="vip_component" v-if="getStatus" style="height:10.8rem;background:url('/common-module/collection/image/bg/vip_bg_7.png') no-repeat;background-size:100% 100%">
-                    <vip-component data-cl-event="c_wx_open_buttionclick" @tabactive="tabActive" :power="conf" type="item_7" :entvisit="entvisit" :newvip="isVip" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_7.png'></vip-component>
+                    <vip-component data-cl-event="c_wx_open_buttionclick" @tabactive="tabActive" :power="conf" type="item_7" :entvisit="entvisit" :can-free-exp="canFreeExp" :newvip="isVip" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_7.png'></vip-component>
                 </div>
             </van-tab>
         </van-tabs>

+ 19 - 2
src/web/templates/frontRouter/wx/portraitRecord/sess/index.html

@@ -72,7 +72,7 @@
               finished-text=""
               @load="onLoad"
             >
-                <div class="ent-search-item" v-for="(item, i) in list" :key="item._id" @click="detailed(item._id)">
+                <div v-if="ptype==''" class="ent-search-item" v-for="(item, i) in list" :key="item._id" @click="detailed(item._id)">
                     <div class="ent-info-top">
                         <div class="ent-info-head" :style="{'background-color': item.color}">{item.abbr}</div>
                         <div class="ent-info-keep">
@@ -97,7 +97,24 @@
                             <div class="van-multi-ellipsis--l2">{item.address}</div>
                             <i class="j-icon base-icon icon-address"></i>
                         </div>
-
+                    </div>
+                </div>
+                <div v-if="ptype=='1'" class="ent-search-item" v-for="(item, i) in list" :key="item._id" @click="detailed(item._id)">
+                    <div class="ent-info-top">
+                        <div class="ent-info-head" :style="{'background-color': item.color}">{item.abbr}</div>
+                        <div class="ent-info-keep">
+                            <div class="ent-row">
+                                <div class="ent-name van-ellipsis">{item.name}</div>
+                                <div class="fill-icon-box" style="display: none">
+                                    <i class="j-icon base-icon icon-no-favorite"></i>
+                                </div>
+                            </div>
+                            <div class="ent-more">
+                                <div v-if="item.province">所在地: <span>{item.province} {item.city}</span></div>
+                                <div v-if="item.buyerClass">采购单位类型: <span>{item.buyerClass}</span></div>
+                            </div>
+                            <div class="ent-line-box"></div>
+                        </div>
                     </div>
                 </div>
             </van-list>

+ 3 - 2
src/web/templates/pc/subscribe_new.html

@@ -258,8 +258,9 @@
             <img src="{{Msg "seo" "cdn"}}/images/subscribe/vip_toUse.png?v={{Msg "seo" "version"}}" alt="" style="width: 335px;height: 447px">
             <button type="button" class="close vip" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
             <div class="vip-code">
-                <img id="vipCode" alt="" style="width: 139px;height: 139px">
-                <p class="vip-text">扫描二维码购买超级订阅</p>
+                <img id="vipCode" alt="" style="width: 149px;height: 149px">
+                <p class="vip-text">微信扫码关注公众号</p>
+                <p class="vip-text2">使用超级订阅</p>
             </div>
         </div>
     </div>

+ 10 - 0
src/web/templates/weixin/my.html

@@ -160,6 +160,16 @@
                             <span class="j-icon base-icon icon-arrow-right"></span>
                         </div>
                     </div>
+                    <div style="display: none;" class="menu-list-item clickable" id="buyer-follow-history" data-href="/weixin/frontPage/portraitRecord/sess/index?type=1">
+                        <div class="m-l-i-left">
+                            <span class="j-icon base-icon icon-company"></span>
+                            <span class="m-l-i-label">采购单位画像记录</span>
+                        </div>
+                        <div class="m-l-i-right">
+                            <i class="dot-red"></i>
+                            <span class="j-icon base-icon icon-arrow-right"></span>
+                        </div>
+                    </div>
                 </div>
                 <div class="menu-list">
                   <div class="menu-list-item clickable" id="" data-href="/page_docs_mobile/user/lib">

+ 87 - 33
src/web/templates/weixin/wxinfocontent_rec.html

@@ -1534,8 +1534,13 @@ function isOpening() {
 					//console.log(res)
           bigstatus = res.data.memberStatus
           powerArr = res.data.power
+          // 是大会员没有下载权限
+          if (bigstatus > 0 && powerArr.indexOf(3) == -1) {
+              window.isNoMember = true
+          }
+          // 是大会员 有下载权限
   				if (bigstatus > 0 && powerArr.indexOf(3) > -1) {
-  					window.isMemberAndPower = true
+  					  window.isMemberAndPower = true
   				}
           window.isFree = res.data.isFree // 是否是免费用户
           window.freeFile = res.data.freeFile // 免费用户 是否体验过 0:未体验过 -1:体验过
@@ -1563,7 +1568,8 @@ function isOpening() {
           if (res.data && res.data.isFree && res.data.freeFile == 0) {
             $('.free-down-text').css('display', 'inline-block')
           }
-          if (res.data && res.data.vipStatus > 0 && res.data.viper) {
+          //非大会员或大会员无此功能 且是新超级订阅用户
+          if (res.data && res.data.vipStatus > 0 && res.data.viper&&!window.isMemberAndPower) {
             $('.file-count-tip').css('display', 'inline-block')
             $('.concat-kf').css('display', 'inline-block')
             $('.icon-help').css('display', 'inline-block')
@@ -1623,39 +1629,87 @@ function andownload() {
 
                 $('.download-list>ul').append(html)
                 $('.downs').on('click', function(){
-                  //  留资判断
-                  if (window.isFree&&window.freeFile==0) {
+                  //免费用户
+                  if(window.isFree){
+                    //  留资判断
+                    if (window.freeFile==0) {
                       location.href = '/weixin/frontPage/bigmember/free/perfect_info?source=article_attach_freeuser'
                       return
-                  }
-                  //超级订阅
-                  if (window.vipStatus&&window.viper&&window.fileNum<=0){
-                    // 次数用完提醒联系客服
-                    vant.Dialog.confirm({
-                      message: '您本月查看机会已经消耗完毕,如需要更多服务,请前往联系客服。',
-                      showCancelButton: true,
-                      confirmButtonText: '联系客服',
-                      confirmButtonColor: '#2ABDD1',
-                      className: 'custom-dialog',
-                      width: 303
-
-                    }).then(() => {
-                      location.href = '/big/wx/page/customer'
-                    })
-                    .catch(() => {})
-                    return
-                  }
-                  //付费用户 无大会员此功能权限
-                  if (!window.isMemberAndPower&&!isFree){
-                    vant.Dialog.alert({
-                      message: '您未购买此服务,如需使用请联系您的客户经理或客服升级套餐,谢谢!',
-                      className: 'custom-dialog',
-                      confirmButtonText: '我知道了',
-                      confirmButtonColor: '#2ABDD1',
-                      closeOnClickOverlay: true,
-                      width: 303,
-                    }).then(() => {})
-                    return
+                    }else if (window.freeFile < 0 ) {
+                      // 免费用户 体验过 下载次数为-1 弹框提醒跳至超级订阅购买页
+                      vant.Dialog.confirm({
+                        title: '开通超级订阅',
+                        message: '您已经免费解锁过【附件下载】权益1次,暂无免费查看权限。如需查看更多,请开通超级订阅获取更多权限。',
+                        showCancelButton: true,
+                        confirmButtonText: '去开通',
+                        confirmButtonColor: '#2ABDD1',
+                        className: 'custom-dialog',
+                        width: 303,
+                        messageAlign: 'left',
+                      }).then(() => {
+                        location.href = '/front/vipsubscribe/vipsubscribe_new'
+                      })
+                      .catch(() => {})
+                      return
+                    }
+                  }else{
+                    // 付费用户
+                    // 大会员用户 有下载权限
+                    if (window.isMemberAndPower) {
+                      if(mySysIsIos()){
+                        iosShow(url)
+                      } else {
+                        location.href = url
+                      }
+                      return
+                    }
+                    //超级订阅
+                    if (window.vipStatus>0){
+                      //超级订阅新用户
+                      if(window.viper){
+                        // 次数用完提醒联系客服
+                        if (window.fileNum<=0){
+                          vant.Dialog.confirm({
+                            message: '您本月查看机会已经消耗完毕,如需要更多服务,请前往联系客服。',
+                            showCancelButton: true,
+                            confirmButtonText: '联系客服',
+                            confirmButtonColor: '#2ABDD1',
+                            className: 'custom-dialog',
+                            width: 303
+      
+                          }).then(() => {
+                            location.href = '/big/wx/page/customer'
+                          })
+                          .catch(() => {})
+                          return
+                        }
+                      }else{
+                        //超级订阅老用户  提醒升级
+                        vant.Dialog.confirm({
+                          title: '升级超级订阅',
+                          message: '对不起,暂无权限,您可升级超级订阅解锁附件下载',
+                          showCancelButton: true,
+                          confirmButtonText: '前往升级',
+                          confirmButtonColor: '#2ABDD1',
+                          className: 'custom-dialog',
+                          width: 303
+                        }).then(() => {
+                          location.href = '/front/vipsubscribe/upgradePage'
+                        }).catch(() => {})
+                        return
+                      }
+                    }
+                    // 是大会员自定义版本没有下载权限 或 非超级订阅的商机管理用户 (弹框提醒联系客服)
+                    if (window.isNoMember == true || (window.vipStatus <=0 && window.entniche)) {
+                      vant.Dialog.alert({
+                        message: '您未购买此服务,如需使用请联系您的客户经理或客服升级套餐,谢谢!',
+                        className: 'custom-dialog',
+                        confirmButtonText: '我知道了',
+                        confirmButtonColor: '#2ABDD1',
+                        width: 303,
+                      }).then(() => {})
+                      return
+                    }
                   }
                   //
                   gotoFilePage($(this).find('a').text())