|
@@ -65,18 +65,42 @@
|
|
<el-row :gutter="20">
|
|
<el-row :gutter="20">
|
|
<!-- postList -->
|
|
<!-- postList -->
|
|
<el-col :span='5'>
|
|
<el-col :span='5'>
|
|
|
|
+
|
|
<div style="background-color: #fff;border-radius: 10px;padding: 20px 20px;height: 100vh;">
|
|
<div style="background-color: #fff;border-radius: 10px;padding: 20px 20px;height: 100vh;">
|
|
- <p style="margin: 0;border-left: 6px solid #03BF8A;margin-left: -20px;padding-left: 10px;font-weight: 800;">通道列表</p>
|
|
|
|
- <div :class="ishge == index ? 'anche' : ''" style=" height: 36px;;line-height: 36px;margin-top: 10px;padding: 0 10px ;"v-for="(item,index) in channelNumberList" :key="index">
|
|
|
|
|
|
+ <p style="margin: 0;border-left: 6px solid #03BF8A;margin-left: -20px;padding-left: 10px;font-weight: 800;">设备列表</p>
|
|
|
|
+ <div class=" infinite-list" style="overflow:auto;height: 93vh" >
|
|
|
|
+ <div class="head-container">
|
|
|
|
+ <el-input
|
|
|
|
+ v-model="equipmentName"
|
|
|
|
+ placeholder="请输入设备名称"
|
|
|
|
+ clearable
|
|
|
|
+ size="small"
|
|
|
|
+ @blur="nsdfse"
|
|
|
|
+ prefix-icon="el-icon-search"
|
|
|
|
+ style="margin-bottom: 20px"
|
|
|
|
+ />
|
|
|
|
+ </div>
|
|
|
|
+ <div class="head-container">
|
|
|
|
+ <el-tree
|
|
|
|
+ :data="deptOptions"
|
|
|
|
+ :props="defaultProps"
|
|
|
|
+ :expand-on-click-node="false"
|
|
|
|
+ :filter-node-method="filterNode"
|
|
|
|
+ ref="tree"
|
|
|
|
+ default-expand-all
|
|
|
|
+ highlight-current
|
|
|
|
+ @node-click="ishg"
|
|
|
|
+ />
|
|
|
|
+ </div>
|
|
|
|
+ </div>
|
|
|
|
+ <!-- <div :class="ishge == index ? 'anche' : ''" style=" height: 36px;;line-height: 36px;margin-top: 10px;padding: 0 10px ;"v-for="(item,index) in channelNumberList" :key="index">
|
|
<div @click="ishg(item,index)" style="display: flex;align-items: center;justify-content: space-between;">
|
|
<div @click="ishg(item,index)" style="display: flex;align-items: center;justify-content: space-between;">
|
|
<div style="font-size: 16px;
|
|
<div style="font-size: 16px;
|
|
color: #333333;"> {{item.channelNum == null?'暂无数据' : item.channelNum}}</div>
|
|
color: #333333;"> {{item.channelNum == null?'暂无数据' : item.channelNum}}</div>
|
|
<img src="../../../assets/images/icon_htgl_zd.png" alt="" style="width: 10px;height: 12px;">
|
|
<img src="../../../assets/images/icon_htgl_zd.png" alt="" style="width: 10px;height: 12px;">
|
|
</div>
|
|
</div>
|
|
- </div>
|
|
|
|
- <div>
|
|
|
|
|
|
+ </div> -->
|
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -118,18 +142,6 @@
|
|
</video> -->
|
|
</video> -->
|
|
</el-col>
|
|
</el-col>
|
|
|
|
|
|
-
|
|
|
|
- <!-- <el-col :span="24">
|
|
|
|
- <div class="ihgswq wrapper" ref="wrapper" style=" overflow: hidden;">
|
|
|
|
- <div class="fijge content nhgwesvq" ref="content" style="width:1610px;">
|
|
|
|
- <div class='shotw ' v-for="(item,index) in postList" :key="index" @click="isfgw(item)" >
|
|
|
|
- <img src="../../../assets/images/fengm.png" alt="">
|
|
|
|
- <img src="../../../assets/images/icon_spjk_play.png" alt="" class="iges">
|
|
|
|
- <p style="font-size: 14px;">{{item.name}}</p>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </div>
|
|
|
|
- </el-col> -->
|
|
|
|
</el-row>
|
|
</el-row>
|
|
|
|
|
|
|
|
|
|
@@ -165,6 +177,7 @@
|
|
<script>
|
|
<script>
|
|
import { listChannelNumber, listChannelNumbernopa,getChannelNumber, delChannelNumber, addChannelNumber, updateChannelNumber } from "@/api/system/channelNumber"
|
|
import { listChannelNumber, listChannelNumbernopa,getChannelNumber, delChannelNumber, addChannelNumber, updateChannelNumber } from "@/api/system/channelNumber"
|
|
import { listWarnManage, getWarnManage, delWarnManage, addWarnManage, updateWarnManage } from "@/api/manage/warnManage"
|
|
import { listWarnManage, getWarnManage, delWarnManage, addWarnManage, updateWarnManage } from "@/api/manage/warnManage"
|
|
|
|
+ import { listEquipmentManageNoPage, } from "@/api/manage/equipmentManage"
|
|
// import { listPost, getPost, delPost, addPost, updatePost,updateFs,updateGx } from "@/api/kaoch/renyuan";
|
|
// import { listPost, getPost, delPost, addPost, updatePost,updateFs,updateGx } from "@/api/kaoch/renyuan";
|
|
// import { listReservat,camera,cameraIndexCode, listReservatd, getReservat, delReservat, addReservat, updateReservat,setPass,delReservathx,openDz,closeDz } from "@/api/tonggi/houtai";
|
|
// import { listReservat,camera,cameraIndexCode, listReservatd, getReservat, delReservat, addReservat, updateReservat,setPass,delReservathx,openDz,closeDz } from "@/api/tonggi/houtai";
|
|
// import vueQr from "vue-qr";
|
|
// import vueQr from "vue-qr";
|
|
@@ -198,6 +211,13 @@ export default {
|
|
opens:false,
|
|
opens:false,
|
|
// 通道管理表格数据
|
|
// 通道管理表格数据
|
|
channelNumberList: [],
|
|
channelNumberList: [],
|
|
|
|
+ // 部门树选项
|
|
|
|
+ deptOptions: undefined,
|
|
|
|
+ defaultProps: {
|
|
|
|
+ children: "children",
|
|
|
|
+ label: "equipmentName",
|
|
|
|
+ value:'equipmentId'
|
|
|
|
+ },
|
|
imageUrl:'@/assets/logo/logo.png',
|
|
imageUrl:'@/assets/logo/logo.png',
|
|
printObj: {
|
|
printObj: {
|
|
id: "nhgrew", // 这里是要打印元素的ID
|
|
id: "nhgrew", // 这里是要打印元素的ID
|
|
@@ -304,14 +324,16 @@ export default {
|
|
url: 'ws://13.229.167.76:1884/mqtt',
|
|
url: 'ws://13.229.167.76:1884/mqtt',
|
|
topic: 'detection/rect'
|
|
topic: 'detection/rect'
|
|
},
|
|
},
|
|
- ishge:0
|
|
|
|
|
|
+ ishge:0,
|
|
|
|
+ equipmentName:null
|
|
|
|
|
|
};
|
|
};
|
|
},
|
|
},
|
|
created() {
|
|
created() {
|
|
this.isfse = false
|
|
this.isfse = false
|
|
// this.getList();
|
|
// this.getList();
|
|
- this.getListtd()
|
|
|
|
|
|
+ // this.getListtd()
|
|
|
|
+ this.getTreeselect()
|
|
window.onresize = () => {
|
|
window.onresize = () => {
|
|
this.changeTableMaxHeight()
|
|
this.changeTableMaxHeight()
|
|
}
|
|
}
|
|
@@ -344,6 +366,48 @@ export default {
|
|
}
|
|
}
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ // 筛选节点
|
|
|
|
+ filterNode(value, data) {
|
|
|
|
+ if (!value) return true;
|
|
|
|
+ return data.label.indexOf(value) !== -1;
|
|
|
|
+ },
|
|
|
|
+ nsdfse(){
|
|
|
|
+ this.getTreeselect()
|
|
|
|
+ },
|
|
|
|
+ /** 查询部门下拉树结构 */
|
|
|
|
+ getTreeselect() {
|
|
|
|
+ // this.queryParams
|
|
|
|
+ let sngse={'equipmentName':this.equipmentName}
|
|
|
|
+ console.log(sngse)
|
|
|
|
+ listEquipmentManageNoPage(sngse).then(response => {
|
|
|
|
+ this.deptOptions = response.rows
|
|
|
|
+ this.deptOptions.filter(rou=>{
|
|
|
|
+ if(rou.children.length !=0){
|
|
|
|
+ for(var i=0;i < rou.children.length; i++){
|
|
|
|
+ rou.children[i].equipmentName = rou.children[i].channelNum
|
|
|
|
+ rou.children[i].equipmentId = rou.children[i].channelId
|
|
|
|
+ }
|
|
|
|
+ getChannelNumber(rou.children[0].channelId).then(response => {
|
|
|
|
+ let sgse = {
|
|
|
|
+ 'ip': response.data.equipmentIp,
|
|
|
|
+ 'account': response.data.account,
|
|
|
|
+ 'password': response.data.password,
|
|
|
|
+ 'port': response.data.port
|
|
|
|
+ }
|
|
|
|
+ WebVideoCtrl.I_Logout(this.szDeviceIdentify)
|
|
|
|
+ // WebVideoCtrl.I_StopAllPlay()
|
|
|
|
+ // WebVideoCtrl.I_DestroyPlugin()
|
|
|
|
+ // WebVideoCtrl.I_Resize()
|
|
|
|
+ this.getVideo(sgse)
|
|
|
|
+ // this.clickAddSnapPolygon()
|
|
|
|
+ var that = this
|
|
|
|
+ WebVideoCtrl.I_ShowPlugin()
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ this.loading = false
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ },
|
|
/** 查询通道管理列表 */
|
|
/** 查询通道管理列表 */
|
|
getListtd() {
|
|
getListtd() {
|
|
this.loading = true
|
|
this.loading = true
|
|
@@ -407,7 +471,6 @@ export default {
|
|
var that=this;
|
|
var that=this;
|
|
const parser = new DOMParser();
|
|
const parser = new DOMParser();
|
|
const xmlDoc = parser.parseFromString(xmlString, "text/xml");
|
|
const xmlDoc = parser.parseFromString(xmlString, "text/xml");
|
|
-
|
|
|
|
// 获取所有 SnapPolygon 节点
|
|
// 获取所有 SnapPolygon 节点
|
|
const polygonNodes = xmlDoc.querySelectorAll("SnapPolygon");
|
|
const polygonNodes = xmlDoc.querySelectorAll("SnapPolygon");
|
|
var newArr=[];
|
|
var newArr=[];
|
|
@@ -416,7 +479,6 @@ export default {
|
|
this.polygons = Array.from(polygonNodes).map((polygonNode) => {
|
|
this.polygons = Array.from(polygonNodes).map((polygonNode) => {
|
|
const id = polygonNode.querySelector("id").textContent;
|
|
const id = polygonNode.querySelector("id").textContent;
|
|
const pointNodes = polygonNode.querySelectorAll("point");
|
|
const pointNodes = polygonNode.querySelectorAll("point");
|
|
-
|
|
|
|
const points = Array.from(pointNodes).map((pointNode) => ({
|
|
const points = Array.from(pointNodes).map((pointNode) => ({
|
|
x: pointNode.querySelector("x").textContent,
|
|
x: pointNode.querySelector("x").textContent,
|
|
y: pointNode.querySelector("y").textContent,
|
|
y: pointNode.querySelector("y").textContent,
|
|
@@ -599,6 +661,7 @@ export default {
|
|
ishg(val,row){
|
|
ishg(val,row){
|
|
this.ishge = row
|
|
this.ishge = row
|
|
this.isfse = false
|
|
this.isfse = false
|
|
|
|
+ console.log(val,row)
|
|
if(WebVideoCtrl){
|
|
if(WebVideoCtrl){
|
|
console.log(this.szDeviceIdentify)
|
|
console.log(this.szDeviceIdentify)
|
|
this.clickDelAllSnapPolygon()
|
|
this.clickDelAllSnapPolygon()
|
|
@@ -607,19 +670,35 @@ export default {
|
|
WebVideoCtrl.I_DestroyPlugin()
|
|
WebVideoCtrl.I_DestroyPlugin()
|
|
WebVideoCtrl.I_Resize()
|
|
WebVideoCtrl.I_Resize()
|
|
}
|
|
}
|
|
- let snghs = val.videoAddress.split('@')
|
|
|
|
- let snghst = snghs[1].split(':')
|
|
|
|
- let snsgduan = snghst[1].split('/')
|
|
|
|
- console.log(snghs,snghst,snsgduan)
|
|
|
|
- let sgse={'ip':snghst[0],'duank':snsgduan[0],
|
|
|
|
- 'account':val.account,
|
|
|
|
- 'password':val.password,
|
|
|
|
- 'port':val.port
|
|
|
|
- }
|
|
|
|
|
|
+ if(val.videoAddress == undefined){
|
|
|
|
+ let snghs = val.equipmentAddress.split('@')
|
|
|
|
+ let snghst = snghs[1].split(':')
|
|
|
|
+ let snsgduan = snghst[1].split('/')
|
|
|
|
+ console.log(snghs,snghst,snsgduan)
|
|
|
|
+ let sgse={'ip':snghst[0],'duank':snsgduan[0],
|
|
|
|
+ 'account':val.account,
|
|
|
|
+ 'password':val.password,
|
|
|
|
+ 'port':val.port
|
|
|
|
+ }
|
|
|
|
+ this.getVideo(sgse)
|
|
|
|
+ WebVideoCtrl.I_ShowPlugin()
|
|
|
|
+ }else{
|
|
|
|
+ let snghs = val.videoAddress.split('@')
|
|
|
|
+ let snghst = snghs[1].split(':')
|
|
|
|
+ let snsgduan = snghst[1].split('/')
|
|
|
|
+ console.log(snghs,snghst,snsgduan)
|
|
|
|
+ let sgse={'ip':snghst[0],'duank':snsgduan[0],
|
|
|
|
+ 'account':val.account,
|
|
|
|
+ 'password':val.password,
|
|
|
|
+ 'port':val.port
|
|
|
|
+ }
|
|
this.getVideo(sgse)
|
|
this.getVideo(sgse)
|
|
WebVideoCtrl.I_ShowPlugin()
|
|
WebVideoCtrl.I_ShowPlugin()
|
|
- // this.clickStartRealPlay('192.168.101.64', '80',1, 0, 1);
|
|
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
|
|
|
|
+
|
|
|
|
+ // this.clickStartRealPlay('192.168.101.64', '80',1, 0, 1);
|
|
},
|
|
},
|
|
|
|
|
|
|
|
|