SizePagination.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. // /**
  2. // * 可以修改页面显示总数的分页组件。其中页面总数修改以后,会缓存在localstorage中,再次打开界面会记住,并恢复该数量。
  3. // */
  4. // <template>
  5. // <div>
  6. // <div class="table-header-left">
  7. // <span>第
  8. // {{ (pagination.current_page - 1) * pagination.per_page + 1 }}
  9. // -
  10. // {{pagination.current_page*pagination.per_page}}
  11. // 条,共计
  12. // {{pagination.total}}
  13. // 条,每页
  14. // </span>
  15. // <select class="pagesize-select form-control"
  16. // id="gridSizeSelect"
  17. // v-model="pageSize">
  18. // <option value="10">10</option>
  19. // <option value="20">20</option>
  20. // <option value="50">50</option>
  21. // <option value="100">100</option>
  22. // <option value="200">200</option>
  23. // <option value="500">500</option>
  24. // </select>
  25. // <span>
  26. // 条
  27. // </span>
  28. // </div>
  29. // <div class="table-header-right">
  30. // <Pagination v-if="pagination.last_page > 0"
  31. // :pagination="pagination"
  32. // :callback="callback"></Pagination>
  33. // </div>
  34. // </div>
  35. // </template>
  36. // <script>
  37. // // 外部可以注册事件pageSizeChanged
  38. // import Pagination from "vue-bootstrap-pagination";
  39. // export default {
  40. // name: "SizePagination",
  41. // /**
  42. // * @property { 字符串 } localStoragePageName 控件名称,分页参数会以 ${localStoragePageName} 为key存储在 localStorage 中。
  43. // * @property { object } value
  44. // * {
  45. // * currentPage : 当前所在的页面(从1开始),正整数
  46. // * perPage : 页面显示的数量
  47. // * total : 总数量
  48. // * }
  49. // * @property {字符串} size: 分页组件的大小,可选值:large、small、空
  50. // */
  51. // props: [localStoragePageName, value, size],
  52. // data: function () {
  53. // return {
  54. // mPagination: {
  55. // per_page: Common.pageSize, // required
  56. // current_page: 1, // required
  57. // last_page: 0, // required
  58. // total: 0,
  59. // },
  60. // pageSize: 20
  61. // }
  62. // },
  63. // components: {
  64. // Pagination
  65. // },
  66. // methods: {
  67. // /**
  68. // * 当页面数量、
  69. // */
  70. // callback: function () {
  71. // // 每页显示的数量
  72. // // 当前页数
  73. // }
  74. // },
  75. // mounted: function () {
  76. // if (this.value != null) {
  77. // this.mPagination = {
  78. // per_page:
  79. // }
  80. // }
  81. // },
  82. // watch: {
  83. // pageSize: function (newValue, oldValue) {
  84. // let newPagination = {};
  85. // Object.assign(newPagination, this.value, { per_page: newValue });
  86. // this.$emit("input", newValue);
  87. // }
  88. // }
  89. // }
  90. // </script>
  91. // <style scoped>
  92. // .page-box {
  93. // display: flex;
  94. // flex-direction: row;
  95. // flex-wrap: wrap;
  96. // justify-content: space-between;
  97. // align-items: center;
  98. // }
  99. // .page-item-left {
  100. // order: 1;
  101. // flex-basis: auto;
  102. // }
  103. // .page-item-right {
  104. // order: 2;
  105. // flex-basis: auto;
  106. // flex-shrink: 0;
  107. // }
  108. // .pagesize-select {
  109. // display: inline !important;
  110. // width: 70px !important;
  111. // float: none !important;
  112. // }
  113. // </style>