Browse Source

Merge branch 'dev' of http://192.168.3.207:10080/jianyu/page_bigmember_pc into dev

TANGSHIZHE 4 năm trước cách đây
mục cha
commit
8e9ea66b38

+ 0 - 1
src/components/chart/HotChart.vue

@@ -349,7 +349,6 @@ export default {
       const curBudget = this.cycle
       for (var i = 9; i > -1; i--) {
         var nowArr = data.slice(i * 10, (i + 1) * 10)
-        console.log(nowArr, 'nowArr')
         var nowDelStatus = nowArr.filter((v) => { return v[3] > 0 })
         if (nowDelStatus.length > 0) {
           break

+ 12 - 4
src/components/forecast/ForeCast.vue

@@ -431,10 +431,16 @@ export default {
     goForcast (data) {
       const result = [data]
       this.$store.commit('forcast/setHistoryPolicyList', result)
-      this.$router.push(`/analysis_result?ptid=${data.s_id}&sid=${data.sourceinfoid}`)
+      const routeUrl = this.$router.resolve({
+        path: `/analysis_result?ptid=${data.s_id}&sid=${data.sourceinfoid}`
+      })
+      return window.open(routeUrl.href, '_blank')
     },
     goViewEnt (id) {
-      this.$router.push(`/ent_portrait/${id}`)
+      const routeUrl = this.$router.resolve({
+        path: `/ent_portrait/${id}`
+      })
+      return window.open(routeUrl.href, '_blank')
     },
     goEntPor (id) {
       if (id && id !== '' && id !== undefined && id !== 'undefined') {
@@ -447,9 +453,10 @@ export default {
       }
     },
     goViewDetail (id) {
-      this.$router.push({
+      const routeUrl = this.$router.resolve({
         path: '/pro_follow_detail?sid=' + id
       })
+      return window.open(routeUrl.href, '_blank')
     },
     goPotenSimiLar (id, results) {
       const arr = []
@@ -459,13 +466,14 @@ export default {
         }
       })
       console.log(arr.toString())
-      this.$router.push({
+      const routeUrl = this.$router.resolve({
         path: '/analysis_filter',
         query: {
           id: id,
           keys: arr.toString()
         }
       })
+      return window.open(routeUrl.href, '_blank')
     },
     // 设置关键词
     setKey () {

+ 5 - 1
src/components/report-data/SelectMonth.vue

@@ -134,11 +134,15 @@ export default {
       }
       if (this.queryDate && Object.keys(this.queryDate).length) {
         tempData.year = this.listYear.indexOf(this.queryDate.year) || 0
-        tempData.month = this.listWeek[tempData.year].indexOf(this.queryDate.month) || (this.listWeek[tempData.year].length - ((this.getTypeTime.judgeTime === 'month') ? 2 : 1))
+        tempData.month = this.listWeek[tempData.year].indexOf(this.queryDate.month)
+        if (tempData.month === -1) {
+          tempData.month = (this.listWeek[tempData.year].length - ((this.getTypeTime.judgeTime === 'month') ? 2 : 1))
+        }
       } else {
         tempData.year = 0
         tempData.month = (this.listWeek[tempData.year].length - ((this.getTypeTime.judgeTime === 'month') ? 2 : 1))
       }
+      console.log('temp', tempData)
       this.isActive = tempData.month
       this.isIndexActive = tempData.year
     },

+ 4 - 1
src/views/bid-policy/AnalysisResult.vue

@@ -110,7 +110,10 @@ export default {
     },
     // 查看采购单位画像
     goViewPur (name) {
-      this.$router.push('/unit_portrayal/' + name)
+      const routeUrl = this.$router.resolve({
+        path: '/unit_portrayal/' + name
+      })
+      return window.open(routeUrl.href, '_blank')
     },
     // 获取项目基本信息
     async getBaseInfo () {

+ 1 - 1
src/views/potential-for/PotenSimilar.vue

@@ -22,7 +22,7 @@
               </div>
               <div class="poten_unit poten_margin">
                 <span class="unit_label poten_label">预测线索:</span>
-                <a v-if="dataInfo && dataInfo.jyhref" :href="dataInfo.jyhref" class="unit_name poten_name">{{dataInfo.title}}</a>
+                <a traget="_blank" v-if="dataInfo && dataInfo.jyhref" :href="dataInfo.jyhref" class="unit_name poten_name">{{dataInfo.title}}</a>
               </div>
             </div>
             <div class="poten_tips">预测说明:潜在项目预测基于对历史招标信息统计分析,仅供参考</div>

+ 133 - 100
src/views/reportData/pageMonth.vue

@@ -3,100 +3,103 @@
     <div class="page_week_main">
       <!-- 选择月报时间 -->
       <div class="week_time">
-        <SelectMonth :getTypeTime="{judgeTime: 'month'}" @selectYm="selectYear"></SelectMonth>
+        <SelectMonth :queryDate="getQueryTime" :getTypeTime="{judgeTime: 'month'}" @selectYm="selectYear"></SelectMonth>
       </div>
-      <!-- 数据报告-周报 -->
-      <div class="dataReport">
-        <div class="dataReport_main">
-          <div class="data_r_head">
-            <div class="data_r_title">数据报告-月报</div>
-            <div class="data_r_week">({{dateFormatter(start * 1000, 'MM月dd日')}}-{{dateFormatter(end * 1000, 'MM月dd日')}})</div>
+      <Empty v-if="nodata"></Empty>
+      <div v-else>
+        <!-- 数据报告-周报 -->
+        <div class="dataReport">
+          <div class="dataReport_main">
+            <div class="data_r_head">
+              <div class="data_r_title">数据报告-月报</div>
+              <div class="data_r_week">({{dateFormatter(start * 1000, 'MM月dd日')}}-{{dateFormatter(end * 1000, 'MM月dd日')}})</div>
+            </div>
+            <div class="data_keys">
+              <span class="keys_label">订阅关键词组:</span>
+              <span class="list_key">{{keywordsGroup}}</span>
+            </div>
+            <div class="data_line"></div>
+            <div class="data_item">
+              <p class="item_handle">数据来源:已为您推送的招标项目信息</p>
+              <p class="item_handle">项目预算/项目规模:少量预算金额、中标金额未公开或为空的项目,将通过剑鱼标讯预测模型进行填补,可能会与实际项目预算、项目规模略有差距;</p>
+              <p class="item_handle">项目重复统计:一个招标项目可能同属于多个关键词组,故各关键词组的数据统计之和可能大于整体市场的统计。</p>
+            </div>
           </div>
-          <div class="data_keys">
-            <span class="keys_label">订阅关键词组:</span>
-            <span class="list_key">{{keywordsGroup}}</span>
+        </div>
+        <div class="echartsView" v-if="isFinish">
+          <!-- 项目数量 -->
+          <div class="chart" v-if="pCount.show">
+            <div class="chart_title">项目数量</div>
+            <BarLineChart :datas="pCount.data" :options="pCount.options"></BarLineChart>
           </div>
-          <div class="data_line"></div>
-          <div class="data_item">
-            <p class="item_handle">数据来源:已为您推送的招标项目信息</p>
-            <p class="item_handle">项目预算/项目规模:少量预算金额、中标金额未公开或为空的项目,将通过剑鱼标讯预测模型进行填补,可能会与实际项目预算、项目规模略有差距;</p>
-            <p class="item_handle">项目重复统计:一个招标项目可能同属于多个关键词组,故各关键词组的数据统计之和可能大于整体市场的统计。</p>
+          <!-- 项目规模 -->
+          <div class="chart" v-if="pScale.show">
+            <div class="chart_title">项目规模</div>
+            <BarLineChart :datas="pScale.data" :options="pScale.options"></BarLineChart>
+          </div>
+          <!-- 本月项目数量 -->
+          <div class="chart" v-if="curMonthCount.show">
+            <div class="chart_title">本月项目数量</div>
+            <DuoToneChart :datas="curMonthCount.data"></DuoToneChart>
+          </div>
+          <!-- 本月项目规模 -->
+          <div class="chart" v-if="curMonthScale.show">
+            <div class="chart_title">本月项目规模</div>
+            <BarLineChart :datas="curMonthScale.data" :options="curMonthScale.options"></BarLineChart>
+          </div>
+          <!-- 本月项目数量分布 -->
+          <div class="chart" v-if="curMonthCountArea.show">
+            <div class="chart_title">本月项目数量分布</div>
+            <MapChart :datas="curMonthCountArea.data" :options="curMonthCountArea.options"></MapChart>
+          </div>
+          <!-- 本月项目规模分布 -->
+          <div class="chart" v-if="curMonthScaleArea.show">
+            <div class="chart_title">本月项目规模分布</div>
+            <MapChart :datas="curMonthScaleArea.data" :options="curMonthScaleArea.options"></MapChart>
+          </div>
+          <!-- 本月项目数量TOP10采购行业 7-->
+          <div class="chart" v-if="countTop.show">
+            <div class="chart_title">本月项目数量TOP10采购行业</div>
+            <DuoToneChart :datas="countTop.data"></DuoToneChart>
+          </div>
+          <!-- 本月项目规模TOP10采购行业 8-->
+          <div class="chart" v-if="scaleTop.show">
+            <div class="chart_title">本月项目规模TOP10采购行业</div>
+            <DuoToneChart :datas="scaleTop.data"></DuoToneChart>
+          </div>
+          <!-- 本月项目平均规模TOP10采购行业 9-->
+          <div class="chart" v-if="averageTop.show">
+            <div class="chart_title">本月项目平均规模TOP10采购行业</div>
+            <DuoToneChart :datas="averageTop.data"></DuoToneChart>
+          </div>
+          <!-- 本月中标企业注册地分布 10-->
+          <div class="chart" v-if="curMonthRegArea.show">
+            <div class="chart_title">本月中标企业注册地分布</div>
+            <MapChart :datas="curMonthRegArea.data" :options="curMonthRegArea.options"></MapChart>
+          </div>
+          <!-- 本月中标企业注册资本分布 11-->
+          <div class="chart" v-if="capitalTop.show">
+            <div class="chart_title">本月中标企业注册资本分布</div>
+            <DuoToneChart :datas="capitalTop.data" :single="true"></DuoToneChart>
+          </div>
+          <!-- 本月中标企业中标项目数量分布 12-->
+          <div class="chart" v-if="curMonthBidCount.show">
+            <div class="chart_title">本月中标企业中标项目数量分布</div>
+            <BarLineChart :datas="curMonthBidCount.data" :options="curMonthBidCount.options"></BarLineChart>
+          </div>
+          <!-- 本月采购单位排行榜 13-->
+          <div class="chart" v-if="unitTop.show">
+            <div class="chart_title">本月采购单位排行榜</div>
+            <DuoToneChart :datas="unitTop.data"></DuoToneChart>
+          </div>
+          <!-- 本月中标企业排行榜 14 -->
+          <div class="chart" v-if="bidEntTop.show">
+            <ProjectTop type="winner" title="本月中标企业排行榜" :data="bidEntTop.data"></ProjectTop>
+          </div>
+          <!-- 本月项目规模排行榜 15 -->
+          <div class="chart" v-if="curScaleTop.show">
+            <ProjectTop type="bidamount" title="本月项目规模排行榜" :data="curScaleTop.data"></ProjectTop>
           </div>
-        </div>
-      </div>
-      <div class="echartsView" v-if="isFinish">
-        <!-- 项目数量 -->
-        <div class="chart" v-if="pCount.show">
-          <div class="chart_title">项目数量</div>
-          <BarLineChart :datas="pCount.data" :options="pCount.options"></BarLineChart>
-        </div>
-        <!-- 项目规模 -->
-        <div class="chart" v-if="pScale.show">
-          <div class="chart_title">项目规模</div>
-          <BarLineChart :datas="pScale.data" :options="pScale.options"></BarLineChart>
-        </div>
-        <!-- 本月项目数量 -->
-        <div class="chart" v-if="curMonthCount.show">
-          <div class="chart_title">本月项目数量</div>
-          <DuoToneChart :datas="curMonthCount.data"></DuoToneChart>
-        </div>
-        <!-- 本月项目规模 -->
-        <div class="chart" v-if="curMonthScale.show">
-          <div class="chart_title">本月项目规模</div>
-          <BarLineChart :datas="curMonthScale.data" :options="curMonthScale.options"></BarLineChart>
-        </div>
-        <!-- 本月项目数量分布 -->
-        <div class="chart" v-if="curMonthCountArea.show">
-          <div class="chart_title">本月项目数量分布</div>
-          <MapChart :datas="curMonthCountArea.data" :options="curMonthCountArea.options"></MapChart>
-        </div>
-        <!-- 本月项目规模分布 -->
-        <div class="chart" v-if="curMonthScaleArea.show">
-          <div class="chart_title">本月项目规模分布</div>
-          <MapChart :datas="curMonthScaleArea.data" :options="curMonthScaleArea.options"></MapChart>
-        </div>
-        <!-- 本月项目数量TOP10采购行业 7-->
-        <div class="chart" v-if="countTop.show">
-          <div class="chart_title">本月项目数量TOP10采购行业</div>
-          <DuoToneChart :datas="countTop.data"></DuoToneChart>
-        </div>
-        <!-- 本月项目规模TOP10采购行业 8-->
-        <div class="chart" v-if="scaleTop.show">
-          <div class="chart_title">本月项目规模TOP10采购行业</div>
-          <DuoToneChart :datas="scaleTop.data"></DuoToneChart>
-        </div>
-        <!-- 本月项目平均规模TOP10采购行业 9-->
-        <div class="chart" v-if="averageTop.show">
-          <div class="chart_title">本月项目平均规模TOP10采购行业</div>
-          <DuoToneChart :datas="averageTop.data"></DuoToneChart>
-        </div>
-        <!-- 本月中标企业注册地分布 10-->
-        <div class="chart" v-if="curMonthRegArea.show">
-          <div class="chart_title">本月中标企业注册地分布</div>
-          <MapChart :datas="curMonthRegArea.data" :options="curMonthRegArea.options"></MapChart>
-        </div>
-        <!-- 本月中标企业注册资本分布 11-->
-        <div class="chart" v-if="capitalTop.show">
-          <div class="chart_title">本月中标企业注册资本分布</div>
-          <DuoToneChart :datas="capitalTop.data" :single="true"></DuoToneChart>
-        </div>
-        <!-- 本月中标企业中标项目数量分布 12-->
-        <div class="chart" v-if="curMonthBidCount.show">
-          <div class="chart_title">本月中标企业中标项目数量分布</div>
-          <BarLineChart :datas="curMonthBidCount.data" :options="curMonthBidCount.options"></BarLineChart>
-        </div>
-        <!-- 本月采购单位排行榜 13-->
-        <div class="chart" v-if="unitTop.show">
-          <div class="chart_title">本月采购单位排行榜</div>
-          <DuoToneChart :datas="unitTop.data"></DuoToneChart>
-        </div>
-        <!-- 本月中标企业排行榜 14 -->
-        <div class="chart" v-if="bidEntTop.show">
-          <ProjectTop type="winner" title="本月中标企业排行榜" :data="bidEntTop.data"></ProjectTop>
-        </div>
-        <!-- 本月项目规模排行榜 15 -->
-        <div class="chart" v-if="curScaleTop.show">
-          <ProjectTop type="bidamount" title="本月项目规模排行榜" :data="curScaleTop.data"></ProjectTop>
         </div>
       </div>
     </div>
@@ -112,6 +115,8 @@ import { dateFormatter } from '@/utils/globalFunctions'
 import BarLineChart from '@/components/chart/BarLineChart'
 import DuoToneChart from '@/components/chart/DuoToneChart'
 import MapChart from '@/components/chart/MapChart'
+import Empty from '@/components/common/Empty'
+
 export default {
   name: 'page_week',
   components: {
@@ -120,14 +125,17 @@ export default {
     ProjectTop,
     BarLineChart,
     DuoToneChart,
+    Empty,
     MapChart
   },
   data () {
     return {
+      canQuery: true,
       isWeekIndex: 0,
       yearmonth: '', // 第一个月报的年份
       start: 0,
       end: 0,
+      nodata: false,
       keywordsGroup: '', // 关键词组
       // 项目数量  1
       pCount: {
@@ -272,11 +280,25 @@ export default {
       isFinish: false
     }
   },
-  computed: {},
-  created () {
+  computed: {
+    getQueryTime () {
+      const paramsDate = this.$route.query.start
+      if (paramsDate) {
+        const paramsData = {
+          year: dateFormatter(paramsDate * 1000, 'yyyy'),
+          month: Number(dateFormatter(paramsDate * 1000, 'MM')).toString(),
+          ym: dateFormatter(paramsDate * 1000, 'yyyyMM'),
+          start: this.$route.query.start,
+          end: this.$route.query.end
+        }
+        return paramsData
+      }
+      return false
+    }
+  },
+  mounted () {
     this.getFirst()
   },
-  mounted () {},
   methods: {
     dateFormatter,
     getFirst () {
@@ -297,9 +319,12 @@ export default {
       if (month < 10) {
         month = '0' + month
       }
-      console.log(year, month)
       const preTime = year + '' + month
-      this.getReportList(preTime)
+      let time = preTime
+      if (this.getQueryTime) {
+        time = this.getQueryTime.ym
+      }
+      this.getReportList(time)
     },
     // 选择月报
     selectYear (data) {
@@ -307,24 +332,32 @@ export default {
       this.getReportList(data)
     },
     getReportList (time) {
-      console.log(time)
+      console.log(time, 'times')
       const setyear = time.slice(0, 4)
       const that = this
       getReportIndex({ ym: setyear }).then((res) => {
         if (res.data && res.data.list && res.data.list.length !== 0) {
-          res.data.list.forEach(function (item) {
+          let resultStatus = false
+          res.data.list.forEach(function (item, index) {
             if (item.pushtime) {
               item.pushtime = dateFormatter(item.pushtime * 1000, 'yyyy/MM/dd')
             } else {
               item.pushtime = ''
             }
             if (dateFormatter(item.startdate * 1000, 'yyyyMM') === time) {
+              resultStatus = true
+              that.isWeekIndex = index
               console.log(time)
               that.start = item.startdate
               that.end = item.enddate
               that.getDetail(that.start, that.end)
             }
           })
+          if (!resultStatus) {
+            this.nodata = true
+          } else {
+            this.nodata = false
+          }
         }
       })
     },
@@ -427,7 +460,7 @@ export default {
           v.name = v.item
           v.value = v.count + '个'
           v.parent = v.count / data[0].count * 100 + '%'
-        })  
+        })
         this.curMonthCount.show = true
         this.curMonthCount.data = data
       }
@@ -489,7 +522,7 @@ export default {
           v.name = v.buyerclass
           v.value = v.count + '个'
           v.parent = v.count / data[0].count * 100 + '%'
-        })  
+        })
         this.countTop.show = true
         this.countTop.data = data
       }
@@ -544,7 +577,7 @@ export default {
         this.capitalTop.data = data
       }
     },
-    // 
+    //
     formatCurMonthBidCountData (data) {
       if (data && data.length > 0) {
         const rows = []

+ 23 - 19
src/views/reportData/pageWeek.vue

@@ -28,7 +28,7 @@
         </div>
       </div>
       <!-- 数据报告-周报 -->
-      <div class="dataReport">
+      <div class="dataReport" v-if="nodata">
         <div class="dataReport_main">
           <div class="data_r_head">
             <div class="data_r_title">数据报告-周报</div>
@@ -46,7 +46,7 @@
           </div>
         </div>
       </div>
-      <div class="echartsView">
+      <div class="echartsView" v-if="nodata">
         <!-- 本周新增招标项目数量 -->
         <div class="newAdd_bid" v-if="newDrawCount.show">
           <div class="chart-title">本周新增招标项目数量</div>
@@ -70,17 +70,19 @@
         <!-- 项目金额排行榜 -->
         <ProjectTop v-if="projectAmount.show" title="项目金额排行榜" :data="projectAmount.list" type='amount'></ProjectTop>
       </div>
-      <!-- 下周开标提醒 -->
-      <div v-if="priority.nextweek_bidopen.length > 0">
-        <CompanyDetail  title="下周开标提醒" :datas="priority" type="bidopen"></CompanyDetail>
-      </div>
-      <!-- 重点关注项目 -->
-      <div v-if="priority.follow_project.length > 0">
-        <CompanyDetail title="重点关注项目" :datas="priority" type="project"></CompanyDetail>
-      </div>
-      <!-- 重点关注企业 -->
-      <div v-if="priority.follow_ent.length > 0" >
-        <CompanyDetail title="重点关注企业" :datas="priority" type="ent"></CompanyDetail>
+      <div v-if="nodata">
+        <!-- 下周开标提醒 -->
+        <div v-if="priority.nextweek_bidopen.length > 0">
+          <CompanyDetail  title="下周开标提醒" :datas="priority" type="bidopen"></CompanyDetail>
+        </div>
+        <!-- 重点关注项目 -->
+        <div v-if="priority.follow_project.length > 0">
+          <CompanyDetail title="重点关注项目" :datas="priority" type="project"></CompanyDetail>
+        </div>
+        <!-- 重点关注企业 -->
+        <div v-if="priority.follow_ent.length > 0" >
+          <CompanyDetail title="重点关注企业" :datas="priority" type="ent"></CompanyDetail>
+        </div>
       </div>
     </div>
     <div class="page_week_artical"></div>
@@ -177,7 +179,11 @@ export default {
   },
   mounted () {
     const nowtime = dateFormatter(new Date(), 'yyyyMM')
-    this.getReportList(nowtime)
+    let time = nowtime
+    if (this.getQueryTime) {
+      time = this.getQueryTime.ym
+    }
+    this.getReportList(time)
     if (this.$refs.weekitempoint && this.$refs.weekitempoint.length > 0) {
       this.$refs.weekitempoint[0].style.display = 'none'
     }
@@ -201,11 +207,7 @@ export default {
   methods: {
     dateFormatter,
     // 周报列表
-    getReportList (yearMonth) {
-      let time = yearMonth
-      if (this.getQueryTime) {
-        time = this.getQueryTime.ym
-      }
+    getReportList (time) {
       getReportIndex({ ym: time }).then((res) => {
         console.log(res)
         if (res.data && res.data.list && res.data.list.length !== 0) {
@@ -226,6 +228,7 @@ export default {
             start: res.data.list[0].startdate,
             end: res.data.list[0].enddate
           }
+          this.isWeekIndex = 0
           if (this.canQuery && this.getQueryTime) {
             if (this.getQueryTime.ym === time) {
               queryData.start = this.getQueryTime.start
@@ -244,6 +247,7 @@ export default {
           this.nodata = true
         } else {
           this.weekList = []
+          this.nodata = false
         }
       })
     },