Commit 563a7146 authored by dll's avatar dll

考勤绩效负责人

parent 468eee28
...@@ -58,7 +58,6 @@ export default { ...@@ -58,7 +58,6 @@ export default {
this.tableData = this.beforeRender( this.tableData = this.beforeRender(
Object.assign({}, this.tableData, data) Object.assign({}, this.tableData, data)
) )
console.log(this.tableData,'')
this.afterRender(this.tableData); this.afterRender(this.tableData);
}) })
.catch(error => { .catch(error => {
...@@ -71,6 +70,7 @@ export default { ...@@ -71,6 +70,7 @@ export default {
this.tableData.loading = false; this.tableData.loading = false;
}, 300); }, 300);
}) })
}, },
// 复制一个数组或对象 // 复制一个数组或对象
util_copy(data) { util_copy(data) {
......
...@@ -22,6 +22,9 @@ export default { ...@@ -22,6 +22,9 @@ export default {
handleClick(key, keyPath){ handleClick(key, keyPath){
this.$emit('handleClick',key) this.$emit('handleClick',key)
} }
},
mounted(){
console.log(this.activeName,';ss')
} }
} }
</script> </script>
......
...@@ -45,14 +45,12 @@ const router = new Router({ ...@@ -45,14 +45,12 @@ const router = new Router({
...restBuilder('care/template', 'care/template'),// 关怀问候信息 ...restBuilder('care/template', 'care/template'),// 关怀问候信息
...restBuilder('staff/black', 'staff/black'),// 员工黑名单信息 ...restBuilder('staff/black', 'staff/black'),// 员工黑名单信息
...restBuilder('job', 'job'),// 职位信息 ...restBuilder('job', 'job'),// 职位信息
...restBuilder('staff/adjust/log', 'staff/adjust/log'),// 员工调岗信息 ...restBuilder('staff/adjust/log', 'staff/adjust/log'),// 员工调岗信息
...restBuilder('staff/regular', 'staff/regular'),// 员工转正信息 ...restBuilder('staff/regular', 'staff/regular'),// 员工转正信息
...restBuilder('staff/leave', 'staff/leave'),// 员工离职信息 ...restBuilder('staff/leave', 'staff/leave'),// 员工离职信息
...restBuilder('staff/contract', 'staff/contract'),// 员工合同信息 ...restBuilder('staff/contract', 'staff/contract'),// 员工合同信息
...restBuilder('attendance/record/hik', 'attendance/record/hik'),// 海康考勤 ...restBuilder('attendance/record/hik', 'attendance/record/hik'),// 海康考勤
...restBuilder('attendance/record/error', 'attendance/record/error'),// 考勤打卡记录异常信息 ...restBuilder('attendance/record/error', 'attendance/record/error'),// 考勤打卡记录异常信息
...restBuilder('attendance/stat', 'attendance/stat'),// 考勤汇总信息 ...restBuilder('attendance/stat', 'attendance/stat'),// 考勤汇总信息
......
...@@ -119,7 +119,8 @@ export default { ...@@ -119,7 +119,8 @@ export default {
this.$store.commit('setHeadBar',[]) this.$store.commit('setHeadBar',[])
this.$store.commit("setCurrentParentName",'') this.$store.commit("setCurrentParentName",'')
this.$store.commit('setCurrentThirdArr',[]) this.$store.commit('setCurrentThirdArr',[])
console.log(this.menu,'菜单') this.$store.commit('setCurrentSecondPath','')
this.$store.commit('setThirdPath','')
}, },
methods:{ methods:{
tabChildren(name){ tabChildren(name){
...@@ -128,9 +129,10 @@ export default { ...@@ -128,9 +129,10 @@ export default {
this.$store.commit('setHeadBar',result) this.$store.commit('setHeadBar',result)
// 路由跳转 // 路由跳转
if(result.children.length>0){ if(result.children.length>0){
this.$router.push({path:result.children[0].path})
this.$store.commit('CurrentSecondPath',result.children[0].path)
this.$store.commit('setCurrentThirdArr',result.children[0].children) this.$store.commit('setCurrentThirdArr',result.children[0].children)
this.$store.commit('setCurrentSecondPath',result.children[0].path)
this.$store.commit('setThirdPath',result.children[0].path)
this.$router.push({path:result.children[0].path})
}else{ }else{
this.$message.error('暂未完成添加'); this.$message.error('暂未完成添加');
} }
......
...@@ -29,7 +29,10 @@ ...@@ -29,7 +29,10 @@
</el-scrollbar> </el-scrollbar>
</el-col> </el-col>
<el-col :span="18" :xs="12" class="mytree"> <el-col :span="18" :xs="12" class="mytree">
<LayoutTable :data="tableData" :config="tableConfig"></LayoutTable> <LayoutTable :data="tableData" :config="tableConfig">
<el-button type="primary" @click="doExport" :disabled="isExport"
size="mini" slot="table-head-left2">导出</el-button>
</LayoutTable>
</el-col> </el-col>
</el-row> </el-row>
<drawer-show ref="drawerform" @ok="getData" /> <drawer-show ref="drawerform" @ok="getData" />
...@@ -50,7 +53,7 @@ ...@@ -50,7 +53,7 @@
}, },
mixins: [table,tree], mixins: [table,tree],
created() { created() {
this.getpositions() console.log(this.activeName,'ssss')
}, },
computed:{ computed:{
thirdList(){ thirdList(){
...@@ -62,6 +65,16 @@ ...@@ -62,6 +65,16 @@
} }
}, },
methods: { methods: {
doExport(){
this.isExport = true;
this.$download("/staff/list/exportExcel", {
"idList": this.selection,
'name': this.$route.query['name'],
}, { type: "excel" }).then(() => this.isExport = false).catch(error => {
this.isExport = false;
this.$message.error(error.message);
})
},
/** 重写新增方法 */ /** 重写新增方法 */
toAdd(row) { toAdd(row) {
this.$refs.drawerform.add(row); this.$refs.drawerform.add(row);
...@@ -91,24 +104,24 @@ ...@@ -91,24 +104,24 @@
return { return {
config: { config: {
search: [ search: [
{ // {
name: "groupName", // name: "groupName",
type: "text", // type: "text",
label: "分组名称", // label: "分组名称",
fuzzy: true // fuzzy: true
}, // },
{ // {
name: "jobCode", // name: "jobCode",
type: "text", // type: "text",
label: "职位编码", // label: "职位编码",
fuzzy: true // fuzzy: true
}, // },
{ // {
name: "jobName", // name: "jobName",
type: "text", // type: "text",
label: "职位名称", // label: "职位名称",
fuzzy: true // fuzzy: true
}, // },
], ],
columns: [ columns: [
{type: "selection", width: 60}, {type: "selection", width: 60},
...@@ -134,7 +147,8 @@ ...@@ -134,7 +147,8 @@
} }
} }
] ]
} },
isExport:false
} }
} }
}; };
......
...@@ -4,17 +4,19 @@ ...@@ -4,17 +4,19 @@
<tab-pane :thirdList="thirdList" :activeName="activeName" @handleClick="handleClick"></tab-pane> <tab-pane :thirdList="thirdList" :activeName="activeName" @handleClick="handleClick"></tab-pane>
</div> </div>
<div class="totalNum flex"> <div class="totalNum flex">
<div class="item">在职员工 <span class="num">66</span></div> <div class="item">在职员工 <span class="num">{{tableData.staff.inWorkStaff}}</span></div>
<div class="item flex"> <div class="item flex">
<div>全职 <span class="num">66</span></div> <div>全职 <span class="num">{{tableData.staff.fullStaff}}</span></div>
<div>实习 <span class="num">66</span></div> <div>实习 <span class="num">{{tableData.staff.pricateStaff}}</span></div>
<div>兼职 <span class="num">66</span></div>
<!-- 兼职未对 -->
<div>兼职 <span class="num">{{tableData.staff.inWorkStaff}}</span></div>
</div> </div>
<div class="item flex"> <div class="item flex">
<div>试用 <span class="num">66</span></div> <div>试用 <span class="num">{{tableData.staff.onTrialStaff}}</span></div>
<div>正式 <span class="num">66</span></div> <div>正式 <span class="num">{{tableData.staff.formalStaff}}</span></div>
<div>待离职 <span class="num">66</span></div> <div>待离职 <span class="num">{{tableData.staff.resignationStaff}}</span></div>
</div> </div>
</div> </div>
<el-row :gutter="20"> <el-row :gutter="20">
...@@ -170,7 +172,7 @@ ...@@ -170,7 +172,7 @@
}, },
doExport(){ doExport(){
this.isExport = true; this.isExport = true;
this.$download("/staff/list/exportExcel", { this.$download("/staff/exportExcel", {
"idList": this.selection, "idList": this.selection,
'name': this.$route.query['name'], 'name': this.$route.query['name'],
}, { type: "excel" }).then(() => this.isExport = false).catch(error => { }, { type: "excel" }).then(() => this.isExport = false).catch(error => {
...@@ -232,10 +234,10 @@ ...@@ -232,10 +234,10 @@
], ],
isshowTabPane:false isshowTabPane:false
}, },
activeName:'first',
isshowHome:false, isshowHome:false,
personData:[], personData:[],
isExport:false isExport:false,
staffInfo:{}
} }
}, },
computed:{ computed:{
......
...@@ -6,19 +6,21 @@ ...@@ -6,19 +6,21 @@
<el-button type="primary" @click="$router.back()" size="small">返回上级</el-button> <el-button type="primary" @click="$router.back()" size="small">返回上级</el-button>
</div> </div>
<div class="persons"> <div class="persons">
<div class="cell1 flex flex-pack-justify"> <div class="cell1 flex">
<div class="avator"></div> <el-image
<div class="content"> style="width: 120px; height: 150px"
:src="allinfo.photoPath"
:preview-src-list="allinfo.photoPath">
</el-image>
<div class="content ml20">
<div class="c1"> <div class="c1">
<span>{{info.name}}</span> <span>{{info.workName}}</span>
<span class="tags" v-if="info.status == 1">正式</span> <span class="tags">{{info.workStatus}}</span>
<span class="tags" v-if="info.status == 2">试用</span>
<span class="tags" v-if="info.status == 3">离职</span>
</div> </div>
<div class="c2"> <div class="c2">
<span>{{info.positionName}}</span> <span>{{info.workDept}}</span>
<span style="margin:0 10px">|</span> <span style="margin:0 10px">|</span>
<span>1512</span> <span>{{info.workLimit}}</span>
</div> </div>
</div> </div>
</div> </div>
...@@ -26,11 +28,11 @@ ...@@ -26,11 +28,11 @@
<div class="title">成长记录</div> <div class="title">成长记录</div>
<div class="flex"> <div class="flex">
<div class="history"> <div class="history">
<div class="times">{{info.entryDate}}</div> <div class="times">{{info.workBeginDay}}</div>
<div>入职时间</div> <div>入职时间</div>
</div> </div>
<div class="history"> <div class="history">
<div class="times">{{info.regularDate}}</div> <div class="times">{{info.workFormalDay}}</div>
<div>转正时间</div> <div>转正时间</div>
</div> </div>
</div> </div>
...@@ -43,31 +45,31 @@ ...@@ -43,31 +45,31 @@
<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">2020</div> <div class="times ml20">{{info.attendanceCount}}</div>
</div> </div>
<div class="flex"> <div class="flex">
<div>请假天数</div> <div>请假天数</div>
<div class="times">2020</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">2020</div> <div class="times ml20">{{info.lateCount}}</div>
</div> </div>
<div class="flex"> <div class="flex">
<div>旷工天数</div> <div>旷工天数</div>
<div class="times">2020</div> <div class="times ml20">{{info.minerCount}}</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">2020天</div> <div class="times ml20">{{info.lackCardCount}}</div>
</div> </div>
<div class="flex"> <div class="flex">
<div>加班天数</div> <div>加班天数</div>
<div class="times">2020</div> <div class="times ml20">{{info.workOverDay}}</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -76,21 +78,21 @@ ...@@ -76,21 +78,21 @@
<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">2020</div> <div class="times ml20">{{info.compensatoryDay}}</div>
</div> </div>
<div class="flex"> <div class="flex">
<div>婚假</div> <div>婚假</div>
<div class="times">2020</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">2020</div> <div class="times ml20">{{info.winterHoliday}}</div>
</div> </div>
<div class="flex"> <div class="flex">
<div>陪产假</div> <div>陪产假</div>
<div class="times">2020</div> <div class="times ml20">{{info.paternityLeaveDay}}</div>
</div> </div>
</div> </div>
</div> </div>
...@@ -108,9 +110,8 @@ ...@@ -108,9 +110,8 @@
getdata(id){ getdata(id){
this.$get('/staff/info',{id}).then(res => { this.$get('/staff/info',{id}).then(res => {
if(res.code == 1){ if(res.code == 1){
this.info = res.data this.info = res.data.holidayLists[0]
this.info.entryDate = timestampToTime(this.info.entryDate) this.allinfo = res.data//总
this.info.regularDate = timestampToTime(this.info.regularDate)
} }
}) })
.catch(err => { .catch(err => {
...@@ -120,7 +121,8 @@ ...@@ -120,7 +121,8 @@
}, },
data() { data() {
return { return {
info:{} info:{},
allinfo:{}
} }
}, },
created(){ created(){
...@@ -136,11 +138,11 @@ ...@@ -136,11 +138,11 @@
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;
......
...@@ -14,8 +14,8 @@ ...@@ -14,8 +14,8 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<!--<Field label="ID" prop="id" v-model="form.id" v-if='pageInfo.type !== "add"' disabled />--> <!-- <Field label="ID" prop="id" v-model="form.id" v-if='pageInfo.type !== "add"' disabled />
<Field label="名称" prop="name" v-model="form.name"/> --> <Field label="名称" prop="name" v-model="form.name"/>
<Field label="权限类型" prop="authType" v-model="form.authType" :enumData='dict.authType' type='select' /> <Field label="权限类型" prop="authType" v-model="form.authType" :enumData='dict.authType' type='select' />
<Field label="访问地址" prop="url" v-model="form.url" /> <Field label="访问地址" prop="url" v-model="form.url" />
<Field label="状态" prop="status" v-model="form.status" :enumData='dict.status' type='radio' /> <Field label="状态" prop="status" v-model="form.status" :enumData='dict.status' type='radio' />
......
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