648540858
2022-04-28 f6fa1eed6cc1b11543487f74f60e68c062daab4e
web_src/src/components/common/DeviceTree.vue
@@ -1,10 +1,10 @@
<template>
  <div id="DeviceTree" style="width: 100%;height: 100%; background-color: #FFFFFF">
  <div id="DeviceTree" style="width: 100%;height: 100%; background-color: #FFFFFF; overflow: auto">
    <el-container>
      <el-header>设备列表</el-header>
      <el-main style="background-color: #ffffff;">
        <div class="device-tree-main-box">
          <el-tree :props="defaultProps" :load="loadNode" lazy @node-click="handleNodeClick"@node-contextmenu="handleContextMenu">
          <el-tree :props="defaultProps" :load="loadNode" lazy @node-click="handleNodeClick"@node-contextmenu="handleContextMenu" style="min-width: 100%; display:inline-block !important;">
            <span class="custom-tree-node" slot-scope="{ node, data }" style="width: 100%">
              <span v-if="node.data.type === 0 && node.data.online" title="在线设备" class="device-online iconfont icon-jiedianleizhukongzhongxin2"></span>
              <span v-if="node.data.type === 0 && !node.data.online " title="离线设备" class="device-offline iconfont icon-jiedianleizhukongzhongxin2"></span>
@@ -49,16 +49,17 @@
    },
    props: ['clickEvent', 'contextMenuEvent'],
    methods: {
      handleNodeClick(data) {
      handleNodeClick(data,node,element) {
        console.log("点击事件")
        console.log(data)
        if(typeof (this.clickEvent) == "function") {
          this.clickEvent(data.userData)
        }
      },
      handleContextMenu(data) {
      handleContextMenu(event,data,node,element) {
        console.log("右键点击事件")
        if(typeof (this.contextMenuEvent) == "function") {
          this.contextMenuEvent(data.userData)
          this.contextMenuEvent(event, data.userData)
        }
      },
      loadNode: function(node, resolve){
@@ -88,8 +89,8 @@
          })
        }
        if (node.level === 1) {
          this.deviceService.getAllChannel(true, node.data.id, (catalogData) => {
            this.deviceService.getAllChannel(false, node.data.id, (channelData) => {
          this.deviceService.getAllChannel(true, true, node.data.id, (catalogData) => {
            this.deviceService.getAllChannel(false, true, node.data.id, (channelData) => {
              let data = catalogData.concat(channelData)
              this.channelDataHandler(data, resolve)
            })
@@ -108,7 +109,7 @@
          let nodeList = []
          for (let i = 0; i < data.length; i++) {
            let type = 3;
            if (data[i].subCount > 0) {
            if (data[i].subCount > 0 || data[i].parental === 1) {
              type = 2;
            }else if (data[i].ptztype === 1 ) { // 1-球机;2-半球;3-固定枪机;4-遥控枪机
              type = 4;