用elementUI写一个员工信息管理页面要求有搜索新增查看删除功能
以下是基于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的验证规则;
- 搜索功能会根据输入的文本在员工姓名和部门字段中进行模糊匹配,过滤出符合条件的员工列表。
原文地址: https://www.cveoy.top/t/topic/b5Hd 著作权归作者所有。请勿转载和采集!