Commit 13906cde authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents 67a51d24 0a83a345
...@@ -19,6 +19,14 @@ export default { ...@@ -19,6 +19,14 @@ export default {
watch: { watch: {
$route(route) { $route(route) {
this.query = Object.assign({}, this.query, route.query); this.query = Object.assign({}, this.query, route.query);
if (this.query.yearmonth == undefined) {
delete this.query.month;
delete this.query.year;
}
if (this.query.createTimeMonth == undefined) {
delete this.query.createTimeStart;
delete this.query.createTimeEnd;
}
this.getData(); this.getData();
}, },
}, },
......
...@@ -332,11 +332,30 @@ export default { ...@@ -332,11 +332,30 @@ export default {
newData[item.name] = item.multiple ? [] : ""; newData[item.name] = item.multiple ? [] : "";
} }
}); });
delete this.$route.query.yearmonth;
delete this.$route.query.createTimeMonth;
this.form = Object.assign({}, this.form, newData); this.form = Object.assign({}, this.form, newData);
this.onSubmit(); this.onSubmit();
}, },
onSubmit() { onSubmit() {
let { path, query } = this.$route; let { path, query } = this.$route;
if (this.form.yearmonth) {
let arr = this.form.yearmonth.split("-");
this.form.year = arr[0];
this.form.month = arr[1];
} else {
this.form.year = undefined;
this.form.month = undefined;
}
if (this.form.createTimeMonth) {
this.form.createTimeStart = this.form.createTimeMonth + "-01";
this.form.createTimeEnd = this.form.createTimeMonth + "-31";
} else {
this.form.createTimeStart = undefined;
this.form.createTimeEnd = undefined;
}
if (this.form.attendanceDateStart && this.form.attendanceDateEnd) { if (this.form.attendanceDateStart && this.form.attendanceDateEnd) {
let startValue = Date.parse(this.form.attendanceDateStart); let startValue = Date.parse(this.form.attendanceDateStart);
let endValue = Date.parse(this.form.attendanceDateEnd); let endValue = Date.parse(this.form.attendanceDateEnd);
...@@ -375,9 +394,21 @@ export default { ...@@ -375,9 +394,21 @@ export default {
delete this.form.summaryTimeEnd; delete this.form.summaryTimeEnd;
} }
let params = JSON.parse(JSON.stringify(this.form)); //不更改原始数据 let params = JSON.parse(JSON.stringify(this.form)); //不更改原始数据
console.log(this.form, "form参数");
let data = this.decode(params); let data = this.decode(params);
// Object.assign({}, query, data) // Object.assign({}, query, data)
console.log({
...query,
...data,
});
if (!query.yearmonth) {
query.year = undefined;
query.month = undefined;
}
if (!query.createTimeMonth) {
query.createTimeEnd = undefined;
query.createTimeStart = undefined;
}
this.$router.push({ this.$router.push({
path: path, path: path,
query: { query: {
......
...@@ -182,9 +182,9 @@ export default { ...@@ -182,9 +182,9 @@ export default {
fuzzy: false, fuzzy: false,
}, },
{ {
name: "createTime", name: "createTimeMonth",
type: "datetime", type: "month",
label: "请选择日期", label: "请选择月份",
fuzzy: false, fuzzy: false,
}, },
{ {
......
...@@ -189,9 +189,9 @@ export default { ...@@ -189,9 +189,9 @@ export default {
fuzzy: false, fuzzy: false,
}, },
{ {
name: "createTime", name: "createTimeMonth",
type: "datetime", type: "month",
label: "请选择日期", label: "请选择月份",
fuzzy: false, fuzzy: false,
}, },
{ {
......
...@@ -184,9 +184,9 @@ export default { ...@@ -184,9 +184,9 @@ export default {
}, },
{ {
name: "createTime", name: "createTimeMonth",
type: "datetime", type: "month",
label: "请选择开始日期", label: "请选择月份",
fuzzy: false, fuzzy: false,
}, },
{ {
......
...@@ -183,9 +183,9 @@ export default { ...@@ -183,9 +183,9 @@ export default {
fuzzy: false, fuzzy: false,
}, },
{ {
name: "createTime", name: "createTimeMonth",
type: "datetime", type: "month",
label: "请选择日期", label: "请选择月份",
fuzzy: false, fuzzy: false,
}, },
{ {
......
...@@ -182,9 +182,9 @@ export default { ...@@ -182,9 +182,9 @@ export default {
fuzzy: false, fuzzy: false,
}, },
{ {
name: "createTime", name: "createTimeMonth",
type: "datetime", type: "month",
label: "请选择日期", label: "请选择月份",
fuzzy: false, fuzzy: false,
}, },
{ {
......
...@@ -188,9 +188,9 @@ export default { ...@@ -188,9 +188,9 @@ export default {
fuzzy: false, fuzzy: false,
}, },
{ {
name: "createTime", name: "createTimeMonth",
type: "datetime", type: "month",
label: "请选择日期", label: "请选择月份",
fuzzy: false, fuzzy: false,
}, },
{ {
......
...@@ -190,9 +190,9 @@ export default { ...@@ -190,9 +190,9 @@ export default {
fuzzy: false, fuzzy: false,
}, },
{ {
name: "createTime", name: "createTimeMonth",
type: "datetime", type: "month",
label: "请选择日期", label: "请选择月份",
fuzzy: false, fuzzy: false,
}, },
{ {
......
...@@ -196,9 +196,9 @@ export default { ...@@ -196,9 +196,9 @@ export default {
fuzzy: false, fuzzy: false,
}, },
{ {
name: "createTime", name: "createTimeMonth",
type: "datetime", type: "month",
label: "请选择日期", label: "请选择月份",
fuzzy: false, fuzzy: false,
}, },
{ {
......
...@@ -192,9 +192,9 @@ export default { ...@@ -192,9 +192,9 @@ export default {
}, },
{ {
name: "createTime", name: "createTimeMonth",
type: "datetime", type: "month",
label: "请选择日期", label: "请选择月份",
fuzzy: false, fuzzy: false,
}, },
{ {
......
...@@ -190,9 +190,9 @@ export default { ...@@ -190,9 +190,9 @@ export default {
fuzzy: false, fuzzy: false,
}, },
{ {
name: "createTime", name: "createTimeMonth",
type: "datetime", type: "month",
label: "请选择日期", label: "请选择月份",
fuzzy: false, fuzzy: false,
}, },
{ {
......
...@@ -190,9 +190,9 @@ export default { ...@@ -190,9 +190,9 @@ export default {
fuzzy: false, fuzzy: false,
}, },
{ {
name: "createTime", name: "createTimeMonth",
type: "datetime", type: "month",
label: "请选择日期", label: "请选择月份",
fuzzy: false, fuzzy: false,
}, },
{ {
......
...@@ -196,9 +196,9 @@ export default { ...@@ -196,9 +196,9 @@ export default {
fuzzy: false, fuzzy: false,
}, },
{ {
name: "createTime", name: "createTimeMonth",
type: "datetime", type: "month",
label: "请选择日期", label: "请选择月份",
fuzzy: false, fuzzy: false,
}, },
{ {
......
...@@ -78,7 +78,9 @@ ...@@ -78,7 +78,9 @@
</el-button> </el-button>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item> <el-dropdown-item>
<el-button type="text" @click="syncPerson">同步数据</el-button> <el-button type="text" @click="syncPerson"
>同步数据</el-button
>
</el-dropdown-item> </el-dropdown-item>
<el-dropdown-item> <el-dropdown-item>
<el-button type="text" @click="handleImport" <el-button type="text" @click="handleImport"
...@@ -100,7 +102,13 @@ ...@@ -100,7 +102,13 @@
<span class="freshTime" slot="table-head-left2"> <span class="freshTime" slot="table-head-left2">
<i class="el-icon-refresh"></i> <i class="el-icon-refresh"></i>
<span>上次同步时间:{{ tableData.staff.refreshDate }}</span> <span
>上次同步时间:{{
tableData.staff
? tableData.staff.refreshDate
: "--"
}}</span
>
</span> </span>
</LayoutTable> </LayoutTable>
</el-row> </el-row>
...@@ -223,7 +231,7 @@ export default { ...@@ -223,7 +231,7 @@ export default {
syncPerson() { syncPerson() {
this.$post("/staff/syncPersons", {}).then((res) => { this.$post("/staff/syncPersons", {}).then((res) => {
if (res.code == 1) { if (res.code == 1) {
this.$message.success(res.msg) this.$message.success(res.msg);
} }
}); });
}, },
...@@ -474,12 +482,18 @@ export default { ...@@ -474,12 +482,18 @@ export default {
} }
.mytree ::v-deep { .mytree ::v-deep {
.el-tree--highlight-current ::v-deep .el-tree-node.is-checked > .el-tree-node__content { .el-tree--highlight-current
::v-deep
.el-tree-node.is-checked
> .el-tree-node__content {
background-color: rgb(255, 255, 255); background-color: rgb(255, 255, 255);
color: rgb(64, 158, 255); color: rgb(64, 158, 255);
} }
.el-tree--highlight-current ::v-deep .el-tree-node.is-current > .el-tree-node__content { .el-tree--highlight-current
::v-deep
.el-tree-node.is-current
> .el-tree-node__content {
background-color: rgb(255, 255, 255); background-color: rgb(255, 255, 255);
color: rgb(64, 158, 255); color: rgb(64, 158, 255);
} }
......
...@@ -27,6 +27,7 @@ export default { ...@@ -27,6 +27,7 @@ export default {
}, },
mixins: [table], mixins: [table],
created() {}, created() {},
methods: { methods: {
/** 导出Excel */ /** 导出Excel */
doExport() { doExport() {
...@@ -65,9 +66,9 @@ export default { ...@@ -65,9 +66,9 @@ export default {
isshowTabPane: true, isshowTabPane: true,
search: [ search: [
{ {
name: "createTimeStart", name: "yearmonth",
type: "date", type: "month",
label: "月份", label: "请选择月份",
fuzzy: false, fuzzy: false,
}, },
......
...@@ -2,159 +2,199 @@ ...@@ -2,159 +2,199 @@
<div> <div>
<el-card> <el-card>
<div class="flex flex flex-pack-justify" style="margin:10px 0"> <div class="flex flex flex-pack-justify" style="margin:10px 0">
<div style="color:rgb(20, 134, 248);font-weight:bold;padding: 0 20px;">个人主页</div> <div style="color:rgb(20, 134, 248);font-weight:bold;padding: 0 20px;">
<el-button type="primary" @click="$router.back()" size="small">返回上级</el-button> 个人主页
</div>
<el-button type="primary" @click="$router.back()" size="small"
>返回上级</el-button
>
</div> </div>
<div class="persons"> <div class="persons">
<div class="cell1 flex"> <div class="cell1 flex">
<el-image <el-image
style="width: 120px; height: 150px" style="width: 120px; height: 150px"
:src="allinfo.photoPath" :src="
:preview-src-list="allinfo.photoPath"> allinfo.photoPath
? allinfo.photoPath
: require('../../assets/images/avtar.png')
"
:preview-src-list="
allinfo.photoPath
? [allinfo.photoPath]
: [require('../../assets/images/avtar.png')]
"
>
</el-image> </el-image>
<div class="content ml20"> <div class="content ml20">
<div class="c1"> <div class="c1">
<span>{{info.workName}}</span> <span>{{ info.workName }}</span>
<!-- 格式 --> <!-- 格式 -->
<span class="tags">{{dict.status[allinfo.status]}}</span> <span class="tags">{{
dict.status ? dict.status[allinfo.status] : ""
}}</span>
</div> </div>
<div class="c2"> <div class="c2">
<!-- - {{allinfo.positionName}} --> <!-- - {{allinfo.positionName}} -->
<span>{{allinfo.deptName}}</span> <span>{{ allinfo.deptName }}</span>
<span style="margin:0 10px">|</span> <!-- <span style="margin:0 10px">|</span>
<span>{{info.workLimit}}</span> <span>{{ info.workLimit }}</span> -->
</div> </div>
</div> </div>
</div> </div>
<div class="cell2"> <div class="cell2">
<div class="title">成长记录</div> <div class="title">个人信息</div>
<div class="flex"> <div class="flex">
<div class="history"> <div class="history">
<div class="times">{{info.workBeginDay}}</div> <span>工号:</span>
<div>入职时间</div> <span class="times">{{ allinfo.workNum }}</span>
</div>
<div class="history">
<span>性别:</span>
<span class="times">{{
dict.gender ? dict.gender[allinfo.gender] : "--"
}}</span>
</div> </div>
<div class="history"> <div class="history">
<div class="times">{{info.workFormalDay}}</div> <span>政治面貌:</span>
<div>转正时间</div> <span class="times">{{
dict.politicalstatus
? dict.politicalstatus[allinfo.politicalstatus]
: "--"
}}</span>
</div>
<div class="history">
<span>员工状态:</span>
<span class="times">{{
dict.status ? dict.status[allinfo.status] : "--"
}}</span>
</div>
<div class="history">
<span>手机号:</span>
<span class="times">{{ allinfo.phoneNumber }}</span>
</div> </div>
</div> </div>
</div> </div>
<div class="cell2"> <div class="cell2">
<div class="title flex flex-pack-justify"> <div class="title flex flex-pack-justify">
<div>本月假勤统计</div> <div>本月假勤统计</div>
<div class="times">更多记录</div> <!-- <div class="times">更多记录</div> -->
</div> </div>
<div class="flex flex-pack-justify" style="margin-top:10px"> <div class="flex flex-pack-justify" style="margin-top:10px">
<div class="flex"> <div class="flex">
<div>实际出勤天数</div> <div>实际出勤天数</div>
<div class="times ml20">{{info.attendanceCount}}</div> <div class="times ml20">{{ info.attendanceCount }}</div>
</div> </div>
<div class="flex"> <div class="flex">
<div>请假天数</div> <div>请假天数</div>
<div class="times ml20">{{info.leaveCount}}</div> <div class="times ml20">{{ info.leaveCount }}</div>
</div> </div>
</div> </div>
<div class="flex flex-pack-justify" style="margin-top:10px"> <div class="flex flex-pack-justify" style="margin-top:10px">
<div class="flex"> <div class="flex">
<div>迟到早退次数</div> <div>迟到早退次数</div>
<div class="times ml20">{{info.lateCount}}</div> <div class="times ml20">{{ info.lateCount }}</div>
</div> </div>
<div class="flex"> <div class="flex">
<div>旷工天</div> <div>缺卡次</div>
<div class="times ml20">{{info.minerCount}}</div> <div class="times ml20">{{ info.lackCardCount }}</div>
</div> </div>
</div> </div>
<div class="flex flex-pack-justify" style="margin-top:10px"> <!-- <div class="flex flex-pack-justify" style="margin-top:10px">
<div class="flex"> <div class="flex">
<div>缺卡次数</div> <div>缺卡次数</div>
<div class="times ml20">{{info.lackCardCount}}</div> <div class="times ml20">{{ info.lackCardCount }}</div>
</div> </div>
<div class="flex"> <div class="flex">
<div>加班天数</div> <div>加班天数</div>
<div class="times ml20">{{info.workOverDay}}</div> <div class="times ml20">{{ info.workOverDay }}</div>
</div>
</div> </div>
</div> -->
</div> </div>
<div class="cell2"> <!-- <div class="cell2">
<div class="title">当前剩余假期</div> <div class="title">当前剩余假期</div>
<div class="flex flex-pack-justify" style="margin-top:10px"> <div class="flex flex-pack-justify" style="margin-top:10px">
<div class="flex"> <div class="flex">
<div>调休</div> <div>调休</div>
<div class="times ml20">{{info.compensatoryDay}}</div> <div class="times ml20">{{ info.compensatoryDay }}</div>
</div> </div>
<div class="flex"> <div class="flex">
<div>婚假</div> <div>婚假</div>
<div class="times ml20">{{info.marriageHoliday}}</div> <div class="times ml20">{{ info.marriageHoliday }}</div>
</div> </div>
</div> </div>
<div class="flex flex-pack-justify" style="margin-top:10px"> <div class="flex flex-pack-justify" style="margin-top:10px">
<div class="flex"> <div class="flex">
<div>年假</div> <div>年假</div>
<div class="times ml20">{{info.winterHoliday}}</div> <div class="times ml20">{{ info.winterHoliday }}</div>
</div> </div>
<div class="flex"> <div class="flex">
<div>陪产假</div> <div>陪产假</div>
<div class="times ml20">{{info.paternityLeaveDay}}</div> <div class="times ml20">{{ info.paternityLeaveDay }}</div>
</div>
</div> </div>
</div> </div>
</div> -->
</div> </div>
</el-card> </el-card>
</div> </div>
</template> </template>
<script> <script>
import {timestampToTime} from '@/assets/utils/dateFormat.js' import { timestampToTime } from "@/assets/utils/dateFormat.js";
export default { export default {
components: { components: {},
},
methods: { methods: {
getdata(id){ getdata(id) {
this.$get('/staff/info',{id}).then(res => { this.$get("/staff/info", { id })
if(res.code == 1){ .then((res) => {
this.info = res.data.holidayLists[0] if (res.code == 1) {
this.dict = res.dict this.info = res.data.holidayLists[0];
this.allinfo = res.data//总 this.dict = res.dict;
this.info.workBeginDay = this.info.workBeginDay?timestampToTime(Number(this.info.workBeginDay),3):'-' this.allinfo = res.data; //总
this.info.workFormalDay = this.info.workFormalDay?timestampToTime(Number(this.info.workFormalDay),3):'-' this.info.workBeginDay = this.info.workBeginDay
? timestampToTime(Number(this.info.workBeginDay), 3)
: "-";
this.info.workFormalDay = this.info.workFormalDay
? timestampToTime(Number(this.info.workFormalDay), 3)
: "-";
} }
}) })
.catch(err => { .catch((err) => {
this.$message.error(err.message) this.$message.error(err.message);
}) });
} },
}, },
data() { data() {
return { return {
info:{}, info: {},
allinfo:{}, allinfo: {},
dict:[] dict: [],
} };
}, },
created(){ created() {
this.getdata(this.$route.query.id) this.getdata(this.$route.query.id);
} },
} };
</script> </script>
<style lang="less"> <style lang="less">
.persons{ .persons {
width: 100%; width: 100%;
padding: 0 20px; padding: 0 20px;
.title{ .title {
font-weight: bold; font-weight: bold;
} }
.cell1{ .cell1 {
// .avator{ // .avator{
// width: 120px; // width: 120px;
// height: 150px; // height: 150px;
// background-color: aliceblue; // background-color: aliceblue;
// } // }
.c2{ .c2 {
color: #999; color: #999;
font-size: 12px; font-size: 12px;
margin-top: 10px; margin-top: 10px;
} }
.tags{ .tags {
background: aliceblue; background: aliceblue;
padding: 5px; padding: 5px;
border-radius: 5px; border-radius: 5px;
...@@ -162,18 +202,17 @@ ...@@ -162,18 +202,17 @@
font-size: 14px; font-size: 14px;
} }
} }
.cell2{ .cell2 {
background-color: rgb(247, 246, 246); background-color: rgb(247, 246, 246);
border-radius: 10px; border-radius: 10px;
margin-top: 20px; margin-top: 20px;
font-size: 15px; font-size: 15px;
padding: 10px 15px; padding: 10px 15px;
.history{ .history {
margin-right: 50px; margin-right: 50px;
margin-top: 20px; margin-top: 20px;
} }
.times{ .times {
color: rgb(20, 134, 248); color: rgb(20, 134, 248);
} }
} }
......
...@@ -157,15 +157,15 @@ public class DingMessageController { ...@@ -157,15 +157,15 @@ public class DingMessageController {
String leave_name = "事假"; String leave_name = "事假";
if(result.getFormComponentValues().size() > 0 ){ if(result.getFormComponentValues().size() > 0 ){
JSONArray jsonArray = JSONArray.parseArray(result.getFormComponentValues().get(0).getValue()); JSONArray jsonArray = JSONArray.parseArray(result.getFormComponentValues().get(0).getValue());
if(jsonArray.size() > 0){ if(jsonArray!= null && jsonArray.size() > 0){
Date startTime1 = dateFormat(jsonArray.get(0).toString(),"yyyy-MM-dd HH:mm",true); Date startTime1 = dateFormat(jsonArray.get(0).toString(),"yyyy-MM-dd HH:mm",true);
leaveRecordEntity.setStartTime(startTime1); leaveRecordEntity.setStartTime(startTime1);
} }
if(jsonArray.size() > 1){ if(jsonArray!= null && jsonArray.size() > 1){
Date endTime1 = dateFormat(jsonArray.get(1).toString(),"yyyy-MM-dd HH:mm",false); Date endTime1 = dateFormat(jsonArray.get(1).toString(),"yyyy-MM-dd HH:mm",false);
leaveRecordEntity.setEndTime(endTime1); leaveRecordEntity.setEndTime(endTime1);
} }
if(jsonArray.size() > 2){ if(jsonArray!= null && jsonArray.size() > 2){
if(jsonArray.size() > 3){ if(jsonArray.size() > 3){
switch (jsonArray.get(3).toString()){ switch (jsonArray.get(3).toString()){
case "halfDay": case "halfDay":
...@@ -182,7 +182,7 @@ public class DingMessageController { ...@@ -182,7 +182,7 @@ public class DingMessageController {
} }
} }
if(jsonArray.size() > 4){ if(jsonArray!= null && jsonArray.size() > 4){
leave_name = jsonArray.get(4).toString(); leave_name = jsonArray.get(4).toString();
switch (leave_name){ switch (leave_name){
case "调休": case "调休":
......
...@@ -43,10 +43,10 @@ public class AttendanceLeaveRecordController extends BaseCRUDJsonBodyMappingCont ...@@ -43,10 +43,10 @@ public class AttendanceLeaveRecordController extends BaseCRUDJsonBodyMappingCont
private DeptService deptService; private DeptService deptService;
@Autowired @Autowired
private WorkmanService workmanService; private WorkmanService workmanService;
// @Autowired
// private UserService userService;
@Autowired @Autowired
private IUserFeign iUserFeign; private UserService userService;
// @Autowired
// private IUserFeign iUserFeign;
public AttendanceLeaveRecordController(){ public AttendanceLeaveRecordController(){
super.setModuleDesc( "请假记录信息"); super.setModuleDesc( "请假记录信息");
...@@ -59,20 +59,20 @@ public class AttendanceLeaveRecordController extends BaseCRUDJsonBodyMappingCont ...@@ -59,20 +59,20 @@ public class AttendanceLeaveRecordController extends BaseCRUDJsonBodyMappingCont
this.addDict(model, "leaveType", paramService.getParamBySecondOrganize("AttendanceLeaveRecord","leaveType")); this.addDict(model, "leaveType", paramService.getParamBySecondOrganize("AttendanceLeaveRecord","leaveType"));
this.addDict(model, "auditResult", AppealResultEnum.getEnumMap()); this.addDict(model, "auditResult", AppealResultEnum.getEnumMap());
this.addDict(model, "processStatus", ProcessStatusEnum.getEnumMap()); this.addDict(model, "processStatus", ProcessStatusEnum.getEnumMap());
// this.addDict(model, "createUserId", userService.find(new UserQuery()).stream().collect(toMap(x -> x.getId().toString(), y -> y.getRealName(), (o, n) -> n))); this.addDict(model, "createUserId", userService.find(new UserQuery()).stream().collect(toMap(x -> x.getId().toString(), y -> y.getRealName(), (o, n) -> n)));
//从门户获取登录用户信息
UserPdu userPdu = new UserPdu();
userPdu.setSize(-1);
List <UserPdu> userPduList = iUserFeign.list(userPdu).getData().getData();
Map<String, String> ans = new HashMap<>();
for(UserPdu str: userPduList) {
if(str != null) { //增加非空判断
ans.put(str.getId().toString(), str.getRealName());
}
}
this.addDict(model, "createUserId", ans); // //从门户获取登录用户信息
// UserPdu userPdu = new UserPdu();
// userPdu.setSize(-1);
// List <UserPdu> userPduList = iUserFeign.list(userPdu).getData().getData();
// Map<String, String> ans = new HashMap<>();
// for(UserPdu str: userPduList) {
// if(str != null) { //增加非空判断
// ans.put(str.getId().toString(), str.getRealName());
// }
// }
//
// this.addDict(model, "createUserId", ans);
super.init(model, context); super.init(model, context);
......
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