其他分享
首页 > 其他分享> > vue+element+echarts常用组件1、(面包屑、操作区、表格),方便快速搭建页面

vue+element+echarts常用组件1、(面包屑、操作区、表格),方便快速搭建页面

作者:互联网

  1、面包屑,页面上方使用
 1   <el-row style>
 2       <el-breadcrumb
 3         separator-class="el-icon-arrow-right"
 4         style="
 5           margin-left: 2%;
 6           vertical-align: middle;
 7           height: 30px;
 8           line-height: 30px;
 9         "
10       >
11         <el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
12         <el-breadcrumb-item>{{ typeName1 }}</el-breadcrumb-item>
13         <el-breadcrumb-item>{{ typeName }}</el-breadcrumb-item>
14       </el-breadcrumb>
15     </el-row>
16  
17 data() {
18     return {
19       typeName1: "安规违章管理",
20       typeName: "安规条款",
21     };
22   },

 

 2、操作区,包含(新建、修改、删除、关键字查询,导入、导出、下拉框刷选、开始日期、结束日期、优化用户体验,每个操作都触发搜索函数刷新页面)
   <el-row
      :gutter="14"
      style="margin-left: calc(2% - 12px); margin-top: 10px;"
    >
      <el-col :span="3" style="margin-left:5px">
        <el-select
          v-model="RuleLevel"
          clearable
          placeholder="条例级数"
          @change="selectUser"
        >
          <el-option
            v-for="(item, index) in list1"
            :label="item.label"
            :value="item.value"
          ></el-option>
        </el-select>
      </el-col>
      <!-- <el-col :span="3">
           <el-select v-model="ruleNum" placeholder>
                <el-option v-for="(item,index) in list2" :label="item.name" :value="item.value"></el-option>
              </el-select>
      </el-col>-->
      <el-col :span="6">
        <el-input
          placeholder="关键字"
          v-model="ruleValue"
          clearable
        ></el-input>
      </el-col>
      <el-col :span="2">
        <el-button type="primary" icon="el-icon-search" @click="selectUser"
          >查询</el-button
        >
      </el-col>
      <el-col :span="2">
        <el-button
          type="success"
          icon="el-icon-plus"
          @click="newAg()"
          >新建</el-button
        >
      </el-col>
    </el-row>
 
 
 data() {
     return {
     RuleLevel:"",
   list1: [
        { label: "全部", value: "" },
        { label: "一级", value: "1" },
        { label: "二级", value: "2" },
        { label: "三级", value: "3" },
        { label: "四级", value: "4" }
      ],
ruleValue:""
    };
   },



  created() {     document.onkeydown = e => {       if (window.event === undefined) {         var key = e.keyCode;       } else {         // eslint-disable-next-line no-redeclare         var key = window.event.keyCode;       }       if (key === 13) {         this.selectUser();       }     };   },  destroyed() {     document.onkeydown = undefined;   },   3、表格,可勾选多个 
   <!--表格-->
    <el-table
      v-loading="loading"
      ref="multipleTable"
      :data="menuData"
      border
      stripe
      style="margin-top: 20px; width: 96%; margin-left: 2%;"
      height="75%"
      @row-click="rowClick"
      @selection-change="handleSelectionChange"
    >
      <el-table-column
        type="index"
        label="序号"
        width="60"
        align="center"
      ></el-table-column>
      <el-table-column
        prop="ruleNum"
        label="条款编号"
        align="center"
        width="200"
      ></el-table-column>
      <el-table-column
        prop="ruleValue"
        label="条款内容"
        align="center"
      ></el-table-column>
      <el-table-column
        prop="ruleLevelStr"
        label="条款级数"
        width="120"
        align="center"
      ></el-table-column>
      <el-table-column width="100" align="center" label="操作" fixed="right">
        <template slot-scope="scope">
          <el-row :gutter="20">
            <el-col :span="12">
              <el-tooltip content="编辑" placement="top" effect="light" :visible-arrow="false">
                <i
                  @click="edit_judge_user1(scope.row)"
                  class="el-icon-edit"
                  style="color:#ffc125; vertical-align: middle;cursor: pointer;padding:10px;font-size:18px"
                ></i>
              </el-tooltip>
            </el-col>
            <el-col :span="12">
              <el-tooltip content="删除" placement="top" effect="light" :visible-arrow="false">
                <i
                  @click="cancel_user1(scope.row)"
                  class="el-icon-delete"
                  style="color:#f40; vertical-align: middle;cursor: pointer;padding:10px;font-size:18px"
                ></i>
              </el-tooltip>
            </el-col>
          </el-row>
        </template>
      </el-table-column>
    </el-table>
    <el-pagination
      v-if="queryForm.total > 10"
      @size-change="handleSizeChange"
      @current-change="handleCurrentChange"
      :current-page="queryForm.pageNum"
      :page-sizes="[10, 20, 30, 40, queryForm.total]"
      :page-size="queryForm.pageSize"
      background
      layout="total, sizes, prev, pager, next, jumper"
      :total="queryForm.total"
      style="margin-bottom: 20px; margin-top: 20px;"
    ></el-pagination>
 
 data() {
     return {
            loading: false,
            menuData: [],
 /*表格选中数据*/
         tableSelect: [],
        queryForm: {
        /*表格页size*/
        pageSize: 20,
        /*表格当前页*/
        pageNum: 1,
        /*表格记录总数*/
        total: 0
      },
   };
   },
//获取表格数据
  selectUser() {
      let that = this;
      that.loading = true;
      let params = {};

      params.RuleLevel = that.RuleLevel;
      params.ruleValue = that.ruleValue;
      params.ruleNum = that.ruleValue;

      params.pageNum = that.queryForm.pageNum;
      params.pageSize = that.queryForm.pageSize;

      (that.urls = "rule/findByPage"),
        commonGet(that.urls, params, function(res) {
          that.menuData = res.data.records;

          that.queryForm.total = res.data.total;
          that.loading = false;
        });
    },

    /*分页每页页数改变*/
    handleSizeChange(val) {
      let that = this;
      that.loading = true;
      that.queryForm.pageSize = val;
      that.selectUser();
    },
    /*分页当前页数改变*/
    handleCurrentChange(val) {
      let that = this;
      that.loading = true;
      that.queryForm.pageNum = val;
      that.selectUser();
    },
    /*表格单击选中*/
    rowClick(row, column, event) {
      let refsElTable = this.$refs.multipleTable; // 获取表格对象
      refsElTable.toggleRowSelection(row); // 调用选中行方法
    },
    /*表格选中赋值*/
    handleSelectionChange(val) {
      this.tableSelect = val;
    },

 

 

标签:vue,val,表格,面包屑,queryForm,loading,params,element,total
来源: https://www.cnblogs.com/web-shu/p/13041508.html