<template>
  <div class="user">
    <el-card>
      <h3 slot="header">用户管理</h3>
      <el-input v-model="searchText" placeholder="请输入关键字搜索" class="search-input" clearable></el-input>
      <el-table :data="userList" stripe>
        <el-table-column prop="id" label="用户ID" width="100"></el-table-column>
        <el-table-column prop="username" label="用户名" width="120"></el-table-column>
        <el-table-column prop="role" label="角色" width="80"></el-table-column>
        <el-table-column label="操作" width="120">
          <template slot-scope="scope">
            <el-button type="primary" size="small" @click="editUser(scope.row)">编辑</el-button>
            <el-button type="danger" size="small" @click="deleteUser(scope.row)">删除</el-button>
          </template>
        </el-table-column>
      </el-table>
      <el-pagination
        class="pagination"
        :current-page="currentPage"
        :page-size="pageSize"
        layout="total, prev, pager, next"
        :total="total"
        @current-change="handleCurrentChange"
      ></el-pagination>
      <el-dialog :visible.sync="dialogVisible" title="编辑用户" width="40%">
        <el-form :model="editForm" :rules="rules" ref="editForm" label-width="100px">
          <el-form-item label="用户名" prop="username">
            <el-input v-model="editForm.username" disabled></el-input>
          </el-form-item>
          <el-form-item label="密码" prop="password">
            <el-input type="password" v-model="editForm.password" autocomplete="off"></el-input>
          </el-form-item>
          <el-form-item label="角色" prop="role">
            <el-radio-group v-model="editForm.role">
              <el-radio :label="'admin'">管理员</el-radio>
              <el-radio :label="'teacher'">教师</el-radio>
              <el-radio :label="'student'">学生</el-radio>
            </el-radio-group>
          </el-form-item>
        </el-form>
        <div slot="footer" class="dialog-footer">
          <el-button @click="dialogVisible = false">取 消</el-button>
          <el-button type="primary" @click="submitForm('editForm')">确 定</el-button>
        </div>
      </el-dialog>
    </el-card>
  </div>
</template>
<script>
import { mapGetters } from 'vuex'
export default {
  name: 'User',
  data () {
    return {
      userList: [],
      searchText: '',
      currentPage: 1,
      pageSize: 10,
      total: 0,
      dialogVisible: false,
      editForm: {
        username: '',
        password: '',
        role: ''
      },
      rules: {
        password: [{ required: true, message: '请输入密码', trigger: 'blur' }],
        role: [{ required: true, message: '请选择角色', trigger: 'change' }]
      }
    }
  },
  computed: {
    ...mapGetters([
      'isAdmin'
    ])
  },
  mounted () {
    this.getUserList()
  },
  methods: {
    getUserList () {
      // 获取用户列表
    },
    editUser (row) {
      // 编辑用户
    },
    deleteUser (row) {
      // 删除用户
    },
    handleCurrentChange (val) {
      // 分页切换
    },
    submitForm (formName) {
      // 提交表单
    }
  }
}
</script
44 前端实现前端使用vue框架进行开发主要实现了用户管理、课程管理、学生管理、教师管理、作业管理、考试管理等功能。用户管理模块的前端代码如下:

原文地址: http://www.cveoy.top/t/topic/eM89 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录