Merge branch 'limingyu-20240425-消防和重点工程更新' into pet

pet_li_6.6
limingyu 2024-05-07 11:06:39 +08:00
commit 9aad2a8a8c
13 changed files with 4623 additions and 102 deletions

View File

@ -9,7 +9,7 @@
<!-- <link href="./static/map/cesium109/Widgets/widgets.css" rel="stylesheet"/>-->
<link rel="stylesheet" href="https://g.alicdn.com/de/prismplayer/2.16.0/skins/default/aliplayer-min.css" />
<script type="text/javascript" charset="utf-8" src="https://g.alicdn.com/de/prismplayer/2.16.0/aliplayer-min.js"></script>
<script type="text/javascript" charset="utf-8" src="http://10.30.20.54:8093/static/imosPlayer.min.js"></script>
<!-- <script type="text/javascript" charset="utf-8" src="http://10.30.20.54:8093/static/imosPlayer.min.js"></script>-->
<script type="text/javascript" charset="utf-8" src="https://api.tianditu.gov.cn/api?v=4.0&tk=e8a16137fd226a62a23cc7ba5c9c78ce"></script>
<script type="text/javascript" src="./static/map/cesium91/CesiumUnminified/Cesium.js"></script>

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -68,7 +68,11 @@
<el-table-column v-if="otherShow" prop="HIDDEN_COUNT" label="发现隐患数量" />
<el-table-column v-if="otherShow" prop="PUNISH_COUNT" label="违约处罚次数" />
<el-table-column v-if="otherShow" prop="AMOUT_SUM" label="违约处罚金额(元)" />
<el-table-column v-if="otherShow" prop="VIDEO_COUNT" label="包含视频监控数" />
<el-table-column v-if="otherShow" prop="VIDEO_COUNT" label="包含视频监控数(在线视频数)" width="200">
<template slot-scope="{row}">
<span>{{ row.VIDEO_COUNT }} ({{ row.ONLINE_COUNT }})</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="100">
<template slot-scope="{row}">
<el-button type="success" icon="el-icon-view" size="mini" @click="goDetail(row.CORPINFO_ID)"></el-button>

View File

@ -40,11 +40,11 @@
</div>
</template>
</el-table-column>
<el-table-column label="消防点位数" align="center">
<el-table-column label="消防点位数(已标点数)" align="center">
<template slot-scope="{row}">
<div class="link-type" @click="goControlRoomInfo({CORPINFO_ID:row.CORPINFO_ID,TYPE:'FirePoint'})">
<div class="link-type" @click="goControlRoomInfo({CORPINFO_ID:row.CORPINFO_ID,TYPE:'FirePoint'})" style="display: inline-block">
{{ row.xiaoFangDianWeiNum }}
</div>
</div>({{ row.xiaoFangDianWeiBiaoDianNum }})
</template>
</el-table-column>
<el-table-column label="消防器材数" align="center">

View File

@ -145,12 +145,13 @@
</template>
</el-table-column>
<el-table-column prop="OUTSOURCED_CREATOR_NAME" label="创建人" show-overflow-tooltip />
<el-table-column label="视频数量" show-overflow-tooltip>
<el-table-column label="视频数量(在线数)" show-overflow-tooltip width="150">
<template slot-scope="{row}">
<span v-if="row.VIDEO_COUNT != 0">
<a style="color: #1e9fff;text-decoration:underline" @click="clickVideoDetail(row.OUTSOURCED_ID)">{{ row.VIDEO_COUNT }}</a>
</span>
<span v-else>{{ row.VIDEO_COUNT }}</span>
<span>({{ row.VIDEO_ONLINE_COUNT }})</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="400">

View File

@ -145,7 +145,11 @@
</template>
</el-table-column>
<el-table-column prop="UNITS_NAME" label="施工相关方" width="250" show-overflow-tooltip />
<el-table-column prop="VIDEO_COUNT" label="视频个数" />
<el-table-column prop="VIDEO_COUNT" label="视频个数(在线数量)" >
<template slot-scope="{row}">
<span>{{ row.VIDEO_COUNT }}({{ row.VIDEO_ONLINE_COUNT }})</span>
</template>
</el-table-column>
<el-table-column prop="STATE" label="状态">
<template slot-scope="{row}">
<span v-if="row.STATE == -1"></span>

View File

@ -50,6 +50,11 @@
<span v-else></span>
</template>
</el-table-column>
<el-table-column prop="ONLINE_STATUS" label="是否在线" width="100">
<template slot-scope="{row}">
<span>{{ row.ONLINE_STATUS }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="left" width="500">
<template slot-scope="{row}">
<el-button :disabled="STATE == 2" type="success" icon="el-icon-caret-right" size="mini" @click="showVideo(row)"></el-button>

View File

@ -1,7 +1,7 @@
<template>
<div class="shipin">
<div class="block1">
<layout-title title="视频状态"/>
<layout-title title="视频定位"/>
<div class="options">
<div class="option">
<div class="leftimg"/>
@ -15,7 +15,7 @@
</div>
</div>
<div class="block2">
<layout-title title="区域报警数"/>
<layout-title title="重点工程"/>
<div class="options">
<div v-for="(item,index) in block2OptionsList" :key="index" class="option">
<div class="circular"><img :src="item.img" alt=""></div>
@ -26,26 +26,25 @@
</div>
</div>
</div>
<div class="block3">
<layout-title title="报警记录"/>
<div class="content">
<div class="table">
<div class="tr">
<div class="td">防区</div>
<div class="td">摄像头名称</div>
<div class="td">时间</div>
</div>
<div class="scroll">
<div v-for="(item,index) in block3List" :key="index" class="tr">
<div class="td line1">{{ item.region }}</div>
<div class="td">{{ item.name }}</div>
<div class="td">{{ item.time }}</div>
</div>
</div>
</div>
</div>
</div>
<!-- <div class="block3">-->
<!-- <layout-title title="报警记录"/>-->
<!-- <div class="content">-->
<!-- <div class="table">-->
<!-- <div class="tr">-->
<!-- <div class="td">防区</div>-->
<!-- <div class="td">摄像头名称</div>-->
<!-- <div class="td">时间</div>-->
<!-- </div>-->
<!-- <div class="scroll">-->
<!-- <div v-for="(item,index) in block3List" :key="index" class="tr">-->
<!-- <div class="td line1">{{ item.region }}</div>-->
<!-- <div class="td">{{ item.name }}</div>-->
<!-- <div class="td">{{ item.time }}</div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
</div>
</template>
@ -79,17 +78,25 @@ export default {
{
lable: '视频总数',
count: 0
},
{
lable: '在线数量',
count: 0
},
{
lable: '离线数量',
count: 0
}
],
block2OptionsList: [
{
img: require('../../../assets/map/bianjie/img1.png'),
label: '码头',
img: require('../../../assets/map/gangkou_index/point/ico15.png'),
label: '重点工程总数',
count: 0
},
{
img: require('../../../assets/map/bianjie/img2.png'),
label: '油罐区域',
img: require('../../../assets/map/gangkou_index/point/ico30.png'),
label: '重点工程开工数量',
count: 0
}
],
@ -163,33 +170,70 @@ export default {
this.initgetTable()
},
methods: {
//
// initCount() {
// requestFN(
// '/map/mapPlatformelectronic/listAll',
// {
// CORPINFO_ID: this.corpInfoId,
// AREA: this.area
// }
// ).then((data) => {
// this.block1OptionsList[0].count = data.allForMap
// })
// },
//
initCount() {
requestFN(
'/map/mapPlatformelectronic/listAll',
'/map/keyProject/listAllLocation',
{
CORPINFO_ID: this.corpInfoId,
AREA: this.area
AREA: this.area,
TYPE: 'VIDEO',
GANGKOU: this.gangkou
}
).then((data) => {
this.block1OptionsList[0].count = data.allForMap
this.block1OptionsList[0].count = data.varList.length
data.varList.forEach((item) => {
if (item.ONLINE_STATUS === '0') {
this.block1OptionsList[1].count++
} else {
this.block1OptionsList[2].count++
}
})
})
},
//
// initgetTable() {
// requestFN(
// '/map/mapPlatformelectronic/listAllByArea',
// {
// CORPINFO_ID: this.corpInfoId,
// AREA: this.area
// }
// ).then((data) => {
// data.varList.forEach(item => {
// if (item.SUOSHUQUYU === '2') {
// this.block2OptionsList[0].count = item.co
// } else if (item.SUOSHUQUYU === '1') {
// this.block2OptionsList[1].count = item.co
// }
// })
// })
// }
//
initgetTable() {
requestFN(
'/map/mapPlatformelectronic/listAllByArea',
'/outsourced/listForCount',
{
CORPINFO_ID: this.corpInfoId,
AREA: this.area
CORPINFO_ID: this.corpInfoId
}
).then((data) => {
this.block2OptionsList[0].count = data.varList.length
data.varList.forEach(item => {
if (item.SUOSHUQUYU === '2') {
this.block2OptionsList[0].count = item.co
} else if (item.SUOSHUQUYU === '1') {
this.block2OptionsList[1].count = item.co
if (item.STATE == 1) {
this.block2OptionsList[1].count++
}
})
})

View File

@ -16,7 +16,7 @@
<script>
import { requestFN } from '@/utils/request'
const imosPlayer = window.imosPlayer
// const imosPlayer = window.imosPlayer
let iframeObj = null
export default {
@ -65,19 +65,19 @@ export default {
},
methods: {
showYsVideo() {
iframeObj = imosPlayer.createPanelWindow()
var dom = document.getElementById('aLiVideoPlayer')
iframeObj.style.margin = 'auto'
dom.appendChild(iframeObj)
imosPlayer
.playLive(iframeObj.id, {
camera: this.id,
title: this.id,
stream: 1
})
.then((e) => {
console.log(e)
})
// iframeObj = imosPlayer.createPanelWindow()
// var dom = document.getElementById('aLiVideoPlayer')
// iframeObj.style.margin = 'auto'
// dom.appendChild(iframeObj)
// imosPlayer
// .playLive(iframeObj.id, {
// camera: this.id,
// title: this.id,
// stream: 1
// })
// .then((e) => {
// console.log(e)
// })
},
showVideo() {
let url = this.requestUrl

View File

@ -277,6 +277,7 @@ import cloneDeep from 'lodash/cloneDeep'
import fullScreenMixins from '@/assets/mixins/fullScreen'
import { animate } from 'motion'
import loadMapBoxCfd from './js/mapboxCfd'
import loadCmtMapBox from './js/mapboxCmt'
import loadMapBoxCzks from './js/mapboxCzks'
import loadMapBox from './js/mapbox'
import AnquanCfd from './components/anquanCfd'
@ -295,7 +296,7 @@ import axios from 'axios'
// md5
import md5 from 'md5'
const imosPlayer = window.imosPlayer
// const imosPlayer = window.imosPlayer
var PI = 3.1415926535897932384626
var a = 6378245.0 //
var ee = 0.00669342162296594323 // 椭球的偏心率。//判断是否在国内在中国国内的经纬度才需要做偏移
@ -876,6 +877,7 @@ export default {
pointBoxCfd: [],
pointBox: [],
pointBoxCzks: [],
pointBoxCmt: [],
fwebsocket: {},
redList: [],
orangeList: [],
@ -1157,6 +1159,7 @@ export default {
mounted() {
this.initMap()
this.pointBoxCfd = loadMapBoxCfd()
this.pointBoxCmt = loadCmtMapBox()
this.pointBox = loadMapBox()
this.pointBoxCzks = loadMapBoxCzks()
// this.ysVideoInit()
@ -1179,49 +1182,6 @@ export default {
})
},
ysVideoInit() {
//
var _this = this
requestFN(
'/map/loginOrKeepAlive',
{
}
).then((data) => {
const token = data.token
var nbsp = String.fromCharCode(160)
var arr = []
arr.length = 40
const str = arr.fill(nbsp).join('')
const voidPath = imosPlayer.getUniqueID()
window.voidPath = voidPath
document.title = document.title + str + new Date().getTime()
_this.keepalive(token)
setInterval(_this.keepalive, 30000, token)
window.videoWindow = 0
imosPlayer.setLinkPort('8093')
imosPlayer
.init({
ip: '172.14.0.54',
token: token,
title: document.title,
voidListenerPath: '\\' + voidPath
})
.then(async(resr) => {
if (resr.ErrCode === 0) {
// imosPlayer.setLiveNetLinkMode(liveNetProtocol, liveByMS)
// imosPlayer.setReplayNetLinkMode(replayNetProtocol, replayByMS)
// eslint-disable-next-line no-alert
console.info('登录成功')
} else {
// eslint-disable-next-line no-alert
console.info(resr.ErrMsg)
}
})
.catch((err) => {
console.error(err)
})
})
},
// keepalive(token) {
// axios({
@ -1386,6 +1346,15 @@ export default {
url: '/mapapi/ware/upload/qhdgysh/merge_tile.json'
})
viewer.scene.primitives.add(qhdgysh)
var czkszhmt = new Cesium.Cesium3DTileset({ //
url: '/mapapi/ware/upload/%E6%B2%A7%E5%B7%9E%E6%B8%AF%E8%A5%BF/%E6%B2%A7%E5%B7%9E%E6%B8%AF%E8%A5%BF/merge_tile.json'
})
viewer.scene.primitives.add(czkszhmt)
var czksksmt = new Cesium.Cesium3DTileset({//
url: '/mapapi/ware/upload/%E6%B2%A7%E5%B7%9E%E6%B8%AF%E4%B8%9C/%E6%B2%A7%E5%B7%9E%E6%B8%AF%E4%B8%9C/merge_tile.json'
})
viewer.scene.primitives.add(czksksmt)
},
leftDownAction() {
@ -2158,6 +2127,14 @@ export default {
point.name = varList[i].MAP_POINT_NAME
point.infoname = varList[i].MAP_POINT_NAME
}
// 线
if (point.icon_type.indexOf('6_1') > -1) {
if (varList[i].ONLINE_STATUS === '0') {
point.icon_type = point.icon_type + '_online'
} else {
point.icon_type = point.icon_type + '_offline'
}
}
points.push(point)
}
if (this.gangkouActive === '00004' && urlType === 'carPosition') {

View File

@ -44,6 +44,8 @@ const img5_0 = require('../../../assets/map/gangkou_index/point/ico26.png')
const img6_0 = require('../../../assets/map/gangkou_index/point/ico30.png')
const img6_1 = require('../../../assets/map/gangkou_index/point/ico31.png')
const img6_1_online = require('../../../assets/map/gangkou_index/point/ico31_online.png')
const img6_1_offline = require('../../../assets/map/gangkou_index/point/ico31_offline.png')
const img7_0 = require('../../../assets/map/gangkou_index/point/ico26.png')
@ -62,7 +64,8 @@ const imgMap = {
img6_0, img6_1,
img7_0,
img8_0, img8_1, img8_2, img8_3,
cfd_img1_0, cfd_img1_0_1, cfd_img1_0_2, cfd_img1_0_3
cfd_img1_0, cfd_img1_0_1, cfd_img1_0_2, cfd_img1_0_3,
img6_1_online, img6_1_offline
}
export { imgMap }
@ -70,10 +73,12 @@ import './PolylineTrailLinkMaterialProperty'
import loadMapBox from './mapbox'
import loadMapBoxCfd from './mapboxCfd'
import loadMapBoxCzks from './mapboxCzks'
import loadCmtMapBox from './mapboxCmt'
const polygonMap = {
'00003': loadMapBox,
'00002': loadMapBoxCzks,
'00005': loadCmtMapBox,
'00004': loadMapBoxCfd
}

File diff suppressed because it is too large Load Diff