Merge branch 'dev-gmj' into 'master'

核酸超时人员

See merge request !14
This commit is contained in:
杜海鹏 2022-06-17 11:02:52 +08:00
commit 2f18c8f698
9 changed files with 294 additions and 15 deletions

View File

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

View File

@ -373,6 +373,12 @@ const routes2 = [
name: '劳务管理_人员统计分析', name: '劳务管理_人员统计分析',
component: () => import('@/views/projectFront/laborManage/personnelAnalysis.vue'), component: () => import('@/views/projectFront/laborManage/personnelAnalysis.vue'),
}, },
//核酸超时人员列表
{
path: '/project/labor/nucleicAcidOvertimePersonnel',
name: '核酸超时人员列表',
component: () => import('@/views/projectFront/nucleicAcidOvertimePersonnel/index.vue'),
},
//人员定位--卡片管理 //人员定位--卡片管理
{ {
path: '/project/personnelPosition/cardManage', path: '/project/personnelPosition/cardManage',

View File

@ -49,6 +49,7 @@
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<!-- 单位工程名称 --> <!-- 单位工程名称 -->
<label class="xingxing"></label>
<el-form-item :label="$t('message.buildersDiary.unitProjectName')+''" prop="buildName"> <el-form-item :label="$t('message.buildersDiary.unitProjectName')+''" prop="buildName">
<el-input v-model="ruleForm.buildName"></el-input> <el-input v-model="ruleForm.buildName"></el-input>
</el-form-item> </el-form-item>
@ -67,6 +68,7 @@
</el-col> </el-col>
<el-col :span="10"> <el-col :span="10">
<!-- 施工项目部门 --> <!-- 施工项目部门 -->
<label class="xingxing"></label>
<el-form-item :label="$t('message.buildersDiary.constructionProjectDepartment')+''" prop="buildProjectDept"> <el-form-item :label="$t('message.buildersDiary.constructionProjectDepartment')+''" prop="buildProjectDept">
<el-input v-model="ruleForm.buildProjectDept"></el-input> <el-input v-model="ruleForm.buildProjectDept"></el-input>
</el-form-item> </el-form-item>
@ -85,12 +87,14 @@
</el-col> </el-col>
<el-col :span="5"> <el-col :span="5">
<!-- 项目负责人 --> <!-- 项目负责人 -->
<label class="xingxing"></label>
<el-form-item :label="$t('message.buildersDiary.projectDutyPeople')+''" prop="projectDirector"> <el-form-item :label="$t('message.buildersDiary.projectDutyPeople')+''" prop="projectDirector">
<el-input v-model="ruleForm.projectDirector"></el-input> <el-input v-model="ruleForm.projectDirector"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5"> <el-col :span="5">
<!-- 单位工程施工员 --> <!-- 单位工程施工员 -->
<label class="xingxing"></label>
<el-form-item :label="$t('message.buildersDiary.unitConstructionPeople')+''" prop="constructionCrew"> <el-form-item :label="$t('message.buildersDiary.unitConstructionPeople')+''" prop="constructionCrew">
<el-input v-model="ruleForm.constructionCrew"></el-input> <el-input v-model="ruleForm.constructionCrew"></el-input>
</el-form-item> </el-form-item>
@ -447,7 +451,7 @@
type="primary" type="primary"
> >
<!-- "新增" : "编辑" --> <!-- "新增" : "编辑" -->
{{ type == "add" ? $t('message.buildersDiary.add'):$t('message.buildersDiary.edit') }}</el-button {{ type == "add" ? "提交":$t('message.buildersDiary.edit') }}</el-button
> >
</div> </div>
</el-col> </el-col>
@ -800,6 +804,67 @@ export default {
// //
submitForm() { submitForm() {
if(!this.ruleForm.buildName){
this.$message.error("请输入单位工程名称")
return false;
}
if(!this.ruleForm.buildProjectDept){
this.$message.error("请输入施工项目部门")
return false;
}
if(!this.ruleForm.projectDirector){
this.$message.error("请输入项目负责人")
return false;
}
if(!this.ruleForm.constructionCrew){
this.$message.error("请输入单位工程施工员")
return false;
}
if(!this.ruleForm.buildTime){
this.$message.error("请选择施工日期")
return false;
}
if(!this.ruleForm.morningWeather){
this.$message.error("请输入上午天气")
return false;
}
if(!this.ruleForm.afternoonWeather){
this.$message.error("请输入下午天气")
return false;
}
if(!this.ruleForm.temperature){
this.$message.error("请输入气温")
return false;
}
if(!this.ruleForm.buildPlace){
this.$message.error("请输入分项工程(施工部位)")
return false;
}
if(!this.ruleForm.taskTeamType){
this.$message.error("请输入作业班组类型")
return false;
}
if(!this.ruleForm.taskTeam){
this.$message.error("请输入作业班组名称")
return false;
}
if(!this.ruleForm.morningPersonNum){
this.$message.error("请输入上午作业人数")
return false;
}
if(!this.ruleForm.afternoonPersonNum){
this.$message.error("请输入下午作业人数")
return false;
}
if(!this.ruleForm.taskCondition){
this.$message.error("请输入作业情况")
return false;
}
if(this.fileList.length==0){
this.$message.error("请上传附件")
return false;
}
this.$refs.ruleForm.validate((valid) => { this.$refs.ruleForm.validate((valid) => {
if (valid) { if (valid) {
let data = JSON.parse(JSON.stringify(this.ruleForm)); let data = JSON.parse(JSON.stringify(this.ruleForm));
@ -888,6 +953,13 @@ export default {
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.xingxing::before{
content: "*";
color: red;
font-size: 14px;
margin-right: 6px;
}
.diaryMod { .diaryMod {
width: 100%; width: 100%;
height: 100%; height: 100%;

View File

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

View File

@ -323,7 +323,8 @@ export default {
if (!this.isEditType) { if (!this.isEditType) {
addPanoramicImageApi(data).then((res) => { addPanoramicImageApi(data).then((res) => {
if (res.code == 200) { if (res.code == 200) {
this.$message.success(res.message); // this.$message.success(res.message);
this.$message.success("操作成功");
this.addPanoramicDialog = false; this.addPanoramicDialog = false;
this.getPanoramaList(); this.getPanoramaList();
} else { } else {
@ -333,11 +334,13 @@ export default {
} else { } else {
editPanoramicImageApi(data).then((res) => { editPanoramicImageApi(data).then((res) => {
if (res.code == 200) { if (res.code == 200) {
this.$message.success(res.message); // this.$message.success(res.message);
this.$message.success("上传成功");
this.addPanoramicDialog = false; this.addPanoramicDialog = false;
this.getPanoramaList(); this.getPanoramaList();
} else { } else {
this.$message.error(res.message); // this.$message.error(res.message);
this.$message.error("上传失败");
} }
}); });
} }

View File

@ -60,6 +60,7 @@
</template> </template>
<script> <script>
import { import {
selectByIdRegisterRecordApi, selectByIdRegisterRecordApi,
editRegisterRecordApi editRegisterRecordApi

View File

@ -5,26 +5,39 @@
</div> --> </div> -->
<div class="content"> <div class="content">
<!-- 设备型号 --> <!-- 设备型号 -->
<div class="detail-item">{{ $t('message.lifterManage.equipmentModel') }}{{detailData.devModel}}</div> <div class="detail-item">
设备型号{{detailData.devModel}}
<!-- {{ $t('message.lifterManage.equipmentModel') }}{{detailData.devModel}} -->
</div>
<!-- 创建人 --> <!-- 创建人 -->
<div class="detail-item">{{ $t('message.lifterManage.creator') }}{{detailData.createUserName}}</div> <!-- <div class="detail-item">{{ $t('message.lifterManage.creator') }}{{detailData.createUserName}}</div> -->
<div class="detail-item">创建人{{detailData.createUserName}}</div>
<!-- 创建时间 --> <!-- 创建时间 -->
<div class="detail-item">{{ $t('message.lifterManage.creationTime') }}{{detailData.createTime}}</div> <!-- <div class="detail-item">{{ $t('message.lifterManage.creationTime') }}{{detailData.createTime}}</div> -->
<div class="detail-item">创建时间{{detailData.createTime}}</div>
<!-- 首次安装高度 --> <!-- 首次安装高度 -->
<div class="detail-item">{{ $t('message.lifterManage.firstInstallHeight') }}{{detailData.firstInstallHeight}}</div> <div class="detail-item">首次安装高度{{detailData.firstInstallHeight}}</div>
<!-- <div class="detail-item">{{ $t('message.lifterManage.firstInstallHeight') }}{{detailData.firstInstallHeight}}</div> -->
<!-- 最终安装高度 --> <!-- 最终安装高度 -->
<div class="detail-item">{{ $t('message.lifterManage.lastInstallHeight') }}{{detailData.finalInstallHeight}}</div> <!-- <div class="detail-item">{{ $t('message.lifterManage.lastInstallHeight') }}{{detailData.finalInstallHeight}}</div> -->
<div class="detail-item">最终安装高度{{detailData.finalInstallHeight}}</div>
<!-- 计划进场时间 --> <!-- 计划进场时间 -->
<div class="detail-item">{{ $t('message.lifterManage.planMobilizationTime') }}{{detailData.planEnterTime}}</div> <!-- <div class="detail-item">{{ $t('message.lifterManage.planMobilizationTime') }}{{detailData.planEnterTime}}</div> -->
<div class="detail-item">计划进场时间{{detailData.planEnterTime}}</div>
<!-- 计划安装时间 --> <!-- 计划安装时间 -->
<div class="detail-item">{{ $t('message.lifterManage.planInstallTime') }}{{detailData.planInstallTime}}</div> <!-- <div class="detail-item">{{ $t('message.lifterManage.planInstallTime') }}{{detailData.planInstallTime}}</div> -->
<div class="detail-item">计划安装时间{{detailData.planInstallTime}}</div>
<!-- 计划拆除时间 --> <!-- 计划拆除时间 -->
<div class="detail-item">{{ $t('message.lifterManage.planDismantleTime') }}{{detailData.planDismantleTime}}</div> <!-- <div class="detail-item">{{ $t('message.lifterManage.planDismantleTime') }}{{detailData.planDismantleTime}}</div> -->
<div class="detail-item">计划拆除时间{{detailData.planDismantleTime}}</div>
<!-- 现场编号 --> <!-- 现场编号 -->
<div class="detail-item">{{ $t('message.lifterManage.siteNumber') }}{{detailData.sceneNumber}}</div> <!-- <div class="detail-item">{{ $t('message.lifterManage.siteNumber') }}{{detailData.sceneNumber}}</div> -->
<div class="detail-item">现场编号{{detailData.sceneNumber}}</div>
<!-- 次顶升时间--> <!-- 次顶升时间-->
<div class="detail-item" v-for="(item,index) in detailData.jackingList" :key="index"> <div class="detail-item" v-for="(item,index) in detailData.jackingList" :key="index">
{{ $t('message.lifterManage.theFirst') }} {{item.sequenceNo}} {{ $t('message.lifterManage.jackingTime') }}{{item.jackingTime}} <!-- {{ $t('message.lifterManage.theFirst') }} {{item.sequenceNo}} {{ $t('message.lifterManage.jackingTime') }}{{item.jackingTime}} -->
{{item.sequenceNo}} 次顶升时间{{item.jackingTime}}
</div> </div>
</div> </div>
</div> </div>

View File

@ -390,6 +390,7 @@
</template> </template>
<script> <script>
import devFilingDetail from './../../projectFront/towerCrane/devFilingDetail.vue' import devFilingDetail from './../../projectFront/towerCrane/devFilingDetail.vue'
import { import {
selectSchemeRecordApi, selectSchemeRecordApi,