提交代码
parent
1d9c332b61
commit
eec37d1315
|
@ -84,6 +84,13 @@ const findFormDatasByProcInsId=(procInsId)=> {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const findFlowLabourList=(projId,nv,pageNum,pageSize)=> {
|
||||||
|
return request({
|
||||||
|
url: `bgscreen/flow/findFlowLabourList?projectId=${projId}&activeName=${nv}&pageNum=${pageNum}&pageSize=${pageSize}`,
|
||||||
|
method: 'get'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
const findFlowLabourGroupCountByApprove=(deptId,projectId)=> {
|
const findFlowLabourGroupCountByApprove=(deptId,projectId)=> {
|
||||||
return request({
|
return request({
|
||||||
url: `bgscreen/flow/findFlowLabourGroupCountByApprove?projectId=${projectId}&deptId=${deptId}`,
|
url: `bgscreen/flow/findFlowLabourGroupCountByApprove?projectId=${projectId}&deptId=${deptId}`,
|
||||||
|
@ -103,5 +110,6 @@ export default{
|
||||||
findSafetyWorkList,
|
findSafetyWorkList,
|
||||||
findFormDatasByProcInsId,
|
findFormDatasByProcInsId,
|
||||||
listByCategory,
|
listByCategory,
|
||||||
|
findFlowLabourList,
|
||||||
findFlowLabourGroupCountByApprove
|
findFlowLabourGroupCountByApprove
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,259 @@
|
||||||
|
<template>
|
||||||
|
<MyDialog
|
||||||
|
v-if="show"
|
||||||
|
v-model="show"
|
||||||
|
width="1480px"
|
||||||
|
height="850px"
|
||||||
|
class="flowLabourDlg"
|
||||||
|
>
|
||||||
|
<template slot="title">{{ title }}</template>
|
||||||
|
<div class="head-title-tab">
|
||||||
|
<div :class="nav == 'all' ? 'head-nav active' : 'head-nav'" @click="doNav('all')">
|
||||||
|
全部数据({{ tags.all }})
|
||||||
|
</div>
|
||||||
|
<div :class="nav == 'jxz' ? 'head-nav active' : 'head-nav'" @click="doNav('jxz')">
|
||||||
|
待处理({{ tags.db }})
|
||||||
|
</div>
|
||||||
|
<div :class="nav == 'ywc' ? 'head-nav active' : 'head-nav'" @click="doNav('ywc')">
|
||||||
|
已处理({{ tags.yb }})
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<template>
|
||||||
|
<div class="data-list scroll" style="max-height: 712px; overflow-y: auto">
|
||||||
|
<div
|
||||||
|
v-if="dataList.length == 0"
|
||||||
|
style="text-align: center; padding-top: 200px"
|
||||||
|
class="div-no-data"
|
||||||
|
>
|
||||||
|
<img src="images/nodata.png" style="width: 120px" />
|
||||||
|
<div style="text-align: center; font-size: 12px; color: #888">暂无数据</div>
|
||||||
|
</div>
|
||||||
|
<div v-else class="acceptance-list">
|
||||||
|
<div
|
||||||
|
class="acceptance-item"
|
||||||
|
v-for="(it, idx) in dataList"
|
||||||
|
:key="idx"
|
||||||
|
style="cursor: pointer"
|
||||||
|
:class="it.approveStatus=='100'?'inspect_shtg':(it.approveStatus%10==0?'inspect_shz':'inspect_shbh')"
|
||||||
|
>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8" class="item-data">
|
||||||
|
<div class="rank-chart-title bottom-line div-text">
|
||||||
|
项目名称:{{ it.projectName }}
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" class="item-data">
|
||||||
|
<div class="rank-chart-title bottom-line div-text">
|
||||||
|
总包单位:{{ it.deptName }}
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" class="item-data">
|
||||||
|
<div class="rank-chart-title bottom-line div-text">
|
||||||
|
劳务单位:{{ it.subDeptName }}
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" class="item-data">
|
||||||
|
<div class="rank-chart-title bottom-line div-text">
|
||||||
|
投诉人:{{ it.deptName }}
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" class="item-data">
|
||||||
|
<div class="rank-chart-title bottom-line div-text">
|
||||||
|
联系电话:{{ it.laborPhone }}
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" class="item-data">
|
||||||
|
<div class="rank-chart-title bottom-line div-text">
|
||||||
|
身份证号:{{ it.laborCardId }}
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" class="item-data">
|
||||||
|
<div class="rank-chart-title bottom-line div-text">
|
||||||
|
欠薪人数:<span class="fblue">{{ it.laborNumber }}</span> 人
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" class="item-data">
|
||||||
|
<div class="rank-chart-title bottom-line div-text">
|
||||||
|
欠薪金额:<span class="fblue">{{ it.laborAmount }}</span> 元
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8" class="item-data">
|
||||||
|
<div class="rank-chart-title bottom-line div-text">
|
||||||
|
处理节点:
|
||||||
|
<span class="fblue" v-show="it.approveStatus == '10'">
|
||||||
|
待总包单位处理
|
||||||
|
</span>
|
||||||
|
<span class="fblue" v-show="it.approveStatus == '20'">
|
||||||
|
待甲方代表审批
|
||||||
|
</span>
|
||||||
|
<span class="fred" v-show="it.approveStatus == '21'">
|
||||||
|
甲方代表审批驳回
|
||||||
|
</span>
|
||||||
|
<span class="fblue" v-show="it.approveStatus == '30'">
|
||||||
|
待集团公司审批
|
||||||
|
</span>
|
||||||
|
<span class="fred" v-show="it.approveStatus == '31'">
|
||||||
|
集团公司审批驳回
|
||||||
|
</span>
|
||||||
|
<span class="fsuccess" v-show="it.approveStatus == '100'">处理完成</span>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24" class="item-data">
|
||||||
|
<div class="rank-chart-title bottom-line div-text">
|
||||||
|
原因说明:{{ it.laborReason }} <el-link v-if="it.files" type="primary" @click="downFiles(it.files)">下载附件凭证</el-link>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<el-pagination
|
||||||
|
layout="total,prev, pager, next"
|
||||||
|
:hide-on-single-page="true"
|
||||||
|
@current-change="handleCurrentChange"
|
||||||
|
:total="total"
|
||||||
|
:page-size="pageSize"
|
||||||
|
:current-page.sync="pageNum"
|
||||||
|
class="bg-pagination"
|
||||||
|
></el-pagination>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</MyDialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import MyDialog from "../components/MyDialog";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
MyDialog,
|
||||||
|
},
|
||||||
|
name: "flowLabourDlg",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
title: "劳资预警",
|
||||||
|
data: null,
|
||||||
|
dataList: [],
|
||||||
|
show: false,
|
||||||
|
nav: "jxz",
|
||||||
|
specialType: "0",
|
||||||
|
tags: {
|
||||||
|
all: 0,
|
||||||
|
db: 0,
|
||||||
|
yb: 0,
|
||||||
|
},
|
||||||
|
pageNum: 0,
|
||||||
|
pageSize: 3,
|
||||||
|
total: 0,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
/**特种作业人员数据 */
|
||||||
|
mounted() {
|
||||||
|
this.data = null;
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
handleCurrentChange(n) {
|
||||||
|
this.pageNum = n;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
showDialog(it) {
|
||||||
|
this.data = it;
|
||||||
|
this.pageNum = 0;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
doNav(nav) {
|
||||||
|
this.nav = nav;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
getList() {
|
||||||
|
this.queryCount();
|
||||||
|
this.$api.flow.findFlowLabourList(this.data?.id||0,this.nav,this.pageNum,this.pageSize).then((res) => {
|
||||||
|
this.dataList = res.rows;
|
||||||
|
this.show = true;
|
||||||
|
this.total = res.total;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
queryCount() {
|
||||||
|
this.$api.flow.findFlowLabourGroupCountByApprove(0, this.data.id).then((res) => {
|
||||||
|
if (res.code == 200 && res.data) {
|
||||||
|
this.tags.all = res.data.all;
|
||||||
|
this.tags.db = res.data.db;
|
||||||
|
this.tags.yb = res.data.yb;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
downFiles(files){
|
||||||
|
if(files){
|
||||||
|
files.split(',').forEach(item => {
|
||||||
|
window.open('/jhapi' + item);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scope>
|
||||||
|
.popup-project-introduction-min {
|
||||||
|
transform: translateY(100px) !important;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<style lang="less" scoped>
|
||||||
|
.flowLabourDlg {
|
||||||
|
.data-list {
|
||||||
|
.acceptance-item {
|
||||||
|
margin-top: 20px;
|
||||||
|
border: 1px #dddddd solid;
|
||||||
|
padding: 12px;
|
||||||
|
border-radius: 8px;
|
||||||
|
margin-right: 12px;
|
||||||
|
}
|
||||||
|
.fblue{
|
||||||
|
color:#1879da;
|
||||||
|
}
|
||||||
|
.fred{
|
||||||
|
color:#fd6060;
|
||||||
|
font-weight:800;
|
||||||
|
}
|
||||||
|
.fsuccess{
|
||||||
|
color:green;
|
||||||
|
font-weight:800;
|
||||||
|
}
|
||||||
|
.inspect_shtg {
|
||||||
|
padding: 15px 3px;
|
||||||
|
background-size: 120px 120px !important;
|
||||||
|
background: url("https://szgcwx.jhncidg.com/staticFiles/images/shtg.png") no-repeat top
|
||||||
|
40px right 20px;
|
||||||
|
}
|
||||||
|
.inspect_shz {
|
||||||
|
padding: 15px 3px;
|
||||||
|
background-size: 120px 120px !important;
|
||||||
|
background: url("https://szgcwx.jhncidg.com/staticFiles/images/shz.png") no-repeat top
|
||||||
|
40px right 20px;
|
||||||
|
}
|
||||||
|
.inspect_shbh {
|
||||||
|
padding: 15px 3px;
|
||||||
|
background-size: 120px 120px !important;
|
||||||
|
background: url("https://szgcwx.jhncidg.com/staticFiles/images/shbh.png") no-repeat top
|
||||||
|
40px right 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.bg-pagination {
|
||||||
|
margin-top: 20px;
|
||||||
|
}
|
||||||
|
.head-title-tab {
|
||||||
|
padding-top: 12px;
|
||||||
|
display: block;
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
.head-nav {
|
||||||
|
background-size: 100% 100%;
|
||||||
|
display: inline-block;
|
||||||
|
width: auto;
|
||||||
|
padding: 0px 24px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -816,8 +816,8 @@
|
||||||
top: 12px;
|
top: 12px;
|
||||||
z-index: 9;
|
z-index: 9;
|
||||||
"
|
"
|
||||||
|
@click="doFlowLabourDlg()"
|
||||||
/>
|
/>
|
||||||
<!-- @click="doStandardDlg(null)" -->
|
|
||||||
<div class="equipment-list-max quality-target-index">
|
<div class="equipment-list-max quality-target-index">
|
||||||
<el-row>
|
<el-row>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
|
@ -991,6 +991,7 @@
|
||||||
<project-info-dlg ref="prjInfoDlg"></project-info-dlg>
|
<project-info-dlg ref="prjInfoDlg"></project-info-dlg>
|
||||||
<AttendanceDetailDialog ref="attDetailDlg"></AttendanceDetailDialog>
|
<AttendanceDetailDialog ref="attDetailDlg"></AttendanceDetailDialog>
|
||||||
<JobWorkerDialog ref="jobWorkerdlg"></JobWorkerDialog>
|
<JobWorkerDialog ref="jobWorkerdlg"></JobWorkerDialog>
|
||||||
|
<flowLabourDlg ref="flowLabourDlg"></flowLabourDlg>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -1003,6 +1004,7 @@ import projectInfoDlg from "./detail/projectInfoDlg.vue";
|
||||||
import debounce from "lodash.debounce";
|
import debounce from "lodash.debounce";
|
||||||
import AttendanceDetailDialog from "./components/AttendanceDetailDialog.vue";
|
import AttendanceDetailDialog from "./components/AttendanceDetailDialog.vue";
|
||||||
import JobWorkerDialog from "./components/JobWorkerDialog.vue";
|
import JobWorkerDialog from "./components/JobWorkerDialog.vue";
|
||||||
|
import flowLabourDlg from "./dlg/flowLabourDlg";
|
||||||
import { tryToJson } from "@/utils/tools";
|
import { tryToJson } from "@/utils/tools";
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
|
@ -1011,6 +1013,7 @@ export default {
|
||||||
mapModle,
|
mapModle,
|
||||||
AttendanceDetailDialog,
|
AttendanceDetailDialog,
|
||||||
JobWorkerDialog,
|
JobWorkerDialog,
|
||||||
|
flowLabourDlg,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -1204,6 +1207,12 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
/**
|
||||||
|
* 劳资预警详情弹窗
|
||||||
|
*/
|
||||||
|
doFlowLabourDlg(){
|
||||||
|
this.$refs.flowLabourDlg.showDialog(this.project);
|
||||||
|
},
|
||||||
getFloorArea() {
|
getFloorArea() {
|
||||||
this.getProjectId((id) => {
|
this.getProjectId((id) => {
|
||||||
if (id == 0) {
|
if (id == 0) {
|
||||||
|
|
Loading…
Reference in New Issue