首页 > 其他分享 >elementUI使用分页器以及搜索条件

elementUI使用分页器以及搜索条件

时间:2023-08-18 11:12:16浏览次数:41  
标签:const 分页 elementUI dateTime 搜索 response formInline data page

<template>
  <div>
    <!--    搜索-->
    <div style="float: left">
      <el-form :inline="true" :model="formInline" class="demo-form-inline" size="mini">
        <el-form-item label="操作用户">
          <el-input v-model="formInline.name" placeholder="操作人"></el-input>
        </el-form-item>
        <el-form-item label="操作页面">
          <el-select v-model="formInline.pages" placeholder="选择操作页面">
            <el-option label="区域一" value="shanghai"></el-option>
            <el-option label="区域二" value="beijing"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="处理方式">
          <el-select v-model="formInline.operator" placeholder="选择处理方式">
            <el-option label="删除" value="删除"></el-option>
            <el-option label="更新" value="更新"></el-option>
            <el-option label="新增" value="新增"></el-option>
          </el-select>
        </el-form-item>
        <el-form-item label="活动时间">
          <el-col :span="11">
            <el-form-item prop="date1">
              <el-date-picker type="date" placeholder="开始日期" v-model="formInline.date1"
                              format="yyyy 年 MM 月 dd 日"
                              value-format="yyyy-MM-dd"
                              style="width: 100%;"></el-date-picker>
            </el-form-item>
          </el-col>
          <el-col class="line" :span="2">-</el-col>
          <el-col :span="11">
            <el-form-item prop="date2">
              <el-date-picker type="date" placeholder="结束日期" v-model="formInline.date2"
                              format="yyyy 年 MM 月 dd 日"
                              value-format="yyyy-MM-dd"
                              style="width: 100%;"></el-date-picker>
            </el-form-item>
          </el-col>
        </el-form-item>

        <el-form-item>
          <el-button type="primary" @click="onSubmit">查询</el-button>
        </el-form-item>
      </el-form>

    </div>

    <!--    展示-->
    <div>
      <el-table
          :data="tableData"
          stripe
          style="width: 100%">
        <el-table-column label="操作时间" width="400">
          <template v-slot="scope">
            {{ formatDateTime(scope.row.date) }}
          </template>
        </el-table-column>
        <el-table-column
            prop="name"
            label="操作用户"
            width="300"
        >
        </el-table-column>
        <el-table-column
            prop="operator"
            label="操作方式"
            width="300">
        </el-table-column>
        <el-table-column
            prop="page"
            label="操作页面">
        </el-table-column>
      </el-table>
    </div>
    <br><br>
    <div>
      <el-pagination
          background
          @current-change="handlePageChange"
          @size-change="handleSizeChange"
          :current-page="currentPage"
          :page-sizes="[10, 20, 50, 100]"
          :page-size="pageSize"
          :total="total"
          layout="total, sizes, prev, pager, next, jumper"
      ></el-pagination>
    </div>
  </div>

</template>

<script>
import axios from "axios";
import {showError, showSuccess} from "@/api/api";

export default {
  name: "OperationRecords",
  data() {
    return {
      formInline: {
        user: '',
        region: ''
      },
      tableData: [{}],
      currentPage: 1,
      pageSize: 10,
      total: 0,


    }
  },


  mounted() {
    this.getRecords();
  },

  methods: {
    onSubmit() {
      this.currentPage=1
      this.getRecords();
    },

    getRecords() {
      const params = {
        limit: this.pageSize,
        page: this.currentPage,
        name: this.formInline.name,
        pages: this.formInline.pages,
        operator: this.formInline.operator,
        date1: this.formInline.date1,
        date2: this.formInline.date2
      };
      axios.get(this.$webSite + '/api/records_api/', {params}).then(response => {
        if (response.data.code === 200) {
          showSuccess(response.data.msg)
          this.tableData = response.data.data.items;
          this.total = response.data.data.total;
        } else {
          showError(response.data.msg)
        }
      }).catch(error => {
        console.log(error)
        showError("请求错误,请联系管理员处理!")
      })
    },

    // 换页
    handlePageChange(page) {
      this.currentPage = page;
      this.getRecords();
    },
    // 换页显示条数
    handleSizeChange(page) {
      this.pageSize = page;
      this.getRecords();
    },

    // 格式化日期显示
    formatDateTime(dateTimeStr) {
      const dateTime = new Date(dateTimeStr);
      const year = dateTime.getFullYear();
      const month = dateTime.getMonth() + 1;
      const day = dateTime.getDate();
      const hour = String(dateTime.getHours()).padStart(2, '0');
      const minute = String(dateTime.getMinutes()).padStart(2, '0');
      const second = String(dateTime.getSeconds()).padStart(2, '0');
      return `${year}年${month}月${day}日 ${hour}:${minute}:${second}`;
    },

  }
}
</script>

<style scoped>

</style>

 

说明:

本页面是一个数据展示及搜索共用页面,默认展示和搜索均为get 同一接口,需要注意的是在submit进行查询时,要先把current_page置为1,否则搜索结果不足当前页数时会报错!

标签:const,分页,elementUI,dateTime,搜索,response,formInline,data,page
From: https://www.cnblogs.com/lytcreate/p/17639878.html

相关文章

  • ElementUI——vue2+element-ui 2.x的动态表格和表单
    前言一个基于vue2.x+element-ui2.x版本的项目,里面都是CURD的东西,但是前人并未封装组件,而是直接CV,现在要新增一个大模块的功能,就想着封装个组件,后面再基于这个组件对老项目进行改造;虽然是一个大模块,但是功能还是比较简单的,结构如下;内容?>这纯粹是个简单的DEMO,如果你需要......
  • 基于 Easysearch kNN 搭建即时图片搜索服务
    环境准备启动 Easysearch 服务:#Makesureyourvm.max_map_countmeetstherequirementsudosysctl-wvm.max_map_count=262144dockerrun-it--rm-p9200:9200\-e"discovery.type=single-node"\-eES_JAVA_OPTS="-Xms512m-Xmx512m"\......
  • 打印时页面分页导致样式割裂的问题
    page-break-inside:avoid page-break-inside可以使用的属性 auto默认。如果必要则在元素内部插入分页符。avoid避免在元素内部插入分页符。inherit规定应该从父元素继承page-break-inside属性的设置。 ......
  • 【剑指Offer】62、二叉搜索树的第k个结点
    【剑指Offer】62、二叉搜索树的第k个结点题目描述:给定一棵二叉搜索树,请找出其中的第k小的结点。例如(5,3,7,2,4,6,8)中,按结点数值大小顺序第三小结点的值为4。解题思路:本题实际上比较简单,主要还是考察对树的遍历的理解,只要熟练掌握了树的三种遍历方式及其特点,解决本题并不复杂,很明显......
  • 普通二叉搜索树剖析
    二叉搜索树概述二叉搜索树是一种具有特殊性质的二叉树。二叉搜索树可以是一棵空树,若不为空树,其:若左子树不为空,则左子树所有的节点值小于根节点值;若右子树不为空,则右子树所有的节点值大于根节点值。与二叉树一样,二叉搜索树也是递归定义的,二叉搜索树的左右子树都是二叉搜索树。二叉搜......
  • 基础算法之搜索与回溯算法C++
    1、组合的输出【题目描述】排列与组合是常用的数学方法,其中组合就是从n个元素中抽出r个元素(不分顺序且r≤n),我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取r个数。现要求你用递归的方法输出所有组合。例如n=5,r=3,所有组合为:12312412513413514523......
  • ubuntu 下 GCC/G++ 的 include 搜索路径查看与设置
    https://blog.csdn.net/quicmous/article/details/106790319 一、如何查看include搜索路径输入如下命令:>echo'main(){}'|gcc-E-v-1显示结果如下:Usingbuilt-inspecs.COLLECT_GCC=gccOFFLOAD_TARGET_NAMES=nvptx-noneOFFLOAD_TARGET_DEFAULT=1Target:x86_64-linux-gn......
  • 力扣-搜索插入元素
    给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(logn) 的算法。 示例1:输入:nums=[1,3,5,6],target=5输出:2示例 2:输入:nums=[1,3,5,6],target=2输出:1示......
  • 分页工具之【PageHelper】
    1.PageHelper技术依赖<!--PageHelper--><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>5.1.2</version></......
  • 济南 CSP-J 刷题营 Day2 搜索
    SolutionT1排列计数原题链接4077:排列计数简要思路直接用next_permutation枚举全排列计算答案即可。完整代码#include<bits/stdc++.h>#defineintlonglong#defineendl'\n'usingnamespacestd;intn,k;inta[100];intans;//可能的答案数量signedmain(){......