八大员,考勤明细修改记录
This commit is contained in:
parent
6cf1a8d8d6
commit
667da128f8
|
|
@ -0,0 +1,29 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
// 查询八大员列表
|
||||
export function getOrgEightRoleTable(query) {
|
||||
return request({
|
||||
url: '/system/proDeptRole/getOrgEightRoleTable',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询八大员-缺员/兼职情况列表
|
||||
export function getOrgEightRoleDetail(query) {
|
||||
return request({
|
||||
url: '/system/proDeptRole/getOrgEightRoleDetail',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询八大员-缺员/兼职情况列表
|
||||
export function getMoreOrgData(query) {
|
||||
return request({
|
||||
url: '/system/proDeptRole/getMoreOrgData',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
|
|
@ -28,3 +28,12 @@ export function getDetailsRecordList(query) {
|
|||
})
|
||||
}
|
||||
|
||||
// 考勤明细修改审批
|
||||
export function updateAttDetailsDataExamine(data) {
|
||||
return request({
|
||||
url: '/system/attDetails/updateAttDetailsDataExamine',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px">
|
||||
<el-form-item label="分公司名称" prop="orgName">
|
||||
<el-form-item label="分公司名称" prop="parentOrgName">
|
||||
<el-input
|
||||
v-model="queryParams.orgName"
|
||||
v-model="queryParams.parentOrgName"
|
||||
maxlength="28"
|
||||
placeholder="请输入分公司名称"
|
||||
clearable
|
||||
|
|
@ -24,15 +24,15 @@
|
|||
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="分公司名称" align="center" prop="orgName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="分公司名称" align="center" prop="parentOrgName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="缺员情况" align="center" :show-overflow-tooltip="true">
|
||||
<template slot-scope="scope">
|
||||
<div style="color: #1890FF; cursor: pointer" @click="goShortageSituation(scope.row)">{{scope.row.deptRoleName}}</div>
|
||||
<div style="color: #1890FF; cursor: pointer" @click="goShortageSituation(scope.row)">{{scope.row.lackOrgName}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="兼职情况" align="center" :show-overflow-tooltip="true">
|
||||
<template slot-scope="scope">
|
||||
<div style="color: #1890FF; cursor: pointer" @click="goPartTimeSituation(scope.row)">{{scope.row.deptRoleName}}</div>
|
||||
<div style="color: #1890FF; cursor: pointer" @click="goPartTimeSituation(scope.row)">{{scope.row.moreOrgName}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
@ -78,7 +78,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import {getRoleUserList, proDeptRole} from "@/api/process/rolesRemind";
|
||||
import {getOrgEightRoleTable} from "@/api/process/eightMembers";
|
||||
import { treeselect as staffTreeselect, roleStaffTreeselect } from "@/api/process/tree";
|
||||
|
||||
|
||||
|
|
@ -108,10 +108,7 @@ export default {
|
|||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
deptRoleName: undefined,
|
||||
orgName: undefined,
|
||||
userName: undefined,
|
||||
departmentId:"-1"
|
||||
parentOrgName:undefined
|
||||
},
|
||||
// 人员列表
|
||||
staffOptions: [],
|
||||
|
|
@ -133,7 +130,7 @@ export default {
|
|||
/** 查询列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
getRoleUserList(this.queryParams).then(response => {
|
||||
getOrgEightRoleTable(this.queryParams).then(response => {
|
||||
this.typeList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
|
|
@ -148,17 +145,7 @@ export default {
|
|||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
orgId: undefined,
|
||||
orgName: undefined,
|
||||
departmentId: undefined,
|
||||
deptRoleId: undefined,
|
||||
deptRoleName: undefined,
|
||||
userId: undefined,
|
||||
userName: undefined,
|
||||
reviewerStatus: undefined,
|
||||
reviewerTime: undefined,
|
||||
reviewerUserId: undefined,
|
||||
roleType: undefined,
|
||||
parentOrgName:undefined,
|
||||
staffOptions:[]
|
||||
};
|
||||
this.defaultCheckedKeys = []; // 重置默认选中的节点
|
||||
|
|
@ -177,23 +164,16 @@ export default {
|
|||
/** 分配人员按钮操作 */
|
||||
handleAllocation(row) {
|
||||
this.reset();
|
||||
this.getStaffTreeselect(row);
|
||||
this.form = row;
|
||||
this.open = true;
|
||||
this.title = "分配人员";
|
||||
},
|
||||
|
||||
/** 查询员工树结构 */
|
||||
getStaffTreeselect(data) {
|
||||
staffTreeselect(data).then(response => {
|
||||
this.staffOptions = response.data;
|
||||
});
|
||||
},
|
||||
goShortageSituation(item){
|
||||
this.$router.push({path:"/process/shortageSituation",query:{orgId:item.orgId}})
|
||||
this.$router.push({path:"/process/shortageSituation",query:{parentOrgName:item.parentOrgName,lackOrgId:item.lackOrgId}})
|
||||
},
|
||||
goPartTimeSituation(item){
|
||||
this.$router.push({path:"/process/partTimeSituation",query:{orgId:item.orgId}})
|
||||
this.$router.push({path:"/process/partTimeSituation",query:{parentOrgName:item.parentOrgName,moreOrgId:item.moreOrgId}})
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm: function() {
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px">
|
||||
<el-form-item label="项目部名称" prop="orgName">
|
||||
<el-form-item label="项目部名称" prop="parentOrgName">
|
||||
<el-input
|
||||
v-model="queryParams.orgName"
|
||||
v-model="queryParams.parentOrgName"
|
||||
maxlength="28"
|
||||
placeholder="请输入项目部名称"
|
||||
clearable
|
||||
|
|
@ -12,17 +12,6 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="人员" prop="userName">
|
||||
<el-input
|
||||
v-model="queryParams.userName"
|
||||
maxlength="28"
|
||||
placeholder="请输入人员名称"
|
||||
clearable
|
||||
style="width: 200px"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</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>
|
||||
|
|
@ -36,30 +25,54 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="项目部名称" align="center" prop="orgName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="项目经理" align="center" prop="deptRoleName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="项目经理" align="center" :show-overflow-tooltip="true">
|
||||
<template slot-scope="scope">
|
||||
<div style="color: #1890FF; cursor: pointer" @click="handleAllocation(scope.row,1)">{{scope.row.projectManager}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="安全员" align="center" :show-overflow-tooltip="true">
|
||||
<template slot-scope="scope">
|
||||
<div style="color: #1890FF; cursor: pointer" @click="handleAllocation(scope.row)">{{scope.row.deptRoleName}}</div>
|
||||
<div style="color: #1890FF; cursor: pointer" @click="handleAllocation(scope.row,2)">{{scope.row.safetyOfficer}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
|
||||
<el-table-column label="质检员" align="center" prop="orgName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="项目总工" align="center" prop="deptRoleName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="机械员" align="center" prop="deptRoleName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="质检员" align="center" :show-overflow-tooltip="true" >
|
||||
<template slot-scope="scope">
|
||||
<div style="color: #1890FF; cursor: pointer" @click="handleAllocation(scope.row,3)">{{scope.row.qualityInspector}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="项目总工" align="center" :show-overflow-tooltip="true" >
|
||||
<template slot-scope="scope">
|
||||
<div style="color: #1890FF; cursor: pointer" @click="handleAllocation(scope.row,4)">{{scope.row.chiefEngineer}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="机械员" align="center" :show-overflow-tooltip="true" >
|
||||
<template slot-scope="scope">
|
||||
<div style="color: #1890FF; cursor: pointer" @click="handleAllocation(scope.row,5)">{{scope.row.mechanicalStaff}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="资料员" align="center" :show-overflow-tooltip="true">
|
||||
<template slot-scope="scope">
|
||||
<div style="color: #1890FF; cursor: pointer" @click="handleAllocation(scope.row)">{{scope.row.orgName}}</div>
|
||||
<div style="color: #1890FF; cursor: pointer" @click="handleAllocation(scope.row,6)">{{scope.row.documentStaff}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="施工员" align="center" :show-overflow-tooltip="true">
|
||||
<template slot-scope="scope">
|
||||
<div style="color: #1890FF; cursor: pointer" @click="handleAllocation(scope.row)">{{scope.row.deptRoleName}}</div>
|
||||
<div style="color: #1890FF; cursor: pointer" @click="handleAllocation(scope.row,7)">{{scope.row.constructionStaff}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="材料员" align="center" :show-overflow-tooltip="true" >
|
||||
<template slot-scope="scope">
|
||||
<div style="color: #1890FF; cursor: pointer" @click="handleAllocation(scope.row,8)">{{scope.row.materialStaff}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="其他" align="center" :show-overflow-tooltip="true" >
|
||||
<template slot-scope="scope">
|
||||
<div style="color: #1890FF; cursor: pointer" @click="handleAllocation(scope.row,9)">{{scope.row.other}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="材料员" align="center" prop="deptRoleName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="其他" align="center" prop="deptRoleName" :show-overflow-tooltip="true" />
|
||||
|
||||
</el-table>
|
||||
|
||||
|
|
@ -74,58 +87,30 @@
|
|||
<!-- 添加或修改参数配置对话框 -->
|
||||
<el-dialog :title="title" :visible.sync="open" width="650px" append-to-body>
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-row>
|
||||
<!-- 使用v-for遍历MoreOrgDataList -->
|
||||
<el-row v-for="(item, index) in MoreOrgDataList" :key="index">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="兼职人员:" prop="orgName" label-width="90px">
|
||||
<el-input v-model="form.orgName" :disabled="true" />
|
||||
<el-input :value="item.userName" :disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="兼职角色:" prop="deptRoleName" label-width="90px">
|
||||
<el-input v-model="form.deptRoleName" :disabled="true" />
|
||||
<el-input :value="item.deptRoleName" :disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="兼职人员:" prop="orgName" label-width="90px">
|
||||
<el-input v-model="form.orgName" :disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="兼职角色:" prop="deptRoleName" label-width="90px">
|
||||
<el-input v-model="form.deptRoleName" :disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="兼职人员:" prop="orgName" label-width="90px">
|
||||
<el-input v-model="form.orgName" :disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="兼职角色:" prop="deptRoleName" label-width="90px">
|
||||
<el-input v-model="form.deptRoleName" :disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer" align="center">
|
||||
<el-button @click="cancel">关闭</el-button>
|
||||
<el-button @click="cancels">关闭</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {getRoleUserList, proDeptRole} from "@/api/process/rolesRemind";
|
||||
import { treeselect as staffTreeselect, roleStaffTreeselect } from "@/api/process/tree";
|
||||
import Treeselect from "@riophae/vue-treeselect";
|
||||
import {getOrgEightRoleDetail,getMoreOrgData} from "@/api/process/eightMembers";
|
||||
|
||||
|
||||
export default {
|
||||
|
|
@ -147,6 +132,7 @@ export default {
|
|||
total: 0,
|
||||
// 字典表格数据
|
||||
typeList: [],
|
||||
MoreOrgDataList:[],
|
||||
// 弹出层标题
|
||||
title: "",
|
||||
// 是否显示弹出层
|
||||
|
|
@ -155,11 +141,10 @@ export default {
|
|||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
deptRoleName: undefined,
|
||||
orgName: undefined,
|
||||
userName: undefined,
|
||||
departmentId:"-1"
|
||||
parentOrgName:undefined,
|
||||
moreOrgId:this.$route.query.moreOrgId
|
||||
},
|
||||
paramsQuery:{},
|
||||
// 人员列表
|
||||
staffOptions: [],
|
||||
// 默认选中的节点 id 数组
|
||||
|
|
@ -180,7 +165,7 @@ export default {
|
|||
/** 查询列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
getRoleUserList(this.queryParams).then(response => {
|
||||
getOrgEightRoleDetail(this.queryParams).then(response => {
|
||||
this.typeList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
|
|
@ -195,18 +180,7 @@ export default {
|
|||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
orgId: undefined,
|
||||
orgName: undefined,
|
||||
departmentId: undefined,
|
||||
deptRoleId: undefined,
|
||||
deptRoleName: undefined,
|
||||
userId: undefined,
|
||||
userName: undefined,
|
||||
reviewerStatus: undefined,
|
||||
reviewerTime: undefined,
|
||||
reviewerUserId: undefined,
|
||||
roleType: undefined,
|
||||
staffOptions:[]
|
||||
parentOrgName:undefined
|
||||
};
|
||||
this.defaultCheckedKeys = []; // 重置默认选中的节点
|
||||
this.resetForm("form");
|
||||
|
|
@ -221,21 +195,29 @@ export default {
|
|||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
/** 分配人员按钮操作 */
|
||||
handleAllocation(row) {
|
||||
/** 按钮操作 */
|
||||
handleAllocation(row,deptRoleId) {
|
||||
this.reset();
|
||||
this.getStaffTreeselect(row);
|
||||
this.getDialogData(row,deptRoleId);
|
||||
this.form = row;
|
||||
this.open = true;
|
||||
},
|
||||
|
||||
/** 查询员工树结构 */
|
||||
getStaffTreeselect(data) {
|
||||
staffTreeselect(data).then(response => {
|
||||
this.staffOptions = response.data;
|
||||
getDialogData(data,deptRoleId) {
|
||||
console.log(data.orgId)
|
||||
this.paramsQuery={
|
||||
orgId:data.orgId,
|
||||
deptRoleId:deptRoleId
|
||||
}
|
||||
getMoreOrgData(this.paramsQuery).then(response => {
|
||||
this.MoreOrgDataList = response.data;
|
||||
});
|
||||
},
|
||||
|
||||
cancels(){
|
||||
this.open = false;
|
||||
this.MoreOrgDataList=[];
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm: function() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px">
|
||||
<el-form-item label="项目部名称" prop="orgName">
|
||||
<el-form-item label="项目部名称" prop="parentOrgName">
|
||||
<el-input
|
||||
v-model="queryParams.orgName"
|
||||
v-model="queryParams.parentOrgName"
|
||||
maxlength="28"
|
||||
placeholder="请输入项目部名称"
|
||||
clearable
|
||||
|
|
@ -12,17 +12,6 @@
|
|||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="人员" prop="userName">
|
||||
<el-input
|
||||
v-model="queryParams.userName"
|
||||
maxlength="28"
|
||||
placeholder="请输入人员名称"
|
||||
clearable
|
||||
style="width: 200px"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</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>
|
||||
|
|
@ -36,15 +25,15 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="项目部名称" align="center" prop="orgName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="项目经理" align="center" prop="deptRoleName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="安全员" align="center" prop="deptRoleName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="质检员" align="center" prop="orgName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="项目总工" align="center" prop="deptRoleName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="机械员" align="center" prop="deptRoleName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="资料员" align="center" prop="orgName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="施工员" align="center" prop="deptRoleName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="材料员" align="center" prop="deptRoleName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="其他" align="center" prop="deptRoleName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="项目经理" align="center" prop="projectManager" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="安全员" align="center" prop="safetyOfficer" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="质检员" align="center" prop="qualityInspector" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="项目总工" align="center" prop="chiefEngineer" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="机械员" align="center" prop="mechanicalStaff" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="资料员" align="center" prop="documentStaff" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="施工员" align="center" prop="constructionStaff" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="材料员" align="center" prop="materialStaff" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="其他" align="center" prop="other" :show-overflow-tooltip="true" />
|
||||
|
||||
</el-table>
|
||||
|
||||
|
|
@ -89,7 +78,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import {getRoleUserList, proDeptRole} from "@/api/process/rolesRemind";
|
||||
import {getOrgEightRoleDetail} from "@/api/process/eightMembers";
|
||||
import { treeselect as staffTreeselect, roleStaffTreeselect } from "@/api/process/tree";
|
||||
|
||||
|
||||
|
|
@ -119,10 +108,8 @@ export default {
|
|||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
deptRoleName: undefined,
|
||||
orgName: undefined,
|
||||
userName: undefined,
|
||||
departmentId:"-1"
|
||||
parentOrgName:undefined,
|
||||
lackOrgId:this.$route.query.lackOrgId
|
||||
},
|
||||
// 人员列表
|
||||
staffOptions: [],
|
||||
|
|
@ -144,7 +131,7 @@ export default {
|
|||
/** 查询列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
getRoleUserList(this.queryParams).then(response => {
|
||||
getOrgEightRoleDetail(this.queryParams).then(response => {
|
||||
this.typeList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
|
|
@ -159,18 +146,7 @@ export default {
|
|||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
orgId: undefined,
|
||||
orgName: undefined,
|
||||
departmentId: undefined,
|
||||
deptRoleId: undefined,
|
||||
deptRoleName: undefined,
|
||||
userId: undefined,
|
||||
userName: undefined,
|
||||
reviewerStatus: undefined,
|
||||
reviewerTime: undefined,
|
||||
reviewerUserId: undefined,
|
||||
roleType: undefined,
|
||||
staffOptions:[]
|
||||
parentOrgName:undefined
|
||||
};
|
||||
this.defaultCheckedKeys = []; // 重置默认选中的节点
|
||||
this.resetForm("form");
|
||||
|
|
|
|||
|
|
@ -49,16 +49,24 @@
|
|||
<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>
|
||||
<el-button type="success" icon="el-icon-s-check" size="mini" @click="openDialog">批量审批</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
|
||||
<el-table v-loading="loading" :data="typeList">
|
||||
<el-table v-loading="loading" :data="typeList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" align="center" :selectable="selectable"/>
|
||||
<el-table-column label="序号" align="center" width="80" type="index">
|
||||
<template slot-scope="scope">
|
||||
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="审批状态" align="center" prop="reviewerStatus"/>
|
||||
<el-table-column label="审批状态" align="center" prop="reviewerStatus">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.reviewerStatus==0">待审核</div>
|
||||
<div v-if="scope.row.reviewerStatus==1">已审核</div>
|
||||
<div v-if="scope.row.reviewerStatus==2">已拒绝</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="姓名" align="center" prop="userName"/>
|
||||
<el-table-column label="所属部门" align="center" prop="orgName" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="考勤日期" align="center" prop="attCurrentDay" :show-overflow-tooltip="true">
|
||||
|
|
@ -82,8 +90,8 @@
|
|||
|
||||
</el-table-column>
|
||||
<el-table-column label="打卡地址" align="center" prop="toWorkAttAddress" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="修改后时间" align="center" prop="toWorkErrorRemake" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="修改后状态" align="center" prop="toWorkErrorRemake" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="修改后时间" align="center" prop="toWorkErrorRemakes" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="修改后状态" align="center" prop="toWorkErrorRemakes" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="下班打卡时间" align="center" prop="offWorkAttCurrentTime" width="180"></el-table-column>
|
||||
<el-table-column label="下班状态" align="center" prop="offWorkAttStatus">
|
||||
<template slot-scope="scope">
|
||||
|
|
@ -102,8 +110,8 @@
|
|||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="打卡地址" align="center" prop="offWorkAttAddress" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="修改后时间" align="center" prop="offWorkErrorRemake" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="修改后状态" align="center" prop="offWorkErrorRemake" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="修改后时间" align="center" prop="offWorkErrorRemakes" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="修改后状态" align="center" prop="offWorkErrorRemakes" :show-overflow-tooltip="true"/>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
|
|
@ -114,13 +122,66 @@
|
|||
@pagination="getList"
|
||||
/>
|
||||
|
||||
<el-dialog title="批量审批" :visible.sync="open" width="1300px" append-to-body>
|
||||
<el-table v-loading="loading" :data="dialogList" width="100%" height="500px">
|
||||
<el-table-column label="序号" type="index" width="55" align="center"/>
|
||||
<el-table-column label="姓名" align="center" prop="userName"/>
|
||||
<el-table-column label="所属部门" align="center" prop="orgName" :show-overflow-tooltip="true" width="150"/>
|
||||
<el-table-column label="考勤日期" align="center" prop="attCurrentDay" :show-overflow-tooltip="true" width="120"/>
|
||||
<el-table-column label="上班打卡时间" align="center" prop="toWorkAttCurrentTime" width="150"/>
|
||||
<el-table-column label="上班状态" align="center" prop="toWorkAttStatus" width="120">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.toWorkAttStatus==0">未打卡</div>
|
||||
<div v-if="scope.row.toWorkAttStatus==1">正常</div>
|
||||
<div style="color: #F1A4AD" v-if="scope.row.toWorkAttStatus==2">迟到</div>
|
||||
<div style="color: #29C9C9" v-if="scope.row.toWorkAttStatus==3">旷工</div>
|
||||
<div v-if="scope.row.toWorkAttStatus==4">早退</div>
|
||||
<div v-if="scope.row.toWorkAttStatus==5">轮休</div>
|
||||
<div style="color: #14ACF0" v-if="scope.row.toWorkAttStatus==6">请假</div>
|
||||
<div v-if="scope.row.toWorkAttStatus==7">临时外出</div>
|
||||
<div style="color: #DD1E36" v-if="scope.row.toWorkAttStatus==8">出入异常</div>
|
||||
<div v-if="scope.row.toWorkAttStatus==9">打卡地异常</div>
|
||||
<div v-if="scope.row.toWorkAttStatus==10">出差</div>
|
||||
<div v-if="scope.row.toWorkAttStatus==11">法定节假日</div>
|
||||
</template>
|
||||
|
||||
</el-table-column>
|
||||
<el-table-column label="打卡地址" align="center" prop="toWorkAttAddress" :show-overflow-tooltip="true" width="150"/>
|
||||
<el-table-column label="修改后时间" align="center" prop="toWorkErrorRemakes" :show-overflow-tooltip="true" width="150"/>
|
||||
<el-table-column label="修改后状态" align="center" prop="toWorkErrorRemakes" :show-overflow-tooltip="true" width="120"/>
|
||||
<el-table-column label="下班打卡时间" align="center" prop="offWorkAttCurrentTime" width="150"></el-table-column>
|
||||
<el-table-column label="下班状态" align="center" prop="offWorkAttStatus" width="120">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.offWorkAttStatus==0">未打卡</div>
|
||||
<div v-if="scope.row.offWorkAttStatus==1">正常</div>
|
||||
<div style="color: #F1A4AD" v-if="scope.row.offWorkAttStatus==2">迟到</div>
|
||||
<div style="color: #29C9C9" v-if="scope.row.offWorkAttStatus==3">旷工</div>
|
||||
<div v-if="scope.row.offWorkAttStatus==4">早退</div>
|
||||
<div v-if="scope.row.offWorkAttStatus==5">轮休</div>
|
||||
<div style="color: #14ACF0" v-if="scope.row.offWorkAttStatus==6">请假</div>
|
||||
<div v-if="scope.row.offWorkAttStatus==7">临时外出</div>
|
||||
<div style="color: #DD1E36" v-if="scope.row.offWorkAttStatus==8">出入异常</div>
|
||||
<div v-if="scope.row.offWorkAttStatus==9">打卡地异常</div>
|
||||
<div v-if="scope.row.offWorkAttStatus==10">出差</div>
|
||||
<div v-if="scope.row.offWorkAttStatus==11">法定节假日</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="打卡地址" align="center" prop="offWorkAttAddress" :show-overflow-tooltip="true" width="150"/>
|
||||
<el-table-column label="修改后时间" align="center" prop="offWorkErrorRemakes" :show-overflow-tooltip="true" width="150"/>
|
||||
<el-table-column label="修改后状态" align="center" prop="offWorkErrorRemakes" :show-overflow-tooltip="true" width="120"/>
|
||||
</el-table>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitEdit">同 意</el-button>
|
||||
<el-button @click="refuse">拒 绝</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {listType, getType, delType, addType, updateType, refreshCache} from "@/api/system/dict/type";
|
||||
import {getDetailsRecordList} from "@/api/report/attReport";
|
||||
import {getDetailsRecordList, updateAttDetailsDataExamine} from "@/api/report/attReport";
|
||||
import {listDept} from "@/api/system/dept";
|
||||
import Treeselect from "@riophae/vue-treeselect";
|
||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||
|
|
@ -149,6 +210,7 @@ export default {
|
|||
title: "",
|
||||
// 是否显示弹出层
|
||||
open: false,
|
||||
dialogList:[],
|
||||
// 日期范围
|
||||
dateRange: this.getDefaultDateRange(),
|
||||
deptOptions: [],
|
||||
|
|
@ -218,8 +280,72 @@ export default {
|
|||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
|
||||
|
||||
//是否可用勾选框
|
||||
selectable(row) {
|
||||
if (row.reviewerStatus == '0') {
|
||||
return true
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.dialogList = selection;
|
||||
},
|
||||
openDialog(){
|
||||
console.log(this.dialogList)
|
||||
if(this.dialogList.length>0){
|
||||
this.open=true;
|
||||
}else{
|
||||
this.$message({ message: '请先勾选数据!', type: 'warning' })
|
||||
}
|
||||
},
|
||||
submitEdit(){
|
||||
let paramList = []
|
||||
this.dialogList.forEach(item=>{
|
||||
let obj = {
|
||||
userId:item.userId,
|
||||
orgId:item.orgId,
|
||||
attCurrentDay:item.attCurrentDay,
|
||||
reviewerStatus:1,
|
||||
}
|
||||
paramList.push(obj)
|
||||
})
|
||||
// console.log(paramList)
|
||||
updateAttDetailsDataExamine(paramList).then(response => {
|
||||
if(response.code==200){
|
||||
this.$modal.msgSuccess("审批成功!");
|
||||
this.dialogList=[]
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}else{
|
||||
this.$message({ message: '审批失败!', type: 'warning' })
|
||||
}
|
||||
});
|
||||
},
|
||||
refuse(){
|
||||
let paramList = []
|
||||
this.dialogList.forEach(item=>{
|
||||
let obj = {
|
||||
userId:item.userId,
|
||||
orgId:item.orgId,
|
||||
attCurrentDay:item.attCurrentDay,
|
||||
reviewerStatus:2,
|
||||
}
|
||||
paramList.push(obj)
|
||||
})
|
||||
// console.log(paramList)
|
||||
updateAttDetailsDataExamine(paramList).then(response => {
|
||||
if(response.code==200){
|
||||
this.$modal.msgSuccess("审批成功!");
|
||||
this.dialogList=[]
|
||||
this.open = false;
|
||||
this.getList();
|
||||
}else{
|
||||
this.$message({ message: '审批失败!', type: 'warning' })
|
||||
}
|
||||
});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
this.download('system/dict/type/export', {
|
||||
|
|
|
|||
Loading…
Reference in New Issue