Day05-讲师列表前端-讲师列表显示

1、讲师列表前端实现

第一步:添加路由

打开index.js文件
在这里插入图片描述
修改以下name、title信息:

在这里插入图片描述

代码如下:

  {
    path: '/teacher',
    component: Layout,
    redirect: '/teacher/table',
    name: '讲师管理',
    meta: { title: '讲师管理', icon: 'example' },
    children: [
      {
        path: 'table',
        name: '讲师列表',
        component: () => import('@/views/table/index'),
        meta: { title: '讲师列表', icon: 'table' }
      },
      {
        path: 'save',
        name: '讲师添加',
        component: () => import('@/views/tree/index'),
        meta: { title: '讲师添加', icon: 'tree' }
      }
    ]
  },

修改后的前端页面:
在这里插入图片描述
原来的前端页面:
在这里插入图片描述

第二步:创建路由对应的页面讲师列表页面:list.vue

讲师添加页面:save.vue
在这里插入图片描述修改对应路由的地址
在这里插入图片描述

第三步:在api文件夹创建teacher.js定义访问的接口地址

在这里插入图片描述

import request from '@/utils/request'

export default {
  //1 讲师列表(条件查询分页)
  //current当前页 limit每页记录条数 teacherQuery条件对象
  getTeacherListPage(current,limit,teacherQuery){
      return request({
          //url:'eduservice/teacher/pageTeacherCondition/'+current+"/"+limit,
          url:`eduservice/teacher/pageTeacherCondition/${current}/${limit}`,
          method:'post',
          //teacgerQuery条件对象,后端使用RequestBody获取数据
          //data表示把对象抓换成json进行传递到接口里面
          data:teacherQuery
        })
  }
}

第四步、在讲师列表页面list.vue页面调用定义的接口方法,得到接口返回数据

在这里插入图片描述

在这里插入图片描述

<template>
  <div class="app-container">
      讲师列表
  </div>
</template>

<script>
//引入调用teacher.js文件
import teacher from '@/api/edu/teacher'

export default{
    //写核心代码位置
    //data:{
    //},
    data(){//定义变量和初始值
        return {
          list:null,//查询之后接口返回的集合
          page:1,//当前页
          limit:10,//每页记录数
          total:0,//总记录数
          teacherQuery:{}//条件封装对象
        }
    },
    created(){//页面渲染之前执行,一把调用methods定义的方法
      //调用
      this.getList()
    },
    methods:{//创建具体的方法,调用teacher.js定义的方法
        getList(){
            teacher.getTeacherListPage(this.page,this.limit,this.teacherQuery)
              .then(response=>{//请求成功
                //response接口返回的数据
                //console.log(response)
                this.list = response.data.rows
                this.total = response.data.total
                console.log(this.list)
                console.log(this.total)
              })
              .catch(error=>{
                console.log(error)
              })//请求失败
        }
    }
}
</script>

第五步 把请求接口获取的数据在页面进行显示。使用组件element-ui实现

在这里插入图片描述
在这里插入图片描述在list.vue插入代码
在这里插入图片描述

<template>
  <div class="app-container">
      
 <!-- 表格 -->
    <el-table
      v-loading="listLoading"
      :data="list"
      element-loading-text="数据加载中"
      border
      fit
      highlight-current-row>

      <el-table-column
        label="序号"
        width="70"
        align="center">
        <template slot-scope="scope">
          {{ (page - 1) * limit + scope.$index + 1 }}
        </template>
      </el-table-column>

      <el-table-column prop="name" label="名称" width="80" />

      <el-table-column label="头衔" width="80">
        <template slot-scope="scope">
          {{ scope.row.level===1?'高级讲师':'首席讲师' }}
        </template>
      </el-table-column>

      <el-table-column prop="intro" label="资历" />

      <el-table-column prop="gmtCreate" label="添加时间" width="160"/>

      <el-table-column prop="sort" label="排序" width="60" />

      <el-table-column label="操作" width="200" align="center">
        <template slot-scope="scope">
          <router-link :to="'/edu/teacher/edit/'+scope.row.id">
            <el-button type="primary" size="mini" icon="el-icon-edit">修改</el-button>
          </router-link>
          <el-button type="danger" size="mini" icon="el-icon-delete" @click="removeDataById(scope.row.id)">删除</el-button>
        </template>
      </el-table-column>
    </el-table>


  </div>
</template>

<script>
//引入调用teacher.js文件
import teacher from '@/api/edu/teacher'

export default{
    //写核心代码位置
    //data:{
    //},
    data(){//定义变量和初始值
        return {
          list:null,//查询之后接口返回的集合
          page:1,//当前页
          limit:10,//每页记录数
          total:0,//总记录数
          teacherQuery:{}//条件封装对象
        }
    },
    created(){//页面渲染之前执行,一把调用methods定义的方法
      //调用
      this.getList()
    },
    methods:{//创建具体的方法,调用teacher.js定义的方法
        getList(){
            teacher.getTeacherListPage(this.page,this.limit,this.teacherQuery)
              .then(response=>{//请求成功
                //response接口返回的数据
                //console.log(response)
                this.list = response.data.rows
                this.total = response.data.total
                console.log(this.list)
                console.log(this.total)
              })
              .catch(error=>{
                console.log(error)
              })//请求失败
        }
    }
}
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值