Merge branch 'shenzhen-dev' into cjw-dev
This commit is contained in:
commit
3a2a5be782
@ -5,6 +5,7 @@ NODE_ENV = "production"
|
|||||||
# 注:切换部署环境时需更改src\routers\modules\staticRouter里的路径 改src\config\config.ts里的项目标识
|
# 注:切换部署环境时需更改src\routers\modules\staticRouter里的路径 改src\config\config.ts里的项目标识
|
||||||
# VITE_API_URL = "http://139.9.66.234:6688"
|
# VITE_API_URL = "http://139.9.66.234:6688"
|
||||||
# VITE_API_URL = "http://jxj.zhgdyun.com:6688"
|
# VITE_API_URL = "http://jxj.zhgdyun.com:6688"
|
||||||
|
# VITE_API_URL = 'http://jxj.zhgdyun.com:100'
|
||||||
# 沈阳合盈线上
|
# 沈阳合盈线上
|
||||||
# VITE_API_URL = "http://101.43.164.214:45022"
|
# VITE_API_URL = "http://101.43.164.214:45022"
|
||||||
# 嘉兴王江泾公用码头
|
# 嘉兴王江泾公用码头
|
||||||
|
|||||||
@ -107,15 +107,12 @@ onMounted(async () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
onBeforeUnmount(() => {
|
onBeforeUnmount(() => {
|
||||||
if (oWebControl.value === undefined) {
|
// 先让窗口隐藏,规避可能的插件窗口滞后于浏览器消失问题
|
||||||
// 先让窗口隐藏,规避可能的插件窗口滞后于浏览器消失问题
|
oWebControl.JS_HideWnd();
|
||||||
oWebControl.JS_HideWnd();
|
// 销毁当前播放的视频
|
||||||
// 销毁当前播放的视频
|
oWebControl.JS_RequestInterface({ funcName: "destroyWnd" });
|
||||||
oWebControl.JS_RequestInterface({ funcName: "destroyWnd" });
|
// 断开与插件服务连接
|
||||||
// 断开与插件服务连接
|
oWebControl.JS_Disconnect();
|
||||||
oWebControl.JS_Disconnect();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
const initPlugin = () => {
|
const initPlugin = () => {
|
||||||
oWebControl = new WebControl({
|
oWebControl = new WebControl({
|
||||||
@ -295,7 +292,6 @@ const previewVideo = (data: string | null) => {
|
|||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.main {
|
.main {
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<ScaleBox :width="1920" :height="1080" bgc="transparent" :delay="100" :isFlat="false">
|
<ScaleBox :width="1920" :height="1080" bgc="transparent" :delay="100" :isFlat="false" @scaleChange="scaleChange">
|
||||||
<div class="largeScreen" ref="dataScreenRef">
|
<div class="largeScreen" ref="dataScreenRef">
|
||||||
<div class="header">
|
<div class="header">
|
||||||
<!-- <div class="hearderIcon"><img src="@/assets/images/jxjLogo.png" alt="" /></div> -->
|
<!-- <div class="hearderIcon"><img src="@/assets/images/jxjLogo.png" alt="" /></div> -->
|
||||||
@ -108,6 +108,10 @@ let nowDate = ref("2023.11.16" as any);
|
|||||||
let projectPassDay = ref(0 as any);
|
let projectPassDay = ref(0 as any);
|
||||||
//获取项目信息
|
//获取项目信息
|
||||||
const projectTimeInfo = ref({} as any);
|
const projectTimeInfo = ref({} as any);
|
||||||
|
const scaleValue = ref(1);
|
||||||
|
const scaleChange = (data:any) => {
|
||||||
|
scaleValue.value = data;
|
||||||
|
}
|
||||||
const getProjectInfo = async () => {
|
const getProjectInfo = async () => {
|
||||||
getNowDate();
|
getNowDate();
|
||||||
const res: any = await getTaskTimeDetail({ projectSn: store.sn });
|
const res: any = await getTaskTimeDetail({ projectSn: store.sn });
|
||||||
@ -519,7 +523,6 @@ function jumpBgd() {
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
background: url("@/assets/images/bigImg.gif") no-repeat;
|
background: url("@/assets/images/bigImg.gif") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
|
|
||||||
.header {
|
.header {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 12%;
|
height: 12%;
|
||||||
|
|||||||
@ -107,14 +107,12 @@ onMounted(async () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
onBeforeUnmount(() => {
|
onBeforeUnmount(() => {
|
||||||
if (oWebControl.value === undefined) {
|
// 先让窗口隐藏,规避可能的插件窗口滞后于浏览器消失问题
|
||||||
// 先让窗口隐藏,规避可能的插件窗口滞后于浏览器消失问题
|
oWebControl.JS_HideWnd();
|
||||||
oWebControl.JS_HideWnd();
|
|
||||||
// 销毁当前播放的视频
|
// 销毁当前播放的视频
|
||||||
oWebControl.JS_RequestInterface({ funcName: "destroyWnd" });
|
oWebControl.JS_RequestInterface({ funcName: "destroyWnd" });
|
||||||
// 断开与插件服务连接
|
// 断开与插件服务连接
|
||||||
oWebControl.JS_Disconnect();
|
oWebControl.JS_Disconnect();
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const initPlugin = () => {
|
const initPlugin = () => {
|
||||||
|
|||||||
@ -107,14 +107,12 @@ onMounted(async () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
onBeforeUnmount(() => {
|
onBeforeUnmount(() => {
|
||||||
if (oWebControl.value === undefined) {
|
// 先让窗口隐藏,规避可能的插件窗口滞后于浏览器消失问题
|
||||||
// 先让窗口隐藏,规避可能的插件窗口滞后于浏览器消失问题
|
oWebControl.JS_HideWnd();
|
||||||
oWebControl.JS_HideWnd();
|
// 销毁当前播放的视频
|
||||||
// 销毁当前播放的视频
|
oWebControl.JS_RequestInterface({ funcName: "destroyWnd" });
|
||||||
oWebControl.JS_RequestInterface({ funcName: "destroyWnd" });
|
// 断开与插件服务连接
|
||||||
// 断开与插件服务连接
|
oWebControl.JS_Disconnect();
|
||||||
oWebControl.JS_Disconnect();
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const initPlugin = () => {
|
const initPlugin = () => {
|
||||||
|
|||||||
@ -46,14 +46,13 @@ const deviceStatusOptions = ref([
|
|||||||
{ label: "心跳", value: 2 },
|
{ label: "心跳", value: 2 },
|
||||||
]) as any;
|
]) as any;
|
||||||
|
|
||||||
let list = ref([]);
|
let list = ref([] as any);
|
||||||
const refScrollbar = ref(null as any); // 绑定到滚动的盒子上
|
const refScrollbar = ref(null as any); // 绑定到滚动的盒子上
|
||||||
const ScrollbarTop = ref(0);
|
|
||||||
|
|
||||||
let moreScroll = ref(true as any);
|
let moreScroll = ref(true as any);
|
||||||
|
|
||||||
let pageNo = ref(1 as any);
|
let pageNo = ref(1 as any);
|
||||||
let pageSize = ref(20 as any);
|
let pageSize = ref(30 as any);
|
||||||
|
|
||||||
// 获取烟感监测告警监测记录列表
|
// 获取烟感监测告警监测记录列表
|
||||||
const getSmokeAlarmRecordList = async () => {
|
const getSmokeAlarmRecordList = async () => {
|
||||||
@ -96,7 +95,6 @@ onMounted(() => {
|
|||||||
getMoreSmokeRecordList();
|
getMoreSmokeRecordList();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
ScrollbarTop.value = scrollTop;
|
|
||||||
});
|
});
|
||||||
getSmokeAlarmRecordList();
|
getSmokeAlarmRecordList();
|
||||||
});
|
});
|
||||||
@ -124,7 +122,7 @@ onMounted(() => {
|
|||||||
padding: 2%;
|
padding: 2%;
|
||||||
position: relative;
|
position: relative;
|
||||||
.list-content {
|
.list-content {
|
||||||
height: 95%;
|
height: 100%;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
// background: url("@/assets/images/cardImg.png") no-repeat;
|
// background: url("@/assets/images/cardImg.png") no-repeat;
|
||||||
// background-size: 100% 100%;
|
// background-size: 100% 100%;
|
||||||
@ -148,7 +146,7 @@ onMounted(() => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.list-box {
|
.list-box {
|
||||||
height: 100%;
|
height: 92%;
|
||||||
.list-style:nth-child(even) {
|
.list-style:nth-child(even) {
|
||||||
background: rgba(39, 88, 192, 0.06);
|
background: rgba(39, 88, 192, 0.06);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -149,14 +149,12 @@ onMounted(async () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
onBeforeUnmount(() => {
|
onBeforeUnmount(() => {
|
||||||
if (oWebControl.value === undefined) {
|
// 先让窗口隐藏,规避可能的插件窗口滞后于浏览器消失问题
|
||||||
// 先让窗口隐藏,规避可能的插件窗口滞后于浏览器消失问题
|
oWebControl.JS_HideWnd();
|
||||||
oWebControl.JS_HideWnd();
|
// 销毁当前播放的视频
|
||||||
// 销毁当前播放的视频
|
oWebControl.JS_RequestInterface({ funcName: "destroyWnd" });
|
||||||
oWebControl.JS_RequestInterface({ funcName: "destroyWnd" });
|
// 断开与插件服务连接
|
||||||
// 断开与插件服务连接
|
oWebControl.JS_Disconnect();
|
||||||
oWebControl.JS_Disconnect();
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const initPlugin = () => {
|
const initPlugin = () => {
|
||||||
|
|||||||
@ -23,7 +23,7 @@ const store = GlobalStore();
|
|||||||
const realCountTotal = ref({} as any);
|
const realCountTotal = ref({} as any);
|
||||||
//获取出入场车辆统计
|
//获取出入场车辆统计
|
||||||
const getMemberCareList = async () => {
|
const getMemberCareList = async () => {
|
||||||
const res: any = await getEntryAndExitCountApi({ projectSn: store.sn, isOpen: 1 });
|
const res: any = await getEntryAndExitCountApi({ projectSn: store.sn });
|
||||||
console.log("获取出入场车辆统计", res);
|
console.log("获取出入场车辆统计", res);
|
||||||
if (res.success) {
|
if (res.success) {
|
||||||
realCountTotal.value = res.result;
|
realCountTotal.value = res.result;
|
||||||
|
|||||||
@ -17,40 +17,41 @@
|
|||||||
<div>进出场图片</div>
|
<div>进出场图片</div>
|
||||||
<div>全景图照片</div>
|
<div>全景图照片</div>
|
||||||
</div>
|
</div>
|
||||||
|
<el-scrollbar class="listBox" ref="refScrollbar">
|
||||||
<div class="listBox">
|
<template v-if="vehicleData.length > 0">
|
||||||
<div v-for="(item, index) in vehicleData" class="listStyle" :key="item.id">
|
<div v-for="(item, index) in vehicleData" class="listStyle" :key="item.id">
|
||||||
<div>{{ index + 1 }}</div>
|
<div>{{ index + 1 }}</div>
|
||||||
<div>{{ item.carNumber }}</div>
|
<div>{{ item.carNumber }}</div>
|
||||||
<div>{{ item.passTime }}</div>
|
<div>{{ item.passTime }}</div>
|
||||||
<div>{{ item.type==1?'出':'进' }}</div>
|
<div>{{ item.type == 1 ? "出" : "进" }}</div>
|
||||||
<div>{{ item.location }}</div>
|
<div>{{ item.location }}</div>
|
||||||
<div>{{ item.carColor }}</div>
|
<div>{{ item.carColor }}</div>
|
||||||
<div>{{ item.carType ? carTypeList[item.carType-1].name:''}}</div>
|
<div>{{ item.carType ? carTypeList[item.carType - 1].name : "" }}</div>
|
||||||
<div class="list-img">
|
<div class="list-img">
|
||||||
<el-image
|
<el-image
|
||||||
fit="contain"
|
fit="contain"
|
||||||
class="el-img"
|
class="el-img"
|
||||||
:src="item.imageUrl"
|
:src="BASEURL + '/image/' + item.imageUrl"
|
||||||
:preview-src-list="[item.imageUrl]"
|
:preview-src-list="[BASEURL + '/image/' + item.imageUrl]"
|
||||||
>
|
>
|
||||||
</el-image>
|
</el-image>
|
||||||
|
</div>
|
||||||
|
<div class="list-img">
|
||||||
|
<el-image
|
||||||
|
fit="contain"
|
||||||
|
class="el-img"
|
||||||
|
:src="BASEURL + '/image/' + item.panoramaUrl"
|
||||||
|
:preview-src-list="[BASEURL + '/image/' + item.panoramaUrl]"
|
||||||
|
>
|
||||||
|
</el-image>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="list-img">
|
</template>
|
||||||
<el-image
|
|
||||||
fit="contain"
|
|
||||||
class="el-img"
|
|
||||||
:src="item.panoramaUrl"
|
|
||||||
:preview-src-list="[item.panoramaUrl]"
|
|
||||||
>
|
|
||||||
</el-image>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="notoDta" v-if="vehicleData.length == 0">
|
<div class="notoDta" v-if="vehicleData.length == 0">
|
||||||
<img src="@/assets/images/noData.png" alt="" />
|
<img src="@/assets/images/noData.png" alt="" />
|
||||||
<p>暂无数据</p>
|
<p>暂无数据</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</el-scrollbar>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -61,41 +62,71 @@ import { getEntryAndExitListApi } from "@/api/modules/vehicle";
|
|||||||
import { GlobalStore } from "@/stores";
|
import { GlobalStore } from "@/stores";
|
||||||
const store = GlobalStore();
|
const store = GlobalStore();
|
||||||
const BASEURL = import.meta.env.VITE_API_URL;
|
const BASEURL = import.meta.env.VITE_API_URL;
|
||||||
const carTypeList = ref([{
|
const pageNo = ref(1 as any);
|
||||||
value: '1',
|
const pageSize = ref(10 as any);
|
||||||
name: '白名单',
|
const moreScroll = ref(true as any);
|
||||||
},{
|
const refScrollbar = ref(null as any); // 绑定到滚动的盒子上
|
||||||
value: '2',
|
const carTypeList = ref([
|
||||||
name: '黑名单',
|
{
|
||||||
},{
|
value: "1",
|
||||||
value: '3',
|
name: "白名单"
|
||||||
name: '临时车',
|
},
|
||||||
}])
|
{
|
||||||
|
value: "2",
|
||||||
|
name: "黑名单"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: "3",
|
||||||
|
name: "临时车"
|
||||||
|
}
|
||||||
|
]);
|
||||||
const vehicleData = ref([] as any);
|
const vehicleData = ref([] as any);
|
||||||
// 选中
|
// 选中
|
||||||
const checked = ref(1);
|
const checked = ref(1);
|
||||||
const getDateData = (type: any) => {
|
const getDateData = (type: any) => {
|
||||||
checked.value = type;
|
checked.value = type;
|
||||||
getVehicleList();
|
pageNo.value = 1;
|
||||||
}
|
moreScroll.value = true;
|
||||||
const getVehicleList = async () => {
|
refScrollbar.value.wrapRef.scrollTop = 0; // 滚动条置顶
|
||||||
|
getVehicleList("search");
|
||||||
|
};
|
||||||
|
const getVehicleList = async (tip: any) => {
|
||||||
const res: any = await getEntryAndExitListApi({
|
const res: any = await getEntryAndExitListApi({
|
||||||
projectSn: store.sn,
|
projectSn: store.sn,
|
||||||
type: checked.value
|
timeType: checked.value,
|
||||||
|
pageNo: pageNo.value,
|
||||||
|
pageSize: pageSize.value
|
||||||
});
|
});
|
||||||
if (res.result) {
|
if (res.result) {
|
||||||
vehicleData.value = res.result.records
|
if (tip == "more") {
|
||||||
if(vehicleData.value && vehicleData.value.length > 0){
|
vehicleData.value = vehicleData.value.concat(res.result.records);
|
||||||
vehicleData.value.map((item:any) => {
|
} else {
|
||||||
item.imageUrl = BASEURL + '/' + item.imageUrl
|
vehicleData.value = res.result.records;
|
||||||
item.panoramaUrl = BASEURL + '/' + item.panoramaUrl
|
}
|
||||||
})
|
if (res.result.pages == pageNo.value) {
|
||||||
|
moreScroll.value = false;
|
||||||
|
} else {
|
||||||
|
pageNo.value = pageNo.value + 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
await getVehicleList();
|
// console.log("滚动容器", refScrollbar.value);
|
||||||
|
refScrollbar.value.wrapRef.addEventListener("scroll", (e: any) => {
|
||||||
|
const scrollTop = e.target.scrollTop;
|
||||||
|
const scrollHeight = e.target.scrollHeight;
|
||||||
|
const clientHeight = e.target.clientHeight;
|
||||||
|
// console.log("滚动容器", scrollTop, scrollHeight, clientHeight);
|
||||||
|
// 向上加载更多
|
||||||
|
if (scrollTop >= scrollHeight - clientHeight) {
|
||||||
|
// console.log("加载更多");
|
||||||
|
if (moreScroll.value) {
|
||||||
|
getVehicleList("more");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
await getVehicleList("search");
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@ -105,41 +136,41 @@ onMounted(async () => {
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
position: relative;
|
position: relative;
|
||||||
.select-right {
|
.select-right {
|
||||||
width: 20%;
|
width: 20%;
|
||||||
display: flex;
|
display: flex;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
left: 21%;
|
left: 21%;
|
||||||
top: 2.7%;
|
top: 2.7%;
|
||||||
.selected {
|
.selected {
|
||||||
height: 5%;
|
height: 5%;
|
||||||
background: url("@/assets/images/dustNoise/rightImg2.png") no-repeat;
|
background: url("@/assets/images/dustNoise/rightImg2.png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
|
||||||
.day {
|
|
||||||
padding: 0 6%;
|
|
||||||
margin-right: 5%;
|
|
||||||
z-index: 99;
|
|
||||||
}
|
|
||||||
.week {
|
|
||||||
padding: 0 6%;
|
|
||||||
margin-right: 5%;
|
|
||||||
z-index: 99;
|
|
||||||
}
|
|
||||||
.month {
|
|
||||||
padding: 0 6%;
|
|
||||||
z-index: 99;
|
|
||||||
}
|
|
||||||
.active {
|
|
||||||
background: url("@/assets/images/dustNoise/rightImg.png") no-repeat;
|
|
||||||
background-size: 100% 100%;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
.day {
|
||||||
|
padding: 0 6%;
|
||||||
|
margin-right: 5%;
|
||||||
|
z-index: 99;
|
||||||
|
}
|
||||||
|
.week {
|
||||||
|
padding: 0 6%;
|
||||||
|
margin-right: 5%;
|
||||||
|
z-index: 99;
|
||||||
|
}
|
||||||
|
.month {
|
||||||
|
padding: 0 6%;
|
||||||
|
z-index: 99;
|
||||||
|
}
|
||||||
|
.active {
|
||||||
|
background: url("@/assets/images/dustNoise/rightImg.png") no-repeat;
|
||||||
|
background-size: 100% 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
.title {
|
.title {
|
||||||
height: 10%;
|
height: 10%;
|
||||||
line-height: 35px;
|
line-height: 35px;
|
||||||
@ -178,24 +209,17 @@ onMounted(async () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.listBox {
|
.listBox {
|
||||||
height: 300px;
|
height: 80%;
|
||||||
overflow-y: scroll;
|
|
||||||
.listStyle {
|
.listStyle {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
height: 10%;
|
|
||||||
line-height: 25px;
|
line-height: 25px;
|
||||||
font-size: calc(100vw * 12 / 1920);
|
font-size: calc(100vw * 12 / 1920);
|
||||||
.list-img {
|
.list-img {
|
||||||
.el-img {
|
.el-img {
|
||||||
width: 35%;
|
width: 50px;
|
||||||
img {
|
height: 25px;
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
div {
|
div {
|
||||||
@ -210,19 +234,19 @@ onMounted(async () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.notoDta {
|
.notoDta {
|
||||||
top: 45%;
|
top: 45%;
|
||||||
width: 20%;
|
width: 20%;
|
||||||
left: 39%;
|
left: 39%;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
img {
|
img {
|
||||||
width: 40%;
|
width: 40%;
|
||||||
margin: 5% 30%;
|
margin: 5% 30%;
|
||||||
}
|
|
||||||
p {
|
|
||||||
color: #fff;
|
|
||||||
font-size: calc(100vw * 14 / 1920);
|
|
||||||
margin: -6% 37%;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
p {
|
||||||
|
color: #fff;
|
||||||
|
font-size: calc(100vw * 14 / 1920);
|
||||||
|
margin: -6% 37%;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@ -4,7 +4,15 @@
|
|||||||
<div class="videoListBig">
|
<div class="videoListBig">
|
||||||
<Card title="监控设备列表">
|
<Card title="监控设备列表">
|
||||||
<el-scrollbar style="height: 100%">
|
<el-scrollbar style="height: 100%">
|
||||||
<el-tree ref="treeRef" default-expand-all icon="ArrowRight" :data="shipinList" node-key="name" :props="defaultProps" @node-click="checkVideo">
|
<el-tree
|
||||||
|
ref="treeRef"
|
||||||
|
default-expand-all
|
||||||
|
icon="ArrowRight"
|
||||||
|
:data="shipinList"
|
||||||
|
node-key="name"
|
||||||
|
:props="defaultProps"
|
||||||
|
@node-click="checkVideo"
|
||||||
|
>
|
||||||
</el-tree>
|
</el-tree>
|
||||||
<!-- <div class="decivList">
|
<!-- <div class="decivList">
|
||||||
<div
|
<div
|
||||||
@ -40,14 +48,11 @@
|
|||||||
</div>
|
</div>
|
||||||
<!-- 播放海康 -->
|
<!-- 播放海康 -->
|
||||||
<div ref="playWndBox" style="width: 90%; height: 100%; margin: 0 5% 2% 5%">
|
<div ref="playWndBox" style="width: 90%; height: 100%; margin: 0 5% 2% 5%">
|
||||||
<div
|
<div id="playWnd" class="playWnd" style="width: 100%; height: 100%"></div>
|
||||||
id="playWnd"
|
<!-- :style="{
|
||||||
class="playWnd"
|
|
||||||
:style="{
|
|
||||||
height: playWndHeight + 'px',
|
height: playWndHeight + 'px',
|
||||||
width: playWndWidth + 'px'
|
width: playWndWidth + 'px'
|
||||||
}"
|
}" -->
|
||||||
></div>
|
|
||||||
</div>
|
</div>
|
||||||
</Card>
|
</Card>
|
||||||
</div>
|
</div>
|
||||||
@ -112,7 +117,7 @@ let objData = ref({
|
|||||||
//设备列表的点击操作
|
//设备列表的点击操作
|
||||||
const checkVideo = async (item: any) => {
|
const checkVideo = async (item: any) => {
|
||||||
// 避免点击父节点导致无法出现视频
|
// 避免点击父节点导致无法出现视频
|
||||||
if(item.serialNumber){
|
if (item.serialNumber) {
|
||||||
ysyParams.value = item;
|
ysyParams.value = item;
|
||||||
cameraIndexCode.value = item.serialNumber;
|
cameraIndexCode.value = item.serialNumber;
|
||||||
if (videoType.value !== 1) {
|
if (videoType.value !== 1) {
|
||||||
@ -171,7 +176,6 @@ onMounted(async () => {
|
|||||||
window.addEventListener("resize", e => {
|
window.addEventListener("resize", e => {
|
||||||
if (oWebControl.value == undefined) {
|
if (oWebControl.value == undefined) {
|
||||||
// console.log("wwwww", e);
|
// console.log("wwwww", e);
|
||||||
|
|
||||||
oWebControl.JS_Resize(tagDomObj?.clientWidth, tagDomObj?.clientHeight);
|
oWebControl.JS_Resize(tagDomObj?.clientWidth, tagDomObj?.clientHeight);
|
||||||
// oWebControl.JS_Resize(playWndHeight.value, playWndWidth.value);
|
// oWebControl.JS_Resize(playWndHeight.value, playWndWidth.value);
|
||||||
// setWndCover();
|
// setWndCover();
|
||||||
@ -184,14 +188,12 @@ onMounted(async () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
onBeforeUnmount(() => {
|
onBeforeUnmount(() => {
|
||||||
if (oWebControl.value === undefined) {
|
// 先让窗口隐藏,规避可能的插件窗口滞后于浏览器消失问题
|
||||||
// 先让窗口隐藏,规避可能的插件窗口滞后于浏览器消失问题
|
oWebControl.JS_HideWnd();
|
||||||
oWebControl.JS_HideWnd();
|
// 销毁当前播放的视频
|
||||||
// 销毁当前播放的视频
|
oWebControl.JS_RequestInterface({ funcName: "destroyWnd" });
|
||||||
oWebControl.JS_RequestInterface({ funcName: "destroyWnd" });
|
// 断开与插件服务连接
|
||||||
// 断开与插件服务连接
|
oWebControl.JS_Disconnect();
|
||||||
oWebControl.JS_Disconnect();
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const initPlugin = () => {
|
const initPlugin = () => {
|
||||||
@ -481,12 +483,12 @@ const previewVideo = (data: string | null) => {
|
|||||||
.el-tree {
|
.el-tree {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
.el-tree>.el-tree-node:focus > .el-tree-node__content {
|
.el-tree > .el-tree-node:focus > .el-tree-node__content {
|
||||||
// background-color: #141E2B;
|
// background-color: #141E2B;
|
||||||
background: url("@/assets/images/dustNoise/listImg.png") no-repeat;
|
background: url("@/assets/images/dustNoise/listImg.png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
.el-tree>.el-tree-node>.el-tree-node__content {
|
.el-tree > .el-tree-node > .el-tree-node__content {
|
||||||
// background-color: #141E2B;
|
// background-color: #141E2B;
|
||||||
background: url("@/assets/images/dustNoise/listImg.png") no-repeat;
|
background: url("@/assets/images/dustNoise/listImg.png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
@ -499,20 +501,20 @@ const previewVideo = (data: string | null) => {
|
|||||||
.el-tree-node__children .el-tree-node {
|
.el-tree-node__children .el-tree-node {
|
||||||
margin-top: 3%;
|
margin-top: 3%;
|
||||||
}
|
}
|
||||||
.el-tree>.el-tree-node>.el-tree-node__content:hover {
|
.el-tree > .el-tree-node > .el-tree-node__content:hover {
|
||||||
// background-color: #141E2B;
|
// background-color: #141E2B;
|
||||||
background: url("@/assets/images/dustNoise/listImg.png") no-repeat;
|
background: url("@/assets/images/dustNoise/listImg.png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
.el-tree-node__label{
|
.el-tree-node__label {
|
||||||
color: white;
|
color: white;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
margin-bottom: 1px;
|
margin-bottom: 1px;
|
||||||
}
|
}
|
||||||
.el-tree>.el-tree-node>.el-tree-node__content>.el-tree-node__label {
|
.el-tree > .el-tree-node > .el-tree-node__content > .el-tree-node__label {
|
||||||
margin-left: 8%;
|
margin-left: 8%;
|
||||||
}
|
}
|
||||||
.el-tree>.el-tree-node>.el-tree-node__content>.el-tree-node__expand-icon {
|
.el-tree > .el-tree-node > .el-tree-node__content > .el-tree-node__expand-icon {
|
||||||
color: white;
|
color: white;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user