Преглед изворни кода

Merge branch 'dev/4.8.59_cyl' of qmx/jy into feature/v4.8.59

cuiyalong пре 1 година
родитељ
комит
b0c8038b3b
19 измењених фајлова са 1467 додато и 1384 уклоњено
  1. 21 11
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/ent_portrait.js
  2. 9 0
      src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/unit_portrayal.js
  3. 1 1
      src/jfw/modules/app/src/web/templates/big-member/page_client_buyer_project_news.html
  4. 285 285
      src/jfw/modules/app/src/web/templates/big-member/page_client_portrayal.html
  5. 182 168
      src/jfw/modules/app/src/web/templates/big-member/page_ent_portrait.html
  6. 1 1
      src/jfw/modules/app/src/web/templates/big-member/page_free_buyer_project_news.html
  7. 219 224
      src/jfw/modules/app/src/web/templates/big-member/page_unit_portrayal.html
  8. 10 1
      src/web/staticres/big-member/js/unit_portrayal.js
  9. 3 0
      src/web/staticres/common-module/big-member/js/client_high_set.js
  10. 9 0
      src/web/staticres/common-module/big-member/js/client_portrayal.js
  11. 3 0
      src/web/staticres/common-module/big-member/js/high_set.js
  12. 1 1
      src/web/staticres/common-module/collection/css/index_for_tmp_client.css
  13. 17 10
      src/web/staticres/common-module/collection/js/ent_portrait.js
  14. 10 3
      src/web/staticres/common-module/collection/js/history-project-client.js
  15. 5 3
      src/web/staticres/common-module/collection/js/history-project.js
  16. 281 284
      src/web/templates/big-member/wx/page_client_portrayal.html
  17. 1 1
      src/web/templates/big-member/wx/page_free_buyer_project_news.html
  18. 215 219
      src/web/templates/big-member/wx/page_unit_portrayal.html
  19. 194 172
      src/web/templates/frontRouter/wx/collection/sess/ent_portrait.html

+ 21 - 11
src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/ent_portrait.js

@@ -96,7 +96,9 @@ var vNode = {
         loaded: false,
         showGetNextButton: true
       },
-      entPortraitInfo: {},
+      entPortraitInfo: {
+        project_count: 0
+      },
       stickyTop: 80,
       // 年度项目统计设置
       annualSetting: {
@@ -281,13 +283,19 @@ var vNode = {
     },
     // 超级订阅画像余额是否展示
     showPortraitBalance: function () {
-      return this.hasOnePower && this.surplus && this.isVip
+      return this.isVip && this.powerInfo.memberStatus <= 0
+      // return this.hasOnePower && this.surplus && this.isVip
     },
     // 超级订阅画像余额模块引导按钮
     portraitBalance: function () {
       // 购买的全国,则联系客服。否则去升级
       return this.svipBuyset.areacount === -1 ? '联系客服' : '去升级'
     },
+    zbAnalysisEmpty: function () {
+      var empty = !this.getStatus && this.allNot
+      var project0 = this.entPortraitInfo.project_count <= 0
+      return empty || project0
+    },
     isFreeOrNotLogin () {
       return !this.isLogin || this.isFree
     }
@@ -431,10 +439,10 @@ var vNode = {
     // 获取画像信息
     getEntPortrait: function (callback) {
       // console.trace(this.isLogin, this.isFree)
-      if(!this.isLogin || this.isFree) {
-        // 此处可能出现isLogin未响应的情况。
-        return
-      }
+      // if(!this.isLogin || this.isFree) {
+      //   // 此处可能出现isLogin未响应的情况。
+      //   return
+      // }
       var storageSet = this.getHighSet()
       var _this = this
       var data = {
@@ -1178,7 +1186,9 @@ var vNode = {
     },
     // 整理月度项目统计数据
     arrangeMonthZbData: function (data) {
-      if (!data) return
+      if (!data) {
+        return this.show.areaData = false
+      }
       var rows = []
       var columns = ['月份']
       var count = 0
@@ -1299,10 +1309,10 @@ var vNode = {
     },
     // 初始化饼图
     initPieChartData: function (d) {
-      if (!d) return
-      if (d && d.length == 0) {
+      if (!d || d.length == 0) {
         // 新增变量 用于判断是否展示缺省页
         this.show.top10 = false
+        return
       }
       var that = this
       var arr = []
@@ -1351,9 +1361,9 @@ var vNode = {
     },
     // 整理重要客户数据
     arrangeImportantData: function (data) {
-      if (!data) return
-      if (data && data.length == 0) {
+      if (!data || data.length == 0) {
         this.show.topShow = false
+        return
       }
       var arr = []
       if ($.isArray(data)) {

+ 9 - 0
src/jfw/modules/app/src/web/staticres/jyapp/big-member/js/unit_portrayal.js

@@ -73,6 +73,9 @@ var vNode = {
         showArea: false,
         showAgency: false
       },
+      portraitInfo: {
+        project_count: 0
+      },
       // 中标动态
       dt: {
         loaded: false,
@@ -239,6 +242,11 @@ var vNode = {
       text = '立即充值'
       return text
     },
+    zbAnalysisEmpty: function () {
+      var empty = !this.getStatus && this.allNot
+      var project0 = this.portraitInfo.project_count <= 0
+      return empty || project0
+    },
     // 留完资的用户(保含已体验和未体验的)
     getfreeBuyerOpen: function () {
       return this.userInfo.isFree && this.userInfo.freeBuyerPort != 0;
@@ -756,6 +764,7 @@ var vNode = {
               if (res.data.onTrial) {
                 that.freeTrial = res.data.onTrial
               }
+              Object.assign(that.portraitInfo, res.data)
               that.initChartData('', res.data)
             } else {
               // that.getSectionChartData('a')

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

@@ -259,7 +259,7 @@
                                     <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') : '-'}
+                                    ${item.publishtime ? new Date(item.publishtime * 1000).pattern('yyyy-MM-dd') : '-'}
                                 </span>
                             </div>
                         </div>

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

@@ -215,7 +215,7 @@
                       <div class="image">
                           <img src="/common-module/public/image/jy-back.png">
                       </div>
-                      <div class="empty-main tip-text2">
+                      <div class="empty-main tip-text2 tip-sub-text">
                         <template v-if="buyerHighSet">
                           <p>对不起,没有匹配到相关信息,</p>
                           <p>修改时间范围或换个搜索词试试吧</p>
@@ -241,325 +241,325 @@
             <div class="module-notice-tip">注:仅针对发布了结果类公告的项目进行分析(已根据项目去重),分析条件同“招标动态”的筛选条件。</div>
           </div>
           <div class="tab-card-content">
-            <div class="buyer-statistic">
-              <div class="statistic-title">统计信息</div>
-              <div class="buyer-info">
-                <div class="bi-item">
-                  <span>采购项目数量</span>
-                  <span>${statistics.buyerCount || '--'}</span>
+            <template v-if="!noAuth">
+              <div class="empty-container bg-white" key="zb-analysis-content" v-if="zbAnalysisEmpty">
+                <div class="empty-content-position">
+                  <div class="image">
+                      <img src="/common-module/public/image/jy-back.png">
+                  </div>
+                  <p class="empty-main tip-text2 tip-sub-text">当前条件下暂无中标项目,无法进行中标分析</p>
                 </div>
-                <div class="bi-item">
-                  <span>采购规模</span>
-                  <span>${statistics.buyerScale || '--'}</span>
+              </div>
+              <!-- 数据部分 -->
+              <div v-else>
+                <div class="buyer-statistic">
+                  <div class="statistic-title">概况</div>
+                  <div class="buyer-info">
+                    <div class="bi-item">
+                      <span>采购项目数量</span>
+                      <span>${statistics.buyerCount || '--'}</span>
+                    </div>
+                    <div class="bi-item">
+                      <span>采购规模</span>
+                      <span>${statistics.buyerScale || '--'}</span>
+                    </div>
+                    <div class="bi-item">
+                      <span>中标企业数量</span>
+                      <span>${statistics.winnerCount || '--'}</span>
+                    </div>
+                    <div class="bi-item">
+                      <span>外省中标企业</span>
+                      <span>${statistics.otherWinner || '--'}</span>
+                    </div>
+                    <div class="bi-item">
+                      <span>流标记录数</span>
+                      <span>${statistics.fail_count || '--'}</span>
+                    </div>
+                  </div>
+                  <div class="static-scope">数据统计范围:${statistics.start || '-'}-${statistics.end}(结果类公告发布时间)</div>
                 </div>
-                <div class="bi-item">
-                  <span>中标企业数量</span>
-                  <span>${statistics.winnerCount || '--'}</span>
+                <!-- 年度项目统计 -->
+                <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="bi-item">
-                  <span>外省中标企业</span>
-                  <span>${statistics.otherWinner || '--'}</span>
+                <!-- 月度采购规模统计 -->
+                <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="bi-item">
-                  <span>流标记录数</span>
-                  <span>${statistics.fail_count || '--'}</span>
+                <!-- 采购规模分布 -->
+                <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>
-              <div class="static-scope">数据统计范围:${statistics.start || '-'}-${statistics.end}(结果类公告发布时间)</div>
-            </div>
-          </div>
-          <!-- <div class="jy-empty" v-show="allNot && !noAuth">
-            <div class="jy-empty-img"></div>
-            <p class="jy-empty-text">对不起,没有匹配到相关信息, <br>修改时间范围或换个搜索词试试吧</p>
-          </div> -->
-          <div class="empty-container bg-white" key="zb-analysis-content" v-if="!noAuth && allNot">
-            <div class="empty-content-position">
-              <div class="image">
-                  <img src="/common-module/public/image/jy-back.png">
-              </div>
-              <p class="empty-main tip-text2">当前条件下暂无中标项目,无法进行中标分析</p>
-            </div>
-          </div>
-
-          <!-- 数据部分 -->
-          <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="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 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="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 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="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 class="custom-legend">
+                      <div class="legend-item">
+                        <span class="tooltip-circle blue-circle"></span>
+                        <span>数量(个)及占比</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 class="legend-item">
+                        <span class="tooltip-circle yellow-circle"></span>
+                        <span>金额(万元)及占比</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 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 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 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>
-            </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="clientList && clientList.length> 0">
-              <div class="client-title">重点合作企业</div>
-              <div class="client-content">
-                <div class="client-list" v-for="(item,index) in clientList" :key="index">
-                  <div class="q-name" @click="goEntInfo(item)">${item.name}</div>
-                  <div class="c-thead">
-                    <strong class="c-name">行业</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" >
-                      <div class="item-label">
-                        <span class="item-name">${item.business?item.business:"--"}</span>
-                        <span class="item-count">${item.total}个</span>
-                        <span v-if="item.rate == 0" class="item-rate">0%</span>
-                        <span v-else class="item-rate">${item.rate?(item.rate * 100).toFixed(2)+"%":"--"}</span>
-                        <span class="item-time">${item.lastTime}</span>
+                <!-- 重点合作企业 -->
+                <div class="client" v-if="clientList && clientList.length> 0">
+                  <div class="client-title">重点合作企业</div>
+                  <div class="client-content">
+                    <div class="client-list" v-for="(item,index) in clientList" :key="index">
+                      <div class="q-name" @click="goEntInfo(item)">${item.name}</div>
+                      <div class="c-thead">
+                        <strong class="c-name">行业</strong>
+                        <span class="c-count">项目数量</span>
+                          <span class="c-rate">平均节支率</span>
+                        <span class="c-time">最近合作日期</span>
                       </div>
-                      <div class="item-progress">
-                        <span class="item-money"  v-if="item.amount > 0">中标金额:${utils.moneyUnit(item.amount)}</span>
-                        <span class="item-progress-count active-progress" :style="{width: item.parent}"></span>
+                      <div class="progress-bar-container">
+                        <div class="progress-bar-item" >
+                          <div class="item-label">
+                            <span class="item-name">${item.business?item.business:"--"}</span>
+                            <span class="item-count">${item.total}个</span>
+                            <span v-if="item.rate == 0" class="item-rate">0%</span>
+                            <span v-else class="item-rate">${item.rate?(item.rate * 100).toFixed(2)+"%":"--"}</span>
+                            <span class="item-time">${item.lastTime}</span>
+                          </div>
+                          <div class="item-progress">
+                            <span class="item-money"  v-if="item.amount > 0">中标金额:${utils.moneyUnit(item.amount)}</span>
+                            <span class="item-progress-count active-progress" :style="{width: item.parent}"></span>
+                          </div>
+                        </div>
                       </div>
                     </div>
                   </div>
                 </div>
-              </div>
-            </div>
-            <!-- 首次合作企业 -->
-            <div class="client" v-if="firList && firList.length> 0">
-              <div class="client-title">首次合作企业</div>
-              <div class="client-content">
-                <div class="client-list" v-for="(item,index) in firList" :key="index">
-                  <div class="q-name" @click="goEntInfo(item)">${item.name}</div>
-                  <div class="c-thead">
-                    <strong class="c-name">行业</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" >
-                      <div class="item-label">
-                        <span class="item-name">${item.business?item.business:"--"}</span>
-                        <span class="item-count">${item.total}个</span>
-                        <span v-if="item.rate == 0" class="item-rate">0%</span>
-                        <span v-else class="item-rate">${item.rate?(item.rate * 100).toFixed(2)+"%":"--"}</span>
-                          <span class="item-time">${item.lastTime}</span>
+                <!-- 首次合作企业 -->
+                <div class="client" v-if="firList && firList.length> 0">
+                  <div class="client-title">首次合作企业</div>
+                  <div class="client-content">
+                    <div class="client-list" v-for="(item,index) in firList" :key="index">
+                      <div class="q-name" @click="goEntInfo(item)">${item.name}</div>
+                      <div class="c-thead">
+                        <strong class="c-name">行业</strong>
+                        <span class="c-count">项目数量</span>
+                          <span class="c-rate">平均节支率</span>
+                        <span class="c-time">最近合作日期</span>
                       </div>
-                      <div class="item-progress">
-                        <span class="item-money"  v-if="item.amount > 0">中标金额:${utils.moneyUnit(item.amount)}</span>
-                        <span class="item-progress-count active-progress" :style="{width: item.parent}"></span>
+                      <div class="progress-bar-container">
+                        <div class="progress-bar-item" >
+                          <div class="item-label">
+                            <span class="item-name">${item.business?item.business:"--"}</span>
+                            <span class="item-count">${item.total}个</span>
+                            <span v-if="item.rate == 0" class="item-rate">0%</span>
+                            <span v-else class="item-rate">${item.rate?(item.rate * 100).toFixed(2)+"%":"--"}</span>
+                              <span class="item-time">${item.lastTime}</span>
+                          </div>
+                          <div class="item-progress">
+                            <span class="item-money"  v-if="item.amount > 0">中标金额:${utils.moneyUnit(item.amount)}</span>
+                            <span class="item-progress-count active-progress" :style="{width: item.parent}"></span>
+                          </div>
+                        </div>
                       </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="400px"
-                  :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 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="400px"
+                      :after-config="mapConfig"
+                      :data="mapChartData"
+                      :settings="mapSettings.chartSettings"
+                      :extend="mapSettings.chartExtend">
+                    </ve-map>
+                  </div>
                 </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 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="ab-progress">
-                      <span class="ab-progress-default progress-active" :style="{width: item.parent}"></span>
+                    <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>
+            </template>
+            <!-- 遮罩部分 -->
+            <div v-if="noAuth">
+              <!-- 历史项目联系人 -->
+              <!-- <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  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  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  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  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  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  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  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  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  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  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: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  type="item_7" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/07.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  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: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 type="item_88" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/088.png'></buyer-example>
+              </div>
             </div>
           </div>
-
-          <!-- 遮罩部分 -->
-          <div v-if="noAuth">
-            <!-- 历史项目联系人 -->
-            <!-- <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  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  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  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  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  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  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  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  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  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  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: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  type="item_7" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/07.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  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: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 type="item_88" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/088.png'></buyer-example>
-            </div>
-          </div>
+          <!-- <div class="jy-empty" v-show="allNot && !noAuth">
+            <div class="jy-empty-img"></div>
+            <p class="jy-empty-text">对不起,没有匹配到相关信息, <br>修改时间范围或换个搜索词试试吧</p>
+          </div> -->
         </van-tab>
       </van-tabs>
     </div>

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

@@ -88,6 +88,10 @@
       margin-bottom: .28rem;
       box-sizing: border-box;
     }
+    .history-list {
+      padding-top: 0;
+      padding-bottom: 0;
+    }
 </style>
 
 <body>
@@ -269,7 +273,7 @@
           </div>
         </div>
         <div class="bg-white tab-card cell-list" v-else >
-          <hispro-component class="history-list" type="winner" :id="entInfo.id" :ent-name="entInfo.name"></hispro-component>
+          <hispro-component ref="hispro" class="history-list" type="winner" :id="entInfo.id" :ent-name="entInfo.name"></hispro-component>
         </div>
       </van-tab>
       <!-- 中标动态 -->
@@ -280,8 +284,8 @@
               <span>中标动态</span>
               <!-- <span class="module-title-num">10</span> -->
             </div>
-            <div class="action-group" v-if="conf._13">
-              <div class="action-button export" @click="onExport">
+            <div class="action-group" v-if="conf._13" key="action-group">
+              <div class="action-button export" @click="onExport" v-if="topProject.list.length">
                   <i class="j-icon base-icon icon-download"></i>
                   <em class="action-button-text">数据导出</em>
               </div>
@@ -290,6 +294,13 @@
                 <em class="action-button-text">筛选条件</em>
               </div>
             </div>
+            <!-- 免费用户显示数据导出入口 -->
+            <div class="action-group" v-else-if="isFreeOrNotLogin" key="action-group">
+              <div class="action-button export" @click="onExport">
+                <i class="j-icon base-icon icon-download"></i>
+                <em class="action-button-text">数据导出</em>
+              </div>
+            </div>
           </div>
           <div class="module-notice-tip">注:1个项目如同时发布了中标、成交、合同等结果类公告,则有多条数据</div>
           <div class="tab-card-content vip_component" v-if="getStatus && hideDt"
@@ -367,151 +378,215 @@
               <!-- <span class="module-title-num">10</span> -->
             </div>
           </div>
-          <div class="module-notice-tip">注:1个项目如同时发布了中标、成交、合同等结果类公告,则有多条数据</div>
+          <div class="module-notice-tip">注:以下分析统计已根据项目去重;分析条件同“中标动态”的筛选条件。</div>
         </div>
         <!-- 有权限,并且数据为空。则展示空状态 -->
         <!-- <div class="jy-empty" v-show="allNot && !getStatus">
             <div class="jy-empty-img"></div>
             <p class="jy-empty-text">对不起,没有匹配到相关信息, <br>修改时间范围或换个搜索词试试吧</p>
         </div> -->
-        <!-- v-if="!getStatus && allNot && entPortraitInfo.project_count <= 0" -->
-        <div class="empty-container bg-white" key="zb-analysis-content" v-if="!getStatus && allNot">
-          <div class="empty-content-position">
-              <div class="image">
-                  <img src="/common-module/public/image/jy-back.png">
-              </div>
-              <p class="empty-main tip-text2">当前条件下暂无中标项目,无法进行中标分析</p>
-          </div>
-        </div>
-        <template v-else key="zb-analysis-content">
-          <!-- 中标信息统计结果概况-->
-          <div class="tab-card-container zb-overview-module" v-if="!isFreeOrNotLogin">
-            <div class="vip-ent-portrait-balance" v-if="showPortraitBalance">
-              <span class="bid_surplus highlight-text">当月企业画像余额:${entvisit.total - entvisit.usage}个</span>
-              <span v-if="isShowUpTip" class="j-button-confirm bid_upgrade" @click="portraitBalanceActionRight(portraitBalance)">${portraitBalance}</span>
+        <template v-if="!getStatus" key="zb-analysis-content">
+          <div class="empty-container bg-white" key="zb-analysis-content" v-if="zbAnalysisEmpty">
+            <div class="empty-content-position">
+                <div class="image">
+                    <img src="/common-module/public/image/jy-back.png">
+                </div>
+                <p class="empty-main tip-text2">当前条件下暂无中标项目,无法进行中标分析</p>
             </div>
-            <div class="bg-white tab-card">
-              <div class="tab-card-title" style="padding: 0.16rem .32rem .12rem;">概况</div>
-              <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 + '个' : '--'}
+          </div>
+          <!-- 数据部分 -->
+          <div v-else class="module-chart-list">
+            <!-- 中标信息统计结果概况-->
+            <div class="tab-card-container zb-overview-module">
+              <div class="vip-ent-portrait-balance" v-if="showPortraitBalance">
+                <span class="bid_surplus highlight-text">当月企业画像余额:${entvisit.total - entvisit.usage}个</span>
+                <!-- v-if="isShowUpTip" -->
+                <span class="j-button-confirm bid_upgrade" @click="portraitBalanceActionRight(portraitBalance)">${portraitBalance}</span>
+              </div>
+              <div class="bg-white tab-card">
+                <div class="tab-card-title" style="padding: 0.16rem .32rem .12rem;">概况</div>
+                <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 + '个' : '--'}
+                    </div>
                   </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) : '--'}
+                  <div class="card-column">
+                    <div class="ent-info-label">项目金额</div>
+                    <div class="ent-info-text">${entPortraitInfo.bidamount_count ?
+                      utils.moneyUnit(entPortraitInfo.bidamount_count) : '--'}
+                    </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="card-column">
-                  <div class="ent-info-label">项目省份</div>
-                  <div class="ent-info-text">${entPortraitInfo.area_count ? entPortraitInfo.area_count + '个' : '--'}</div>
+                <div class="zb-time-frame border-line-t">
+                  <span>数据统计范围:</span>
+                  <span>${entPortraitInfo.timeRangeStart ? new Date(entPortraitInfo.timeRangeStart *
+                      1000).pattern('yyyy/MM/dd') : ''}</span>
+                  <span>-</span>
+                  <span>${entPortraitInfo.timeRangeEnd ? new Date(entPortraitInfo.timeRangeEnd * 1000).pattern('yyyy/MM/dd')
+                      : '至今'}</span>
+                  <span>(结果类公告发布时间)</span>
                 </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 class="bg-white tab-card charts"
+                v-if="conf._4 && 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="bg-white tab-card charts"
+                v-if="conf._4 && 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="bg-white tab-card charts"
+                v-if="conf._4 && mapChartData.rows.length !== 0 && !getStatus">
+              <div class="tab-card-title">市场区域分布</div>
+              <div class="tab-card-content">
+                <ve-map height="400px" :data="mapChartData" :init-options="initEchartsOptions" :after-config="mapConfig"
+                        :settings="mapSettings.chartSettings" :extend="mapSettings.chartExtend">
+                </ve-map>
+              </div>
+            </div>
+            <div class="bg-white tab-card charts"
+                v-if="conf._4 && 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="bg-white tab-card charts"
+                v-show="conf._4 && 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="bg-white tab-card customers client"
+                v-show="conf._4 && 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-top">
+                    <strong class="c-itemName">${c.title}</strong>
+                    <div class="top-switch">
+                      <div :class="{active: !c.showLabels}" @click="c.showLabels=false">重点客户</div>
+                      <div :class="{active: c.showLabels}" @click="c.showLabels=true">首次合作客户</div>
+                    </div>
+                  </div>
+                  <div class="progress-bar-container" v-show="!c.showLabels">
+                    <div class="c-thead">
+                      <strong class="c-name">客户名称</strong>
+                      <span class="c-count">中标数量</span>
+                      <span class="c-rate">平均折扣率</span>
+                      <span class="c-time">最近合作日期</span>
+                    </div>
+                    <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 class="progress-bar-container" v-show="c.showLabels">
+                    <div v-if="c.firstList&&c.firstList.length>0">
+                      <div class="c-thead">
+                      <strong class="c-name">客户名称</strong>
+                      <span class="c-count">中标数量</span>
+                      <span class="c-rate">平均折扣率</span>
+                      <span class="c-time">最近合作日期</span>
+                    </div>
+                      <div class="progress-bar-item" v-for="(item,index) in c.firstList" :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 v-else style="display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.4rem;">
+                      <div style="height:4rem;width:4rem;background:url('/common-module/collection/image/jy-back.png?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%"></div>
+                      <span style="font-size: .28rem;line-height: 20px;color: #9B9CA3;">该时间范围暂无首次合作过的客户</span>
+                    </div>
                   </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') : ''}</span>
-                <span>-</span>
-                <span>${entPortraitInfo.timeRangeEnd ? new Date(entPortraitInfo.timeRangeEnd * 1000).pattern('yyyy/MM/dd')
-                    : '至今'}</span>
-                <span>(结果类公告发布时间)</span>
-              </div>
             </div>
           </div>
+        </template>
+        <div class="module-mask-list" v-if="getStatus">
           <!-- 中标信息统计结果 -->
-          <div class="bg-white tab-card charts" v-if="isFreeOrNotLogin">
-            <div class="vip_component" v-if="getStatus && hideDt"
-                  style="height:5.8rem;background:url('/common-module/collection/image/bg/qy-zbtj-bg.png?v={{Msg "seo" "version"}}') 40% 0 no-repeat;background-size:110% 100%;"
-              key="dt">
-              <vip-component @tabactive="tabActive" :power="conf" type="item_10" :can-free-exp="canFreeExp"
-                            :entvisit="entvisit" :newvip="isVip" :islogin="isLogin"
-                            imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/qy-zbtj.png?v={{Msg "seo" "version"}}'>
-              </vip-component>
-            </div>
-          </div>
-          <div class="bg-white tab-card charts"
-              v-if="conf._4 && 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="vip_component" v-if="getStatus && hideDt"
+                style="height:7.8rem;background:url('/common-module/collection/image/bg/qy-zbtj-bg.png?v={{Msg "seo" "version"}}') 40% 0 no-repeat;background-size:110% 100%;"
+            key="dt">
+            <vip-component @tabactive="tabActive" :power="conf" type="item_10" :can-free-exp="canFreeExp"
+                          :entvisit="entvisit" :newvip="isVip" :islogin="isLogin"
+                          imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/qy-zbtj.png?v={{Msg "seo" "version"}}'>
+            </vip-component>
           </div>
-          <div class="vip_component" v-if="getStatus"
+          <div class="vip_component"
               style="height:11.12rem;background:url('/common-module/collection/image/bg/vip_bg_2.png?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%">
             <vip-component @tabactive="tabActive" type="item_2" :power="conf" :can-free-exp="canFreeExp"
                           :entvisit="entvisit" :newvip="isVip" :islogin="isLogin"
                           imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_2.png?v={{Msg "seo" "version"}}'>
             </vip-component>
           </div>
-          <div class="bg-white tab-card charts"
-              v-if="conf._4 && monthZbData.rows.length !== 0 && !getStatus">
-            <div class="tab-card-title">月度中标金额统计</div>
-            <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"
+          <div class="vip_component"
               style="height:10.8rem;background:url('/common-module/collection/image/bg/vip_bg_3.png?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%">
             <vip-component @tabactive="tabActive" type="item_3" :power="conf" :can-free-exp="canFreeExp"
                           :entvisit="entvisit" :newvip="isVip" :islogin="isLogin"
                           imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_3.png?v={{Msg "seo" "version"}}'>
             </vip-component>
           </div>
-          <div class="bg-white tab-card charts"
-              v-if="conf._4 && mapChartData.rows.length !== 0 && !getStatus">
-            <div class="tab-card-title">市场区域分布</div>
-            <div class="tab-card-content">
-              <ve-map height="400px" :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"
+          <div class="vip_component"
               style="height:10.56rem;background:url('/common-module/collection/image/bg/vip_bg_4.png?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%">
             <vip-component @tabactive="tabActive" type="item_4" :power="conf" :can-free-exp="canFreeExp"
                           :entvisit="entvisit" :newvip="isVip" :islogin="isLogin"
                           imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_4.png?v={{Msg "seo" "version"}}'>
             </vip-component>
           </div>
-          <div class="bg-white tab-card charts"
-              v-if="conf._4 && rateData.rows.length !== 0 && !getStatus">
-            <div class="tab-card-title">各类客户平均折扣率</div>
-            <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"
+          <div class="vip_component"
               style="height:11.24rem;background:url('/common-module/collection/image/bg/vip_bg_5.png?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%">
             <vip-component @tabactive="tabActive" type="item_5" :power="conf" :can-free-exp="canFreeExp"
                           :entvisit="entvisit" :newvip="isVip" :islogin="isLogin"
                           imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_5.png?v={{Msg "seo" "version"}}'>
             </vip-component>
           </div>
-          <div class="bg-white tab-card charts"
-              v-show="conf._4 && entPortraitInfo.top10 && entPortraitInfo.top10.length != 0 && !getStatus">
-            <div class="tab-card-title">客户类型分布</div>
-            <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?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%">
             <vip-component @tabactive="tabActive" type="item_6" :power="conf" :can-free-exp="canFreeExp"
@@ -519,67 +594,6 @@
                           imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_6.png?v={{Msg "seo" "version"}}'>
             </vip-component>
           </div>
-          <div class="bg-white tab-card customers client"
-              v-show="conf._4 && importantCustomers.length !== 0 && !getStatus">
-            <div class="tab-card-title">重点及首次合作客户</div>
-            <div class="tab-card-content">
-              <div class="client-list" v-for="c in importantCustomers">
-                <div class="c-top">
-                  <strong class="c-itemName">${c.title}</strong>
-                  <div class="top-switch">
-                    <div :class="{active: !c.showLabels}" @click="c.showLabels=false">重点客户</div>
-                    <div :class="{active: c.showLabels}" @click="c.showLabels=true">首次合作客户</div>
-                  </div>
-                </div>
-                <div class="progress-bar-container" v-show="!c.showLabels">
-                  <div class="c-thead">
-                    <strong class="c-name">客户名称</strong>
-                    <span class="c-count">中标数量</span>
-                    <span class="c-rate">平均折扣率</span>
-                    <span class="c-time">最近合作日期</span>
-                  </div>
-                  <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 class="progress-bar-container" v-show="c.showLabels">
-                  <div v-if="c.firstList&&c.firstList.length>0">
-                    <div class="c-thead">
-                    <strong class="c-name">客户名称</strong>
-                    <span class="c-count">中标数量</span>
-                    <span class="c-rate">平均折扣率</span>
-                    <span class="c-time">最近合作日期</span>
-                  </div>
-                    <div class="progress-bar-item" v-for="(item,index) in c.firstList" :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 v-else style="display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.4rem;">
-                    <div style="height:4rem;width:4rem;background:url('/common-module/collection/image/jy-back.png?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%"></div>
-                    <span style="font-size: .28rem;line-height: 20px;color: #9B9CA3;">该时间范围暂无首次合作过的客户</span>
-                  </div>
-                </div>
-              </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?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%">
             <vip-component @tabactive="tabActive" type="item_7" :power="conf" :can-free-exp="canFreeExp"
@@ -587,7 +601,7 @@
                           imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/bg/vip_ex_7.png?v={{Msg "seo" "version"}}'>
             </vip-component>
           </div>
-        </template>
+        </div>
       </van-tab>
     </van-tabs>
     <div class="j-main project-tab-container" v-if="conf.powerLoaded && !conf.showPortraitAll">

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

@@ -260,7 +260,7 @@
                                     <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') : '-'}
+                                    ${item.publishtime ? new Date(item.publishtime * 1000).pattern('yyyy-MM-dd') : '-'}
                                 </span>
                             </div>
                         </div>

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

@@ -213,17 +213,7 @@
           <!-- 招标动态 -->
           <van-tab :name="moduleList[1].name" :title="moduleList[1].title">
             <!-- 招标动态 -->
-            <div v-if="getStatus" class="vip_component" style="height:8.8rem;background:#fff url('/common-module/collection/image/buyer/cg-zbdt-bg.jpg?v={{Msg "seo" "version"}}') no-repeat center 50px;background-size:100% 100%;position:relative;">
-              <p class="example-title">招标动态</p>
-              <div class="example-export">
-                <span>
-                  <i class="j-icon base-icon icon-download-999"></i>
-                  <em style="color:#999;">数据导出</em>
-                </span>
-              </div>
-               <buyer-example style="margin-top:1rem;"  :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_14" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/cg-zbdt.png?v={{Msg "seo" "version"}}'></buyer-example>
-            </div>
-            <div class="dynamic" v-else>
+            <div class="dynamic">
               <div class="bg-white tab-card cell-list project-news">
                 <div class="module-title-container bg-white project-news-module">
                   <div class="module-title project-news-title">
@@ -231,7 +221,7 @@
                     <!-- <span class="module-title-num">10</span> -->
                   </div>
                   <div class="action-group">
-                    <div class="action-button export" @click="onExport">
+                    <div class="action-button export" @click="onExport" v-if="dt.list.length">
                         <i class="j-icon base-icon icon-download"></i>
                         <em id="mainSearch-selLable-dataExport" class="action-button-text">数据导出</em>
                     </div>
@@ -242,7 +232,10 @@
                   </div>
                 </div>
                 <div class="module-notice-tip">注:1个项目如同时发布了预告、招标、中标等多条公告,则有多条数据</div>
-                <div class="tab-card-content">
+                <div v-if="getStatus" class="tab-card-content vip_component" style="height:7.8rem;background:#fff url('/common-module/collection/image/buyer/cg-zbdt-bg.jpg?v={{Msg "seo" "version"}}') no-repeat center 50px;background-size:100% 100%;position:relative;">
+                  <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_14" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/cg-zbdt.png?v={{Msg "seo" "version"}}'></buyer-example>
+                </div>
+                <div class="tab-card-content" v-else>
                   <div class=" d_content" v-if="dt.list.length">
                     <div class="d_list" :class="{ visited: item.visited }" v-for="(item,index) in dt.list"
                       @click="goDetail(item)">
@@ -341,256 +334,258 @@
               <div class="module-notice-tip">注:仅针对发布了结果类公告的项目进行分析(已根据项目去重),分析条件同“招标动态”的筛选条件。</div>
             </div>
             <div class="tab-card-content">
-              <div class="buyer-statistic" v-if="!isFreeOrNotLogin">
-                <div class="statistic-title">概况</div>
-                <div class="buyer-info">
-                  <div class="bi-item">
-                    <span>采购项目数量</span>
-                    <span>${statistics.buyerCount || '--'}</span>
-                  </div>
-                  <div class="bi-item">
-                    <span>采购规模</span>
-                    <span>${statistics.buyerScale || '--'}</span>
-                  </div>
-                  <div class="bi-item">
-                    <span>中标企业数量</span>
-                    <span>${statistics.winnerCount || '--'}</span>
-                  </div>
-                  <div class="bi-item">
-                    <span>外省中标企业</span>
-                    <span>${statistics.otherWinner || '--'}</span>
-                  </div>
-                  <div class="bi-item">
-                    <span>流标记录数</span>
-                    <span>${statistics.fail_count || '--'}</span>
-                  </div>
-                </div>
-                <div class="static-scope">数据统计范围:${statistics.start || '-'}-${statistics.end}(结果类公告发布时间)</div>
-              </div>
               <!-- <div class="jy-empty" v-show="allNot && !getStatus">
                 <div class="jy-empty-img"></div>
                 <p class="jy-empty-text">对不起,没有匹配到相关信息, <br>修改时间范围或换个搜索词试试吧</p>
               </div> -->
-              <div class="empty-container bg-white" key="zb-analysis-content" v-if="!getStatus && allNot">
-                <div class="empty-content-position">
-                    <div class="image">
-                        <img src="/common-module/public/image/jy-back.png">
-                    </div>
-                    <p class="empty-main tip-text2">当前条件下暂无中标项目,无法进行中标分析</p>
-                </div>
-              </div>
-              <!-- 数据部分 -->
-              <div v-if="!isFreeOrNotLogin">
-                <!-- 年度项目统计 -->
-                <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-show="isShow.showScaleFb">
-                  <div class="chart_title">采购规模分布</div>
-                  <div class="hotMapChart">
-                    <div id="myChart" ref="hotChart" :style="{height: heatMapHeight}"></div>
+              <template v-if="!getStatus">
+                <div class="empty-container bg-white" key="zb-analysis-content" v-if="zbAnalysisEmpty">
+                  <div class="empty-content-position">
+                      <div class="image">
+                          <img src="/common-module/public/image/jy-back.png">
+                      </div>
+                      <p class="empty-main tip-text2">当前条件下暂无中标项目,无法进行中标分析</p>
                   </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 v-else>
+                  <div class="buyer-statistic">
+                    <div class="statistic-title">概况</div>
+                    <div class="buyer-info">
+                      <div class="bi-item">
+                        <span>采购项目数量</span>
+                        <span>${statistics.buyerCount || '--'}</span>
                       </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 class="bi-item">
+                        <span>采购规模</span>
+                        <span>${statistics.buyerScale || '--'}</span>
                       </div>
-                      <div class="tooltip-item">
-                        <span class="tooltip-circle yellow-circle"></span>
-                        <span>金额(万元)及占比:${doubleBar.info.money}(${doubleBar.info.moneyShare + '%'})</span>
+                      <div class="bi-item">
+                        <span>中标企业数量</span>
+                        <span>${statistics.winnerCount || '--'}</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 class="bi-item">
+                        <span>外省中标企业</span>
+                        <span>${statistics.otherWinner || '--'}</span>
                       </div>
-                      <div class="legend-item">
-                        <span class="tooltip-circle yellow-circle"></span>
-                        <span>金额(万元)及占比</span>
+                      <div class="bi-item">
+                        <span>流标记录数</span>
+                        <span>${statistics.fail_count || '--'}</span>
                       </div>
                     </div>
+                    <div class="static-scope">数据统计范围:${statistics.start || '-'}-${statistics.end}(结果类公告发布时间)</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 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>
-                <!-- 各行业项目规模占比 -->
-                <div class="industry-scale-rate" v-show="isShow.showScaleRate">
-                  <p class="chart_title">各行业项目规模占比</p>
-                  <div class="pieChart">
-                    <div ref="pieChart" style="height: 360px;"></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>
-                <!-- 重点合作企业 -->
-                <div class="client" v-if="clientList && clientList.length> 0">
-                  <div class="client-title">重点合作企业</div>
-                  <div class="client-content">
-                    <div class="client-list" v-for="(item,index) in clientList" :key="index">
-                      <div class="q-name" @click="goEntInfo(item)">${item.name}</div>
-                      <div class="c-thead">
-                        <strong class="c-name">行业</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">
-                          <div class="item-label">
-                            <span class="item-name">${item.business?item.business:"--"}</span>
-                            <span class="item-count">${item.total}个</span>
-                            <span v-if="item.rate == 0" class="item-rate">0%</span>
-                            <span v-else class="item-rate">${item.rate?(item.rate * 100).toFixed(2)+"%":"--"}</span>
-                            <span class="item-time">${item.lastTime}</span>
+                  <!-- 采购规模分布 -->
+                  <div class="scale-distribute" v-show="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="item-progress">
-                            <span class="item-money" v-if="item.amount > 0">中标金额:${utils.moneyUnit(item.amount)}</span>
-                            <span class="item-progress-count active-progress" :style="{width: item.parent}"></span>
+                          <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>
-                <!-- 首次合作企业 -->
-                <div class="client" v-if="firList && firList.length> 0">
-                  <div class="client-title">首次合作企业</div>
-                  <div class="client-content">
-                    <div class="client-list" v-for="(item,index) in firList" :key="index">
-                      <div class="q-name" @click="goEntInfo(item)">${item.name}</div>
-                      <div class="c-thead">
-                        <strong class="c-name">行业</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">
-                          <div class="item-label">
-                            <span class="item-name">${item.business?item.business:"--"}</span>
-                            <span class="item-count">${item.total}个</span>
-                            <span v-if="item.rate == 0" class="item-rate">0%</span>
-                            <span v-else class="item-rate">${item.rate?(item.rate * 100).toFixed(2)+"%":"--"}</span>
-                            <span class="item-time">${item.lastTime}</span>
-                          </div>
-                          <div class="item-progress">
-                            <span class="item-money" v-if="item.amount > 0">中标金额:${utils.moneyUnit(item.amount)}</span>
-                            <span class="item-progress-count active-progress" :style="{width: item.parent}"></span>
+                  <!-- 各行业项目平均节支率 -->
+                  <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-show="isShow.showScaleRate">
+                    <p class="chart_title">各行业项目规模占比</p>
+                    <div class="pieChart">
+                      <div ref="pieChart" style="height: 360px;"></div>
+                    </div>
+                  </div>
+                  <!-- 重点合作企业 -->
+                  <div class="client" v-if="clientList && clientList.length> 0">
+                    <div class="client-title">重点合作企业</div>
+                    <div class="client-content">
+                      <div class="client-list" v-for="(item,index) in clientList" :key="index">
+                        <div class="q-name" @click="goEntInfo(item)">${item.name}</div>
+                        <div class="c-thead">
+                          <strong class="c-name">行业</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">
+                            <div class="item-label">
+                              <span class="item-name">${item.business?item.business:"--"}</span>
+                              <span class="item-count">${item.total}个</span>
+                              <span v-if="item.rate == 0" class="item-rate">0%</span>
+                              <span v-else class="item-rate">${item.rate?(item.rate * 100).toFixed(2)+"%":"--"}</span>
+                              <span class="item-time">${item.lastTime}</span>
+                            </div>
+                            <div class="item-progress">
+                              <span class="item-money" v-if="item.amount > 0">中标金额:${utils.moneyUnit(item.amount)}</span>
+                              <span class="item-progress-count active-progress" :style="{width: item.parent}"></span>
+                            </div>
                           </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 class="client" v-if="firList && firList.length> 0">
+                    <div class="client-title">首次合作企业</div>
+                    <div class="client-content">
+                      <div class="client-list" v-for="(item,index) in firList" :key="index">
+                        <div class="q-name" @click="goEntInfo(item)">${item.name}</div>
+                        <div class="c-thead">
+                          <strong class="c-name">行业</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">
+                            <div class="item-label">
+                              <span class="item-name">${item.business?item.business:"--"}</span>
+                              <span class="item-count">${item.total}个</span>
+                              <span v-if="item.rate == 0" class="item-rate">0%</span>
+                              <span v-else class="item-rate">${item.rate?(item.rate * 100).toFixed(2)+"%":"--"}</span>
+                              <span class="item-time">${item.lastTime}</span>
+                            </div>
+                            <div class="item-progress">
+                              <span class="item-money" v-if="item.amount > 0">中标金额:${utils.moneyUnit(item.amount)}</span>
+                              <span class="item-progress-count active-progress" :style="{width: item.parent}"></span>
+                            </div>
+                          </div>
+                        </div>
+                      </div>
+                    </div>
                   </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 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>
-                <!-- 合作企业注册地分布 -->
-                <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="400px" :after-config="mapConfig" :data="mapChartData"
-                      :settings="mapSettings.chartSettings" :extend="mapSettings.chartExtend">
-                    </ve-map>
+                  <!-- 合作企业年龄分布 -->
+                  <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>
-                <!-- 重点合作代理机构 -->
-                <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 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="400px" :after-config="mapConfig" :data="mapChartData"
+                        :settings="mapSettings.chartSettings" :extend="mapSettings.chartExtend">
+                      </ve-map>
                     </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 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>
+              </template>
               <!-- 遮罩部分 -->
               <div v-if="getStatus">
       <!--            统计信息-->
               <div class="vip_component" style="height:7.56rem;background:#fff url('/common-module/collection/image/buyer/cg-tjxx-bg.png?v={{Msg "seo" "version"}}') no-repeat center 50px;background-size:100% 100%">
-                  <p class="example-title">统计信息</p>
+                  <p class="example-title">概况</p>
                   <buyer-example  :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_13" imgurl='{{Cdns .Host "seo" "cdn"|SafeUrl}}/common-module/collection/image/buyer/cg-tjxx.png?v={{Msg "seo" "version"}}'></buyer-example>
               </div>
                 <!-- 历史项目联系人 -->

+ 10 - 1
src/web/staticres/big-member/js/unit_portrayal.js

@@ -52,6 +52,9 @@ var vNode = {
                 start: '',
                 end: ''
             },
+            portraitInfo: {
+              project_count: 0
+            },
             projectChartSettings:{
                 showLine: ['项目金额'],
                 axisSite: { right: ['项目金额'] }
@@ -234,6 +237,11 @@ var vNode = {
           text = '立即充值'
           return text
         },
+        zbAnalysisEmpty: function () {
+          var empty = !this.getStatus && this.allNot
+          var project0 = this.portraitInfo.project_count <= 0
+          return empty || project0
+        },
         // 留完资的用户(保含已体验和未体验的)
         getfreeBuyerOpen: function () {
           return this.userInfo.isFree && this.userInfo.freeBuyerPort != 0;
@@ -689,6 +697,7 @@ var vNode = {
                   if(res.data && Object.keys(res.data).length > 0) {
                       that.chartLoading = false;
                       // 免费用户是否浏览过当前画像 true:浏览过 不返该字段:没浏览过
+                      Object.assign(that.portraitInfo, res.data)
                       if (res.data.onTrial) {
                         that.freeTrial = res.data.onTrial
                       }
@@ -723,7 +732,7 @@ var vNode = {
                   that.reqCount++;
                   if(res.data && Object.keys(res.data).length > 0) {
                     that.chartLoading = false;
-                    that.initChartData(type, res.data)
+                    Object.assign(that.portraitInfo, res.data)
                     if (type === 'a') {
                       that.reqCount = 0
                       that.getSectionChartData('b')

+ 3 - 0
src/web/staticres/common-module/big-member/js/client_high_set.js

@@ -503,10 +503,13 @@ var highSet = new Vue({
       this.conf.start = 2018
       this.conf.end = new Date().getFullYear()
       this.conf.match = 0
+      this.conf.buyerclass = '全部'
+
       this.filterInitData.area = []
       this.selectAreaList = ['全国']
       this.selectIndustryList = []
       this.selectScopeList = ['purchasing']
+      this.selectedBuyerclassList = []
     }
   }
 })

+ 9 - 0
src/web/staticres/common-module/big-member/js/client_portrayal.js

@@ -54,6 +54,9 @@ var vNode = {
               start: '',
               end: ''
           },
+          portraitInfo: {
+              project_count: 0
+          },
           projectChartSettings:{
               showLine: ['项目金额'],
               axisSite: { right: ['项目金额'] }
@@ -233,6 +236,11 @@ var vNode = {
       claimShow: function () {
         return this.powerInfo.isEntService || this.newEntNiche
       },
+      zbAnalysisEmpty: function () {
+        var empty = !this.noAuth && this.allNot
+        var project0 = this.portraitInfo.project_count <= 0
+        return empty || project0
+      },
       noAuth () {
         var usage = this.usageInfo
         var hasCount = usage.surplus > 0
@@ -711,6 +719,7 @@ var vNode = {
                     // if (res.data.onTrial) {
                     //   that.freeTrial = res.data.onTrial
                     // }
+                    Object.assign(that.portraitInfo, res.data)
                     that.initChartData('', res.data)
                 } else {
                   that.getDataObj = res.data

+ 3 - 0
src/web/staticres/common-module/big-member/js/high_set.js

@@ -525,11 +525,14 @@ var highSet = new Vue({
       this.conf.start = 2018
       this.conf.end = new Date().getFullYear()
       this.conf.match = 0
+      this.conf.buyerclass = '全部'
+
       this.filterInitData.area = []
       this.selectAreaList = ['全国']
       this.selectIndustryList = []
       this.selectedBuyerclassList = []
       this.selectScopeList = ['purchasing']
+      this.selectedBuyerclassList = []
     }
   }
 })

+ 1 - 1
src/web/staticres/common-module/collection/css/index_for_tmp_client.css

@@ -1281,7 +1281,7 @@
   line-height: .4rem;
   text-align: center;
 }
-
+.empty-container .tip-text2,
 .empty-container .tip-sub-text {
   color: #9B9CA3;
   font-size: .26rem;

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

@@ -96,7 +96,9 @@ var vNode = {
         pageSize: 5,
         showGetNextButton: true
       },
-      entPortraitInfo: {},
+      entPortraitInfo: {
+        project_count: 0
+      },
       stickyTop: 0,
       // 年度项目统计设置
       annualSetting: {
@@ -281,13 +283,19 @@ var vNode = {
     },
     // 超级订阅画像余额是否展示
     showPortraitBalance: function () {
-      return this.hasOnePower && this.surplus && this.isVip
+      return this.isVip && this.powerInfo.memberStatus <= 0
+      // return this.hasOnePower && this.surplus && this.isVip
     },
     // 超级订阅画像余额模块引导按钮
     portraitBalance: function () {
       // 购买的全国,则联系客服。否则去升级
       return this.svipBuyset.areacount === -1 ? '联系客服' : '去升级'
     },
+    zbAnalysisEmpty: function () {
+      var empty = !this.getStatus && this.allNot
+      var project0 = this.entPortraitInfo.project_count <= 0
+      return empty || project0
+    },
     isFreeOrNotLogin () {
       return this.isFree
     }
@@ -429,9 +437,6 @@ var vNode = {
     },
     // 获取画像信息
     getEntPortrait: function (callback) {
-      if (this.isFree) {
-        return
-      }
       var storageSet = this.getHighSet()
       // if (!storageSet) return
       var _this = this
@@ -1144,7 +1149,9 @@ var vNode = {
     },
     // 整理月度项目统计数据
     arrangeMonthZbData: function (data) {
-      if (!data) return
+      if (!data) {
+        return this.show.areaData = false
+      }
       var rows = []
       var columns = ['月份']
       var count = 0
@@ -1259,10 +1266,10 @@ var vNode = {
     },
     // 初始化饼图
     initPieChartData: function (d) {
-      if (!d) return
-      if (d && d.length == 0) {
+      if (!d || d.length == 0) {
         // 新增变量 用于判断是否展示缺省页
         this.show.top10 = false
+        return
       }
       var that = this
       var arr = []
@@ -1311,9 +1318,9 @@ var vNode = {
     },
     // 整理重要客户数据
     arrangeImportantData: function (data) {
-      if (!data) return
-      if (data && data.length == 0) {
+      if (!data || data.length == 0) {
         this.show.topShow = false
+        return
       }
       var arr = []
       if ($.isArray(data)) {

+ 10 - 3
src/web/staticres/common-module/collection/js/history-project-client.js

@@ -1,5 +1,5 @@
 var historyProTemplate = `
-<div style="width:100%" v-if="list.length !== 0">
+<div style="width:100%">
   <div class="tab-card-title">
     <span class="win-bid-title" v-if="type=='buyer' || type=='client'">采购单位通讯录</span>
     <span class="win-bid-title" v-else>企业通讯录</span>
@@ -46,12 +46,12 @@ var historyProTemplate = `
               v-if="hisData.showMoreBtn"
               @click="getHisProjectNews">查看更多</li>
       </ul>
-      <div class="empty-container" v-show="filterList.length === 0 && list.length > 0">
+      <div class="empty-container" v-show="filterList.length === 0">
         <div class="empty-content-position">
             <div class="image">
                 <img src="/common-module/public/image/jy-back.png">
             </div>
-            <div class="empty-main tip-text">暂无数据</div>
+            <div class="empty-main tip-text2">{{ afterFiltering ? '对不起,没有匹配到相关数据' : '暂无数据' }}</div>
         </div>
       </div>
   </div>
@@ -95,15 +95,22 @@ var hisproComponent = {
   },
   data: function () {
     return {
+      // 原始数据源
       list:  [],
       hisData: {
         end: 3,
         showMoreBtn: false
       },
       contactVal: '',
+      // 筛选后数据
       filterList: []
     }
   },
+  computed: {
+    afterFiltering: function () {
+        return !!this.contactVal
+    }
+  },
   watch: {
     'entName': function (val) {
       if (val) {

+ 5 - 3
src/web/staticres/common-module/collection/js/history-project.js

@@ -1,5 +1,5 @@
 var historyProTemplate = `
-<div style="width:100%" v-if="list.length !== 0">
+<div style="width:100%">
   <div class="tab-card-title">
     <span class="win-bid-title" v-if="type=='buyer'">采购单位通讯录</span>
     <span class="win-bid-title" v-else>企业通讯录</span>
@@ -47,7 +47,7 @@ var historyProTemplate = `
               v-if="hisData.showMoreBtn"
               @click="getHisProjectNews">查看更多</li>
       </ul>
-      <div class="empty-container" v-show="filterList.length === 0 && list.length > 0">
+      <div class="empty-container" v-show="filterList.length === 0">
         <div class="empty-content-position">
             <div class="image">
                 <img src="/common-module/public/image/jy-back.png">
@@ -93,18 +93,20 @@ var hisproComponent = {
     },
     data: function () {
         return {
+            // 原始数据源
             list: [],
             hisData: {
                 end: 3,
                 showMoreBtn: false
             },
             contactVal: '',
+            // 筛选后数据
             filterList: []
         }
     },
     computed: {
         afterFiltering: function () {
-            return !!this.entName
+            return !!this.contactVal
         }
     },
     watch: {

+ 281 - 284
src/web/templates/big-member/wx/page_client_portrayal.html

@@ -205,7 +205,7 @@
                         <div class="image">
                             <img src="/common-module/public/image/jy-back.png">
                         </div>
-                        <div class="empty-main tip-text2">
+                        <div class="empty-main tip-text2 tip-sub-text">
                           <template v-if="buyerHighSet">
                             <p>对不起,没有匹配到相关信息,</p>
                             <p>修改时间范围或换个搜索词试试吧</p>
@@ -231,322 +231,319 @@
               <div class="module-notice-tip">注:仅针对发布了结果类公告的项目进行分析(已根据项目去重),分析条件同“招标动态”的筛选条件。</div>
             </div>
             <div class="tab-card-content">
-              <div class="buyer-statistic">
-                <div class="statistic-title">统计信息</div>
-                <div class="buyer-info">
-                  <div class="bi-item">
-                    <span>采购项目数量</span>
-                    <span>${statistics.buyerCount || '--'}</span>
+              <template v-if="!noAuth">
+                <div class="empty-container bg-white" key="zb-analysis-content" v-if="zbAnalysisEmpty">
+                  <div class="empty-content-position">
+                    <div class="image">
+                        <img src="/common-module/public/image/jy-back.png">
+                    </div>
+                    <p class="empty-main tip-text2 tip-sub-text">当前条件下暂无中标项目,无法进行中标分析</p>
                   </div>
-                  <div class="bi-item">
-                    <span>采购规模</span>
-                    <span>${statistics.buyerScale || '--'}</span>
+                </div>
+                <!-- 数据部分 -->
+                <div v-else>
+                  <div class="buyer-statistic">
+                    <div class="statistic-title">概况</div>
+                    <div class="buyer-info">
+                      <div class="bi-item">
+                        <span>采购项目数量</span>
+                        <span>${statistics.buyerCount || '--'}</span>
+                      </div>
+                      <div class="bi-item">
+                        <span>采购规模</span>
+                        <span>${statistics.buyerScale || '--'}</span>
+                      </div>
+                      <div class="bi-item">
+                        <span>中标企业数量</span>
+                        <span>${statistics.winnerCount || '--'}</span>
+                      </div>
+                      <div class="bi-item">
+                        <span>外省中标企业</span>
+                        <span>${statistics.otherWinner || '--'}</span>
+                      </div>
+                      <div class="bi-item">
+                        <span>流标记录数</span>
+                        <span>${statistics.fail_count || '--'}</span>
+                      </div>
+                    </div>
+                    <div class="static-scope">数据统计范围:${statistics.start || '-'}-${statistics.end}(结果类公告发布时间)</div>
                   </div>
-                  <div class="bi-item">
-                    <span>中标企业数量</span>
-                    <span>${statistics.winnerCount || '--'}</span>
+                  <!-- 年度项目统计 -->
+                  <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="bi-item">
-                    <span>外省中标企业</span>
-                    <span>${statistics.otherWinner || '--'}</span>
+                  <!-- 月度采购规模统计 -->
+                  <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="bi-item">
-                    <span>流标记录数</span>
-                    <span>${statistics.fail_count || '--'}</span>
+                  <!-- 采购规模分布 -->
+                  <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>
-                <div class="static-scope">数据统计范围:${statistics.start || '-'}-${statistics.end}(结果类公告发布时间)</div>
-              </div>
-            </div>
-            <!-- <div class="jy-empty" v-show="allNot && !noAuth">
-              <div class="jy-empty-img"></div>
-              <p class="jy-empty-text">对不起,没有匹配到相关信息, <br>修改时间范围或换个搜索词试试吧</p>
-            </div> -->
-            <div class="empty-container bg-white" key="zb-analysis-content" v-if="!noAuth && allNot">
-              <div class="empty-content-position">
-                <div class="image">
-                    <img src="/common-module/public/image/jy-back.png">
-                </div>
-                <p class="empty-main tip-text2">当前条件下暂无中标项目,无法进行中标分析</p>
-              </div>
-            </div>
-
-            <!-- 数据部分 -->
-            <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="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 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 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 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="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 class="custom-legend">
+                        <div class="legend-item">
+                          <span class="tooltip-circle blue-circle"></span>
+                          <span>数量(个)及占比</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 class="legend-item">
+                          <span class="tooltip-circle yellow-circle"></span>
+                          <span>金额(万元)及占比</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 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 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 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>
-              </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="clientList && clientList.length> 0">
-                <div class="client-title">重点合作企业</div>
-                <div class="client-content">
-                  <div class="client-list" v-for="(item,index) in clientList" :key="index">
-                    <div class="q-name" @click="goEntInfo(item)">${item.name}</div>
-                    <div class="c-thead">
-                      <strong class="c-name">行业</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" >
-                        <div class="item-label">
-                          <span class="item-name">${item.business?item.business:"--"}</span>
-                          <span class="item-count">${item.total}个</span>
-                          <span v-if="item.rate == 0" class="item-rate">0%</span>
-                          <span v-else class="item-rate">${item.rate?(item.rate * 100).toFixed(2)+"%":"--"}</span>
-                          <span class="item-time">${item.lastTime}</span>
+                  <!-- 重点合作企业 -->
+                  <div class="client" v-if="clientList && clientList.length> 0">
+                    <div class="client-title">重点合作企业</div>
+                    <div class="client-content">
+                      <div class="client-list" v-for="(item,index) in clientList" :key="index">
+                        <div class="q-name" @click="goEntInfo(item)">${item.name}</div>
+                        <div class="c-thead">
+                          <strong class="c-name">行业</strong>
+                          <span class="c-count">项目数量</span>
+                            <span class="c-rate">平均节支率</span>
+                          <span class="c-time">最近合作日期</span>
                         </div>
-                        <div class="item-progress">
-                          <span class="item-money"  v-if="item.amount > 0">中标金额:${utils.moneyUnit(item.amount)}</span>
-                          <span class="item-progress-count active-progress" :style="{width: item.parent}"></span>
+                        <div class="progress-bar-container">
+                          <div class="progress-bar-item" >
+                            <div class="item-label">
+                              <span class="item-name">${item.business?item.business:"--"}</span>
+                              <span class="item-count">${item.total}个</span>
+                              <span v-if="item.rate == 0" class="item-rate">0%</span>
+                              <span v-else class="item-rate">${item.rate?(item.rate * 100).toFixed(2)+"%":"--"}</span>
+                              <span class="item-time">${item.lastTime}</span>
+                            </div>
+                            <div class="item-progress">
+                              <span class="item-money"  v-if="item.amount > 0">中标金额:${utils.moneyUnit(item.amount)}</span>
+                              <span class="item-progress-count active-progress" :style="{width: item.parent}"></span>
+                            </div>
+                          </div>
                         </div>
                       </div>
                     </div>
                   </div>
-                </div>
-              </div>
-              <!-- 首次合作企业 -->
-              <div class="client" v-if="firList && firList.length> 0">
-                <div class="client-title">首次合作企业</div>
-                <div class="client-content">
-                  <div class="client-list" v-for="(item,index) in firList" :key="index">
-                    <div class="q-name" @click="goEntInfo(item)">${item.name}</div>
-                    <div class="c-thead">
-                      <strong class="c-name">行业</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" >
-                        <div class="item-label">
-                          <span class="item-name">${item.business?item.business:"--"}</span>
-                          <span class="item-count">${item.total}个</span>
-                          <span v-if="item.rate == 0" class="item-rate">0%</span>
-                          <span v-else class="item-rate">${item.rate?(item.rate * 100).toFixed(2)+"%":"--"}</span>
-                            <span class="item-time">${item.lastTime}</span>
+                  <!-- 首次合作企业 -->
+                  <div class="client" v-if="firList && firList.length> 0">
+                    <div class="client-title">首次合作企业</div>
+                    <div class="client-content">
+                      <div class="client-list" v-for="(item,index) in firList" :key="index">
+                        <div class="q-name" @click="goEntInfo(item)">${item.name}</div>
+                        <div class="c-thead">
+                          <strong class="c-name">行业</strong>
+                          <span class="c-count">项目数量</span>
+                            <span class="c-rate">平均节支率</span>
+                          <span class="c-time">最近合作日期</span>
                         </div>
-                        <div class="item-progress">
-                          <span class="item-money"  v-if="item.amount > 0">中标金额:${utils.moneyUnit(item.amount)}</span>
-                          <span class="item-progress-count active-progress" :style="{width: item.parent}"></span>
+                        <div class="progress-bar-container">
+                          <div class="progress-bar-item" >
+                            <div class="item-label">
+                              <span class="item-name">${item.business?item.business:"--"}</span>
+                              <span class="item-count">${item.total}个</span>
+                              <span v-if="item.rate == 0" class="item-rate">0%</span>
+                              <span v-else class="item-rate">${item.rate?(item.rate * 100).toFixed(2)+"%":"--"}</span>
+                                <span class="item-time">${item.lastTime}</span>
+                            </div>
+                            <div class="item-progress">
+                              <span class="item-money"  v-if="item.amount > 0">中标金额:${utils.moneyUnit(item.amount)}</span>
+                              <span class="item-progress-count active-progress" :style="{width: item.parent}"></span>
+                            </div>
+                          </div>
                         </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="400px"
-                    :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 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="400px"
+                        :after-config="mapConfig"
+                        :data="mapChartData"
+                        :settings="mapSettings.chartSettings"
+                        :extend="mapSettings.chartExtend">
+                      </ve-map>
+                    </div>
                   </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 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="ab-progress">
-                        <span class="ab-progress-default progress-active" :style="{width: item.parent}"></span>
+                      <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>
-            <!-- 遮罩部分 -->
-            <div v-if="noAuth">
-              <!-- 历史项目联系人 -->
-              <!-- <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  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  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  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  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  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  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  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  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  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  type="item_12" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/12.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  type="item_7" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/07.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  type="item_8" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/08.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 type="item_88" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/088.png'></buyer-example>
+              </template>
+              <!-- 遮罩部分 -->
+              <div v-if="noAuth">
+                <!-- 历史项目联系人 -->
+                <!-- <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  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  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  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  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  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  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  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  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  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  type="item_12" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/12.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  type="item_7" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/07.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  type="item_8" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/08.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 type="item_88" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/088.png'></buyer-example>
+                </div>
               </div>
             </div>
           </van-tab>

+ 1 - 1
src/web/templates/big-member/wx/page_free_buyer_project_news.html

@@ -255,7 +255,7 @@
                                 <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') : '-'}
+                                ${item.publishtime ? new Date(item.publishtime * 1000).pattern('yyyy-MM-dd') : '-'}
                             </span>
                         </div>
                     </div>

+ 215 - 219
src/web/templates/big-member/wx/page_unit_portrayal.html

@@ -367,17 +367,7 @@
             </van-tab>
             <!-- 招标动态 -->
             <van-tab :name="moduleList[1].name" :title="moduleList[1].title">
-                <div v-if="getStatus" class="vip_component" style="height:8.8rem;background:#fff url('/common-module/collection/image/buyer/cg-zbdt-bg.jpg?v={{Msg "seo" "version"}}') no-repeat center 50px;background-size:100% 100%;position:relative;">
-                    <p class="example-title">招标动态</p>
-                    <div class="example-export">
-                        <span>
-                          <i class="j-icon base-icon icon-download-999"></i>
-                          <em style="color:#999;">数据导出</em>
-                        </span>
-                    </div>
-                    <buyer-example style="margin-top:1rem;"  :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_14" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/cg-zbdt.png?v={{Msg "seo" "version"}}'></buyer-example>
-                </div>
-                <div class="dynamic" v-else>
+                <div class="dynamic">
                     <div class="bg-white tab-card cell-list project-news">
                         <div class="module-title-container bg-white project-news-module">
                             <div class="module-title project-news-title">
@@ -385,7 +375,7 @@
                                 <!-- <span class="module-title-num">10</span> -->
                             </div>
                             <div class="action-group">
-                                <div class="action-button export" @click="onExport">
+                                <div class="action-button export" @click="onExport" v-if="dt.list.length">
                                     <i class="j-icon base-icon icon-download"></i>
                                     <em id="mainSearch-selLable-dataExport" class="action-button-text">数据导出</em>
                                 </div>
@@ -396,7 +386,10 @@
                             </div>
                         </div>
                         <div class="module-notice-tip">注:1个项目如同时发布了预告、招标、中标等多条公告,则有多条数据</div>
-                        <div class="tab-card-content">
+                        <div v-if="getStatus" class="vip_component tab-card-content" style="height:7.8rem;background:#fff url('/common-module/collection/image/buyer/cg-zbdt-bg.jpg?v={{Msg "seo" "version"}}') no-repeat center 50px;background-size:100% 100%;position:relative;">
+                            <buyer-example :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_14" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/cg-zbdt.png?v={{Msg "seo" "version"}}'></buyer-example>
+                        </div>
+                        <div class="tab-card-content" v-else>
                             <div class="d_content" v-if="dt.list.length">
                                 <div class="d_list" :class="{ visited: item.visited }" v-for="(item,index) in dt.list" @click="goDetail(item)" data-cl-event="c_wx_free_buttonclick">
                                 <div class="head-group">
@@ -448,158 +441,189 @@
                     <div class="module-notice-tip">注:仅针对发布了结果类公告的项目进行分析(已根据项目去重),分析条件同“招标动态”的筛选条件。</div>
                 </div>
                 <div class="tab-card-content">
-                    <div class="buyer-statistic" v-if="!isFreeOrNotLogin">
-                        <div class="statistic-title">统计信息</div>
-                        <div class="buyer-info">
-                            <div class="bi-item">
-                                <span>采购项目数量</span>
-                                <span>${statistics.buyerCount || '--'}</span>
-                            </div>
-                            <div class="bi-item">
-                                <span>采购规模</span>
-                                <span>${statistics.buyerScale || '--'}</span>
-                            </div>
-                            <div class="bi-item">
-                                <span>中标企业数量</span>
-                                <span>${statistics.winnerCount || '--'}</span>
-                            </div>
-                            <div class="bi-item">
-                                <span>外省中标企业</span>
-                                <span>${statistics.otherWinner || '--'}</span>
-                            </div>
-                            <div class="bi-item">
-                                <span>流标记录数</span>
-                                <span>${statistics.fail_count || '--'}</span>
-                            </div>
-                        </div>
-                        <div class="static-scope">数据统计范围:${statistics.start || '-'}-${statistics.end}(结果类公告发布时间)</div>
-                    </div>
                     <!-- <div class="jy-empty" v-show="allNot && !getStatus">
                         <div class="jy-empty-img"></div>
                         <p class="jy-empty-text">对不起,没有匹配到相关信息, <br>修改时间范围或换个搜索词试试吧</p>
                     </div> -->
-                    <div class="empty-container bg-white" key="zb-analysis-content" v-if="!getStatus && allNot">
-                        <div class="empty-content-position">
-                            <div class="image">
-                                <img src="/common-module/public/image/jy-back.png">
+
+                    <template v-if="!getStatus">
+                        <div class="empty-container bg-white" key="zb-analysis-content" v-if="zbAnalysisEmpty">
+                            <div class="empty-content-position">
+                                <div class="image">
+                                    <img src="/common-module/public/image/jy-back.png">
+                                </div>
+                                <p class="empty-main tip-text2">当前条件下暂无中标项目,无法进行中标分析</p>
                             </div>
-                            <p class="empty-main tip-text2">当前条件下暂无中标项目,无法进行中标分析</p>
                         </div>
-                    </div>
 
-                    <!-- 数据部分 -->
-                    <div v-if="!isFreeOrNotLogin">
-                        <!-- 年度项目统计 -->
-                        <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"
-                                data-cl-event="c_wx_free_buttonclick">
-                            </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 data-cl-event="c_wx_free_buttonclick" :init-options="initRendererSvg" :data="monthScaleData" height="300px" :after-config="lineChartConfig" :extend="chartOptions.lineChart"></ve-line>
+                        <!-- 数据部分 -->
+                        <div v-else>
+                            <div class="buyer-statistic">
+                                <div class="statistic-title">概况</div>
+                                <div class="buyer-info">
+                                    <div class="bi-item">
+                                        <span>采购项目数量</span>
+                                        <span>${statistics.buyerCount || '--'}</span>
+                                    </div>
+                                    <div class="bi-item">
+                                        <span>采购规模</span>
+                                        <span>${statistics.buyerScale || '--'}</span>
+                                    </div>
+                                    <div class="bi-item">
+                                        <span>中标企业数量</span>
+                                        <span>${statistics.winnerCount || '--'}</span>
+                                    </div>
+                                    <div class="bi-item">
+                                        <span>外省中标企业</span>
+                                        <span>${statistics.otherWinner || '--'}</span>
+                                    </div>
+                                    <div class="bi-item">
+                                        <span>流标记录数</span>
+                                        <span>${statistics.fail_count || '--'}</span>
+                                    </div>
+                                </div>
+                                <div class="static-scope">数据统计范围:${statistics.start || '-'}-${statistics.end}(结果类公告发布时间)</div>
                             </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 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"
+                                    data-cl-event="c_wx_free_buttonclick">
+                                </ve-histogram>
+                                <div class="bar-tip">注:项目金额指所有项目的中标金额之和,少数缺失的中标金额,用项目预算补充。</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" data-cl-event="c_wx_free_buttonclick">
-                                <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 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 data-cl-event="c_wx_free_buttonclick" :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" data-cl-event="c_wx_free_buttonclick">
+                                    <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="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 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>
-                                <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 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="legend-item">
-                                        <span class="tooltip-circle yellow-circle"></span>
-                                        <span>金额(万元)及占比</span>
+                                    <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>
-                        <!-- 各行业项目平均节支率 -->
-                        <div class="savings-rate" v-if="isShow.showSaveRate">
-                            <div class="chart_title">各行业项目平均节支率</div>
-                            <div class="lineChart">
-                                <ve-line data-cl-event="c_wx_free_buttonclick" :init-options="initRendererSvg" :data="savingsRateData" height="314px" :after-config="savingsRateConfig" :extend="chartOptions.lineChart"></ve-line>
+                            <!-- 各行业项目平均节支率 -->
+                            <div class="savings-rate" v-if="isShow.showSaveRate">
+                                <div class="chart_title">各行业项目平均节支率</div>
+                                <div class="lineChart">
+                                    <ve-line data-cl-event="c_wx_free_buttonclick" :init-options="initRendererSvg" :data="savingsRateData" height="314px" :after-config="savingsRateConfig" :extend="chartOptions.lineChart"></ve-line>
+                                </div>
                             </div>
-                        </div>
-                        <!-- 各行业项目规模占比 -->
-                        <div class="industry-scale-rate" v-if="isShow.showScaleRate">
-                            <p class="chart_title">各行业项目规模占比</p>
-                            <div class="pieChart" data-cl-event="c_wx_free_buttonclick">
-                                <div ref="pieChart" style="height: 360px;"></div>
+                            <!-- 各行业项目规模占比 -->
+                            <div class="industry-scale-rate" v-if="isShow.showScaleRate">
+                                <p class="chart_title">各行业项目规模占比</p>
+                                <div class="pieChart" data-cl-event="c_wx_free_buttonclick">
+                                    <div ref="pieChart" style="height: 360px;"></div>
+                                </div>
                             </div>
-                        </div>
-                        <!-- 重点合作企业 -->
-                        <div class="client" v-if="clientList && clientList.length> 0">
-                            <div class="client-title">重点合作企业</div>
-                            <div class="client-content">
-                                <div class="client-list" v-for="(item,index) in clientList" :key="index">
-                                    <div class="q-name" @click="goEntInfo(item)">${item.name}</div>
-                                    <div class="c-thead">
-                                        <strong class="c-name">行业</strong>
-                                        <span class="c-count">项目数量</span>
-                                        <span class="c-rate">平均节支率</span>
-                                        <span class="c-time">最近合作日期</span>
+                            <!-- 重点合作企业 -->
+                            <div class="client" v-if="clientList && clientList.length> 0">
+                                <div class="client-title">重点合作企业</div>
+                                <div class="client-content">
+                                    <div class="client-list" v-for="(item,index) in clientList" :key="index">
+                                        <div class="q-name" @click="goEntInfo(item)">${item.name}</div>
+                                        <div class="c-thead">
+                                            <strong class="c-name">行业</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" >
+                                                <div class="item-label">
+                                                    <span class="item-name">${item.business?item.business:"--"}</span>
+                                                    <span class="item-count">${item.total}个</span>
+                                                    <span v-if="item.rate == 0" class="item-rate">0%</span>
+                                                    <span v-else class="item-rate">${item.rate?(item.rate * 100).toFixed(2)+"%":"--"}</span>                        <span class="item-time">${item.lastTime}</span>
+                                                </div>
+                                                <div class="item-progress">
+                                                    <span class="item-money"  v-if="item.amount > 0">中标金额:${utils.moneyUnit(item.amount)}</span>
+                                                    <span class="item-progress-count active-progress" :style="{width: item.parent}"></span>
+                                                </div>
+                                            </div>
+                                        </div>
                                     </div>
-                                    <div class="progress-bar-container">
-                                        <div class="progress-bar-item" >
+                                </div>
+                            </div>
+                            <!-- 首次合作企业 -->
+                            <div class="client" v-if="firList && firList.length> 0">
+                                <div class="client-title">首次合作企业</div>
+                                <div class="client-content">
+                                    <div class="client-list" v-for="(item,index) in firList" :key="index">
+                                        <div class="q-name" @click="goEntInfo(item)">${item.name}</div>
+                                        <div class="c-thead">
+                                            <strong class="c-name">行业</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" >
                                             <div class="item-label">
                                                 <span class="item-name">${item.business?item.business:"--"}</span>
                                                 <span class="item-count">${item.total}个</span>
@@ -610,98 +634,70 @@
                                                 <span class="item-money"  v-if="item.amount > 0">中标金额:${utils.moneyUnit(item.amount)}</span>
                                                 <span class="item-progress-count active-progress" :style="{width: item.parent}"></span>
                                             </div>
+                                            </div>
                                         </div>
                                     </div>
                                 </div>
                             </div>
-                        </div>
-                        <!-- 首次合作企业 -->
-                        <div class="client" v-if="firList && firList.length> 0">
-                            <div class="client-title">首次合作企业</div>
-                            <div class="client-content">
-                                <div class="client-list" v-for="(item,index) in firList" :key="index">
-                                    <div class="q-name" @click="goEntInfo(item)">${item.name}</div>
-                                    <div class="c-thead">
-                                        <strong class="c-name">行业</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" >
-                                        <div class="item-label">
-                                            <span class="item-name">${item.business?item.business:"--"}</span>
-                                            <span class="item-count">${item.total}个</span>
-                                            <span v-if="item.rate == 0" class="item-rate">0%</span>
-                                            <span v-else class="item-rate">${item.rate?(item.rate * 100).toFixed(2)+"%":"--"}</span>                        <span class="item-time">${item.lastTime}</span>
-                                        </div>
-                                        <div class="item-progress">
-                                            <span class="item-money"  v-if="item.amount > 0">中标金额:${utils.moneyUnit(item.amount)}</span>
-                                            <span class="item-progress-count active-progress" :style="{width: item.parent}"></span>
-                                        </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>
-                        <!-- 合作企业注册资本分布 -->
-                        <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="400px"
-                                    :after-config="mapConfig"
-                                    :data="mapChartData"
-                                    :settings="mapSettings.chartSettings"
-                                    :extend="mapSettings.chartExtend">
-                                </ve-map>
+                            <!-- 合作企业年龄分布 -->
+                            <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>
-                        <!-- 重点合作代理机构 -->
-                        <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 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="400px"
+                                        :after-config="mapConfig"
+                                        :data="mapChartData"
+                                        :settings="mapSettings.chartSettings"
+                                        :extend="mapSettings.chartExtend">
+                                    </ve-map>
                                 </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 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>
+                    </template>
 
                     <!-- 遮罩部分 -->
                     <div v-if="getStatus">
             <!--            统计信息-->
                         <div class="vip_component" style="height:7.56rem;background:#fff url('/common-module/collection/image/buyer/cg-tjxx-bg.png?v={{Msg "seo" "version"}}') no-repeat center 50px;background-size:100% 100%">
-                            <p class="example-title">统计信息</p>
+                            <p class="example-title">概况</p>
                             <buyer-example  :useage="usageInfo" :userinfo="userInfo" :status="bigStatus" :power="power" type="item_13" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/buyer/cg-tjxx.png?v={{Msg "seo" "version"}}'></buyer-example>
                         </div>
                         <!-- 历史项目联系人 -->

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

@@ -90,6 +90,10 @@
       margin-bottom: .28rem;
       box-sizing: border-box;
     }
+    .history-list {
+        padding-top: 0;
+        padding-bottom: 0;
+    }
 </style>
 <body>
 <div class="j-container">
@@ -269,7 +273,7 @@
                     </div>
                 </div>
                 <div class="bg-white tab-card cell-list" v-else>
-                    <hispro-component class="history-list" type="winner" :id="entInfo.id" :ent-name="entInfo.name"></hispro-component>
+                    <hispro-component ref="hispro" class="history-list" type="winner" :id="entInfo.id" :ent-name="entInfo.name"></hispro-component>
                 </div>
             </van-tab>
             <!-- 中标动态 -->
@@ -280,17 +284,24 @@
                             <span>中标动态</span>
                             <!-- <span class="module-title-num">10</span> -->
                         </div>
-                    <div class="action-group" v-if="conf._13">
-                        <div class="action-button export" @click="onExport">
-                            <i class="j-icon base-icon icon-download"></i>
-                            <em class="action-button-text">数据导出</em>
+                        <div class="action-group" v-if="conf._13" key="action-group">
+                            <div class="action-button export" @click="onExport" v-if="topProject.list.length">
+                                <i class="j-icon base-icon icon-download"></i>
+                                <em class="action-button-text">数据导出</em>
+                            </div>
+                            <div class="action-button filters-button" @click="goHighSet" v-if="!getStatus">
+                                <i class="j-icon base-icon icon-3hengxian"></i>
+                                <em class="action-button-text">筛选条件</em>
+                            </div>
                         </div>
-                        <div class="action-button filters-button" @click="goHighSet" v-if="!getStatus">
-                            <i class="j-icon base-icon icon-3hengxian"></i>
-                            <em class="action-button-text">筛选条件</em>
+                        <!-- 免费用户显示数据导出入口 -->
+                        <div class="action-group" v-else-if="isFreeOrNotLogin" key="action-group">
+                            <div class="action-button export" @click="onExport">
+                                <i class="j-icon base-icon icon-download"></i>
+                                <em class="action-button-text">数据导出</em>
+                            </div>
                         </div>
                     </div>
-                    </div>
                     <div class="module-notice-tip">注:1个项目如同时发布了中标、成交、合同等结果类公告,则有多条数据</div>
                     <div class="tab-card-content vip_component" v-if="getStatus && hideDt"
                         style="height:9.16rem;background:url('/common-module/collection/image/bg/vip_bg_1.png?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%"
@@ -361,212 +372,223 @@
                          <!-- <span class="module-title-num">10</span> -->
                         </div>
                     </div>
-                    <div class="module-notice-tip">注:1个项目如同时发布了中标、成交、合同等结果类公告,则有多条数据</div>
+                    <div class="module-notice-tip">注:以下分析统计已根据项目去重;分析条件同“中标动态”的筛选条件。</div>
                 </div>
                 <!-- 有权限,并且数据为空。则展示空状态 -->
                 <!-- <div class="jy-empty" v-show="allNot && !getStatus">
                     <div class="jy-empty-img"></div>
                     <p class="jy-empty-text">对不起,没有匹配到相关信息, <br>修改时间范围或换个搜索词试试吧</p>
                 </div> -->
-                <!-- v-if="!getStatus && allNot && entPortraitInfo.project_count <= 0" -->
-                <div class="empty-container bg-white" key="zb-analysis-content" v-if="allNot && !getStatus">
-                    <div class="empty-content-position">
-                        <div class="image">
-                            <img src="/common-module/public/image/jy-back.png">
+                <template v-if="!getStatus" key="zb-analysis-content">
+                    <div class="empty-container bg-white" key="zb-analysis-content" v-if="zbAnalysisEmpty">
+                        <div class="empty-content-position">
+                            <div class="image">
+                                <img src="/common-module/public/image/jy-back.png">
+                            </div>
+                            <p class="empty-main tip-text2">当前条件下暂无中标项目,无法进行中标分析</p>
                         </div>
-                        <p class="empty-main tip-text2">当前条件下暂无中标项目,无法进行中标分析</p>
                     </div>
-                </div>
-                <template v-else key="zb-analysis-content">
-                    <!-- 中标统计结果--登登录 -->
-                    <div class="bg-white tab-card" data-cl-event="c_wx_open_buttionclick" v-if="!isFreeOrNotLogin">
-                        <div class="tab-card-title" style="padding: 0.16rem .32rem .12rem;">概况</div>
-                        <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 + '个' : '--'}</div>
+                    <!-- 数据部分 -->
+                    <div v-else class="module-chart-list">
+                        <!-- 中标统计结果--登录 -->
+                        <div class="bg-white tab-card" data-cl-event="c_wx_open_buttionclick">
+                            <div class="tab-card-title" style="padding: 0.16rem .32rem .12rem;">概况</div>
+                            <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 + '个' : '--'}</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) : '--'}</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') : ''}</span>
+                                <span>-</span>
+                                <span>${entPortraitInfo.timeRangeEnd ? new Date(entPortraitInfo.timeRangeEnd * 1000).pattern('yyyy/MM/dd') : '至今'}</span>
+                                <span>(结果类公告发布时间)</span>
+                            </div>
+                        </div>
+                        <!-- 年度项目统计 -->
+                        <div class="bg-white tab-card charts" v-if="conf._4 && 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="card-column">
-                                <div class="ent-info-label">项目金额</div>
-                                <div class="ent-info-text">${entPortraitInfo.bidamount_count ? utils.moneyUnit(entPortraitInfo.bidamount_count) : '--'}</div>
+                            <div class="tab-card-tip">注:项目金额指所有项目的中标金额之和,少数缺失的中标金额,用项目预算补充。</div>
+                        </div>
+                        <!-- 月度中标金额统计 -->
+                        <div class="bg-white tab-card charts"  v-if="conf._4 && 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="card-column">
-                                <div class="ent-info-label">项目省份</div>
-                                <div class="ent-info-text">${entPortraitInfo.area_count ? entPortraitInfo.area_count + '个' : '--'}</div>
+                            <div class="tab-card-tip">注:少数缺失的中标金额,用项目预算补充。</div>
+                        </div>
+                        <!-- 市场区域分布 -->
+                        <div class="bg-white tab-card charts" v-if="conf._4 && mapChartData.rows.length !== 0  && !getStatus">
+                            <div class="tab-card-title">市场区域分布</div>
+                            <div class="tab-card-content">
+                                <ve-map
+                                    height="400px"
+                                    :data="mapChartData"
+                                    :init-options="initEchartsOptions"
+                                    :after-config="mapConfig"
+                                    :settings="mapSettings.chartSettings"
+                                    :extend="mapSettings.chartExtend">
+                                </ve-map>
                             </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 class="bg-white tab-card charts"  v-if="conf._4 && 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="zb-time-frame border-line-t">
-                            <span>数据统计范围:</span>
-                            <span>${entPortraitInfo.timeRangeStart ? new Date(entPortraitInfo.timeRangeStart * 1000).pattern('yyyy/MM/dd') : ''}</span>
-                            <span>-</span>
-                            <span>${entPortraitInfo.timeRangeEnd ? new Date(entPortraitInfo.timeRangeEnd * 1000).pattern('yyyy/MM/dd') : '至今'}</span>
-                            <span>(结果类公告发布时间)</span>
+                        <!-- 客户类型分布 -->
+                        <div class="bg-white tab-card charts"  v-show="conf._4 && 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="bg-white tab-card customers client"  v-show="conf._4 && 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-top">
+                                    <strong class="c-itemName">${c.title}</strong>
+                                    <div class="top-switch">
+                                        <div :class="{active: !c.showLabels}" @click="c.showLabels=false">重点客户</div>
+                                        <div :class="{active: c.showLabels}" @click="c.showLabels=true">首次合作客户</div>
+                                    </div>
+                                </div>
+                                <div class="progress-bar-container" v-show="!c.showLabels">
+                                    <div class="c-thead">
+                                        <strong class="c-name">客户名称</strong>
+                                        <span class="c-count">中标数量</span>
+                                        <span class="c-rate">平均折扣率</span>
+                                        <span class="c-time">最近合作日期</span>
+                                    </div>
+                                    <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 class="progress-bar-container" v-show="c.showLabels">
+                                    <div v-if="c.firstList&&c.firstList.length>0">
+                                    <div class="c-thead">
+                                        <strong class="c-name">客户名称</strong>
+                                        <span class="c-count">中标数量</span>
+                                        <span class="c-rate">平均折扣率</span>
+                                        <span class="c-time">最近合作日期</span>
+                                    </div>
+                                    <div class="progress-bar-item" v-for="(item,index) in c.firstList" :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 v-else style="display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.4rem;">
+                                        <div style="height:4rem;width:4rem;background:url('/common-module/collection/image/jy-back.png?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%"></div>
+                                        <span style="font-size: .28rem;line-height: 20px;color: #9B9CA3;">该时间范围暂无首次合作过的客户</span>
+                                    </div>
+                                </div>
+                            </div>
+                            </div>
                         </div>
                     </div>
+                </template>
+                <div class="module-mask-list" v-if="getStatus">
                     <!-- 中标信息统计结果--未登录-->
-                    <div class="bg-white tab-card charts"  style="margin-bottom: 10px;" v-if="isFreeOrNotLogin">
+                    <!-- <div class="bg-white tab-card charts"  style="margin-bottom: 10px;" v-if="isFreeOrNotLogin">
                         <div class="tab-card-title">概况</div>
                         <div class="vip_component" v-if="getStatus && hideDt"
-                            style="height:5.8rem;background:url('/common-module/collection/image/bg/qy-zbtj-bg.png?v={{Msg "seo" "version"}}') 40% 0 no-repeat;background-size:110% 100%;"
+                            style="height:7.8rem;background:url('/common-module/collection/image/bg/qy-zbtj-bg.png?v={{Msg "seo" "version"}}') 40% 0 no-repeat;background-size:110% 100%;"
                             key="dt">
                             <vip-component @tabactive="tabActive" :power="conf" type="item_10" :can-free-exp="canFreeExp"
                                         :entvisit="entvisit" :newvip="isVip" :islogin="isLogin"
                                         imgurl='/common-module/collection/image/bg/qy-zbtj.png?v={{Msg "seo" "version"}}'>
                             </vip-component>
                         </div>
-                        
-                    </div>
-                    <!-- 年度项目统计 -->
-                    <div class="bg-white tab-card charts" v-if="conf._4 && 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:7.8rem;background:url('/common-module/collection/image/bg/qy-zbtj-bg.png?v={{Msg "seo" "version"}}') 40% 0 no-repeat;background-size:110% 100%;"
+                        key="dt">
+                        <vip-component @tabactive="tabActive" :power="conf" type="item_10" :can-free-exp="canFreeExp"
+                                    :entvisit="entvisit" :newvip="isVip" :islogin="isLogin"
+                                    imgurl='/common-module/collection/image/bg/qy-zbtj.png?v={{Msg "seo" "version"}}'>
+                        </vip-component>
                     </div>
                     <div class="vip_component" v-if="getStatus" style="height:11.12rem;background:url('/common-module/collection/image/bg/vip_bg_2.png?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%">
                         <vip-component :islogin="isLogin" data-cl-event="c_wx_open_buttionclick" @tabactive="tabActive" :power="conf" type="item_2" :entvisit="entvisit" :can-free-exp="canFreeExp" :newvip="isVip" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_2.png?v={{Msg "seo" "version"}}'></vip-component>
                     </div>
-                    <!-- 月度中标金额统计 -->
-                    <div class="bg-white tab-card charts"  v-if="conf._4 && monthZbData.rows.length !== 0  && !getStatus">
-                        <div class="tab-card-title">月度中标金额统计</div>
-                        <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?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%">
                         <vip-component :islogin="isLogin" data-cl-event="c_wx_open_buttionclick" @tabactive="tabActive" :power="conf" type="item_3" :entvisit="entvisit" :can-free-exp="canFreeExp" :newvip="isVip" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_3.png?v={{Msg "seo" "version"}}'></vip-component>
                     </div>
-                    <!-- 市场区域分布 -->
-                    <div class="bg-white tab-card charts" v-if="conf._4 && mapChartData.rows.length !== 0  && !getStatus">
-                        <div class="tab-card-title">市场区域分布</div>
-                        <div class="tab-card-content">
-                            <ve-map
-                                height="400px"
-                                :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?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%">
                         <vip-component :islogin="isLogin" data-cl-event="c_wx_open_buttionclick" @tabactive="tabActive" :power="conf" type="item_4" :entvisit="entvisit" :can-free-exp="canFreeExp" :newvip="isVip" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_4.png?v={{Msg "seo" "version"}}'></vip-component>
                     </div>
-                    <!-- 各类客户平均折扣率 -->
-                    <div class="bg-white tab-card charts"  v-if="conf._4 && rateData.rows.length !== 0  && !getStatus">
-                        <div class="tab-card-title">各类客户平均折扣率</div>
-                        <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?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%">
                         <vip-component :islogin="isLogin" data-cl-event="c_wx_open_buttionclick" @tabactive="tabActive" :power="conf" type="item_5" :entvisit="entvisit" :can-free-exp="canFreeExp" :newvip="isVip" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_5.png?v={{Msg "seo" "version"}}'></vip-component>
                     </div>
-                    <!-- 客户类型分布 -->
-                    <div class="bg-white tab-card charts"  v-show="conf._4 && entPortraitInfo.top10 && entPortraitInfo.top10.length != 0  && !getStatus">
-                        <div class="tab-card-title">客户类型分布</div>
-                        <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?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%">
                         <vip-component :islogin="isLogin" data-cl-event="c_wx_open_buttionclick" @tabactive="tabActive" :power="conf" type="item_6" :entvisit="entvisit" :can-free-exp="canFreeExp" :newvip="isVip" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_6.png?v={{Msg "seo" "version"}}'></vip-component>
                     </div>
-                    <!-- 重点及首次合作客户 -->
-                    <div class="bg-white tab-card customers client"  v-show="conf._4 && importantCustomers.length !== 0  && !getStatus">
-                        <div class="tab-card-title">重点及首次合作客户</div>
-                        <div class="tab-card-content">
-                        <div class="client-list" v-for="c in importantCustomers">
-                            <div class="c-top">
-                                <strong class="c-itemName">${c.title}</strong>
-                                <div class="top-switch">
-                                    <div :class="{active: !c.showLabels}" @click="c.showLabels=false">重点客户</div>
-                                    <div :class="{active: c.showLabels}" @click="c.showLabels=true">首次合作客户</div>
-                                </div>
-                            </div>
-                            <div class="progress-bar-container" v-show="!c.showLabels">
-                                <div class="c-thead">
-                                    <strong class="c-name">客户名称</strong>
-                                    <span class="c-count">中标数量</span>
-                                    <span class="c-rate">平均折扣率</span>
-                                    <span class="c-time">最近合作日期</span>
-                                </div>
-                                <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 class="progress-bar-container" v-show="c.showLabels">
-                                <div v-if="c.firstList&&c.firstList.length>0">
-                                <div class="c-thead">
-                                    <strong class="c-name">客户名称</strong>
-                                    <span class="c-count">中标数量</span>
-                                    <span class="c-rate">平均折扣率</span>
-                                    <span class="c-time">最近合作日期</span>
-                                </div>
-                                <div class="progress-bar-item" v-for="(item,index) in c.firstList" :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 v-else style="display:flex;flex-direction:column;justify-content:center;align-items:center;padding:.4rem;">
-                                    <div style="height:4rem;width:4rem;background:url('/common-module/collection/image/jy-back.png?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%"></div>
-                                    <span style="font-size: .28rem;line-height: 20px;color: #9B9CA3;">该时间范围暂无首次合作过的客户</span>
-                                </div>
-                            </div>
-                        </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?v={{Msg "seo" "version"}}') no-repeat;background-size:100% 100%">
                         <vip-component :islogin="isLogin" data-cl-event="c_wx_open_buttionclick" @tabactive="tabActive" :power="conf" type="item_7" :entvisit="entvisit" :can-free-exp="canFreeExp" :newvip="isVip" imgurl='{{Msg "seo" "cdn"}}/common-module/collection/image/bg/vip_ex_7.png?v={{Msg "seo" "version"}}'></vip-component>
                     </div>
-                </template>
+                </div>
             </van-tab>
         </van-tabs>
         <div class="j-main project-tab-container" v-if="conf.powerLoaded && !conf.showPortraitAll">