瀏覽代碼

画像筛选条件组件、缺省图标替换

TANGSHIZHE 3 年之前
父節點
當前提交
b0397cba40

二進制
src/assets/images/big/1-big.png


二進制
src/assets/images/empty/jy-back.png


二進制
src/assets/images/empty/jy-chagrin.png


二進制
src/assets/images/empty/jy-cry.png


二進制
src/assets/images/empty/jy-sleep.png


二進制
src/assets/images/empty/jy-smile.png


二進制
src/assets/images/jyxia.png


+ 7 - 1
src/components/common/Empty.vue

@@ -1,7 +1,7 @@
 <template>
   <div class="empty-container mtb60">
     <div class="empty-content-position">
-      <el-image :src="require('@/assets/images/empty.png')"></el-image>
+      <el-image :src="images"></el-image>
       <div class="empty-main">
         <slot name="default">{{ tip }}</slot>
         <slot name="button"></slot>
@@ -21,6 +21,12 @@ export default {
     tip: {
       type: String,
       default: '这里什么也没有'
+    },
+    images: {
+      type: String,
+      default () {
+        return require('@/assets/images/empty.png')
+      }
     }
   }
 }

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

@@ -212,7 +212,7 @@
         </div>
       </li>
     </ul>
-    <Empty v-if="showEmpty&&potenCode!=1" :tip="getTipText">
+    <Empty v-if="showEmpty&&potenCode!=1" :tip="getTipText" :images="tipimages">
       <el-button
         v-if="tips === '暂无企业情报信息,前往企业搜索关注企业'"
         class="add-btn"
@@ -223,7 +223,7 @@
         添加关注企业
       </el-button>
     </Empty>
-    <Empty v-else-if="showEmpty&&potenCode==1">
+    <Empty v-else-if="showEmpty&&potenCode==1" :images="require('@/assets/images/empty/jy-cry.png')">
       <div name="default">
         <div class="poten_tip">暂未设置订阅关键词,无法进行预测</div>
         <div class="setKeyWords" v-if="!info.isSubCount">
@@ -301,6 +301,7 @@ export default {
       isFollow: '1',
       potenCode: 0,
       tips: '', // 空状态提示
+      tipimages: '',
       dialog: {
         group: false
       },
@@ -419,6 +420,7 @@ export default {
         this.listState.list = []
         this.listState.total = 0
         this.tips = '暂无搜索历史'
+        this.tipimages = require('@/assets/images/empty/jy-cry.png')
       }
     },
     initPolicyData (list, type) {
@@ -465,6 +467,7 @@ export default {
         } else {
           this.potenCode = 2
           this.tips = '暂未预测出潜在项目'
+          this.tipimages = require('@/assets/images/empty/jy-cry.png')
         }
       }
     },
@@ -708,8 +711,10 @@ export default {
     getEntListTips () {
       if (!this.myDataObj.match && !this.myDataObj.group && this.myDataObj.initTotal === 0) {
         this.tips = '暂无企业情报信息,前往企业搜索关注企业'
+        this.tipimages = require('@/assets/images/empty/jy-back.png')
       } else if (this.myDataObj.list.length === 0 && this.myDataObj.initTotal !== 0) {
         this.tips = '暂无匹配数据'
+        this.tipimages = require('@/assets/images/empty/jy-back.png')
       }
     }
   }

+ 1 - 2
src/components/push-list/PotentialList.vue

@@ -46,7 +46,7 @@
           </div>
         </div>
       </div>
-      <empty v-if="showEmpty">
+      <empty v-if="showEmpty" :images="require('@/assets/images/empty/jy-smile.png')">
         <div v-if="isAllFirst">
           <span>选择条件,立即挖掘</span>
         </div>
@@ -263,7 +263,6 @@ export default {
       const res = await getCorList(tempQuery)
       this.listState.loading = false
       this.listState.loaded = true
-
       if (res.error_code === 0) {
         this.listState.total = res.data.total
         this.listState.list = res.data.list || []

+ 2 - 2
src/components/push-list/ProjectProgressList.vue

@@ -23,13 +23,13 @@
           </article-item>
         </template>
       </PoverTimeLine>
-      <empty v-show="showEmpty && !nullProjectTips">
+      <empty v-show="showEmpty && !nullProjectTips" :images="require('@/assets/images/empty/jy-back.png')">
         <div class="flex-c-c center">
           <span>暂无项目进度信息,前往招标搜索关注项目</span>
           <button class="null_tips_btn" @click="jumpPage">添加关注项目</button>
         </div>
       </empty>
-      <empty v-show="nullProjectTips && showEmpty">
+      <empty v-show="nullProjectTips && showEmpty" :images="require('@/assets/images/empty/jy-back.png')">
         <div class="flex-c-c center">
           <span>暂无匹配数据</span>
         </div>

+ 1 - 1
src/views/ProjectProgress.vue

@@ -146,7 +146,7 @@ export default {
         pageSize: 500
       }
       attentionProject(data).then(res => {
-        if (res.data) {
+        if (res.error_code === 0 && res.data) {
           this.dataList = res.data.List
           this.showDataList = res.data.List
           this.projectNum = this.dataList.length

+ 4 - 4
src/views/ent-intel/MyClient.vue

@@ -59,10 +59,10 @@
                 </el-pagination>
               </div>
             </div>
-            <Empty v-show="showEmpty">
+            <Empty v-show="showEmpty" :images="require('@/assets/images/empty/jy-back.png')">
               <div name="default">{{showTips}}</div>
               <el-button
-                v-if="client.followTotal == 0"
+                v-if="client.followTotal === 0"
                 class="add-btn"
                 type="primary"
                 slot="button"
@@ -100,7 +100,7 @@ export default {
       value: '',
       loading: true,
       client: {
-        followTotal: '',
+        followTotal: 0,
         total: 0,
         list: [],
         pageSize: 10,
@@ -138,7 +138,6 @@ export default {
         keyword: this.value
       }).then(res => {
         if (res.error_code === 0 && res.data) {
-          this.loading = false
           res.data.list.forEach(v => {
             if (v.followdate) {
               v.followdate = v.followdate.replace(/\//g, '-')
@@ -148,6 +147,7 @@ export default {
           this.client.total = res.data.count
           this.client.followTotal = res.data.total
         }
+        this.loading = false
       })
     },
     enterKeydown () {

+ 3 - 3
src/views/portrayal/EntPortrayal.vue

@@ -34,17 +34,17 @@
             <div v-show="navFixed" style="height:80px;"></div>
             <EntForm :id="eId" @entname="entname"></EntForm>
             <EntHistoryForm v-if="showConf12" :id="eId" key="history"></EntHistoryForm>
+            <ContactList v-if="showContact" name="winner" titlename="企业通讯录"></ContactList>
             <div v-else key="history">
-              <MaskCard @click="openBigPage(EntHistoryTip)" k="企业情报历史记录" :item="EntHistoryTip"></MaskCard>
+              <MaskCard @click="openBigPage(EntHistoryTip)" k="企业通讯录" :item="EntHistoryTip"></MaskCard>
             </div>
-            <ContactList v-if="showContact" name="winner" titlename="企业通讯录"></ContactList>
           </div>
           <div id="chartInfo" class="tab-content-item">
             <!-- 占位dom 解决锚点tab有fixed定位 scrollview位置会偏移 同时作为tab1和tab2的间距 -->
             <div style="height:80px;"></div>
             <div>
               <div class="bidcomp">
-                <BidInfoActive></BidInfoActive>
+                <BidInfoActive title="中标信息"></BidInfoActive>
               </div>
               <div class="pro_info">
                 <ul class="pro_info_ul">

+ 24 - 6
src/views/portrayal/UnitPortrayal.vue

@@ -20,7 +20,15 @@
           </div>
         </div>
       </div>
+      <!-- 采购单位通讯录 -->
+      <ContactList name="buyer" titlename="采购单位通讯录" style="padding:32px 40px 0;" v-if="canShowHistoryContact"></ContactList>
+      <div class="mask-bg-group" v-else>
+        <MaskCard @click="openBigPage('采购单位通讯录', getEntContactMap)" k="采购单位通讯录 " :key="'采购单位通讯录' + getEntContactMap.button + getEntContactMap.title" :item="getEntContactMap"></MaskCard>
+      </div>
       <div class="unit-info">
+        <div class="bidcomp">
+          <BidInfoActive title="采购单位分析"></BidInfoActive>
+        </div>
         <div class="u-i-box">
           <div class="b-item">
             <span>{{ info.buyerCount }}</span>
@@ -47,11 +55,6 @@
       </div>
       <!-- 招标动态 -->
       <unit-list v-on:list="getList" @click="openCheckPop"></unit-list>
-      <!-- 历史项目联系方式 -->
-      <ContactList name="buyer" titlename="采购单位通讯录" style="padding:32px 40px 0;" v-if="canShowHistoryContact"></ContactList>
-      <div class="mask-bg-group" v-else>
-        <MaskCard @click="openBigPage('历史项目联系方式', getEntContactMap)" k="历史项目联系方式 " :key="'历史项目联系方式' + getEntContactMap.button + getEntContactMap.title" :item="getEntContactMap"></MaskCard>
-      </div>
       <unit-chart v-on:baseInfo="getBaseInfo"></unit-chart>
       <div class="unit-big-upgrade-group" v-show="!canShowChart">
         <MaskCard @click="openBigPage(k, item)" v-for="(item, k) in bigUpgradeMap" :key="k + item.button + item.title"
@@ -72,6 +75,7 @@
 import Layout from '@/components/common/ContentLayout'
 import UnitChart from './components/UnitChart'
 import UnitList from './components/UnitList'
+import BidInfoActive from './components/BidInfoActive'
 import ContactList from '@/components/contact-info/ContactInfo'
 import MaskCard from '@/components/mask-card/MaskCard.vue'
 import CollectInfo from '@/components/collect-info/CollectInfo.vue'
@@ -93,6 +97,7 @@ export default {
     ContactList,
     MaskCard,
     CollectInfo,
+    BidInfoActive,
     [Dialog.name]: Dialog
   },
   data () {
@@ -371,6 +376,17 @@ export default {
 }
 </script>
 <style lang="scss" scoped>
+::v-deep{
+  .release_main{
+    position:relative;
+    .el-input__inner{
+      background: #fff;
+      cursor: pointer;
+      color: #1D1D1D;
+      font-size: 14px;
+    }
+  }
+}
 .icon_heart_gray,
 .icon_heart_red {
   margin-right: 4px;
@@ -390,6 +406,7 @@ export default {
 .unit-portrayal {
   // width: 1200px;
   .mask-bg-group {
+    margin-top: 16px;
     background: #fff;
     padding-top: 20px;
   }
@@ -534,7 +551,7 @@ export default {
 
   .unit-info {
     margin-top: 16px;
-    padding: 32px 40px;
+    padding: 32px;
     background: #fff;
   }
 
@@ -542,6 +559,7 @@ export default {
     display: flex;
     align-items: center;
     justify-content: space-between;
+    margin-top: 32px;
 
     .b-item {
       display: flex;

+ 130 - 102
src/views/portrayal/components/BidInfoActive.vue

@@ -2,11 +2,11 @@
   <div class="bidinfoactive">
     <div class="pro_active_head">
       <div class="pro_a_h_left">
-        <span>中标信息</span>
+        <span>{{title}}</span>
       </div>
       <div class="pro_a_h_right" v-show="noScreen" @click="screenShow">
         <span class="pro_screen">高级分析设置</span>
-        <img src="@/assets/images/icon/jyxiazh.png" class="pro_scr_img" />
+        <img src="@/assets/images/jyxia.png" :class="proScreenShow?'rotateClass':''" class="pro_scr_img" />
       </div>
     </div>
     <div class="pro_screen_list" v-show="proScreenShow">
@@ -23,7 +23,7 @@
             @focus="getFocus"
             @change="keySearch"
             v-model="ScreenParams.match">
-            <i slot="suffix" v-if="cancelShow" @click="cancelClick">
+            <i slot="suffix" v-if="cancelShow" @click="cancelClick('1')">
               <img style="width:12px;height:12px;ling-height:32px;cursor: pointer;" src="@/assets/images/icon/cancel.png" class="inputcancel" />
             </i>
           </el-input>
@@ -44,13 +44,9 @@
         </div>
       </div>
       <div class="release_infotype pro_r_list">
-        <InfoTypeSelect
-          ref="infoTypeSelect"
-          :initInfoType="infoTypeList"
-          @onChange="saveInfoTypeData"
-          selectorType = 'line'>
-          <div slot="header">信息类型:</div>
-        </InfoTypeSelect>
+        <IndustrySelector ref="industrySel" selectorType="line">
+          <div slot="header">行业:</div>
+        </IndustrySelector>
       </div>
       <div class="release_area pro_r_list">
         <AreaSelector
@@ -64,34 +60,37 @@
       <div class="release_time pro_r_list">
         <span class="list_label">分析年份:</span>
         <div class="release_container">
-          <div class="block">
-            <el-date-picker
-              :picker-options="{
-                disabledDate: (time) => {
-                  let minYear = new Date().getFullYear() - 4
-                  return time > Date.now() || time.getTime() < new Date(JSON.stringify(minYear))
-                }
-              }"
-              prefix-icon="before-icon"
-              size="small"
-              class="timePicker startPicker"
-              v-model="startYearRage"
-              type="year"
-              placeholder="选择年份">
-            </el-date-picker>
-          </div>
+          <el-popover
+            class="release_main"
+            popper-class="release_pover"
+            placement="bottom"
+            width="240"
+            trigger="click">
+            <template v-slot="content">
+              <ul class="yearul">
+                <li class="yearlist" @click="setAnalySisYear(item, 'start')" v-for="(item, index) in startYearRage" :key="index">{{item}}</li>
+              </ul>
+            </template>
+            <el-input size="small" :disabled="true" style="cursor: pointer;" v-model="ScreenParams.startyear" slot="reference" placeholder="请选择年份">
+            </el-input>
+            <img slot="reference" v-show="startYearShow" style="position:absolute;width:12px;height:12px;ling-height:32px;cursor: pointer;top:10px;right:10px;z-index:9999" src="@/assets/images/icon/cancel.png" @click="cancelClick('2')" class="inputcancel" />
+          </el-popover>
           <div class="rowline"></div>
-          <div class="block">
-            <el-date-picker
-              :picker-options="endYearRage"
-              prefix-icon="before-icon"
-              size="small"
-              class="timePicker endPicker"
-              v-model="ScreenParams.endyear"
-              type="year"
-              placeholder="选择年份">
-            </el-date-picker>
-          </div>
+          <el-popover
+            class="release_main"
+            popper-class="release_pover"
+            placement="bottom"
+            width="240"
+            trigger="click">
+            <template v-slot="content">
+              <ul class="yearul">
+                <li class="yearlist" @click="setAnalySisYear(item, 'end')" v-for="(item, index) in endYearRage" :key="index">{{item}}</li>
+              </ul>
+            </template>
+            <el-input size="small" :disabled="true" style="cursor: pointer;" v-model="ScreenParams.endyear" slot="reference" placeholder="请选择年份">
+            </el-input>
+            <img slot="reference" v-show="endYearShow" style="position:absolute;width:12px;height:12px;ling-height:32px;cursor: pointer;top:10px;right:10px;z-index:9999" src="@/assets/images/icon/cancel.png" @click="cancelClick('3')" class="inputcancel" />
+          </el-popover>
         </div>
       </div>
       <div class="bidinfo_footer">
@@ -104,15 +103,15 @@
 </template>
 
 <script>
-import { Pagination, RadioGroup, DatePicker, Radio, Input, Checkbox, CheckboxGroup } from 'element-ui'
+import { Pagination, RadioGroup, Popover, Radio, Input, Checkbox, CheckboxGroup } from 'element-ui'
 import { mapState } from 'vuex'
 import { infoTypeListExp, provinceListMapExp } from '@/assets/js/selector.js'
 import Empty from '@/components/common/Empty'
+import IndustrySelector from '@/components/selector/IndustrySelector.vue'
 import AreaSelector from '@/components/selector/AreaSelector.vue'
-import InfoTypeSelect from '@/components/selector/InfoTypeSelector'
 import { moneyUnit, dateFormatter } from '@/utils'
 export default {
-  props: ['projectData', 'type', 'screenList'],
+  props: ['projectData', 'type', 'title'],
   name: 'entproactive',
   components: {
     [Pagination.name]: Pagination,
@@ -121,9 +120,9 @@ export default {
     [Input.name]: Input,
     [Radio.name]: Radio,
     [RadioGroup.name]: RadioGroup,
-    [DatePicker.name]: DatePicker,
+    [Popover.name]: Popover,
     AreaSelector,
-    InfoTypeSelect,
+    IndustrySelector,
     Empty
   },
   data () {
@@ -138,7 +137,6 @@ export default {
       },
       isShow: false,
       getTimeList: [],
-      infoTypeList: [],
       checkList: ['项目名称/标的物'],
       proScreenShow: false,
       ScreenParams: {
@@ -156,23 +154,18 @@ export default {
       },
       cancelShow: false,
       optionModel: false,
-      startYearRage: {},
-      endYearRage: {}
+      startYearRage: [],
+      endYearRage: [],
+      startYearShow: false,
+      endYearShow: false
     }
   },
   created () {
     this.initData(this.projectData)
   },
   mounted () {
-    this.initScreenData(this.screenList)
   },
   computed: {
-    getList () {
-      if (this.type === 'analisisPage') {
-        return this.listState.list.slice((this.listState.pageNum - 1) * this.listState.pageSize, this.listState.pageNum * this.listState.pageSize)
-      }
-      return this.listState.list
-    },
     ...mapState({
       info: state => state.user.info
     }),
@@ -184,8 +177,23 @@ export default {
     projectData (newVal, oldVal) {
       this.initData(newVal)
     },
-    screenList (newVal, oldVal) {
-      this.initScreenData(newVal)
+    'ScreenParams.startyear': {
+      handler (newval) {
+        if (newval === '') {
+          this.startYearShow = false
+        } else {
+          this.startYearShow = true
+        }
+      }
+    },
+    'ScreenParams.endyear': {
+      handler (newval) {
+        if (newval === '') {
+          this.endYearShow = false
+        } else {
+          this.endYearShow = true
+        }
+      }
     }
   },
   methods: {
@@ -193,22 +201,17 @@ export default {
     dateFormatter,
     initData (obj) {
       // 处理可选年份
-      // const nowYear = new Date().getFullYear()
-      // for (let i = nowYear - 4; i <= nowYear; i++) {
-      //   this.startYearRage.push(i)
-      // }
-      if (obj.proActiveList && obj.proActiveList.length !== 0) {
-        this.listState.list = obj.proActiveList
-        this.listState.total = obj.count
-        this.isShow = false
-      } else if (obj.buyerHistroyList && obj.buyerHistroyList !== 0) {
-        this.listState.list = obj.buyerHistroyList
-        this.listState.total = obj.buyerHistroyList.length
-        this.isShow = false
-      } else {
-        this.listState.list = []
-        this.listState.total = 0
-        this.isShow = true
+      const nowYear = new Date().getFullYear()
+      for (let i = nowYear - 4; i <= nowYear; i++) {
+        this.startYearRage.push(i)
+      }
+    },
+    setAnalySisYear (data, rage) {
+      if (rage === 'start') {
+        this.ScreenParams.startyear = data + '年'
+        this.endYearRage = this.startYearRage.slice(this.startYearRage.indexOf(data), this.startYearRage.length)
+      } else if (rage === 'end') {
+        this.ScreenParams.endyear = data + '年'
       }
     },
     // 处理可筛选数据
@@ -246,9 +249,6 @@ export default {
       setTimeout(() => {
         this.$refs.businessScopeSelector.setState(defaultArr)
       }, 1000)
-      // 信息类型
-      const infoTypeArr = this.getInitInfoType(data.infoType)
-      this.$refs.infoTypeSelect.initList(infoTypeArr)
       // 地区
       const areaArr = this.getInitArea(data.areaArr)
       this.$refs.areaSelector.initList(areaArr)
@@ -259,9 +259,15 @@ export default {
         this.cancelShow = true
       }
     },
-    cancelClick () {
-      this.ScreenParams.match = ''
-      this.cancelShow = false
+    cancelClick (data) {
+      if (data === '1') {
+        this.ScreenParams.match = ''
+        this.cancelShow = false
+      } else if (data === '2') {
+        this.ScreenParams.startyear = ''
+      } else if (data === '3') {
+        this.ScreenParams.endyear = ''
+      }
     },
     getInput () {
       if (this.ScreenParams.match.indexOf(' ') !== -1) {
@@ -340,12 +346,6 @@ export default {
     checkChangeList () {
       const checkBoxArr = []
       this.checkList.forEach((item) => {
-        if (item === '标题') {
-          checkBoxArr.push('title')
-        }
-        if (item === '正文') {
-          checkBoxArr.push('content')
-        }
         if (item === '项目/标的物') {
           checkBoxArr.push('purchasing')
         }
@@ -355,9 +355,6 @@ export default {
         if (item === '招标代理机构') {
           checkBoxArr.push('agency')
         }
-        if (item === '附件') {
-          checkBoxArr.push('file')
-        }
       })
       if (checkBoxArr.length > 0) {
         this.ScreenParams.matchType = checkBoxArr.join(',')
@@ -367,11 +364,6 @@ export default {
       this.resetListState()
       this.$emit('onScreenChange', this.ScreenParams)
     },
-    saveInfoTypeData (data) {
-      this.ScreenParams.infoType = data.join(',')
-      this.resetListState()
-      this.$emit('onScreenChange', this.ScreenParams)
-    },
     // 关键词搜索
     keySearch () {
       this.resetListState()
@@ -403,15 +395,45 @@ export default {
   .el-checkbox__input.is-focus .el-checkbox__inner{
     border-color:  #2cb7ca;
   }
+  .release_main{
+    position:relative;
+    .el-input__inner{
+      background: #fff;
+      cursor: pointer;
+      color: #1D1D1D;
+      font-size: 14px;
+    }
+  }
 }
 </style>
 <style lang="scss" scoped>
+.release_pover{
+  .yearul{
+    display: flex;
+    flex-wrap: wrap;
+    justify-content: flex-start;
+    .yearlist{
+      display: flex;
+      justify-content: center;
+      align-items: center;
+      width: 70px;
+      height: 46px;
+      cursor: pointer;
+      &:hover{
+        color: #2cb7ca;
+      }
+    }
+  }
+}
 .bidinfoactive{
   width: 856px;
   ::v-deep {
     .s-line .select-group-container{
       margin: 0;
     }
+    .s-header>div{
+      text-align: right;
+    }
   }
   .el-pagination-container{
     justify-content: center;
@@ -432,6 +454,7 @@ export default {
     line-height: 28px;
   }
   .pro_a_h_left{
+    position: relative;
     display: flex;
     align-items: center;
     .search-input{
@@ -439,6 +462,15 @@ export default {
       width: 240px;
       height: 30px;
     }
+    &::after{
+      content: '';
+      position: absolute;
+      left: -32px;
+      width: 3px;
+      height: 24px;
+      background: #2cb7ca;
+      border-radius: 0px 2px 2px 0px;
+    }
   }
   .pro_a_h_right{
     cursor: pointer;
@@ -447,13 +479,19 @@ export default {
       font-family: Microsoft YaHei, Microsoft YaHei-Regular;
       font-weight: 400;
       text-align: LEFT;
-      color: #2cb7ca;
+      color: #686868;
+      &:hover{
+        color: #2cb7ca;
+      }
     }
     .pro_scr_img{
       margin-left: 5px;
       width: 12px;
       // height: 12px;
     }
+    .rotateClass{
+      transform: rotate(180deg);
+    }
   }
   .pro_screen_list{
     margin-top: 16px;
@@ -477,17 +515,6 @@ export default {
           height: 1px;
           background: #e0e0e0;
         }
-        .timePicker {
-          ::v-deep .el-input__inner{
-            padding-left: 8px!important;
-            font-size: 14px;
-            font-family: Microsoft YaHei, Microsoft YaHei-Regular;
-            font-weight: 400;
-            text-align: LEFT;
-            color: #1d1d1d;
-            line-height: 22px;
-          }
-        }
       }
       .list_label{
         margin-right: 16px;
@@ -503,6 +530,7 @@ export default {
         display: flex;
         flex-direction: column;
         width: 100%;
+        flex: 1;
         .key_radio{
           margin-top: 16px;
         }

+ 37 - 2
src/views/portrayal/components/EntHistoryForm.vue

@@ -9,7 +9,7 @@
         <li class="ent_main_list" v-for="(item, index) in titleList" :key="index">{{item}}</li>
       </ul>
       <table class="ent_his_ul">
-        <tr class="ent_his_list" v-for="(item, index) in contents" :key="index" :class="item.long?'li_long':''">
+        <tr class="ent_his_list" v-for="(item, index) in slowContents" :key="index" :class="item.long?'li_long':''">
           <td class="ent_his_index inset_list">{{index+1}}</td>
           <td class="ent_his_time inset_list">{{item.times[0]}}</td>
           <td class="pro_content">
@@ -22,6 +22,10 @@
         </tr>
       </table>
     </div>
+    <div class="viewmore" v-if="showMore" @click="getMore">
+      <span>查看更多</span>
+      <img src="@/assets/images/icon/jyxiazh.png" alt="" />
+    </div>
   </div>
 </template>
 
@@ -35,7 +39,9 @@ export default {
   data () {
     return {
       titleList: ['序号', '变更日期', '变更项目', '变更前', '变更后'],
-      contents: []
+      contents: [],
+      slowContents: [],
+      showMore: true
     }
   },
   created () {
@@ -54,8 +60,20 @@ export default {
             }
             that.contents.push(dataArr)
           })
+          if (that.contents.length > 3) {
+            that.slowContents = that.contents.slice(0, 3)
+          } else {
+            this.showMore = false
+            that.slowContents = that.contents
+          }
+        } else {
+          this.showMore = false
         }
       })
+    },
+    getMore () {
+      this.slowContents = this.contents
+      this.showMore = false
     }
   }
 }
@@ -114,6 +132,23 @@ export default {
       }
     }
   }
+  .viewmore{
+    width: 100%;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    margin-top: 16px;
+    color: #2CB7CA;
+    font-size: 14px;
+    font-weight: 400;
+    line-height: 22px;
+    cursor: pointer;
+    img{
+      margin-left: 4px;
+      width: 12px;
+      height: 8px;
+    }
+  }
   .ent_his_ul{
     display: flex;
     flex-direction: column;