wangmengwei 1 өдөр өмнө
parent
commit
57136731dc

+ 110 - 31
ruoyi-ui/src/views/shipinggaoj/shebecanshu/index.vue

@@ -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);
     },
     },