Commit 90b70ac8 authored by 廖旭伟's avatar 廖旭伟

Merge remote-tracking branch 'origin/master'

parents ae3551f4 f7abc40a
......@@ -121,7 +121,11 @@ const router = new Router({
...restBuilder("check/gowork/record", "check/gowork/record"), //办件绩效核查信息
...restBuilder("check/effect/record", "check/effect/record"), //效能绩效核查信息
...restBuilder("check/other/record", "check/other/record"), //其它绩效核查信息
...restBuilder("check/window/perform", "check/window/perform"), //自评绩效核查信息
...restBuilder("check/window/perform", "check/window/perform"), //自评绩效核查信息(窗口)
...restBuilder(
"check/window/workman/perform",
"check/window/workman/perform"
), //自评绩效核查信息(工作人员)
...restBuilder("perform/attend/appeal", "perform/attend/appeal"), //绩效记录申诉信息
...restBuilder(
......
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig"> </LayoutTable>
<div class="btn_box" style="position: absolute;top: 54px;left: 10px;">
<el-radio-group v-model="radio1" @input="changeRadio">
<el-radio-button label="1">窗口考核</el-radio-button>
<el-radio-button label="2">工作人员考核</el-radio-button>
</el-radio-group>
<el-button
slot="table-head-left2"
style="margin-left: 10px"
icon="el-icon-tickets"
size="mini"
@click="doExport"
:disabled="isExport"
>导出</el-button
>
</div>
<LayoutTable :data="tableData" notAdd notDel :config="tableConfig">
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
</div>
......@@ -30,28 +47,61 @@ export default {
toView(row) {
this.$refs.drawerform.view(row);
},
/** 导出Excel */
doExport() {
this.isExport = true;
this.$download(
"/check/window/perform/exportExcel",
{
page: 1,
size: -1,
},
{ type: "excel" }
)
.then(() => (this.isExport = false))
.catch((error) => {
this.isExport = false;
this.$message.error(error.message);
});
},
// 切换表格
changeRadio() {
console.log(this.radio1);
this.radio1 == 2
? this.$router.push("/check/window/workman/perform/list?page=1")
: "";
},
},
data() {
return {
radio1: "1",
isExport: false,
config: {
isshowTabPane: true,
search: [
{
name: "year",
type: "text",
label: "考核年度",
fuzzy: true,
name: "deptId",
type: "select",
label: "所属部门",
fuzzy: false,
},
{
name: "windowId",
type: "text",
label: "窗口ID",
fuzzy: true,
name: "checkStatus",
type: "select",
label: "核查状态",
fuzzy: false,
},
{
name: "createTimeMonth",
type: "month",
label: "请选择月份",
fuzzy: false,
},
{
name: "ownerId",
name: "staffName",
type: "text",
label: "窗口负责人id",
fuzzy: true,
label: "请输入窗口负责人姓名搜索",
fuzzy: false,
},
],
columns: [
......@@ -100,3 +150,16 @@ export default {
},
};
</script>
<style lang="less" scoped>
/deep/.el-radio-button__inner {
border: 1px solid #eee !important;
height: 28px;
line-height: 3px;
}
/deep/.el-radio-button__orig-radio:checked + .el-radio-button__inner {
background: #00b565;
border: none !important;
color: #fff !important;
line-height: 3px;
}
</style>
<template>
<div class="page">
<LayoutTable :data="tableData" :config="tableConfig">
<div class="btn_box" style="position: absolute;top: 54px;left: 10px;">
<el-radio-group v-model="radio1" @input="changeRadio">
<el-radio-button label="1">窗口考核</el-radio-button>
<el-radio-button label="2">工作人员考核</el-radio-button>
</el-radio-group>
<el-button
slot="table-head-left2"
style="margin-left: 10px"
icon="el-icon-tickets"
size="mini"
@click="doExport"
:disabled="isExport"
>导出</el-button
>
</div>
<LayoutTable :data="tableData" notAdd notDel :config="tableConfig">
</LayoutTable>
<drawer-show ref="drawerform" @ok="getData" />
</div>
</template>
<script>
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
/** 表单弹出框模式需引入 */
import drawerShow from "./drawershow";
import table from "@/assets/mixins/table";
export default {
name: "CheckWindowWorkmanPerformList",
components: {
drawerShow
},
drawerShow,
},
mixins: [table],
created() {
// this.getData();
},
methods: {
/** 重写新增方法 */
......@@ -33,40 +48,106 @@
toView(row) {
this.$refs.drawerform.view(row);
},
/** 导出Excel */
doExport() {
this.isExport = true;
this.$download(
"/check/window/workman/perform/exportExcel",
{
page: 1,
size: -1,
},
{ type: "excel" }
)
.then(() => (this.isExport = false))
.catch((error) => {
this.isExport = false;
this.$message.error(error.message);
});
},
// 切换表格
changeRadio() {
this.radio1 == 1
? this.$router.push("/check/window/perform/list?page=1")
: "";
},
},
data() {
return {
radio1: 2,
isExport: false,
config: {
isshowTabPane: true,
search: [
{
name: "year",
name: "deptId",
type: "select",
label: "所属部门",
fuzzy: false,
},
{
name: "checkStatus",
type: "select",
label: "核查状态",
fuzzy: false,
},
{
name: "createTimeMonth",
type: "month",
label: "请选择月份",
fuzzy: false,
},
{
name: "staffName",
type: "text",
label: "考核年度",
fuzzy: true
label: "请输入窗口负责人姓名搜索",
fuzzy: false,
},
],
columns: [
{type: "selection", width: 60},
{type: "index",label: "序号",width: 50},
{ type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 },
{label: "管理组核查时间", prop: "manageCheckTime", formatter: this.formatterDate},
{
label: "管理组核查时间",
prop: "manageCheckTime",
formatter: this.formatterDate,
},
{label: "管理组核查说明", prop: "manageCheckDesc"},
{ label: "管理组核查说明", prop: "manageCheckDesc" },
{label: "管理组核查结果", prop: "manageCheckResult"},
{ label: "管理组核查结果", prop: "manageCheckResult" },
{
label: "操作",
width: 240,
formatter: row => {
formatter: (row) => {
return (
<table-buttons noAdd row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
<table-buttons
noAdd
row={row}
onEdit={this.toEdit}
onView={this.toView}
onDel={this.toDel}
/>
);
}
}
]
}
};
}
},
},
],
},
};
},
};
</script>
<style lang="less" scoped>
/deep/.el-radio-button__inner {
border: 1px solid #eee !important;
height: 28px;
line-height: 3px;
}
/deep/.el-radio-button__orig-radio:checked + .el-radio-button__inner {
background: #00b565;
border: none !important;
color: #fff !important;
line-height: 3px;
}
</style>
......@@ -721,7 +721,7 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
@Override
public void buildCustomHikRecord(AttendanceRecordHikQuery recordHikQuery, Context context) {
Set<Long> attendStaffSet = this.find(recordHikQuery).stream().map(i -> i.getStaffId()).distinct().collect(Collectors.toSet());
Set<Long> attendStaffSet = this.find(recordHikQuery).stream().map(i -> i.getStaffId()).collect(Collectors.toSet());
Map<Long, List<AttendanceGroupStaffEntity>> groupStaffCollect = attendanceGroupStaffService.find(new AttendanceGroupStaffQuery()).stream().collect(Collectors.groupingBy(x -> x.getGroupId()));
Iterator<Map.Entry<Long, List<AttendanceGroupStaffEntity>>> iterator = groupStaffCollect.entrySet().iterator();
while (iterator.hasNext()) {
......@@ -759,7 +759,6 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
StaffEntity staffCache = staffService.getCache(staffId.toString());
if (!ObjectUtils.isEmpty(staffCache) && StaffSatusEnum.离职.getValue() != staffCache.getStatus()) {
//构建考勤记录 判断当前人是否离职,如果非离职 构建记录
AttendanceRecordHikEntity recordHikEntity = new AttendanceRecordHikEntity();
recordHikEntity.initAttrValue();
recordHikEntity.setStaffId(staffCache.getId());
......@@ -772,10 +771,10 @@ public class AttendanceRecordHikServiceImpl extends AbstractCRUDServiceImpl<Atte
recordHikEntity.setPositionId(staffCache.getPositionId());
recordHikEntity.setPositionName(staffCache.getPositionName());
recordHikEntity.setAttendanceGroupId(groupId);
recordHikEntity.setAttendanceDate(DateUtil.parseDate(DateUtil.today()).toJdkDate());
recordHikEntity.setAttendanceDate(DateUtil.parseDate(recordHikQuery.getAttendanceDateStart()).toJdkDate());
recordHikEntity.setAttendanceAddress("自定义地点");
recordHikEntity.setEventSource("当日未有记录虚增考勤记录!");
recordHikEntity.setCreateTime(new Date());
recordHikEntity.setCreateTime((DateUtil.parseDate(recordHikQuery.getAttendanceDateStart()).toJdkDate()));
recordHikEntity.setCreateUserId(1L);
try {
this.getDao().insert(recordHikEntity);
......
......@@ -52,8 +52,8 @@ Authorization: {{authToken}}
Content-Type: application/json
{
"attendanceDateStart":"2023-12-01",
"attendanceDateEnd":"2023-12-31"
"attendanceDateStart":"2023-12-20",
"attendanceDateEnd":"2023-12-20"
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment