以下是基于ElementUI实现员工信息管理页面的示例代码:

<template>
  <div class="employee-management">
    <el-input v-model="searchText" placeholder="搜索员工姓名或部门"></el-input>
    <el-button type="primary" icon="el-icon-plus" @click="showAddDialog">新增员工</el-button>
    <el-table :data="filteredEmployees" @row-click="showDetailDialog">
      <el-table-column prop="name" label="姓名"></el-table-column>
      <el-table-column prop="department" label="部门"></el-table-column>
      <el-table-column label="操作">
        <template slot-scope="scope">
          <el-button type="text" icon="el-icon-delete" @click="deleteEmployee(scope.$index)">删除</el-button>
        </template>
      </el-table-column>
    </el-table>
    <el-dialog v-model="addDialogVisible" title="新增员工">
      <el-form :model="newEmployee" :rules="rules" ref="addForm">
        <el-form-item label="姓名" prop="name">
          <el-input v-model="newEmployee.name"></el-input>
        </el-form-item>
        <el-form-item label="部门" prop="department">
          <el-input v-model="newEmployee.department"></el-input>
        </el-form-item>
      </el-form>
      <div slot="footer" class="dialog-footer">
        <el-button @click="addDialogVisible = false">取消</el-button>
        <el-button type="primary" @click="addEmployee">确定</el-button>
      </div>
    </el-dialog>
    <el-dialog v-model="detailDialogVisible" title="员工详情">
      <p>姓名:{{ selectedEmployee.name }}</p>
      <p>部门:{{ selectedEmployee.department }}</p>
    </el-dialog>
  </div>
</template>

<script>
export default {
  data() {
    return {
      employees: [
        { name: '张三', department: '研发部' },
        { name: '李四', department: '市场部' },
        { name: '王五', department: '财务部' }
      ],
      searchText: '',
      addDialogVisible: false,
      detailDialogVisible: false,
      newEmployee: { name: '', department: '' },
      selectedEmployee: null,
      rules: {
        name: [
          { required: true, message: '请输入员工姓名', trigger: 'blur' }
        ],
        department: [
          { required: true, message: '请输入员工部门', trigger: 'blur' }
        ]
      }
    }
  },
  computed: {
    filteredEmployees() {
      return this.employees.filter(employee => {
        return employee.name.indexOf(this.searchText) !== -1 || employee.department.indexOf(this.searchText) !== -1
      })
    }
  },
  methods: {
    showAddDialog() {
      this.newEmployee = { name: '', department: '' }
      this.$refs.addForm.resetFields()
      this.addDialogVisible = true
    },
    addEmployee() {
      this.$refs.addForm.validate(valid => {
        if (valid) {
          this.employees.push(this.newEmployee)
          this.addDialogVisible = false
        }
      })
    },
    deleteEmployee(index) {
      this.employees.splice(index, 1)
    },
    showDetailDialog(row) {
      this.selectedEmployee = row
      this.detailDialogVisible = true
    }
  }
}
</script>

该示例实现了以下功能:

  • 在页面顶部提供搜索输入框和新增员工按钮;
  • 使用ElementUI的表格组件展示员工列表,并提供删除操作;
  • 点击表格行可以查看员工详情;
  • 点击新增员工按钮弹出表单对话框,填写员工信息并保存。在表单中使用了ElementUI的验证规则;
  • 搜索功能会根据输入的文本在员工姓名和部门字段中进行模糊匹配,过滤出符合条件的员工列表。
用elementUI写一个员工信息管理页面要求有搜索新增查看删除功能

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

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