禅道bug修改
This commit is contained in:
parent
cc32767f42
commit
5d6bd54f5b
|
|
@ -50,10 +50,10 @@
|
|||
<div>打卡地异常</div>
|
||||
<h2>{{ todayAbnormalBean.addressErrorNum }}</h2>
|
||||
</div>
|
||||
<!-- <div class="listItem" style="background-color: #FFF0FB;" @click="toggleDialog(8,'')">
|
||||
<div class="listItem" style="background-color: #FFF0FB;visibility: hidden;" @click="toggleDialog(8,'')">
|
||||
<div>出入异常</div>
|
||||
<h2>{{ todayAbnormalBean.einErrorNum }}</h2>
|
||||
</div>-->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -233,6 +233,9 @@ export default {
|
|||
/** 缺员项目部数量 */
|
||||
openVacancyDeptList(row) {
|
||||
this.title = '缺员情况'
|
||||
this.queryVacancyDept.pageNum = 1
|
||||
this.queryVacancyDept.pageSize = 10
|
||||
this.queryVacancyDept.orgName = undefined
|
||||
this.queryVacancyDept.id = row.id
|
||||
this.showVacancyDept = true
|
||||
this.getUnderStaffingList()
|
||||
|
|
@ -251,6 +254,9 @@ export default {
|
|||
/** 兼职项目部数量 */
|
||||
openPartTimeJobList(row) {
|
||||
this.title = '兼职情况'
|
||||
this.queryPartTime.pageNum = 1
|
||||
this.queryPartTime.pageSize = 10
|
||||
this.queryPartTime.orgName = undefined
|
||||
this.queryPartTime.id = row.id
|
||||
this.showPartTime = true
|
||||
this.getPartTimeList()
|
||||
|
|
|
|||
|
|
@ -194,7 +194,7 @@
|
|||
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="所属部门:" prop="orgId">
|
||||
<!-- <el-form-item label="所属部门:" prop="orgId">
|
||||
<el-select
|
||||
v-model="form.orgId"
|
||||
@change="changDept"
|
||||
|
|
@ -207,6 +207,10 @@
|
|||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>-->
|
||||
|
||||
<el-form-item label="所属部门" prop="orgId">
|
||||
<treeselect v-model="form.orgId" :multiple="false" :flat="true" :options="deptOptions" :normalizer="normalizer" placeholder="选择所属部门" @select="onSelect" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
|
|
@ -618,6 +622,7 @@ import {
|
|||
import Treeselect from "@riophae/vue-treeselect";
|
||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||
import { getDaysDate } from "@/api/process/leaveReporting";
|
||||
import { listDeptTree } from '@/api/system/userInfo'
|
||||
|
||||
export default {
|
||||
name: "Evection",
|
||||
|
|
@ -763,12 +768,14 @@ export default {
|
|||
},
|
||||
},
|
||||
daysNumber: "",
|
||||
deptOptions:[],
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
this.getUserLists();
|
||||
this.getPersonSelect();
|
||||
this.getDeptList();
|
||||
},
|
||||
methods: {
|
||||
async handleDateChange() {
|
||||
|
|
@ -1055,6 +1062,25 @@ export default {
|
|||
}
|
||||
);
|
||||
},
|
||||
getDeptList(){
|
||||
listDeptTree().then(response => {
|
||||
this.deptOptions = this.handleTree(response.data, "id");
|
||||
});
|
||||
},
|
||||
/** 转换部门数据结构 */
|
||||
normalizer(node) {
|
||||
if (node.children && !node.children.length) {
|
||||
delete node.children;
|
||||
}
|
||||
return {
|
||||
id: node.id,
|
||||
label: node.orgName,
|
||||
children: node.children
|
||||
};
|
||||
},
|
||||
onSelect(selectedNode) {
|
||||
this.form.orgName = selectedNode.orgName;
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -130,7 +130,7 @@
|
|||
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="所属部门:" prop="orgId">
|
||||
<!-- <el-form-item label="所属部门:" prop="orgId">
|
||||
<el-select v-model="form.orgId" @change="changDept" style="width: 100%;">
|
||||
<el-option
|
||||
v-for="item in orgList"
|
||||
|
|
@ -139,6 +139,9 @@
|
|||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>-->
|
||||
<el-form-item label="所属部门" prop="orgId">
|
||||
<treeselect v-model="form.orgId" :multiple="false" :flat="true" :options="deptOptions" :normalizer="normalizer" placeholder="选择所属部门" @select="onSelect" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
|
|
@ -401,7 +404,7 @@ import {
|
|||
} from "@/api/process/leaveReporting";
|
||||
import Treeselect from "@riophae/vue-treeselect";
|
||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||
import {getSelectRole} from "@/api/system/userInfo";
|
||||
import { getSelectRole, listDeptTree } from '@/api/system/userInfo'
|
||||
import {listDeptUser} from "@/api/system/dept";
|
||||
// 转换函数
|
||||
function transformToTypeList(data) {
|
||||
|
|
@ -513,12 +516,14 @@ export default {
|
|||
},
|
||||
},
|
||||
daysNumber:"",
|
||||
deptOptions:[],
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
this.getUserLists();
|
||||
this.getLeaveReporting();
|
||||
this.getDeptList();
|
||||
},
|
||||
methods: {
|
||||
getLeaveReporting(){
|
||||
|
|
@ -736,6 +741,25 @@ export default {
|
|||
})
|
||||
})
|
||||
},
|
||||
getDeptList(){
|
||||
listDeptTree().then(response => {
|
||||
this.deptOptions = this.handleTree(response.data, "id");
|
||||
});
|
||||
},
|
||||
/** 转换部门数据结构 */
|
||||
normalizer(node) {
|
||||
if (node.children && !node.children.length) {
|
||||
delete node.children;
|
||||
}
|
||||
return {
|
||||
id: node.id,
|
||||
label: node.orgName,
|
||||
children: node.children
|
||||
};
|
||||
},
|
||||
onSelect(selectedNode) {
|
||||
this.form.orgName = selectedNode.orgName;
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@
|
|||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="所属部门:" prop="orgId">
|
||||
<!-- <el-form-item label="所属部门:" prop="orgId">
|
||||
<el-select v-model="form.orgId" @change="changDept" :disabled="isView" style="width: 100%;">
|
||||
<el-option
|
||||
v-for="item in orgList"
|
||||
|
|
@ -157,7 +157,12 @@
|
|||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>-->
|
||||
|
||||
<el-form-item label="所属部门" prop="orgId">
|
||||
<treeselect v-model="form.orgId" :multiple="false" :flat="true" :options="deptOptions" :normalizer="normalizer" placeholder="选择所属部门" @select="onSelect" />
|
||||
</el-form-item>
|
||||
|
||||
</el-col>
|
||||
<el-col :span="8">
|
||||
<el-form-item label="外出开始时间:" prop="leaveStartDate">
|
||||
|
|
@ -294,6 +299,7 @@ import {
|
|||
import Treeselect from "@riophae/vue-treeselect";
|
||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||
import {getDaysDate} from "@/api/process/leaveReporting";
|
||||
import { listDeptTree } from '@/api/system/userInfo'
|
||||
|
||||
export default {
|
||||
name: "OutApply",
|
||||
|
|
@ -422,11 +428,13 @@ export default {
|
|||
},
|
||||
},
|
||||
daysNumber: "",
|
||||
deptOptions:[],
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
this.getUserLists();
|
||||
this.getDeptList();
|
||||
},
|
||||
methods: {
|
||||
async handleDateChange() {
|
||||
|
|
@ -674,6 +682,26 @@ export default {
|
|||
})
|
||||
},
|
||||
|
||||
getDeptList(){
|
||||
listDeptTree().then(response => {
|
||||
this.deptOptions = this.handleTree(response.data, "id");
|
||||
});
|
||||
},
|
||||
/** 转换部门数据结构 */
|
||||
normalizer(node) {
|
||||
if (node.children && !node.children.length) {
|
||||
delete node.children;
|
||||
}
|
||||
return {
|
||||
id: node.id,
|
||||
label: node.orgName,
|
||||
children: node.children
|
||||
};
|
||||
},
|
||||
onSelect(selectedNode) {
|
||||
this.form.orgName = selectedNode.orgName;
|
||||
}
|
||||
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -8,6 +8,20 @@
|
|||
<el-input v-model="queryParams.orgName" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="审批状态" prop="examineStatus">
|
||||
<el-select
|
||||
v-model="queryParams.examineStatus"
|
||||
placeholder="审批状态" style="width: 95%"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in dict.type.apply_status"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
|
|
@ -308,6 +322,7 @@ export default {
|
|||
leaveType:"临时外出",
|
||||
userName: undefined,
|
||||
orgName: undefined,
|
||||
examineStatus: undefined
|
||||
},
|
||||
personOptions:[],
|
||||
typeList:[{value:'1',label:'固定班制'},{value:'2',label:'自由工时'}],
|
||||
|
|
|
|||
|
|
@ -157,7 +157,7 @@
|
|||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="所属部门:" prop="orgId">
|
||||
<!-- <el-form-item label="所属部门:" prop="orgId">
|
||||
<el-select v-model="form.orgId" @change="changDept" :disabled="isView" style="width: 100%;">
|
||||
<el-option
|
||||
v-for="item in orgList"
|
||||
|
|
@ -166,6 +166,9 @@
|
|||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>-->
|
||||
<el-form-item label="所属部门" prop="orgId">
|
||||
<treeselect v-model="form.orgId" :multiple="false" :flat="true" :options="deptOptions" :normalizer="normalizer" placeholder="选择所属部门" @select="onSelect" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
|
|
@ -291,6 +294,7 @@ import {
|
|||
import Treeselect from '@riophae/vue-treeselect'
|
||||
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
|
||||
import { getDaysDate } from '@/api/process/leaveReporting'
|
||||
import { listDeptTree } from '@/api/system/userInfo'
|
||||
|
||||
export default {
|
||||
name: 'RestApply',
|
||||
|
|
@ -402,12 +406,14 @@ export default {
|
|||
return v.getTime() < today.getTime()
|
||||
}
|
||||
},
|
||||
daysNumber: ''
|
||||
daysNumber: '',
|
||||
deptOptions:[],
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.getList()
|
||||
this.getUserLists()
|
||||
this.getDeptList();
|
||||
},
|
||||
methods: {
|
||||
async handleDateChange() {
|
||||
|
|
@ -638,6 +644,25 @@ export default {
|
|||
fileType: 'application/vnd.ms-excel;charset=utf-8'
|
||||
})
|
||||
})
|
||||
},
|
||||
getDeptList(){
|
||||
listDeptTree().then(response => {
|
||||
this.deptOptions = this.handleTree(response.data, "id");
|
||||
});
|
||||
},
|
||||
/** 转换部门数据结构 */
|
||||
normalizer(node) {
|
||||
if (node.children && !node.children.length) {
|
||||
delete node.children;
|
||||
}
|
||||
return {
|
||||
id: node.id,
|
||||
label: node.orgName,
|
||||
children: node.children
|
||||
};
|
||||
},
|
||||
onSelect(selectedNode) {
|
||||
this.form.orgName = selectedNode.orgName;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,6 +8,22 @@
|
|||
<el-input v-model="queryParams.orgName" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="审批状态" prop="examineStatus">
|
||||
<el-select
|
||||
v-model="queryParams.examineStatus"
|
||||
placeholder="审批状态" style="width: 95%"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in dict.type.apply_status"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
|
|
@ -299,6 +315,7 @@ export default {
|
|||
leaveType:"轮休",
|
||||
userName: undefined,
|
||||
orgName: undefined,
|
||||
examineStatus: undefined
|
||||
},
|
||||
personOptions:[],
|
||||
typeList:[{value:'1',label:'固定班制'},{value:'2',label:'自由工时'}],
|
||||
|
|
|
|||
|
|
@ -75,18 +75,10 @@
|
|||
<el-table-column label="上班打卡时间" align="center" prop="toWorkOriginalAttCurrentTime" width="180"></el-table-column>
|
||||
<el-table-column label="上班状态" align="center" prop="toWorkOriginalAttStatus">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.toWorkOriginalAttStatus==0">未打卡</div>
|
||||
<div v-if="scope.row.toWorkOriginalAttStatus==1">正常</div>
|
||||
<div style="color: #F1A4AD" v-if="scope.row.toWorkOriginalAttStatus==2">迟到</div>
|
||||
<div style="color: #29C9C9" v-if="scope.row.toWorkOriginalAttStatus==3">旷工</div>
|
||||
<div v-if="scope.row.toWorkOriginalAttStatus==4">早退</div>
|
||||
<div v-if="scope.row.toWorkOriginalAttStatus==5">轮休</div>
|
||||
<div style="color: #14ACF0" v-if="scope.row.toWorkOriginalAttStatus==6">请假</div>
|
||||
<div v-if="scope.row.toWorkOriginalAttStatus==7">临时外出</div>
|
||||
<div style="color: #DD1E36" v-if="scope.row.toWorkOriginalAttStatus==8">出入异常</div>
|
||||
<div v-if="scope.row.toWorkOriginalAttStatus==9">打卡地异常</div>
|
||||
<div v-if="scope.row.toWorkOriginalAttStatus==10">出差</div>
|
||||
<div v-if="scope.row.toWorkOriginalAttStatus==11">法定节假日</div>
|
||||
<dict-tag
|
||||
:options="dict.type.att_status"
|
||||
:value="scope.row.toWorkOriginalAttStatus"
|
||||
/>
|
||||
</template>
|
||||
|
||||
</el-table-column>
|
||||
|
|
@ -96,7 +88,14 @@
|
|||
<el-table-column label="修改后时间" align="center" prop="toWorkUpdateAttCurrentTime" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="修改后状态" align="center" prop="toWorkUpdateAttStatus" :show-overflow-tooltip="true">
|
||||
<template slot-scope="scope">
|
||||
<div style="cursor: pointer;" v-if="scope.row.toWorkUpdateAttStatus==0" @click="reasonDialog(scope.row.toErrorRemake)">未打卡</div>
|
||||
<div
|
||||
:style="getStatusStyle(scope.row.toWorkUpdateAttStatus)"
|
||||
style="cursor: pointer;"
|
||||
@click="reasonDialog(scope.row.toErrorRemake)"
|
||||
>
|
||||
{{ scope.row.toWorkUpdateAtt }}
|
||||
</div>
|
||||
<!-- <div style="cursor: pointer;" v-if="scope.row.toWorkUpdateAttStatus==0" @click="reasonDialog(scope.row.toErrorRemake)">未打卡</div>
|
||||
<div style="cursor: pointer;" v-if="scope.row.toWorkUpdateAttStatus==1" @click="reasonDialog(scope.row.toErrorRemake)">正常</div>
|
||||
<div style="cursor: pointer;color: #F1A4AD" v-if="scope.row.toWorkUpdateAttStatus==2" @click="reasonDialog(scope.row.toErrorRemake)">迟到</div>
|
||||
<div style="cursor: pointer;color: #29C9C9" v-if="scope.row.toWorkUpdateAttStatus==3" @click="reasonDialog(scope.row.toErrorRemake)">旷工</div>
|
||||
|
|
@ -108,6 +107,7 @@
|
|||
<div style="cursor: pointer;" v-if="scope.row.toWorkUpdateAttStatus==9" @click="reasonDialog(scope.row.toErrorRemake)">打卡地异常</div>
|
||||
<div style="cursor: pointer;" v-if="scope.row.toWorkUpdateAttStatus==10" @click="reasonDialog(scope.row.toErrorRemake)">出差</div>
|
||||
<div style="cursor: pointer;" v-if="scope.row.toWorkUpdateAttStatus==11" @click="reasonDialog(scope.row.toErrorRemake)">法定节假日</div>
|
||||
-->
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
|
|
@ -122,7 +122,13 @@
|
|||
<el-table-column label="下班打卡时间" align="center" prop="offWorkOriginalAttCurrentTime" width="180"></el-table-column>
|
||||
<el-table-column label="下班状态" align="center" prop="offWorkOriginalAttStatus">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.offWorkOriginalAttStatus==0">未打卡</div>
|
||||
|
||||
<dict-tag
|
||||
:options="dict.type.att_status"
|
||||
:value="scope.row.offWorkOriginalAttStatus"
|
||||
/>
|
||||
|
||||
<!-- <div v-if="scope.row.offWorkOriginalAttStatus==0">未打卡</div>
|
||||
<div v-if="scope.row.offWorkOriginalAttStatus==1">正常</div>
|
||||
<div style="color: #F1A4AD" v-if="scope.row.offWorkOriginalAttStatus==2">迟到</div>
|
||||
<div style="color: #29C9C9" v-if="scope.row.offWorkOriginalAttStatus==3">旷工</div>
|
||||
|
|
@ -133,14 +139,21 @@
|
|||
<div style="color: #DD1E36" v-if="scope.row.offWorkOriginalAttStatus==8">出入异常</div>
|
||||
<div v-if="scope.row.offWorkOriginalAttStatus==9">打卡地异常</div>
|
||||
<div v-if="scope.row.offWorkOriginalAttStatus==10">出差</div>
|
||||
<div v-if="scope.row.offWorkOriginalAttStatus==11">法定节假日</div>
|
||||
<div v-if="scope.row.offWorkOriginalAttStatus==11">法定节假日</div>-->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="打卡地址" align="center" prop="offWorkAttAddress" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="修改后时间" align="center" prop="offWorkUpdateAttCurrentTime" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="修改后状态" align="center" prop="offWorkUpdateAttStatus" :show-overflow-tooltip="true">
|
||||
<template slot-scope="scope">
|
||||
<div style="cursor: pointer;" v-if="scope.row.offWorkUpdateAttStatus==0" @click="reasonDialog(scope.row.offErrorRemake)">未打卡</div>
|
||||
<div
|
||||
:style="getStatusStyle(scope.row.offWorkUpdateAttStatus)"
|
||||
style="cursor: pointer;"
|
||||
@click="reasonDialog(scope.row.offErrorRemake)"
|
||||
>
|
||||
{{ scope.row.offWorkUpdateAtt }}
|
||||
</div>
|
||||
<!-- <div style="cursor: pointer;" v-if="scope.row.offWorkUpdateAttStatus==0" @click="reasonDialog(scope.row.offErrorRemake)">未打卡</div>
|
||||
<div style="cursor: pointer;" v-if="scope.row.offWorkUpdateAttStatus==1" @click="reasonDialog(scope.row.offErrorRemake)">正常</div>
|
||||
<div style="cursor: pointer;color: #F1A4AD" v-if="scope.row.offWorkUpdateAttStatus==2" @click="reasonDialog(scope.row.offErrorRemake)">迟到</div>
|
||||
<div style="cursor: pointer;color: #29C9C9" v-if="scope.row.offWorkUpdateAttStatus==3" @click="reasonDialog(scope.row.offErrorRemake)">旷工</div>
|
||||
|
|
@ -152,6 +165,7 @@
|
|||
<div style="cursor: pointer;" v-if="scope.row.offWorkUpdateAttStatus==9" @click="reasonDialog(scope.row.offErrorRemake)">打卡地异常</div>
|
||||
<div style="cursor: pointer;" v-if="scope.row.offWorkUpdateAttStatus==10" @click="reasonDialog(scope.row.offErrorRemake)">出差</div>
|
||||
<div style="cursor: pointer;" v-if="scope.row.offWorkUpdateAttStatus==11" @click="reasonDialog(scope.row.offErrorRemake)">法定节假日</div>
|
||||
-->
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
|
|
@ -182,18 +196,22 @@
|
|||
<el-table-column label="上班打卡时间" align="center" prop="toWorkOriginalAttCurrentTime" width="150"/>
|
||||
<el-table-column label="上班状态" align="center" prop="toWorkOriginalAttStatus" width="120">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.toWorkOriginalAttStatus==0">未打卡</div>
|
||||
<div v-if="scope.row.toWorkOriginalAttStatus==1">正常</div>
|
||||
<div style="color: #F1A4AD" v-if="scope.row.toWorkOriginalAttStatus==2">迟到</div>
|
||||
<div style="color: #29C9C9" v-if="scope.row.toWorkOriginalAttStatus==3">旷工</div>
|
||||
<div v-if="scope.row.toWorkOriginalAttStatus==4">早退</div>
|
||||
<div v-if="scope.row.toWorkOriginalAttStatus==5">轮休</div>
|
||||
<div style="color: #14ACF0" v-if="scope.row.toWorkOriginalAttStatus==6">请假</div>
|
||||
<div v-if="scope.row.toWorkOriginalAttStatus==7">临时外出</div>
|
||||
<div style="color: #DD1E36" v-if="scope.row.toWorkOriginalAttStatus==8">出入异常</div>
|
||||
<div v-if="scope.row.toWorkOriginalAttStatus==9">打卡地异常</div>
|
||||
<div v-if="scope.row.toWorkOriginalAttStatus==10">出差</div>
|
||||
<div v-if="scope.row.toWorkOriginalAttStatus==11">法定节假日</div>
|
||||
<dict-tag
|
||||
:options="dict.type.att_status"
|
||||
:value="scope.row.toWorkOriginalAttStatus"
|
||||
/>
|
||||
<!-- <div v-if="scope.row.toWorkOriginalAttStatus==0">未打卡</div>-->
|
||||
<!-- <div v-if="scope.row.toWorkOriginalAttStatus==1">正常</div>-->
|
||||
<!-- <div style="color: #F1A4AD" v-if="scope.row.toWorkOriginalAttStatus==2">迟到</div>-->
|
||||
<!-- <div style="color: #29C9C9" v-if="scope.row.toWorkOriginalAttStatus==3">旷工</div>-->
|
||||
<!-- <div v-if="scope.row.toWorkOriginalAttStatus==4">早退</div>-->
|
||||
<!-- <div v-if="scope.row.toWorkOriginalAttStatus==5">轮休</div>-->
|
||||
<!-- <div style="color: #14ACF0" v-if="scope.row.toWorkOriginalAttStatus==6">请假</div>-->
|
||||
<!-- <div v-if="scope.row.toWorkOriginalAttStatus==7">临时外出</div>-->
|
||||
<!-- <div style="color: #DD1E36" v-if="scope.row.toWorkOriginalAttStatus==8">出入异常</div>-->
|
||||
<!-- <div v-if="scope.row.toWorkOriginalAttStatus==9">打卡地异常</div>-->
|
||||
<!-- <div v-if="scope.row.toWorkOriginalAttStatus==10">出差</div>-->
|
||||
<!-- <div v-if="scope.row.toWorkOriginalAttStatus==11">法定节假日</div>-->
|
||||
</template>
|
||||
|
||||
</el-table-column>
|
||||
|
|
@ -213,6 +231,7 @@
|
|||
<div style="cursor:pointer;" v-if="scope.row.toWorkUpdateAttStatus==9" @click="reasonDialog(scope.row.toErrorRemake)">打卡地异常</div>
|
||||
<div style="cursor:pointer;" v-if="scope.row.toWorkUpdateAttStatus==10" @click="reasonDialog(scope.row.toErrorRemake)">出差</div>
|
||||
<div style="cursor:pointer;" v-if="scope.row.toWorkUpdateAttStatus==11" @click="reasonDialog(scope.row.toErrorRemake)">法定节假日</div>
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="修改后附件" align="center" width="150" :show-overflow-tooltip="true">
|
||||
|
|
@ -225,7 +244,11 @@
|
|||
<el-table-column label="下班打卡时间" align="center" prop="offWorkOriginalAttCurrentTime" width="150"></el-table-column>
|
||||
<el-table-column label="下班状态" align="center" prop="offWorkOriginalAttStatus" width="120">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.offWorkOriginalAttStatus==0">未打卡</div>
|
||||
<dict-tag
|
||||
:options="dict.type.att_status"
|
||||
:value="scope.row.offWorkOriginalAttStatus"
|
||||
/>
|
||||
<!-- <div v-if="scope.row.offWorkOriginalAttStatus==0">未打卡</div>
|
||||
<div v-if="scope.row.offWorkOriginalAttStatus==1">正常</div>
|
||||
<div style="color: #F1A4AD" v-if="scope.row.offWorkOriginalAttStatus==2">迟到</div>
|
||||
<div style="color: #29C9C9" v-if="scope.row.offWorkOriginalAttStatus==3">旷工</div>
|
||||
|
|
@ -236,7 +259,7 @@
|
|||
<div style="color: #DD1E36" v-if="scope.row.offWorkOriginalAttStatus==8">出入异常</div>
|
||||
<div v-if="scope.row.offWorkOriginalAttStatus==9">打卡地异常</div>
|
||||
<div v-if="scope.row.offWorkOriginalAttStatus==10">出差</div>
|
||||
<div v-if="scope.row.offWorkOriginalAttStatus==11">法定节假日</div>
|
||||
<div v-if="scope.row.offWorkOriginalAttStatus==11">法定节假日</div>-->
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="打卡地址" align="center" prop="offWorkAttAddress" :show-overflow-tooltip="true" width="150"/>
|
||||
|
|
@ -301,10 +324,12 @@ import BnsKkFilePreview from '@/views/bns-kkFile-preview'
|
|||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||
import { getToken } from '@/utils/auth'
|
||||
|
||||
import DictTag from './dictTag.vue';
|
||||
|
||||
export default {
|
||||
name: "Check",
|
||||
dicts: ['att_status'],
|
||||
components: {Treeselect,BnsKkFilePreview},
|
||||
components: {Treeselect,BnsKkFilePreview,DictTag},
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
|
|
@ -554,6 +579,17 @@ export default {
|
|||
}
|
||||
console.log(this.kkFilePreview)
|
||||
},
|
||||
|
||||
getStatusStyle(status) {
|
||||
const styleMap = {
|
||||
2: { color: '#F1A4AD' }, // 迟到
|
||||
3: { color: '#29C9C9' }, // 旷工
|
||||
6: { color: '#14ACF0' }, // 请假
|
||||
8: { color: '#DD1E36' } // 出入异常
|
||||
};
|
||||
return styleMap[status] || {};
|
||||
},
|
||||
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,39 @@
|
|||
<template>
|
||||
<div :style="getStyle">
|
||||
{{ getText }}
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'dictTag',
|
||||
props: {
|
||||
options: {
|
||||
type: Array,
|
||||
required: true
|
||||
},
|
||||
value: {
|
||||
type: Number,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
getText() {
|
||||
const option = this.options.find(opt => opt.value === this.value);
|
||||
return option ? option.label : '未知状态';
|
||||
},
|
||||
getStyle() {
|
||||
const styleMap = {
|
||||
2: { color: '#F1A4AD' }, // 迟到
|
||||
3: { color: '#29C9C9' }, // 旷工
|
||||
6: { color: '#14ACF0' } // 请假
|
||||
};
|
||||
return styleMap[this.value] || {};
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
|
|
@ -567,8 +567,13 @@ export default {
|
|||
this.dialogList = selection.slice()
|
||||
},
|
||||
openDialog() {
|
||||
console.log(this.dialogList)
|
||||
if (this.dialogList.length > 0) {
|
||||
this.dialogList.forEach(item => {
|
||||
item.filesVoList = [];
|
||||
item.toErrorRemake = "";
|
||||
item.offErrorRemake = "";
|
||||
});
|
||||
console.log(this.dialogList)
|
||||
this.open = true
|
||||
this.dialogListOld = JSON.parse(JSON.stringify(this.dialogList))
|
||||
} else {
|
||||
|
|
@ -724,15 +729,16 @@ export default {
|
|||
submitEdit() {
|
||||
let paramList = []
|
||||
let hasError = false
|
||||
let hasChanges = false;
|
||||
|
||||
|
||||
this.dialogList.forEach((newItem, index) => {
|
||||
const oldItem = this.dialogListOld[index]
|
||||
|
||||
|
||||
// 检查toWorkAttCurrentTime或toWorkAttStatus是否改变
|
||||
if ((newItem.toWorkAttCurrentTime !== oldItem.toWorkAttCurrentTime || newItem.toWorkAttStatus !== oldItem.toWorkAttStatus) &&
|
||||
(!newItem.toErrorRemake || newItem.toErrorRemake === '' || !this.hasAttachments(newItem.filesVoList, '1') )) {
|
||||
hasError = true
|
||||
hasChanges = true;
|
||||
this.$message({ message: '上班时间或状态改变时,原因说明、附件不能为空!', type: 'warning' })
|
||||
}
|
||||
|
||||
|
|
@ -740,10 +746,10 @@ export default {
|
|||
if ((newItem.offWorkAttCurrentTime !== oldItem.offWorkAttCurrentTime || newItem.offWorkAttStatus !== oldItem.offWorkAttStatus) &&
|
||||
(!newItem.offErrorRemake || newItem.offErrorRemake === '' || !this.hasAttachments(newItem.filesVoList, '1') )) {
|
||||
hasError = true
|
||||
hasChanges = true;
|
||||
this.$message({ message: '下班时间或状态改变时,原因说明、附件不能为空!', type: 'warning' })
|
||||
}
|
||||
|
||||
|
||||
// 如果没有错误,则构建参数对象
|
||||
if (!hasError) {
|
||||
let obj = {
|
||||
|
|
@ -763,6 +769,11 @@ export default {
|
|||
}
|
||||
})
|
||||
console.log("aa=",paramList)
|
||||
if(!hasChanges){
|
||||
this.$message({ message: '没有数据变化,无需更新!', type: 'info' });
|
||||
return;
|
||||
}
|
||||
|
||||
if (!hasError) {
|
||||
updateAttDetails(paramList).then(response => {
|
||||
if (response.code === 200) {
|
||||
|
|
|
|||
|
|
@ -14,10 +14,8 @@
|
|||
<treeselect v-model="queryParams.orgId" :options="deptOptions" :normalizer="normalizer" placeholder="选择部门" style="width: 240px"/>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
|
||||
<el-form-item label="岗位名称" prop="postId">
|
||||
<el-select v-model="form.postId" filterable placeholder="选择岗位" clearable style="width: 100%;">
|
||||
<el-select v-model="queryParams.postId" filterable placeholder="选择岗位" clearable style="width: 100%;">
|
||||
<el-option v-for="dict in dict.type.post_list" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value"></el-option>
|
||||
</el-select>
|
||||
|
|
@ -511,6 +509,7 @@
|
|||
if (valid) {
|
||||
if (this.form.userId != undefined) {
|
||||
this.form.newFace = "";
|
||||
this.form.orgIds = [this.form.orgIds]
|
||||
console.log("人员修改",this.form);
|
||||
updateUser(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
|
|
|
|||
Loading…
Reference in New Issue