main
zhaoyu 2023-12-11 17:49:55 +08:00
parent baac77a56b
commit af4aeb0738
8 changed files with 381 additions and 19 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -39,10 +39,10 @@
<div class="td">隐患数量</div>
</div>
<div v-for="(item,index) in block3List" :key="index" class="tr">
<div class="td">{{ item.name }}</div>
<div class="td">{{ item.num }}</div>
<div class="td">{{ item.check }}</div>
<div class="td">{{ item.count }}</div>
<div class="td">{{ item.CORP_NAME }}</div>
<div class="td">{{ item.OUTSOURCED_COUNT }}</div>
<div class="td">{{ item.CHECK_COUNT }}</div>
<div class="td">{{ item.HIDDEN_COUNT }}</div>
</div>
</div>
</div>
@ -53,12 +53,27 @@
<script>
import layoutTitle from './title.vue'
import CountTo from 'vue-count-to'
import { requestFN } from '@/utils/request'
export default {
components: {
CountTo,
layoutTitle
},
props: {
corpInfoId: {
type: String,
default: ''
},
area: {
type: String,
default: ''
},
gangkou: {
type: String,
default: ''
}
},
data() {
return {
block1OptionsList: [
@ -100,16 +115,50 @@ export default {
block3OptionsIndex: 0,
block3List: [
{
name: '-',
num: '-',
check: '-',
count: '-'
CORP_NAME: '-',
OUTSOURCED_COUNT: '-',
CHECK_COUNT: '-',
HIDDEN_COUNT: '-'
}
]
}
},
mounted() {
this.getCount()
this.initgetTable()
},
methods: {
getCount() {
requestFN(
'/map/keyProject/findFormCount',
{
CORPINFO_ID: this.corpInfoId,
AREA: this.area,
GANGKOU: this.gangkou
}
).then((data) => {
//
this.block1OptionsList[0].count = data.pd.OUTSOURCED_COUNT
this.block1OptionsList[1].count = data.pd.VIDEO_COUNT
this.block1OptionsList[2].count = data.pd.CHECK_COUNT
this.block1OptionsList[3].count = data.pd.HIDDEN_COUNT
//
this.block2OptionsList[0].count = data.pd.PUNISH_COUNT
this.block2OptionsList[1].count = data.pd.AMOUT_SUM
})
},
initgetTable() {
requestFN(
'/map/keyProject/list?showCount=10&currentPage=1',
{
CORPINFO_ID: this.corpInfoId,
AREA: this.area,
GANGKOU: this.gangkou
}
).then((data) => {
this.block3List = data.varList
})
}
}
}
</script>
@ -267,7 +316,6 @@ export default {
}
}
.block3 {
margin-top: 10px;
width: 410px;

View File

@ -49,6 +49,10 @@
<peoplePositionNine v-if="type === 'peoplePositionNine'" :id="id" :type="type" :infoname="infoname"/>
<peoplePositionOne v-if="type === 'peoplePositionOne' && corpInfoId !== '035958e685cf4850bc40151c5e0617a6'" :id="id" :type="type" />
<peoplePositionYGS v-if="type === 'peoplePositionOne' && corpInfoId === '035958e685cf4850bc40151c5e0617a6'" :id="id" :type="type" />
<!-- 重点工程 start -->
<outSourceInfo v-if="type === 'PROJECT'" :id="id" :type="type" />
<outSourceVideoInfo v-if="type === 'VIDEO'" :id="id" :type="type" />
<!-- 重点工程 end -->
</el-dialog>
</div>
</template>
@ -91,6 +95,8 @@ import peoplePositionCfdD from './peoplePositionCfdD.vue'
import carPositionCfdD from './carPositionCfdD.vue'
import peoplePositionOne from './peoplePositionOne.vue'
import peoplePositionYGS from './peoplePositionYGS.vue'
import outSourceInfo from './outSourceInfo.vue'
import outSourceVideoInfo from './outSourceVideoInfo.vue'
export default {
components: {
@ -130,7 +136,9 @@ export default {
carPositionCfdD,
videoPlayBianjieruqin,
peoplePositionOne,
peoplePositionYGS
peoplePositionYGS,
outSourceInfo,
outSourceVideoInfo
},
props: {
title: {

View File

@ -0,0 +1,162 @@
<template>
<div>
<div class="level-title">
<h1>重点工程详情</h1>
</div>
<table class="table-ui">
<tr>
<td class="bbg-transparent">重点工程名称</td>
<td colspan="3">{{ pd.OUTSOURCED_NAME }}</td>
</tr>
<tr v-if="pd.IS_CORP_TYPE == '0'">
<td class="bbg-transparent">股份主管部门</td>
<td>{{ pd.MANAGER_DEPARTMENT_NAME }}</td>
<td class="bbg-transparent">股份监管部门</td>
<td>{{ pd.DEPARTMENT_NAME }}</td>
</tr>
<tr v-if="pd.IS_CORP_TYPE == '0'">
<td class="bbg-transparent">辖区单位</td>
<td colspan="3">{{ pd.JURISDICTION_UNIT_NAME }}</td>
</tr>
<tr v-if="pd.IS_CORP_TYPE == '1'">
<td class="bbg-transparent">企业监督部门</td>
<td>{{ pd.DEPARTMENT_NAME }}</td>
<td class="bbg-transparent">企业主管部门</td>
<td>{{ pd.Q_COMPETENT_DEPT_NAME }}</td>
</tr>
<tr v-if="pd.IS_CORP_TYPE == '1'">
<td class="bbg-transparent">企业辖区部门</td>
<td colspan="4">{{ pd.INVOLVING_CORPS_DEPART_NAME }}</td>
</tr>
<tr>
<td class="bbg-transparent">集团单位</td>
<td colspan="3">{{ pd.GROUP_UNIT_NAME }}</td>
</tr>
<tr>
<td class="bbg-transparent">计划工期</td>
<td colspan="3">{{ pd.STARTTIME }} {{ pd.ENDTIME }}</td>
</tr>
<tr>
<td class="bbg-transparent">施工相关方</td>
<td colspan="3">{{ pd.UNITS_NAME }}</td>
</tr>
<tr>
<td class="bbg-transparent">合同号</td>
<td>{{ pd.CONTRACT_NUM }}</td>
<td class="bbg-transparent">监理单位名称</td>
<td>{{ pd.MANAGE_CORPS_NAME }}</td>
</tr>
<tr>
<td class="bbg-transparent">相关方单位工程负责人</td>
<td>{{ pd.UNITS_PIC_NAME }}</td>
<td class="bbg-transparent">相关方单位负责人手机</td>
<td>{{ pd.UNITS_PHONE }}</td>
</tr>
<tr>
<td class="bbg-transparent">监理单位工程负责人</td>
<td>{{ pd.MANAGE_PIC }}</td>
<td class="bbg-transparent">监理单位负责人手机</td>
<td >{{ pd.MANAGE_PHONE }}</td>
</tr>
<tr>
<td class="bbg-transparent">是否发送短信</td>
<td >
<span v-if="pd.IS_SMS === '0'"></span>
<span v-if="pd.IS_SMS === '1'"></span>
</td>
<td class="bbg-transparent">状态</td>
<td>
<span v-if="pd.STATE == 0"></span>
<span v-if="pd.STATE == 1"></span>
<span v-if="pd.STATE == 2"></span>
<span v-if="pd.STATE == -1"></span>
<span v-if="pd.STATE == -2"></span>
</td>
</tr>
<tr v-for="(item, index) in file9" :key="index">
<td class="bbg-transparent">安全管理协议{{ index + 1 }}</td>
<td colspan="2">{{ item.FILE_NAME }}</td>
<td><el-button type="primary" @click="downloadFile(item.FILEPATH)"></el-button></td>
</tr>
<div class="level-line" />
<div class="level-title">
<h1>处罚相关</h1>
</div>
<tr v-for="(item,index) in punishThePerson" :key="index">
<td class="bbg-transparent">处罚人员部门</td>
<td>{{ item.punishname }}</td>
<td class="bbg-transparent">处罚人员</td>
<td>{{ item.NAME }}</td>
</tr>
</table>
</div>
</template>
<script>
import { requestFN } from '@/utils/request'
import moment from 'moment/moment'
export default {
props: {
id: {
type: String,
default() {
return ''
}
},
type: {
type: String,
default() {
return ''
}
},
gangkou: {
type: String,
default: ''
}
},
data() {
return {
config: config,
pd: {
WORK_OPERATOR_ID: [],
WORK_OPERATOR_NAME: [],
WORK_OPERATOR_NUMBER: []
},
punishThePerson: [],
file9: []
}
},
created() {
this.getData()
},
methods: {
formatDate(date, format) {
if (date) {
return moment(date).format(format)
} else {
return ''
}
},
getData() {
requestFN(
'/map/keyProject/getById',
{
id: this.id,
TYPE: this.type,
GANGKOU: this.gangkou
}
).then(data => {
this.pd = data.pd
this.punishThePerson = data.punishThePerson
this.file9 = data.file9
})
}
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@ -0,0 +1,140 @@
<template>
<div>
<div class="level-title">
<h1>视频信息</h1>
</div>
<table class="table-ui">
<tr>
<td class="bbg-transparent">视频名称</td>
<td colspan="3">{{ pd.VIDEONAME }}</td>
</tr>
<tr>
<td class="bbg-transparent">所属重点工程</td>
<td>{{ pd.OUTSOURCED_NAME }}</td>
<td class="bbg-transparent">所属公司</td>
<td>{{ pd.CORP_NAME }}</td>
</tr>
</table>
<iframe v-if="!pd.PLATFORMVIDEOMANAGEMENT_ID" :src="VIDEOURL" width="100%" height="380" allowfullscreen allow="autoplay; fullscreen;microphone" style="position: relative;border:none"/>
<div v-if="pd.PLATFORMVIDEOMANAGEMENT_ID" id="aLiVideoPlayer" class="prism-player"/>
</div>
</template>
<script>
import { requestFN } from '@/utils/request'
import moment from 'moment/moment'
export default {
props: {
id: {
type: String,
default() {
return ''
}
},
type: {
type: String,
default() {
return ''
}
},
gangkou: {
type: String,
default: ''
}
},
data() {
return {
config: config,
pd: {
WORK_OPERATOR_ID: [],
WORK_OPERATOR_NAME: [],
WORK_OPERATOR_NUMBER: []
},
VIDEOURL: ''
}
},
created() {
this.getData()
},
methods: {
//
start() {
console.log('定时器开启')
this.timer = setInterval(this.closeVideoStart, (5 * 60 * 1000)) // 5;
},
over() {
//
console.log('定时器自动关闭')
clearInterval(this.timer)
},
closeVideoStart() {
this.dialogVideo = false
this.dialogVideoHLS = false
this.dialogVideoBack = false
this.dialogVideoAll = false
this.over()
},
formatDate(date, format) {
if (date) {
return moment(date).format(format)
} else {
return ''
}
},
getData() {
this.$message.warning('单次播放最多五分钟')
this.start()
requestFN(
'/map/keyProject/getById',
{
id: this.id,
TYPE: this.type,
GANGKOU: this.gangkou
}
).then(data => {
this.pd = data.pd
console.log(this.pd)
if (!this.pd.PLATFORMVIDEOMANAGEMENT_ID) {
console.log(1)
this.VIDEOURL = this.pd.VIDEOURL
} else {
console.log(2)
requestFN(
'/platformvideomanagement/getHlsPath',
{
INDEXCODE: this.pd.INDEXCODE
}
).then((res) => {
console.log(res)
this.$nextTick(() => {
// eslint-disable-next-line no-undef
this.player = new Aliplayer({
'id': 'aLiVideoPlayer',
'source': res.data.url,
'width': '100%',
'height': '500px',
'autoplay': true,
'isLive': true,
'rePlay': false,
'playsinline': true,
'preload': true,
'controlBarVisibility': 'hover',
'useH5Prism': true
}, function(player) {
console.log('The player is created')
})
})
}).catch((e) => {
this.over()
})
}
})
}
}
}
</script>
<style lang="scss" scoped>
</style>

View File

@ -712,13 +712,13 @@ export default {
label: '重点工程',
containAuthorization: [],
eliminateAuthorization: [],
pointUrl: '/map/mapPlatformelectronic/listAllLocation',
pointUrl: '/map/keyProject/listAllLocation',
list: [
{
label: '重点工程定位',
dialog_width: '1200px',
check: false,
type: 'bianjieruqin',
type: 'PROJECT',
img: require('../../assets/map/gangkou_index/buttom/ico27.png'),
checkImg: require('../../assets/map/gangkou_index/buttom/ico27_on.png'),
containAuthorization: [],
@ -728,7 +728,7 @@ export default {
label: '视频定位',
dialog_width: '1200px',
check: false,
type: 'bianjieruqin',
type: 'VIDEO',
img: require('../../assets/map/gangkou_index/buttom/ico26.png'),
checkImg: require('../../assets/map/gangkou_index/buttom/ico26_on.png'),
containAuthorization: [],

View File

@ -43,10 +43,13 @@ const img5_0 = require('../../../assets/map/gangkou_index/point/ico26.png')
const img6_0 = require('../../../assets/map/gangkou_index/point/ico26.png')
const img7_0 = require('../../../assets/map/gangkou_index/point/ico23.png')
const img7_1 = require('../../../assets/map/gangkou_index/point/ico24.png')
const img7_2 = require('../../../assets/map/gangkou_index/point/ico25.png')
const img7_3 = require('../../../assets/map/gangkou_index/point/ico26.png')
const img7_0 = require('../../../assets/map/gangkou_index/point/ico30.png')
const img7_1 = require('../../../assets/map/gangkou_index/point/ico31.png')
const img8_0 = require('../../../assets/map/gangkou_index/point/ico23.png')
const img8_1 = require('../../../assets/map/gangkou_index/point/ico24.png')
const img8_2 = require('../../../assets/map/gangkou_index/point/ico25.png')
const img8_3 = require('../../../assets/map/gangkou_index/point/ico26.png')
const imgMap = {
img0_0, img0_1, img0_2,
@ -56,7 +59,8 @@ const imgMap = {
img4_0, img4_0_1, img4_0_2, img4_0_3, img4_1,
img5_0,
img6_0,
img7_0, img7_1, img7_2, img7_3,
img7_0, img7_1,
img8_0, img8_1, img8_2, img8_3,
cfd_img1_0, cfd_img1_0_1, cfd_img1_0_2, cfd_img1_0_3
}
export { imgMap }