八大员,考勤明细修改记录
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>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px">
|
<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
|
<el-input
|
||||||
v-model="queryParams.orgName"
|
v-model="queryParams.parentOrgName"
|
||||||
maxlength="28"
|
maxlength="28"
|
||||||
placeholder="请输入分公司名称"
|
placeholder="请输入分公司名称"
|
||||||
clearable
|
clearable
|
||||||
|
|
@ -24,15 +24,15 @@
|
||||||
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
|
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</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">
|
<el-table-column label="缺员情况" align="center" :show-overflow-tooltip="true">
|
||||||
<template slot-scope="scope">
|
<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>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="兼职情况" align="center" :show-overflow-tooltip="true">
|
<el-table-column label="兼职情况" align="center" :show-overflow-tooltip="true">
|
||||||
<template slot-scope="scope">
|
<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>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
@ -78,7 +78,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {getRoleUserList, proDeptRole} from "@/api/process/rolesRemind";
|
import {getOrgEightRoleTable} from "@/api/process/eightMembers";
|
||||||
import { treeselect as staffTreeselect, roleStaffTreeselect } from "@/api/process/tree";
|
import { treeselect as staffTreeselect, roleStaffTreeselect } from "@/api/process/tree";
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -108,10 +108,7 @@ export default {
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
deptRoleName: undefined,
|
parentOrgName:undefined
|
||||||
orgName: undefined,
|
|
||||||
userName: undefined,
|
|
||||||
departmentId:"-1"
|
|
||||||
},
|
},
|
||||||
// 人员列表
|
// 人员列表
|
||||||
staffOptions: [],
|
staffOptions: [],
|
||||||
|
|
@ -133,7 +130,7 @@ export default {
|
||||||
/** 查询列表 */
|
/** 查询列表 */
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
getRoleUserList(this.queryParams).then(response => {
|
getOrgEightRoleTable(this.queryParams).then(response => {
|
||||||
this.typeList = response.rows;
|
this.typeList = response.rows;
|
||||||
this.total = response.total;
|
this.total = response.total;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
|
|
@ -148,17 +145,7 @@ export default {
|
||||||
// 表单重置
|
// 表单重置
|
||||||
reset() {
|
reset() {
|
||||||
this.form = {
|
this.form = {
|
||||||
orgId: undefined,
|
parentOrgName:undefined,
|
||||||
orgName: undefined,
|
|
||||||
departmentId: undefined,
|
|
||||||
deptRoleId: undefined,
|
|
||||||
deptRoleName: undefined,
|
|
||||||
userId: undefined,
|
|
||||||
userName: undefined,
|
|
||||||
reviewerStatus: undefined,
|
|
||||||
reviewerTime: undefined,
|
|
||||||
reviewerUserId: undefined,
|
|
||||||
roleType: undefined,
|
|
||||||
staffOptions:[]
|
staffOptions:[]
|
||||||
};
|
};
|
||||||
this.defaultCheckedKeys = []; // 重置默认选中的节点
|
this.defaultCheckedKeys = []; // 重置默认选中的节点
|
||||||
|
|
@ -177,23 +164,16 @@ export default {
|
||||||
/** 分配人员按钮操作 */
|
/** 分配人员按钮操作 */
|
||||||
handleAllocation(row) {
|
handleAllocation(row) {
|
||||||
this.reset();
|
this.reset();
|
||||||
this.getStaffTreeselect(row);
|
|
||||||
this.form = row;
|
this.form = row;
|
||||||
this.open = true;
|
this.open = true;
|
||||||
this.title = "分配人员";
|
this.title = "分配人员";
|
||||||
},
|
},
|
||||||
|
|
||||||
/** 查询员工树结构 */
|
|
||||||
getStaffTreeselect(data) {
|
|
||||||
staffTreeselect(data).then(response => {
|
|
||||||
this.staffOptions = response.data;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
goShortageSituation(item){
|
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){
|
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() {
|
submitForm: function() {
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px">
|
<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
|
<el-input
|
||||||
v-model="queryParams.orgName"
|
v-model="queryParams.parentOrgName"
|
||||||
maxlength="28"
|
maxlength="28"
|
||||||
placeholder="请输入项目部名称"
|
placeholder="请输入项目部名称"
|
||||||
clearable
|
clearable
|
||||||
|
|
@ -12,17 +12,6 @@
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</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-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<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 icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
|
@ -36,30 +25,54 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="项目部名称" align="center" prop="orgName" :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" :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">
|
<el-table-column label="安全员" align="center" :show-overflow-tooltip="true">
|
||||||
<template slot-scope="scope">
|
<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>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
|
|
||||||
<el-table-column label="质检员" align="center" prop="orgName" :show-overflow-tooltip="true" />
|
<el-table-column label="质检员" align="center" :show-overflow-tooltip="true" >
|
||||||
<el-table-column label="项目总工" align="center" prop="deptRoleName" :show-overflow-tooltip="true" />
|
<template slot-scope="scope">
|
||||||
<el-table-column label="机械员" align="center" prop="deptRoleName" :show-overflow-tooltip="true" />
|
<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">
|
<el-table-column label="资料员" align="center" :show-overflow-tooltip="true">
|
||||||
<template slot-scope="scope">
|
<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>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="施工员" align="center" :show-overflow-tooltip="true">
|
<el-table-column label="施工员" align="center" :show-overflow-tooltip="true">
|
||||||
<template slot-scope="scope">
|
<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>
|
</template>
|
||||||
</el-table-column>
|
</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>
|
</el-table>
|
||||||
|
|
||||||
|
|
@ -74,58 +87,30 @@
|
||||||
<!-- 添加或修改参数配置对话框 -->
|
<!-- 添加或修改参数配置对话框 -->
|
||||||
<el-dialog :title="title" :visible.sync="open" width="650px" append-to-body>
|
<el-dialog :title="title" :visible.sync="open" width="650px" append-to-body>
|
||||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
<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-col :span="12">
|
||||||
<el-form-item label="兼职人员:" prop="orgName" label-width="90px">
|
<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-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="兼职角色:" prop="deptRoleName" label-width="90px">
|
<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-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</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>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer" align="center">
|
<div slot="footer" class="dialog-footer" align="center">
|
||||||
<el-button @click="cancel">关闭</el-button>
|
<el-button @click="cancels">关闭</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {getRoleUserList, proDeptRole} from "@/api/process/rolesRemind";
|
|
||||||
import { treeselect as staffTreeselect, roleStaffTreeselect } from "@/api/process/tree";
|
|
||||||
import Treeselect from "@riophae/vue-treeselect";
|
import Treeselect from "@riophae/vue-treeselect";
|
||||||
|
import {getOrgEightRoleDetail,getMoreOrgData} from "@/api/process/eightMembers";
|
||||||
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
|
|
@ -147,6 +132,7 @@ export default {
|
||||||
total: 0,
|
total: 0,
|
||||||
// 字典表格数据
|
// 字典表格数据
|
||||||
typeList: [],
|
typeList: [],
|
||||||
|
MoreOrgDataList:[],
|
||||||
// 弹出层标题
|
// 弹出层标题
|
||||||
title: "",
|
title: "",
|
||||||
// 是否显示弹出层
|
// 是否显示弹出层
|
||||||
|
|
@ -155,11 +141,10 @@ export default {
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
deptRoleName: undefined,
|
parentOrgName:undefined,
|
||||||
orgName: undefined,
|
moreOrgId:this.$route.query.moreOrgId
|
||||||
userName: undefined,
|
|
||||||
departmentId:"-1"
|
|
||||||
},
|
},
|
||||||
|
paramsQuery:{},
|
||||||
// 人员列表
|
// 人员列表
|
||||||
staffOptions: [],
|
staffOptions: [],
|
||||||
// 默认选中的节点 id 数组
|
// 默认选中的节点 id 数组
|
||||||
|
|
@ -180,7 +165,7 @@ export default {
|
||||||
/** 查询列表 */
|
/** 查询列表 */
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
getRoleUserList(this.queryParams).then(response => {
|
getOrgEightRoleDetail(this.queryParams).then(response => {
|
||||||
this.typeList = response.rows;
|
this.typeList = response.rows;
|
||||||
this.total = response.total;
|
this.total = response.total;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
|
|
@ -195,18 +180,7 @@ export default {
|
||||||
// 表单重置
|
// 表单重置
|
||||||
reset() {
|
reset() {
|
||||||
this.form = {
|
this.form = {
|
||||||
orgId: undefined,
|
parentOrgName:undefined
|
||||||
orgName: undefined,
|
|
||||||
departmentId: undefined,
|
|
||||||
deptRoleId: undefined,
|
|
||||||
deptRoleName: undefined,
|
|
||||||
userId: undefined,
|
|
||||||
userName: undefined,
|
|
||||||
reviewerStatus: undefined,
|
|
||||||
reviewerTime: undefined,
|
|
||||||
reviewerUserId: undefined,
|
|
||||||
roleType: undefined,
|
|
||||||
staffOptions:[]
|
|
||||||
};
|
};
|
||||||
this.defaultCheckedKeys = []; // 重置默认选中的节点
|
this.defaultCheckedKeys = []; // 重置默认选中的节点
|
||||||
this.resetForm("form");
|
this.resetForm("form");
|
||||||
|
|
@ -221,21 +195,29 @@ export default {
|
||||||
this.resetForm("queryForm");
|
this.resetForm("queryForm");
|
||||||
this.handleQuery();
|
this.handleQuery();
|
||||||
},
|
},
|
||||||
/** 分配人员按钮操作 */
|
/** 按钮操作 */
|
||||||
handleAllocation(row) {
|
handleAllocation(row,deptRoleId) {
|
||||||
this.reset();
|
this.reset();
|
||||||
this.getStaffTreeselect(row);
|
this.getDialogData(row,deptRoleId);
|
||||||
this.form = row;
|
this.form = row;
|
||||||
this.open = true;
|
this.open = true;
|
||||||
},
|
},
|
||||||
|
|
||||||
/** 查询员工树结构 */
|
/** 查询员工树结构 */
|
||||||
getStaffTreeselect(data) {
|
getDialogData(data,deptRoleId) {
|
||||||
staffTreeselect(data).then(response => {
|
console.log(data.orgId)
|
||||||
this.staffOptions = response.data;
|
this.paramsQuery={
|
||||||
|
orgId:data.orgId,
|
||||||
|
deptRoleId:deptRoleId
|
||||||
|
}
|
||||||
|
getMoreOrgData(this.paramsQuery).then(response => {
|
||||||
|
this.MoreOrgDataList = response.data;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
cancels(){
|
||||||
|
this.open = false;
|
||||||
|
this.MoreOrgDataList=[];
|
||||||
|
},
|
||||||
/** 提交按钮 */
|
/** 提交按钮 */
|
||||||
submitForm: function() {
|
submitForm: function() {
|
||||||
this.$refs["form"].validate(valid => {
|
this.$refs["form"].validate(valid => {
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,9 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="90px">
|
<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
|
<el-input
|
||||||
v-model="queryParams.orgName"
|
v-model="queryParams.parentOrgName"
|
||||||
maxlength="28"
|
maxlength="28"
|
||||||
placeholder="请输入项目部名称"
|
placeholder="请输入项目部名称"
|
||||||
clearable
|
clearable
|
||||||
|
|
@ -12,17 +12,6 @@
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</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-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<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 icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
|
@ -36,15 +25,15 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="项目部名称" align="center" prop="orgName" :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="projectManager" :show-overflow-tooltip="true" />
|
||||||
<el-table-column label="安全员" align="center" prop="deptRoleName" :show-overflow-tooltip="true" />
|
<el-table-column label="安全员" align="center" prop="safetyOfficer" :show-overflow-tooltip="true" />
|
||||||
<el-table-column label="质检员" align="center" prop="orgName" :show-overflow-tooltip="true" />
|
<el-table-column label="质检员" align="center" prop="qualityInspector" :show-overflow-tooltip="true" />
|
||||||
<el-table-column label="项目总工" align="center" prop="deptRoleName" :show-overflow-tooltip="true" />
|
<el-table-column label="项目总工" align="center" prop="chiefEngineer" :show-overflow-tooltip="true" />
|
||||||
<el-table-column label="机械员" align="center" prop="deptRoleName" :show-overflow-tooltip="true" />
|
<el-table-column label="机械员" align="center" prop="mechanicalStaff" :show-overflow-tooltip="true" />
|
||||||
<el-table-column label="资料员" align="center" prop="orgName" :show-overflow-tooltip="true" />
|
<el-table-column label="资料员" align="center" prop="documentStaff" :show-overflow-tooltip="true" />
|
||||||
<el-table-column label="施工员" align="center" prop="deptRoleName" :show-overflow-tooltip="true" />
|
<el-table-column label="施工员" align="center" prop="constructionStaff" :show-overflow-tooltip="true" />
|
||||||
<el-table-column label="材料员" align="center" prop="deptRoleName" :show-overflow-tooltip="true" />
|
<el-table-column label="材料员" align="center" prop="materialStaff" :show-overflow-tooltip="true" />
|
||||||
<el-table-column label="其他" align="center" prop="deptRoleName" :show-overflow-tooltip="true" />
|
<el-table-column label="其他" align="center" prop="other" :show-overflow-tooltip="true" />
|
||||||
|
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
|
|
@ -89,7 +78,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {getRoleUserList, proDeptRole} from "@/api/process/rolesRemind";
|
import {getOrgEightRoleDetail} from "@/api/process/eightMembers";
|
||||||
import { treeselect as staffTreeselect, roleStaffTreeselect } from "@/api/process/tree";
|
import { treeselect as staffTreeselect, roleStaffTreeselect } from "@/api/process/tree";
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -119,10 +108,8 @@ export default {
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
deptRoleName: undefined,
|
parentOrgName:undefined,
|
||||||
orgName: undefined,
|
lackOrgId:this.$route.query.lackOrgId
|
||||||
userName: undefined,
|
|
||||||
departmentId:"-1"
|
|
||||||
},
|
},
|
||||||
// 人员列表
|
// 人员列表
|
||||||
staffOptions: [],
|
staffOptions: [],
|
||||||
|
|
@ -144,7 +131,7 @@ export default {
|
||||||
/** 查询列表 */
|
/** 查询列表 */
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
getRoleUserList(this.queryParams).then(response => {
|
getOrgEightRoleDetail(this.queryParams).then(response => {
|
||||||
this.typeList = response.rows;
|
this.typeList = response.rows;
|
||||||
this.total = response.total;
|
this.total = response.total;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
|
|
@ -159,18 +146,7 @@ export default {
|
||||||
// 表单重置
|
// 表单重置
|
||||||
reset() {
|
reset() {
|
||||||
this.form = {
|
this.form = {
|
||||||
orgId: undefined,
|
parentOrgName:undefined
|
||||||
orgName: undefined,
|
|
||||||
departmentId: undefined,
|
|
||||||
deptRoleId: undefined,
|
|
||||||
deptRoleName: undefined,
|
|
||||||
userId: undefined,
|
|
||||||
userName: undefined,
|
|
||||||
reviewerStatus: undefined,
|
|
||||||
reviewerTime: undefined,
|
|
||||||
reviewerUserId: undefined,
|
|
||||||
roleType: undefined,
|
|
||||||
staffOptions:[]
|
|
||||||
};
|
};
|
||||||
this.defaultCheckedKeys = []; // 重置默认选中的节点
|
this.defaultCheckedKeys = []; // 重置默认选中的节点
|
||||||
this.resetForm("form");
|
this.resetForm("form");
|
||||||
|
|
|
||||||
|
|
@ -49,16 +49,24 @@
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
<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 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-item>
|
||||||
</el-form>
|
</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">
|
<el-table-column label="序号" align="center" width="80" type="index">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
|
<span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</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="userName"/>
|
||||||
<el-table-column label="所属部门" align="center" prop="orgName" :show-overflow-tooltip="true"/>
|
<el-table-column label="所属部门" align="center" prop="orgName" :show-overflow-tooltip="true"/>
|
||||||
<el-table-column label="考勤日期" align="center" prop="attCurrentDay" :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>
|
||||||
<el-table-column label="打卡地址" align="center" prop="toWorkAttAddress" :show-overflow-tooltip="true"/>
|
<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="toWorkErrorRemakes" :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="offWorkAttCurrentTime" width="180"></el-table-column>
|
<el-table-column label="下班打卡时间" align="center" prop="offWorkAttCurrentTime" width="180"></el-table-column>
|
||||||
<el-table-column label="下班状态" align="center" prop="offWorkAttStatus">
|
<el-table-column label="下班状态" align="center" prop="offWorkAttStatus">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
|
|
@ -102,8 +110,8 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="打卡地址" align="center" prop="offWorkAttAddress" :show-overflow-tooltip="true"/>
|
<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="offWorkErrorRemakes" :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>
|
</el-table>
|
||||||
|
|
||||||
<pagination
|
<pagination
|
||||||
|
|
@ -114,13 +122,66 @@
|
||||||
@pagination="getList"
|
@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>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import {listType, getType, delType, addType, updateType, refreshCache} from "@/api/system/dict/type";
|
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 {listDept} from "@/api/system/dept";
|
||||||
import Treeselect from "@riophae/vue-treeselect";
|
import Treeselect from "@riophae/vue-treeselect";
|
||||||
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
|
||||||
|
|
@ -149,6 +210,7 @@ export default {
|
||||||
title: "",
|
title: "",
|
||||||
// 是否显示弹出层
|
// 是否显示弹出层
|
||||||
open: false,
|
open: false,
|
||||||
|
dialogList:[],
|
||||||
// 日期范围
|
// 日期范围
|
||||||
dateRange: this.getDefaultDateRange(),
|
dateRange: this.getDefaultDateRange(),
|
||||||
deptOptions: [],
|
deptOptions: [],
|
||||||
|
|
@ -218,8 +280,72 @@ export default {
|
||||||
this.resetForm("queryForm");
|
this.resetForm("queryForm");
|
||||||
this.handleQuery();
|
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() {
|
handleExport() {
|
||||||
this.download('system/dict/type/export', {
|
this.download('system/dict/type/export', {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue