feat(员工管理): 新增员工信息管理模块及员工选择器组件

新增员工信息管理模块,包括员工信息的增删改查功能
添加员工选择器组件,用于在请假、外出、报餐等场景中选择员工
替换原有字典选择方式为员工选择器,提升用户体验
This commit is contained in:
砂糖
2026-03-03 10:36:51 +08:00
parent 706112e839
commit d927aa8647
6 changed files with 803 additions and 31 deletions

View File

@@ -34,7 +34,7 @@
<DictSelect dictType="hrm_department" v-model="queryParams.deptName" placeholder="请选择部门名称"></DictSelect>
</el-form-item>
<el-form-item label="报餐人" prop="reportUserName">
<DictSelect dictType="hrm_leave_employee" v-model="queryParams.reportUserName" placeholder="请选择报餐人姓名"></DictSelect>
<employee-selector v-model="queryParams.reportUserName" :key-field="'name'" placeholder="请选择报餐人姓名" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@@ -110,11 +110,7 @@
</el-tooltip>
</template>
</el-table-column>
<el-table-column label="报餐人姓名" align="center" prop="reportUserName">
<template slot-scope="scope">
<dict-tag :options="dict.type.hrm_leave_employee" :value="scope.row.reportUserName"/>
</template>
</el-table-column>
<el-table-column label="报餐人姓名" align="center" prop="reportUserName" />
<el-table-column label="报餐时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
@@ -163,18 +159,18 @@
<DictSelect dictType="hrm_department" v-model="form.deptName" placeholder="请选择部门名称"></DictSelect>
</el-form-item>
<el-form-item label="堂食成员" prop="dineInPeopleList">
<dict-select dictType="hrm_leave_employee" v-model="form.dineInPeopleList" placeholder="请选择堂食成员" multiple @change="handleDineInPeopleChange" :disables="form.takeoutPeopleList"/>
<employee-selector v-model="form.dineInPeopleList" :key-field="'name'" :multiple="true" placeholder="请选择堂食成员" @change="handleDineInPeopleChange" :disabled-names="form.takeoutPeopleList || ''" />
<div>{{ form.dineInPeople || 0 }}</div>
</el-form-item>
<el-form-item label="打包成员" prop="takeoutPeopleList">
<dict-select dictType="hrm_leave_employee" v-model="form.takeoutPeopleList" placeholder="请选择打包成员" multiple @change="handleTakeoutPeopleChange" :disables="form.dineInPeopleList"/>
<employee-selector v-model="form.takeoutPeopleList" :key-field="'name'" :multiple="true" placeholder="请选择打包成员" @change="handleTakeoutPeopleChange" :disabled-names="form.dineInPeopleList || ''" />
<div>{{ form.takeoutPeople || 0 }}</div>
</el-form-item>
<el-form-item label="用餐总人数" prop="totalPeople">
<el-input v-model="form.totalPeople" placeholder="请输入用餐总人数" disabled />
</el-form-item>
<el-form-item label="报餐人姓名" prop="reportUserName">
<DictSelect dictType="hrm_leave_employee" v-model="form.reportUserName" placeholder="请选择报餐人姓名"></DictSelect>
<employee-selector v-model="form.reportUserName" :key-field="'name'" placeholder="请选择报餐人姓名" />
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
@@ -191,11 +187,12 @@
<script>
import { listMealReport, getMealReport, delMealReport, addMealReport, updateMealReport } from "@/api/wms/mealReport";
import DictSelect from "@/components/DictSelect";
import EmployeeSelector from "@/components/EmployeeSelector";
export default {
name: "MealReport",
dicts: ['hrm_meal_type', 'hrm_leave_employee', 'hrm_department'],
components: { DictSelect },
dicts: ['hrm_meal_type', 'hrm_department'],
components: { DictSelect, EmployeeSelector },
data() {
// 用餐日期默认选中今天
function addZero(num) {