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

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

TANGSHIZHE пре 4 година
родитељ
комит
9ef59ca334

+ 6 - 0
src/components/chart/BarLineChart.vue

@@ -66,6 +66,12 @@ export default {
             show: false,
             fontSize: 12
           }
+          item[0].axisLabel.formatter = (value, index) => {
+            return value.toString().replace(/,/, '')
+          }
+          item[1].axisLabel.formatter = (value, index) => {
+            return value.toString().replace(/,/, '')
+          }
           return item
         },
         tooltip: {

+ 2 - 2
src/components/chart/DuoToneChart.vue

@@ -8,7 +8,7 @@
             <span class="item-count text-right">{{item.value}}</span>
           </div>
           <div class="item-progress">
-            <span class="item-progress-count" :class="index > 2 ? 'blue-progress' : 'yellow-progress'" :style="{width: item.parent}"></span>
+            <span class="item-progress-count" :class="index > 2 || single ? 'blue-progress' : 'yellow-progress'" :style="{width: item.parent}"></span>
           </div>
         </div>
       </div>
@@ -18,7 +18,7 @@
 <script>
 export default {
   name: 'progess-chart',
-  props: ['datas'],
+  props: ['datas', 'single'],
   data () {
     return {}
   },

+ 5 - 5
src/components/common/ContentLayout.vue

@@ -55,11 +55,11 @@ export default {
     return {
       routerName: '',
       adCodeMap: {
-        projectInfo: 'jy-pc-bigmember-project-content-right', // 项目详情页右侧广告位code
-        'ent_portrait': 'jy-pc-bigmember-entportrayal-content-right', // 企业情报详情页右侧广告位code
-        'unit_portrayal': 'jy-pc-bigmember-unitportrayal-content-right', // 采购单位全景分析详情页右侧广告位code
-        'bigvip_subreport_month': 'jy-pc-bigmember-month-content-right', // 数据月报右侧
-        'bigvip_subreport_week': 'jy-pc-bigmember-week-content-right' // 数据周报右侧
+        pro_follow_detail: 'jy-pc-bigmember-project-content-right', // 项目详情页右侧广告位code
+        ent_portrait: 'jy-pc-bigmember-entportrayal-content-right', // 企业情报详情页右侧广告位code
+        unit_portrayal: 'jy-pc-bigmember-unitportrayal-content-right', // 采购单位全景分析详情页右侧广告位code
+        bigvip_subreport_month: 'jy-pc-bigmember-month-content-right', // 数据月报右侧
+        bigvip_subreport_week: 'jy-pc-bigmember-week-content-right' // 数据周报右侧
       },
       adList: [
         // {

+ 2 - 2
src/components/forecast/ForLayout.vue

@@ -91,7 +91,7 @@ export default {
             if (data.events === 'select') {
               // 联想跳转
               if (this.bidnum !== 0) {
-                const result = [data.data]
+                const result = data.data.list
                 this.$store.commit('forcast/setHistoryList', result)
                 this.$router.push({
                   path: '/ai_add',
@@ -119,7 +119,7 @@ export default {
             // } else
             if (data.events === 'select') {
               // 联想跳转
-              const result = [data.data]
+              const result = data.data.list
               this.$store.commit('forcast/setHistoryPolicyList', result)
               this.$router.push(`/analysis_result/${data.data.s_id}/${data.data.sourceinfoid}`)
             } else {

+ 2 - 2
src/components/forecast/ForeCast.vue

@@ -429,7 +429,7 @@ export default {
     },
     goViewDetail (id) {
       this.$router.push({
-        path: '/project/info?sid=' + id
+        path: '/pro_follow_detail?sid=' + id
       })
     },
     goPotenSimiLar (id, results) {
@@ -450,7 +450,7 @@ export default {
     },
     // 设置关键词
     setKey () {
-      this.$router.push('/subscribe/config')
+      this.$router.push('/set_subscribe/config')
     },
     // 数组对象去重
     unique (arr) {

+ 2 - 3
src/components/home/FloatSide.vue

@@ -2,7 +2,7 @@
   <div class="float-side-group">
     <div class="column-side" v-if="floatSide.showType" @click="toggleType(floatSide)" key="column">
       <div :class="'type-icon--' + floatSide.colorClass">{{floatSide.title.substr(0,1)}}</div>
-      <div class="type-title">展开{{floatSide.title}}</div>
+      <div class="type-title">{{floatSide.title}}</div>
       <i class="el-icon-jy-caret-left"></i>
     </div>
     <div class="row-side" key="row" v-else>
@@ -28,7 +28,7 @@
               <div class="flex-r-c text--time">{{item.date}}</div>
             </div>
             <div class="p-t-b-10 flex-r-c">
-              <span class="text--time">{{item.tip}}</span>
+              <span class="text--time">{{item.tip || '情报历史记录'}}</span>
               <div class="flex-r-c center">
                 <span class="text--title">{{item.total}}</span>
                 <i class="el-icon-arrow-right"></i>
@@ -69,7 +69,6 @@ export default {
   created () {}
 }
 </script>
-
 <style lang="scss" scoped>
 .float-side-group {
   .type-icon {

+ 1 - 1
src/components/push-list/ProjectList.vue

@@ -163,7 +163,7 @@ export default {
     toDetail (item) {
       const { sid, fid } = item
       const link = this.$router.resolve({
-        path: '/project/info',
+        path: '/pro_follow_detail',
         query: {
           sid,
           fid

+ 7 - 4
src/components/push-list/PushList.vue

@@ -2,7 +2,7 @@
   <el-card class="info-list-card">
     <div slot="header" class="clearfix">
       <span class="card-title">订阅推送</span>
-      <el-button v-if="subManager" @click="goManage" class="sub-manager" type="plain" icon="el-icon-jy-edit">订阅管理</el-button>
+      <el-button v-if="canSubmanager" @click="goManage" class="sub-manager" type="plain" icon="el-icon-jy-edit">订阅管理</el-button>
     </div>
     <div class="info-list" v-loading="listState.loading">
       <article-item
@@ -13,9 +13,9 @@
         @onClick="toDetail(item)"
       />
       <empty v-show="showEmpty">
-        <div v-if="isAllFirst">
+        <div v-if="isAllFirst && canSubmanager">
           <span>订阅关键词,接收最新招投标信息</span>
-          <div class="add-key-button" @click="$router.push('/subscribe/config')">
+          <div class="add-key-button" @click="$router.push('/set_subscribe/config')">
             <span class="icon-chahao"></span>
             <span class="button-text">订阅关键词</span>
           </div>
@@ -83,6 +83,9 @@ export default {
     },
     getFilters () {
       return this.filters
+    },
+    canSubmanager () {
+      return !this.$store.state.user.info?.isSubCount
     }
   },
   data () {
@@ -103,7 +106,7 @@ export default {
   },
   methods: {
     goManage () {
-      this.$router.push('/subscribe/config')
+      this.$router.push('/set_subscribe/config')
     },
     // 恢复数据至第一次请求的状态(页码等)
     resetListState () {

+ 20 - 4
src/components/time-line/TimeLine.vue

@@ -12,10 +12,13 @@
           :class="{
             text: index === 0
           }">
-          <span class="step-tag" v-for="(tag, index) in item.tags" :key="index">{{ tag }}</span>
-          <span class="item-time">{{ item.time }}</span>
+          <div class="tag-list">
+            <span class="step-tag" v-for="(tag, index) in item.tags" :key="index">{{ tag }}</span>
+            <span class="item-time">{{ item.time }}</span>
+          </div>
+          <span class="step-tag grey" v-show="item.bidamount">{{ moneyUnit(item.bidamount) }}</span>
         </div>
-        <div class="step-item" @click="linkTo(item)">
+        <div class="step-item cursor" @click="linkTo(item)">
           <span class="item-label" v-html="item.content"></span>
         </div>
       </div>
@@ -24,6 +27,7 @@
 </template>
 
 <script>
+import { moneyUnit } from '@/utils/'
 export default {
   name: 'time-line',
   props: {
@@ -35,6 +39,7 @@ export default {
     }
   },
   methods: {
+    moneyUnit,
     linkTo (item) {
       window.open(`/article/content/${item.s_id}.html`)
     }
@@ -43,6 +48,9 @@ export default {
 </script>
 
 <style lang="scss" scoped>
+.cursor {
+  cursor: pointer;
+}
 .step-tag {
   display: flex;
   align-items: center;
@@ -54,6 +62,11 @@ export default {
   line-height: 20px;
   border: 1px solid $color-text--highlight;
   border-radius: 5px;
+  &.grey {
+    color: #686868;
+    border-color: #ececec;
+    background-color: #f5f5fb;
+  }
 }
 .step-line {
   position: relative;
@@ -102,7 +115,6 @@ export default {
   display: flex;
   justify-content: space-between;
   padding: 12px 0;
-  cursor: pointer;
   .step-items {
     display: flex;
     flex-direction: column;
@@ -111,12 +123,16 @@ export default {
     .step-item {
       display: flex;
       align-items: center;
+      justify-content: space-between;
       font-size: 16px;
       line-height: 24px;
       &:first-of-type {
         margin-bottom: 10px;
       }
     }
+    .tag-list {
+      display: flex;
+    }
     .step-tag {
       margin-right: 8px;
     }

+ 3 - 2
src/router/router-interceptors.js

@@ -6,9 +6,10 @@ import { powerCheck } from '@/utils/bigmember/'
 const powerCheckWhiteList = ['404']
 
 router.beforeEach(async (to, from, next) => {
-  const { power, info } = store.state.user
+  let { power, info } = store.state.user
   if (!Object.keys(info).length) {
-    await store.dispatch('user/getUserPower')
+    info = await store.dispatch('user/getUserPower')
+    power = info.power ? info.power : []
   }
   if (powerCheckWhiteList.includes(to.name)) {
     next()

+ 9 - 4
src/router/routers.js

@@ -16,6 +16,11 @@ export default [
     name: 'potential_cor_list',
     component: () => import('@/views/PotentialList.vue')
   },
+  {
+    path: '/potential_rival_list/:type',
+    name: 'potential_rival_list',
+    component: () => import('@/views/PotentialList.vue')
+  },
   {
     path: '/bigvip_subreport_week',
     name: 'bigvip_subreport_week',
@@ -64,7 +69,7 @@ export default [
     component: () => import('@/views/potential-for/PotenSimilar.vue')
   },
   {
-    path: '/subscribe/config',
+    path: '/set_subscribe/config',
     name: 'config',
     component: () => import('@/views/subscribe/Config.vue')
   },
@@ -82,8 +87,8 @@ export default [
   },
   // 项目信息
   {
-    path: '/project/info',
-    name: 'projectInfo',
+    path: '/pro_follow_detail',
+    name: 'pro_follow_detail',
     component: () => import('@/views/project/ProjectInfo.vue')
   },
   // 投标决策分析结果页
@@ -94,7 +99,7 @@ export default [
   },
   // 业务范围
   {
-    path: '/subscribe/scope',
+    path: '/set_scope',
     name: 'scope',
     component: () => import('@/views/subscribe/Scope.vue')
   }

+ 1 - 1
src/utils/bigmember/powerMap.js

@@ -34,7 +34,7 @@ export const powerMap = {
   },
   8: {
     tip: '挖掘潜在伙伴/竞争对手',
-    url: 'potential_cor_list&potential_cor',
+    url: 'potential_rival_list&potential_rival',
     anchor: 'qz'
   },
   9: {

+ 2 - 2
src/utils/globalFunctions.js

@@ -479,8 +479,8 @@ export function bSort (arr, value) {
 }
 
 export function recoveryPageData (key, defaultValues = {}) {
-  return sessionStorage.getItem(key) ? JSON.parse(sessionStorage.getItem(key) || '') : defaultValues
+  return JSON.parse(sessionStorage.getItem(key) || JSON.stringify(defaultValues))
 }
 export function defaultLocalPageData (key, defaultValues = {}) {
-  return localStorage.getItem(key) ? JSON.parse(localStorage.getItem(key) || '') : defaultValues
+  return JSON.parse(localStorage.getItem(key) || JSON.stringify(defaultValues))
 }

+ 41 - 3
src/views/Home.vue

@@ -14,7 +14,7 @@
         <project-list class="m-40" @getMore="$router.push('/big_subscribe')"></project-list>
       </div>
     </forLayOut>
-    <div class="flex-c-c float-side-group-for-right">
+    <div class="flex-c-c float-side-group-for-right" data-backside>
       <float-side v-for="floatSide in getFloatList"
             @toggle="toggleFloatSideShow" @more="goFloatSideMore" @info="goFloatSideInfo"
             :float-side="floatSide"   :key="floatSide.title">
@@ -32,6 +32,8 @@ import ProjectList from '@/components/push-list/ProjectList.vue'
 import FloatSide from '@/components/home/FloatSide.vue'
 import { getReportIndex, getReportStartTime, getSimpleFollowList } from '@/api/modules/'
 import moment from 'moment'
+import 'moment/locale/zh-cn'
+moment.locale('zh-cn')
 export default {
   name: 'Home',
   components: {
@@ -63,7 +65,7 @@ export default {
         },
         {
           text: '潜在竞争对手 合作伙伴挖掘',
-          to: '/potential_cor_list/r'
+          to: '/potential_rival_list/r'
         }
       ],
       floatSideList: [
@@ -143,6 +145,15 @@ export default {
           now: new Date().getTime()
         },
         formatFn: (time) => moment(time).format('YYYY'),
+        checkMaxFn: (endTime) => {
+          const nowDate = moment(endTime)
+          const maxData = moment()
+          let result = true
+          if (maxData.year() === nowDate.year() && maxData.month() === nowDate.month()) {
+            result = false
+          }
+          return result
+        },
         checkFn: (config) => {
           const minDate = moment(config.params.min)
           const nowDate = moment(config.params.now)
@@ -165,6 +176,15 @@ export default {
           now: new Date().getTime()
         },
         formatFn: (time) => moment(time).format('YYYYMM'),
+        checkMaxFn: (endTime) => {
+          const nowDate = moment(endTime)
+          const maxData = moment()
+          let result = true
+          if (maxData.year() === nowDate.year() && maxData.month() === nowDate.month() && maxData.week() === nowDate.week()) {
+            result = false
+          }
+          return result
+        },
         checkFn: (config) => {
           const minDate = moment(config.params.min)
           const nowDate = moment(config.params.now)
@@ -194,9 +214,11 @@ export default {
               start: v.startdate,
               end: v.enddate
             }
+          }).filter(v => {
+            return config.checkMaxFn(v.end * 1000)
           }))
           nowObj.list = nowList.slice(0, nowObj.maxLength)
-          if (nowList.length < nowObj.maxLength) {
+          if (nowList.length !== 0 && nowList.length < nowObj.maxLength) {
             const nowParams = config.checkFn(config)
             if (nowParams) {
               return this.getWeeksOrMonths(Object.assign({}, config, { params: nowParams }))
@@ -286,6 +308,16 @@ export default {
     }
   },
   created () {
+    const ClientHeight = $(window).height() / 100
+    let maxH = 2
+    if (ClientHeight > 8) {
+      maxH = 4
+    } else if (ClientHeight > 6) {
+      maxH = 3
+    }
+    this.floatSideList[0].maxLength = maxH
+    this.floatSideList[1].maxLength = maxH
+    this.floatSideList[2].maxLength = maxH + 1
     if (this.checkAuthPower(12)) {
       this.getSimpleFollowList()
     }
@@ -359,10 +391,16 @@ export default {
       @include diy-icon('home_#{$i}', 44, 44);
     }
     .float-side-group-for-right {
+      transition: all 0.75s;
       position: fixed;
       bottom: 20px;
       right: 8px;
       align-items: flex-end;
+      z-index: 667;
+      pointer-events: none;
+      * {
+        pointer-events: auto;
+      }
       ::v-deep .float-side-group + .float-side-group{
         margin-top: 20px;
       }

+ 1 - 1
src/views/PotentialList.vue

@@ -144,7 +144,7 @@ export default {
       window.open(routeUrl.href, '_blank')
     },
     goManage () {
-      this.$router.push('/subscribe/scope')
+      this.$router.push('/set_scope')
     },
     changeArea (item) {
       this.filters.area = item

+ 1 - 1
src/views/bid-forecast/BidForecastLimit.vue

@@ -293,7 +293,7 @@ export default {
     setSure () {
       this.iscomplete = false
       const routeUrl = this.$router.resolve({
-        path: '/project/info',
+        path: '/pro_follow_detail',
         query: {
           sid: this.baseInfo.infoid,
           fid: this.baseInfo.id

+ 1 - 1
src/views/bid-policy/components/PolicyLimit.vue

@@ -202,7 +202,7 @@ export default {
     setPurContent (title) {
       console.log(title)
       this.$router.push({
-        path: '/subscribe/scope',
+        path: '/set_scope',
         query: {
           title: title
         }

+ 0 - 3
src/views/portrayal/components/EntChart.vue

@@ -396,9 +396,6 @@ export default {
       options.tooltip.axisPointer.shadowStyle.color = 'rgba(42, 190, 209,0.1)' // 修改点击柱条后背景颜色
       options.legend.show = true // 显示底部数量、金额、圆点
       options.yAxis[1].axisLabel.show = true // 显示右侧y轴刻度
-      options.yAxis[1].axisLabel.formatter = (value, index) => {
-        return value.toString().replace(/,/, '')
-      }
       const maxCountList = this.annual.data.rows.map((v) => {
         return v['项目数量']
       })

+ 3 - 6
src/views/portrayal/components/UnitChart.vue

@@ -138,7 +138,7 @@ export default {
       },
       // 各类招标方式占比
       bidType: {
-        show: true,
+        show: false,
         data: []
       },
       // 各行业项目平均节支率
@@ -261,12 +261,10 @@ export default {
           // 年度项目统计图表数据
           if (res.data.yearData && Object.keys(res.data.yearData).length > 0) {
             this.formatYearsData(res.data.yearData)
-            this.years.show = true
           }
           // 月度采购规模
           if (res.data.monthData && Object.keys(res.data.monthData).length > 0) {
             this.formatMonthScaleData(res.data.monthData)
-            this.monthScale.show = true
           }
           // 采购规模分布
           if (res.data.moneyRange && res.data.moneyRange.length > 0) {
@@ -351,9 +349,6 @@ export default {
     },
     /* ******** 配置项部分 ******* */
     configYears (options) {
-      options.yAxis[1].axisLabel.formatter = (value, index) => {
-        return value.toString().replace(/,/, '')
-      }
       options.legend.show = true
       options.yAxis[1].axisLabel.show = true // 显示右侧y轴刻度
       var maxCountList = this.years.data.rows.map((v) => {
@@ -615,6 +610,7 @@ export default {
       if (count !== 0) {
         this.years.data.columns = ['年份', '项目数量', '项目金额']
         this.years.data.rows = rows
+        this.years.show = true
       } else {
         this.years.show = false
       }
@@ -653,6 +649,7 @@ export default {
       if (count !== 0) {
         this.monthScale.data.columns = columns
         this.monthScale.data.rows = rows
+        this.monthScale.show = true
       } else {
         this.monthScale.show = false
       }

+ 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>
-                <router-link :to="dataInfo.jyhref" class="unit_name poten_name">{{dataInfo.title}}</router-link>
+                <a v-if="dataInfo && dataInfo.jyhref" :href="dataInfo.jyhref" class="unit_name poten_name">{{dataInfo.title}}</a>
               </div>
             </div>
             <div class="poten_tips">预测说明:潜在项目预测基于对历史招标信息统计分析,仅供参考</div>

+ 6 - 1
src/views/project/ProjectInfo.vue

@@ -122,6 +122,9 @@ export default {
         if (item.s_title) {
           s.content = replaceKeyword(item.s_title, this.projectInfo.projectname, `<span class="highlight-text">${this.projectInfo.projectname}</span>`)
         }
+        if (item.bidamount) {
+          s.bidamount = item.bidamount
+        }
         if (item.s_subtype) {
           s.tags.push(item.s_subtype)
         }
@@ -142,12 +145,14 @@ export default {
   methods: {
     async getFollowPInfo () {
       const { sid, fid } = this
-      const { data, error_code: code } = await getFollowProjectDetail({ sid, fid })
+      const { data, error_code: code, error_msg: msg } = await getFollowProjectDetail({ sid, fid })
       if (code === 0 && data) {
         Object.assign(this.projectContent, data)
         Object.assign(this.projectInfo, data.projectInfo)
         this.filterData()
         this.isShowAction()
+      } else {
+        this.$message.warning(msg)
       }
     },
     async clickFollowButton () {

+ 43 - 13
src/views/reportData/pageMonth.vue

@@ -78,7 +78,7 @@
         <!-- 本月中标企业注册资本分布 11-->
         <div class="chart" v-if="capitalTop.show">
           <div class="chart_title">本月中标企业注册资本分布</div>
-          <DuoToneChart :datas="capitalTop.data"></DuoToneChart>
+          <DuoToneChart :datas="capitalTop.data" :single="true"></DuoToneChart>
         </div>
         <!-- 本月中标企业中标项目数量分布 12-->
         <div class="chart" v-if="curMonthBidCount.show">
@@ -526,8 +526,8 @@ export default {
           v.value = v.count + '个'
           v.name = v.range
         })
-        this.CapitalTop.show = true
-        this.CapitalTop.data = data
+        this.capitalTop.show = true
+        this.capitalTop.data = data
       }
     },
     // 
@@ -582,9 +582,6 @@ export default {
     pScaleConfig (options) {
       options.tooltip.axisPointer.shadowStyle.color = 'rgba(5,166,243,0.1)'
       options.yAxis[1].axisLabel.show = true
-      options.yAxis[0].axisLabel.formatter = (value, index) => {
-        return value.toString().replace(/,/, '')
-      }
       const maxCountList = this.pScale.data.rows.map((v) => {
         return v['项目规模']
       })
@@ -625,6 +622,43 @@ export default {
     },
     // 本月项目规模配置
     curMonthScaleConfig (options) {
+      options.yAxis[1].axisLabel.show = true
+      const maxCountList = this.curMonthScale.data.rows.map((v) => {
+        return v['项目规模']
+      })
+      const maxPriceList = this.curMonthScale.data.rows.map((v) => {
+        return v['环比增长率(%)-右纵轴']
+      })
+      let maxLeft = Math.ceil(Math.max.apply(null, maxCountList)).toString()
+      let maxRight = Math.ceil(Math.max.apply(null, maxPriceList)).toString()
+      let minRight = Math.ceil(Math.min.apply(null, maxPriceList)).toString()
+      maxLeft = Math.ceil(maxLeft / (Math.pow(10, maxLeft.length - 1))) * Math.pow(10, maxLeft.length - 1)
+      maxRight = Math.ceil(maxRight / (Math.pow(10, maxRight.length - 1))) * Math.pow(10, maxRight.length - 1)
+      if (minRight.indexOf('-') > -1) {
+        minRight = '-' + Math.ceil(minRight.replace('-', '') / (Math.pow(10, minRight.replace('-', '').length - 1))) * Math.pow(10, minRight.replace('-', '').length - 1)
+      } else {
+        minRight = 0
+      }
+      const item = options.yAxis
+      item[0].min = 0
+      item[1].min = minRight
+      item[0].max = maxLeft
+      item[0].interval = Math.ceil(maxLeft / 5)
+      item[1].max = maxRight
+      item[1].interval = Math.ceil((maxRight - minRight) / 5)
+      if (maxRight !== minRight) {
+        item[0].min = 0
+        item[1].min = minRight
+        item[0].max = maxLeft
+        item[0].interval = Math.ceil(maxLeft / 5)
+        item[1].max = maxRight
+        item[1].interval = Math.ceil((maxRight - minRight) / 5)
+      } else {
+        options.yAxis[1].axisLabel.show = false
+      }
+      options.tooltip.formatter = (params) => {
+        return this.formatTooltip(params)
+      }
       return options
     },
     mapCountConfig (options) {
@@ -666,6 +700,9 @@ export default {
     },
     // 本月中标企业中标项目数量分布配置
     curMonthBidCountConfig (options) {
+      options.tooltip.formatter = (params) => {
+        return this.formatTooltip(params)
+      }
       return options
     },
     /* 公共函数 */
@@ -716,19 +753,12 @@ export default {
 <style lang="scss" scoped>
   .page_week{
     margin: 32px auto;
-    display: flex;
-    justify-content: space-between;
-    width: 1200px;
-    height: auto;
     .page_week_main{
-      width: 920px;
-      height: auto;
       ::v-deep .getlastmonth{
         display: none;
       }
       .week_time{
         // padding-bottom: 24px;
-        width: 920px;
         opacity: 1;
         background: #ffffff;
         border-radius: 4px;

+ 0 - 6
src/views/reportData/pageWeek.vue

@@ -339,9 +339,6 @@ export default {
     newBudgetConfig (options) {
       options.tooltip.axisPointer.shadowStyle.color = 'rgba(5,166,243,0.1)'
       options.yAxis[1].axisLabel.show = true
-      options.yAxis[0].axisLabel.formatter = (value, index) => {
-        return value.toString().replace(/,/, '')
-      }
       const maxCountList = this.newBudget.data.rows.map((v) => {
         return v['项目总预算']
       })
@@ -374,9 +371,6 @@ export default {
     newScaleConfig (options) {
       options.tooltip.axisPointer.shadowStyle.color = 'rgba(5,166,243,0.1)'
       options.yAxis[1].axisLabel.show = true
-      options.yAxis[0].axisLabel.formatter = (value, index) => {
-        return value.toString().replace(/,/, '')
-      }
       const maxCountList = this.newScale.data.rows.map((v) => {
         return v['项目总规模']
       })

+ 8 - 1
src/views/subscribe/Config.vue

@@ -48,8 +48,15 @@ export default {
       scope: []
     }
   },
-  computed: {},
+  computed: {
+    canSubmanager () {
+      return !this.$store.state.user.info?.isSubCount
+    }
+  },
   created () {
+    if (!this.canSubmanager) {
+      history.back()
+    }
     this.getBigInfo()
   },
   methods: {

+ 2 - 4
src/views/subscribe/Scope.vue

@@ -52,15 +52,13 @@ export default {
     ...mapActions('user', ['getKeywordsList']),
     // 从接口中取数据 执行业务范围页面逻辑
     async getBigInfo () {
-      if (this.bigKeywordsData) {
-        this.setData.maxCount = this.bigKeywordsData.key_max_length
-      }
       const state = this.setData.from ? this.buyClass : this.scope
       if (state && state.length > 0) {
         this.setData.keyList = state
       } else {
         this.getKeywordsList(this.setData.from).then((res) => {
-          this.setData.keyList = res
+          // eslint-disable-next-line
+          this.setData.keyList = res ? res : []
         })
       }
       // const data = await getBigMemberInfo()

+ 1 - 26
src/views/subscribe/components/scope/Add.vue

@@ -2,7 +2,6 @@
   <div class="keywords">
     <div class="key-title">
       <span>{{datas.title}}</span>
-      <span style="font-size:14px;"><em style="color: #2cb7ca;"> {{keyCounts}}</em>/{{datas.maxCount}}</span>
     </div>
     <div class="key-content">
       <div class="item">
@@ -50,8 +49,7 @@ export default {
   props: {
     datas: {
       title: String,
-      keyList: Array,
-      maxCount: Number
+      keyList: Array
     }
   },
   components: {
@@ -70,9 +68,6 @@ export default {
     }
   },
   computed: {
-    keyCounts () {
-      return this.datas.keyList.length
-    },
     keyDisabled () {
       return !this.cur.key
     }
@@ -103,14 +98,7 @@ export default {
     },
     // 提交关键词
     submitKeywords () {
-      const totalCount = this.addTotalCount()
       const keyArr = this.getKeyTotalArray()
-      if (totalCount >= this.datas.maxCount) {
-        return this.$message({
-          type: 'warning',
-          message: '关键词超出最大限制'
-        })
-      }
       if (keyArr.indexOf(this.cur.key) > -1) {
         return this.$message({
           type: 'warning',
@@ -168,9 +156,6 @@ export default {
       const keysArr = []
       this.datas.keyList.forEach((s) => {
         if (s && s.key) {
-          // s.key.forEach((v) => {
-          //   keysArr.push(v)
-          // })
           keysArr.push(s.key.toString().replace(',', ' '))
         }
       })
@@ -187,16 +172,6 @@ export default {
       this.cur.key = ''
       this.cur.appendkey = []
       this.cur.notkey = []
-    },
-    // 已添加的关键词数量
-    addTotalCount () {
-      let count = 0
-      this.datas.keyList.forEach(v => {
-        if (v && v.a_key) {
-          count += v.a_key.length
-        }
-      })
-      return count
     }
   }
 }

+ 1 - 18
src/views/subscribe/components/scope/List.vue

@@ -56,8 +56,7 @@ export default {
   },
   props: {
     datas: {
-      keyList: Array,
-      maxCount: Number
+      keyList: Array
     }
   },
   data () {
@@ -80,13 +79,6 @@ export default {
   methods: {
     // 添加关键词
     addKeyFn () {
-      const isCan = this.getIsAdd()
-      if (isCan) {
-        return this.$message({
-          type: 'warning',
-          message: '关键词超出最大限制'
-        })
-      }
       this.dialog.editKey = true
       this.props.ways = 'add'
       this.props.key = []
@@ -192,15 +184,6 @@ export default {
       this.removeEmptyInput(arr)
       return (new Set(arr)).size !== arr.length
     },
-    // 判断是否超限
-    getIsAdd () {
-      const keyArr = this.getKeyTotalArray()
-      if (keyArr.length >= this.datas.maxCount) {
-        return true
-      } else {
-        return false
-      }
-    },
     // 输入框为空移除
     removeEmptyInput (arr) {
       for (let i = 0; i < arr.length; i++) {