重点工程隐患考评相关完成

main
dearlin 2023-11-14 16:55:56 +08:00
parent d3e877e3dc
commit e7cf0f445e
15 changed files with 227 additions and 1050 deletions

View File

@ -0,0 +1,166 @@
<template>
<div>
<div class="app-container">
<el-page-header content="查看详情" @back="goBack"/>
<table class="table-ui mt-20">
<tr>
<td class="tbg">隐患照片</td>
<td v-viewer>
<img v-for="(item,index) in pd.hiddenImgs" :key="index" :src="config.fileUrl + item.FILEPATH" alt="" style="width: 100px;height: 100px;margin-left: 10px;">
</td>
</tr>
<tr v-if="pd.hiddenVideos && pd.hiddenVideos.length !== 0 && pd.hiddenVideos[0].FILEPATH">
<td class="tbg">隐患视频</td>
<td>
<el-button icon="el-icon-video-camera" circle @click="goViewVideo(config.fileUrl + pd.hiddenVideos[0].FILEPATH)"/>
</td>
</tr>
<tr>
<td class="tbg">隐患描述</td>
<td>{{ pd.HIDDENDESCR }}</td>
</tr>
<tr>
<td class="tbg">隐患部位</td>
<td>{{ pd.HIDDENPART }}</td>
</tr>
<tr>
<td class="tbg">隐患级别</td>
<td>{{ pd.HIDDENLEVEL_NAME }}</td>
</tr>
<tr>
<td class="tbg">隐患类型</td>
<td>{{ pd.HIDDENTYPE_NAME }}</td>
</tr>
<tr>
<td class="tbg">隐患处置</td>
<td>限期整改</td>
</tr>
<tr>
<td class="tbg">整改期限</td>
<td>{{ pd.RECTIFICATIONDEADLINE }}</td>
</tr>
<tr>
<td class="tbg">整改部门</td>
<td>{{ pd.RECTIFICATIONDEPT_NAME }}</td>
</tr>
<tr>
<td class="tbg">整改人</td>
<td>{{ pd.RECTIFICATIONOR_NAME }}</td>
</tr>
<tr>
<td class="tbg">整改时间</td>
<td>{{ pd.RECTIFICATIONTIME }}</td>
</tr>
<tr>
<td class="tbg">整改照片</td>
<td v-viewer>
<img v-for="(item,index) in pd.zgImgs" :key="index" :src="config.fileUrl + item.FILEPATH" alt="" style="width: 100px;height: 100px;margin-left: 10px;">
</td>
</tr>
<tr v-if="pd.STATE === '4'">
<td class="tbg">验收时间</td>
<td>{{ pd.CHECKTIME }}</td>
</tr>
<tr v-if="pd.STATE === '4'">
<td class="tbg">验收图片</td>
<td v-viewer>
<img v-for="(item,index) in pd.ysImgs" :key="index" :src="config.fileUrl + item.FILEPATH" alt="" style="width: 100px;height: 100px;margin-left: 10px;">
</td>
</tr>
<tr v-if="pd.STATE === '4'">
<td class="tbg">是否进行罚款</td>
<td colspan="3">{{ pd.ISPUNISH === '1' ? '是' : '否' }}</td>
</tr>
</table>
</div>
<el-dialog :visible.sync="dialogViewVideo" title="视频" width="800px" @close="closePlay">
<div>
<video-player
ref="hdVideoPlayer"
:playsinline="true"
:options="playerOptions"
class="video-player vjs-custom-skin"/>
</div>
</el-dialog>
<div class="ui-height" />
<div class="ui-foot">
<el-button icon="el-icon-arrow-left" @click="goBack"> </el-button>
</div>
</div>
</template>
<script>
import { requestFN } from '@/utils/request'
import { videoPlayer } from 'vue-video-player'
import 'video.js/dist/video-js.css'
export default {
components: { videoPlayer },
props: {
activeName: {
type: String,
default: ''
}
},
data() {
return {
config,
pd: {},
dialogViewVideo: false,
playerOptions: {
playbackRates: [0.5, 1.0, 1.5, 2.0], //
autoplay: false, // true,
muted: false, //
loop: false, //
preload: 'auto', // <video>auto,
language: 'zh-CN',
aspectRatio: '16:9', // 使 - "16:9""4:3"
fluid: true, // trueVideo.js player
sources: [{
type: 'video/mp4', //
src: '' // url
}],
poster: '', //
notSupportedMessage: '此视频暂无法播放,请稍后再试', // Video.js
controlBar: {
timeDivider: true, //
durationDisplay: true, //
remainingTimeDisplay: true, //
fullscreenToggle: true //
}
}
}
},
created() {
this.getData()
},
methods: {
getData() {
requestFN(
'/keyprojectcheck/findHidden',
{
HIDDEN_ID: this.$parent.HIDDEN_ID
}
).then((data) => {
this.pd = data.pd
})
},
goViewVideo(FILEPATH) {
this.playerOptions.sources[0].src = FILEPATH
this.dialogViewVideo = true
},
closePlay() {
this.$refs.hdVideoPlayer.player.pause()
},
goBack() {
if (this.activeName) {
this.$parent.activeName = this.activeName
} else {
this.$parent.activeName = 'List'
}
this.$parent.HIDDEN_ID = ''
}
}
}
</script>
<style scoped></style>

View File

@ -73,7 +73,6 @@ export default {
type: String,
default: ''
}
},
data() {
return {

View File

@ -10,12 +10,10 @@
<el-col :span="4">
<el-form-item label="隐患来源">
<el-select v-model="searchForm.SOURCE" style="width: 100%;">
<el-option value="1" label="隐患快报"/>
<el-option value="2" label="清单排查"/>
<el-option value="1" label="Ai报警"/>
<!-- <el-option value="3" label="清单排查"/>-->
<el-option value="4" label="安全环保检查(监管端)"/>
<el-option value="5" label="安全环保检查(企业端)"/>
<el-option value="6" label="消防点检"/>
</el-select>
</el-form-item>
</el-col>
@ -104,13 +102,7 @@
<el-table-column label="隐患来源">
<template slot-scope="{row}">
<span v-if="row.SOURCE=='1'">
隐患快报
</span>
<span v-else-if="row.SOURCE=='2'">
清单排查
</span>
<span v-else-if="row.SOURCE=='3'">
清单排查
Ai报警
</span>
<span v-else-if="row.SOURCE=='4'">
安全环保检查(监管端)
@ -118,22 +110,19 @@
<span v-else-if="row.SOURCE=='5'">
安全环保检查(企业端)
</span>
<span v-else-if="row.SOURCE=='6'">
消防点检
</span>
</template>
</el-table-column>
<el-table-column prop="HIDDENDESCR" label="隐患描述"/>
<el-table-column prop="DISCOVERYTIME" label="隐患发现时间"/>
<el-table-column prop="CREATTIME" label="隐患发现时间"/>
<el-table-column prop="CREATOR_NAME" label="隐患发现人"/>
<el-table-column label="隐患状态">已验收</el-table-column>
<el-table-column prop="CHECKOR_NAME" label="隐患验收人">
<el-table-column prop="CREATOR_NAME" label="隐患验收人">
<template slot-scope="{row}">
<span v-if="row.RECTIFICATIONTYPE=='1'">
--
</span>
<span v-else>
{{ row.CHECKOR_NAME }}
{{ row.CREATOR_NAME }}
</span>
</template>
</el-table-column>
@ -217,7 +206,6 @@
<el-button v-if="evaluationDialog.type === 'edit'" type="primary" @click="fnEvaluationDialogSubmit"></el-button>
</template>
</el-dialog>
<hidden-info v-if="visible" :visible.sync="visible" :id="HIDDEN_ID"/>
</div>
</template>
@ -227,10 +215,9 @@ import { requestFN } from '@/utils/request'
import waves from '@/directive/waves'
import Treeselect from '@riophae/vue-treeselect'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import hiddenInfo from './hidden_info.vue'
export default {
components: { Pagination, Treeselect, hiddenInfo },
components: { Pagination, Treeselect },
directives: { waves },
data() {
return {
@ -350,10 +337,10 @@ export default {
this.$parent.activeName = 'List'
},
fnViewHidden(HIDDEN_ID) {
this.visible = true
this.HIDDEN_ID = HIDDEN_ID
// this.$parent.HIDDEN_ID = HIDDEN_ID
// this.$parent.activeName = 'HiddenInfo'
// this.visible = true
// this.HIDDEN_ID = HIDDEN_ID
this.$parent.HIDDEN_ID = HIDDEN_ID
this.$parent.activeName = 'KeyProjectHidden'
},
fnEvaluationDialogChangeShow() {
this.evaluationDialog.visible = !this.evaluationDialog.visible
@ -371,7 +358,7 @@ export default {
})
}
requestFN(
'/hiddenevaluationrecord/goEdit',
'keyProject/hiddenevaluationrecord/goEdit',
{
HIDDEN_ID,
EVALUATIONCONFIG_ID: this.$parent.EVALUATIONCONFIG_ID
@ -400,7 +387,7 @@ export default {
this.$refs.evaluationDialogForm.validate((valid) => {
if (valid) {
requestFN(
'/hiddenevaluationrecord/add',
'keyProject/hiddenevaluationrecord/add',
{
CORPINFO_ID: this.$parent.CORPINFO_ID,
HIDDENTYPE: this.$parent.TYPE,

View File

@ -1,504 +0,0 @@
<template>
<el-dialog :visible="visible" title="隐患查看" @close="goBack">
<div class="app-container">
<div class="level-title">
<h1>隐患信息</h1>
</div>
<div class="mb-20">
<table class="table-ui">
<tr>
<td class="tbg">隐患来源</td>
<template v-if="pd.SOURCE=='1'">
<td colspan="3">隐患快报</td>
</template>
<template v-else-if="pd.SOURCE=='2'">
<td colspan="3">清单排查</td>
</template>
<template v-else-if="pd.SOURCE=='3'">
<td colspan="3">清单排查</td>
</template>
<template v-else-if="pd.SOURCE=='4'">
<td colspan="3">安全环保检查(监管端)</td>
</template>
<template v-else-if="pd.SOURCE=='5'">
<td colspan="3">安全环保检查(企业端)</td>
</template>
</tr>
<!--<tr>
<td class="tbg">检查内容</td>
<td>{{ pd.CHECK_CONTENT }}</td>
</tr>-->
<tr>
<td class="tbg">隐患描述</td>
<td colspan="3">{{ pd.HIDDENDESCR }}</td>
</tr>
<tr v-if="pd.SOURCE=='2'">
<td class="tbg">风险点单元</td>
<td>{{ pd.RISK_UNIT }}</td>
</tr>
<tr v-if="pd.SOURCE=='2'">
<td class="tbg">辨识部位</td>
<td>{{ pd.IDENTIFICATION }}</td>
</tr>
<tr v-if="pd.SOURCE=='2'">
<td class="tbg">存在风险</td>
<td>{{ pd.RISK_DESCR }}</td>
</tr>
<tr v-if="pd.SOURCE=='2'">
<td class="tbg">风险分级</td>
<td>{{ pd.LEVEL }}</td>
</tr>
<tr v-if="pd.SOURCE=='2'">
<td class="tbg">检查内容</td>
<td>{{ pd.CHECK_CONTENT }}</td>
</tr>
<tr/><tr>
<td class="tbg">隐患级别</td>
<td colspan="3">{{ pd.HIDDENLEVELNAME }}</td>
</tr>
<tr>
<td class="tbg">隐患类型</td>
<td colspan="3">{{ pd.HIDDENTYPENAME }}</td>
</tr>
<tr>
<td class="tbg">隐患状态</td>
<td colspan="3">
<template v-if="pd.STATE=='1'">
未整改
</template>
<template v-else-if="pd.STATE=='2'">
已整改
</template>
<template v-else-if="pd.STATE=='3'">
已整改
</template>
<template v-else-if="pd.STATE=='4'">
已验收
</template>
<template v-else-if="pd.STATE=='5'">
忽略隐患
</template>
<template v-else-if="pd.STATE=='6'">
重大隐患
</template>
<template v-else-if="pd.STATE=='7'">
待处理的特殊隐患
</template>
<template v-else-if="pd.STATE=='8'">
已处理的特殊隐患
</template>
<template v-else-if="pd.STATE=='-1'">
已超期
</template>
<template v-else-if="pd.STATE=='-2'">
待确认
</template>
<template v-else-if="pd.STATE=='10'">
验收打回
</template>
</td>
</tr>
<tr>
<td class="tbg">隐患部位</td>
<!-- <td>{{ pd.hregionName }}{{ pd.HIDDENPART }}</td>-->
<td v-if="pd.hregionName" colspan="3">{{ pd.hregionName }}</td>
<td v-else colspan="3">{{ pd.HIDDENPART }}</td>
</tr>
<!--<tr>
<td class="tbg">隐患类型2</td>
<td>{{ pd.HIDDENTYPENAME2 }}</td>
</tr>-->
<tr>
<td class="tbg">隐患上报位置</td>
<td colspan="3">经度:{{ pd.LONGITUDE }} , 纬度:{{ pd.LATITUDE }}</td>
</tr>
<tr>
<td class="tbg">隐患位置描述</td>
<td colspan="3">{{ pd.POSITIONDESC }}</td>
</tr>
<tr>
<td class="tbg">隐患图片</td>
<td ref="hImgs" colspan="3" class="img-select">
<viewer :images="hImgs">
<img v-for="item in hImgs" :src="config.fileUrl + item.FILEPATH" :key="item.IMGFILES_ID" width="100" height="100">
</viewer>
</td>
</tr>
<tr>
<td class="tbg">隐患发现人</td>
<td colspan="3">{{ pd.CREATORNAME }}</td>
</tr>
<tr>
<td class="tbg">隐患发现时间</td>
<td colspan="3">{{ pd.DISCOVERYTIME }}</td>
</tr>
<tr>
<td class="tbg">整改类型</td>
<td colspan="3">
<template v-if="pd.RECTIFICATIONTYPE=='1'">
立即整改
</template>
<template v-else-if="pd.RECTIFICATIONTYPE=='2'">
限期整改
</template>
</td>
</tr>
<tr>
<td class="tbg">整改负责部门</td>
<td colspan="3">{{ pd.editDeptName ?pd.editDeptName :pd.RECTIFICATIONDEPTNAME }}</td>
</tr>
<tr>
<td class="tbg">整改负责人</td>
<td colspan="3">{{ pd.RECTIFICATIONORNAME }}</td>
</tr>
<tr>
<td class="tbg">是否相关方</td>
<td colspan="3">{{ pd.ISRELEVANT=='1'?'是':'否' }}</td>
</tr>
<tr v-if="playerOptions.sources[0].src">
<td class="tbg">隐患视频</td>
<td colspan="3">
<span v-if="playerOptions.sources[0].src" style="color: #4395ff;cursor: pointer" @click="dialogVisible = true"></span>
</td>
</tr>
<tr v-if="pd.RECTIFICATIONTYPE=='2'">
<td class="tbg">整改期限</td>
<td colspan="3">{{ pd.RECTIFICATIONDEADLINE }}</td>
</tr>
<tr/>
<!-- <tr>-->
<!-- <td class="tbg">整改完成期限</td>-->
<!-- <td colspan="3">{{ pd.RECTIFICATIONDEADLINE }}</td>-->
<!-- </tr>-->
<!-- <tr>-->
<!-- <td class="tbg">隐患确认人</td>-->
<!-- <td colspan="3">{{ pd.conUserName }}</td>-->
<!-- </tr>-->
<template v-if="repulsecause">
<tr v-for="item in repulsecause" :key="item.USER_ID">
<td class="tbg">打回原因</td>
<td>{{ item.REPULSE_CAUSE }}</td>
<td class="tbg">打回时间</td>
<td>{{ item.OPERATTIME }}</td>
</tr>
</template>
</table>
</div>
<div>
<div class="level-title">
<h1>确认信息</h1>
</div>
<table class="table-ui">
<tr>
<td class="tbg">隐患级别</td>
<td >{{ pd.HIDDENLEVELNAME }}</td>
</tr>
<tr>
<td class="tbg">整改负责人</td>
<td >{{ pd.RECTIFICATIONORNAME }}</td>
</tr>
<tr>
<td class="tbg">整改完成期限</td>
<td >{{ pd.RECTIFICATIONDEADLINE }}</td>
</tr>
<tr >
<td class="tbg">隐患确认人</td>
<td>{{ pd.conUserName }}</td>
</tr>
<tr>
<td class="tbg">隐患确认时间</td>
<td colspan="3">{{ pd.CONFIRM_TIME }}</td>
</tr>
</table>
</div>
<div v-show="pd.STATE>=2 && pd.STATE <16">
<div class="level-line" />
<div class="level-title">
<h1>整改信息</h1>
</div>
<table class="table-ui">
<tr>
<td class="tbg">整改描述</td>
<td>{{ pd.RECTIFYDESCR }}</td>
</tr>
<tr>
<td class="tbg">整改部门</td>
<td>{{ pd.RECTIFICATIONDEPTNAME }}</td>
</tr>
<tr>
<td class="tbg">整改人</td>
<td>{{ pd.RECTIFICATIONORNAME }}</td>
</tr>
<tr>
<td class="tbg">整改时间</td>
<td>{{ pd.RECTIFICATIONTIME }}</td>
</tr>
<tr>
<td class="tbg">投入资金</td>
<td>{{ pd.INVESTMENT_FUNDS }}</td>
</tr>
<tr>
<td class="tbg">整改后图片</td>
<td class="img-select">
<viewer :images="rImgs">
<img v-for="item in rImgs" :src="config.fileUrl + item.FILEPATH" :key="item.IMGFILES_ID" width="100" height="100">
</viewer>
</td>
</tr>
<tr>
<td class="tbg">整改方案</td>
<td v-if="pd.HAVESCHEME==0"></td>
<td v-else-if="pd.HAVESCHEME==1"></td>
<td v-else/>
</tr>
<tr v-if="hs && pd.HAVESCHEME==1">
<td class="tbg">排查日期</td>
<td>{{ hs.SCREENINGDATE }}</td>
</tr>
<!-- <tr v-if="hs && pd.HAVESCHEME==1">-->
<!-- <td class="tbg">隐患清单</td>-->
<!-- <td>{{ hs.LISTNAME }}</td>-->
<!-- </tr>-->
<tr v-if="hs && pd.HAVESCHEME==1">
<td class="tbg">治理标准要求</td>
<td>{{ hs.GOVERNSTANDARDS }}</td>
</tr>
<tr v-if="hs && pd.HAVESCHEME==1">
<td class="tbg">治理方法</td>
<td>{{ hs.GOVERNMETHOD }}</td>
</tr>
<tr v-if="hs && pd.HAVESCHEME==1">
<td class="tbg">经费和物资的落实</td>
<td>{{ hs.EXPENDITURE }}</td>
</tr>
<tr v-if="hs && pd.HAVESCHEME==1">
<td class="tbg">负责治理人员</td>
<td>{{ hs.PRINCIPAL }}</td>
</tr>
<tr v-if="hs && pd.HAVESCHEME==1">
<td class="tbg">工时安排</td>
<td>{{ hs.PROGRAMMING }}</td>
</tr>
<tr v-if="hs && pd.HAVESCHEME==1">
<td class="tbg">时限要求</td>
<td>{{ hs.TIMELIMITFOR }}</td>
</tr>
<tr v-if="hs && pd.HAVESCHEME==1">
<td class="tbg">工作要求</td>
<td>{{ hs.JOBREQUIREMENT }}</td>
</tr>
<tr v-if="hs && pd.HAVESCHEME==1">
<td class="tbg">其他事项</td>
<td>{{ hs.OTHERBUSINESS }}</td>
</tr>
<tr v-if="hs && pd.HAVESCHEME==1">
<td class="tbg">方案图片</td>
<td class="img-select">
<viewer :images="sImgs">
<img v-for="item in sImgs" :src="config.fileUrl + item.FILEPATH" :key="item.IMGFILES_ID" width="100" height="100">
</viewer>
</td>
</tr>
</table>
</div>
<div v-show="pd.STATE ==4 || pd.RECTIFICATIONTYPE=='1'">
<div class="level-line" />
<div class="level-title">
<h1>验收信息</h1>
</div>
<template v-if="pd.RECTIFICATIONTYPE!='1'">
<table v-for="(data) in checkList" :key="data.value" class="table-ui">
<tr>
<td class="tbg">验收描述</td>
<td>{{ data.CHECKDESCR }}</td>
</tr>
<tr>
<td class="tbg">是否合格</td>
<td>
<template v-if="data.STATUS=='1'">
</template>
<template v-else-if="data.STATUS=='0'">
</template>
</td>
</tr>
<tr>
<td class="tbg">验收部门</td>
<td>{{ data.CHECKDEPTNAME }}</td>
</tr>
<tr>
<td class="tbg">验收人</td>
<td>{{ data.CHECKORNAME }}</td>
</tr>
<tr>
<td class="tbg">验收时间</td>
<td>{{ data.CHECK_TIME }}</td>
</tr>
<tr>
<td class="tbg">验收图片</td>
<td class="img-select">
<viewer :images="data.cImgs">
<img v-for="item in data.cImgs" :src="config.fileUrl + item.FILEPATH" :key="item.IMGFILES_ID" width="100" height="100">
</viewer>
</td>
</tr>
</table>
</template>
<template v-if="pd.RECTIFICATIONTYPE=='1'">
<table class="table-ui">
<tr>
<td class="tbg">验收人</td>
<td>{{ pd.CHECKORNAME }}</td>
</tr>
</table>
</template>
</div>
<el-dialog :visible.sync="dialogVisible" :append-to-body="true" title="隐患视频">
<div>
<video-player
ref="videoPlayer"
:playsinline="true"
:options="playerOptions"
style="width: 100%;"
class="video-player vjs-custom-skin"/>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
</span>
</el-dialog>
</div>
<span slot="footer" class="dialog-footer">
<el-button plain type="info" @click="goBack"></el-button>
</span>
</el-dialog>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
import 'video.js/dist/video-js.css'
import { videoPlayer } from 'vue-video-player'
import { create } from 'lodash'
export default {
components: { Pagination, videoPlayer },
directives: { waves },
props: {
visible: {
type: Boolean,
default: false,
required: true
},
id: {
type: String,
default: '',
required: true
}
},
data() {
return {
config: config,
listLoading: true,
findperson: {},
chargeperson: {},
changeperson: {},
ISCHANGE: '',
ISEXAMINE: '',
examine: {},
pd: [],
hivideo: [],
hImgs: [],
repulsecause: [],
hImgList: [],
rImgs: [],
cImgs: [],
sImgs: [],
hs: [],
checkList: [],
playerOptions: {
playbackRates: [0.5, 1.0, 1.5, 2.0], //
autoplay: false, // true,
muted: false, //
loop: false, //
preload: 'auto', // <video>auto,
language: 'zh-CN',
aspectRatio: '16:9', // 使 - "16:9""4:3"
fluid: true, // trueVideo.js player
sources: [{
type: 'video/mp4', //
src: '' // url
}],
poster: '', //
notSupportedMessage: '此视频暂无法播放,请稍后再试', // Video.js
controlBar: {
timeDivider: true, //
durationDisplay: true, //
remainingTimeDisplay: false, //
fullscreenToggle: true //
}
},
dialogVisible: false
}
},
created() {
this.getData()
},
methods: {
download(filePah) {
window.open(this.config.fileUrl + filePah, '_blank')
},
getData() {
requestFN(
'/hidden/goEdit',
{
HIDDEN_ID: this.id
}
).then((data) => {
this.pd = data.pd // map
this.hs = data.hs
this.findperson = data.findperson
this.chargeperson = data.chargeperson
this.repulsecause = data.repulsecause
this.ISCHANGE = data.ISCHANGE
this.ISEXAMINE = data.ISEXAMINE
this.examine = data.examine
this.checkList = data.checkList
this.changeperson = data.changeperson
/* if (undefined != data.hImgs && data.hImgs != null && data.hImgs.length > 0) {
const hImgs = data.hImgs
for (let i = 0; i < hImgs.length; i++) {
const src = this.config.fileUrl + hImgs[i].FILEPATH
this.hImgList.push(src)
}
}*/
this.hImgs = data.hImgs
this.rImgs = data.rImgs
this.cImgs = data.cImgs
this.sImgs = data.sImgs
if (this.playerOptions) this.playerOptions.sources[0].src = config.fileUrl + data.hiddenVideo[0].FILEPATH
this.$nextTick(() => {
if (undefined != data.hImgs && data.hImgs != null && data.hImgs.length > 0) {
const hImgs = data.hImgs
for (let i = 0; i < hImgs.length; i++) {
const src = this.config.fileUrl + hImgs[i].FILEPATH
this.hImgList.push(src)
}
}
})
}).catch((e) => {
})
},
goBack() {
// this.$parent.activeName = 'Evaluation'
this.$emit('update:visible', false)
}
}
}
</script>

View File

@ -47,17 +47,17 @@
</el-table-column>
<el-table-column label="Ai报警奖惩">
<template slot-scope="{row}">
{{ row.checked_count3 }} / {{ row.count3 }}
{{ row.checked_count1 }} / {{ row.count1 }}
</template>
</el-table-column>
<el-table-column label="重点工程安全环保奖惩监管端">
<template slot-scope="{row}">
{{ row.checked_count3 }} / {{ row.count3 }}
{{ row.checked_count2 }} / {{ row.count2 }}
</template>
</el-table-column>
<el-table-column label="重点工程安全环保奖惩企业端">
<template slot-scope="{row}">
{{ row.checked_count4 }} / {{ row.count4 }}
{{ row.checked_count3 }} / {{ row.count3 }}
</template>
</el-table-column>
<el-table-column prop="CHECK_USER" label="考评组成员"/>

View File

@ -1,18 +1,22 @@
<template>
<div>
<component :is="activeName" />
<List v-if="activeName=='List'"/>
<Evaluation v-if="activeName=='Evaluation'"/>
<KeyProjectHidden v-if="activeName=='KeyProjectHidden'" active-name="Evaluation"/>
</div>
</template>
<script>
import List from './components/list'
import Evaluation from './components/evaluation'
import HiddenInfo from './components/hidden_info.vue'
// import HiddenInfo from './components/hidden_info.vue'
import KeyProjectHidden from '@/components/KeyProjectHidden/index'
export default {
components: {
List,
Evaluation,
HiddenInfo
KeyProjectHidden
},
data() {
return {

View File

@ -1,486 +0,0 @@
<template>
<div class="app-container">
<div class="level-title">
<h1>隐患信息</h1>
</div>
<div class="mb-20">
<table class="table-ui">
<tr>
<td class="tbg">隐患来源</td>
<template v-if="pd.SOURCE=='1'">
<td colspan="3">隐患快报</td>
</template>
<template v-else-if="pd.SOURCE=='2'">
<td colspan="3">清单排查</td>
</template>
<template v-else-if="pd.SOURCE=='3'">
<td colspan="3">清单排查</td>
</template>
<template v-else-if="pd.SOURCE=='4'">
<td colspan="3">安全环保检查(监管端)</td>
</template>
<template v-else-if="pd.SOURCE=='5'">
<td colspan="3">安全环保检查(企业端)</td>
</template>
</tr>
<!--<tr>
<td class="tbg">检查内容</td>
<td>{{ pd.CHECK_CONTENT }}</td>
</tr>-->
<tr>
<td class="tbg">隐患描述</td>
<td colspan="3">{{ pd.HIDDENDESCR }}</td>
</tr>
<tr v-if="pd.SOURCE=='2'">
<td class="tbg">风险点单元</td>
<td>{{ pd.RISK_UNIT }}</td>
</tr>
<tr v-if="pd.SOURCE=='2'">
<td class="tbg">辨识部位</td>
<td>{{ pd.IDENTIFICATION }}</td>
</tr>
<tr v-if="pd.SOURCE=='2'">
<td class="tbg">存在风险</td>
<td>{{ pd.RISK_DESCR }}</td>
</tr>
<tr v-if="pd.SOURCE=='2'">
<td class="tbg">风险分级</td>
<td>{{ pd.LEVEL }}</td>
</tr>
<tr v-if="pd.SOURCE=='2'">
<td class="tbg">检查内容</td>
<td>{{ pd.CHECK_CONTENT }}</td>
</tr>
<tr/><tr>
<td class="tbg">隐患级别</td>
<td colspan="3">{{ pd.HIDDENLEVELNAME }}</td>
</tr>
<tr>
<td class="tbg">隐患类型</td>
<td colspan="3">{{ pd.HIDDENTYPENAME }}</td>
</tr>
<tr>
<td class="tbg">隐患状态</td>
<td colspan="3">
<template v-if="pd.STATE=='1'">
未整改
</template>
<template v-else-if="pd.STATE=='2'">
已整改
</template>
<template v-else-if="pd.STATE=='3'">
已整改
</template>
<template v-else-if="pd.STATE=='4'">
已验收
</template>
<template v-else-if="pd.STATE=='5'">
忽略隐患
</template>
<template v-else-if="pd.STATE=='6'">
重大隐患
</template>
<template v-else-if="pd.STATE=='7'">
待处理的特殊隐患
</template>
<template v-else-if="pd.STATE=='8'">
已处理的特殊隐患
</template>
<template v-else-if="pd.STATE=='-1'">
已超期
</template>
<template v-else-if="pd.STATE=='-2'">
待确认
</template>
<template v-else-if="pd.STATE=='10'">
验收打回
</template>
</td>
</tr>
<tr>
<td class="tbg">隐患部位</td>
<!-- <td>{{ pd.hregionName }}{{ pd.HIDDENPART }}</td>-->
<td v-if="pd.hregionName" colspan="3">{{ pd.hregionName }}</td>
<td v-else colspan="3">{{ pd.HIDDENPART }}</td>
</tr>
<!--<tr>
<td class="tbg">隐患类型2</td>
<td>{{ pd.HIDDENTYPENAME2 }}</td>
</tr>-->
<tr>
<td class="tbg">隐患上报位置</td>
<td colspan="3">经度:{{ pd.LONGITUDE }} , 纬度:{{ pd.LATITUDE }}</td>
</tr>
<tr>
<td class="tbg">隐患位置描述</td>
<td colspan="3">{{ pd.POSITIONDESC }}</td>
</tr>
<tr>
<td class="tbg">隐患图片</td>
<td ref="hImgs" colspan="3" class="img-select">
<viewer :images="hImgs">
<img v-for="item in hImgs" :src="config.fileUrl + item.FILEPATH" :key="item.IMGFILES_ID" width="100" height="100">
</viewer>
</td>
</tr>
<tr>
<td class="tbg">隐患发现人</td>
<td colspan="3">{{ pd.CREATORNAME }}</td>
</tr>
<tr>
<td class="tbg">隐患发现时间</td>
<td colspan="3">{{ pd.DISCOVERYTIME }}</td>
</tr>
<tr>
<td class="tbg">整改类型</td>
<td colspan="3">
<template v-if="pd.RECTIFICATIONTYPE=='1'">
立即整改
</template>
<template v-else-if="pd.RECTIFICATIONTYPE=='2'">
限期整改
</template>
</td>
</tr>
<tr>
<td class="tbg">整改负责部门</td>
<td colspan="3">{{ pd.editDeptName ?pd.editDeptName :pd.RECTIFICATIONDEPTNAME }}</td>
</tr>
<tr>
<td class="tbg">整改负责人</td>
<td colspan="3">{{ pd.RECTIFICATIONORNAME }}</td>
</tr>
<tr>
<td class="tbg">是否相关方</td>
<td colspan="3">{{ pd.ISRELEVANT=='1'?'是':'否' }}</td>
</tr>
<tr v-if="playerOptions.sources[0].src">
<td class="tbg">隐患视频</td>
<td colspan="3">
<span v-if="playerOptions.sources[0].src" style="color: #4395ff;cursor: pointer" @click="dialogVisible = true"></span>
</td>
</tr>
<tr v-if="pd.RECTIFICATIONTYPE=='2'">
<td class="tbg">整改期限</td>
<td colspan="3">{{ pd.RECTIFICATIONDEADLINE }}</td>
</tr>
<tr/>
<!-- <tr>-->
<!-- <td class="tbg">整改完成期限</td>-->
<!-- <td colspan="3">{{ pd.RECTIFICATIONDEADLINE }}</td>-->
<!-- </tr>-->
<!-- <tr>-->
<!-- <td class="tbg">隐患确认人</td>-->
<!-- <td colspan="3">{{ pd.conUserName }}</td>-->
<!-- </tr>-->
<template v-if="repulsecause">
<tr v-for="item in repulsecause" :key="item.USER_ID">
<td class="tbg">打回原因</td>
<td>{{ item.REPULSE_CAUSE }}</td>
<td class="tbg">打回时间</td>
<td>{{ item.OPERATTIME }}</td>
</tr>
</template>
</table>
</div>
<div>
<div class="level-title">
<h1>确认信息</h1>
</div>
<table class="table-ui">
<tr>
<td class="tbg">隐患级别</td>
<td >{{ pd.HIDDENLEVELNAME }}</td>
</tr>
<tr>
<td class="tbg">整改负责人</td>
<td >{{ pd.RECTIFICATIONORNAME }}</td>
</tr>
<tr>
<td class="tbg">整改完成期限</td>
<td >{{ pd.RECTIFICATIONDEADLINE }}</td>
</tr>
<tr >
<td class="tbg">隐患确认人</td>
<td>{{ pd.conUserName }}</td>
</tr>
<tr>
<td class="tbg">隐患确认时间</td>
<td colspan="3">{{ pd.CONFIRM_TIME }}</td>
</tr>
</table>
<div v-show="pd.STATE>=2 && pd.STATE <16">
<div class="level-line" />
<div class="level-title">
<h1>整改信息</h1>
</div>
<table class="table-ui">
<tr>
<td class="tbg">整改描述</td>
<td>{{ pd.RECTIFYDESCR }}</td>
</tr>
<tr>
<td class="tbg">整改部门</td>
<td>{{ pd.RECTIFICATIONDEPTNAME }}</td>
</tr>
<tr>
<td class="tbg">整改人</td>
<td>{{ pd.RECTIFICATIONORNAME }}</td>
</tr>
<tr>
<td class="tbg">整改时间</td>
<td>{{ pd.RECTIFICATIONTIME }}</td>
</tr>
<tr>
<td class="tbg">投入资金</td>
<td>{{ pd.INVESTMENT_FUNDS }}</td>
</tr>
<tr>
<td class="tbg">整改后图片</td>
<td class="img-select">
<viewer :images="rImgs">
<img v-for="item in rImgs" :src="config.fileUrl + item.FILEPATH" :key="item.IMGFILES_ID" width="100" height="100">
</viewer>
</td>
</tr>
<tr>
<td class="tbg">整改方案</td>
<td v-if="pd.HAVESCHEME==0"></td>
<td v-else-if="pd.HAVESCHEME==1"></td>
<td v-else/>
</tr>
<tr v-if="hs && pd.HAVESCHEME==1">
<td class="tbg">排查日期</td>
<td>{{ hs.SCREENINGDATE }}</td>
</tr>
<!-- <tr v-if="hs && pd.HAVESCHEME==1">-->
<!-- <td class="tbg">隐患清单</td>-->
<!-- <td>{{ hs.LISTNAME }}</td>-->
<!-- </tr>-->
<tr v-if="hs && pd.HAVESCHEME==1">
<td class="tbg">治理标准要求</td>
<td>{{ hs.GOVERNSTANDARDS }}</td>
</tr>
<tr v-if="hs && pd.HAVESCHEME==1">
<td class="tbg">治理方法</td>
<td>{{ hs.GOVERNMETHOD }}</td>
</tr>
<tr v-if="hs && pd.HAVESCHEME==1">
<td class="tbg">经费和物资的落实</td>
<td>{{ hs.EXPENDITURE }}</td>
</tr>
<tr v-if="hs && pd.HAVESCHEME==1">
<td class="tbg">负责治理人员</td>
<td>{{ hs.PRINCIPAL }}</td>
</tr>
<tr v-if="hs && pd.HAVESCHEME==1">
<td class="tbg">工时安排</td>
<td>{{ hs.PROGRAMMING }}</td>
</tr>
<tr v-if="hs && pd.HAVESCHEME==1">
<td class="tbg">时限要求</td>
<td>{{ hs.TIMELIMITFOR }}</td>
</tr>
<tr v-if="hs && pd.HAVESCHEME==1">
<td class="tbg">工作要求</td>
<td>{{ hs.JOBREQUIREMENT }}</td>
</tr>
<tr v-if="hs && pd.HAVESCHEME==1">
<td class="tbg">其他事项</td>
<td>{{ hs.OTHERBUSINESS }}</td>
</tr>
<tr v-if="hs && pd.HAVESCHEME==1">
<td class="tbg">方案图片</td>
<td class="img-select">
<viewer :images="sImgs">
<img v-for="item in sImgs" :src="config.fileUrl + item.FILEPATH" :key="item.IMGFILES_ID" width="100" height="100">
</viewer>
</td>
</tr>
</table>
</div>
<div v-show="pd.STATE ==4 || pd.RECTIFICATIONTYPE=='1'">
<div class="level-line" />
<div class="level-title">
<h1>验收信息</h1>
</div>
<template v-if="pd.RECTIFICATIONTYPE!='1'">
<table v-for="(data) in checkList" :key="data.value" class="table-ui">
<tr>
<td class="tbg">验收描述</td>
<td>{{ data.CHECKDESCR }}</td>
</tr>
<tr>
<td class="tbg">是否合格</td>
<td>
<template v-if="data.STATUS=='1'">
</template>
<template v-else-if="data.STATUS=='0'">
</template>
</td>
</tr>
<tr>
<td class="tbg">验收部门</td>
<td>{{ data.CHECKDEPTNAME }}</td>
</tr>
<tr>
<td class="tbg">验收人</td>
<td>{{ data.CHECKORNAME }}</td>
</tr>
<tr>
<td class="tbg">验收时间</td>
<td>{{ data.CHECK_TIME }}</td>
</tr>
<tr>
<td class="tbg">验收图片</td>
<td class="img-select">
<viewer :images="data.cImgs">
<img v-for="item in data.cImgs" :src="config.fileUrl + item.FILEPATH" :key="item.IMGFILES_ID" width="100" height="100">
</viewer>
</td>
</tr>
</table>
</template>
<template v-if="pd.RECTIFICATIONTYPE=='1'">
<table class="table-ui">
<tr>
<td class="tbg">验收人</td>
<td>{{ pd.CHECKORNAME }}</td>
</tr>
</table>
</template>
</div>
</div>
<div class="ui-height" />
<div class="ui-foot" style="margin-top: 20px">
<el-button plain type="info" @click="goBack"> </el-button>
</div>
<el-dialog :visible.sync="dialogVisible" title="隐患视频">
<div>
<video-player
ref="videoPlayer"
:playsinline="true"
:options="playerOptions"
style="width: 100%;"
class="video-player vjs-custom-skin"/>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import Pagination from '@/components/Pagination' // el-pagination
import { requestFN } from '@/utils/request'
import waves from '@/directive/waves' // waves directive
import 'video.js/dist/video-js.css'
import { videoPlayer } from 'vue-video-player'
export default {
components: { Pagination, videoPlayer },
directives: { waves },
data() {
return {
config: config,
listLoading: true,
findperson: {},
chargeperson: {},
changeperson: {},
ISCHANGE: '',
ISEXAMINE: '',
examine: {},
pd: [],
hivideo: [],
hImgs: [],
repulsecause: [],
hImgList: [],
rImgs: [],
cImgs: [],
sImgs: [],
hs: [],
checkList: [],
playerOptions: {
playbackRates: [0.5, 1.0, 1.5, 2.0], //
autoplay: false, // true,
muted: false, //
loop: false, //
preload: 'auto', // <video>auto,
language: 'zh-CN',
aspectRatio: '16:9', // 使 - "16:9""4:3"
fluid: true, // trueVideo.js player
sources: [{
type: 'video/mp4', //
src: '' // url
}],
poster: '', //
notSupportedMessage: '此视频暂无法播放,请稍后再试', // Video.js
controlBar: {
timeDivider: true, //
durationDisplay: true, //
remainingTimeDisplay: false, //
fullscreenToggle: true //
}
},
dialogVisible: false
}
},
async created() {
this.getData()
},
methods: {
download(filePah) {
window.open(this.config.fileUrl + filePah, '_blank')
},
getData() {
requestFN(
'/hidden/goEdit',
{
HIDDEN_ID: this.$parent.HIDDEN_ID
}
).then((data) => {
this.pd = data.pd // map
this.hs = data.hs
this.findperson = data.findperson
this.chargeperson = data.chargeperson
this.repulsecause = data.repulsecause
this.ISCHANGE = data.ISCHANGE
this.ISEXAMINE = data.ISEXAMINE
this.examine = data.examine
this.checkList = data.checkList
this.changeperson = data.changeperson
/* if (undefined != data.hImgs && data.hImgs != null && data.hImgs.length > 0) {
const hImgs = data.hImgs
for (let i = 0; i < hImgs.length; i++) {
const src = this.config.fileUrl + hImgs[i].FILEPATH
this.hImgList.push(src)
}
}*/
this.hImgs = data.hImgs
this.rImgs = data.rImgs
this.cImgs = data.cImgs
this.sImgs = data.sImgs
if (this.playerOptions) this.playerOptions.sources[0].src = config.fileUrl + data.hiddenVideo[0].FILEPATH
this.$nextTick(() => {
if (undefined != data.hImgs && data.hImgs != null && data.hImgs.length > 0) {
const hImgs = data.hImgs
for (let i = 0; i < hImgs.length; i++) {
const src = this.config.fileUrl + hImgs[i].FILEPATH
this.hImgList.push(src)
}
}
})
}).catch((e) => {
})
},
goBack() {
this.$parent.activeName = 'HiddenList'
}
}
}
</script>

View File

@ -103,13 +103,16 @@
<el-table-column prop="CREATTIME" label="隐患发现时间"/>
<el-table-column prop="CREATOR_NAME" label="隐患发现人"/>
<el-table-column label="隐患状态">已验收</el-table-column>
<el-table-column prop="CHECKOR_NAME" label="隐患验收人">
<el-table-column prop="CREATOR_NAME" label="隐患验收人">
<template slot-scope="{row}">
<span v-if="row.RECTIFICATIONTYPE=='2'">
{{ row.YQ_CHECKOR_NAME }}
</span>
<span v-else>
{{ row.CHECKOR_NAME }}
<!-- <span v-if="row.RECTIFICATIONTYPE=='2'">-->
<!-- {{ row.YQ_CHECKOR_NAME }}-->
<!-- </span>-->
<!-- <span v-else>-->
<!-- {{ row.CHECKOR_NAME }}-->
<!-- </span>-->
<span>
{{ row.CREATOR_NAME }}
</span>
</template>
</el-table-column>
@ -240,7 +243,7 @@ export default {
getList() {
this.listLoading = true
requestFN(
'/evaluationscore/exchangeHiddenList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
'keyProject/evaluationscore/exchangeHiddenList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
...this.searchForm,
START_TIME: this.searchForm.dates[0] && this.searchForm.dates[0] + ' 00:00:00',
@ -259,7 +262,7 @@ export default {
},
fnAssessmentDetails(HIDDEN_ID) {
requestFN(
'/evaluationscore/getHiddenEvaluation',
'keyProject/evaluationscore/getHiddenEvaluation',
{
HIDDEN_ID
}
@ -271,7 +274,7 @@ export default {
},
fnDetailsOfHiddenDangers(HIDDEN_ID) {
this.$parent.HIDDEN_ID = HIDDEN_ID
this.$parent.activeName = 'HiddenInfo'
this.$parent.activeName = 'KeyProjectHidden'
},
goBack() {
this.$parent.activeName = this.$parent.HiddenListEntrance

View File

@ -41,12 +41,12 @@
<el-table-column prop="CORP_NAME" label="单位名称"/>
<el-table-column label="完成考评隐患数">
<template slot-scope="{row}">
{{ row.checked_count1 + row.checked_count2 + row.checked_count3 + row.checked_count4 + row.checked_count5 }}
{{ row.checked_count1 + row.checked_count2 + row.checked_count3 }}
</template>
</el-table-column>
<el-table-column label="待考评隐患数">
<template slot-scope="{row}">
{{ (row.count1 + row.count2 + row.count3 + row.count4 + row.count5) - (row.checked_count1 + row.checked_count2 + row.checked_count3 + row.checked_count4 + row.checked_count5) }}
{{ (row.count1 + row.count2 + row.count3 ) - (row.checked_count1 + row.checked_count2 + row.checked_count3 ) }}
</template>
</el-table-column>
<el-table-column prop="SCORE_USERS" label="涉及奖励人数"/>

View File

@ -157,7 +157,7 @@ export default {
getList() {
this.listLoading = true
requestFN(
'/evaluationscore/userList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
'keyProject/evaluationscore/userList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
...this.searchForm,
START_TIME: this.searchForm.dates[0] && this.searchForm.dates[0] + ' 00:00:00',
@ -184,7 +184,7 @@ export default {
}).then(() => {
const user_ids = _selectData.map(item => item.USER_ID).join(',')
requestFN(
'/evaluationscore/exchange',
'keyProject/evaluationscore/exchange',
{
user_ids,
CORPINFO_ID: this.$parent.CORPINFO_ID,
@ -211,7 +211,7 @@ export default {
type: 'warning'
}).then(() => {
requestFN(
'/evaluationscore/exchange',
'keyProject/evaluationscore/exchange',
{
CORPINFO_ID: this.$parent.CORPINFO_ID,
START_TIME: this.searchForm.dates[0] && this.searchForm.dates[0] + ' 00:00:00',

View File

@ -95,7 +95,7 @@ export default {
getList() {
this.listLoading = true
requestFN(
'/evaluationscore/exchangeList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
'keyProject/evaluationscore/exchangeList?showCount=' + this.listQuery.limit + '&currentPage=' + this.listQuery.page,
{
...this.searchForm,
START_TIME: this.searchForm.dates[0] && this.searchForm.dates[0] + ' 00:00:00',

View File

@ -1,6 +1,10 @@
<template>
<div>
<component :is="activeName" />
<List v-if="activeName == 'List'" />
<RedemptionRecords v-if="activeName == 'RedemptionRecords'"/>
<PersonnelList v-if="activeName == 'PersonnelList'" />
<KeyProjectHidden v-if="activeName == 'KeyProjectHidden'" active-name="HiddenList"/>
<HiddenList v-if="activeName == 'HiddenList'" />
</div>
</template>
@ -9,14 +13,15 @@ import List from './components/list'
import PersonnelList from './components/personnel_list.vue'
import RedemptionRecords from './components/redemption_records.vue'
import HiddenList from './components/hidden_list.vue'
import HiddenInfo from './components/hidden_info.vue'
import KeyProjectHidden from '@/components/KeyProjectHidden/index'
export default {
components: {
List,
PersonnelList,
KeyProjectHidden,
RedemptionRecords,
HiddenList,
HiddenInfo
HiddenList
},
data() {
return {

View File

@ -1,6 +1,10 @@
<template>
<div>
<component :is="activeName" />
<List v-if="activeName =='List'" />
<PersonnelList v-if="activeName =='PersonnelList'" />
<RedemptionRecords v-if="activeName =='RedemptionRecords'" />
<HiddenList v-if="activeName =='HiddenList'" />
<KeyProjectHidden v-if="activeName =='KeyProjectHidden'" active-name="HiddenList"/>
</div>
</template>
@ -9,11 +13,11 @@ import List from './components/list'
import PersonnelList from '../personnel_evaluation_status/components/personnel_list.vue'
import RedemptionRecords from '../personnel_evaluation_status/components/redemption_records.vue'
import HiddenList from '../personnel_evaluation_status/components/hidden_list.vue'
import HiddenInfo from '../personnel_evaluation_status/components/hidden_info.vue'
import KeyProjectHidden from '@/components/KeyProjectHidden/index'
export default {
components: {
List, PersonnelList, RedemptionRecords, HiddenList, HiddenInfo
List, PersonnelList, RedemptionRecords, HiddenList, KeyProjectHidden
},
data() {
return {

View File

@ -150,7 +150,6 @@ export default {
],
sourceState: {
1: 'AI报警',
2: 'AI报警(企业端)',
4: '安全环保检查(监管端)',
5: '安全环保检查(企业端)'
},
@ -160,8 +159,7 @@ export default {
4: '已验收'
},
SOURCEList: [
{ ID: '1', NAME: 'AI报警(监管端)' },
{ ID: '2', NAME: 'AI报警(企业端)' },
{ ID: '1', NAME: 'AI报警' },
{ ID: '4', NAME: '安全环保检查(监管端)' },
{ ID: '5', NAME: '安全环保检查(企业端)' }
],

View File

@ -2,20 +2,21 @@
<div>
<OutSourced v-show="activeName=='OutSourced'" ref="outSourced" active-name="List"/>
<List v-if="activeName=='List'" />
<Info v-if="activeName=='Info'"/>
<KeyProjectHidden v-if="activeName=='Info'"/>
</div>
</template>
<script>
import List from './components/list'
import Info from './components/info'
// import Info from './components/info'
import OutSourced from '@/components/OutSourced/index'
import KeyProjectHidden from '@/components/KeyProjectHidden/index'
export default {
components: {
List: List,
OutSourced: OutSourced,
Info: Info
KeyProjectHidden: KeyProjectHidden
},
data() {
return {