Pārlūkot izejas kodu

feat: 大会员引流遮罩调整、企业画像滚动切换锚点

yangfeng 4 gadi atpakaļ
vecāks
revīzija
6a71828f50

+ 999 - 963
src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/ent_portrait.js

@@ -1,1022 +1,1058 @@
 var vNode = {
-    delimiters: ['${', '}'],
-    el: '#ent-portrait',
-    components: {
-        vipComponent: vipComponent,
-        hisproComponent: hisproComponent
-    },
-    data () {
-        // 修改柱状条颜色为渐变色
-        this.colorGreen = [new echarts.graphic.LinearGradient(
-            0, 0, 0, 1,
-            [
-                {offset: 1, color: '#2ABED1'},
-                {offset: 0.5, color: '#2ABED1'},
-                {offset: 0, color: '#8DE0EB'}
-            ], false
-        ), '#FF9F40']
+  delimiters: ['${', '}'],
+  el: '#ent-portrait',
+  components: {
+    vipComponent: vipComponent,
+    hisproComponent: hisproComponent
+  },
+  data () {
+    // 修改柱状条颜色为渐变色
+    this.colorGreen = [new echarts.graphic.LinearGradient(
+      0, 0, 0, 1,
+      [
+        { offset: 1, color: '#2ABED1' },
+        { offset: 0.5, color: '#2ABED1' },
+        { offset: 0, color: '#8DE0EB' }
+      ], false
+    ), '#FF9F40']
 
-        return {
-            sessKey: '$data-ent_portrait',
-            conf: {
-                // 权限查询是否完成
-                powerLoaded: false,
-                // 是否只显示完整的企业画像
-                showPortraitAll: true,
-                // 是否显示,企业全景分析
-                _4: false,
-                // 是否显示中标企业动态
-                _13: false,
-                // 是否有企业情报历史记录权限
-                _12: false,
-                isMember: 0 // 是否是大会员
-            },
-            powerInfo: {},
-            tabActiveName: '1',
-            // 企业信息
-            entInfo: {
-                name: '',
-                follow: 0,
-                followSearchFinish: false,
-                entExist: true
-            },
-            // tab1中的企业基础信息
-            entBaseInfo: {
-                type: null,
-                status: null,
-                creditNo: '',
-                capital: '',
-                employeeNo: '',
-                address: '',
-                scope: '',
-                operStart: -1,
-                operEnd: -1,
-                establish: '',
-                showEntChange: false,
-                org_code: '',
-                company_code: '',
-                legal: '',
-                phone: '',
-                taxCode: ''
-            },
-            // tab2中的项目动态
-            topProject: {
-                list: [],
-                count: '',
-                pageSign: '',
-                showGetNextButton: true
-            },
-            entPortraitInfo: {},
-            stickyTop: 80,
-            singleTab: true,
-            // 年度项目统计设置
-            annualSetting:{
-                showLine: ['项目金额'],
-                axisSite: { right: ['项目金额'] }
-            },
-            // 地图配置项
-            mapSettings: mapSettings,
-            // 年度项目统计数据
-            annualData: {
-                columns: ["日期","项目数量","项目金额"],
-                rows: []
-            },
-            // 地图数据
-            mapChartData: {
-                columns: ['name', 'value'],
-                rows: []
-            },
-            // 月度中标金额
-            monthZbData: {
-                columns: [],
-                rows: []
-            },
-            // 平均折扣率
-            rateData: {
-                columns: [],
-                rows: []
-            },
-            pieChartSettings: {
-                roseType: 'radius'
-            },
-            importantCustomers: [],
-            scrollTop: 0,
-            getEntPortraitInfoTimes: 0,
-            initEchartsOptions: {
-                renderer: 'svg'
-            },
-            gotTab2: false, // 是否已经获取到tab2的数据了
-            svip: false, // 判断是否是超级订阅的企业画像
-            overlayShow: true, // 弹窗遮罩是否显示
-            isVip: false, // 只是超级订阅
-            bidcollPowerInfo: {
-                vip: 0,
-                text: '开通',
-                btntext: '去开通'
-            },
-            entvisit: {
-                total: 0, // 本月画像次数总量
-                usage: 0, // 本月已使用次数
-                provin: 0, // 购买省份数量
-                visited: false // 是否查看中标信息
-            },
-            portrait:'winner'
-        }
+    return {
+      sessKey: '$data-ent_portrait',
+      conf: {
+        // 权限查询是否完成
+        powerLoaded: false,
+        // 是否只显示完整的企业画像
+        showPortraitAll: true,
+        // 是否显示,企业全景分析
+        _4: false,
+        // 是否显示中标企业动态
+        _13: false,
+        // 是否有企业情报历史记录权限
+        _12: false,
+        isMember: 0 // 是否是大会员
+      },
+      powerInfo: {},
+      tabActiveName: '1',
+      // 企业信息
+      entInfo: {
+        name: '',
+        follow: 0,
+        followSearchFinish: false,
+        entExist: true
+      },
+      // tab1中的企业基础信息
+      entBaseInfo: {
+        type: null,
+        status: null,
+        creditNo: '',
+        capital: '',
+        employeeNo: '',
+        address: '',
+        scope: '',
+        operStart: -1,
+        operEnd: -1,
+        establish: '',
+        showEntChange: false,
+        org_code: '',
+        company_code: '',
+        legal: '',
+        phone: '',
+        taxCode: ''
+      },
+      // tab2中的项目动态
+      topProject: {
+        list: [],
+        count: '',
+        pageSign: '',
+        showGetNextButton: true
+      },
+      entPortraitInfo: {},
+      stickyTop: 80,
+      singleTab: true,
+      // 年度项目统计设置
+      annualSetting: {
+        showLine: ['项目金额'],
+        axisSite: { right: ['项目金额'] }
+      },
+      // 地图配置项
+      mapSettings: mapSettings,
+      // 年度项目统计数据
+      annualData: {
+        columns: ["日期", "项目数量", "项目金额"],
+        rows: []
+      },
+      // 地图数据
+      mapChartData: {
+        columns: ['name', 'value'],
+        rows: []
+      },
+      // 月度中标金额
+      monthZbData: {
+        columns: [],
+        rows: []
+      },
+      // 平均折扣率
+      rateData: {
+        columns: [],
+        rows: []
+      },
+      pieChartSettings: {
+        roseType: 'radius'
+      },
+      importantCustomers: [],
+      scrollTop: 0,
+      getEntPortraitInfoTimes: 0,
+      initEchartsOptions: {
+        renderer: 'svg'
+      },
+      gotTab2: false, // 是否已经获取到tab2的数据了
+      svip: false, // 判断是否是超级订阅的企业画像
+      overlayShow: true, // 弹窗遮罩是否显示
+      isVip: false, // 只是超级订阅
+      bidcollPowerInfo: {
+        vip: 0,
+        text: '开通',
+        btntext: '去开通'
+      },
+      entvisit: {
+        total: 0, // 本月画像次数总量
+        usage: 0, // 本月已使用次数
+        provin: 0, // 购买省份数量
+        visited: false // 是否查看中标信息
+      },
+      portrait: 'winner',
+      showBaseInfo: false
+    }
+  },
+  created: function () {
+    // svip是超级订阅企业查询, 如果是超级订阅不能查看企业情报历史记录
+    var svip = utils.getParam('svip')
+    if (svip) {
+      this.svip = true
+    }
+    // 企业名称恢复
+    var eId = utils.getParam('eId')
+    if (eId) {
+      eId = decodeURIComponent(eId)
+    }
+    this.entInfo.id = eId
+    this.entInfo.name = ''
+    this.restore = this.reStoreState()
+    this.getPowerInfo()
+    if (!this.restore) {
+      // 获取企业基本信息
+      this.getEntBaseInfo()
+    }
+  },
+  mounted: function () {
+    var _this = this
+    // 动态调整sticky距离顶部的高度
+    this.getStickyTop()
+    if (this.scrollTop) {
+      setTimeout(function () {
+        $('#ent-portrait').scrollTop(_this.scrollTop)
+      }, 0)
+    }
+
+    window.addEventListener('resize', function () {
+      _this.getStickyTop()
+    })
+  },
+  watch: {
+    // tabActiveName: function (newVal, oldVal) {
+    //   console.log(newVal)
+    //     var _this = this
+    //     if (newVal == '2' || newVal == '1') {
+    //         this.$nextTick(function () {
+    //             if (_this.gotTab2) {
+    //                 // 初始化图表
+    //                 if (_this.entPortraitInfo && _this.conf.showPortraitAll && !_this.singleTab) {
+    //                     _this.initChartsData();
+    //                 }
+    //             } else {
+    //                 if (_this.conf._4) {
+    //                     // 获取企业画像信息-4
+    //                     _this.getEntPortrait(function () {
+    //                         _this.initChartsData()
+    //                     })
+    //                     _this.gotTab2 = true
+    //                     console.log('获取企业全景分析...')
+    //                 }
+    //                 // 获取企业中标动态-13
+    //                 if (_this.conf._13) {
+    //                     // _this.getProjectNews()
+    //                     _this.gotTab2 = true
+    //                     console.log('获取企业中标动态...')
+    //                 }
+    //                 if(_this.powerInfo.memberStatus <= 0) {
+    //                     // 不是大会员点击中标信息使用次数加一
+    //                     // if(!_this.entvisit.visited) {
+    //                     //     _this.entvisit.usage++
+    //                     //     _this.entvisit.visited = true
+    //                     // }
+    //                 }
+    //                 _this.gotTab2 = true
+    //             }
+    //         });
+    //     }
+    // },
+  },
+  computed: {
+    // 3个权限有1个就为true(取反为3个权限1个都没有)
+    hasOnePower: function () {
+      return this.conf._4 || this.conf._12 || this.conf._13
+    },
+    setShow: function () {
+      // 必须在tab2,并且三个权限都没有,就用显示
+      return this.tabActiveName == '2' && !this.hasOnePower
+    },
+    // 查看次数为零,显示遮罩
+    getStatus: function () {
+      return (!this.conf._4 && !this.isVip) || (this.entvisit.total <= this.entvisit.usage && this.powerInfo.memberStatus <= 0 && !this.entvisit.visited)
+    },
+    isMember () {
+      return this.powerInfo.memberStatus <= 0 || !this.conf._4
+    },
+    isShowUpTip () {
+      return this.entvisit.provin == -1 ? false : !this.surplus
     },
-    created: function () {
-        // svip是超级订阅企业查询, 如果是超级订阅不能查看企业情报历史记录
-        var svip = utils.getParam('svip')
-        if (svip) {
-            this.svip = true
+    surplus: function () {
+      return this.entvisit.total > this.entvisit.usage
+    }
+  },
+  methods: {
+    getDataFn: function () {
+      var _this = this
+      this.$nextTick(function () {
+        // 初始化图表
+        if (_this.entPortraitInfo && _this.conf.showPortraitAll && !_this.singleTab) {
+          _this.initChartsData();
         }
-        // 企业名称恢复
-        var eId = utils.getParam('eId')
-        if (eId) {
-          eId = decodeURIComponent(eId)
+
+        if (_this.conf._4) {
+          // 获取企业画像信息-4
+          _this.getEntPortrait(function () {
+            _this.initChartsData()
+          })
+          _this.gotTab2 = true
+          console.log('获取企业全景分析...')
         }
-        this.entInfo.id = eId
-        this.entInfo.name = ''
-        this.restore = this.reStoreState()
-        this.getPowerInfo()
-        if (!this.restore) {
-            // 获取企业基本信息
-            this.getEntBaseInfo()
+        // 获取企业中标动态-13
+        if (_this.conf._13) {
+          _this.getProjectNews()
+          _this.gotTab2 = true
+          console.log('获取企业中标动态...')
         }
-    },
-    mounted: function () {
-        var _this = this
-        // 动态调整sticky距离顶部的高度
-        this.getStickyTop()
-        if (this.scrollTop) {
-            setTimeout(function () {
-                $('#ent-portrait').scrollTop(_this.scrollTop)
-            }, 0)
+        if (_this.powerInfo.memberStatus <= 0) {
+          // 不是大会员点击中标信息使用次数加一
+          // if(!_this.entvisit.visited) {
+          //     _this.entvisit.usage++
+          //     _this.entvisit.visited = true
+          // }
         }
+        _this.gotTab2 = true
 
-        window.addEventListener('resize', function() {
-            _this.getStickyTop()
-        })
+      });
     },
-    watch: {
-        tabActiveName: function (newVal, oldVal) {
-            var _this = this
-            if (newVal == '2') {
-                this.$nextTick(function () {
-                    if (_this.gotTab2) {
-                        // 初始化图表
-                        if (_this.entPortraitInfo && _this.conf.showPortraitAll && !_this.singleTab) {
-                            _this.initChartsData();
-                        }
-                    } else {
-                        if (_this.conf._4) {
-                            // 获取企业画像信息-4
-                            _this.getEntPortrait(function () {
-                                _this.initChartsData()
-                            })
-                            _this.gotTab2 = true
-                            console.log('获取企业全景分析...')
-                        }
-                        // 获取企业中标动态-13
-                        if (_this.conf._13) {
-                            _this.getProjectNews()
-                            _this.gotTab2 = true
-                            console.log('获取企业中标动态...')
-                        }
-                        if(_this.powerInfo.memberStatus <= 0) {
-                            // 不是大会员点击中标信息使用次数加一
-                            // if(!_this.entvisit.visited) {
-                            //     _this.entvisit.usage++
-                            //     _this.entvisit.visited = true
-                            // }
-                        }
-                        _this.gotTab2 = true
-                    }
-                });
-            }
-        },
+    // 点击去开通记住tab栏下标
+    tabActive: function (data) {
+      this.savePageState()
     },
-    computed: {
-        // 3个权限有1个就为true(取反为3个权限1个都没有)
-        hasOnePower: function () {
-            return this.conf._4 || this.conf._12 || this.conf._13
-        },
-        setShow: function() {
-            // 必须在tab2,并且三个权限都没有,就用显示
-            return this.tabActiveName == '2' && !this.hasOnePower
-        },
-        // 查看次数为零,显示遮罩
-        getStatus: function () {
-            return (!this.conf._4 && !this.isVip) || (this.entvisit.total <= this.entvisit.usage && this.powerInfo.memberStatus <= 0 && !this.entvisit.visited)
-        },
-        isMember () {
-          return this.powerInfo.memberStatus <= 0 || !this.conf._4
-        },
-        isShowUpTip () {
-          return this.entvisit.provin == -1 ? false : !this.surplus
-        },
-        surplus: function () {
-            return this.entvisit.total > this.entvisit.usage
+    showToast: function (message) {
+      this.$toast({
+        duration: 1500,
+        forbidClick: true,
+        message: message,
+      })
+    },
+    showLoading: function () {
+      var loading = this.$toast.loading({
+        duration: 0,
+        forbidClick: true,
+        message: '',
+      })
+      return loading
+    },
+    // 超级订阅提示弹窗取消按钮事件
+    beforeClose: function (e, done) {
+      console.log(e)
+      if (e === 'cancel') {
+        this.tabActiveName = '1'
+        done(false)
+        this.overlayShow = true
+      } else if (e === 'confirm') {
+        try {
+          _hmt.push(['_trackEvent', '超级订阅-app', 'click', '企业画像中标信息-去开通']);
+        } catch (e) {
+          console.log('未初始化百度统计')
+        }
+        // 去开通
+        if (this.bidcollPowerInfo.vip == 1) {
+          location.href = '/jyapp/vipsubscribe/upgradePage'
+        } else {
+          location.href = '/jyapp/vipsubscribe/vipsubscribe_new'
         }
+      }
+      this.overlayShow = true
     },
-    methods: {
-        // 点击去开通记住tab栏下标
-        tabActive: function(data) {
-            this.savePageState()
-        },
-        showToast: function (message) {
-            this.$toast({
-                duration: 1500,
-                forbidClick: true,
-                message: message,
-            })
-        },
-        showLoading: function() {
-            var loading = this.$toast.loading({
-                duration: 0,
-                forbidClick: true,
-                message: '',
-            })
-            return loading
-        },
-        // 超级订阅提示弹窗取消按钮事件
-        beforeClose: function (e, done) {
-            console.log(e)
-            if (e === 'cancel') {
-                this.tabActiveName = '1'
-                done(false)
-                this.overlayShow = true
-            } else if (e === 'confirm') {
-                try {
-                  _hmt.push(['_trackEvent','超级订阅-app', 'click', '企业画像中标信息-去开通']);
-                } catch (e) {
-                  console.log('未初始化百度统计')
-                }
-                // 去开通
-                if(this.bidcollPowerInfo.vip == 1) {
-                    location.href = '/jyapp/vipsubscribe/upgradePage'
-                } else {
-                    location.href = '/jyapp/vipsubscribe/vipsubscribe_new'
-                }
-            }
-            this.overlayShow = true
-        },
-        // 获取画像信息
-        getEntPortrait: function (callback) {
-            var _this = this
-            var data = {
-                entId: _this.entInfo.id
-            }
-            let urls = ''
-            if(_this.powerInfo.memberStatus <= 0 || _this.svip) {
-                urls = '/bigmember/portrait/subVipPortrait/winner'
+    // 获取画像信息
+    getEntPortrait: function (callback) {
+      var _this = this
+      var data = {
+        entId: _this.entInfo.id
+      }
+      let urls = ''
+      if (_this.powerInfo.memberStatus <= 0 || _this.svip) {
+        urls = '/bigmember/portrait/subVipPortrait/winner'
 
-            } else {
-                urls = '/bigmember/portrait/winner/getData'
-            }
-            _this.getEntPortraitInfoTimes++
-            $.ajax({
-                type: 'POST',
-                url: urls,
-                data: data,
-                success: function (res) {
-                    if (res.error_code == 0) {
-                        _this.loading.clear()
-                        if (res.data && Object.keys(res.data).length !== 0) {
-                            _this.singleTab = false
-                            // 将数据保存到data中
-                            for (var key in res.data) {
-                                _this.entPortraitInfo[key] = res.data[key]
-                            }
+      } else {
+        urls = '/bigmember/portrait/winner/getData'
+      }
+      _this.getEntPortraitInfoTimes++
+      $.ajax({
+        type: 'POST',
+        url: urls,
+        data: data,
+        success: function (res) {
+          if (res.error_code == 0) {
+            _this.loading.clear()
+            if (res.data && Object.keys(res.data).length !== 0) {
+              _this.singleTab = false
+              // 将数据保存到data中
+              for (var key in res.data) {
+                _this.entPortraitInfo[key] = res.data[key]
+              }
 
-                            if (res.data.timeRange && res.data.timeRange.start) {
-                                _this.entPortraitInfo.timeRangeStart = res.data.timeRange.start
-                            }
-                            if (res.data.timeRange && res.data.timeRange.end) {
-                                _this.entPortraitInfo.timeRangeEnd = res.data.timeRange.end
-                            }
+              if (res.data.timeRange && res.data.timeRange.start) {
+                _this.entPortraitInfo.timeRangeStart = res.data.timeRange.start
+              }
+              if (res.data.timeRange && res.data.timeRange.end) {
+                _this.entPortraitInfo.timeRangeEnd = res.data.timeRange.end
+              }
 
-                            callback && callback()
-                        } else {
-                            if (_this.getEntPortraitInfoTimes < 5) {
-                                _this.getEntPortrait()
-                            }
-                        }
-                    }
-                },
-                error: function (error) {
-                    _this.$toast('请求失败')
-                }
-            })
+              callback && callback()
+            } else {
+              if (_this.getEntPortraitInfoTimes < 5) {
+                _this.getEntPortrait()
+              }
+            }
+          }
         },
-        // 企业画像访问量查询
-        getEntVisits: function() {
-            let _this = this
-            $.ajax({
-                type: "POST",
-                url: "/bigmember/portrait/subVipPortrait/usage",
-                data: {
-                    entId: _this.entInfo.id
-                },
-                success: function (res) {
-                    console.log(res)
-                    if(res.error_code == 0) {
-                        if(res.data) {
-                            _this.entvisit = res.data
-                        }
-                    }
-                }
-            });
+        error: function (error) {
+          _this.$toast('请求失败')
+        }
+      })
+    },
+    // 企业画像访问量查询
+    getEntVisits: function () {
+      let _this = this
+      $.ajax({
+        type: "POST",
+        url: "/bigmember/portrait/subVipPortrait/usage",
+        data: {
+          entId: _this.entInfo.id
         },
-        // 获取项目动态
-        getProjectNews: function () {
-            var _this = this
-            var data = {
-                entId: _this.entInfo.id,
-                count: _this.topProject.count,
-                pageSign: _this.topProject.pageSign
+        success: function (res) {
+          console.log(res)
+          if (res.error_code == 0) {
+            if (res.data) {
+              _this.entvisit = res.data
             }
+          }
+        }
+      });
+    },
+    // 获取项目动态
+    getProjectNews: function () {
+      var _this = this
+      var data = {
+        entId: _this.entInfo.id,
+        count: _this.topProject.count,
+        pageSign: _this.topProject.pageSign
+      }
 
-            if (data.pageSign) {
-                this.loading = this.showLoading()
-            }
+      if (data.pageSign) {
+        this.loading = this.showLoading()
+      }
 
-            var urls = ''
-            if (this.isVip) {
-                urls = '/bigmember/portrait/subVipPortrait/winnerNewMsg'
-            } else {
-                urls = '/bigmember/portrait/winner/getNewMsg'
-            }
+      var urls = ''
+      if (this.isVip) {
+        urls = '/bigmember/portrait/subVipPortrait/winnerNewMsg'
+      } else {
+        urls = '/bigmember/portrait/winner/getNewMsg'
+      }
 
-            $.ajax({
-                type: 'POST',
-                url: urls,
-                data: data,
-                success: function (res) {
-                    if (res.error_code == 0) {
-                        _this.loading.clear()
-                        _this.topProject.count = res.data.count
-                        if (res.data.list && $.isArray(res.data.list)) {
-                            if (!_this.topProject.pageSign) {
-                                _this.singleTab = false
-                            }
+      $.ajax({
+        type: 'POST',
+        url: urls,
+        data: data,
+        success: function (res) {
+          if (res.error_code == 0) {
+            _this.loading.clear()
+            _this.topProject.count = res.data.count
+            if (res.data.list && $.isArray(res.data.list)) {
+              if (!_this.topProject.pageSign) {
+                _this.singleTab = false
+              }
 
-                            // 修改当前pageSign值
-                            if (!_this.topProject.pageSign) {
-                                _this.topProject.list = []
-                                _this.topProject.pageSign = 'more'
-                                if(res.data.count <= 3) {
-                                    _this.topProject.showGetNextButton = false
-                                }
-                            } else if (_this.topProject.pageSign === 'more') {
-                                _this.topProject.pageSign = 'max'
-                                if(res.data.count <= 23) {
-                                    _this.topProject.showGetNextButton = false
-                                }
-                            } else if (_this.topProject.pageSign === 'max') {
-                                _this.topProject.showGetNextButton = false
-                            }
-
-                            _this.topProject.list = _this.topProject.list.concat(res.data.list)
-                        }
-                    } else {
-                        _this.$toast(res.error_msg)
-                    }
-                },
-                error: function (error) {
-                    _this.$toast('请求失败')
+              // 修改当前pageSign值
+              if (!_this.topProject.pageSign) {
+                _this.topProject.list = []
+                _this.topProject.pageSign = 'more'
+                if (res.data.count <= 3) {
+                  _this.topProject.showGetNextButton = false
                 }
-            })
-        },
-        // 查询企业基础信息
-        getEntBaseInfo: function () {
-            var _this = this
-            let urls = ''
-            if(_this.powerInfo.memberStatus <= 0 || _this.svip) {
-                urls = '/bigmember/portrait/subVipPortrait/entDetail'
-            } else {
-                urls = '/bigmember/portrait/ent/detail'
-            }
-            $.ajax({
-                type: 'POST',
-                url: urls,
-                data: {
-                    entId: _this.entInfo.id
-                },
-                success: function (res) {
-                    if (res.error_code == 0) {
-                        _this.loading.clear()
-                        if (res.data && Object.keys(res.data).length !== 0) {
-                            _this.entInfo.name = res.data.entName
-                            for (var key in res.data) {
-                                _this.entBaseInfo[key] = res.data[key]
-                            }
-                        }
-                    } else {
-                        // 不显示提示信息
-                        // _this.$toast(res.error_msg)
-                    }
-                },
-                error: function (error) {
-                    console.log(error)
+              } else if (_this.topProject.pageSign === 'more') {
+                _this.topProject.pageSign = 'max'
+                if (res.data.count <= 23) {
+                  _this.topProject.showGetNextButton = false
                 }
-            })
-        },
-        // 查询企业是否存在和企业关注状态
-        getEntFollowState: function () {
-            var _this = this
-            _this.entInfo.followSearchFinish = false
-            $.ajax({
-                type: 'POST',
-                url: '/bigmember/follow/ent/followCheck',
-                data: {
-                  entId: _this.entInfo.id
-                },
-                success: function (res) {
-                    if (res.error_code == 0) {
-                        _this.entInfo.followSearchFinish = true
-                        if (res.data) {
-                            _this.entInfo.follow = !!res.data.followed
-                            _this.entInfo.entExist = !!res.data.isShow
-                        } else {
-                            _this.entInfo.entExist = false
-                        }
-                    } else {
-                        _this.$toast(res.error_msg)
-                    }
-                },
-                error: function (error) {
-                    console.log(error)
-                }
-            })
-        },
-        changeFollowState: function () {
-            var _this = this
-            if (this.entInfo.follow) {
-                this.$dialog.confirm({
-                    title: '提示信息',
-                    message: '取消对“' + _this.entInfo.name + '”的关注?',
-                    confirmButtonColor: '#2cb7ca'
-                }).then(function () {
-                    _this.changeFollowStateRequest()
-                })
-                .catch(function () {
-                    console.log('取消操作')
-                })
-            } else {
-                this.changeFollowStateRequest()
+              } else if (_this.topProject.pageSign === 'max') {
+                _this.topProject.showGetNextButton = false
+              }
+
+              _this.topProject.list = _this.topProject.list.concat(res.data.list)
             }
+          } else {
+            _this.$toast(res.error_msg)
+          }
         },
-        // 获取权限信息
-        getPowerInfo: function () {
-            var _this = this
-            this.loading = this.showLoading()
-            $.ajax({
-                type: 'GET',
-                url: '/bigmember/use/isAdd',
-                success: function (res) {
-                    if (res.error_code == 0) {
-                        _this.conf.powerLoaded = true
-                        if (res.data) {
-                            _this.powerInfo = res.data
-                        }
-                        if (res.data && $.isArray(res.data.power)) {
-                            // 显示完整企业画像(不完整的企业画像只有中标动态)
-                            // _this.conf.showPortraitAll = true
-                            // 根据power判断权限,企业画像包含权限(4,12,13)
-                            var power = res.data.power
-                            if (res.data.viper) {
-                                _this.isVip = true
-                            }
-                            if (power.indexOf(4) != -1 || res.data.viper) {
-                                // 获取企业画像信息-4
-                                _this.conf._4 = true
-                            }
-                            if (power.indexOf(13) != -1 || res.data.viper) {
-                                // 获取企业中标动态-13
-                                _this.conf._13 = true
-                            }
-                            if (power.indexOf(12) != -1) {
-                                // 获取企业情报历史记录-12
-                                _this.conf._12 = true
-                            }
-                            // follow的权限:4.12.13只要有一个就可以
-                            if (res.data.memberStatus > 0 && (power.indexOf(4) != -1||power.indexOf(12) != -1||power.indexOf(13) != -1)) {
-                                _this.getEntFollowState()
-                            } else {
-                                _this.entInfo.followSearchFinish = true
-                                _this.entInfo.entExist = false
-                                _this.getEntVisits()
-                                _this.portrait = 'winnerVip'
-                            }
-                            _this.singleTab = false
-                        }
-                        
-                        if (res.data.vipStatus > 0) {
-                            if (!res.data.viper) {
-                                _this.bidcollPowerInfo.text = '升级'
-                                _this.bidcollPowerInfo.btntext = '去升级'
-                                _this.bidcollPowerInfo.vip = 1
-                            }
-                        }
-                        _this.conf.isMember = res.data.memberStatus
-                    } else {
-                        _this.$toast(res.error_msg)
-                    }
-                },
-                complete: function () {
-                    if (_this.loading) {
-                        _this.loading.clear()
-                    }
-                },
-                error: function (error) {
-                    console.log(error)
-                }
-            })
+        error: function (error) {
+          _this.$toast('请求失败')
+        }
+      })
+    },
+    // 查询企业基础信息
+    getEntBaseInfo: function () {
+      var _this = this
+      let urls = ''
+      if (_this.powerInfo.memberStatus <= 0 || _this.svip) {
+        urls = '/bigmember/portrait/subVipPortrait/entDetail'
+      } else {
+        urls = '/bigmember/portrait/ent/detail'
+      }
+      $.ajax({
+        type: 'POST',
+        url: urls,
+        data: {
+          entId: _this.entInfo.id
         },
-        // 修改企业关注状态
-        changeFollowStateRequest: function () {
-            var _this = this
-            var loading = this.showLoading()
-            var urls = {
-                addFollow: '/bigmember/follow/ent/addFollow',
-                delFollow: '/bigmember/follow/ent/delFollow'
+        success: function (res) {
+          if (res.error_code == 0) {
+            _this.loading.clear()
+            if (res.data && Object.keys(res.data).length !== 0) {
+              _this.entInfo.name = res.data.entName
+              for (var key in res.data) {
+                _this.entBaseInfo[key] = res.data[key]
+              }
             }
-            var url = !!this.entInfo.follow ? urls.delFollow : urls.addFollow
-            $.ajax({
-                type: 'POST',
-                url: url,
-                data: {
-                  entId: _this.entInfo.id
-                },
-                success: function (res) {
-                    if (res.error_code == 0) {
-                        // 清除上个页面缓存
-                     sessionStorage.removeItem('$data-ent_follow')
-                        loading.clear()
-                        if (res.data && res.data == 'success') {
-                            _this.entInfo.follow = !_this.entInfo.follow
-                        }
-
-                        if (!_this.entInfo.follow) {
-                            history.back()
-                        }
-                    } else {
-                        _this.showToast(res.error_msg)
-                    }
-                },
-                error: function (error) {
-                    console.log(error)
-                }
-            })
-        },
-        // 初始化图标数据
-        initChartsData: function () {
-            var dataSet = this.entPortraitInfo
-            // 初始化 年度项目统计数据
-            this.arrangeAnnualData(dataSet.yearData)
-            // 初始化 月度统计数据
-            this.arrangeMonthZbData(dataSet.monthData)
-            // 初始化 地图数据
-            this.arrangeMapData(dataSet.areaData)
-            // 初始化 平局折扣率数据
-            this.arrangeRateData(dataSet.rate)
-            // 初始化 饼图 客户类型分布
-            this.initPieChartData(dataSet.top10)
-            // 初始化 重要客户数据
-            this.arrangeImportantData(dataSet.topShow)
+          } else {
+            // 不显示提示信息
+            // _this.$toast(res.error_msg)
+          }
         },
-        getStickyTop: function () {
-            this.stickyTop = $('.jy-app-header').height() - 1
+        error: function (error) {
+          console.log(error)
+        }
+      })
+    },
+    // 查询企业是否存在和企业关注状态
+    getEntFollowState: function () {
+      var _this = this
+      _this.entInfo.followSearchFinish = false
+      $.ajax({
+        type: 'POST',
+        url: '/bigmember/follow/ent/followCheck',
+        data: {
+          entId: _this.entInfo.id
         },
-        goToEntHistory: function () {
-            // if (this.powerInfo.isSubCount) {
-            //     return this.showToast('子账号无法使用企业情报监控')
-            // }
-
-            this.savePageState()
-            var info = {
-                anchor: '企业情报监控'
+        success: function (res) {
+          if (res.error_code == 0) {
+            _this.entInfo.followSearchFinish = true
+            if (res.data) {
+              _this.entInfo.follow = !!res.data.followed
+              _this.entInfo.entExist = !!res.data.isShow
+            } else {
+              _this.entInfo.entExist = false
             }
-            sessionStorage.setItem('landinfo',JSON.stringify(info))
-            location.href = './ent_portrait_change?eId=' + encodeURIComponent(this.entInfo.id)
+          } else {
+            _this.$toast(res.error_msg)
+          }
         },
-        // 修改年度项目统计里点击浮窗显示效果
-        formatter: function (params) {
-            //移除重复的数据
-            for (var i = 0; i < params.length; i++) {
-                for (var j = params.length - 1; j > i; j--) {
-                    if (params[j].data == params[i].data) {
-                        params.splice(j, 1);
-                        break;
-                    }
-                }
+        error: function (error) {
+          console.log(error)
+        }
+      })
+    },
+    changeFollowState: function () {
+      var _this = this
+      if (this.entInfo.follow) {
+        this.$dialog.confirm({
+          title: '提示信息',
+          message: '取消对“' + _this.entInfo.name + '”的关注?',
+          confirmButtonColor: '#2cb7ca'
+        }).then(function () {
+          _this.changeFollowStateRequest()
+        })
+          .catch(function () {
+            console.log('取消操作')
+          })
+      } else {
+        this.changeFollowStateRequest()
+      }
+    },
+    // 获取权限信息
+    getPowerInfo: function () {
+      var _this = this
+      this.loading = this.showLoading()
+      $.ajax({
+        type: 'GET',
+        url: '/bigmember/use/isAdd',
+        success: function (res) {
+          if (res.error_code == 0) {
+            _this.conf.powerLoaded = true
+            if (res.data) {
+              _this.powerInfo = res.data
             }
-            var tip = '';
-            for (var i = 0; i < params.length; i++) {
-                // 因柱状图颜色为渐变色,此处获取到的柱状图颜色,css不能识别,需单独设置小圆点的颜色
-                params[0].marker = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#2ABED1"></span>'
-                if( i=== 0) {
-                    tip = tip + params[i].marker + params[i].seriesName + ':' + params[i].value + '个' + '<br/>';
-                }else if(i == 1){
-                    tip = tip + params[i].marker + params[i].seriesName + ':' + params[i].value + '万元' + '<br/>';
-                }
+            if (res.data && $.isArray(res.data.power)) {
+              // 显示完整企业画像(不完整的企业画像只有中标动态)
+              // _this.conf.showPortraitAll = true
+              // 根据power判断权限,企业画像包含权限(4,12,13)
+              var power = res.data.power
+              if (res.data.viper) {
+                _this.isVip = true
+              }
+              if (power.indexOf(4) != -1 || res.data.viper) {
+                // 获取企业画像信息-4
+                _this.conf._4 = true
+              }
+              if (power.indexOf(13) != -1 || res.data.viper) {
+                // 获取企业中标动态-13
+                _this.conf._13 = true
+              }
+              if (power.indexOf(12) != -1) {
+                // 获取企业情报历史记录-12
+                _this.conf._12 = true
+              }
+              // follow的权限:4.12.13只要有一个就可以
+              if (res.data.memberStatus > 0 && (power.indexOf(4) != -1 || power.indexOf(12) != -1 || power.indexOf(13) != -1)) {
+                _this.getEntFollowState()
+              } else {
+                _this.entInfo.followSearchFinish = true
+                _this.entInfo.entExist = false
+                _this.getEntVisits()
+                _this.portrait = 'winnerVip'
+              }
+              _this.singleTab = false
             }
-            tip += '<div style="padding-top:2px;text-align:center;color:#9B9CA3;">' + ' - ' + params[0].name + ' - ' + '</div>'
-            return tip;
-        },
-        // 1. 年度项目统计图表单独配置
-        annualConfig: function (options) {
-            var that = this;
-            options.grid.bottom = 60
-            options.tooltip.axisPointer.shadowStyle.color = 'rgba(42, 190, 209,0.1)' // 修改点击柱条后背景颜色
-            options.legend.show = true // 显示底部数量、金额、圆点
-            options.yAxis[1].axisLabel.show = true; // 显示右侧y轴刻度
-            options.yAxis[1].axisLabel.formatter = function(value, index) {
-                return value.toString().replace(/,/, '')
-            }  // 去掉右轴逗号分割
-            options.series[1].lineStyle.width = 2 // 折线
-            options.series[1].lineStyle.color = '#FF9F40'
-            // 以下代码为:处理左侧y轴与右侧y轴刻度保持在同一X轴水平线上
-            var maxCountList = this.annualData.rows.map(function(v){
-                return v['项目数量']
-            })
-            var maxPriceList = this.annualData.rows.map(function(v){
-                return v['项目金额']
-            })
-
-            var maxCount = Math.ceil(Math.max.apply(null,maxCountList)).toString();// 取出数量中最大值
-            var maxPrice = Math.ceil(Math.max.apply(null,maxPriceList)).toString();// 取出金额中最大值
-            // var minPrice = Math.min.apply(null,maxPriceList);// 去除金额最小值
-            maxPrice = Math.ceil(maxPrice / (Math.pow(10,maxPrice.length -1))) * Math.pow(10,maxPrice.length -1)
-            maxCount = Math.ceil(maxCount / (Math.pow(10,maxCount.length -1))) * Math.pow(10,maxCount.length -1)
-            var item = options.yAxis
-            item[0].min = 0;
-            item[1].min = 0;
-            item[0].max = maxCount;
-            item[0].interval = Math.ceil(maxCount / 5);
-            item[1].max = maxPrice;
-            item[1].interval = Math.ceil((maxPrice - 0) / 5);
 
-            // 处理点击浮窗显示效果
-            options.tooltip.formatter = function(params) {
-                return that.formatter(params)
-            }
-            options.legend.formatter = function (name) {
-                var wnYuan = ['金额', '项目金额']
-                var ge = ['数量', '项目数量']
-                if (wnYuan.indexOf(name) !== -1) {
-                    name += '(万元)-右轴'
-                } else if (ge.indexOf(name) !== -1) {
-                    name += '(个)'
-                }
-                return name;
+            if (res.data.vipStatus > 0) {
+              if (!res.data.viper) {
+                _this.bidcollPowerInfo.text = '升级'
+                _this.bidcollPowerInfo.btntext = '去升级'
+                _this.bidcollPowerInfo.vip = 1
+              }
             }
-            return options
+            _this.conf.isMember = res.data.memberStatus
+            _this.getDataFn()
+          } else {
+            _this.$toast(res.error_msg)
+          }
         },
-        // 2. 月度中标金额(折线图)
-        lineChartConfig: function (options) {
-            options.yAxis[0].name = '中标金额(万元)';
-            options.legend.itemGap = 20;
-            options.tooltip.formatter = function(params) {
-                var tip = '';
-                for (var i = 0; i < params.length; i++) {
-                    params[i].marker = '<span style="display:inline-block;margin-right:5px;border-radius:8px;width:8px;height:8px;background-color:' + params[i].color + ';"></span>'
-                    if(params[i].value[1] !== undefined && params[i].value[1] !== null && !isNaN(params[i].value[1])) {
-                        tip = tip + params[i].marker + params[i].seriesName + params[i].name + '中标金额:' + params[i].value[1].toString().replace(/,/,'') + '万元' +'<br/>';
-                    }
-                }
-                tip += '<div style="padding-top:2px;text-align:center;color:#9B9CA3;">' + ' - ' + params[0].name + ' - ' + '</div>'
-                return tip;
-            }
-            return options;
+        complete: function () {
+          if (_this.loading) {
+            _this.loading.clear()
+          }
         },
-        // 3. 地图配置项
-        mapConfig: function (options) {
-            var _this = this
-            var arr = this.mapChartData.rows
-            // 最大值、最小值
-            var maxNum = Math.max.apply(Math, arr.map(function(o) {return o.value}))
-            var minNum = Math.min.apply(Math, arr.map(function(o) {return o.value}))
-
-            options.visualMap.min = minNum;
-            options.visualMap.max = maxNum < 100 ? 100 : maxNum;
-
-            // 设置最大值
-            options.graphic[options.graphic.length - 1].children[0].style.text = maxNum > 100 ? maxNum : 100
-            options.graphic[options.graphic.length - 1].children[1].style.text = 1;
-            options.visualMap.min = 1;
-            options.visualMap.max = maxNum < 100 ? 100 : maxNum;
-            options.graphic[0].children[0].style.text = '项目数量(个)'
-            options.tooltip.formatter = function (params) {
-                var index = params.dataIndex
-                var item = _this.mapChartData.rows[index]
-                var string = ''
-                if (item) {
-                    if (item.value && item.amount) {
-                        string = item.name + '<br/>项目数量:' + item.value + '个<br/>中标金额:' + item.amount + '万元'
-                    } else if (item.value) {
-                        string = item.name + '<br/>项目数量:' + item.value + '个'
-                    } else if (item.amount) {
-                        string = item.name + '<br/>中标金额:' + item.amount + '万元'
-                    }
-                }
-                return string
-            }
-            return options
+        error: function (error) {
+          console.log(error)
+        }
+      })
+    },
+    // 修改企业关注状态
+    changeFollowStateRequest: function () {
+      var _this = this
+      var loading = this.showLoading()
+      var urls = {
+        addFollow: '/bigmember/follow/ent/addFollow',
+        delFollow: '/bigmember/follow/ent/delFollow'
+      }
+      var url = !!this.entInfo.follow ? urls.delFollow : urls.addFollow
+      $.ajax({
+        type: 'POST',
+        url: url,
+        data: {
+          entId: _this.entInfo.id
         },
-        // 4. 客户平均折扣率配置
-        rateConfig: function (options) {
-            options.color = ['#FB483D', '#05A6F3', '#0BD991', '#FF9F40','#8E6DF2','#C0C4CC'];
-            options.xAxis[0].axisLabel.margin = 12
-            options.yAxis[0].axisLabel.formatter = '{value}%'
-            options.grid = {
-                top: 20,
-                right: 16,
-                bottom: 70,
-                left: 10
+        success: function (res) {
+          if (res.error_code == 0) {
+            // 清除上个页面缓存
+            sessionStorage.removeItem('$data-ent_follow')
+            loading.clear()
+            if (res.data && res.data == 'success') {
+              _this.entInfo.follow = !_this.entInfo.follow
             }
-            options.legend.textStyle.padding = [0, 18, 0,0];
-            options.legend.left = 16;
-            options.legend.bottom = 10;
-            options.tooltip.formatter = function(params) {
-                var tip = '';
-                for (var i = 0; i < params.length; i++) {
-                    params[i].marker = '<span style="display:inline-block;margin-right:5px;border-radius:8px;width:8px;height:8px;background-color:' + params[i].color + ';"></span>'
-                    if(params[i].value[1] === undefined || params[i].value[1] == null) {
-                        tip = tip + params[i].marker + params[i].seriesName + ':--<br/>';
-                    } else {
-                        tip = tip + params[i].marker + params[i].seriesName + ':' + params[i].value[1] + '%<br/>';
-                    }
-                }
-                tip += '<div style="padding-top:2px;text-align:center;color:#9B9CA3;">' + ' - ' + params[0].name + ' - ' + '</div>'
-                return tip;
+
+            if (!_this.entInfo.follow) {
+              history.back()
             }
-            return options;
+          } else {
+            _this.showToast(res.error_msg)
+          }
         },
-        // 整理年度项目统计数据
-        arrangeAnnualData: function (data) {
-            if (!data) return
+        error: function (error) {
+          console.log(error)
+        }
+      })
+    },
+    // 初始化图标数据
+    initChartsData: function () {
+      var dataSet = this.entPortraitInfo
+      // 初始化 年度项目统计数据
+      this.arrangeAnnualData(dataSet.yearData)
+      // 初始化 月度统计数据
+      this.arrangeMonthZbData(dataSet.monthData)
+      // 初始化 地图数据
+      this.arrangeMapData(dataSet.areaData)
+      // 初始化 平局折扣率数据
+      this.arrangeRateData(dataSet.rate)
+      // 初始化 饼图 客户类型分布
+      this.initPieChartData(dataSet.top10)
+      // 初始化 重要客户数据
+      this.arrangeImportantData(dataSet.topShow)
+    },
+    getStickyTop: function () {
+      this.stickyTop = '21.33333vw'
+    },
+    goToEntHistory: function () {
+      // if (this.powerInfo.isSubCount) {
+      //     return this.showToast('子账号无法使用企业情报监控')
+      // }
 
-            var rows = [];
-            var count = 0;
-            for (var key in data) {
-                var item = data[key]
-                // 统计数据总数是否为0
-                count += item.Count
-                count += item.Money
-                rows.push({
-                    '日期': parseInt(key),
-                    '项目数量': item.Count,
-                    '项目金额': Math.round(item.Money / 10000)
-                })
-            }
+      this.savePageState()
+      var info = {
+        anchor: '企业情报监控'
+      }
+      sessionStorage.setItem('landinfo', JSON.stringify(info))
+      location.href = './ent_portrait_change?eId=' + encodeURIComponent(this.entInfo.id)
+    },
+    // 修改年度项目统计里点击浮窗显示效果
+    formatter: function (params) {
+      //移除重复的数据
+      for (var i = 0; i < params.length; i++) {
+        for (var j = params.length - 1; j > i; j--) {
+          if (params[j].data == params[i].data) {
+            params.splice(j, 1);
+            break;
+          }
+        }
+      }
+      var tip = '';
+      for (var i = 0; i < params.length; i++) {
+        // 因柱状图颜色为渐变色,此处获取到的柱状图颜色,css不能识别,需单独设置小圆点的颜色
+        params[0].marker = '<span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:#2ABED1"></span>'
+        if (i === 0) {
+          tip = tip + params[i].marker + params[i].seriesName + ':' + params[i].value + '个' + '<br/>';
+        } else if (i == 1) {
+          tip = tip + params[i].marker + params[i].seriesName + ':' + params[i].value + '万元' + '<br/>';
+        }
+      }
+      tip += '<div style="padding-top:2px;text-align:center;color:#9B9CA3;">' + ' - ' + params[0].name + ' - ' + '</div>'
+      return tip;
+    },
+    // 1. 年度项目统计图表单独配置
+    annualConfig: function (options) {
+      var that = this;
+      options.grid.bottom = 60
+      options.tooltip.axisPointer.shadowStyle.color = 'rgba(42, 190, 209,0.1)' // 修改点击柱条后背景颜色
+      options.legend.show = true // 显示底部数量、金额、圆点
+      options.yAxis[1].axisLabel.show = true; // 显示右侧y轴刻度
+      options.yAxis[1].axisLabel.formatter = function (value, index) {
+        return value.toString().replace(/,/, '')
+      }  // 去掉右轴逗号分割
+      options.series[1].lineStyle.width = 2 // 折线
+      options.series[1].lineStyle.color = '#FF9F40'
+      // 以下代码为:处理左侧y轴与右侧y轴刻度保持在同一X轴水平线上
+      var maxCountList = this.annualData.rows.map(function (v) {
+        return v['项目数量']
+      })
+      var maxPriceList = this.annualData.rows.map(function (v) {
+        return v['项目金额']
+      })
 
-            // rows = utils.bSort(rows, '日期').reverse()
-            rows = utils.bSort(rows, '日期')
+      var maxCount = Math.ceil(Math.max.apply(null, maxCountList)).toString();// 取出数量中最大值
+      var maxPrice = Math.ceil(Math.max.apply(null, maxPriceList)).toString();// 取出金额中最大值
+      // var minPrice = Math.min.apply(null,maxPriceList);// 去除金额最小值
+      maxPrice = Math.ceil(maxPrice / (Math.pow(10, maxPrice.length - 1))) * Math.pow(10, maxPrice.length - 1)
+      maxCount = Math.ceil(maxCount / (Math.pow(10, maxCount.length - 1))) * Math.pow(10, maxCount.length - 1)
+      var item = options.yAxis
+      item[0].min = 0;
+      item[1].min = 0;
+      item[0].max = maxCount;
+      item[0].interval = Math.ceil(maxCount / 5);
+      item[1].max = maxPrice;
+      item[1].interval = Math.ceil((maxPrice - 0) / 5);
 
-            // 数据总量为0,不赋值
-            if (count != 0) {
-                this.annualData.rows = rows;
-            }
-        },
-        // 整理月度项目统计数据
-        arrangeMonthZbData: function (data) {
-            if (!data) return
-            var rows = []
-            var columns = ['月份']
-            var count = 0
-            var allNum = []
-            // 1. 先将月份提取出来, 并排序
-            var yearArr = []
-            for (var key in data) {
-                yearArr.push(parseInt(key))
-                for (var n in data[key]) {
-                  allNum.push(data[key][n])
-                }
-            }
-            yearArr.sort(function (a, b) { return a - b })
+      // 处理点击浮窗显示效果
+      options.tooltip.formatter = function (params) {
+        return that.formatter(params)
+      }
+      options.legend.formatter = function (name) {
+        var wnYuan = ['金额', '项目金额']
+        var ge = ['数量', '项目数量']
+        if (wnYuan.indexOf(name) !== -1) {
+          name += '(万元)-右轴'
+        } else if (ge.indexOf(name) !== -1) {
+          name += '(个)'
+        }
+        return name;
+      }
+      return options
+    },
+    // 2. 月度中标金额(折线图)
+    lineChartConfig: function (options) {
+      options.yAxis[0].name = '中标金额(万元)';
+      options.legend.itemGap = 20;
+      options.tooltip.formatter = function (params) {
+        var tip = '';
+        for (var i = 0; i < params.length; i++) {
+          params[i].marker = '<span style="display:inline-block;margin-right:5px;border-radius:8px;width:8px;height:8px;background-color:' + params[i].color + ';"></span>'
+          if (params[i].value[1] !== undefined && params[i].value[1] !== null && !isNaN(params[i].value[1])) {
+            tip = tip + params[i].marker + params[i].seriesName + params[i].name + '中标金额:' + params[i].value[1].toString().replace(/,/, '') + '万元' + '<br/>';
+          }
+        }
+        tip += '<div style="padding-top:2px;text-align:center;color:#9B9CA3;">' + ' - ' + params[0].name + ' - ' + '</div>'
+        return tip;
+      }
+      return options;
+    },
+    // 3. 地图配置项
+    mapConfig: function (options) {
+      var _this = this
+      var arr = this.mapChartData.rows
+      // 最大值、最小值
+      var maxNum = Math.max.apply(Math, arr.map(function (o) { return o.value }))
+      var minNum = Math.min.apply(Math, arr.map(function (o) { return o.value }))
 
-            // 2. 循环12个月份,并进行处理
-            yearArr.forEach(function (item) {
-                columns.push(item + '年')
-            })
-            for (var i = 1; i <= 12; i++) {
-                var columnsItem = {}
-                columns.forEach(function (item) {
-                    var value = ''
-                    if (item == '月份') {
-                        value = i + '月'
-                    } else if (/年/g.test(item)) {
-                        if (data[item.slice(0, -1)]) {
-                            value = data[item.slice(0, -1)][i]
-                            value = (value / 10000).fixed(2)
-                            count += parseInt(value)
-                        }
-                    }
-                    columnsItem[item] = value
-                })
-                rows.push(columnsItem)
-            }
-            var maxNum = Math.max.apply(Math, allNum.map(function(o) { return o }))
-            // 数据总量为0,不赋值
-            if (count != 0 && maxNum !== 0) {
-                this.monthZbData.columns = columns;
-                this.monthZbData.rows = rows;
-            }
-        },
-        // 整理主要市场分布(中国地图)数据
-        arrangeMapData: function(data) {
-            if (!data) return
+      options.visualMap.min = minNum;
+      options.visualMap.max = maxNum < 100 ? 100 : maxNum;
 
-            var mapRows = []
-            var count = 0
-            if (data && $.isArray(data)) {
-                data.forEach(function (n) {
-                    count += n.projectCount
+      // 设置最大值
+      options.graphic[options.graphic.length - 1].children[0].style.text = maxNum > 100 ? maxNum : 100
+      options.graphic[options.graphic.length - 1].children[1].style.text = 1;
+      options.visualMap.min = 1;
+      options.visualMap.max = maxNum < 100 ? 100 : maxNum;
+      options.graphic[0].children[0].style.text = '项目数量(个)'
+      options.tooltip.formatter = function (params) {
+        var index = params.dataIndex
+        var item = _this.mapChartData.rows[index]
+        var string = ''
+        if (item) {
+          if (item.value && item.amount) {
+            string = item.name + '<br/>项目数量:' + item.value + '个<br/>中标金额:' + item.amount + '万元'
+          } else if (item.value) {
+            string = item.name + '<br/>项目数量:' + item.value + '个'
+          } else if (item.amount) {
+            string = item.name + '<br/>中标金额:' + item.amount + '万元'
+          }
+        }
+        return string
+      }
+      return options
+    },
+    // 4. 客户平均折扣率配置
+    rateConfig: function (options) {
+      options.color = ['#FB483D', '#05A6F3', '#0BD991', '#FF9F40', '#8E6DF2', '#C0C4CC'];
+      options.xAxis[0].axisLabel.margin = 12
+      options.yAxis[0].axisLabel.formatter = '{value}%'
+      options.grid = {
+        top: 20,
+        right: 16,
+        bottom: 70,
+        left: 10
+      }
+      options.legend.textStyle.padding = [0, 18, 0, 0];
+      options.legend.left = 16;
+      options.legend.bottom = 10;
+      options.tooltip.formatter = function (params) {
+        var tip = '';
+        for (var i = 0; i < params.length; i++) {
+          params[i].marker = '<span style="display:inline-block;margin-right:5px;border-radius:8px;width:8px;height:8px;background-color:' + params[i].color + ';"></span>'
+          if (params[i].value[1] === undefined || params[i].value[1] == null) {
+            tip = tip + params[i].marker + params[i].seriesName + ':--<br/>';
+          } else {
+            tip = tip + params[i].marker + params[i].seriesName + ':' + params[i].value[1] + '%<br/>';
+          }
+        }
+        tip += '<div style="padding-top:2px;text-align:center;color:#9B9CA3;">' + ' - ' + params[0].name + ' - ' + '</div>'
+        return tip;
+      }
+      return options;
+    },
+    // 整理年度项目统计数据
+    arrangeAnnualData: function (data) {
+      if (!data) return
 
-                    mapRows.push({
-                        name: n.areaName,
-                        value: n.projectCount,
-                        amount: (n.bidamountCount / 10000).fixed(2)
-                    })
-                })
-            }
+      var rows = [];
+      var count = 0;
+      for (var key in data) {
+        var item = data[key]
+        // 统计数据总数是否为0
+        count += item.Count
+        count += item.Money
+        rows.push({
+          '日期': parseInt(key),
+          '项目数量': item.Count,
+          '项目金额': Math.round(item.Money / 10000)
+        })
+      }
 
-            // 数据总量为0,不赋值
-            if (count != 0) {
-                this.mapChartData.rows = mapRows;
-            }
-        },
-        // 整理平均折扣率数据
-        arrangeRateData: function (data) {
-            if (!data) return
-            var rows = []
-            var columns = ['日期', '全部客户']
-            var count = 0
+      // rows = utils.bSort(rows, '日期').reverse()
+      rows = utils.bSort(rows, '日期')
 
-            for (var c in data) {
-                if (c !== '全部客户') {
-                    columns.push(c)
-                }
-            }
-            // 获取年份数组
-            var yearArr = []
-            for (var key in data['全部客户']) {
-                yearArr.push(key)
+      // 数据总量为0,不赋值
+      if (count != 0) {
+        this.annualData.rows = rows;
+      }
+    },
+    // 整理月度项目统计数据
+    arrangeMonthZbData: function (data) {
+      if (!data) return
+      var rows = []
+      var columns = ['月份']
+      var count = 0
+      var allNum = []
+      // 1. 先将月份提取出来, 并排序
+      var yearArr = []
+      for (var key in data) {
+        yearArr.push(parseInt(key))
+        for (var n in data[key]) {
+          allNum.push(data[key][n])
+        }
+      }
+      yearArr.sort(function (a, b) { return a - b })
+
+      // 2. 循环12个月份,并进行处理
+      yearArr.forEach(function (item) {
+        columns.push(item + '年')
+      })
+      for (var i = 1; i <= 12; i++) {
+        var columnsItem = {}
+        columns.forEach(function (item) {
+          var value = ''
+          if (item == '月份') {
+            value = i + '月'
+          } else if (/年/g.test(item)) {
+            if (data[item.slice(0, -1)]) {
+              value = data[item.slice(0, -1)][i]
+              value = (value / 10000).fixed(2)
+              count += parseInt(value)
             }
-            yearArr.sort(function (a, b) { return a - b })
+          }
+          columnsItem[item] = value
+        })
+        rows.push(columnsItem)
+      }
+      var maxNum = Math.max.apply(Math, allNum.map(function (o) { return o }))
+      // 数据总量为0,不赋值
+      if (count != 0 && maxNum !== 0) {
+        this.monthZbData.columns = columns;
+        this.monthZbData.rows = rows;
+      }
+    },
+    // 整理主要市场分布(中国地图)数据
+    arrangeMapData: function (data) {
+      if (!data) return
 
-            yearArr.forEach(function (item) {
-                var rowsItem = {
-                    '日期': item + '年'
-                }
-                for (var k in data) {
-                    count += (data[k][item] * 100)
-                    rowsItem[k] = data[k][item] == null  ? null : (data[k][item] * 100).fixed(2)
-                }
-                rows.push(rowsItem)
-            })
+      var mapRows = []
+      var count = 0
+      if (data && $.isArray(data)) {
+        data.forEach(function (n) {
+          count += n.projectCount
 
-            // 数据总量为0,不赋值
-            if (count != 0) {
-                this.rateData.columns = columns;
-                this.rateData.rows = rows;
-            }
-        },
-        // 初始化饼图
-        initPieChartData: function (d) {
-            if (!d) return
-            var that = this
-            var arr = []
-            var data = JSON.parse(JSON.stringify(d))
-            // 降序排列
-            data.sort(function (a, b) {
-                return b.bidamount_share - a.bidamount_share
-            })
-            data.forEach(function (item){
-              arr.push(item.buyerClass,item.bidamount_share,item.bidamount_count,item.project_count,item.rate_avg)
-            })
-            var normal =['行业','中标金额占比','中标金额','项目数量','平均折扣率'];
-            var newArr = that.arrTrans(5,arr);
-            newArr.unshift(normal)
-            chartOptions.deformPieChart.dataset.source = newArr;
-            chartOptions.deformPieChart.tooltip.formatter = function(params){
-                var tip = '';
-                var data = params.data;
-                params.marker = '<span style="display:inline-block;margin-right:5px;border-radius:8px;width:8px;height:8px;background-color:' + params.color +'"></span>';
-                var percent = '<span style="padding-left:13px;">中标金额占比:' + (data[1]*100).fixed(2) + '%</span></br>';
-                var scale = '<span style="padding-left:13px;">中标金额:' + utils.moneyUnit(data[2].fixed(2)) + '</span></br>';
-                var count = '<span style="padding-left:13px;">项目数量:' + data[3] + '个</span></br>';
-                var rate = (typeof data[4] === 'number' && !isNaN(data[4])) ? '<span style="padding-left:13px;">平均折扣率:' + (data[4]*100).fixed(2) + '%</span></br>' : '';
-                tip = params.marker + params.name +'<br/>' + percent + scale + count + rate
-                return tip;
-            }
-            chartOptions.deformPieChart.legend.formatter = null
-            that.$nextTick(function(){
-                var ref = that.$refs.pieChart;
-                var pieChart = echarts.init(ref, null, that.initEchartsOptions);
-                pieChart.setOption(chartOptions.deformPieChart);
-                pieChart.resize();
+          mapRows.push({
+            name: n.areaName,
+            value: n.projectCount,
+            amount: (n.bidamountCount / 10000).fixed(2)
+          })
+        })
+      }
+
+      // 数据总量为0,不赋值
+      if (count != 0) {
+        this.mapChartData.rows = mapRows;
+      }
+    },
+    // 整理平均折扣率数据
+    arrangeRateData: function (data) {
+      if (!data) return
+      var rows = []
+      var columns = ['日期', '全部客户']
+      var count = 0
+
+      for (var c in data) {
+        if (c !== '全部客户') {
+          columns.push(c)
+        }
+      }
+      // 获取年份数组
+      var yearArr = []
+      for (var key in data['全部客户']) {
+        yearArr.push(key)
+      }
+      yearArr.sort(function (a, b) { return a - b })
+
+      yearArr.forEach(function (item) {
+        var rowsItem = {
+          '日期': item + '年'
+        }
+        for (var k in data) {
+          count += (data[k][item] * 100)
+          rowsItem[k] = data[k][item] == null ? null : (data[k][item] * 100).fixed(2)
+        }
+        rows.push(rowsItem)
+      })
+
+      // 数据总量为0,不赋值
+      if (count != 0) {
+        this.rateData.columns = columns;
+        this.rateData.rows = rows;
+      }
+    },
+    // 初始化饼图
+    initPieChartData: function (d) {
+      if (!d) return
+      var that = this
+      var arr = []
+      var data = JSON.parse(JSON.stringify(d))
+      // 降序排列
+      data.sort(function (a, b) {
+        return b.bidamount_share - a.bidamount_share
+      })
+      data.forEach(function (item) {
+        arr.push(item.buyerClass, item.bidamount_share, item.bidamount_count, item.project_count, item.rate_avg)
+      })
+      var normal = ['行业', '中标金额占比', '中标金额', '项目数量', '平均折扣率'];
+      var newArr = that.arrTrans(5, arr);
+      newArr.unshift(normal)
+      chartOptions.deformPieChart.dataset.source = newArr;
+      chartOptions.deformPieChart.tooltip.formatter = function (params) {
+        var tip = '';
+        var data = params.data;
+        params.marker = '<span style="display:inline-block;margin-right:5px;border-radius:8px;width:8px;height:8px;background-color:' + params.color + '"></span>';
+        var percent = '<span style="padding-left:13px;">中标金额占比:' + (data[1] * 100).fixed(2) + '%</span></br>';
+        var scale = '<span style="padding-left:13px;">中标金额:' + utils.moneyUnit(data[2].fixed(2)) + '</span></br>';
+        var count = '<span style="padding-left:13px;">项目数量:' + data[3] + '个</span></br>';
+        var rate = (typeof data[4] === 'number' && !isNaN(data[4])) ? '<span style="padding-left:13px;">平均折扣率:' + (data[4] * 100).fixed(2) + '%</span></br>' : '';
+        tip = params.marker + params.name + '<br/>' + percent + scale + count + rate
+        return tip;
+      }
+      chartOptions.deformPieChart.legend.formatter = null
+      that.$nextTick(function () {
+        var ref = that.$refs.pieChart;
+        var pieChart = echarts.init(ref, null, that.initEchartsOptions);
+        pieChart.setOption(chartOptions.deformPieChart);
+        pieChart.resize();
+      })
+    },
+    arrTrans: function (num, arr) { // 一维数组转换为二维数组
+      var iconsArr = [];
+      arr.forEach(function (item, index) {
+        var page = Math.floor(index / num); // 计算该元素为第几个素组内
+        if (!iconsArr[page]) { // 判断是否存在
+          iconsArr[page] = [];
+        }
+        iconsArr[page].push(item);
+      });
+      return iconsArr;
+    },
+    // 整理重要客户数据
+    arrangeImportantData: function (data) {
+      if (!data) return
+      var arr = []
+      if ($.isArray(data)) {
+        data.forEach(function (list) {
+          var i1 = {
+            title: list.buyerclass,
+            list: []
+          }
+          if (list.topData && $.isArray(list.topData)) {
+            list.topData.forEach(function (item) {
+              i1.list.push({
+                name: item.BuyerName,
+                money: item.CountMoney,
+                count: item.CountProject,
+                rate: item.AvgRate ? (item.AvgRate * 100).fixed(2) : item.AvgRate,
+                time: new Date(item.lastTime * 1000).pattern('yyyy/MM/dd'),
+                percent: item.CountMoney / list.topData[0].CountMoney * 100 + '%'
+              })
             })
-        },
-        arrTrans: function(num, arr) { // 一维数组转换为二维数组
-            var iconsArr = [];
-            arr.forEach(function(item, index) {
-                var page = Math.floor(index / num); // 计算该元素为第几个素组内
-                if (!iconsArr[page]) { // 判断是否存在
-                    iconsArr[page] = [];
-                }
-                iconsArr[page].push(item);
-            });
-            return iconsArr;
-        },
-        // 整理重要客户数据
-        arrangeImportantData: function (data) {
-            if (!data) return
-            var arr = []
-            if ($.isArray(data)) {
-                data.forEach(function (list) {
-                    var i1 = {
-                        title: list.buyerclass,
-                        list: []
-                    }
-                    if (list.topData && $.isArray(list.topData)) {
-                        list.topData.forEach(function (item) {
-                            i1.list.push({
-                                name: item.BuyerName,
-                                money: item.CountMoney,
-                                count: item.CountProject,
-                                rate: item.AvgRate ? (item.AvgRate*100).fixed(2) : item.AvgRate,
-                                time: new Date(item.lastTime * 1000).pattern('yyyy/MM/dd'),
-                                percent: item.CountMoney / list.topData[0].CountMoney*100 + '%'
-                            })
-                        })
-                    }
+          }
 
-                    if (!list.buyerclass || ($.isArray(list.topData) && list.topData.length === 0)) {
-                        // console.log('此数据为空')
-                    } else {
-                        arr.push(i1)
-                    }
-                })
-            }
-            this.importantCustomers = arr
-        },
-        // 去公告详情页
-        toProjectDetail: function (item) {
-            this.savePageState()
-            if (item.id) {
-                var href = '/jyapp/article/content/' + item.id + '.html'
-                location.href = href
-            }
-        },
-        // 去中标单位画像
-        toUnitPortrayal: function (item) {
-            this.savePageState()
-            if (item.name) {
-                location.href = 'unit_portrayal?entName=' + item.name
-            }
-        },
-        savePageState: function () {
-            this.scrollTop = $('#ent-portrait').scrollTop()
-            var data = {
-                conf: this.conf,
-                tabActiveName: this.tabActiveName,
-                entInfo: this.entInfo,
-                entBaseInfo: this.entBaseInfo,
-                topProject: this.topProject,
-                entPortraitInfo: this.entPortraitInfo,
-                powerInfo: this.powerInfo,
-                singleTab: this.singleTab,
-                scrollTop: this.scrollTop,
-                gotTab2: this.gotTab2
-            }
-            sessionStorage.setItem(this.sessKey, JSON.stringify(data))
-        },
-        reStoreState: function () {
-            var $data = sessionStorage.getItem(this.sessKey)
-            if ($data) {
-                $data = JSON.parse($data)
-                // 如果恢复的企业名称和当前url企业名称不同,则清除缓存,重新请求
-                if (this.entInfo.id !== $data.entInfo.id) {
-                    sessionStorage.removeItem(this.sessKey)
-                    return false
-                }
-                this.tabActiveName = $data.tabActiveName
-                Object.assign(this.conf, $data.conf || {})
-                Object.assign(this.entInfo, $data.entInfo || {})
-                Object.assign(this.entBaseInfo, $data.entBaseInfo || {})
-                Object.assign(this.topProject, $data.topProject || {})
-                Object.assign(this.entPortraitInfo, $data.entPortraitInfo || {})
-                Object.assign(this.powerInfo, $data.powerInfo || {})
-                Object.assign(this.entvisit, $data.entvisit || {})
-                this.singleTab = $data.singleTab
-                this.scrollTop = $data.scrollTop
-                this.gotTab2 = $data.gotTab2
-                sessionStorage.removeItem(this.sessKey)
-            }
-            return !!$data
+          if (!list.buyerclass || ($.isArray(list.topData) && list.topData.length === 0)) {
+            // console.log('此数据为空')
+          } else {
+            arr.push(i1)
+          }
+        })
+      }
+      this.importantCustomers = arr
+    },
+    // 去公告详情页
+    toProjectDetail: function (item) {
+      this.savePageState()
+      if (item.id) {
+        var href = '/jyapp/article/content/' + item.id + '.html'
+        location.href = href
+      }
+    },
+    // 去中标单位画像
+    toUnitPortrayal: function (item) {
+      this.savePageState()
+      if (item.name) {
+        location.href = 'unit_portrayal?entName=' + item.name
+      }
+    },
+    savePageState: function () {
+      this.scrollTop = $('#ent-portrait').scrollTop()
+      var data = {
+        conf: this.conf,
+        tabActiveName: this.tabActiveName,
+        entInfo: this.entInfo,
+        entBaseInfo: this.entBaseInfo,
+        topProject: this.topProject,
+        entPortraitInfo: this.entPortraitInfo,
+        powerInfo: this.powerInfo,
+        singleTab: this.singleTab,
+        scrollTop: this.scrollTop,
+        gotTab2: this.gotTab2
+      }
+      sessionStorage.setItem(this.sessKey, JSON.stringify(data))
+    },
+    reStoreState: function () {
+      var $data = sessionStorage.getItem(this.sessKey)
+      if ($data) {
+        $data = JSON.parse($data)
+        // 如果恢复的企业名称和当前url企业名称不同,则清除缓存,重新请求
+        if (this.entInfo.id !== $data.entInfo.id) {
+          sessionStorage.removeItem(this.sessKey)
+          return false
         }
+        this.tabActiveName = $data.tabActiveName
+        Object.assign(this.conf, $data.conf || {})
+        Object.assign(this.entInfo, $data.entInfo || {})
+        Object.assign(this.entBaseInfo, $data.entBaseInfo || {})
+        Object.assign(this.topProject, $data.topProject || {})
+        Object.assign(this.entPortraitInfo, $data.entPortraitInfo || {})
+        Object.assign(this.powerInfo, $data.powerInfo || {})
+        Object.assign(this.entvisit, $data.entvisit || {})
+        this.singleTab = $data.singleTab
+        this.scrollTop = $data.scrollTop
+        this.gotTab2 = $data.gotTab2
+        sessionStorage.removeItem(this.sessKey)
+      }
+      return !!$data
     }
+  }
 }
 var vueComponent = new Vue(vNode)

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

@@ -1,59 +1,67 @@
 <!DOCTYPE html>
 <html lang="zh-CN" style="font-size: 50px;">
+
 <head>
-    <title>企业画像</title>
+  <title>企业画像</title>
 
-    <!--引入公共资源头部-->
-    {{include "/big-member/meta.html"}}
+  <!--引入公共资源头部-->
+  {{include "/big-member/meta.html"}}
 
-    <!--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=//cdn.jsdelivr.net/npm/v-charts@1.19.0/lib/style.min.css />
-    <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/css/index.css?v={{Msg "seo" "version"}}' />
-    <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/css/vant-reset.css?v={{Msg "seo" "version"}}' />
-    <link rel="stylesheet" href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/css/ent_portrait.css?v={{Msg "seo" "version"}}' />
-    <!--E-当前页面的css资源-->
+  <!--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=//cdn.jsdelivr.net/npm/v-charts@1.19.0/lib/style.min.css />
+  <link rel="stylesheet"
+    href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/css/index.css?v={{Msg "seo" "version"}}' />
+  <link rel="stylesheet"
+    href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/css/vant-reset.css?v={{Msg "seo" "version"}}' />
+  <link rel="stylesheet"
+    href='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/css/ent_portrait.css?v={{Msg "seo" "version"}}' />
+  <!--E-当前页面的css资源-->
 </head>
 <style>
-    .bidinfo{
-        font-size: 0.28rem;
-        font-weight: 500;
-        text-align: CENTER;
-        color: #c0c4cc;
-        line-height: 20px;
-    }
-    .bid_upgrade{
-        padding: 0.04rem 0.12rem;
-        border: 1px solid #fb483d;
-        border-radius: 0.18rem;
-        font-size: 0.2rem;
-        font-weight: 500;
-        color: #fb483d;
-        line-height: 0.4rem;
-    }
-    .bid_surplus{
-        height: .04rem;
-        opacity: 1;
-        font-size: .22rem;
-        font-weight: 500;
-        color: #2abed1;
-    }
-    .vip_openDialog{
-        padding: 0.56rem 0 0.64rem;
-        width: 6.06rem;
-        /* height: 6.88rem; */
-        background: url('{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/image/openVip.png') no-repeat;
-        background-size: 100% 100%;
-        box-sizing: border-box;
-    }
+  .bidinfo {
+    font-size: 0.28rem;
+    font-weight: 500;
+    text-align: CENTER;
+    color: #c0c4cc;
+    line-height: 20px;
+  }
+
+  .bid_upgrade {
+    padding: 0.04rem 0.12rem;
+    border: 1px solid #fb483d;
+    border-radius: 0.18rem;
+    font-size: 0.2rem;
+    font-weight: 500;
+    color: #fb483d;
+    line-height: 0.4rem;
+  }
+
+  .bid_surplus {
+    height: .04rem;
+    opacity: 1;
+    font-size: .22rem;
+    font-weight: 500;
+    color: #2abed1;
+  }
+
+  .vip_openDialog {
+    padding: 0 0 0.64rem;
+    width: 6.06rem;
+    /* height: 6.88rem; */
+    background: url('{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/image/openVip.png') no-repeat;
+    background-size: 100% 100%;
+    box-sizing: border-box;
+  }
 </style>
+
 <body>
-<div class="j-container">
+  <div class="j-container">
     {{include "/big-member/header.html"}}
     <div id="ent-portrait" class="j-main" v-cloak>
-        <!-- <van-dialog
+      <!-- <van-dialog
         v-model="setShow"
         show-cancel-button
         width="6.06rem"
@@ -77,348 +85,358 @@
                 <span>...</span>
             </div>
         </van-dialog> -->
-        <div class="j-header ent-header">
-            <span class="j-icon icon-company"></span>
-            <span class="ent-title">${ entInfo.name }</span>
-            <span
-                class="j-icon"
-                :class="!!entInfo.follow ? 'icon-favorite' : 'icon-add-favorite'"
-                @click="changeFollowState"
-                v-if="entInfo.followSearchFinish && entInfo.entExist"
-            ></span>
-            <van-loading v-if="!entInfo.followSearchFinish" size="24px"></van-loading>
-        </div>
-        <van-tabs
-            class="ent-tabs-container"
-            :class="singleTab ? 'single-tab' : ''"
-            v-model="tabActiveName"
-            sticky
-            color="#2cb7ca"
-            title-active-color="#2cb7ca"
-            title-inactive-color="#5F5E64"
-            line-width="0.48rem"
-            v-if="conf.powerLoaded && conf.showPortraitAll"
-            :offset-top="stickyTop">
-            <van-tab name="1" title="企业信息">
-                <div class="bg-white tab-card">
-                    <div class="card-row">
-                        <div class="card-column ent-type">
-                            <div class="ent-type-label">公司类型</div>
-                            <div class="ent-type-text">${entBaseInfo.type ? entBaseInfo.type : '-'}</div>
-                        </div>
-                    </div>
-                    <div class="card-row">
-                        <div class="card-column ent-business-term">
-                            <div class="ent-business-term-label">营业期限</div>
-                            <div class="ent-business-term-text">
-                                <span>${entBaseInfo.operStart == -1 ? '-' : new Date(entBaseInfo.operStart*1000).pattern('yyyy/MM/dd')}</span>
-                                <span> 至 </span>
-                                <span>${entBaseInfo.operEnd == -1 ? '-' : new Date(entBaseInfo.operEnd*1000).pattern('yyyy/MM/dd')}</span>
-                            </div>
-                        </div>
-                    </div>
-                    <div class="card-row">
-                        <div class="card-column social-credit-code">
-                            <div class="ent-registration-label">统一社会信用代码</div>
-                            <div class="ent-registration-text">${entBaseInfo.creditNo ? entBaseInfo.creditNo : '-'}</div>
-                        </div>
-                    </div>
-                    <div class="card-row">
-                        <div class="card-column tax-identification-number">
-                            <div class="ent-registration-label">纳税人识别号</div>
-                            <div class="ent-registration-text">${entBaseInfo.taxCode ? entBaseInfo.taxCode : '-'}</div>
-                        </div>
-                    </div>
-                    <div class="card-row">
-                        <div class="card-column business-registration-number">
-                            <div class="ent-registration-label">工商注册号</div>
-                            <div class="ent-registration-text">${entBaseInfo.company_code ? entBaseInfo.company_code : '-'}</div>
-                        </div>
-                    </div>
-                    <div class="card-row">
-                        <div class="card-column organization-code">
-                            <div class="ent-info-label">组织机构代码</div>
-                            <div class="ent-info-text">${entBaseInfo.org_code ? entBaseInfo.org_code : '-'}</div>
-                        </div>
-                        <div class="card-column organization-code">
-                            <div class="ent-info-label">联系方式</div>
-                            <div class="ent-info-text">${entBaseInfo.phone ? entBaseInfo.phone : '-'}</div>
-                        </div>
-                    </div>
-                    <div class="card-row">
-                        <div class="card-column registered-capital">
-                            <div class="ent-info-label">注册资本</div>
-                            <div class="ent-info-text">${entBaseInfo.capital ? entBaseInfo.capital+'万元' : '-'}</div>
-                        </div>
-                        <div class="card-column registered-capital">
-                            <div class="ent-info-label">法人姓名</div>
-                            <div class="ent-info-text">${entBaseInfo.legal ? entBaseInfo.legal : '-'}</div>
-                        </div>
-                    </div>
-                    <div class="card-row">
-                        <div class="card-column ent-establish">
-                            <div class="ent-info-label">成立日期</div>
-                            <div class="ent-info-text">
-                                ${(!entBaseInfo.establish || entBaseInfo.establish == -1) ? '-' : new Date(entBaseInfo.establish*1000).pattern('yyyy/MM/dd')}
-                            </div>
-                        </div>
-                        <div class="card-column ent-status">
-                            <div class="ent-info-label">经营状态</div>
-                            <div class="ent-info-text">${entBaseInfo.status ? entBaseInfo.status : '-'}</div>
-                        </div>
-                    </div>
-                    <div class="card-row">
-                        <div class="card-column ent-employee">
-                            <div class="ent-info-label">人员规模(工商年报-参保人数,仅供参考)</div>
-                            <div class="ent-info-text">${entBaseInfo.employeeNo ? entBaseInfo.employeeNo : '-'}</div>
-                        </div>
-                    </div>
-                    <div class="card-row">
-                        <div class="card-column registered-capital">
-                            <div class="ent-info-label">注册地址</div>
-                            <div class="ent-info-text">${entBaseInfo.address ? entBaseInfo.address : '-'}</div>
-                        </div>
-                    </div>
-                    <div class="card-row">
-                        <div class="card-column registered-capital">
-                            <div class="ent-info-label">经营范围</div>
-                            <div class="ent-info-text">${entBaseInfo.scope ? entBaseInfo.scope : '-'}</div>
-                        </div>
-                    </div>
-                </div>
-                <div class="bg-white tab-card ent-change-history" @click="goToEntHistory">
-                    <div class="ent-change-l">企业情报历史记录</div>
-                    <div class="j-icon icon-back base-icon"></div>
-                </div>
-            </van-tab>
-            <van-tab name="2" v-if="!singleTab">
-                <template #title>
-                    <span :class="{bidinfo:!hasOnePower}">中标信息</span>
-                    <span v-if="!hasOnePower && isShowUpTip" class="bid_upgrade">升级</span>
-                    <span v-if="isMember && (hasOnePower && surplus && isVip)" class="bid_surplus">剩余:${entvisit.total - entvisit.usage}</span>
-                </template>
-                <div class="bg-white tab-card" v-if="conf._4 && !getStatus">
-                    <div class="card-row zb-info">
-                        <div class="card-column">
-                            <div class="ent-info-label">项目数量</div>
-                            <div class="ent-info-text">${entPortraitInfo.project_count ? entPortraitInfo.project_count + '个' : '0'}</div>
-                        </div>
-                        <div class="card-column">
-                            <div class="ent-info-label">项目金额</div>
-                            <div class="ent-info-text">${entPortraitInfo.bidamount_count ? utils.moneyUnit(entPortraitInfo.bidamount_count) : '0'}</div>
-                        </div>
-                        <div class="card-column">
-                            <div class="ent-info-label">项目省份</div>
-                            <div class="ent-info-text">${entPortraitInfo.area_count ? entPortraitInfo.area_count + '个' : '-'}</div>
-                        </div>
-                        <div class="card-column">
-                            <div class="ent-info-label">项目客户</div>
-                            <div class="ent-info-text">${entPortraitInfo.buyer_count ? entPortraitInfo.buyer_count + '个' : '-'}</div>
-                        </div>
-                    </div>
-                    <div class="zb-time-frame border-line-t">
-                        <span>数据统计范围:</span>
-                        <span>${entPortraitInfo.timeRangeStart ? new Date(entPortraitInfo.timeRangeStart * 1000).pattern('yyyy/MM/dd') : '2016'}</span>
-                        <span>-</span>
-                        <span>${entPortraitInfo.timeRangeEnd ? new Date(entPortraitInfo.timeRangeEnd * 1000).pattern('yyyy/MM/dd') : '至今'}</span>
-                    </div>
-                </div>
-                <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="j-container empty" style="padding-bottom: .2rem;" v-if="conf._13 && !conf._4 && topProject.list.length === 0">
-                    <div class="j-img img-empty empty-img"></div>
-                    <p class="empty-text">暂无项目动态</p>
+      <div class="j-header ent-header">
+        <span class="j-icon icon-company"></span>
+        <span class="ent-title">${ entInfo.name }</span>
+        <span class="j-icon" :class="!!entInfo.follow ? 'icon-favorite' : 'icon-add-favorite'"
+          @click="changeFollowState" v-if="entInfo.followSearchFinish && entInfo.entExist"></span>
+        <van-loading v-if="!entInfo.followSearchFinish" size="24px"></van-loading>
+      </div>
+      <van-tabs class="ent-tabs-container" :class="singleTab ? 'single-tab' : ''" v-model="tabActiveName" scrollspy
+        sticky color="#2cb7ca" title-active-color="#2cb7ca" title-inactive-color="#5F5E64" line-width="0.48rem"
+        v-if="conf.powerLoaded && conf.showPortraitAll" :offset-top="stickyTop">
+        <van-tab name="1" title="企业信息">
+          <div class="bg-white tab-card">
+            <div class="card-row">
+              <div class="card-column social-credit-code">
+                <div class="ent-registration-label">统一社会信用代码</div>
+                <div class="ent-registration-text">${entBaseInfo.creditNo ? entBaseInfo.creditNo : '-'}</div>
+              </div>
+              <div class="card-column organization-code">
+                <div class="ent-info-label">联系方式</div>
+                <div class="ent-info-text">${entBaseInfo.phone ? entBaseInfo.phone : '-'}</div>
+              </div>
+            </div>
+            <div class="card-row">
+              <div class="card-column registered-capital">
+                <div class="ent-info-label">注册资本</div>
+                <div class="ent-info-text">${entBaseInfo.capital ? entBaseInfo.capital+'万元' : '-'}</div>
+              </div>
+              <div class="card-column registered-capital">
+                <div class="ent-info-label">法人姓名</div>
+                <div class="ent-info-text">${entBaseInfo.legal ? entBaseInfo.legal : '-'}</div>
+              </div>
+            </div>
+            <div class="card-row">
+              <div class="card-column ent-establish">
+                <div class="ent-info-label">成立日期</div>
+                <div class="ent-info-text">
+                  ${(!entBaseInfo.establish || entBaseInfo.establish == -1) ? '-' : new
+                  Date(entBaseInfo.establish*1000).pattern('yyyy/MM/dd')}
                 </div>
-                <div class="bg-white tab-card cell-list" v-show="conf._13 && topProject.list.length !== 0">
-                    <div class="tab-card-title">项目动态</div>
-                    <div class="tab-card-content">
-                        <ul class="project-info-list">
-                            <li
-                                class="project-info-item border-line-b clickable"
-                                v-for="(item,index) in topProject.list"
-                                @click="toProjectDetail(item)"
-                            >
-                                <div class="project-name">${item.title}</div>
-                                <div class="project-info">
-                                    <span class="tags">
-                                        <span class="tag tag-success" v-if="item.area">${item.area}</span>
-                                        <span class="tag tag-success" v-if="item.bidstatus">${item.bidstatus}</span>
-                                        <span class="tag tag-success" v-if="item.bidamount">${utils.moneyUnit(item.bidamount)}</span>
-                                    </span>
-                                    <span class="project-time">${item.firsttime ? new Date(item.firsttime * 1000).pattern('yyyy-MM-dd') : '-'}</span>
-                                </div>
-                            </li>
-                            <li
-                                class="show-more"
-                                v-if="topProject.showGetNextButton"
-                                @click="getProjectNews">查看更多</li>
-                        </ul>
-                    </div>
+              </div>
+              <div class="card-column ent-status">
+                <div class="ent-info-label">经营状态</div>
+                <div class="ent-info-text">${entBaseInfo.status ? entBaseInfo.status : '-'}</div>
+              </div>
+            </div>
+            <div v-if="!showBaseInfo" class="show-more" @click="showBaseInfo = true">查看更多</div>
+            <div v-show="showBaseInfo">
+              <div class="card-row">
+                <div class="card-column ent-type">
+                  <div class="ent-type-label">公司类型</div>
+                  <div class="ent-type-text">${entBaseInfo.type ? entBaseInfo.type : '-'}</div>
                 </div>
-                <div class="vip_component" v-if="getStatus && !conf._13" style="height:9.16rem;background:url('/common-module/collection/image/bg/vip_bg_1.png') no-repeat;background-size:100% 100%">
-                    <vip-component @tabactive="tabActive" :power="conf" type="item_1" :entvisit="entvisit" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_1.png'></vip-component>
+              </div>
+              <div class="card-row">
+                <div class="card-column ent-business-term">
+                  <div class="ent-business-term-label">营业期限</div>
+                  <div class="ent-business-term-text">
+                    <span>${entBaseInfo.operStart == -1 ? '-' : new
+                      Date(entBaseInfo.operStart*1000).pattern('yyyy/MM/dd')}</span>
+                    <span> 至 </span>
+                    <span>${entBaseInfo.operEnd == -1 ? '-' : new
+                      Date(entBaseInfo.operEnd*1000).pattern('yyyy/MM/dd')}</span>
+                  </div>
                 </div>
-                <div class="vip_component" v-if="isMember" style="height:11.36rem;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" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_9.png'></vip-component>
+              </div>
+              <div class="card-row">
+                <div class="card-column tax-identification-number">
+                  <div class="ent-registration-label">纳税人识别号</div>
+                  <div class="ent-registration-text">${entBaseInfo.taxCode ? entBaseInfo.taxCode : '-'}</div>
                 </div>
-                <div class="bg-white tab-card cell-list history-list" v-else>
-                  <hispro-component type="winner" :id="entInfo.id"></hispro-component>
               </div>
-                <div class="bg-white tab-card charts" v-if="conf._4 && tabActiveName == '2' && annualData.rows.length !== 0 && !getStatus">
-                    <div class="tab-card-title">年度项目统计</div>
-                    <!-- e-charts和sticky同时使用时候,需要手动降低css层级(z-index: 1),确保tooltip不遮挡固定定位头部 -->
-                    <div class="tab-card-content">
-                        <ve-histogram
-                            height="284px"
-                            :colors="colorGreen"
-                            :data="annualData"
-                            :init-options="initEchartsOptions"
-                            :after-config="annualConfig"
-                            :settings="annualSetting"
-                            :extend="barChart.chartExtend">
-                        </ve-histogram>
-                    </div>
-                    <div class="tab-card-tip">注:项目金额指所有项目的中标金额之和,少数缺失的中标金额,用项目预算补充。</div>
+              <div class="card-row">
+                <div class="card-column business-registration-number">
+                  <div class="ent-registration-label">工商注册号</div>
+                  <div class="ent-registration-text">${entBaseInfo.company_code ? entBaseInfo.company_code : '-'}</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 @tabactive="tabActive" type="item_2" :power="conf" :entvisit="entvisit" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_2.png'></vip-component>
+              </div>
+              <div class="card-row">
+                <div class="card-column organization-code">
+                  <div class="ent-info-label">组织机构代码</div>
+                  <div class="ent-info-text">${entBaseInfo.org_code ? entBaseInfo.org_code : '-'}</div>
                 </div>
-                <div class="bg-white tab-card charts"  v-if="conf._4 && tabActiveName == '2' && monthZbData.rows.length !== 0 && !getStatus">
-                    <div class="tab-card-title">月度中标金额统计</div>
-                    <div class="tab-card-content">
-                        <ve-line
-                            height="284px"
-                            :data="monthZbData"
-                            :init-options="initEchartsOptions"
-                            :after-config="lineChartConfig"
-                            :extend="chartOptions.lineChart">
-                        </ve-line>
-                    </div>
-                    <div class="tab-card-tip">注:少数缺失的中标金额,用项目预算补充。</div>
+              </div>
+              <div class="card-row">
+                <div class="card-column ent-employee">
+                  <div class="ent-info-label">人员规模(工商年报-参保人数,仅供参考)</div>
+                  <div class="ent-info-text">${entBaseInfo.employeeNo ? entBaseInfo.employeeNo : '-'}</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 @tabactive="tabActive" type="item_3" :power="conf" :entvisit="entvisit" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_3.png'></vip-component>
+              </div>
+              <div class="card-row">
+                <div class="card-column registered-capital">
+                  <div class="ent-info-label">注册地址</div>
+                  <div class="ent-info-text">${entBaseInfo.address ? entBaseInfo.address : '-'}</div>
                 </div>
-                <div class="bg-white tab-card charts" v-if="conf._4 && tabActiveName == '2' && mapChartData.rows.length !== 0 && !getStatus">
-                    <div class="tab-card-title">市场区域分布</div>
-                    <div class="tab-card-content">
-                        <ve-map
-                            height="300px"
-                            :data="mapChartData"
-                            :init-options="initEchartsOptions"
-                            :after-config="mapConfig"
-                            :settings="mapSettings.chartSettings"
-                            :extend="mapSettings.chartExtend">
-                        </ve-map>
-                    </div>
+              </div>
+              <div class="card-row">
+                <div class="card-column registered-capital">
+                  <div class="ent-info-label">经营范围</div>
+                  <div class="ent-info-text">${entBaseInfo.scope ? entBaseInfo.scope : '-'}</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 @tabactive="tabActive" type="item_4" :power="conf" :entvisit="entvisit" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_4.png'></vip-component>
+              </div>
+            </div>
+          </div>
+          <div class="bg-white tab-card ent-change-history" @click="goToEntHistory">
+            <div class="ent-change-l">企业情报历史记录</div>
+            <div class="j-icon icon-back base-icon"></div>
+          </div>
+        </van-tab>
+        <van-tab name="2" v-if="!singleTab">
+          <template #title>
+            <span :class="{bidinfo:!hasOnePower}">中标信息</span>
+            <span v-if="!hasOnePower && isShowUpTip" class="bid_upgrade">升级</span>
+            <span v-if="isMember && (hasOnePower && surplus && isVip)" class="bid_surplus">剩余:${entvisit.total -
+              entvisit.usage}</span>
+          </template>
+          <div class="bg-white tab-card" v-if="conf._4 && !getStatus">
+            <div class="card-row zb-info">
+              <div class="card-column">
+                <div class="ent-info-label">项目数量</div>
+                <div class="ent-info-text">${entPortraitInfo.project_count ? entPortraitInfo.project_count + '个' : '0'}
                 </div>
-                <div class="bg-white tab-card charts"  v-if="conf._4 && tabActiveName == '2' && rateData.rows.length !== 0 && !getStatus">
-                    <div class="tab-card-title">各类客户平均折扣率</div>
-                    <div class="tab-card-content">
-                        <ve-line
-                            height="314px"
-                            :data="rateData"
-                            :init-options="initEchartsOptions"
-                            :after-config="rateConfig"
-                            :extend="chartOptions.lineChart">
-                        </ve-line>
-                    </div>
-                    <div class="tab-card-tip">注:平均折扣率=(全部项目预算-全部中标金额)/全部项目预算,是指价格减让部分与原价的比率,仅统计预算和中标金额同时存在的项目。</div>
+              </div>
+              <div class="card-column">
+                <div class="ent-info-label">项目金额</div>
+                <div class="ent-info-text">${entPortraitInfo.bidamount_count ?
+                  utils.moneyUnit(entPortraitInfo.bidamount_count) : '0'}</div>
+              </div>
+              <div class="card-column">
+                <div class="ent-info-label">项目省份</div>
+                <div class="ent-info-text">${entPortraitInfo.area_count ? entPortraitInfo.area_count + '个' : '-'}</div>
+              </div>
+              <div class="card-column">
+                <div class="ent-info-label">项目客户</div>
+                <div class="ent-info-text">${entPortraitInfo.buyer_count ? entPortraitInfo.buyer_count + '个' : '-'}
                 </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" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_5.png'></vip-component>
+              </div>
+            </div>
+            <div class="zb-time-frame border-line-t">
+              <span>数据统计范围:</span>
+              <span>${entPortraitInfo.timeRangeStart ? new Date(entPortraitInfo.timeRangeStart *
+                1000).pattern('yyyy/MM/dd') : '2016'}</span>
+              <span>-</span>
+              <span>${entPortraitInfo.timeRangeEnd ? new Date(entPortraitInfo.timeRangeEnd * 1000).pattern('yyyy/MM/dd')
+                : '至今'}</span>
+            </div>
+          </div>
+          <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="j-container empty" style="padding-bottom: .2rem;"
+            v-if="conf._13 && !conf._4 && topProject.list.length === 0">
+            <div class="j-img img-empty empty-img"></div>
+            <p class="empty-text">暂无项目动态</p>
+          </div>
+          <div class="bg-white tab-card cell-list" v-show="conf._13 && topProject.list.length !== 0">
+            <div class="tab-card-title">项目动态</div>
+            <div class="tab-card-content">
+              <ul class="project-info-list">
+                <li class="project-info-item border-line-b clickable" v-for="(item,index) in topProject.list"
+                  @click="toProjectDetail(item)">
+                  <div class="project-name">${item.title}</div>
+                  <div class="project-info">
+                    <span class="tags">
+                      <span class="tag tag-success" v-if="item.area">${item.area}</span>
+                      <span class="tag tag-success" v-if="item.bidstatus">${item.bidstatus}</span>
+                      <span class="tag tag-success" v-if="item.bidamount">${utils.moneyUnit(item.bidamount)}</span>
+                    </span>
+                    <span class="project-time">${item.firsttime ? new Date(item.firsttime * 1000).pattern('yyyy-MM-dd')
+                      : '-'}</span>
+                  </div>
+                </li>
+                <li class="show-more" v-if="topProject.showGetNextButton" @click="getProjectNews">查看更多</li>
+              </ul>
+            </div>
+          </div>
+          <div class="vip_component" v-if="getStatus && !conf._13"
+            style="height:9.16rem;background:url('/common-module/collection/image/bg/vip_bg_1.png') no-repeat;background-size:100% 100%">
+            <vip-component @tabactive="tabActive" :power="conf" type="item_1" :entvisit="entvisit"
+              imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_1.png'>
+            </vip-component>
+          </div>
+          <div class="vip_component" v-if="isMember"
+            style="height:11.36rem;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"
+              imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_9.png'>
+            </vip-component>
+          </div>
+          <div class="bg-white tab-card cell-list history-list" v-else>
+            <hispro-component type="winner" :id="entInfo.id"></hispro-component>
+          </div>
+          <div class="bg-white tab-card charts"
+            v-if="conf._4 && tabActiveName == '2' && annualData.rows.length !== 0 && !getStatus">
+            <div class="tab-card-title">年度项目统计</div>
+            <!-- e-charts和sticky同时使用时候,需要手动降低css层级(z-index: 1),确保tooltip不遮挡固定定位头部 -->
+            <div class="tab-card-content">
+              <ve-histogram height="284px" :colors="colorGreen" :data="annualData" :init-options="initEchartsOptions"
+                :after-config="annualConfig" :settings="annualSetting" :extend="barChart.chartExtend">
+              </ve-histogram>
+            </div>
+            <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 @tabactive="tabActive" type="item_2" :power="conf" :entvisit="entvisit"
+              imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_2.png'>
+            </vip-component>
+          </div>
+          <div class="bg-white tab-card charts"
+            v-if="conf._4 && tabActiveName == '2' && monthZbData.rows.length !== 0 && !getStatus">
+            <div class="tab-card-title">月度中标金额统计</div>
+            <div class="tab-card-content">
+              <ve-line height="284px" :data="monthZbData" :init-options="initEchartsOptions"
+                :after-config="lineChartConfig" :extend="chartOptions.lineChart">
+              </ve-line>
+            </div>
+            <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 @tabactive="tabActive" type="item_3" :power="conf" :entvisit="entvisit"
+              imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_3.png'>
+            </vip-component>
+          </div>
+          <div class="bg-white tab-card charts"
+            v-if="conf._4 && tabActiveName == '2' && mapChartData.rows.length !== 0 && !getStatus">
+            <div class="tab-card-title">市场区域分布</div>
+            <div class="tab-card-content">
+              <ve-map height="300px" :data="mapChartData" :init-options="initEchartsOptions" :after-config="mapConfig"
+                :settings="mapSettings.chartSettings" :extend="mapSettings.chartExtend">
+              </ve-map>
+            </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 @tabactive="tabActive" type="item_4" :power="conf" :entvisit="entvisit"
+              imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_4.png'>
+            </vip-component>
+          </div>
+          <div class="bg-white tab-card charts"
+            v-if="conf._4 && tabActiveName == '2' && rateData.rows.length !== 0 && !getStatus">
+            <div class="tab-card-title">各类客户平均折扣率</div>
+            <div class="tab-card-content">
+              <ve-line height="314px" :data="rateData" :init-options="initEchartsOptions" :after-config="rateConfig"
+                :extend="chartOptions.lineChart">
+              </ve-line>
+            </div>
+            <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 @tabactive="tabActive" type="item_5" :power="conf" :entvisit="entvisit"
+              imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_5.png'>
+            </vip-component>
+          </div>
+          <div class="bg-white tab-card charts"
+            v-show="conf._4 && tabActiveName == '2' && entPortraitInfo.top10 && entPortraitInfo.top10.length != 0 && !getStatus">
+            <div class="tab-card-title">客户类型分布</div>
+            <div class="tab-card-content">
+              <div ref="pieChart" style="height: 360px;width: 320px;margin: 0 auto;"></div>
+            </div>
+            <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 @tabactive="tabActive" type="item_6" :power="conf" :entvisit="entvisit"
+              imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_6.png'>
+            </vip-component>
+          </div>
+          <div class="bg-white tab-card customers client"
+            v-show="conf._4 && tabActiveName == '2' && importantCustomers.length !== 0 && !getStatus">
+            <div class="tab-card-title">重点客户</div>
+            <div class="tab-card-content">
+              <div class="client-list" v-for="c in importantCustomers">
+                <div class="c-thead">
+                  <strong class="c-name">${c.title}</strong>
+                  <span class="c-count">中标数量</span>
+                  <span class="c-rate">平均折扣率</span>
+                  <span class="c-time">最近合作日期</span>
                 </div>
-                <div class="bg-white tab-card charts"  v-show="conf._4 && tabActiveName == '2' && entPortraitInfo.top10 && entPortraitInfo.top10.length != 0 && !getStatus">
-                    <div class="tab-card-title">客户类型分布</div>
-                    <div class="tab-card-content">
-                        <div ref="pieChart" style="height: 360px;"></div>
+                <div class="progress-bar-container">
+                  <div class="progress-bar-item" v-for="(item,index) in c.list" :key="index" v-show="item.name">
+                    <div class="item-label">
+                      <span class="ellipsis-2 item-name" @click="toUnitPortrayal(item)">${item.name}</span>
+                      <span class="item-count">${item.count ? item.count + '个' : item.count}</span>
+                      <span class="item-rate">${(item.rate != null) ? item.rate + '%' : '--'}</span>
+                      <span class="item-time">${item.time}</span>
                     </div>
-                    <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 @tabactive="tabActive" type="item_6" :power="conf" :entvisit="entvisit" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_6.png'></vip-component>
-                </div>
-                <div class="bg-white tab-card customers client"  v-show="conf._4 && tabActiveName == '2' && importantCustomers.length !== 0 && !getStatus">
-                    <div class="tab-card-title">重点客户</div>
-                    <div class="tab-card-content">
-                        <div class="client-list" v-for="c in importantCustomers">
-                            <div class="c-thead">
-                                <strong class="c-name">${c.title}</strong>
-                                <span class="c-count">中标数量</span>
-                                <span class="c-rate">平均折扣率</span>
-                                <span class="c-time">最近合作日期</span>
-                            </div>
-                            <div class="progress-bar-container">
-                                <div class="progress-bar-item" v-for="(item,index) in c.list" :key="index" v-show="item.name">
-                                    <div class="item-label">
-                                        <span class="ellipsis-2 item-name" @click="toUnitPortrayal(item)">${item.name}</span>
-                                        <span class="item-count">${item.count ? item.count + '个' : item.count}</span>
-                                        <span class="item-rate">${(item.rate != null) ? item.rate + '%' : '--'}</span>
-                                        <span class="item-time">${item.time}</span>
-                                    </div>
-                                    <div class="item-progress">
-                                        <span class="item-money" v-if="item.money > 0">${utils.moneyUnit(item.money)}</span>
-                                        <span class="item-progress-count active-progress" :style="{width: item.percent}"></span>
-                                    </div>
-                                </div>
-                            </div>
-                        </div>
+                    <div class="item-progress">
+                      <span class="item-money" v-if="item.money > 0">${utils.moneyUnit(item.money)}</span>
+                      <span class="item-progress-count active-progress" :style="{width: item.percent}"></span>
                     </div>
+                  </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 @tabactive="tabActive" type="item_7" :power="conf" :entvisit="entvisit" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_7.png'></vip-component>
-                </div>
-            </van-tab>
-        </van-tabs>
-        <div class="j-main project-tab-container" v-if="conf.powerLoaded && !conf.showPortraitAll">
-            <div class="j-container empty" v-show="topProject.list.length === 0">
-                <div class="j-img img-empty empty-img"></div>
-                <p class="empty-text">暂无项目动态</p>
+              </div>
             </div>
-            <div class="j-container bg-white tab-card cell-list" v-show="topProject.list.length !== 0">
-                <div class="j-header tab-card-title">项目动态</div>
-                <div class="j-main tab-card-content">
-                    <ul class="project-info-list">
-                        <li
-                            class="project-info-item border-line-b clickable"
-                            v-for="(item,index) in topProject.list"
-                            @click="toProjectDetail(item)"
-                        >
-                            <div class="project-name">${item.title}</div>
-                            <div class="project-info">
-                                <span class="tags">
-                                    <span class="tag tag-success" v-if="item.area">${item.area}</span>
-                                    <span class="tag tag-success" v-if="item.bidstatus">${item.bidstatus}</span>
-                                    <span class="tag tag-success" v-if="item.bidamount">${utils.moneyUnit(item.bidamount)}</span>
-                                </span>
-                                <span class="project-time">${item.firsttime ? new Date(item.firsttime * 1000).pattern('yyyy-MM-dd') : '-'}</span>
-                            </div>
-                        </li>
-                        <li
-                            class="show-more"
-                            v-if="topProject.showGetNextButton"
-                            @click="getProjectNews">查看更多</li>
-                    </ul>
+          </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"
+              imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_7.png'>
+            </vip-component>
+          </div>
+        </van-tab>
+      </van-tabs>
+      <div class="j-main project-tab-container" v-if="conf.powerLoaded && !conf.showPortraitAll">
+        <div class="j-container empty" v-show="topProject.list.length === 0">
+          <div class="j-img img-empty empty-img"></div>
+          <p class="empty-text">暂无项目动态</p>
+        </div>
+        <div class="j-container bg-white tab-card cell-list" v-show="topProject.list.length !== 0">
+          <div class="j-header tab-card-title">项目动态</div>
+          <div class="j-main tab-card-content">
+            <ul class="project-info-list">
+              <li class="project-info-item border-line-b clickable" v-for="(item,index) in topProject.list"
+                @click="toProjectDetail(item)">
+                <div class="project-name">${item.title}</div>
+                <div class="project-info">
+                  <span class="tags">
+                    <span class="tag tag-success" v-if="item.area">${item.area}</span>
+                    <span class="tag tag-success" v-if="item.bidstatus">${item.bidstatus}</span>
+                    <span class="tag tag-success" v-if="item.bidamount">${utils.moneyUnit(item.bidamount)}</span>
+                  </span>
+                  <span class="project-time">${item.firsttime ? new Date(item.firsttime * 1000).pattern('yyyy-MM-dd') :
+                    '-'}</span>
                 </div>
-            </div>
+              </li>
+              <li class="show-more" v-if="topProject.showGetNextButton" @click="getProjectNews">查看更多</li>
+            </ul>
+          </div>
         </div>
+      </div>
     </div>
-</div>
+  </div>
 
-<!--S-当前页面的资源-->
-<script src=//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.jsdelivr.net/npm/echarts@4.8.0/dist/echarts.min.js></script>
-<script src=//cdn.jsdelivr.net/npm/v-charts@1.19.0/lib/index.min.js></script>
-{{include "/big-member/commonjs.html"}}
-<script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/antiRes/js/mainHook.js?v={{Msg "seo" "version"}}'></script>
-<script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/js/vip-dialog.js?v={{Msg "seo" "version"}}'></script>
-<script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/js/history-project.js?v={{Msg "seo" "version"}}'></script>
-<script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/js/echarts_option.js?v={{Msg "seo" "version"}}'></script>
-<script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/js/chart_options.js?v={{Msg "seo" "version"}}'></script>
-<script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/js/ent_portrait.js?v={{Msg "seo" "version"}}'></script>
-{{include "/common/baiducc.html"}}
+  <!--S-当前页面的资源-->
+  <script src=//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.jsdelivr.net/npm/echarts@4.8.0/dist/echarts.min.js> </script> <script
+    src=//cdn.jsdelivr.net/npm/v-charts@1.19.0/lib/index.min.js> </script> {{include "/big-member/commonjs.html"}}
+    <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/antiRes/js/mainHook.js?v={{Msg "seo" "version"}}'></script>
+  <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/js/vip-dialog.js?v={{Msg "seo" "version"}}'>
+  </script>
+  <script
+    src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/js/history-project.js?v={{Msg "seo" "version"}}'>
+  </script>
+  <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/js/echarts_option.js?v={{Msg "seo" "version"}}'>
+  </script>
+  <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/js/chart_options.js?v={{Msg "seo" "version"}}'>
+  </script>
+  <script src='{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/js/ent_portrait.js?v={{Msg "seo" "version"}}'>
+  </script>
+  {{include "/common/baiducc.html"}}
 </body>
+
 </html>

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

@@ -22,7 +22,7 @@
 </head>
 <style>
     .vip_openDialog{
-        padding: 0.56rem 0 0.64rem;
+        padding: 0 0 0.64rem;
         width: 6.06rem;
         /* height: 6.88rem; */
         background: url('{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/image/openVip.png') no-repeat;

+ 240 - 224
src/jfw/modules/app/src/web/templates/big-member/page_unit_portrayal.html

@@ -54,7 +54,7 @@
           font-weight: normal;
         }
         .vip_openDialog{
-            padding: 0.56rem 0 0.64rem;
+            padding: 0 0 0.64rem;
             width: 6.06rem;
             /* height: 6.88rem; */
             background: url('{{Cdns .Host "seo" "cdn"|SafeUrl}}/jyapp/big-member/image/openVip.png') no-repeat;
@@ -128,232 +128,248 @@
                     </div>
                 </div>
             </div>
-            <!-- 历史项目联系人 -->
-            <div class="vip_component" v-if="getStatus" 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>
+            <!-- 遮罩部分 -->
+            <div v-if="getStatus">
+              <!-- 历史项目联系人 -->
+              <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>
+              </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>
+              </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>
+              </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>
+              </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>
+              </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>
+              </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>
+              </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>
+              </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>
+              </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>
+              </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>
+              </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>
+              </div>
             </div>
+            <!-- 数据部分 -->
             <div v-else>
+              <!-- 历史项目联系人 -->
               <hispro-component class="history-list" type="buyer" :buyer="buyer.name"></hispro-component>
-            </div>
-            <!-- 年度项目统计 -->
-            <div class="years" v-if="isShow.showYearData">
-                <div class="chart_title">年度项目统计</div>
-                <ve-histogram
-                    ref="projectDataCharts"
-                    height="284px"
-                    :colors="colorGreen"
-                    :data="projectData"
-                    :init-options="initRendererSvg"
-                    :after-config="projectConfig"
-                    :settings="projectChartSettings"
-                    :extend="barChart.chartExtend">
-                </ve-histogram>
-                <div class="bar-tip">注:项目金额指所有项目的中标金额之和,少数缺失的中标金额,用项目预算补充。</div>
-            </div>
-            <div class="vip_component" v-if="getStatus" 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>
-            </div>
-            <!-- 月度采购规模统计 -->
-            <div class="month-scale" v-if="isShow.showMonthScale">
-                <div class="chart_title">月度采购规模统计</div>
-                <div class="lineChart">
-                    <div style="padding: 6px 12px 0;font-size: 10px;color: #9B9CA3;">采购规模(万元)</div>
-                    <ve-line :init-options="initRendererSvg" :data="monthScaleData" height="300px" :after-config="lineChartConfig" :extend="chartOptions.lineChart"></ve-line>
-                </div>
-                <div class="bar-tip">注:采购规模指中标金额,少数缺失的中标金额,用项目预算补充。</div>
-            </div>
-            <div class="vip_component" v-if="getStatus" 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>
-            </div>
-            <!-- 采购规模分布 -->
-            <div class="scale-distribute" v-if="isShow.showScaleFb">
-                <div class="chart_title">采购规模分布</div>
-                <div class="hotMapChart">
-                    <div id="myChart" ref="hotChart" :style="{height: heatMapHeight}"></div>
-                </div>
-                <div class="bar-tip">注:平均节支率=(全部项目预算-全部中标金额)/全部项目预算,是指价格减让部分与原价的比率,仅统计预算和中标金额同时存在的项目。</div>
-            </div>
-            <div class="vip_component" v-if="getStatus" 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>
-            </div>
-            <!-- 各类招标方式占比(双柱图) -->
-            <div class="double-bar" v-if="isShow.showBidType">
-                <div class="chart_title">各类招标方式占比</div>
-                <div class="bar-content">
-                    <div class="rate-item" v-for="(item,index) in doubleBar.list" @click.stop="tooltipHandle(item,index)">
-                        <div class="item-label">${item.type}</div>
-                        <div class="item-chart">
-                            <div class="left-chart">
-                                <div class="item-progress" v-if="item.lPercent > 50">
-                                    <span class="blue-progress-bg blue-padding" :style="{width: item.lPercent + '%'}">${item.num}(${item.numShare  + '%'})</span>
-                                </div>
-                                <div class="item-progress" v-else>
-                                    <span class="blue-progress-text">${item.num}(${item.numShare  + '%'})</span>
-                                    <span class="blue-progress-bg" :style="{width: item.lPercent + '%'}"></span>
-                                </div>
-                            </div>
-                            <div class="right-chart">
-                                <div class="item-progress" v-if="item.rPercent > 50">
-                                    <span class="yellow-progress-bg yellow-padding" :style="{width: item.rPercent + '%'}">${item.money}(${item.moneyShare + '%'})</span>
-                                </div>
-                                <div class="item-progress" v-else>
-                                    <span class="yellow-progress-bg" :style="{width: item.rPercent + '%'}"></span>
-                                    <span class="yellow-progress-text">${item.money}(${item.moneyShare + '%'})</span>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-                    <div class="tooltip" v-show="doubleBar.showTooltip" :style="{left:doubleBar.info.positionLeft,top:doubleBar.info.positionTop}">
-                        <div class="tooltip-item">
-                            <span class="tooltip-circle blue-circle"></span>
-                            <span>数量(个)及占比:${doubleBar.info.num}(${doubleBar.info.numShare + '%'})</span>
-                        </div>
-                        <div class="tooltip-item">
-                            <span class="tooltip-circle yellow-circle"></span>
-                            <span>金额(万元)及占比:${doubleBar.info.money}(${doubleBar.info.moneyShare + '%'})</span>
-                        </div>
-                        <div class="tooltip-name">- ${doubleBar.info.type} -</div>
-                    </div>
-                    <div class="custom-legend">
-                        <div class="legend-item">
-                            <span class="tooltip-circle blue-circle"></span>
-                            <span>数量(个)及占比</span>
-                        </div>
-                        <div class="legend-item">
-                            <span class="tooltip-circle yellow-circle"></span>
-                            <span>金额(万元)及占比</span>
-                        </div>
-                    </div>
-                </div>
-            </div>
-            <div class="vip_component" v-if="getStatus" 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>
-            </div>
-            <!-- 各行业项目平均节支率 -->
-            <div class="savings-rate" v-if="isShow.showSaveRate">
-                <div class="chart_title">各行业项目平均节支率</div>
-                <div class="lineChart">
-                    <ve-line :init-options="initRendererSvg" :data="savingsRateData" height="314px" :after-config="savingsRateConfig" :extend="chartOptions.lineChart"></ve-line>
-                </div>
-            </div>
-            <div class="vip_component" v-if="getStatus" 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>
-            </div>
-            <!-- 各行业项目规模占比 -->
-            <div class="industry-scale-rate" v-if="isShow.showScaleRate">
-                <p class="chart_title">各行业项目规模占比</p>
-                <div class="pieChart">
-                    <div ref="pieChart" style="height: 360px;"></div>
-                </div>
-            </div>
-            <div class="vip_component" v-if="getStatus" 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>
-            </div>
-            <!-- 重点合作企业 -->
-            <div class="client" v-if="computedClientList && computedClientList.length> 0">
-                <div class="client-title">重点合作企业</div>
-                <div class="client-content">
-                    <div class="client-list" v-for="c in computedClientList" >
-                        <div class="c-thead">
-                            <strong class="c-name">${c.class}</strong>
-                            <span class="c-count">项目数量</span>
-                            <!-- <span class="c-rate">平均折扣率</span> -->
-                            <span class="c-time">最近合作日期</span>
-                        </div>
-                        <div class="progress-bar-container">
-                            <div class="progress-bar-item" v-for="(item,index) in c.topData" :key="index">
-                                <div class="item-label">
-                                    <span @click="goEntInfo(item)" class="ellipsis-2 item-name">${item.winnerName}</span>
-                                    <span class="item-count">${item.countProject}个</span>
-                                    <!-- <span class="item-rate">${item.rate}</span> -->
-                                    <span class="item-time">${item.lastTime}</span>
-                                </div>
-                                <div class="item-progress">
-                                    <span class="item-money"  v-if="item.countMoney > 0">${utils.moneyUnit(item.countMoney)}</span>
-                                    <span class="item-progress-count active-progress" :style="{width: item.parent}"></span>
-                                </div>
-                            </div>
-                        </div>
-                    </div>
-                </div>
-            </div>
-            <div class="vip_component" v-if="getStatus" 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>
-            </div>
-            <!-- 合作企业注册资本分布 -->
-            <div class="industry-scale-rate" v-if="isShow.showCapital">
-                <p class="chart_title">合作企业注册资本分布</p>
-                <div class="barChart">
-                    <ve-histogram :init-options="initRendererSvg" height="284px" set-option-opts :data="regCapitalData" :after-config="regCapConfig" :settings="regCapSettings" :extend="chartOptions.barLineChart.chartExtend"> </ve-histogram>
-                </div>
-            </div>
-            <div class="vip_component" v-if="getStatus" 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>
-            </div>
-            <!-- 合作企业年龄分布 -->
-            <div class="industry-scale-rate" v-if="isShow.showAge">
-                <p class="chart_title">合作企业年龄分布</p>
-                <div class="barChart">
-                    <ve-histogram :init-options="initRendererSvg" height="284px" :data="workingAgeData" :after-config="workingAgeConfig" :extend="chartOptions.barLineChart.chartExtend"> </ve-histogram>
-                </div>
-            </div>
-            <div class="vip_component" v-if="getStatus" 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>
-            </div>
-            <!-- 合作企业注册地分布 -->
-            <div class="industry-scale-rate" v-if="isShow.showArea">
-                <p class="chart_title">合作企业注册地分布</p>
-                <div class="map" style="padding: 0 .32rem;">
-                    <ve-map
-                        :init-options="initRendererSvg"
-                        height="302px"
-                        :after-config="mapConfig"
-                        :data="mapChartData"
-                        :settings="mapSettings.chartSettings"
-                        :extend="mapSettings.chartExtend">
-                    </ve-map>
-                </div>
-            </div>
-            <div class="vip_component" v-if="getStatus" 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>
-            </div>
-            <!-- 重点合作代理机构 -->
-            <div class="agency" v-if="isShow.showAgency">
-                <div class="agency-title">重点合作代理机构</div>
-                <div class="agency-container">
-                    <div class="agency-thead">
-                        <strong class="a-name"></strong>
-                        <span class="a-count">项目数量</span>
-                        <span class="a-time">最近合作日期</span>
-                    </div>
-                    <div class="agency-tbody">
-                        <div v-for="item in agencyList" class="ab-list">
-                            <div class="ab-label">
-                                <span class="ellipsis-2 ab-name">${item.agency_name}</span>
-                                <span class="ab-count">${item.project_count}个</span>
-                                <span class="ab-time">${item.last_with_time}</span>
-                            </div>
-                            <div class="ab-progress">
-                                <span class="ab-progress-default progress-active" :style="{width: item.parent}"></span>
-                            </div>
-                        </div>
-                    </div>
-                </div>
-            </div>
-            <div class="vip_component" v-if="getStatus" 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>
+              <!-- 年度项目统计 -->
+              <div class="years" v-if="isShow.showYearData">
+                  <div class="chart_title">年度项目统计</div>
+                  <ve-histogram
+                      ref="projectDataCharts"
+                      height="284px"
+                      :colors="colorGreen"
+                      :data="projectData"
+                      :init-options="initRendererSvg"
+                      :after-config="projectConfig"
+                      :settings="projectChartSettings"
+                      :extend="barChart.chartExtend">
+                  </ve-histogram>
+                  <div class="bar-tip">注:项目金额指所有项目的中标金额之和,少数缺失的中标金额,用项目预算补充。</div>
+              </div>
+              <!-- 月度采购规模统计 -->
+              <div class="month-scale" v-if="isShow.showMonthScale">
+                  <div class="chart_title">月度采购规模统计</div>
+                  <div class="lineChart">
+                      <div style="padding: 6px 12px 0;font-size: 10px;color: #9B9CA3;">采购规模(万元)</div>
+                      <ve-line :init-options="initRendererSvg" :data="monthScaleData" height="300px" :after-config="lineChartConfig" :extend="chartOptions.lineChart"></ve-line>
+                  </div>
+                  <div class="bar-tip">注:采购规模指中标金额,少数缺失的中标金额,用项目预算补充。</div>
+              </div>
+              <!-- 采购规模分布 -->
+              <div class="scale-distribute" v-if="isShow.showScaleFb">
+                  <div class="chart_title">采购规模分布</div>
+                  <div class="hotMapChart">
+                      <div id="myChart" ref="hotChart" :style="{height: heatMapHeight}"></div>
+                  </div>
+                  <div class="bar-tip">注:平均节支率=(全部项目预算-全部中标金额)/全部项目预算,是指价格减让部分与原价的比率,仅统计预算和中标金额同时存在的项目。</div>
+              </div>
+              <!-- 各类招标方式占比(双柱图) -->
+              <div class="double-bar" v-if="isShow.showBidType">
+                  <div class="chart_title">各类招标方式占比</div>
+                  <div class="bar-content">
+                      <div class="rate-item" v-for="(item,index) in doubleBar.list" @click.stop="tooltipHandle(item,index)">
+                          <div class="item-label">${item.type}</div>
+                          <div class="item-chart">
+                              <div class="left-chart">
+                                  <div class="item-progress" v-if="item.lPercent > 50">
+                                      <span class="blue-progress-bg blue-padding" :style="{width: item.lPercent + '%'}">${item.num}(${item.numShare  + '%'})</span>
+                                  </div>
+                                  <div class="item-progress" v-else>
+                                      <span class="blue-progress-text">${item.num}(${item.numShare  + '%'})</span>
+                                      <span class="blue-progress-bg" :style="{width: item.lPercent + '%'}"></span>
+                                  </div>
+                              </div>
+                              <div class="right-chart">
+                                  <div class="item-progress" v-if="item.rPercent > 50">
+                                      <span class="yellow-progress-bg yellow-padding" :style="{width: item.rPercent + '%'}">${item.money}(${item.moneyShare + '%'})</span>
+                                  </div>
+                                  <div class="item-progress" v-else>
+                                      <span class="yellow-progress-bg" :style="{width: item.rPercent + '%'}"></span>
+                                      <span class="yellow-progress-text">${item.money}(${item.moneyShare + '%'})</span>
+                                  </div>
+                              </div>
+                          </div>
+                      </div>
+                      <div class="tooltip" v-show="doubleBar.showTooltip" :style="{left:doubleBar.info.positionLeft,top:doubleBar.info.positionTop}">
+                          <div class="tooltip-item">
+                              <span class="tooltip-circle blue-circle"></span>
+                              <span>数量(个)及占比:${doubleBar.info.num}(${doubleBar.info.numShare + '%'})</span>
+                          </div>
+                          <div class="tooltip-item">
+                              <span class="tooltip-circle yellow-circle"></span>
+                              <span>金额(万元)及占比:${doubleBar.info.money}(${doubleBar.info.moneyShare + '%'})</span>
+                          </div>
+                          <div class="tooltip-name">- ${doubleBar.info.type} -</div>
+                      </div>
+                      <div class="custom-legend">
+                          <div class="legend-item">
+                              <span class="tooltip-circle blue-circle"></span>
+                              <span>数量(个)及占比</span>
+                          </div>
+                          <div class="legend-item">
+                              <span class="tooltip-circle yellow-circle"></span>
+                              <span>金额(万元)及占比</span>
+                          </div>
+                      </div>
+                  </div>
+              </div>
+              <!-- 各行业项目平均节支率 -->
+              <div class="savings-rate" v-if="isShow.showSaveRate">
+                  <div class="chart_title">各行业项目平均节支率</div>
+                  <div class="lineChart">
+                      <ve-line :init-options="initRendererSvg" :data="savingsRateData" height="314px" :after-config="savingsRateConfig" :extend="chartOptions.lineChart"></ve-line>
+                  </div>
+              </div>
+              <!-- 各行业项目规模占比 -->
+              <div class="industry-scale-rate" v-if="isShow.showScaleRate">
+                  <p class="chart_title">各行业项目规模占比</p>
+                  <div class="pieChart">
+                      <div ref="pieChart" style="height: 360px;"></div>
+                  </div>
+              </div>
+              <!-- 重点合作企业 -->
+              <div class="client" v-if="computedClientList && computedClientList.length> 0">
+                  <div class="client-title">重点合作企业</div>
+                  <div class="client-content">
+                      <div class="client-list" v-for="c in computedClientList" >
+                          <div class="c-thead">
+                              <strong class="c-name">${c.class}</strong>
+                              <span class="c-count">项目数量</span>
+                              <!-- <span class="c-rate">平均折扣率</span> -->
+                              <span class="c-time">最近合作日期</span>
+                          </div>
+                          <div class="progress-bar-container">
+                              <div class="progress-bar-item" v-for="(item,index) in c.topData" :key="index">
+                                  <div class="item-label">
+                                      <span @click="goEntInfo(item)" class="ellipsis-2 item-name">${item.winnerName}</span>
+                                      <span class="item-count">${item.countProject}个</span>
+                                      <!-- <span class="item-rate">${item.rate}</span> -->
+                                      <span class="item-time">${item.lastTime}</span>
+                                  </div>
+                                  <div class="item-progress">
+                                      <span class="item-money"  v-if="item.countMoney > 0">${utils.moneyUnit(item.countMoney)}</span>
+                                      <span class="item-progress-count active-progress" :style="{width: item.parent}"></span>
+                                  </div>
+                              </div>
+                          </div>
+                      </div>
+                  </div>
+              </div>
+              <!-- 合作企业注册资本分布 -->
+              <div class="industry-scale-rate" v-if="isShow.showCapital">
+                  <p class="chart_title">合作企业注册资本分布</p>
+                  <div class="barChart">
+                      <ve-histogram :init-options="initRendererSvg" height="284px" set-option-opts :data="regCapitalData" :after-config="regCapConfig" :settings="regCapSettings" :extend="chartOptions.barLineChart.chartExtend"> </ve-histogram>
+                  </div>
+              </div>
+              <!-- 合作企业年龄分布 -->
+              <div class="industry-scale-rate" v-if="isShow.showAge">
+                  <p class="chart_title">合作企业年龄分布</p>
+                  <div class="barChart">
+                      <ve-histogram :init-options="initRendererSvg" height="284px" :data="workingAgeData" :after-config="workingAgeConfig" :extend="chartOptions.barLineChart.chartExtend"> </ve-histogram>
+                  </div>
+              </div>
+              <!-- 合作企业注册地分布 -->
+              <div class="industry-scale-rate" v-if="isShow.showArea">
+                  <p class="chart_title">合作企业注册地分布</p>
+                  <div class="map" style="padding: 0 .32rem;">
+                      <ve-map
+                          :init-options="initRendererSvg"
+                          height="302px"
+                          :after-config="mapConfig"
+                          :data="mapChartData"
+                          :settings="mapSettings.chartSettings"
+                          :extend="mapSettings.chartExtend">
+                      </ve-map>
+                  </div>
+              </div>
+              <!-- 重点合作代理机构 -->
+              <div class="agency" v-if="isShow.showAgency">
+                  <div class="agency-title">重点合作代理机构</div>
+                  <div class="agency-container">
+                      <div class="agency-thead">
+                          <strong class="a-name"></strong>
+                          <span class="a-count">项目数量</span>
+                          <span class="a-time">最近合作日期</span>
+                      </div>
+                      <div class="agency-tbody">
+                          <div v-for="item in agencyList" class="ab-list">
+                              <div class="ab-label">
+                                  <span class="ellipsis-2 ab-name">${item.agency_name}</span>
+                                  <span class="ab-count">${item.project_count}个</span>
+                                  <span class="ab-time">${item.last_with_time}</span>
+                              </div>
+                              <div class="ab-progress">
+                                  <span class="ab-progress-default progress-active" :style="{width: item.parent}"></span>
+                              </div>
+                          </div>
+                      </div>
+                  </div>
+              </div>
             </div>
         </div>
     </div>

+ 5 - 3
src/web/staticres/common-module/collection/css/index.css

@@ -746,9 +746,10 @@
     line-height: 0.48rem;
 }
 .vip_openDialog  .vip_content{
+    padding: 0.32rem;
     display: flex;
     justify-content: center;
-    margin-top: 0.4rem;
+    /* margin-top: 0.4rem; */
     font-size: 0.28rem;
     font-weight: 400;
     text-align: CENTER;
@@ -758,10 +759,10 @@
 }
 .vip_openDialog .vip_content .vip_content_div{
     position: relative;
-    width: 4.82rem;
+    width: 5.42rem;
 }
 .vip_openDialog .vip_content .vip_img{
-    width: 4.82rem;
+    width: 5.42rem;
 }
 .vip_openDialog .vip_content .vip_example{
     position: absolute;
@@ -780,6 +781,7 @@
 }
 .vip_openDialog  .vip_head .vip_extend{
     font-size: 0.26rem;
+    color: #171826;
 }
 .vip_openDialog .openBtn{
     width: 100%;

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

@@ -1,14 +1,14 @@
 var vipDialog = `
 <div class="vip_openDialog">
-  <div class="vip_head">
-      <span>{{getTextMap.titleText}}</span>
-      <span class="vip_extend"><span>{{getTextMap.headText.top}}</span><br/>{{getTextMap.headText.bot}}</span>
-  </div>
   <div class="vip_content">
     <div class="vip_content_div">
       <img class="vip_img" :src="imgurl" />
       <span class="vip_example">示例</span>
     </div>
+  </div>  
+  <div class="vip_head">
+      <span style="display:none;">{{getTextMap.titleText}}</span>
+      <span class="vip_extend"><span>{{getTextMap.headText.top}}</span><br/>{{getTextMap.headText.bot}}</span>
   </div>
   <div class="openBtn">
       <button class="goBtn" @click="goOpen(getTextMap.headText.top,getTextMap.headText.bot, getTextMap.source)">{{getTextMap.btnText}}</button>

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

@@ -1,15 +1,15 @@
 var vipDialog = `
 <div class="vip_openDialog">
-  <div class="vip_head">
-      <span>{{getTextMap.titleText}}</span>
-      <span class="vip_extend"><span>{{getTextMap.headText.top}}</span><br/>{{getTextMap.headText.bot}}</span>
-  </div>
   <div class="vip_content">
     <div class="vip_content_div">
       <img class="vip_img" :src="imgurl" />
       <span class="vip_example">示例</span>
     </div>
   </div>
+  <div class="vip_head">
+      <span style="display:none;">{{getTextMap.titleText}}</span>
+      <span class="vip_extend"><span>{{getTextMap.headText.top}}</span><br/>{{getTextMap.headText.bot}}</span>
+  </div>
   <div class="openBtn">
       <button class="goBtn" @click="goOpen(getTextMap.source)">{{getTextMap.btnText}}</button>
   </div>

+ 240 - 224
src/web/templates/big-member/wx/page_unit_portrayal.html

@@ -61,7 +61,7 @@
           font-weight: normal;
         }
         .vip_openDialog{
-            padding: 0.56rem 0 0.64rem;
+            padding: 0 0 0.64rem;
             width: 6.06rem;
             /* height: 6.88rem; */
             background: url('{{Msg "seo" "cdn"}}/big-member/image/openVip.png') no-repeat;
@@ -134,232 +134,248 @@
                   </div>
               </div>
           </div>
-          <!-- 历史项目联系人 -->
-          <div class="vip_component" v-if="getStatus" style="height:10.8rem;background:url('/common-module/collection/image/buyer/01-bg.png?v=1') 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>
+          <!-- 遮罩部分 -->
+          <div v-if="getStatus">
+            <!-- 历史项目联系人 -->
+            <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>
+            </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>
+            </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>
+            </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>
+            </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>
+            </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>
+            </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>
+            </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>
+            </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>
+            </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>
+            </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>
+            </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>
+            </div>
           </div>
+          <!-- 数据部分 -->
           <div v-else>
+            <!-- 历史项目联系人 -->
             <hispro-component class="history-list" type="buyer" :buyer="buyer.name"></hispro-component>
-          </div>
-          <!-- 年度项目统计 -->
-          <div class="years" v-if="isShow.showYearData">
-              <div class="chart_title">年度项目统计</div>
-              <ve-histogram
-                  ref="projectDataCharts"
-                  height="284px"
-                  :colors="colorGreen"
-                  :data="projectData"
-                  :init-options="initRendererSvg"
-                  :after-config="projectConfig"
-                  :settings="projectChartSettings"
-                  :extend="barChart.chartExtend">
-              </ve-histogram>
-              <div class="bar-tip">注:项目金额指所有项目的中标金额之和,少数缺失的中标金额,用项目预算补充。</div>
-          </div>
-          <div class="vip_component" v-if="getStatus" style="height:10.8rem;background:url('/common-module/collection/image/buyer/02-bg.png?v=1') 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>
-          </div>
-          <!-- 月度采购规模统计 -->
-          <div class="month-scale" v-if="isShow.showMonthScale">
-              <div class="chart_title">月度采购规模统计</div>
-              <div class="lineChart">
-                  <div style="padding: 6px 12px 0;font-size: 10px;color: #9B9CA3;">采购规模(万元)</div>
-                  <ve-line :init-options="initRendererSvg" :data="monthScaleData" height="300px" :after-config="lineChartConfig" :extend="chartOptions.lineChart"></ve-line>
-              </div>
-              <div class="bar-tip">注:采购规模指中标金额,少数缺失的中标金额,用项目预算补充。</div>
-          </div>
-          <div class="vip_component" v-if="getStatus" style="height:10.8rem;background:url('/common-module/collection/image/buyer/03-bg.png?v=1') 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>
-          </div>
-          <!-- 采购规模分布 -->
-          <div class="scale-distribute" v-if="isShow.showScaleFb">
-              <div class="chart_title">采购规模分布</div>
-              <div class="hotMapChart">
-                  <div id="myChart" ref="hotChart" :style="{height: heatMapHeight}"></div>
-              </div>
-              <div class="bar-tip">注:平均节支率=(全部项目预算-全部中标金额)/全部项目预算,是指价格减让部分与原价的比率,仅统计预算和中标金额同时存在的项目。</div>
-          </div>
-          <div class="vip_component" v-if="getStatus" style="height:10.8rem;background:url('/common-module/collection/image/buyer/04-bg.png?v=1') 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>
-          </div>
-          <!-- 各类招标方式占比(双柱图) -->
-          <div class="double-bar" v-if="isShow.showBidType">
-              <div class="chart_title">各类招标方式占比</div>
-              <div class="bar-content">
-                  <div class="rate-item" v-for="(item,index) in doubleBar.list" @click.stop="tooltipHandle(item,index)">
-                      <div class="item-label">${item.type}</div>
-                      <div class="item-chart">
-                          <div class="left-chart">
-                              <div class="item-progress" v-if="item.lPercent > 50">
-                                  <span class="blue-progress-bg blue-padding" :style="{width: item.lPercent + '%'}">${item.num}(${item.numShare  + '%'})</span>
-                              </div>
-                              <div class="item-progress" v-else>
-                                  <span class="blue-progress-text">${item.num}(${item.numShare  + '%'})</span>
-                                  <span class="blue-progress-bg" :style="{width: item.lPercent + '%'}"></span>
-                              </div>
-                          </div>
-                          <div class="right-chart">
-                              <div class="item-progress" v-if="item.rPercent > 50">
-                                  <span class="yellow-progress-bg yellow-padding" :style="{width: item.rPercent + '%'}">${item.money}(${item.moneyShare + '%'})</span>
-                              </div>
-                              <div class="item-progress" v-else>
-                                  <span class="yellow-progress-bg" :style="{width: item.rPercent + '%'}"></span>
-                                  <span class="yellow-progress-text">${item.money}(${item.moneyShare + '%'})</span>
-                              </div>
-                          </div>
-                      </div>
-                  </div>
-                  <div class="tooltip" v-show="doubleBar.showTooltip" :style="{left:doubleBar.info.positionLeft,top:doubleBar.info.positionTop}">
-                      <div class="tooltip-item">
-                          <span class="tooltip-circle blue-circle"></span>
-                          <span>数量(个)及占比:${doubleBar.info.num}(${doubleBar.info.numShare + '%'})</span>
-                      </div>
-                      <div class="tooltip-item">
-                          <span class="tooltip-circle yellow-circle"></span>
-                          <span>金额(万元)及占比:${doubleBar.info.money}(${doubleBar.info.moneyShare + '%'})</span>
-                      </div>
-                      <div class="tooltip-name">- ${doubleBar.info.type} -</div>
-                  </div>
-                  <div class="custom-legend">
-                      <div class="legend-item">
-                          <span class="tooltip-circle blue-circle"></span>
-                          <span>数量(个)及占比</span>
-                      </div>
-                      <div class="legend-item">
-                          <span class="tooltip-circle yellow-circle"></span>
-                          <span>金额(万元)及占比</span>
-                      </div>
-                  </div>
-              </div>
-          </div>
-          <div class="vip_component" v-if="getStatus" style="height:8.8rem;background:url('/common-module/collection/image/buyer/05-bg.png?v=1') 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>
-          </div>
-          <!-- 各行业项目平均节支率 -->
-          <div class="savings-rate" v-if="isShow.showSaveRate">
-              <div class="chart_title">各行业项目平均节支率</div>
-              <div class="lineChart">
-                  <ve-line :init-options="initRendererSvg" :data="savingsRateData" height="314px" :after-config="savingsRateConfig" :extend="chartOptions.lineChart"></ve-line>
-              </div>
-          </div>
-          <div class="vip_component" v-if="getStatus" style="height:10.8rem;background:url('/common-module/collection/image/buyer/06-bg.png?v=1') 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>
-          </div>
-          <!-- 各行业项目规模占比 -->
-          <div class="industry-scale-rate" v-if="isShow.showScaleRate">
-              <p class="chart_title">各行业项目规模占比</p>
-              <div class="pieChart">
-                  <div ref="pieChart" style="height: 360px;"></div>
-              </div>
-          </div>
-          <div class="vip_component" v-if="getStatus" style="height:11.2rem;background:url('/common-module/collection/image/buyer/07-bg.png?v=1') 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>
-          </div>
-          <!-- 重点合作企业 -->
-          <div class="client" v-if="computedClientList && computedClientList.length> 0">
-              <div class="client-title">重点合作企业</div>
-              <div class="client-content">
-                  <div class="client-list" v-for="c in computedClientList" >
-                      <div class="c-thead">
-                          <strong class="c-name">${c.class}</strong>
-                          <span class="c-count">项目数量</span>
-                          <!-- <span class="c-rate">平均折扣率</span> -->
-                          <span class="c-time">最近合作日期</span>
-                      </div>
-                      <div class="progress-bar-container">
-                          <div class="progress-bar-item" v-for="(item,index) in c.topData" :key="index">
-                              <div class="item-label">
-                                  <span @click="goEntInfo(item)" class="ellipsis-2 item-name">${item.winnerName}</span>
-                                  <span class="item-count">${item.countProject}个</span>
-                                  <!-- <span class="item-rate">${item.rate}</span> -->
-                                  <span class="item-time">${item.lastTime}</span>
-                              </div>
-                              <div class="item-progress">
-                                  <span class="item-money"  v-if="item.countMoney > 0">${utils.moneyUnit(item.countMoney)}</span>
-                                  <span class="item-progress-count active-progress" :style="{width: item.parent}"></span>
-                              </div>
-                          </div>
-                      </div>
-                  </div>
-              </div>
-          </div>
-          <div class="vip_component" v-if="getStatus" style="height:10.8rem;background:url('/common-module/collection/image/buyer/08-bg.png?v=1') 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>
-          </div>
-          <!-- 合作企业注册资本分布 -->
-          <div class="industry-scale-rate" v-if="isShow.showCapital">
-              <p class="chart_title">合作企业注册资本分布</p>
-              <div class="barChart">
-                  <ve-histogram :init-options="initRendererSvg" height="284px" set-option-opts :data="regCapitalData" :after-config="regCapConfig" :settings="regCapSettings" :extend="chartOptions.barLineChart.chartExtend"> </ve-histogram>
-              </div>
-          </div>
-          <div class="vip_component" v-if="getStatus" style="height:10.8rem;background:url('/common-module/collection/image/buyer/09-bg.png?v=1') 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>
-          </div>
-          <!-- 合作企业年龄分布 -->
-          <div class="industry-scale-rate" v-if="isShow.showAge">
-              <p class="chart_title">合作企业年龄分布</p>
-              <div class="barChart">
-                  <ve-histogram :init-options="initRendererSvg" height="284px" :data="workingAgeData" :after-config="workingAgeConfig" :extend="chartOptions.barLineChart.chartExtend"> </ve-histogram>
-              </div>
-          </div>
-          <div class="vip_component" v-if="getStatus" style="height:10.8rem;background:url('/common-module/collection/image/buyer/10-bg.png?v=1') 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>
-          </div>
-          <!-- 合作企业注册地分布 -->
-          <div class="industry-scale-rate" v-if="isShow.showArea">
-              <p class="chart_title">合作企业注册地分布</p>
-              <div class="map" style="padding: 0 .32rem;">
-                  <ve-map
-                      :init-options="initRendererSvg"
-                      height="302px"
-                      :after-config="mapConfig"
-                      :data="mapChartData"
-                      :settings="mapSettings.chartSettings"
-                      :extend="mapSettings.chartExtend">
-                  </ve-map>
-              </div>
-          </div>
-          <div class="vip_component" v-if="getStatus" style="height:10.8rem;background:url('/common-module/collection/image/buyer/11-bg.png?v=1') 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>
-          </div>
-          <!-- 重点合作代理机构 -->
-          <div class="agency" v-if="isShow.showAgency">
-              <div class="agency-title">重点合作代理机构</div>
-              <div class="agency-container">
-                  <div class="agency-thead">
-                      <strong class="a-name"></strong>
-                      <span class="a-count">项目数量</span>
-                      <span class="a-time">最近合作日期</span>
-                  </div>
-                  <div class="agency-tbody">
-                      <div v-for="item in agencyList" class="ab-list">
-                          <div class="ab-label">
-                              <span class="ellipsis-2 ab-name">${item.agency_name}</span>
-                              <span class="ab-count">${item.project_count}个</span>
-                              <span class="ab-time">${item.last_with_time}</span>
-                          </div>
-                          <div class="ab-progress">
-                              <span class="ab-progress-default progress-active" :style="{width: item.parent}"></span>
-                          </div>
-                      </div>
-                  </div>
-              </div>
-          </div>
-          <div class="vip_component" v-if="getStatus" style="height:10.8rem;background:url('/common-module/collection/image/buyer/12-bg.png?v=1') 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>
+            <!-- 年度项目统计 -->
+            <div class="years" v-if="isShow.showYearData">
+                <div class="chart_title">年度项目统计</div>
+                <ve-histogram
+                    ref="projectDataCharts"
+                    height="284px"
+                    :colors="colorGreen"
+                    :data="projectData"
+                    :init-options="initRendererSvg"
+                    :after-config="projectConfig"
+                    :settings="projectChartSettings"
+                    :extend="barChart.chartExtend">
+                </ve-histogram>
+                <div class="bar-tip">注:项目金额指所有项目的中标金额之和,少数缺失的中标金额,用项目预算补充。</div>
+            </div>
+            <!-- 月度采购规模统计 -->
+            <div class="month-scale" v-if="isShow.showMonthScale">
+                <div class="chart_title">月度采购规模统计</div>
+                <div class="lineChart">
+                    <div style="padding: 6px 12px 0;font-size: 10px;color: #9B9CA3;">采购规模(万元)</div>
+                    <ve-line :init-options="initRendererSvg" :data="monthScaleData" height="300px" :after-config="lineChartConfig" :extend="chartOptions.lineChart"></ve-line>
+                </div>
+                <div class="bar-tip">注:采购规模指中标金额,少数缺失的中标金额,用项目预算补充。</div>
+            </div>
+            <!-- 采购规模分布 -->
+            <div class="scale-distribute" v-if="isShow.showScaleFb">
+                <div class="chart_title">采购规模分布</div>
+                <div class="hotMapChart">
+                    <div id="myChart" ref="hotChart" :style="{height: heatMapHeight}"></div>
+                </div>
+                <div class="bar-tip">注:平均节支率=(全部项目预算-全部中标金额)/全部项目预算,是指价格减让部分与原价的比率,仅统计预算和中标金额同时存在的项目。</div>
+            </div>
+            <!-- 各类招标方式占比(双柱图) -->
+            <div class="double-bar" v-if="isShow.showBidType">
+                <div class="chart_title">各类招标方式占比</div>
+                <div class="bar-content">
+                    <div class="rate-item" v-for="(item,index) in doubleBar.list" @click.stop="tooltipHandle(item,index)">
+                        <div class="item-label">${item.type}</div>
+                        <div class="item-chart">
+                            <div class="left-chart">
+                                <div class="item-progress" v-if="item.lPercent > 50">
+                                    <span class="blue-progress-bg blue-padding" :style="{width: item.lPercent + '%'}">${item.num}(${item.numShare  + '%'})</span>
+                                </div>
+                                <div class="item-progress" v-else>
+                                    <span class="blue-progress-text">${item.num}(${item.numShare  + '%'})</span>
+                                    <span class="blue-progress-bg" :style="{width: item.lPercent + '%'}"></span>
+                                </div>
+                            </div>
+                            <div class="right-chart">
+                                <div class="item-progress" v-if="item.rPercent > 50">
+                                    <span class="yellow-progress-bg yellow-padding" :style="{width: item.rPercent + '%'}">${item.money}(${item.moneyShare + '%'})</span>
+                                </div>
+                                <div class="item-progress" v-else>
+                                    <span class="yellow-progress-bg" :style="{width: item.rPercent + '%'}"></span>
+                                    <span class="yellow-progress-text">${item.money}(${item.moneyShare + '%'})</span>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="tooltip" v-show="doubleBar.showTooltip" :style="{left:doubleBar.info.positionLeft,top:doubleBar.info.positionTop}">
+                        <div class="tooltip-item">
+                            <span class="tooltip-circle blue-circle"></span>
+                            <span>数量(个)及占比:${doubleBar.info.num}(${doubleBar.info.numShare + '%'})</span>
+                        </div>
+                        <div class="tooltip-item">
+                            <span class="tooltip-circle yellow-circle"></span>
+                            <span>金额(万元)及占比:${doubleBar.info.money}(${doubleBar.info.moneyShare + '%'})</span>
+                        </div>
+                        <div class="tooltip-name">- ${doubleBar.info.type} -</div>
+                    </div>
+                    <div class="custom-legend">
+                        <div class="legend-item">
+                            <span class="tooltip-circle blue-circle"></span>
+                            <span>数量(个)及占比</span>
+                        </div>
+                        <div class="legend-item">
+                            <span class="tooltip-circle yellow-circle"></span>
+                            <span>金额(万元)及占比</span>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <!-- 各行业项目平均节支率 -->
+            <div class="savings-rate" v-if="isShow.showSaveRate">
+                <div class="chart_title">各行业项目平均节支率</div>
+                <div class="lineChart">
+                    <ve-line :init-options="initRendererSvg" :data="savingsRateData" height="314px" :after-config="savingsRateConfig" :extend="chartOptions.lineChart"></ve-line>
+                </div>
+            </div>
+            <!-- 各行业项目规模占比 -->
+            <div class="industry-scale-rate" v-if="isShow.showScaleRate">
+                <p class="chart_title">各行业项目规模占比</p>
+                <div class="pieChart">
+                    <div ref="pieChart" style="height: 360px;"></div>
+                </div>
+            </div>
+            <!-- 重点合作企业 -->
+            <div class="client" v-if="computedClientList && computedClientList.length> 0">
+                <div class="client-title">重点合作企业</div>
+                <div class="client-content">
+                    <div class="client-list" v-for="c in computedClientList" >
+                        <div class="c-thead">
+                            <strong class="c-name">${c.class}</strong>
+                            <span class="c-count">项目数量</span>
+                            <!-- <span class="c-rate">平均折扣率</span> -->
+                            <span class="c-time">最近合作日期</span>
+                        </div>
+                        <div class="progress-bar-container">
+                            <div class="progress-bar-item" v-for="(item,index) in c.topData" :key="index">
+                                <div class="item-label">
+                                    <span @click="goEntInfo(item)" class="ellipsis-2 item-name">${item.winnerName}</span>
+                                    <span class="item-count">${item.countProject}个</span>
+                                    <!-- <span class="item-rate">${item.rate}</span> -->
+                                    <span class="item-time">${item.lastTime}</span>
+                                </div>
+                                <div class="item-progress">
+                                    <span class="item-money"  v-if="item.countMoney > 0">${utils.moneyUnit(item.countMoney)}</span>
+                                    <span class="item-progress-count active-progress" :style="{width: item.parent}"></span>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <!-- 合作企业注册资本分布 -->
+            <div class="industry-scale-rate" v-if="isShow.showCapital">
+                <p class="chart_title">合作企业注册资本分布</p>
+                <div class="barChart">
+                    <ve-histogram :init-options="initRendererSvg" height="284px" set-option-opts :data="regCapitalData" :after-config="regCapConfig" :settings="regCapSettings" :extend="chartOptions.barLineChart.chartExtend"> </ve-histogram>
+                </div>
+            </div>
+            <!-- 合作企业年龄分布 -->
+            <div class="industry-scale-rate" v-if="isShow.showAge">
+                <p class="chart_title">合作企业年龄分布</p>
+                <div class="barChart">
+                    <ve-histogram :init-options="initRendererSvg" height="284px" :data="workingAgeData" :after-config="workingAgeConfig" :extend="chartOptions.barLineChart.chartExtend"> </ve-histogram>
+                </div>
+            </div>
+            <!-- 合作企业注册地分布 -->
+            <div class="industry-scale-rate" v-if="isShow.showArea">
+                <p class="chart_title">合作企业注册地分布</p>
+                <div class="map" style="padding: 0 .32rem;">
+                    <ve-map
+                        :init-options="initRendererSvg"
+                        height="302px"
+                        :after-config="mapConfig"
+                        :data="mapChartData"
+                        :settings="mapSettings.chartSettings"
+                        :extend="mapSettings.chartExtend">
+                    </ve-map>
+                </div>
+            </div>
+            <!-- 重点合作代理机构 -->
+            <div class="agency" v-if="isShow.showAgency">
+                <div class="agency-title">重点合作代理机构</div>
+                <div class="agency-container">
+                    <div class="agency-thead">
+                        <strong class="a-name"></strong>
+                        <span class="a-count">项目数量</span>
+                        <span class="a-time">最近合作日期</span>
+                    </div>
+                    <div class="agency-tbody">
+                        <div v-for="item in agencyList" class="ab-list">
+                            <div class="ab-label">
+                                <span class="ellipsis-2 ab-name">${item.agency_name}</span>
+                                <span class="ab-count">${item.project_count}个</span>
+                                <span class="ab-time">${item.last_with_time}</span>
+                            </div>
+                            <div class="ab-progress">
+                                <span class="ab-progress-default progress-active" :style="{width: item.parent}"></span>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
           </div>
       </div>
     </div>

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

@@ -41,7 +41,7 @@
         line-height: 0.4rem;
     }
     .vip_openDialog{
-        padding: 0.56rem 0 0.64rem;
+        padding: 0 0 0.64rem;
         width: 6.06rem;
         background: url('{{Msg "seo" "cdn"}}/big-member/image/openVip.png') no-repeat;
         background-size: 100% 100%;

+ 1 - 1
src/web/templates/frontRouter/wx/collection/sess/ent_portrait_change.html

@@ -23,7 +23,7 @@
 </head>
 <style>
     .vip_openDialog{
-        padding: 0.56rem 0 0.64rem;
+        padding: 0 0 0.64rem;
         width: 6.06rem;
         /* height: 6.88rem; */
         background: url('{{Msg "seo" "cdn"}}/big-member/image/openVip.png') no-repeat;