核酸超时人员

This commit is contained in:
jxjgmj 2022-06-16 19:58:54 +08:00
parent 5d2dc5c4bf
commit f8cadc5265
4 changed files with 333 additions and 144 deletions

View File

@ -0,0 +1,3 @@
// 工作站
import {post, get} from '../http'
export const selectWorkScheduleListApi = data => post('xmgl/workerInfo/selectWorkerInfoList', data);

View File

@ -7,31 +7,9 @@ import homeIntro from '../views/homeTwo/homeIntro.vue' //首页-系统简介页
Vue.use(VueRouter)
var routes = []
const routes2 = [
// {
// path: '/',
// name: 'Home',
// // component: homeLayout
// component: homeIntro
// },
// {
// path: '/login',
// name: 'login',
// // component: () => import('../views/home/login.vue')
// component: () => import('../views/home/login_v1.vue')
// },
// {
// path: '/sign',
// name: '注册',
// component: () => import('../views/home/sign.vue')
// },
// {
// path: '/authorization',
// name: '授权',
// component: () => import('../views/home/authorization.vue')
// },
{
path: '/',
name: 'HomeTwo',
name: 'Home',
// component: homeLayout
component: homeIntro
},
@ -39,18 +17,40 @@ const routes2 = [
path: '/login',
name: 'login',
// component: () => import('../views/home/login.vue')
component: () => import('../views/homeTwo/login_v1.vue')
component: () => import('../views/home/login_v1.vue')
},
{
path: '/sign',
name: '注册',
component: () => import('../views/homeTwo/sign.vue')
component: () => import('../views/home/sign.vue')
},
{
path: '/authorization',
name: '授权',
component: () => import('../views/homeTwo/authorization.vue')
component: () => import('../views/home/authorization.vue')
},
// {
// path: '/',
// name: 'HomeTwo',
// // component: homeLayout
// component: homeIntro
// },
// {
// path: '/login',
// name: 'login',
// // component: () => import('../views/home/login.vue')
// component: () => import('../views/homeTwo/login_v1.vue')
// },
// {
// path: '/sign',
// name: '注册',
// component: () => import('../views/homeTwo/sign.vue')
// },
// {
// path: '/authorization',
// name: '授权',
// component: () => import('../views/homeTwo/authorization.vue')
// },
{
path: '/page',
name: 'page5',
@ -373,6 +373,12 @@ const routes2 = [
name: '劳务管理_人员统计分析',
component: () => import('@/views/projectFront/laborManage/personnelAnalysis.vue'),
},
//核酸超时人员列表
{
path: '/project/labor/nucleicAcidOvertimePersonnel',
name: '核酸超时人员列表',
component: () => import('@/views/projectFront/nucleicAcidOvertimePersonnel/index.vue'),
},
//人员定位--卡片管理
{
path: '/project/personnelPosition/cardManage',
@ -1386,124 +1392,124 @@ const routes2 = [
{
path: '/project/dataBoard/',
name: '数据看板',
component: resolve => require(['@/views/projectAdmin/dataBoardTwo/dataBoard.vue'], resolve),
// component: resolve => require(['@/views/projectAdmin/dataBoard/dataBoard.vue'], resolve),
// children: [{
// path: 'index',
// name: '数据看板-首页概览',
// component: () => import('@/views/projectAdmin/dataBoard/index.vue'),
// }, {
// path: 'digitalSite',
// name: '数据看板-数字工地',
// component: () => import('@/views/projectAdmin/dataBoard/digitalSite.vue'),
// }, {
// path: 'laborManage',
// name: '数据看板-劳务管理',
// component: () => import('@/views/projectAdmin/dataBoard/laborManage.vue'),
// }, {
// path: 'environment',
// name: '数据看板-环境监测',
// component: () => import('@/views/projectAdmin/dataBoard/environment.vue'),
// },
// {
// path: 'material',
// name: '数据看板-材料管理',
// component: () => import('@/views/projectAdmin/dataBoard/material.vue'),
// },
// {
// path: 'plan',
// name: '数据看板-进度计划',
// component: () => import('@/views/projectAdmin/dataBoard/plan.vue'),
// },
// {
// path: 'secure',
// name: '数据看板-安全管理',
// component: () => import('@/views/projectAdmin/dataBoard/secure.vue'),
// },
// {
// path: 'quality',
// name: '数据看板-质量管理',
// component: () => import('@/views/projectAdmin/dataBoard/quality.vue'),
// },
// {
// path: 'SixHundred',
// name: '数据看板-六个百分百',
// component: () => import('@/views/projectAdmin/dataBoard/AiAnalysisCopy.vue'),
// },
// {
// path: 'AiAnalysis',
// name: '数据看板-AI数据分析',
// component: () => import('@/views/projectAdmin/dataBoard/AiAnalysis.vue'),
// }
// ]
// component: resolve => require(['@/views/projectAdmin/dataBoardTwo/dataBoard.vue'], resolve),
component: resolve => require(['@/views/projectAdmin/dataBoard/dataBoard.vue'], resolve),
children: [{
path: 'index',
name: '数据看板-首页概览',
component: () => import('@/views/projectAdmin/dataBoardTwo/index.vue'),
}, {
path: 'digitalSite',
name: '数据看板-数字工地',
component: () => import('@/views/projectAdmin/dataBoardTwo/digitalSite'),
}, {
path: 'laborManage',
name: '数据看板-劳务管理',
component: () => import('@/views/projectAdmin/dataBoardTwo/laborManage.vue'),
}, {
path: 'environment',
name: '数据看板-环境监测',
component: () => import('@/views/projectAdmin/dataBoardTwo/environment.vue'),
},
{
path: 'material',
name: '数据看板-材料管理',
component: () => import('@/views/projectAdmin/dataBoardTwo/material.vue'),
},
{
path: 'plan',
name: '数据看板-进度计划',
component: () => import('@/views/projectAdmin/dataBoardTwo/plan.vue'),
},
{
path: 'secure',
name: '数据看板-安全管理',
component: () => import('@/views/projectAdmin/dataBoardTwo/secure.vue'),
},
{
path: 'quality',
name: '数据看板-质量管理',
component: () => import('@/views/projectAdmin/dataBoardTwo/quality.vue'),
},
{
path: 'SixHundred',
name: '数据看板-六个百分百',
component: () => import('@/views/projectAdmin/dataBoardTwo/AiAnalysisCopy.vue'),
},
{
path: 'AiAnalysis',
name: '数据看板-AI数据分析',
component: () => import('@/views/projectAdmin/dataBoardTwo/AiAnalysis.vue'),
},
{
path: 'contractManage',
name: '数据看板-合约管理',
component: () => import('@/views/projectAdmin/dataBoardTwo/contractManage.vue'),
},
{
path: 'doublecManage',
name: '数据看板-双碳管理',
component: () => import('@/views/projectAdmin/dataBoardTwo/doublecManage.vue'),
},
{
path: 'bigScreen',
name: '数据看板-监控大屏',
component: () => import('@/views/projectAdmin/dataBoardTwo/bigScreen.vue'),
},
{
path: 'cimManage',
name: '数据看板-CIM+',
component: () => import('@/views/projectAdmin/dataBoardTwo/cimManage.vue'),
}
]
path: 'index',
name: '数据看板-首页概览',
component: () => import('@/views/projectAdmin/dataBoard/index.vue'),
}, {
path: 'digitalSite',
name: '数据看板-数字工地',
component: () => import('@/views/projectAdmin/dataBoard/digitalSite.vue'),
}, {
path: 'laborManage',
name: '数据看板-劳务管理',
component: () => import('@/views/projectAdmin/dataBoard/laborManage.vue'),
}, {
path: 'environment',
name: '数据看板-环境监测',
component: () => import('@/views/projectAdmin/dataBoard/environment.vue'),
},
{
path: 'material',
name: '数据看板-材料管理',
component: () => import('@/views/projectAdmin/dataBoard/material.vue'),
},
{
path: 'plan',
name: '数据看板-进度计划',
component: () => import('@/views/projectAdmin/dataBoard/plan.vue'),
},
{
path: 'secure',
name: '数据看板-安全管理',
component: () => import('@/views/projectAdmin/dataBoard/secure.vue'),
},
{
path: 'quality',
name: '数据看板-质量管理',
component: () => import('@/views/projectAdmin/dataBoard/quality.vue'),
},
{
path: 'SixHundred',
name: '数据看板-六个百分百',
component: () => import('@/views/projectAdmin/dataBoard/AiAnalysisCopy.vue'),
},
{
path: 'AiAnalysis',
name: '数据看板-AI数据分析',
component: () => import('@/views/projectAdmin/dataBoard/AiAnalysis.vue'),
}
]
// children: [{
// path: 'index',
// name: '数据看板-首页概览',
// component: () => import('@/views/projectAdmin/dataBoardTwo/index.vue'),
// }, {
// path: 'digitalSite',
// name: '数据看板-数字工地',
// component: () => import('@/views/projectAdmin/dataBoardTwo/digitalSite'),
// }, {
// path: 'laborManage',
// name: '数据看板-劳务管理',
// component: () => import('@/views/projectAdmin/dataBoardTwo/laborManage.vue'),
// }, {
// path: 'environment',
// name: '数据看板-环境监测',
// component: () => import('@/views/projectAdmin/dataBoardTwo/environment.vue'),
// },
// {
// path: 'material',
// name: '数据看板-材料管理',
// component: () => import('@/views/projectAdmin/dataBoardTwo/material.vue'),
// },
// {
// path: 'plan',
// name: '数据看板-进度计划',
// component: () => import('@/views/projectAdmin/dataBoardTwo/plan.vue'),
// },
// {
// path: 'secure',
// name: '数据看板-安全管理',
// component: () => import('@/views/projectAdmin/dataBoardTwo/secure.vue'),
// },
// {
// path: 'quality',
// name: '数据看板-质量管理',
// component: () => import('@/views/projectAdmin/dataBoardTwo/quality.vue'),
// },
// {
// path: 'SixHundred',
// name: '数据看板-六个百分百',
// component: () => import('@/views/projectAdmin/dataBoardTwo/AiAnalysisCopy.vue'),
// },
// {
// path: 'AiAnalysis',
// name: '数据看板-AI数据分析',
// component: () => import('@/views/projectAdmin/dataBoardTwo/AiAnalysis.vue'),
// },
// {
// path: 'contractManage',
// name: '数据看板-合约管理',
// component: () => import('@/views/projectAdmin/dataBoardTwo/contractManage.vue'),
// },
// {
// path: 'doublecManage',
// name: '数据看板-双碳管理',
// component: () => import('@/views/projectAdmin/dataBoardTwo/doublecManage.vue'),
// },
// {
// path: 'bigScreen',
// name: '数据看板-监控大屏',
// component: () => import('@/views/projectAdmin/dataBoardTwo/bigScreen.vue'),
// },
// {
// path: 'cimManage',
// name: '数据看板-CIM+',
// component: () => import('@/views/projectAdmin/dataBoardTwo/cimManage.vue'),
// }
// ]
},
{
path: '/equipmentCenter/',

View File

@ -309,7 +309,7 @@
align="center"
>
<template slot-scope="scope">
{{vaccinationFrequencyltsList[scope.row.vaccinateState]}}
{{vaccinationFrequencyltsList[scope.row.vaccinateState]||'无'}}
</template>
</el-table-column>

View File

@ -0,0 +1,180 @@
<template>
<div class="" style="height: calc(100% - 98px)">
<div class="screen whiteBlock whiteBlock flex">
<div
@click="screen(1)"
:class="classParame == 1 ? '_this_class' : ''"
class="screenItem"
>
普通
</div>
<div
@click="screen(2)"
:class="classParame == 2 ? '_this_class' : ''"
class="screenItem"
plain
>
外来
</div>
<div
@click="screen(3)"
:class="classParame == 3 ? '_this_class' : ''"
class="screenItem"
plain
>
临时
</div>
</div>
<div class="tabel">
<el-table :data="lsit" style="width: 100%; min-height: 550px">
<el-table-column prop="workerName" label="姓名" width="180">
</el-table-column>
<el-table-column prop="sex" label="性别" width="180"> </el-table-column>
<el-table-column prop="jobName" label="职务" width="180">
</el-table-column>
<el-table-column prop="phoneNumber" label="手机号"> </el-table-column>
<el-table-column label="人员分类">
<template slot-scope="scope">
{{ workerClassify[scope.row.workerClassify] }}
</template>
</el-table-column>
<el-table-column label="疫苗接种状态">
<template slot-scope="scope">
{{ vaccinationFrequencyltsList[scope.row.vaccineStatus] }}
</template>
</el-table-column>
<el-table-column prop="vaccineTime" label="疫苗接种时间">
</el-table-column>
<el-table-column label="核酸状态">
<template slot-scope="scope">
{{ nadCode[scope.row.nadCode] }}
</template>
</el-table-column>
<el-table-column label="核酸码">
<template slot-scope="scope">
{{ codeState[scope.row.codeState] }}
</template>
</el-table-column>
<el-table-column prop="nadTime" label="核酸时间"> </el-table-column>
</el-table>
<div class="pagination">
<el-pagination
class="pagerBox"
:current-page="pageNo"
background
layout="prev, pager, next"
:page-size="pageSize"
@current-change="handleCurrentChange"
:total="total"
>
</el-pagination>
</div>
</div>
</div>
</template>
<script>
import { selectWorkScheduleListApi } from "@/assets/js/api/selectWorkerInfoList.js";
export default {
name: 'selectWorkScheduleList',
data() {
return {
workerClassify: {
1: "普通",
2: "外来",
3: "临时"
},
nadCode: {
0: "未查询到核酸检测结果",
1: "核酸检测阴性",
2: "核酸检测阳性",
3: "已过期"
},
codeState: {
0: "无码",
1: "红码",
2: "黄码",
3: "绿码"
},
vaccinationFrequencyltsList: {
0: "未接种",
1: "接种一针",
2: "接种两针",
3: "接种三针"
},
lsit: [],
classParame: 1,
pageNo: 1,
pageSize: 10,
total: ''
}
},
created() {
this.getDataList();
},
methods: {
handleCurrentChange(val) {
console.log(`当前页: ${val}`);
this.pageNo = val;
this.getDataList();
},
screen(v) {
this.classParame = v;
this.pageNo = 1;
this.getDataList();
},
getDataList() {
selectWorkScheduleListApi({
selectType: this.classParame,
pageNo: this.pageNo,
pageSize: this.pageSize
}).then(res => {
console.log(res, '======')
this.lsit = res.result.records;
this.total = res.result.total;
})
}
}
}
</script>
<style lang="less" scoped>
.pagination {
padding-top: 20px;
display: flex;
justify-content: center;
}
.flex {
display: flex;
width: 100%;
}
.screen {
padding: 30px;
box-sizing: border-box;
}
.screenItem {
width: 110px;
height: 40px;
border: 1px solid #606266;
border-radius: 5px;
color: #606266;
line-height: 40px;
text-align: center;
margin-right: 20px;
}
._this_class {
border-color: #3f85ff !important;
color: #3f85ff !important;
}
.tabel {
padding: 30px;
background: #fff;
margin-top: 20px;
height: calc(100% - 98px);
}
</style>