提交代码

dev-login
姜玉琦 2023-08-15 17:49:03 +08:00
parent cb9198bb95
commit cdc1171fc5
6 changed files with 141 additions and 28 deletions

View File

@ -5,6 +5,7 @@ import quarterlyAssess from './quarterlyAssess/index'
import problemmodify from './problemmodify/index'
import workFile from './workFile/index'
import workTrain from './workTrain/index'
import special from './special/index'
export default {
project,
dept,
@ -12,5 +13,6 @@ export default {
quarterlyAssess,
problemmodify,
workFile,
workTrain
workTrain,
special
}

View File

@ -0,0 +1,20 @@
import request from '@/utils/request'
const getProjectSpecialView=(deptId,projectId)=> {
return request({
url: `bgscreen/projectspecial/getProjectSpecialView?deptId=${deptId}&projectId=${projectId}`,
method: 'get'
})
}
const getProjectSpecialList=(projectId)=> {
return request({
url: `bgscreen/projectspecial/getProjectSpecialList?projectId=${projectId}`,
method: 'get'
})
}
export default{
getProjectSpecialView,
getProjectSpecialList
}

View File

@ -0,0 +1,77 @@
<template>
<MyDialog v-if="show" v-model="show" width="1200px" height="550px" class="projectSpecialDlg">
<template slot="title">{{title}}</template>
<el-table :data="dataList" class="mytable" style="width: 100%;background: transparent;" height="470">
<el-table-column prop="name" align="center" label="人员名称"></el-table-column>
<el-table-column prop="sex" align="center" label="性别">
<template slot-scope="scope">
<span v-if="scope.row.sex==0"></span>
<span v-if="scope.row.sex==1"></span>
<span v-if="scope.row.sex==2"></span>
</template>
</el-table-column>
<el-table-column prop="phoneNumber" align="center" label="联系方式"> </el-table-column>
<el-table-column label="证书编号" align="center" prop="credentialNumber"></el-table-column>
<el-table-column label="证书过期时间" align="center" prop="credentialExpirationTime"></el-table-column>
<el-table-column label="证书类型" align="center" prop="credentialType" v-if="false"></el-table-column>
<el-table-column label="提交时间" align="center" prop="createTime"></el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-download"
@click="handledownload(scope.row)"
>查看证书</el-button>
</template>
</el-table-column>
</el-table>
</MyDialog>
</template>
<script>
import '@/components/module/module-one-1-1'
import MyDialog from '../components/MyDialog'
export default {
components: {
MyDialog,
},
name: 'projectSpecialDlg',
data() {
return {
title:'',
data: null,
dataList: [],
show: false
};
},
/**特种作业人员数据 */
mounted() {
this.data = null;
},
methods: {
/** 下载证书 */
handledownload(row){
window.open('/jhapi'+row.credentialFile);
},
showDialog(it) {
this.data = it;
this.title = it.title;
this.$api.special.getProjectSpecialList(it.projectId).then(d => {
this.dataList = d.rows;
this.show = true;
});
}
},
};
</script>
<style lang="less" scoped>
.mytable {
/deep/ th .cell {
color: aquamarine;
}
}
</style>

View File

@ -1,11 +1,11 @@
<template>
<MyDialog v-if="show" v-model="show" width="1000px" height="450px" class="worktrain-dlg">
<template slot="title">{{title}}</template>
<div style="display: block;height: 450px;">
<div style="display: block;height: 375px;">
<div class="prj-info-list" v-if="data && JSON.stringify(data) != '{}'">
<div class="col-1" style="width:400px;display: inline-block;">
<el-carousel height="400px" v-if="data && data.mainImage && data.mainImage.length > 0">
<div style="width: 100%;align-items: center;justify-content: center;height: 400px;margin-top: 10px;">
<el-carousel height="350px" v-if="data && data.mainImage && data.mainImage.length > 0">
<div style="width: 100%;align-items: center;justify-content: center;height: 350px;margin-top: 10px;">
<img :src="$apiPath + data.mainImage" style="width: 400px;height: 350px;">
</div>
</el-carousel>
@ -15,7 +15,7 @@
</div>
</div>
<div class="col-2 scroll"
style="flex-grow: 1;max-height: 450px;min-height:450px;overflow: auto;width: calc(100% - 430px);align-items: center;float:right;margin-top: 10px;">
style="flex-grow: 1;max-height: 350px;min-height:350px;overflow: auto;width: calc(100% - 430px);align-items: center;float:right;margin-top: 24px;">
<div>
<template v-if="data.projectName">
<div><img src="images/title_icon.png"><span class="sp-lbl">项目名称</span></div>
@ -81,7 +81,7 @@ export default {
};
},
/**项目季度考核目标数据 */
/**培训演练数据 */
mounted() {
this.data = null;
},
@ -119,7 +119,7 @@ export default {
}
.sp-lbl {
display: inline-block;
color: aquamarine;
color: #01a9ff;
}
.div-text{
color: #B8C9EE;

View File

@ -15,7 +15,7 @@
<div :class="safeNav==4?'active':''" @click="doSafeNav(4,'子公司总数')"></div>
<div :class="safeNav==5?'active':''" @click="doSafeNav(5,'甲方代表')"></div>
<div :class="safeNav==6?'active':''" @click="doSafeNav(6,'监理单位')"></div>
<div :class="safeNav==7?'active':''" @click="doSafeNav(7,'施工单位')"></div>
<div :class="safeNav==7?'active':''" @click="doSafeNav(7,'总包单位')"></div>
</div>
<project-overview-chart2 :key="safeNav" :sp="'\n'" :maintitle="fmt(summaryTotal)" :typedata="summary" :text="safeText" :height="230"></project-overview-chart2>
<div style="padding:0px 20px">

View File

@ -15,7 +15,7 @@
<div :class="safeNav == 4 ? 'active' : ''" @click="doSafeNav(4, '子公司总数')">子公司</div>
<div :class="safeNav == 5 ? 'active' : ''" @click="doSafeNav(5, '甲方代表')">甲方代表</div>
<div :class="safeNav == 6 ? 'active' : ''" @click="doSafeNav(6, '监理单位')">监理单位</div>
<div :class="safeNav == 7 ? 'active' : ''" @click="doSafeNav(7, '施工单位')">施工单位</div>
<div :class="safeNav == 7 ? 'active' : ''" @click="doSafeNav(7, '总包单位')">总包单位</div>
</div>
<project-overview-chart2 :key="safeNav" :sp="'\n'" :maintitle="fmt(summaryTotal)"
:typedata="summary" :text="safeText" :height="230"></project-overview-chart2>
@ -138,15 +138,14 @@
</module-one-1-1>
<module-one-1-1 label="特种作业人员">
<div class="quality-table special-table">
<el-table :data="specialData" style="width: 100%;background: transparent;" height="265"
ref="fbsubordinateUnit">
<el-table-column prop="name" label="项目名称"> </el-table-column>
<el-table-column prop="cnt" label="特种作业人员数"> </el-table-column>
<el-table-column prop="cnt2" label="操作证数"> </el-table-column>
<el-table-column prop="cnt3" label="操作证即将过期">
<el-table :data="specialDataList" class="mytable" style="width: 100%;background: transparent;" height="265"
ref="fbsubordinateUnit" @row-click="doSpecialRowClick">
<el-table-column prop="projectName" label="项目名称" min-width="180"></el-table-column>
<el-table-column prop="total" label="操作证数"> </el-table-column>
<el-table-column prop="expired" label="即将过期"> </el-table-column>
<el-table-column prop="void" label="已过期">
<template slot-scope="scope">
<span style="color:#01A9FF">{{ scope.row.cnt3 }}</span>
<span style="color:#01A9FF">{{ scope.row.void }}</span>
</template>
</el-table-column>
</el-table>
@ -172,7 +171,7 @@
<svg v-if="it.fileType=='TXT'" style="vertical-align: middle;fill: currentColor;overflow: hidden;" t="1692028607806" class="icon my-svg-icon2" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1774"><path d="M581.290667 0a42.666667 42.666667 0 0 1 28.117333 10.538667l314.709333 275.370666a42.666667 42.666667 0 0 1 14.549334 32.128V896a128 128 0 0 1-120.490667 127.786667L810.666667 1024H213.333333a128 128 0 0 1-127.786666-120.490667L85.333333 896V128A128 128 0 0 1 205.824 0.213333L213.333333 0h367.957334zM512 85.333333H213.333333a42.666667 42.666667 0 0 0-42.368 37.674667L170.666667 128v768a42.666667 42.666667 0 0 0 37.674666 42.368L213.333333 938.666667h597.333334a42.666667 42.666667 0 0 0 42.368-37.674667L853.333333 896V384h-213.333333a128 128 0 0 1-127.146667-113.066667l-0.64-7.424L512 256V85.333333z m178.901333 384.170667v59.733333h-139.818666v366.933334H481.152v-366.933334H341.333333v-59.733333h349.568zM597.333333 103.808V256a42.666667 42.666667 0 0 0 37.674667 42.368L640 298.666667h167.338667L597.333333 103.808z" fill="#008df0" p-id="1775"></path></svg>
<svg v-if="it.fileType=='PNG' || it.fileType=='JPG' || it.fileType=='JPEG'" style="vertical-align: middle;fill: currentColor;overflow: hidden;" t="1692028684554" class="icon my-svg-icon2" viewBox="0 0 1117 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1922"><path d="M977.454545 0a139.636364 139.636364 0 0 1 139.636364 139.636364v744.727272a139.636364 139.636364 0 0 1-139.636364 139.636364H139.636364a139.636364 139.636364 0 0 1-139.636364-139.636364V139.636364a139.636364 139.636364 0 0 1 139.636364-139.636364zM321.163636 495.848727L93.090909 761.902545V884.363636a46.545455 46.545455 0 0 0 41.099636 46.219637L139.636364 930.909091h837.818181a46.312727 46.312727 0 0 0 23.319273-6.237091 42.914909 42.914909 0 0 1-8.052363-5.818182l-4.049455-4.189091-196.189091-236.637091-151.04 188.881455a46.545455 46.545455 0 0 1-71.586909 1.396364l-3.490909-4.654546L321.163636 495.848727zM977.454545 93.090909H139.636364a46.545455 46.545455 0 0 0-46.545455 46.545455v479.232l197.352727-230.260364a46.545455 46.545455 0 0 1 70.656-0.046545l3.444364 4.514909 243.944727 365.940363 146.432-183.016727a46.545455 46.545455 0 0 1 67.677091-5.306182l4.002909 4.096L1024 811.659636V139.636364a46.545455 46.545455 0 0 0-41.099636-46.219637L977.454545 93.090909z m-186.181818 139.636364a93.090909 93.090909 0 1 1 0 186.181818 93.090909 93.090909 0 0 1 0-186.181818z" fill="#008df0" p-id="1923"></path></svg>
<svg v-if="it.fileType=='MP4'" style="vertical-align: middle;fill: currentColor;overflow: hidden;" t="1692028772745" class="icon my-svg-icon2" viewBox="0 0 1117 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2072"><path d="M977.454545 0a139.636364 139.636364 0 0 1 139.403637 131.444364L1117.090909 139.636364v744.727272a139.636364 139.636364 0 0 1-131.444364 139.403637L977.454545 1024H139.636364a139.636364 139.636364 0 0 1-139.403637-131.444364L0 884.363636V139.636364A139.636364 139.636364 0 0 1 131.444364 0.232727L139.636364 0h837.818181z m46.545455 302.545455h-122.228364l-7.214545 5.818181-4.608-5.818181h-267.450182l-7.214545 5.818181-4.608-5.818181H343.226182l-7.214546 5.818181L331.403636 302.545455H93.090909V884.363636a46.545455 46.545455 0 0 0 41.099636 46.219637L139.636364 930.909091h837.818181a46.545455 46.545455 0 0 0 46.219637-41.099636L1024 884.363636V302.545455zM484.212364 422.818909l4.654545 2.420364 279.272727 162.909091a46.545455 46.545455 0 0 1 5.12 76.986181l-5.12 3.444364-279.272727 162.909091a46.545455 46.545455 0 0 1-69.678545-34.909091L418.909091 791.272727v-325.818182a46.545455 46.545455 0 0 1 65.303273-42.635636zM512 546.443636v163.793455l140.381091-81.92L512 546.443636zM163.84 93.090909H139.636364a46.545455 46.545455 0 0 0-46.219637 41.099636L93.090909 139.636364v69.818181h163.84l-93.090909-116.363636z m279.272727 0H282.996364l93.090909 116.363636h160.116363l-93.090909-116.363636z m279.272728 0h-160.116364l93.090909 116.363636h160.116364l-93.090909-116.363636zM977.454545 93.090909h-135.912727l93.090909 116.363636H1024V139.636364a46.545455 46.545455 0 0 0-41.099636-46.219637L977.454545 93.090909z" fill="#008df0" p-id="2073"></path></svg>
<div style="flex-grow: 1;padding-left: 20px;line-height: 24px;">
<div style="flex-grow: 1;padding-left: 20px;line-height: 24px;width: 75%;">
<div class="file-name">{{ it.fileName }}</div>
<div style="color: #aaa;" class="file-time">{{ it.createTime }}</div>
</div>
@ -261,7 +260,8 @@
</el-row>
</div>
</div>
<woorktrainDlg ref="workTrainDlg"></woorktrainDlg>
<worktrainDlg ref="workTrainDlg"></worktrainDlg>
<projectSpecialDlg ref="projectSpecialDlg"></projectSpecialDlg>
<ProblemmodifyDetail ref="probDlg"></ProblemmodifyDetail>
</div>
</template>
@ -279,12 +279,14 @@ import '../components/staff-survey-chart'
import '../components/idle-list-chart'
import '../components/people-number'
import '../components/people-number'
import woorktrainDlg from './woorktrain/indexDlg'
import worktrainDlg from './dlg/workTrainDlg.vue'
import projectSpecialDlg from './dlg/projectSpecialDlg.vue'
import ProblemmodifyDetail from './components/ProblemmodifyDetail.vue'
export default {
components: {
woorktrainDlg,
worktrainDlg,
projectSpecialDlg,
ProblemmodifyDetail
},
data() {
@ -318,12 +320,7 @@ export default {
{ text: "劳务人员", value: 20 },
],
//
specialData: [
{ name: '荟锦坊一期', cnt: 11, cnt2: 2, cnt3: 0 },
{ name: '泾河智谷一期', cnt: 13, cnt2: 5, cnt3: 0 },
{ name: '泊域人才中心', cnt: 11, cnt2: 3, cnt3: 0 },
{ name: '云和悦小区', cnt: 8, cnt2: 4, cnt3: 0 },
],
specialDataList:[],
//
insuranceData: [
{ name: '荟锦坊一期', dt1: '已购买', dt2: '正在办理' },
@ -342,6 +339,7 @@ export default {
this.getWorkFileList();
this.getWorkTrainList();
this.getEmergencyDrillList();
this.getProjectSpecialView();
},
mounted() {
this.$bus.$on("deptChange", dept => {
@ -349,11 +347,16 @@ export default {
this.doDeptChane();
this.getWorkTrainList();
this.getEmergencyDrillList();
this.getProjectSpecialView();
});
},
methods: {
doProbleRowClick(a,b,c){
//this.$refs.probDlg.showDialog(a,0);
},
doSpecialRowClick(row){
row.title = row.projectName+"特种作业人员清单";
this.$refs.projectSpecialDlg.showDialog(row);
},
doShowDlgTrain(it, type) {
if (type == "0") {
@ -397,6 +400,16 @@ export default {
this.emergencyDrillList = d.rows;
});
},
//
getProjectSpecialView(){
let deptId = '';
if (this.dept && this.dept.id != 0) {
deptId = this.dept.id;
}
this.$api.special.getProjectSpecialView(deptId).then(d => {
this.specialDataList = d.rows;
});
},
fmt(n) {
n = "" + n;
return " ".substring(0, 3 - n.length) + n;
@ -623,8 +636,9 @@ export default {
display: flex;
margin-left: 20px;
margin-right: 20px;
margin-bottom: 30px;
margin-bottom: 20px;
font-size: 12px;
width: 91%;
}
.file-item .file-detail {