list.js 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. /*
  2. * @Author: zzy6937@qq.com
  3. * @Date: 2019-08-08 09:07:21
  4. * @LastEditors: zwy
  5. * @LastEditTime: 2021-03-10 14:10:41
  6. * @Description:
  7. */
  8. export default {
  9. data() {
  10. return {
  11. mixins_page: {
  12. pageNum: 1,
  13. pageSize: 15
  14. },
  15. mixins_list: [],
  16. mixins_pageset: {
  17. total: 0,
  18. pageNum: 1,
  19. pageSize: 15,
  20. sortColumn: null, // 当前列的字段
  21. sortOrder: null // 排序方式 顺序:ASC 倒序:DESC
  22. },
  23. mixins_dataUrl: '',
  24. mixins_query: {},
  25. mixins_onQuery: true
  26. };
  27. },
  28. methods: {
  29. sortChange(obj) {
  30. if (obj) {
  31. this.mixins_pageset.sortColumn = obj.prop;
  32. this.mixins_pageset.sortOrder = obj.order;
  33. this.getList();
  34. }
  35. },
  36. pageChange(obj) {
  37. if (obj.pageSize) {
  38. this.mixins_pageset.pageSize = obj.pageSize;
  39. }
  40. if (obj.page) {
  41. this.mixins_pageset.pageNum = obj.page;
  42. }
  43. this.getList();
  44. },
  45. getList() {
  46. if (!this.mixins_dataUrl) {
  47. this.mixins_onQuery = false;
  48. return;
  49. }
  50. let data = Object.assign({}, this.mixins_pageset, this.mixins_query);
  51. this.mixins_onQuery = true;
  52. delete data.total;
  53. this.$http
  54. .get(this.mixins_dataUrl, data)
  55. .then(({ status, data: { list = [], total = 0 }, msg }) => {
  56. this.mixins_onQuery = false;
  57. if (0 === status) {
  58. this.mixins_list = list;
  59. this.mixins_pageset.total = total * 1;
  60. } else {
  61. this.$message.error(msg);
  62. }
  63. })
  64. .catch(() => {
  65. this.mixins_onQuery = false;
  66. });
  67. },
  68. // 搜索时,把搜索页重置为1
  69. mixins_search(type) {
  70. if (type == 'del') {
  71. if (this.mixins_pageset.total % this.mixins_pageset.pageSize === 1) {
  72. this.mixins_pageset.pageNum = this.mixins_pageset.pageNum > 1 ? this.mixins_pageset.pageNum - 1 : 1;
  73. } else {
  74. // eslint-disable-next-line no-self-assign
  75. this.mixins_pageset.pageNum = this.mixins_pageset.pageNum;
  76. }
  77. } else if (type == 'refresh') {
  78. // eslint-disable-next-line no-self-assign
  79. this.mixins_pageset.pageNum = this.mixins_pageset.pageNum;
  80. } else {
  81. this.mixins_pageset.pageNum = 1;
  82. }
  83. this.getList();
  84. }
  85. }
  86. };