|
|
@@ -59,40 +59,7 @@
|
|
|
<p>这里很干净!</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <!-- pagination start -->
|
|
|
- <div class="x-mod-footer">
|
|
|
- <div class="text-center" v-if="userList.length > 0">
|
|
|
- <!-- 0 < page <= 8 -->
|
|
|
- <ul class="pagination pull-right" v-if="showFirstKindPageNumbersBar">
|
|
|
- <li v-if="pageParams.page > 1"><a @click="jumpPage(pageParams.page - 1)">上一页</a></li>
|
|
|
- <li :class="{active: 1 === pageParams.page}"><a role="page" @click="jumpPage(1)">1</a></li>
|
|
|
- <li v-for="num in numbersOnePage" :class="{active: num === pageParams.page}"><a role="page" @click="jumpPage(num)">{{num}}</a></li>
|
|
|
- <li v-if="totalPages > 8"><a>...</a></li>
|
|
|
- <li v-if="totalPages > 8"><a v-text="totalPages" @click="jumpPage(totalPages)"></a></li>
|
|
|
- <li v-if="pageParams.page < totalPages"><a @click="jumpPage(pageParams.page + 1)">下一页</a></li>
|
|
|
- </ul>
|
|
|
- <!-- 8 < page <= (totalPages - totalPages % 8) -->
|
|
|
- <ul class="pagination pull-right" v-if="showSecondKindPageNumbersBar">
|
|
|
- <li v-if="pageParams.page > 1"><a @click="jumpPage(pageParams.page - 1)">上一页</a></li>
|
|
|
- <li><a role="page" @click="jumpPage(1)">1</a></li>
|
|
|
- <li><a>...</a></li>
|
|
|
- <li v-for="num in numbersOnePage" :class="{active: num === pageParams.page}"><a role="page" @click="jumpPage(num)">{{num}}</a></li>
|
|
|
- <li><a>...</a></li>
|
|
|
- <li><a role="page" @click="jumpPage(totalPages)">{{totalPages}}</a></li>
|
|
|
- <li v-if="pageParams.page < totalPages"><a @click="jumpPage(pageParams.page + 1)">下一页</a></li>
|
|
|
- </ul>
|
|
|
- <!-- (totalPages - totalPages % 8) < page <= totalPages -->
|
|
|
- <ul class="pagination pull-right" v-if="showThirdKindPageNumbersBar">
|
|
|
- <li v-if="pageParams.page > 1"><a @click="jumpPage(pageParams.page - 1)">上一页</a></li>
|
|
|
- <li><a role="page" @click="jumpPage(1)">1</a></li>
|
|
|
- <li><a>...</a></li>
|
|
|
- <li v-for="num in numbersOnePage" :class="{active: num === pageParams.page}"><a role="page" @click="jumpPage(num)">{{num}}</a></li>
|
|
|
- <!--<li><a role="page">{{totalPages}}</a></li>-->
|
|
|
- <li v-if="pageParams.page < totalPages"><a @click="jumpPage(pageParams.page + 1)">下一页</a></li>
|
|
|
- </ul>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <!-- pagination end -->
|
|
|
+ <page-bar :pageParams="pageParams" :totalPages="totalPages" :total="totalElements" @changePage="jumpPage"/>
|
|
|
</div>
|
|
|
<!-- 列表 end -->
|
|
|
</div>
|
|
|
@@ -178,11 +145,13 @@
|
|
|
<script>
|
|
|
import _ from 'lodash'
|
|
|
import axios from '@/assets/js/axios'
|
|
|
+import PageBar from '@/components/common/PageBar'
|
|
|
import UserEditModal from './modal/UserEditModal'
|
|
|
|
|
|
export default {
|
|
|
name: 'AppHome',
|
|
|
components: {
|
|
|
+ PageBar,
|
|
|
UserEditModal
|
|
|
},
|
|
|
data () {
|
|
|
@@ -196,49 +165,11 @@ export default {
|
|
|
showSearch: false,
|
|
|
userList: [],
|
|
|
totalPages: 1,
|
|
|
+ totalElements: 0,
|
|
|
showModal: false,
|
|
|
selectedUser: {}
|
|
|
}
|
|
|
},
|
|
|
- computed: {
|
|
|
- lastPageNumber () {
|
|
|
- return this.totalPages % 8 !== 0 ? this.totalPages - this.totalPages % 8 : this.totalPages - 8
|
|
|
- },
|
|
|
- showFirstKindPageNumbersBar () {
|
|
|
- if (this.totalPages <= 8) {
|
|
|
- return true
|
|
|
- }
|
|
|
- return this.pageParams.page > 0 && this.pageParams.page <= 8
|
|
|
- },
|
|
|
- showSecondKindPageNumbersBar () {
|
|
|
- if (this.totalPages <= 16) {
|
|
|
- return false
|
|
|
- }
|
|
|
- return this.pageParams.page > 8 && this.pageParams.page <= this.lastPageNumber
|
|
|
- },
|
|
|
- showThirdKindPageNumbersBar () {
|
|
|
- if (this.totalPages <= 8) {
|
|
|
- return false
|
|
|
- }
|
|
|
- return this.pageParams.page > this.lastPageNumber && this.pageParams.page <= this.totalPages
|
|
|
- },
|
|
|
- numbersOnePage () {
|
|
|
- const page = this.pageParams.page - 1
|
|
|
-
|
|
|
- if (this.pageParams.page > 0 && this.pageParams.page <= 8) {
|
|
|
- const max = this.totalPages > 8 ? 9 : this.totalPages + 1
|
|
|
- return _.range(2, max)
|
|
|
- }
|
|
|
- if (this.pageParams.page > 8 && this.pageParams.page <= this.lastPageNumber) {
|
|
|
- const min = page - page % 8
|
|
|
- return _.range(min + 1, min + 1 + 8)
|
|
|
- }
|
|
|
- if (this.pageParams.page > this.lastPageNumber && this.pageParams.page <= this.totalPages) {
|
|
|
- const min = page - page % 8
|
|
|
- return _.range(min + 1, this.totalPages + 1)
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
created () {
|
|
|
this.fetchData()
|
|
|
},
|
|
|
@@ -256,6 +187,7 @@ export default {
|
|
|
const success = page => {
|
|
|
this.userList = page.content || []
|
|
|
this.totalPages = page.totalPages
|
|
|
+ this.totalElements = page.totalElements
|
|
|
}
|
|
|
const error = response => {
|
|
|
console.log('error', response)
|
|
|
@@ -275,7 +207,6 @@ export default {
|
|
|
this.pageParams.phone = ''
|
|
|
},
|
|
|
jumpPage (page) {
|
|
|
- console.log('page', page)
|
|
|
if (!page || page <= 0) {
|
|
|
this.pageParams.page = 1
|
|
|
} else if (page > this.totalPages) {
|
|
|
@@ -295,6 +226,6 @@ export default {
|
|
|
</script>
|
|
|
|
|
|
<!-- Add "scoped" attribute to limit CSS to this component only -->
|
|
|
-<style scoped>
|
|
|
+<style>
|
|
|
|
|
|
</style>
|