Page.vue 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <template >
  2. <div v-loading="loading">
  3. <el-form :inline="true" :model="formInline" class="demo-form-inline">
  4. <el-form-item label="姓名:">
  5. <el-input v-model="formInline.name" placeholder="姓名"></el-input>
  6. </el-form-item>
  7. <el-form-item label="年龄:">
  8. <el-input v-model="formInline.age" label="年龄"></el-input>
  9. </el-form-item>
  10. <el-form-item>
  11. <el-button type="primary" @click="onSelect" :loading="loading">查询</el-button>
  12. </el-form-item>
  13. </el-form>
  14. <el-table :data="tableData" border style="width: 100%">
  15. <el-table-column prop="name" label="姓名"></el-table-column>
  16. <el-table-column prop="age" label="年龄"></el-table-column>
  17. </el-table>
  18. <el-pagination
  19. background
  20. layout="sizes,prev, pager, next"
  21. :page-sizes="[5, 10, 15, 20]"
  22. :total="totalCount"
  23. :current-page="pageIndex"
  24. :page-size="pageSize"
  25. @current-change="currentChange"
  26. @size-change="sizeChange"
  27. ></el-pagination>
  28. </div>
  29. </template>
  30. <script>
  31. export default {
  32. data() {
  33. return {
  34. loading: true,
  35. pageIndex: 1,
  36. pageSize: 5,
  37. formInline: {
  38. name: "",
  39. age: ""
  40. },
  41. tableData: [],
  42. totalCount: 0
  43. };
  44. },
  45. mounted() {
  46. this.onSelect();
  47. },
  48. methods: {
  49. onSelect() {
  50. this.loading = true;
  51. this.$http
  52. .get(
  53. `https://localhost:5001/api/User/GetUsers?name=${this.formInline.name}&age=${this.formInline.age}&pageIndex=${this.pageIndex}&pageSize=${this.pageSize}`
  54. )
  55. .then(response => {
  56. window.console.log(response);
  57. this.tableData = response.data.data;
  58. this.totalCount = response.data.totalCount;
  59. this.loading = false;
  60. })
  61. .catch(e => {
  62. this.$message({
  63. message: "网络或程序异常!" + e,
  64. type: "error"
  65. });
  66. this.loading = false;
  67. });
  68. },
  69. currentChange(val) {
  70. window.console.log(`当前页: ${val}`);
  71. this.pageIndex = val;
  72. this.onSelect();
  73. },
  74. sizeChange(val) {
  75. window.console.log(`每页 ${val} 条`);
  76. this.pageSize = val;
  77. this.onSelect();
  78. }
  79. }
  80. };
  81. </script>