Forráskód Böngészése

perf: 处理分面列表问题

wangcz 6 éve
szülő
commit
7bb8c9603c

+ 5 - 2
components/common/page/pageComponent.vue

@@ -22,13 +22,16 @@
     },
     watch: {
       current: function () {
-        this.handleCurrentChange()
+        this.nowPage = Number(this.current)
+        this.currentPage = this.nowPage
       }
     },
     props: ['current', 'total', 'pageSize'],
     methods: {
       handleCurrentChange: function (changedPage) {
-        this.$emit('childEvent', changedPage)
+        if (this.nowPage !== this.currentPage) {
+          this.$emit('childEvent', changedPage)
+        }
       }
     }
   }

+ 20 - 10
pages/cloudcenter/enterprise/index.vue

@@ -30,9 +30,6 @@
               </tbody>
             </table>
             <div style="text-align: center;color:#333;height:100px;line-height: 100px;" v-if="member.content.length === 0">暂时没有成员列表哦!</div>
-            <page :total="member.totalElements" :page-size="count"
-                  :current="page" @childEvent="handleMemberChange">
-            </page>
           </div>
         </div>
       </div>
@@ -76,12 +73,12 @@
               </tbody>
             </table>
             <div style="text-align: center; color:#333;height:100px;line-height: 100px;" v-if="apple.content.length === 0">现在没有需要处理的加入申请!</div>
-            <page :total="apple.totalElements" :page-size="count"
-                  :current="page" @childEvent="handleApplyChange">
-            </page>
           </div>
         </div>
       </div>
+      <page :total="totalElement" :page-size="count"
+            :current="page" @childEvent="handleChange">
+      </page>
     </template>
     <template>
       <el-dialog class="center"
@@ -143,20 +140,25 @@
       },
       member () {
         return this.$store.state.cloudCenter.member.data.content
+      },
+      totalElement () {
+        return !this.toggle ? this.apple.totalElements : this.member.totalElements
       }
     },
     methods: {
       toggleClick (type) {
+        this.page = 1
         if(type) {
           if(this.user.userspace.admin.userUU === this.user.user.userUU) {
             this.toggle = !this.toggle
-            this.handleApplyChange(1)
+            this.handleApplyChange(this.page)
           } else {
             this.isToggleDialogVisible = true
           }
         } else {
           this.toggle = !this.toggle
-          this.handleMemberChange(1)
+
+          this.handleMemberChange(this.page)
         }
       },
       bingEnterpriseClick: function () {
@@ -169,6 +171,14 @@
       handleApplyChange: function (page) {
         this.$store.dispatch('loadApplyList', {page: page, size: this.count})
       },
+      handleChange (page) {
+        this.page = page
+        if(!this.toggle) {
+          this.handleApplyChange(page)
+        } else {
+          this.handleMemberChange(page)
+        }
+      },
       handleMemberChange: function (page) {
         this.$store.dispatch('loadMemberList', {page: page, size: this.count})
       },
@@ -184,7 +194,7 @@
             .then(res => {
               if (res.data.success) {
                 this.page = 1
-                this.handleApplyChange(1)
+                this.handleApplyChange(this.page)
                 this.$message({
                   message: '操作成功',
                   type: 'success'
@@ -199,7 +209,7 @@
             .then(res => {
               if (res.data.success) {
                 this.page = 1
-                this.handleApplyChange(1)
+                this.handleApplyChange(this.page)
                 this.$message({
                   message: '操作成功',
                   type: 'success'