VUE-27根据用户ID,查找用户信息element

本节:在搜索框输入用户ID,查找到对应的用户信息。

主要是把表单的内容设置成v-if ,写方法定义真假,真的时候,显示内容,假的时候,不显示内容。

 

1.div

(1.)输入框绑定,要接收的用户id

(2.)按钮,定义点击事件,调取接口

 

 (3.)设置2个div表单,绑定 v-if = “变量名”,一个为真,一个为假

 

 

2.script

(1.)定义变量 

(2.)点击方法,调取接口

 

 搜索方法

 

3.路由配置

import add   from "../pages/admin/goods_add"   //第一个add是指针,要和compoent的一致,第二个add是.vue文件的名字

const routes = [{
path: "/main", component: Main, children:

[{path: "/main/Goods_add", component: add},]//第一个Goods_add是网址的名字,第二个是指针

},]//这里是子路由
 

最后,完整代码

<script src="//unpkg.com/vue/dist/vue.js"></script>
<script src="//unpkg.com/element-ui@2.14.1/lib/index.js"></script>
<template>
  <div>
    <div class="usermange">用户管理</div>
    <div style="display: flex">
      <el-form label-width="180px">
        <el-form-item label="根据用户id查找用户信息:">
          <el-input v-model="ida"></el-input>
        </el-form-item>
      </el-form>
      <el-button
        type="primary"
        @click="suos()"
        style="height: 40px; margin-left: 10px"
        >搜索</el-button
      >
    </div>
    <div style="display:flex">
      <el-form  label-width="180px">
        <el-form-item label="修改用户名字:">
          <el-input v-model="updataUser.name"></el-input>
        </el-form-item>
      </el-form>
               <el-button
        type="primary"
        @click="toupdataname()"
        style="height: 40px; margin-left: 10px"
        >提交修改</el-button
      >
    </div>
    <!-- 第一个显示为真 -->
    <div v-if="one">
      <el-table :data="userList" border style="width: 100%">
        <el-table-column prop="id" label="编号" width="180"> </el-table-column>
        <el-table-column
          prop="name"
          label="用户名"
          width="180"
        ></el-table-column>
        <el-table-column prop="phone" label="电话"> </el-table-column>
        <el-table-column prop="createTime" label="创建时间">
          <!-- {{ filterTime }} -->
        </el-table-column>
        <el-table-column prop="lastLoginTime" label="最后一次登录时间">
          <!-- {{ filterTime }} -->
        </el-table-column>
        <el-table-column prop="email" label="邮箱"> </el-table-column>
        <el-table-column prop="pwd" label="密码"> </el-table-column>
        <el-table-column prop="money" label="余额"> </el-table-column>
        <el-table-column prop="" label="操作">
        <template slot-scope="scope">
          <el-button type="primary" plain @click="updata(scope.row.id)">修改</el-button>
   </template>
        </el-table-column>
      </el-table>
    </div>

    <!-- 第2个显示为假 -->
    <div v-if="two">
      <el-table :data="ccc" border style="width: 100%">
        <el-table-column prop="id" label="编号" width="180"> </el-table-column>
        <el-table-column
          prop="name"
          label="用户名"
          width="180"
        ></el-table-column>
        <el-table-column prop="phone" label="电话"> </el-table-column>
        <el-table-column prop="createTime" label="创建时间">
          <!-- {{ filterTime }} -->
        </el-table-column>
        <el-table-column prop="lastLoginTime" label="最后一次登录时间">
          <!-- {{ filterTime }} -->
        </el-table-column>
        <el-table-column prop="email" label="邮箱"> </el-table-column>
        <el-table-column prop="pwd" label="密码"> </el-table-column>
        <el-table-column prop="money" label="余额"> </el-table-column>
      </el-table>
    </div>
    <div style="margin-top: 30px">
      <!-- 标签页 -->
      <el-pagination
        background
        :page-size="pagesize"
        layout="prev, pager, next"
        :total="total"
        @current-change="handleCurrentChange"
      >
      </el-pagination>
    </div>
  </div>
</template>


<script>
export default {
  data() {
    return {
      one: true,
      two: false,
      userList: [],
      ida: "",
      id: 0,
      keyword: "",
      pagenum: 1, //默认第一页
      pagesize: 10, //限制有几个显示
      pages: 0,
      total: 0,
      updataUser: {},
      // 接收修改的用户名字
      ccc: [],
      // filterTime:"",
    };
  },
  created() {
    // created()是初始化程序,就是一打开界面就执行的内容
    this.loadUserList(); //一开始就调用
  },
  methods: {
    handleCurrentChange(val) {
      this.pagenum = val;
      this.loadUserList();
    },

    // 获取用户id,然后修改用户名字
    updata(id) {
      var that = this; //方便指对象
      this.axios //axios的接口的调用,根据接口要求进行数据的接收
        .get(`/user/loadById/${id}`)
        .then(function (response) {
          console.log(response);
          that.updataUser = response.data.data;
        });
    },

    toupdataname() {
      // 修改用户名字
      var that = this;
      this.axios
        .post(`/user/update/`,this.updataUser, {
          headers: {
            adminToken: that.common.token, //根据接口要求,填写要传的参数
          },
        })
        .then(function (response) {
          // this.three = true;
          console.log(response); //在控制台输出接收到的信息,response是从服务器接收到的信息,自定义的名字
          that.loadUserList(); //5执行列表的循环输出
          alert("成功修改名字!");
        });
    },
    suos() {
      var that = this;
      this.axios.get(`/user/loadById/${this.ida}`).then(function (response) {
        console.log(response);
        that.ccc = [response.data.data];
        that.one = false;
        that.two = true;

        // this.loadUserList();
      });
    },
    // filters: {
    //   filterTime(val) {
    //     let d = new Date(val);
    //     return d.toLocaleString();
    //   },
    // },

    loadUserList() {
      //显示列表
      var that = this;
      //访问上面的数组,就是把上面之前的东西赋值到that上,就不需要再引入一遍,只需要that即可指到之前的对象
      this.axios
        .get(
          `/user/list/${this.pagenum}/${this.pagesize}?keyword=${this.keyword}`
        )
        //axios.get方式传参。这里注意是`,pagenum是参数,所以上面要先定义
        //${this.}是拼装
        // 这里要传什么内容主要是看接口要传什么内容
        .then(function (response) {
          console.log(response);
          that.userList = response.data.data.records;
          that.pages = response.data.data.pages;
          that.total = response.data.data.total;
          // 因为上面有var that =this;所以这里用that来指数组,至于要怎么.data要看控制台传过来的服务器有几层
        });
    },
  },
};
</script>

<style>
.usermange {
  margin: 30px;
  font-size: 25px;
}
.rightnr {
  text-align: right;
  height: 40px;
  background-color: #f3f3f3;
  width: 100%;
}
</style>

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值