<template>
  <div id="main" class="h-all">
    <el-container class="h-all">
      <el-header height="auto">
        <!-- 网元管理页面 -->
        <!-- 通用工具栏 -->
        <div class="header-button-box">
          <!-- <el-button
            class="btnstyle"
          size="mini"
            type="primary"
            v-if="createAndCopyCommand.visible"
            @click="createDeviceInit"
          >
            {{ $t("common.createBtn")}}
          </el-button> -->
          <el-button
           class="btnstyle" 
          size="mini"
            type="primary"
            @click="exportToExcelInit"
          >
            {{ $t("common.exportBtn") +'列表'}}
          </el-button>
        </div>
        <div class="header-button-box">
          <!-- <el-button
            size="mini"
            icon="el-icon-upload2"
            type="success"
            @click="importToExcelInit"
            v-if="importCommand.visible"
          >
            {{ $t("common.importBtn") + "待删除" }}
          </el-button> -->

         
          <!--          <el-button size='mini'  icon="el-icon-upload2" type="primary" @click="uploadConfigInit">-->
          <!--            {{$t("DeviceConfigurationManagement.profileUpload")}}-->
          <!--          </el-button>-->
          <!--          <el-button size='mini' icon="el-icon-refresh" type="primary"-->
          <!--                     v-if="downloadConfigToDeviceCommand.visible"-->
          <!--                     @click="updateConfigInit">-->
          <!--            {{$t("DeviceConfigurationManagement.profileUpdate")}}-->
          <!--          </el-button>-->
          <!--          <el-button size='mini' icon="el-icon-document" type="primary"-->
          <!--                     v-if="historyConfigToDeviceCommand.visible"-->
          <!--                     @click="restoryConfigInit">-->
          <!--            {{$t("DeviceConfigurationManagement.profileHistory")}}-->
          <!--          </el-button>-->
        </div>

        <div class="header-search">
          <div class="search-input-box">
            <label>{{ $t("DeviceConfigurationManagement.nodeName") }}:</label>
            <el-input
              size="small"
              :placeholder="$t('common.placeholder')"
              v-model="querySelectNetworkName"
              clearable
            ></el-input>
          </div>
          <div class="search-input-box">
            <label>{{ $t("DeviceConfigurationManagement.ipAddress2") }}:</label>
            <el-input
              size="small"
              :placeholder="$t('common.placeholder')"
              v-model="querySelectNetworkAddress"
              clearable
            >
            </el-input>
          </div>
          <!-- <div class="search-input-box">
            <label
              >{{ $t("DeviceConfigurationManagement.bussIpAddress") }}:</label
            >
            <el-input
              size="small"
              :placeholder="$t('common.placeholder')"
              v-model="bussIpAddress"
              clearable
            >
            </el-input>
          </div> -->
          <div class="search-input-box">
            <label>{{ $t("DeviceConfigurationManagement.nodeType") }}:</label>
            <el-select
              clearable
              size="small"
              v-model="querySelectNetworkType"
              @change="deviceTypeChange"
              @clear="deviceModelChange"
              :placeholder="$t('common.placeholderSelect')"
              autocomplete="off"
            >
              <el-option
                v-for="item in deviceTypeList"
                :key="item.deviceTypeKey"
                :label="item.deviceTypeName"
                :value="item.deviceTypeKey"
              ></el-option>
            </el-select>
          </div>
          <div class="search-input-box">
            <label>{{ $t("DeviceConfigurationManagement.nodeModel") }}:</label>
            <el-select
              clearable
              size="small"
              v-model="querySelectModel"
              :placeholder="$t('common.placeholderSelect')"
              autocomplete="off"
            >
              <el-option
                v-for="item in deviceModelList1"
                :key="item.deviceModelKey"
                :label="item.deviceModel"
                :value="item.deviceModel"
              >
              </el-option>
            </el-select>
            <!--<el-input size='small':placeholder="$t('common.placeholder')" v-model="querySelectlocationKey" clearable></el-input>-->
          </div>
          <div class="search-input-box">
            <!-- <label
              >{{ $t("DeviceConfigurationManagement.stationSite") }}:</label
            > -->
              <label
              >{{ $t("DeviceConfigurationManagement.controlNode") }}:</label
            >
            <el-input
              size="small"
              :placeholder="$t('common.placeholder')"
              v-model="querySelectStationSite"
              clearable
            ></el-input>
          </div>
          <div class="search-input-box">
            <label>{{ $t("DeviceConfigurationManagement.subnetKey") }}:</label>
            <el-select
              clearable="true"
              size="small"
              v-model="querySelectSubnet"
              :placeholder="$t('common.placeholderSelect')"
              autocomplete="off"
            >
              <el-option
                v-for="item in subnetList"
                :key="item.subnetKey"
                :label="item.subnetName"
                :value="item.subnetKey"
              >
              </el-option>
            </el-select>
          </div>
          <div class="search-input-box">
            <label
              >{{ $t("DeviceConfigurationManagement.nodeStatus") }}:</label
            >
            <el-select
              clearable
              size="small"
              v-model="querySelectNetworkStatus"
              :placeholder="$t('common.placeholderSelect')"
              autocomplete="off"
            >
              <el-option
                v-for="item in deviceStatusList"
                :key="item.key"
                :label="item.label"
                :value="item.key"
              >
              </el-option>
            </el-select>
          </div>
          
        
        </div>
         <div class="header-button-box">
  <!-- 查询 -->
        
            <el-button
            class="btnstyle"
              size="mini"
              
              type="primary"
              @click="queryDeviceDataByCondition"
            >
              {{ $t("common.queryBtn") }}
            </el-button>
          
          <!-- 重置 -->
           
            <el-button
             class="btnstyle"
              size="mini"
              type="primary"
              @click="reset()"
            >
              {{ $t("common.reset") }}
            </el-button>
          <br>
          <!-- 删除 -->
          <!-- <el-button
           class="btnstyle"
            size="mini"
          
            :disabled="multipleSelection.length ? false : true"
            :type="multipleSelection.length ? 'primary' : 'info'"
            v-if="deleteCommand.visible"
            @click="deleteDeviceInit"
            >{{ $t("common.deleteBtn") }}
          </el-button> -->
 </div>
      </el-header>

      <el-main class="adapt-height-box">
        <el-table
          :empty-text="$t('common.noData')"
          border
          header-row-class-name="table-header"
          cell-class-name="table-cell"
          class="adapt-height"
          height="auto"
            :header-cell-style="{ textAlign: 'center' }"
          :cell-style="{ textAlign: 'center' }"
          ref="singleTable"
          :data="deviceList"
          highlight-current-row
          stripe
          tooltip-effect="dark"
        
          @row-contextmenu="handleContextmenu"
          @selection-change="handleSelectionChange"
        >
          <!-- <el-table-column type="selection" width="28"> </el-table-column> -->
          <!--:selectable='checkboxForMain'-->
          <!-- 网元名称 -->
          <el-table-column
            show-overflow-tooltip="true"
            prop="displayName"
            :label="$t('DeviceConfigurationManagement.nodeName')"
          >
          </el-table-column>
          <!-- 网元类型 -->
          <el-table-column
            prop="deviceTypeName"
            :label="$t('DeviceConfigurationManagement.nodeType')"
          >
          </el-table-column>
          <!-- 网元型号 -->
          <el-table-column
            prop="deviceModel"
            :label="$t('DeviceConfigurationManagement.nodeModel')"
            width="130"
          >
          </el-table-column>
          <!-- 管控方式 -->
          <el-table-column
            prop="controlMode"
            width="80px"
            :label="$t('DeviceConfigurationManagement.controlMode')"
          >
          </el-table-column>
          <!-- 所属管控节点 -->
          <el-table-column
            prop="station"
            width="100"
            :label="$t('DeviceConfigurationManagement.controlNode')"
          >
          </el-table-column>
          <!-- 序列号 -->
          <el-table-column
            prop="uuid"
            width="100px"
            :label="$t('DeviceConfigurationManagement.uuid')"
            show-overflow-tooltip="true"
            style="font-size: 10px"
          >
          </el-table-column>
          <!-- MAC -->
          <el-table-column
            prop="mac"
            width="100px"
            :label="$t('DeviceConfigurationManagement.mac')"
            style="font-size: 10px"
          >
         
          </el-table-column>
          <!-- 网元地址 -->
          <!-- <el-table-column
            prop="ipAddress"
            width="115px"
            :label="$t('DeviceConfigurationManagement.ipAddress')"
          >
         
          </el-table-column> -->
          <!-- ip地址 上为网元地址,下为业务ip地址-->
          <el-table-column
         
            prop="ipAddress,bussIpAddress"
            width="115px"
            :label="$t('DeviceConfigurationManagement.ipAddress2')"
          >
           <template slot-scope="scope">
            {{scope.row.ipAddress}}<br>{{scope.row.bussIpAddress}}
          </template>
          </el-table-column>

          <!-- 所属子网 -->
          <!-- <el-table-column
            prop="subnetName"
            width="100"
            :label="$t('DeviceConfigurationManagement.subnetKey')"
            show-overflow-tooltip="true"
          > -->
            <!--            :formatter="formatSubnetKey">-->
          <!-- </el-table-column> -->
          <!-- 网元状态 -->
          <el-table-column
            prop="deviceStatus"
            :label="$t('DeviceConfigurationManagement.nodeStatus')"
            width="100"
            :formatter="formatdeviceStatus"
          >
          </el-table-column>
          <!-- 网元版本 -->
          <el-table-column
            prop="deviceVersion"
            width="100"
            :label="$t('DeviceConfigurationManagement.nodeVersion')"
          >
          </el-table-column>
          <!-- 开站时间 -->
          <el-table-column
            width="200"
            prop="startTime"
            :formatter="formatTime"
            :label="$t('DeviceConfigurationManagement.startTime')"
            show-overflow-tooltip="true"
          >
          </el-table-column>
          <!-- 描述信息 -->
          <el-table-column
            width="200"
            prop="deviceDesc"
            :label="$t('DeviceConfigurationManagement.nodeDesc')"
            show-overflow-tooltip="true"
          >
          </el-table-column>
           <!-- 操作 -->
          <el-table-column
            width="200"
            
            :label="$t('DeviceConfigurationManagement.caozuo')"
            show-overflow-tooltip="true"
          >
          <el-button type="text" @click="lookinfo()">查看详情</el-button>
          <!-- <el-button type="text"  @click="deleteDeviceInit">shanchu</el-button> -->

          </el-table-column>
          <!--          <el-table-column-->
          <!--            fixed="right"-->
          <!--            width="360px"-->
          <!--            :label="$t('common.operation')">-->
          <!--            <template slot-scope="scope">-->
          <!--              <el-button-->
          <!--                size="mini"-->
          <!--                style="background: #53D214"-->
          <!--                :title="$t('common.view')"-->
          <!--                @click="viewDetail(scope.row)">-->
          <!--                <svg class="icon" aria-hidden="true">-->
          <!--                  <use xlink:href="#icon-chakan"></use>-->
          <!--                </svg>-->
          <!--              </el-button>-->
          <!--              <el-button-->
          <!--                size="mini"-->
          <!--                style="background: #175BE3"-->
          <!--                :title="$t('common.copyBtn')"-->
          <!--                @click="copyDeviceInit(scope.row)">-->
          <!--                <svg class="icon" aria-hidden="true">-->
          <!--                  <use xlink:href="#icon-fuzhi"></use>-->
          <!--                </svg>-->
          <!--              </el-button>-->
          <!--              <el-button-->
          <!--                size="mini"-->
          <!--                style="background: #008000"-->
          <!--                :title="$t('common.updateBtn')"-->
          <!--                @click="updateDeviceInit(scope.row)">-->
          <!--                <svg class="icon" aria-hidden="true">-->
          <!--                  <use xlink:href="#icon-bianji"></use>-->
          <!--                </svg>-->
          <!--              </el-button>-->
          <!--              <el-button-->
          <!--                size="mini"-->
          <!--                style="background: #0366CB"-->
          <!--                :title="$t('DeviceConfigurationManagement.profileCopyAgain')"-->
          <!--                @click="handleProfileAgain(scope.row)">-->
          <!--                <svg class="icon" aria-hidden="true">-->
          <!--                  <use xlink:href="#icon-beifen"></use>-->
          <!--                </svg>-->
          <!--              </el-button>-->
          <!--              <el-button-->
          <!--                size="mini"-->
          <!--                style="background: #167180"-->
          <!--                :title="$t('DeviceConfigurationManagement.profileUpdateTitle')"-->
          <!--                @click="handleUpdateProfile(scope.row)">-->
          <!--                <svg class="icon" aria-hidden="true">-->
          <!--                  <use xlink:href="#icon-shuaxin">-->
          <!--                    <svg class="icon" aria-hidden="true">-->
          <!--                      <use xlink:href="#icon-gengxin"></use>-->
          <!--                    </svg>-->
          <!--                  </use>-->
          <!--                </svg>-->
          <!--              </el-button>-->
          <!--              <el-button-->
          <!--                size="mini"-->
          <!--                style="background: #006FFF"-->
          <!--                :title="$t('DeviceConfigurationManagement.downloadLog')"-->
          <!--                @click="downloadLog(scope.row)">-->
          <!--                <svg class="icon" aria-hidden="true">-->
          <!--                  <use xlink:href="#icon-xiazai"></use>-->
          <!--                </svg>-->
          <!--              </el-button>-->
          <!--              <el-button-->
          <!--                size="mini"-->
          <!--                style="background: #4B74E3"-->
          <!--                :title="$t('common.restart')"-->
          <!--                @click="handleCopy(scope.row)">-->
          <!--                <svg class="icon" aria-hidden="true">-->
          <!--                  <use xlink:href="#icon-chongqi"></use>-->
          <!--                </svg>-->
          <!--              </el-button>-->
          <!--            </template>-->
          <!--          </el-table-column>-->
        </el-table>
        <el-pagination
          background
          @current-change="handleCurrentChange"
          :current-page.sync="currentPage"
          :page-size="pageSize"
          layout="total, prev, pager, next, jumper"
          :total="total"
        >
        </el-pagination>
      </el-main>
    </el-container>
    <v-contextmenu ref="deviceContextmenu" id="rightMenu">
      <v-contextmenu-item
        v-for="command in contextCommands"
        :key="command.key"
        @click="command.execute"
        :disabled="command.disabled"
        >{{ command.name }}</v-contextmenu-item>
    </v-contextmenu>
    <CommandExecuteContext
      v-bind:commands="commandContext"
    ></CommandExecuteContext> 
    <v-vwyxq :obj="obj"></v-vwyxq>
  </div>
</template>

<script>
import DeviceService from "@/domain/services/DeviceService.js";
import SubnetService from "@/domain/services/SubnetService.js";
import ConfigFileService from "@/domain/services/ConfigFileService.js";
import CommandExecuteContext from "@/commands/CommandExecuteContext";
import DeviceCommands from "@/commands/DeviceCommands";
import ConfigFileCommands from "@/commands/ConfigFileCommands";
import HelperUtil from "../../utils/HelperUtil";
import vwyxq from "./components/wyxq.vue";
import {EventBus} from "../../domain/EventBus"
export default {
  components: {
    CommandExecuteContext,
   vwyxq
  },
  name: "DeviceManagement",
  props: ["deviceCollection", "alarmCollection"],
  data: function () {
  
    // 存放 数据
    return { 
    //假数据 
    obj:{
      isTrue:false
    },
    deviceList123:[
      {displayName:"172.2.11.10",
        deviceTypeName:"交换机",
        deviceModel:"s5720",
        controlMode:'2',
        station:"八楼",
        uuid:"16485181518615165fs41685481",
        mac:"123.456",
        ipAddress:"123.123.12",
        bussIpAddress:"168.168.12",
        deviceStatus:"再用",
        deviceVersion:"1.0.1",
        startTime:"20210406.141726",
        deviceDesc:"描述信息styleffvnjsfglhflsdhjsdbvfhslvlfsdbghgreilfvdvsnvnzx,cvajlkjdsnvksnvszcv hajkfdsvbhj bxvkas",
      },
       {displayName:"172.2.11.10",
        deviceTypeName:"交换机",
        deviceModel:"s5720",
        controlMode:'2',
        station:"八楼",
        uuid:"16485181518615165fs41685481",
        mac:"123.456",
        ipAddress:"123.123.12",
        bussIpAddress:"168.168.12",
        deviceStatus:"再用",
        deviceVersion:"1.0.1",
        startTime:"20210406.141726",
        deviceDesc:"描述信息",
      },
       {displayName:"172.2.11.10",
        deviceTypeName:"交换机",
        deviceModel:"s5720",
        controlMode:'2',
        station:"八楼",
        uuid:"16485181518615165fs41685481",
        mac:"123.456",
        ipAddress:"123.123.12",
        bussIpAddress:"168.168.12",
        deviceStatus:"再用",
        deviceVersion:"1.0.1",
        startTime:"20210406.141726",
        deviceDesc:"描述信息",
      }
    ],
      commands: {},
      contextCommands: [],
      // 命令
      commandContext: {},
      deviceList: [],
      deviceModelList: [],
      deviceModelList1: [],
      subnetList: [],
      deviceTypeList: [],

      // 设备配置更新时传的devicekey
      updateConfigFileKey: null,
      deviceDetailInfo: {},
      selectList: [],
      // 网元状态下拉菜单
      deviceStatusList: [
        {
          key: "0",
          label: this.$t("DeviceConfigurationManagement.inUse"),
        },
        {
          key: "1",
          label: this.$t("DeviceConfigurationManagement.notInUse"),
        },
      ],
      // 网元状态表格过滤
      deviceStatusListForTable: [
        {
          key: "0",
          label: this.$t("DeviceConfigurationManagement.inUse"),
        },
        {
          key: "1",
          label: this.$t("DeviceConfigurationManagement.notInUse"),
        },
      ],
      valueState: "1",
      // SNMP版本下拉菜单
      deviceSNMPList: [
        {
          key: "0",
          label: "v1",
        },
        {
          key: "1",
          label: "v2c",
        },
        {
          key: "3",
          label: "v3",
        },
      ],
      deviceSNMP: "1",
      flag: 0,

      //  查询条件变量
      querySelectNetworkName: "", // 网元名称"
      querySelectNetworkType: "", // 网元类型"
      querySelectModel: "", // 网元型号
      querySelectStationSite: "", // 所属站点
      querySelectIpNetworkSegment: "", // Ip网段"
      querySelectNetworkStatus: null, // 网元状态"
      querySelectSubnet: null, // 所属子网"
      querySelectNetworkAddress: "", // 网元地址
      bussIpAddress: "", // 网元业务地址

      formLabelWidth: "120px",

      // 存创建初始化信息和复制初始化信息,传给子组件用
      createAndCopyInitList: {},
      createAndCopyTitle: "",
      updateInitList: {},
      deleteList: [],
      multipleSelection: [],
      beginItem: 1,
      endItem: 100,
      total: 100,
      currentPage: 1,
      pageSize: 100,
    };
  },

  methods: {
    lookinfo(){
      this.obj.isTrue=true
console.log(this.showDeviceDetailsCommand);
  EventBus.$emit("is", this.isTrue);
console.log(this.obj.isTrue);

    },
    /**
     * @Description  : handleClick
     * @author       : ls
     * @date         : 2020/11/11 12:00
     * @param        :
     * @return       :
     */
    handleClick: function () {
      if (document.getElementById("rightMenu") !== null) {
        document.getElementById("rightMenu").style.display = "none";
      }
    
    },
    
    handleContextmenu(row, column, event) {
     
      this.deviceDetailInfo = row;
      this.updateInitList = row;
      this.createAndCopyTitle = this.$t(
        "DeviceConfigurationManagement.copyDeviceInfo"
      );
      this.createAndCopyInitList = row;
      this.updateConfigFileKey = row.deviceKey;
      this.contextCommands = [];
      var disableFlag = 0;
      disableFlag = HelperUtil.handleDisa(
        disableFlag,
        this.deviceCollection[row.deviceKey],
        this.alarmCollection
      );
      this.flag = disableFlag;
     
      this.contextCommands.push(this.showDeviceDetailsCommand);
      this.contextCommands.push(this.createAndCopyCommand);
      this.contextCommands.push(this.updateCommand);
      if (row.deviceModel.indexOf("CZ.T-T65D") !== -1) {
        this.contextCommands.push(this.downloadConfigToDeviceCommand);
        // this.contextCommands.push(this.updateProfileToDevice)
        this.contextCommands.push(this.copyConfigToServerInit);
        this.contextCommands.push(this.downloadToLocalCommand);
        this.contextCommands.push(this.downloadDeviceLogCommand);
      }
      // this.contextCommands.push(this.historyConfigToDeviceCommand)
      let menu = document.getElementById("rightMenu");
      let yy = document.body.clientHeight - event.clientY;
      let xx = document.body.clientWidth - event.clientX;
      console.log(event.clientX + " " + event.clientY);
      if (yy < 120) {
        menu.style.top = event.clientY - 100 + "px";
      } else {
        menu.style.top = event.clientY + "px";
      }
      if (xx < 200) {
        menu.style.left = event.clientX - 100 + "px";
      } else {
        menu.style.left = event.clientX + "px";
      }
      menu.style.display = "block";
      console.log(this.contextCommands);
      console.log(this.deviceDetailInfo);
    },
    /**
     * @Description  : deviceTypeChange
     * @author       : ls
     * @date         : 2020/11/11 12:03
     * @param        :
     * @return       :
     */
    deviceTypeChange: function () {
      var a = HelperUtil.deviceTypeChange(
        this.deviceModelList,
        this.querySelectNetworkType,
        this.querySelectModel
      );
      this.deviceModelList1 = a[0];
      this.querySelectModel = a[1];
    },
    /**
     * @Description  : deviceModelChange
     * @author       : ls
     * @date         : 2020/11/11 12:06
     * @param        :
     * @return       :
     */
    deviceModelChange: function () {
      this.deviceModelList1 = this.deviceModelList;
    },
    /**
     * @Description  : 分页变化
     * @author       : ls
     * @date         : 2020/5/6 15:44
     * @param        :
     * @return       :
     */
    handleCurrentChange(val) {
      this.currentPage = val;
      this.beginItem = (val - 1) * 100 + 1;
      this.endItem = this.beginItem + 99;
      if (this.endItem > this.total) {
        this.endItem = this.total;
      }
      this.deviceByConditionCurrentPage();
    },
    /**
     * @Description  : 首次加载
     * @author       : ls
     * @date         : 2020/5/6 15:55
     * @param        :
     * @return       :
     */
    queryDevice: function () {
      this.beginItem = 1;
      this.setSelectList();

      let _this = this;
      let loadingInstance = _this.Loading.openLoading();
      DeviceService.queryDeviceTotalNumber(this.selectList)
        .then((result) => {
          _this.Loading.closeLoading(loadingInstance);
          _this.total = result;
          if (_this.total === 0 || _this.total < 0) {
            _this.deviceList = [];
          } else {
            if (_this.total < 100 && _this.total > 0) {
              _this.endItem = _this.total;
            } else {
              _this.endItem = 100;
            }
            _this.deviceByConditionCurrentPage();
          }
        })
        .catch((err) => {
          _this.endItem = 100;
          _this.Loading.closeLoading(loadingInstance);
          _this.InfoTip.errorTip(_this, err);
        });
    },
    /**
     * @Description  : 条件查询
     * @author       : ls
     * @date         : 2020/6/11 14:27
     * @param        :
     * @return       :
     */
    queryDeviceDataByCondition: function () {
      this.beginItem = 1;
      this.setSelectList();
      this.queryDeviceTotalNumber();
      console.log(this.deviceList);
    },
    //重置
        reset(){
           //  查询条件变量
      this.querySelectNetworkName= "", // 网元名称"
      this.querySelectNetworkType= "", // 网元类型"
      this.querySelectModel= "", // 网元型号
      this.querySelectStationSite= "", // 所属站点
      this.querySelectIpNetworkSegment= "", // Ip网段"
      this.querySelectNetworkStatus= null, // 网元状态"
      this.querySelectSubnet= null, // 所属子网"
      this.querySelectNetworkAddress= "", // 网元地址
      this.bussIpAddress= "" // 网元业务地址
      this.setSelectList();
       this.queryDeviceTotalNumber();
        },
    /**
     * @Description  : 查询总页数
     * @author       : ls
     * @date         : 2020/5/6 16:01
     * @param        :
     * @return       :
     */
    queryDeviceTotalNumber: function () {
      let _this = this;
      let loadingInstance = _this.Loading.openLoading();
      DeviceService.queryDeviceTotalNumber(_this.selectList)
        .then((result) => {
          _this.Loading.closeLoading(loadingInstance);
          _this.total = result;
          if (_this.total === 0 || _this.total < 0) {
            _this.deviceList = [];
            _this.InfoTip.warningTip_alarm(
              _this,
              HelperUtil.getCheckStatusCodeObjectByCode(
                _this.successCode.QUERY_NULL_CODE
              )
            );
          } else {
            if (_this.total < 100 && _this.total > 0) {
              _this.endItem = _this.total;
            } else {
              _this.endItem = 100;
            }
            _this.InfoTip.successTip(
              _this,
              HelperUtil.getStatusCodeObjectByCode(_this.successCode.QUERY_CODE)
            );
            _this.deviceByConditionCurrentPage();
          }
        })
        .catch((err) => {
          _this.endItem = 100;
          _this.Loading.closeLoading(loadingInstance);
          _this.InfoTip.errorTip(_this, err);
        });
    },
    /**
     * @Description  : 分页查询
     * @author       : ls
     * @date         : 2020/5/6 15:46
     * @param        :
     * @return       :
     */
    deviceByConditionCurrentPage: function () {
      let _this = this;
      let loadingInstance = _this.Loading.openLoading();
      DeviceService.queryDeviceDataSplitNumber(
        this.beginItem,
        this.endItem,
        this.selectList
      )
        .then((result) => {
          // 成功
          _this.deviceList = Object.values(result);
          _this.Loading.closeLoading(loadingInstance);
        })
        .catch((err) => {
          // 失败
          _this.Loading.closeLoading(loadingInstance);
          _this.InfoTip.errorTip(_this, err);
        });
    },
    /**
     * @Description  :获取全部网元信息
     * @author       ::
     * @date         :
     */
    getAllDeviceInit: function () {
      let _this = this;
      DeviceService.getAllDeviceCollection()
        .then((result) => {
          // 成功
          _this.deviceList = Object.values(result);
          console.log(_this.deviceList);
        })
        .catch((err) => {
          // 失败
          _this.InfoTip.errorTip(_this, err);
        });
    },

    /**
     * @Description  :增删改后调用,重新加载table
     * @author       :
     * @param        :
     * @return       :
     * @exception    :
     * @date         :
     */
    getAllDevice: function (vue) {
      let _this = this;
      DeviceService.getAllDeviceCollection()
        .then((result) => {
          // 成功
          vue.deviceList = Object.values(result);
        })
        .catch((err) => {
          // 失败
          _this.InfoTip.errorTip(_this, err);
        });
    },

    /**
     * @Description  :获取全部网元类型
     * @author       :zyh
     * @date         :2020/1/7
     */
    getAllDeviceType: function () {
      let _this = this;
      DeviceService.getAllDeviceTypeCollection()
        .then((result) => {
          _this.deviceTypeList = Object.values(result);
        })
        .catch((err) => {
          _this.InfoTip.errorTip(_this, err);
        });
    },
    /**
     * @Description  :主表格多选框改变时,将所选行进行保存
     * @author       :
     * @param        :
     * @return       :
     * @exception    :
     * @date         :
     */
    handleSelectionChange(val) {
      this.multipleSelection = val;
    },
    /**
     * @Description  : 导入
     * @author       : ls
     * @date         : 2020/4/24 16:46
     * @param        :
     * @return       :
     */
    importToExcelInit: function () {
      this.importCommand.execute();
    },
    /**
     * @Description  : 设置条件
     * @author       : ls
     * @date         : 2020/5/1 17:08
     * @param        :
     * @return       :
     */
    setSelectList: function () {
      this.selectList = [];
      if (
        this.querySelectNetworkName !== "" &&
        this.querySelectNetworkName !== null
      ) {
        this.selectList.push({
          quaryAttribute: "displayName",
          compareSymbol: "like",
          compareValue: this.querySelectNetworkName,
        });
      }
      if (
        this.querySelectNetworkAddress !== null &&
        this.querySelectNetworkAddress !== ""
      ) {
        this.selectList.push({
          quaryAttribute: "ipAddress",
          compareSymbol: "=",
          compareValue: this.querySelectNetworkAddress,
        });
      }
      if (this.bussIpAddress !== null && this.bussIpAddress !== "") {
        this.selectList.push({
          quaryAttribute: "bussIpAddress",
          compareSymbol: "=",
          compareValue: this.bussIpAddress,
        });
      }
      if (
        this.querySelectNetworkType !== null &&
        this.querySelectNetworkType !== ""
      ) {
        this.selectList.push({
          quaryAttribute: "deviceTypeKey",
          compareSymbol: "=",
          compareValue: this.querySelectNetworkType,
        });
      }
      if (this.querySelectModel !== "" && this.querySelectModel !== null) {
        this.selectList.push({
          quaryAttribute: "deviceModel",
          compareSymbol: "=",
          compareValue: this.querySelectModel,
        });
      }
      if (this.querySelectSubnet !== "" && this.querySelectSubnet !== null) {
        this.selectList.push({
          quaryAttribute: "subnetKey",
          compareSymbol: "=",
          compareValue: this.querySelectSubnet,
        });
      }
      if (
        this.querySelectStationSite !== "" &&
        this.querySelectStationSite !== null
      ) {
        this.selectList.push({
          quaryAttribute: "station",
          compareSymbol: "=",
          compareValue: this.querySelectStationSite,
        });
      }
      if (
        this.querySelectNetworkStatus !== null &&
        this.querySelectNetworkStatus !== ""
      ) {
        this.selectList.push({
          quaryAttribute: "deviceStatus",
          compareSymbol: "=",
          compareValue: this.querySelectNetworkStatus,
        });
      }
    },
    /**
     * @Description  : 导出
     * @author       : ls
     * @date         : 2020/4/24 16:46
     * @param        :
     * @return       :
     */
    exportToExcelInit: function () {
      let _this = this;
      _this.setSelectList();
      let loadingInstance = _this.Loading.openLoading();
      DeviceService.downloadDeviceFile(_this.selectList)
        .then((result) => {
          // 关闭loading
          _this.Loading.closeLoading(loadingInstance);
          // 成功
        })
        .catch((err) => {
          // 关闭loading
          _this.Loading.closeLoading(loadingInstance);
          // 失败
          _this.InfoTip.errorTip(_this, err);
        });
    },
    /**
     * @Description  : 查看详细
     * @author       : ls
     * @date         : 15:43
     * @param        :
     * @return       :
     */
    viewDetail: function (row) {
      this.deviceDetailInfo = row;
      this.showDeviceDetailsCommand.execute();
    },
    /**
     * @Description  : chuangjian
     * @author       : ls
     * @date         : 2020/4/24 15:44
     * @param        :
     * @return       :
     */
    createDeviceInit() {
      this.createAndCopyTitle = this.$t(
        "DeviceConfigurationManagement.createDeviceInfo"
      );
      this.createAndCopyInitList = {
        deviceKey: "",
        uuid: "",
        hostName: "",
        displayName: "",
        deviceTypeKey: "",
        deviceModel: "",
        subnetKey: "",
        ipAddress: "",
        bussIpAddress: "",
        mac: "",
        manageType: 0,
        bussManageType: 0,
        snmpVersion: 0,
        snmpPort: 161,
        trapPort: 162,
        snmpGroup: "publicCrscd",
        ipmiUserName: "",
        ipmiPassword: "",
        deviceStatus: 0,
        deviceVersion: "",
        deviceDesc: "",
        startTime: "",
        firmwareKey: "",
        firmwareFileName: "",
        station: "",
        locationName: "",
        brand: "",
        manufacturerLiaison: "",
        manufacturerPhone: "",
        manager: "",
        managerPhone: "",
        delFlag: 0,
        modifyTime: "",
      };
      this.createAndCopyCommand.execute();
    },
    /**
     * @Description  : fuzhi
     * @author       : ls
     * @date         : 2020/4/24 15:10
     * @param        :
     * @return       :
     */
    copyDeviceInit(row) {
      this.createAndCopyTitle = this.$t(
        "DeviceConfigurationManagement.copyDeviceInfo"
      );
      this.createAndCopyInitList = row;
      this.createAndCopyCommand.execute();
    },
    /**
     * @Description  : xiugai
     * @author       : ls
     * @date         : 2020/4/24 15:19
     * @param        :
     * @return       :
     */
    updateDeviceInit(row) {
      this.updateInitList = row;
      this.updateCommand.execute();
    },
    /**
     * @Description  : 配置文件备份
     * @author       : ls
     * @date         : 2020/6/11 14:49
     * @param        :
     * @return       :
     */
    handleProfileAgain(row) {
      this.deleteList = [];
      this.deleteList.push(row.deviceKey);
      let _this = this;
      let loadingInstance = _this.Loading.openLoading();
      ConfigFileService.copyProfile(_this.deleteList)
        .then((result) => {
          _this.InfoTip.successTip(
            _this,
            HelperUtil.getStatusCodeObjectByCode(_this.successCode.OTHERS_CODE)
          );
          _this.Loading.closeLoading(loadingInstance);
        })
        .catch((err) => {
          _this.InfoTip.errorTip(_this, err);
          _this.Loading.closeLoading(loadingInstance);
        });
    },
    /**
     * @Description  : 配置文件更新
     * @author       : ls
     * @date         : 2020/6/11 15:51
     * @param        :
     * @return       :
     */
    handleUpdateProfile(row) {
      this.updateInitList = row;
      this.updateProfileToDevice.execute();
    },
    /**
     * @Description  :上传配置信息初始化
     * @author       :
     * @param        :
     * @date         :
     */
    uploadConfigInit: function () {
      if (this.multipleSelection.length == 0) {
        this.InfoTip.warningTip(
          this,
          HelperUtil.getCheckStatusCodeObjectByCode(
            this.successCode
              .PLEASE_SELECT_AT_LEASE_ONE_CONFIGURATION_FILE_TO_UPLOAD
          )
        );
      } else {
        //          上传配置信息
        this.$options.methods.uploadProfile(this);
      }
    },

    /**
     * @Description  :上传配置信息过程
     * @author       :
     * @param        :
     * @date         :
     */
    uploadProfile: function (vue) {
      // 开始上传到后台

      var selectList = new Array();
      for (var i = 0; i < vue.multipleSelection.length; i++) {
        selectList[i] = vue.multipleSelection[i]["deviceKey"];
        console.log(vue.multipleSelection[i]["deviceKey"]);
      }

      let _this = vue;
      // 调用函数
      // 打开loading
      let loadingInstance = _this.Loading.openLoading();
      ConfigFileService.batchUploadConfigFile(selectList)
        .then((result) => {
          // 关闭loading
          _this.Loading.closeLoading(loadingInstance);
          // 成功
          _this.InfoTip.successTip(
            _this,
            HelperUtil.getStatusCodeObjectByCode(_this.successCode.OTHERS_CODE)
          );
        })
        .catch((err) => {
          // 关闭loading
          _this.Loading.closeLoading(loadingInstance);
          // 失败
          _this.InfoTip.errorTip(_this, err);
        });
    },

    /**
     * @Description  :第一步:更新配置信息初始化
     * @author       :
     * @param        :
     * @date         :
     */
    updateConfigInit: function () {
      if (this.multipleSelection.length == 0) {
        this.InfoTip.warningTip(
          this,
          HelperUtil.getCheckStatusCodeObjectByCode(
            this.successCode
              .PLEASE_SELECT_AT_LEASE_ONE_DEVICE_TO_UPDATE_CONFIGURATION
          )
        );
      } else if (this.multipleSelection.length > 1) {
        this.InfoTip.warningTip(
          this,
          HelperUtil.getCheckStatusCodeObjectByCode(
            this.successCode
              .PLEASE_SELECT_ONLY_ONE_DEVICE_DATA_TO_UPDATE_THE_CONFIGURATION
          )
        );
      } else {
        this.updateConfigFileKey = this.multipleSelection[0].deviceKey;
        this.downloadConfigToDeviceCommand.execute();
      }
    },

    /**
     * @Description  :第一步:恢复配置信息初始化
     * @author       :
     * @param        :
     * @date         :
     */
    restoryConfigInit: function () {
      if (this.multipleSelection.length == 0) {
        this.InfoTip.warningTip(
          this,
          HelperUtil.getCheckStatusCodeObjectByCode(
            this.successCode
              .PLEASE_SELECT_AT_LEASE_ONE_DEVICE_TO_QUERY_CONFIGURATION_HISTORY
          )
        );
      } else if (this.multipleSelection.length > 1) {
        this.InfoTip.warningTip(
          this,
          HelperUtil.getCheckStatusCodeObjectByCode(
            this.successCode
              .PLEASE_SELECT_ONLY_ONE_DEVICE_DATA_FOR_CONFIGURATION_HISTORY_QUERY
          )
        );
      } else {
        this.updateConfigFileKey = this.multipleSelection[0].deviceKey;
        this.historyConfigToDeviceCommand.execute();
      }
    },
    /**
     * @Description  :deviceStatusKey,转为显示deviceStatusName
     * @author       :
     */
    formatdeviceStatus: function (row, column) {
      let result = row.deviceStatus;
      if (row.deviceStatus === 0) {
        result = this.$t("DeviceConfigurationManagement.inUse");
      }
      if (row.deviceStatus === 1) {
        result = this.$t("DeviceConfigurationManagement.notInUse");
      }
      return result;
    },
    /**
     * @Description  : 时间处理
     * @author       : ls
     * @date         : 2020/5/21 11:46
     * @param        :
     * @return       :
     */
    formatTime: function (val) {
      return HelperUtil.timeTran(val.startTime);
    },
    /**
     * @Description  :
     * @author       :
     */
    formatsnmpPort: function (row, column) {
      //        for (var i = 0; i < this.deviceList.length; i++) {
      if (row.snmpPort == -999) {
        return "";
      }
      if (row.snmpPort != -999) {
        return row.snmpPort;
      }

      //      }
    },
    /**
     * @Description  :
     * @author       :
     */
    formattrapPort: function (row, column) {
      //        for (var i = 0; i < this.deviceList.length; i++) {
      if (row.trapPort == -999) {
        return "";
      }
      if (row.trapPort != -999) {
        return row.trapPort;
      }
    },

    /**
     * @Description  :snmpVersionKey,转为显示snmpVersionName
     * @author       :
     */
    formatsnmpVersion: function (row, column) {
      for (var j = 0; j < this.deviceSNMPList.length; j++) {
        if (row.snmpVersion == this.deviceSNMPList[j]["key"]) {
          return this.deviceSNMPList[j]["label"];
        }
      }
    },

    /**
     * @Description  :marster节点过滤
     * @author       :
     */
    formatMasterNode: function (row, colum) {
      let result = row.masterNode;
      if (row.masterNode === 0) {
        result = this.$t("DeviceConfigurationManagement.yes");
      }
      if (row.masterNode === 1) {
        result = this.$t("DeviceConfigurationManagement.no");
      }
      return result;
    },

    formatManageType: function (row, colum) {
      let result = row.manageType;
      if (row.manageType === 0) {
        result = this.$t("DeviceConfigurationManagement.SNMP");
      }
      if (row.manageType === 1) {
        result = this.$t("DeviceConfigurationManagement.ping");
      }
      if (row.manageType === 2) {
        result = this.$t("DeviceConfigurationManagement.byStatus");
      }
      return result;
    },
    /**
     * @Description  : 条件查询
     * @author       : ls
     * @date         : 16:41
     * @param        :
     * @return       :
     */
    queryDeviceByCondition: function () {
      let _this = this;
      _this.setSelectList();
      let loadingInstance = _this.Loading.openLoading();
      DeviceService.conditionQueryDevice(_this.selectList)
        .then((result) => {
          // 关闭loading
          _this.Loading.closeLoading(loadingInstance);
          // 成功
          _this.deviceList = Object.values(result);
          if (_this.deviceList.length === 0) {
            _this.InfoTip.warningTip(
              _this,
              HelperUtil.getCheckStatusCodeObjectByCode(
                _this.successCode.QUERY_NULL_CODE
              )
            );
          } else {
            _this.InfoTip.successTip(
              _this,
              HelperUtil.getStatusCodeObjectByCode(_this.successCode.QUERY_CODE)
            );
          }
        })
        .catch((err) => {
          // 关闭loading
          _this.Loading.closeLoading(loadingInstance);
          // 失败
          _this.InfoTip.errorTip(_this, err);
        });

      // }
    },

    /**
     * @Description  : shanchu
     * @author       : ls
     * @date         : 2020/4/24 15:48
     * @param        :
     * @return       :
     */
    deleteDeviceInit() {
      if (this.multipleSelection.length === 0) {
        this.InfoTip.warningTip(
          this,
          HelperUtil.getCheckStatusCodeObjectByCode(
            this.successCode.DELETE_SELECT_CODE
          )
        );
      } else {
        this.deleteList = [];
        for (var i = 0; i < this.multipleSelection.length; i++) {
          var obj = { deviceKey: this.multipleSelection[i]["deviceKey"] };
          this.deleteList.push(obj);
        }
        this.deleteCommand.execute();
      }
    },
    //   deleteDeviceInit(val) {
    //  this.deleteList=val;
    //     this.deleteCommand.execute();
      
    // },
    /**
     * @Description  : 下载日志
     * @author       : ls
     * @date         : 2020/4/24 15:52
     * @param        :
     * @return       :
     */
    downloadLog: function (row) {
      let _this = this;
      let loadingInstance = this.Loading.openLoading();
      DeviceService.downloadDeviceLog(row.deviceKey)
        .then((result) => {
          // 关闭loading
          _this.Loading.closeLoading(loadingInstance);
          // 成功
          _this.InfoTip.successTip(
            _this,
            HelperUtil.getStatusCodeObjectByCode(_this.successCode.OTHERS_CODE)
          );
        })
        .catch((err) => {
          // 关闭loading
          _this.Loading.closeLoading(loadingInstance);
          // 失败
          _this.InfoTip.errorTip(_this, err);
        });
    },
    /**
     * @Description  :获取全部子网信息,
     * @author       :
     * @date         : 2018/12/13
     */
    getAllSubnet() {
      let _this = this;
      SubnetService.getAllSubnetCollection()
        .then((result) => {
          // 成功
          _this.subnetList = Object.values(result);
        })
        .catch((err) => {
          // 失败
          _this.InfoTip.errorTip(_this, err);
        });
    },
    /**
     * @Description  : 获取网元型号
     * @author       : ls
     * @date         : 2020/5/20 9:15
     * @param        :
     * @return       :
     */
    getAllDeviceModel: function () {
      let _this = this;
      DeviceService.getAllDeviceModelCollection()
        .then((result) => {
          _this.deviceModelList = Object.values(result);
          _this.deviceModelList1 = Object.values(result);
        })
        .catch((err) => {
          _this.InfoTip.errorTip(_this, err);
        });
    },
    /**
     * @Description  :由机房转入设备(已调通)
     * @author       : ly
     * @date         : 2018/12/21 20:55
     */
    TurnFromLocation: function (msg) {
      let _this = this;
      var selectList = new Array();
      selectList.push({
        quaryAttribute: "locationKey",
        compareSymbol: "like",
        compareValue: msg,
      });
      // 按条件查询
      DeviceService.conditionQueryDevice(selectList)
        .then((result) => {
          // 成功
          _this.deviceList = Object.values(result);
          if (_this.deviceList.length === 0) {
            _this.InfoTip.warningTip(
              _this,
              HelperUtil.getCheckStatusCodeObjectByCode(
                _this.successCode.QUERY_NULL_CODE
              )
            );
          }
        })
        .catch((err) => {
          // 失败
          _this.InfoTip.errorTip(_this, err);
        });
    },

    TurnFromCabinet: function (msg) {
      let _this = this;
      var selectList = new Array();
      selectList.push({
        quaryAttribute: "cabinetKey",
        compareSymbol: "like",
        compareValue: msg,
      });
      // 按条件查询
      DeviceService.conditionQueryDevice(selectList)
        .then((result) => {
          // 成功
          _this.deviceList = Object.values(result);
          if (_this.deviceList.length === 0) {
            _this.InfoTip.warningTip(
              _this,
              HelperUtil.getCheckStatusCodeObjectByCode(
                _this.successCode.QUERY_NULL_CODE
              )
            );
          }
        })
        .catch((err) => {
          // 失败
          _this.InfoTip.errorTip(_this, err);
        });
    },

    /**
     * @Description  :由子网转入设备
     * @author       : bjh
     * @param        :
     * @return       :
     * @exception    :
     * @date         : 2018/12/22 13:55
     */
    TurnFromSubnet: function (msg) {
      let _this = this;
      var selectList = new Array();
      selectList.push({
        quaryAttribute: "subnetKey",
        compareSymbol: "like",
        compareValue: msg,
      });
      // 按条件查询
      DeviceService.conditionQueryDevice(selectList)
        .then((result) => {
          // 成功
          _this.deviceList = Object.values(result);

          if (_this.deviceList.length === 0) {
            _this.InfoTip.warningTip(
              _this,
              HelperUtil.getCheckStatusCodeObjectByCode(
                _this.successCode.QUERY_NULL_CODE
              )
            );
          }
        })
        .catch((err) => {
          // 失败
          _this.InfoTip.errorTip(_this, err);
        });
    },

    clear: function () {
      this.querySelectNetworkName = "";
      this.querySelectlocationKey = null;
      this.querySelectSubnet = null;
      this.querySelectNetworkType = null;
      this.querySelectNetworkStatus = null;
      this.querySelectFrame = null;
      this.querySelectNetworkAddress = "";
    },
  },
  // 初始化函数,加载数据
  created: function () {
    // 判断是否由机房、机架页面转入,是的话初始化执行条件查询,否则查询所有设备
    if (this.$route.query.locationKey != null) {
      this.querySelectlocationKey = this.$route.query.locationKey;
      this.TurnFromLocation(this.$route.query.locationKey);
    }
    if (this.$route.query.cabinetKey != null) {
      this.querySelectlocationKey = this.$route.query.locationFromCabinet;
      this.querySelectFrame = this.$route.query.cabinetKey;
      this.TurnFromCabinet(this.$route.query.cabinetKey);
    }
    if (this.$route.query.subnetKey != null) {
      this.querySelectSubnet = this.$route.query.subnetKey;
      this.TurnFromSubnet(this.$route.query.subnetKey);
    }
    if (
      this.$route.query.locationKey == null &&
      this.$route.query.cabinetKey == null &&
      this.$route.query.subnetKey == null
    ) {
      // 获取所有设备信息
      // this.getAllDeviceInit()
      this.queryDevice();
    }
    // this.getAllDeviceInit()
    this.getAllSubnet();
    this.getAllDeviceModel();
    this.getAllDeviceType();
  },
  mounted() {
    document.addEventListener("click", this.handleClick);
  
  },

  computed: {
    showDeviceDetailsCommand() {
      return DeviceCommands.showDeviceDetailsCommand(
        this.deviceDetailInfo,
        this.commandContext,
        
      );
      console.log(this.deviceDetailInfo)
    },
    createAndCopyCommand() {
      return DeviceCommands.createAndCopyDeviceCommand(
        this.createAndCopyTitle,
        this.createAndCopyInitList,
        this.commandContext
      );
    },
    deleteCommand() {
      return DeviceCommands.deleteDeviceCommand(
        this.deleteList,
        this.commandContext
      );
    },
    updateCommand() {
      return DeviceCommands.updateDeviceCommand(
        this.updateInitList,
        this.commandContext
      );
    },
    importCommand() {
      return DeviceCommands.importDeviceCommand(this.commandContext);
    },
    downloadConfigToDeviceCommand() {
      return DeviceCommands.downloadConfigToDeviceCommand(
        this.updateInitList,
        this.commandContext,
        this.flag
      );
    },
    updateProfileToDevice() {
      // 更新配置文件名称
      return ConfigFileCommands.updateConfigCommand(
        this.updateInitList,
        this.commandContext
      );
    },
    copyConfigToServerInit() {
      var copyList = [];
      copyList.push(this.updateInitList.deviceKey);
      return DeviceCommands.copyConfigToServer(
        copyList,
        this.commandContext,
        this.flag
      );
    },
    downloadToLocalCommand() {
      return DeviceCommands.downloadToLocalCommand(
        this.updateInitList,
        this.commandContext,
        this.flag
      );
    },
    downloadDeviceLogCommand() {
      return DeviceCommands.downloadDeviceLogCommand(
        this.updateInitList,
        this.commandContext,
        this.flag
      );
    },
  },
  watch: {
    $route(to, from) {
      // 对路由变化作出响应...
      if (to.name === "网元配置" && to.query.locationKey !== undefined) {
        this.querySelectlocationKey = to.query.locationKey;
        this.TurnFromLocation(to.query.locationKey);
      }
      if (to.name === "网元配置" && to.query.cabinetKey !== undefined) {
        this.querySelectlocationKey = to.query.locationFromCabinet;
        this.querySelectFrame = to.query.cabinetKey;
        this.TurnFromCabinet(to.query.cabinetKey);
      }
      if (to.name === "网元配置" && to.query.subnetKey !== undefined) {
        this.querySelectSubnet = to.query.subnetKey;
        this.TurnFromSubnet(to.query.subnetKey);
      }
      if (to.path !== "/TheLayout/DeviceManagement") {
        document.getElementById("rightMenu").style.display = "none";
      }
    },
    commandContext(newVal, oldVal) {
      if (JSON.stringify(newVal) === "{}") {
        this.clear();
        this.queryDevice();
        this.$refs.singleTable.clearSelection();
      }
      deep: true;
    },
    "$i18n.locale"() {
      this.deviceStatusList[0].label = this.$t(
        "DeviceConfigurationManagement.inUse"
      );
      this.deviceStatusList[1].label = this.$t(
        "DeviceConfigurationManagement.notInUse"
      );
      this.deviceStatusList[2].label = this.$t(
        "DeviceConfigurationManagement.unplanned"
      );
      // this.deviceTypeList[0].deviceTypeName = this.$t('DeviceConfigurationManagement.traditional');
    },
  },
};
</script>

<style scoped>
/*!* 外层布局容器样式 *!*/

.el-table .warning-row {
  background: oldlace;
}

body .el-table colgroup.gutter {
  display: table-cell !important;
}

.el-table .current-row {
  background: #ff8040;
}
.btnstyle {
  
  height: 36px;
  width: 106px;
}
</style>