Переглянути джерело

fix: 修正列表无数据展示及参数传递

zhangyuhan 4 роки тому
батько
коміт
8426d5c490
1 змінених файлів з 27 додано та 9 видалено
  1. 27 9
      src/components/push-list/PushList.vue

+ 27 - 9
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 class="sub-manager" type="plain" icon="el-icon-jy-edit">订阅管理</el-button>
+      <el-button @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,10 +13,15 @@
         @onClick="toDetail(item)"
       />
       <empty v-if="showEmpty">
-        <span>订阅关键词,接收最新招投标信息</span>
-        <div class="add-key-button">
-          <span class="icon-chahao"></span>
-          <span class="button-text">订阅关键词</span>
+        <div v-if="isAllFirst">
+          <span>订阅关键词,接收最新招投标信息</span>
+          <div class="add-key-button">
+            <span class="icon-chahao"></span>
+            <span class="button-text">订阅关键词</span>
+          </div>
+        </div>
+        <div v-else>
+          <span>暂时无历史推送记录</span>
         </div>
       </empty>
     </div>
@@ -71,10 +76,14 @@ export default {
   computed: {
     showEmpty () {
       return this.listState.list.length === 0 && this.listState.loaded
+    },
+    getFilters () {
+      return this.filters
     }
   },
   data () {
     return {
+      isAllFirst: false,
       listState: {
         loaded: true, // 是否已经搜索过
         loading: false,
@@ -89,6 +98,10 @@ export default {
     this.doQuery()
   },
   methods: {
+    goManage () {
+      alert('订阅管理')
+      // this.$router.push('')
+    },
     // 恢复数据至第一次请求的状态(页码等)
     resetListState () {
       const state = {
@@ -108,17 +121,22 @@ export default {
       const query = {
         pagenum: this.listState.pageNum,
         pageSize: this.listState.pageSize,
-        area: this.filters.area,
-        time: this.filters.time
+        area: this.getFilters.area,
+        time: this.getFilters.time
       }
 
       if (filters && Object.keys(filters).length > 0) {
-        query.area = filters.area
-        query.time = filters.time
+        filters.area && (query.area = filters.area)
+        filters.time && (query.time = filters.time)
       }
 
       this.listState.loading = true
       this.listState.loaded = false
+      // 判断是否无筛选条件
+      this.isAllFirst = false
+      if (query.pagenum === 1 && query.area === '' && query.time === '') {
+        this.isAllFirst = true
+      }
       const res = await getPushList(query)
       this.listState.loading = false
       this.listState.loaded = true