parent
61ddfb56f4
commit
7038e38809
File diff suppressed because one or more lines are too long
|
@ -11,12 +11,17 @@ declare module 'vue' {
|
||||||
500: typeof import('./src/components/errorMessage/500.vue')['default']
|
500: typeof import('./src/components/errorMessage/500.vue')['default']
|
||||||
AButton: typeof import('ant-design-vue/es')['Button']
|
AButton: typeof import('ant-design-vue/es')['Button']
|
||||||
AConfigProvider: typeof import('ant-design-vue/es')['ConfigProvider']
|
AConfigProvider: typeof import('ant-design-vue/es')['ConfigProvider']
|
||||||
|
ADropdown: typeof import('ant-design-vue/es')['Dropdown']
|
||||||
AForm: typeof import('ant-design-vue/es')['Form']
|
AForm: typeof import('ant-design-vue/es')['Form']
|
||||||
AFormItem: typeof import('ant-design-vue/es')['FormItem']
|
AFormItem: typeof import('ant-design-vue/es')['FormItem']
|
||||||
AImage: typeof import('ant-design-vue/es')['Image']
|
AImage: typeof import('ant-design-vue/es')['Image']
|
||||||
AInput: typeof import('ant-design-vue/es')['Input']
|
AInput: typeof import('ant-design-vue/es')['Input']
|
||||||
AInputPassword: typeof import('ant-design-vue/es')['InputPassword']
|
AInputPassword: typeof import('ant-design-vue/es')['InputPassword']
|
||||||
|
AMenu: typeof import('ant-design-vue/es')['Menu']
|
||||||
|
AMenuItem: typeof import('ant-design-vue/es')['MenuItem']
|
||||||
|
ASegmented: typeof import('ant-design-vue/es')['Segmented']
|
||||||
ASpin: typeof import('ant-design-vue/es')['Spin']
|
ASpin: typeof import('ant-design-vue/es')['Spin']
|
||||||
|
AStatistic: typeof import('ant-design-vue/es')['Statistic']
|
||||||
ATimeline: typeof import('ant-design-vue/es')['Timeline']
|
ATimeline: typeof import('ant-design-vue/es')['Timeline']
|
||||||
ATimelineItem: typeof import('ant-design-vue/es')['TimelineItem']
|
ATimelineItem: typeof import('ant-design-vue/es')['TimelineItem']
|
||||||
ATree: typeof import('ant-design-vue/es')['Tree']
|
ATree: typeof import('ant-design-vue/es')['Tree']
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
<!doctype html>
|
<!doctype html>
|
||||||
<html lang="en">
|
<html lang="en">
|
||||||
|
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<!-- <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> -->
|
<!-- <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"> -->
|
||||||
|
@ -7,13 +8,16 @@
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>多元警情</title>
|
<title>多元警情</title>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
<script src="https://webapi.amap.com/maps?v=1.4.15&key=8910226d8d36a41d856262b1a588850c&plugin=AMap.MarkerClusterer"></script>
|
<script
|
||||||
|
src="https://webapi.amap.com/maps?v=1.4.15&key=8910226d8d36a41d856262b1a588850c&plugin=AMap.MarkerClusterer"></script>
|
||||||
<script src="./jquery-3.4.1.min.js"></script>
|
<script src="./jquery-3.4.1.min.js"></script>
|
||||||
<script src="./h5player.min.js"></script>
|
<script src="./h5player.min.js"></script>
|
||||||
<script type="module" src="/src/main.ts">
|
<script type="module" src="/src/main.ts">
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
|
@ -53,6 +53,7 @@ export const staticRouter : RouteRecordRaw[] = [
|
||||||
{
|
{
|
||||||
path: '/index/hkplay',
|
path: '/index/hkplay',
|
||||||
component: () => import('@/views/page/hkplay.vue'),
|
component: () => import('@/views/page/hkplay.vue'),
|
||||||
|
props: route => ({ pointId: route.query.pointId }) // 确保 pointId 参数被正确传递
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/index/system',
|
path: '/index/system',
|
||||||
|
|
|
@ -3,17 +3,28 @@
|
||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import api from '@/axios'
|
import api from '@/axios'
|
||||||
import { Ref, ref, watch, onMounted, onBeforeMount, reactive, getCurrentInstance } from 'vue'
|
import { Ref, ref, watch, onMounted, onBeforeMount, onBeforeUnmount, reactive, getCurrentInstance } from 'vue'
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
const infoData = ref()
|
const infoData = ref()
|
||||||
|
var curIndex = 0 // 当前窗口下标
|
||||||
|
let myPlugin: any
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
var data = {
|
if (typeof window.JSPlugin === 'undefined') {
|
||||||
cameraIndexCode: router.currentRoute.value.query.pointId,
|
console.error('JSPlugin is not loaded')
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
console.log('JSPlugin加载成功')
|
||||||
}
|
}
|
||||||
console.log(data)
|
let date = {
|
||||||
// ws://218.76.54.6:559/openUrl/aUPPuCy
|
pointId: router.currentRoute.value.query.pointId,
|
||||||
api.post('/multialarm/video/preview', { pointId: data.cameraIndexCode }).then((res) => {
|
useTLS: 0,
|
||||||
|
}
|
||||||
|
if (process.env.NODE_ENV === 'production') {
|
||||||
|
date.useTLS = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
api.post('/multialarm/video/preview', { ...date }).then((res) => {
|
||||||
console.log('router222', res)
|
console.log('router222', res)
|
||||||
console.log('播放地址', res.data.videoUrl)
|
console.log('播放地址', res.data.videoUrl)
|
||||||
var code = res['code']
|
var code = res['code']
|
||||||
|
@ -21,7 +32,7 @@ onMounted(() => {
|
||||||
var playURL = res.data.videoUrl
|
var playURL = res.data.videoUrl
|
||||||
var IS_MOVE_DEVICE = document.body.clientWidth < 992 // 是否移动设备
|
var IS_MOVE_DEVICE = document.body.clientWidth < 992 // 是否移动设备
|
||||||
var MSE_IS_SUPPORT = !!window.MediaSource // 是否支持mse
|
var MSE_IS_SUPPORT = !!window.MediaSource // 是否支持mse
|
||||||
var player = new window.JSPlugin({
|
myPlugin = new window.JSPlugin({
|
||||||
// 当容器div#play_window有固定宽高时,可不传iWidth和iHeight,窗口大小将自适应容器宽高
|
// 当容器div#play_window有固定宽高时,可不传iWidth和iHeight,窗口大小将自适应容器宽高
|
||||||
// iWidth: 600,
|
// iWidth: 600,
|
||||||
// iHeight: 400,
|
// iHeight: 400,
|
||||||
|
@ -35,52 +46,72 @@ onMounted(() => {
|
||||||
},
|
},
|
||||||
bSupporDoubleClickFull: true, //是否支持双击全屏,默认true
|
bSupporDoubleClickFull: true, //是否支持双击全屏,默认true
|
||||||
})
|
})
|
||||||
|
myPlugin
|
||||||
|
.JS_SetWindowControlCallback({
|
||||||
|
pluginErrorHandler: function (index: any, iErrorCode: any, oError: any) {
|
||||||
|
console.error('__________pluginErrorHandler错误码________________', index, iErrorCode, oError)
|
||||||
|
|
||||||
var index = 2
|
//插件错误回调
|
||||||
playVideo()
|
// do you want...
|
||||||
|
// 取流失败,流中断等错误都会触发该回调函数,请自行对照错误码表进行判断。
|
||||||
|
// 业务上层可在此做一些个性化操作,如:个性化错误信息展示,重新取流等。
|
||||||
|
},
|
||||||
|
})
|
||||||
|
.then((res: any) => {
|
||||||
|
console.log('JS_SetWindowControlCallback________________', res)
|
||||||
|
})
|
||||||
|
|
||||||
|
var controlIndex = 2
|
||||||
function playVideo() {
|
function playVideo() {
|
||||||
|
console.log('____________playURL:', playURL)
|
||||||
|
console.log('____________curIndex:', curIndex)
|
||||||
// JS_Play 参数说明
|
// JS_Play 参数说明
|
||||||
// JS_Play(url, config, windowIndex, startTime, endTime)
|
// JS_Play(url, config, windowIndex, startTime, endTime)
|
||||||
player
|
myPlugin
|
||||||
.JS_Play(
|
.JS_Play(
|
||||||
playURL,
|
playURL,
|
||||||
{
|
{
|
||||||
playURL: playURL, // 流媒体播放时必传
|
playURL: playURL, // 流媒体播放时必传
|
||||||
mode: 1, // 解码类型:0=普通模式; 1=高级模式 默认为0
|
mode: 1, // 解码类型:0=普通模式; 1=高级模式 默认为0
|
||||||
},
|
},
|
||||||
0 //当前窗口下标
|
curIndex //当前窗口下标
|
||||||
)
|
)
|
||||||
.then(
|
.then(
|
||||||
() => {
|
() => {
|
||||||
console.info('JS_Play success')
|
console.info('JS_Play success')
|
||||||
// do you want...
|
// do you want...
|
||||||
},
|
},
|
||||||
(err: any) => {
|
(e: any) => {
|
||||||
console.info('JS_Play failed:', err)
|
console.log('网络流中断')
|
||||||
playVideo()
|
controlIndex--
|
||||||
// do you want...
|
if (controlIndex <= 0) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
console.info('JS_Play failed:', e)
|
||||||
|
playVideo()
|
||||||
}
|
}
|
||||||
// () => {
|
|
||||||
// console.log('realplay success')
|
|
||||||
// },
|
|
||||||
// (e) => {
|
|
||||||
// console.log('?')
|
|
||||||
// index--
|
|
||||||
// if (index <= 0) {
|
|
||||||
// return
|
|
||||||
// }
|
|
||||||
// var inUrl = '192.168.10.240:559'
|
|
||||||
// var outUrl = '218.76.54.20:559'
|
|
||||||
// playURL = playURL.replace(outUrl, inUrl)
|
|
||||||
// playVideo()
|
|
||||||
// }
|
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
playVideo()
|
||||||
} else {
|
} else {
|
||||||
alert('播放失败')
|
alert('播放失败')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// 停止播放断开 ws 连接
|
||||||
|
onBeforeUnmount(() => {
|
||||||
|
myPlugin.JS_Stop(curIndex).then(
|
||||||
|
() => {
|
||||||
|
console.info('JS_Stop success')
|
||||||
|
// do you want...
|
||||||
|
},
|
||||||
|
(err: any) => {
|
||||||
|
console.info('JS_Stop failed:', err)
|
||||||
|
// do you want...
|
||||||
|
}
|
||||||
|
)
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|
|
@ -1,10 +1,8 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="indexx" :id="state.id">
|
<div class="indexx" :id="state.id">
|
||||||
<Transition name="slide-fade">
|
<Transition name="slide-fade">
|
||||||
<div class="left-cont"
|
<div class="left-cont" :style="{ width: show3 ? '412px' : '0px', padding: show3 ? '10px 15px 5px' : '0px', border: show3 ? '10px solid #f2f3f5' : '0px' }">
|
||||||
:style="{ width: show3 ? '412px' : '0px', padding: show3 ? '10px 15px 5px' : '0px', border: show3 ? '10px solid #f2f3f5' : '0px' }">
|
<el-button @click="show3 = !show3" style="position: absolute; top: 0px; right: -38px" id="toggle-sidebar" type="info" circle>
|
||||||
<el-button @click="show3 = !show3" style="position: absolute; top: 0px; right: -38px"
|
|
||||||
id="toggle-sidebar" type="info" circle>
|
|
||||||
<el-icon v-if="show3">
|
<el-icon v-if="show3">
|
||||||
<d-arrow-left />
|
<d-arrow-left />
|
||||||
</el-icon>
|
</el-icon>
|
||||||
|
@ -29,9 +27,16 @@
|
||||||
<!-- <el-input v-model="0"></el-input> -->
|
<!-- <el-input v-model="0"></el-input> -->
|
||||||
</div>
|
</div>
|
||||||
<div style="padding: 0px 20px; height: 75%; overflow: auto" v-show="show3">
|
<div style="padding: 0px 20px; height: 75%; overflow: auto" v-show="show3">
|
||||||
<a-tree v-loading="loading" :show-icon="true" :default-expand-all="true"
|
<a-tree
|
||||||
v-model:expandedKeys="expandedKeys" v-model:selectedKeys="selectedKeys"
|
v-loading="loading"
|
||||||
v-model:checkedKeys="checkedKeys" :tree-data="treedataall" @select="selectA">
|
:show-icon="true"
|
||||||
|
:default-expand-all="true"
|
||||||
|
v-model:expandedKeys="expandedKeys"
|
||||||
|
v-model:selectedKeys="selectedKeys"
|
||||||
|
v-model:checkedKeys="checkedKeys"
|
||||||
|
:tree-data="treedataall"
|
||||||
|
@select="selectA"
|
||||||
|
>
|
||||||
<template #title="{ title, level }">
|
<template #title="{ title, level }">
|
||||||
{{ title }}
|
{{ title }}
|
||||||
</template>
|
</template>
|
||||||
|
@ -55,10 +60,8 @@
|
||||||
</Transition>
|
</Transition>
|
||||||
|
|
||||||
<Transition name="slide-fade1">
|
<Transition name="slide-fade1">
|
||||||
<div class="right-cont"
|
<div class="right-cont" :style="{ width: show4 ? '412px' : '0px', padding: show4 ? '10px 15px 5px' : '0px', border: show4 ? '10px solid #f2f3f5' : '0px' }">
|
||||||
:style="{ width: show4 ? '412px' : '0px', padding: show4 ? '10px 15px 5px' : '0px', border: show4 ? '10px solid #f2f3f5' : '0px' }">
|
<el-button @click="show4 = !show4" style="position: absolute; top: 0px; left: -38px" id="toggle-sidebar1" type="info" circle>
|
||||||
<el-button @click="show4 = !show4" style="position: absolute; top: 0px; left: -38px"
|
|
||||||
id="toggle-sidebar1" type="info" circle>
|
|
||||||
<el-icon v-if="show4">
|
<el-icon v-if="show4">
|
||||||
<d-arrow-right />
|
<d-arrow-right />
|
||||||
</el-icon>
|
</el-icon>
|
||||||
|
@ -112,19 +115,13 @@
|
||||||
<ul class="dataList" v-show="isActive1 == '1'">
|
<ul class="dataList" v-show="isActive1 == '1'">
|
||||||
<li v-if="jinbao.length > 0" v-for="(item, index) in jinbao" :key="index" @click="toinfo(item, index)">
|
<li v-if="jinbao.length > 0" v-for="(item, index) in jinbao" :key="index" @click="toinfo(item, index)">
|
||||||
<p>
|
<p>
|
||||||
<el-icon>
|
<el-icon> <LocationFilled /> </el-icon>{{ item.address }}
|
||||||
<LocationFilled />
|
|
||||||
</el-icon>{{ item.address }}
|
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<el-icon>
|
<el-icon> <Clock /> </el-icon>{{ item.timestamp }}
|
||||||
<Clock />
|
|
||||||
</el-icon>{{ item.timestamp }}
|
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<el-icon>
|
<el-icon> <PhoneFilled /> </el-icon>{{ item.user1Phone }}
|
||||||
<PhoneFilled />
|
|
||||||
</el-icon>{{ item.user1Phone }}
|
|
||||||
</p>
|
</p>
|
||||||
<p>设备号:{{ item.deviceId }}</p>
|
<p>设备号:{{ item.deviceId }}</p>
|
||||||
<p>平台来源:{{ item.alarmSource }}</p>
|
<p>平台来源:{{ item.alarmSource }}</p>
|
||||||
|
@ -134,19 +131,13 @@
|
||||||
<ul class="dataList" v-show="isActive1 == '2'">
|
<ul class="dataList" v-show="isActive1 == '2'">
|
||||||
<li v-if="jinqing.length > 0" v-for="(item, index) in jinqing" :key="index" @click="toinfo(item, index)">
|
<li v-if="jinqing.length > 0" v-for="(item, index) in jinqing" :key="index" @click="toinfo(item, index)">
|
||||||
<p>
|
<p>
|
||||||
<el-icon>
|
<el-icon> <LocationFilled /> </el-icon>{{ item.address }}
|
||||||
<LocationFilled />
|
|
||||||
</el-icon>{{ item.address }}
|
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<el-icon>
|
<el-icon> <Clock /> </el-icon>{{ item.timestamp }}
|
||||||
<Clock />
|
|
||||||
</el-icon>{{ item.timestamp }}
|
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<el-icon>
|
<el-icon> <PhoneFilled /> </el-icon>{{ item.user1Phone }}
|
||||||
<PhoneFilled />
|
|
||||||
</el-icon>{{ item.user1Phone }}
|
|
||||||
</p>
|
</p>
|
||||||
<p>设备号:{{ item.alarmSource }}</p>
|
<p>设备号:{{ item.alarmSource }}</p>
|
||||||
<p>平台来源:{{ item.station }}</p>
|
<p>平台来源:{{ item.station }}</p>
|
||||||
|
@ -156,19 +147,13 @@
|
||||||
<ul class="dataList" v-show="isActive1 == '3'">
|
<ul class="dataList" v-show="isActive1 == '3'">
|
||||||
<li v-if="AIyujing.length > 0" v-for="(item, index) in AIyujing" :key="index" @click="toinfo(item, index)">
|
<li v-if="AIyujing.length > 0" v-for="(item, index) in AIyujing" :key="index" @click="toinfo(item, index)">
|
||||||
<p>
|
<p>
|
||||||
<el-icon>
|
<el-icon> <LocationFilled /> </el-icon>{{ item.address }}
|
||||||
<LocationFilled />
|
|
||||||
</el-icon>{{ item.address }}
|
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<el-icon>
|
<el-icon> <Clock /> </el-icon>{{ item.timestamp }}
|
||||||
<Clock />
|
|
||||||
</el-icon>{{ item.timestamp }}
|
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
<el-icon>
|
<el-icon> <PhoneFilled /> </el-icon>{{ item.user1Phone }}
|
||||||
<PhoneFilled />
|
|
||||||
</el-icon>{{ item.user1Phone }}
|
|
||||||
</p>
|
</p>
|
||||||
<p>设备号:{{ item.deviceId }}</p>
|
<p>设备号:{{ item.deviceId }}</p>
|
||||||
<p>平台来源:{{ item.alarmSource }}</p>
|
<p>平台来源:{{ item.alarmSource }}</p>
|
||||||
|
@ -179,10 +164,8 @@
|
||||||
</div>
|
</div>
|
||||||
</Transition>
|
</Transition>
|
||||||
|
|
||||||
<div v-show="dialogTableVisible"
|
<div v-show="dialogTableVisible" style="position: fixed; top: 115px; right: 448px; background: rgb(21, 42, 95); z-index: 99; width: 349px; padding: 10px; border-radius: 5px; padding-top: 20px">
|
||||||
style="position: fixed; top: 115px; right: 448px; background: rgb(21, 42, 95); z-index: 99; width: 349px; padding: 10px; border-radius: 5px; padding-top: 20px">
|
<el-popover :visible="visible" :show-arrow="false" placement="left" :width="400" :popper-style="{ background: '#06325F', border: '1px solid #60626654' }">
|
||||||
<el-popover :visible="visible" :show-arrow="false" placement="left" :width="400"
|
|
||||||
:popper-style="{ background: '#06325F', border: '1px solid #60626654' }">
|
|
||||||
<template #reference>
|
<template #reference>
|
||||||
<el-icon @click="clickKz(infoData)" style="top: -6px" size="16px" color="#409EFC">
|
<el-icon @click="clickKz(infoData)" style="top: -6px" size="16px" color="#409EFC">
|
||||||
<DArrowLeft />
|
<DArrowLeft />
|
||||||
|
@ -194,30 +177,34 @@
|
||||||
<div>
|
<div>
|
||||||
<p style="color: rgb(179, 194, 208)">视频点位:</p>
|
<p style="color: rgb(179, 194, 208)">视频点位:</p>
|
||||||
<ul v-if="ingrssddata">
|
<ul v-if="ingrssddata">
|
||||||
<li style="text-align: center;color: #fff;" v-if="ingrssddata.ipcList.length<1">暂无数据</li>
|
<li style="text-align: center; color: #fff" v-if="ingrssddata.ipcList.length < 1">暂无数据</li>
|
||||||
<li v-else style="margin-left: 20px; margin-top: 10px; color: rgb(1, 216, 226)"
|
<li v-else style="margin-left: 20px; margin-top: 10px; color: rgb(1, 216, 226)" v-for="(item, index) in ingrssddata.ipcList">{{ item.title }}</li>
|
||||||
v-for="(item, index) in ingrssddata.ipcList">{{ item.title }}</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div style="margin-top: 10px">
|
<div style="margin-top: 10px">
|
||||||
<p style="color: rgb(179, 194, 208)">安保点位:</p>
|
<p style="color: rgb(179, 194, 208)">安保点位:</p>
|
||||||
<ul v-if="ingrssddata">
|
<ul v-if="ingrssddata">
|
||||||
<li style="text-align: center;color: #fff;" v-if="ingrssddata.mobileList.length<1">暂无数据</li>
|
<li style="text-align: center; color: #fff" v-if="ingrssddata.mobileList.length < 1">暂无数据</li>
|
||||||
<li style="margin-left: 20px; margin-top: 10px; color: rgb(1, 216, 226)"
|
<li style="margin-left: 20px; margin-top: 10px; color: rgb(1, 216, 226)" v-for="(item, index) in ingrssddata.mobileList">{{ item.title }}</li>
|
||||||
v-for="(item, index) in ingrssddata.mobileList">{{ item.title }}</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div style="margin-top: 10px">
|
<div style="margin-top: 10px">
|
||||||
<p style="color: rgb(179, 194, 208)">文件列表:</p>
|
<p style="color: rgb(179, 194, 208)">文件列表:</p>
|
||||||
<ul v-if="ingrssddata">
|
<ul v-if="ingrssddata">
|
||||||
<li style="text-align: center;color: #fff;" v-if="ingrssddata.fileList.length<1">暂无数据</li>
|
<li style="text-align: center; color: #fff" v-if="ingrssddata.fileList.length < 1">暂无数据</li>
|
||||||
<li style="display: inline-block; margin-right: 5px"
|
<li style="display: inline-block; margin-right: 5px" v-for="(item, index) in ingrssddata.fileList">
|
||||||
v-for="(item, index) in ingrssddata.fileList">
|
<el-image
|
||||||
<el-image style="width: 150px; height: 150px" v-if="item.type == 'image'" :src="item.url"
|
style="width: 150px; height: 150px"
|
||||||
:zoom-rate="1.2" :max-scale="7" :min-scale="0.2" :preview-src-list="[item.url]"
|
v-if="item.type == 'image'"
|
||||||
:initial-index="4" fit="cover" />
|
:src="item.url"
|
||||||
<video width="150" height="150" v-if="item.type == 'video'" :src="item.url"
|
:zoom-rate="1.2"
|
||||||
autoplay="autoplay" controls></video>
|
:max-scale="7"
|
||||||
|
:min-scale="0.2"
|
||||||
|
:preview-src-list="[item.url]"
|
||||||
|
:initial-index="4"
|
||||||
|
fit="cover"
|
||||||
|
/>
|
||||||
|
<video width="150" height="150" v-if="item.type == 'video'" :src="item.url" autoplay="autoplay" controls></video>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
@ -358,9 +345,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<el-dialog title="视频" v-model="dialogVisible" width="30%">
|
<el-dialog title="视频" v-model="dialogVisible" width="30%">
|
||||||
<iframe style="width: 100%; height: 250px"
|
<iframe style="width: 100%; height: 250px" :src="'https://www.jy-sh.com/h5sVideo/index.html?token=' + pointCode + '&autoplay=true'" frameborder="0"></iframe>
|
||||||
:src="'https://www.jy-sh.com/h5sVideo/index.html?token=' + pointCode + '&autoplay=true'"
|
|
||||||
frameborder="0"></iframe>
|
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -445,13 +430,13 @@
|
||||||
)
|
)
|
||||||
//
|
//
|
||||||
const closee = () => {
|
const closee = () => {
|
||||||
dialogTableVisible.value = false;
|
dialogTableVisible.value = false
|
||||||
visible.value = false;
|
visible.value = false
|
||||||
|
}
|
||||||
};
|
|
||||||
//解锁
|
//解锁
|
||||||
const jiesuo = (data) => {
|
const jiesuo = (data) => {
|
||||||
api.post('/multialarm/client/alarm_event/unlock', {
|
api
|
||||||
|
.post('/multialarm/client/alarm_event/unlock', {
|
||||||
eventId: data.multiAlarmId,
|
eventId: data.multiAlarmId,
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
|
@ -462,7 +447,8 @@
|
||||||
})
|
})
|
||||||
getdayline()
|
getdayline()
|
||||||
let city = JSON.parse(localStorage.getItem('user-stores'))['userInfo']['levelvalue']
|
let city = JSON.parse(localStorage.getItem('user-stores'))['userInfo']['levelvalue']
|
||||||
api.post('multialarm/client/sensor/alarm_event/getlist/today', {
|
api
|
||||||
|
.post('multialarm/client/sensor/alarm_event/getlist/today', {
|
||||||
name: localStorage.getItem('loginname'),
|
name: localStorage.getItem('loginname'),
|
||||||
city: city == '湖南省' ? null : city,
|
city: city == '湖南省' ? null : city,
|
||||||
start: day().format('YYYY-MM-DD HH:mm:ss'),
|
start: day().format('YYYY-MM-DD HH:mm:ss'),
|
||||||
|
@ -477,10 +463,11 @@
|
||||||
ElMessage.error('解锁失败')
|
ElMessage.error('解锁失败')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
};
|
}
|
||||||
//锁定
|
//锁定
|
||||||
const lock = (data) => {
|
const lock = (data) => {
|
||||||
api.post('/multialarm/client/alarm_event/lock', {
|
api
|
||||||
|
.post('/multialarm/client/alarm_event/lock', {
|
||||||
eventId: data.multiAlarmId,
|
eventId: data.multiAlarmId,
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
|
@ -492,7 +479,8 @@
|
||||||
// console.log('listindex',listindex.value,jinbao.value)
|
// console.log('listindex',listindex.value,jinbao.value)
|
||||||
getdayline()
|
getdayline()
|
||||||
let city = JSON.parse(localStorage.getItem('user-stores'))['userInfo']['levelvalue']
|
let city = JSON.parse(localStorage.getItem('user-stores'))['userInfo']['levelvalue']
|
||||||
api.post('multialarm/client/sensor/alarm_event/getlist/today', {
|
api
|
||||||
|
.post('multialarm/client/sensor/alarm_event/getlist/today', {
|
||||||
name: localStorage.getItem('loginname'),
|
name: localStorage.getItem('loginname'),
|
||||||
city: city == '湖南省' ? null : city,
|
city: city == '湖南省' ? null : city,
|
||||||
start: day().format('YYYY-MM-DD HH:mm:ss'),
|
start: day().format('YYYY-MM-DD HH:mm:ss'),
|
||||||
|
@ -503,13 +491,11 @@
|
||||||
infoData.value.lockState = res.data[listindex.value]['lockState']
|
infoData.value.lockState = res.data[listindex.value]['lockState']
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
ElMessage.error('锁定失败')
|
ElMessage.error('锁定失败')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
};
|
}
|
||||||
//
|
//
|
||||||
const printLeafs = (tree, jirearr) => {
|
const printLeafs = (tree, jirearr) => {
|
||||||
if (!tree.children) {
|
if (!tree.children) {
|
||||||
|
@ -590,7 +576,7 @@
|
||||||
message: '关闭成功',
|
message: '关闭成功',
|
||||||
type: 'success',
|
type: 'success',
|
||||||
})
|
})
|
||||||
getdayline();
|
getdayline()
|
||||||
dialogTableVisible.value = false
|
dialogTableVisible.value = false
|
||||||
//删除此条数据
|
//删除此条数据
|
||||||
// listData
|
// listData
|
||||||
|
@ -768,8 +754,8 @@
|
||||||
renderClusterMarker: _renderClusterMarker,
|
renderClusterMarker: _renderClusterMarker,
|
||||||
})
|
})
|
||||||
state.map.plugin(['AMap.MarkerClusterer'], () => {
|
state.map.plugin(['AMap.MarkerClusterer'], () => {
|
||||||
let zoom = state.map.getZoom();
|
let zoom = state.map.getZoom()
|
||||||
console.log('当前地图的缩放级别是:' + zoom);
|
console.log('当前地图的缩放级别是:' + zoom)
|
||||||
cluster
|
cluster
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
@ -779,7 +765,8 @@
|
||||||
const jinbao = ref([])
|
const jinbao = ref([])
|
||||||
const getdayline = () => {
|
const getdayline = () => {
|
||||||
let city = JSON.parse(localStorage.getItem('user-stores'))['userInfo']['levelvalue']
|
let city = JSON.parse(localStorage.getItem('user-stores'))['userInfo']['levelvalue']
|
||||||
api.post('multialarm/client/sensor/alarm_event/getlist/today', {
|
api
|
||||||
|
.post('multialarm/client/sensor/alarm_event/getlist/today', {
|
||||||
name: localStorage.getItem('loginname'),
|
name: localStorage.getItem('loginname'),
|
||||||
city: city == '湖南省' ? null : city,
|
city: city == '湖南省' ? null : city,
|
||||||
start: day().format('YYYY-MM-DD HH:mm:ss'),
|
start: day().format('YYYY-MM-DD HH:mm:ss'),
|
||||||
|
@ -855,7 +842,6 @@
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -1016,7 +1002,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
const getSubstanceInfoWindowContent2 = (obj, type) => {
|
const getSubstanceInfoWindowContent2 = (obj, type) => {
|
||||||
console.log("🚀 ~ getSubstanceInfoWindowContent2 ~ obj, type:", obj, type)
|
console.log('🚀 ~ getSubstanceInfoWindowContent2 ~ obj, type:', obj, type)
|
||||||
var station = obj['station']
|
var station = obj['station']
|
||||||
var nickname = ''
|
var nickname = ''
|
||||||
if (obj.deviceType == '04' || obj.deviceType == '00') {
|
if (obj.deviceType == '04' || obj.deviceType == '00') {
|
||||||
|
@ -1064,14 +1050,28 @@
|
||||||
}
|
}
|
||||||
const dialogVisible = ref(false)
|
const dialogVisible = ref(false)
|
||||||
const pointCode = ref()
|
const pointCode = ref()
|
||||||
|
|
||||||
;(window as any).addrt = (a) => {
|
;(window as any).addrt = (a) => {
|
||||||
// console.log('播放',a)
|
console.log('播放_______________', a)
|
||||||
|
|
||||||
|
// let routeData = router.resolve({ path: '/index/hkplay', query: { pointId: a.pointId } })
|
||||||
|
// window.open(routeData.href, '_blank')
|
||||||
if (a.deviceType == '00') {
|
if (a.deviceType == '00') {
|
||||||
if (a.alarmType == 'isc') {
|
if (a.alarmType == 'isc') {
|
||||||
let routeData = router.resolve({ path: '/index/hkplay', query: { pointId: a.pointId } })
|
try {
|
||||||
window.open(routeData.href, '_blank')
|
router.push({ path: '/index/hkplay', query: { pointId: a.pointId } })
|
||||||
|
// let routeData = router.resolve({ path: '/index/hkplay', query: { pointId: a.pointId } })
|
||||||
|
// console.log('🚀 ~ routeData:', JSON.stringify(routeData))
|
||||||
|
// window.location.href = routeData.href
|
||||||
|
|
||||||
|
// window.open(routeData.href, '_blank')
|
||||||
|
// window.open('http://172.10.10.161:9527/#/index/hkplay?pointId=43000000581314000013', '_blank') //直接跳要么白屏,要么说未找到token
|
||||||
|
// window.open('https://www.hndyjqrh.cn/#/index/hkplay?pointId=43000000581314000013', '_blank')
|
||||||
|
} catch (error) {
|
||||||
|
console.log('🚀 ~addrt error:', error)
|
||||||
}
|
}
|
||||||
window.open('https://www.jy-sh.com/h5sVideo/index.html?token=' + a.pointCode + '&autoplay=true')
|
}
|
||||||
|
// window.open('https://www.jy-sh.com/h5sVideo/index.html?token=' + a.pointCode + '&autoplay=true')
|
||||||
} else {
|
} else {
|
||||||
window.open('https://www.jy-sh.com/webRtcVideo/moveDeviceVideoOne.html?id=' + a.deviceId)
|
window.open('https://www.jy-sh.com/webRtcVideo/moveDeviceVideoOne.html?id=' + a.deviceId)
|
||||||
}
|
}
|
||||||
|
@ -1204,7 +1204,8 @@
|
||||||
infoData.value = item
|
infoData.value = item
|
||||||
if (item.state == 'new') {
|
if (item.state == 'new') {
|
||||||
//新事件转成处理中/firectrl/client/sensor/alarm_event/changestate
|
//新事件转成处理中/firectrl/client/sensor/alarm_event/changestate
|
||||||
api.post('/multialarm/client/alarm_event/changestate', {
|
api
|
||||||
|
.post('/multialarm/client/alarm_event/changestate', {
|
||||||
eventId: item.multiAlarmId,
|
eventId: item.multiAlarmId,
|
||||||
newState: 'processing',
|
newState: 'processing',
|
||||||
device: 'web',
|
device: 'web',
|
||||||
|
@ -1214,7 +1215,8 @@
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
getRealTimeAlarmSituation() //跟新实时警情列表
|
getRealTimeAlarmSituation() //跟新实时警情列表
|
||||||
api.post('/multialarm/client/alarm_event/getlog', {
|
api
|
||||||
|
.post('/multialarm/client/alarm_event/getlog', {
|
||||||
eventId: item.multiAlarmId,
|
eventId: item.multiAlarmId,
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
|
@ -1224,7 +1226,8 @@
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
api.post('/multialarm/client/alarm_event/getlog', {
|
api
|
||||||
|
.post('/multialarm/client/alarm_event/getlog', {
|
||||||
eventId: item.multiAlarmId,
|
eventId: item.multiAlarmId,
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
|
@ -1254,8 +1257,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
const initMap = () => {
|
const initMap = () => {
|
||||||
let latitude = JSON.parse(localStorage.getItem('user-stores'))['userInfo']['latitude'];
|
let latitude = JSON.parse(localStorage.getItem('user-stores'))['userInfo']['latitude']
|
||||||
let longitude = JSON.parse(localStorage.getItem('user-stores'))['userInfo']['longitude'];
|
let longitude = JSON.parse(localStorage.getItem('user-stores'))['userInfo']['longitude']
|
||||||
// var cluster;
|
// var cluster;
|
||||||
state.map = new AMap.Map(state.id, {
|
state.map = new AMap.Map(state.id, {
|
||||||
// center: [113.015117, 28.209425],
|
// center: [113.015117, 28.209425],
|
||||||
|
@ -1772,8 +1775,10 @@
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
:deep( :where(.css-dev-only-do-not-override-1qb1s0s).ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected,
|
:deep(
|
||||||
:where(.css-dev-only-do-not-override-1qb1s0s).ant-tree .ant-tree-checkbox + span.ant-tree-node-selected) {
|
:where(.css-dev-only-do-not-override-1qb1s0s).ant-tree .ant-tree-node-content-wrapper.ant-tree-node-selected,
|
||||||
|
:where(.css-dev-only-do-not-override-1qb1s0s).ant-tree .ant-tree-checkbox + span.ant-tree-node-selected
|
||||||
|
) {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue