feat(员工信息): 添加时间范围筛选功能并新增员工报表页面

在员工信息各页面添加入职/转正/调岗/离职时间范围筛选功能
新增员工报表页面,包含统计卡片、图表和数据表格
This commit is contained in:
砂糖
2026-03-21 17:45:37 +08:00
parent 99488b828a
commit ea73305ebb
6 changed files with 857 additions and 8 deletions

View File

@@ -1,10 +1,16 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="入职时间" prop="changeTime">
<el-date-picker clearable v-model="queryParams.changeTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择入职时间">
</el-date-picker>
<el-form-item label="入职时间">
<el-date-picker
v-model="queryParams.changeTimeRange"
type="daterange"
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd HH:mm:ss"
style="width: 240px"
/>
</el-form-item>
<!-- <el-form-item label="异动原因" prop="changeReason">
<el-input
@@ -280,6 +286,9 @@ export default {
infoId: undefined,
changeType: 0,
changeTime: undefined,
changeStartTime: undefined,
changeEndTime: undefined,
changeTimeRange: [],
changeReason: undefined,
changeHandler: undefined,
attachment: undefined,
@@ -387,12 +396,23 @@ export default {
},
/** 搜索按钮操作 */
handleQuery() {
// 处理时间范围
if (this.queryParams.changeTimeRange && this.queryParams.changeTimeRange.length === 2) {
this.queryParams.changeStartTime = this.queryParams.changeTimeRange[0];
this.queryParams.changeEndTime = this.queryParams.changeTimeRange[1];
} else {
this.queryParams.changeStartTime = undefined;
this.queryParams.changeEndTime = undefined;
}
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.queryParams.changeTimeRange = [];
this.queryParams.changeStartTime = undefined;
this.queryParams.changeEndTime = undefined;
this.handleQuery();
},
// 多选框选中数据

View File

@@ -33,6 +33,17 @@
<el-option label="已转正" value="1" />
<el-option label="未转正" value="0" />
</el-select>
</el-form-item>
<el-form-item label="转正时间">
<el-date-picker
v-model="queryParams.regularTimeRange"
type="daterange"
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd HH:mm:ss"
style="width: 240px"
/>
</el-form-item>
<el-form-item label="在职情况" prop="isLeave">
<el-select v-model="queryParams.isLeave" placeholder="请选择在职情况" clearable @change="handleQuery">
@@ -335,6 +346,11 @@ export default {
age: undefined,
gender: undefined,
education: undefined,
isRegular: undefined,
isLeave: undefined,
regularStartTime: undefined,
regularEndTime: undefined,
regularTimeRange: [],
},
// 表单参数
form: {},
@@ -444,12 +460,23 @@ export default {
},
/** 搜索按钮操作 */
handleQuery() {
// 处理时间范围
if (this.queryParams.regularTimeRange && this.queryParams.regularTimeRange.length === 2) {
this.queryParams.regularStartTime = this.queryParams.regularTimeRange[0];
this.queryParams.regularEndTime = this.queryParams.regularTimeRange[1];
} else {
this.queryParams.regularStartTime = undefined;
this.queryParams.regularEndTime = undefined;
}
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.queryParams.regularTimeRange = [];
this.queryParams.regularStartTime = undefined;
this.queryParams.regularEndTime = undefined;
this.handleQuery();
},
// 多选框选中数据

View File

@@ -33,6 +33,17 @@
<el-option label="已转正" value="1" />
<el-option label="未转正" value="0" />
</el-select>
</el-form-item>
<el-form-item label="入职时间">
<el-date-picker
v-model="queryParams.entryTimeRange"
type="daterange"
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd HH:mm:ss"
style="width: 240px"
/>
</el-form-item>
<el-form-item label="在职情况" prop="isLeave">
<el-select v-model="queryParams.isLeave" placeholder="请选择在职情况" clearable @change="handleQuery">
@@ -328,6 +339,11 @@ export default {
age: undefined,
gender: undefined,
education: undefined,
isRegular: undefined,
isLeave: undefined,
entryStartTime: undefined,
entryEndTime: undefined,
entryTimeRange: [],
},
// 表单参数
form: {},
@@ -423,12 +439,23 @@ export default {
},
/** 搜索按钮操作 */
handleQuery() {
// 处理时间范围
if (this.queryParams.entryTimeRange && this.queryParams.entryTimeRange.length === 2) {
this.queryParams.entryStartTime = this.queryParams.entryTimeRange[0];
this.queryParams.entryEndTime = this.queryParams.entryTimeRange[1];
} else {
this.queryParams.entryStartTime = undefined;
this.queryParams.entryEndTime = undefined;
}
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.queryParams.entryTimeRange = [];
this.queryParams.entryStartTime = undefined;
this.queryParams.entryEndTime = undefined;
this.handleQuery();
},
// 多选框选中数据

View File

@@ -1,10 +1,16 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="离职时间" prop="changeTime">
<el-date-picker clearable v-model="queryParams.changeTime" type="date" value-format="yyyy-MM-dd"
placeholder="请选择离职时间">
</el-date-picker>
<el-form-item label="离职时间">
<el-date-picker
v-model="queryParams.changeTimeRange"
type="daterange"
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd HH:mm:ss"
style="width: 240px"
/>
</el-form-item>
<!-- <el-form-item label="异动原因" prop="changeReason">
<el-input
@@ -138,6 +144,9 @@ export default {
infoId: undefined,
changeType: 1,
changeTime: undefined,
changeStartTime: undefined,
changeEndTime: undefined,
changeTimeRange: [],
changeReason: undefined,
changeHandler: undefined,
attachment: undefined,
@@ -245,12 +254,23 @@ export default {
},
/** 搜索按钮操作 */
handleQuery() {
// 处理时间范围
if (this.queryParams.changeTimeRange && this.queryParams.changeTimeRange.length === 2) {
this.queryParams.changeStartTime = this.queryParams.changeTimeRange[0];
this.queryParams.changeEndTime = this.queryParams.changeTimeRange[1];
} else {
this.queryParams.changeStartTime = undefined;
this.queryParams.changeEndTime = undefined;
}
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.queryParams.changeTimeRange = [];
this.queryParams.changeStartTime = undefined;
this.queryParams.changeEndTime = undefined;
this.handleQuery();
},
// 多选框选中数据

View File

@@ -10,6 +10,17 @@
<el-form-item label="新部门" prop="newDept">
<el-input v-model="queryParams.newDept" placeholder="请输入新部门" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="转岗时间">
<el-date-picker
v-model="queryParams.transferTimeRange"
type="daterange"
range-separator=""
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd HH:mm:ss"
style="width: 240px"
/>
</el-form-item>
<el-form-item label="转岗经办人" prop="transferHandler">
<el-input v-model="queryParams.transferHandler" placeholder="请输入转岗经办人" clearable
@keyup.enter.native="handleQuery" />
@@ -146,6 +157,9 @@ export default {
newDept: undefined,
newJobType: undefined,
transferHandler: undefined,
transferStartTime: undefined,
transferEndTime: undefined,
transferTimeRange: [],
},
// 部门列表
deptList: [],
@@ -233,12 +247,23 @@ export default {
},
/** 搜索按钮操作 */
handleQuery() {
// 处理时间范围
if (this.queryParams.transferTimeRange && this.queryParams.transferTimeRange.length === 2) {
this.queryParams.transferStartTime = this.queryParams.transferTimeRange[0];
this.queryParams.transferEndTime = this.queryParams.transferTimeRange[1];
} else {
this.queryParams.transferStartTime = undefined;
this.queryParams.transferEndTime = undefined;
}
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.queryParams.transferTimeRange = [];
this.queryParams.transferStartTime = undefined;
this.queryParams.transferEndTime = undefined;
this.handleQuery();
},
// 多选框选中数据