Newer
Older
smartwell_front / src / views / deviceManage / detailDevice.vue
dutingting on 3 Jan 2024 4 KB v3.3.0.1 部分需求和bug修改
<template>
  <el-dialog width="70%" title="设备详情" :visible.sync="dialogFormVisible" top="10vh" append-to-body>
    <el-descriptions class="margin-top" title="" :column="2" border>
      <el-descriptions-item v-if="deviceForm.deviceName " label="设备名称">
        {{ deviceForm.deviceName }}
      </el-descriptions-item>
      <el-descriptions-item label="设备编号">
        {{ deviceForm.devcode }}
      </el-descriptions-item>
      <el-descriptions-item label="设备类型">
        {{ deviceForm.deviceTypeName }}
      </el-descriptions-item>
      <el-descriptions-item label="设备型号">
        {{ deviceForm.modelName }}
      </el-descriptions-item>
      <el-descriptions-item label="安装日期">
        {{ deviceForm.installDate }}
      </el-descriptions-item>
      <el-descriptions-item label="在线状态">
        <span :style="{color:deviceForm.onlineState=='0'?'#909399':'#67C23A'}">{{ deviceForm.onlineStateName }}
        </span>
      </el-descriptions-item>
      <el-descriptions-item v-if="deviceForm.cell" label="电量">
        <span :style="{color:deviceForm.cell<'20'?'#f62c45':'#67C23A'}">{{ deviceForm.cell }}
        </span>
      </el-descriptions-item>
      <el-descriptions-item v-if="deviceForm.deviceType=='2'" label="安装高度">
        {{ deviceForm.installHeight?deviceForm.installHeight+' m':'--' }}
      </el-descriptions-item>
      <el-descriptions-item label="点位编号">
        {{ deviceForm.wellCode }}
      </el-descriptions-item>
      <el-descriptions-item label="权属单位">
        {{ deviceForm.deptName }}
      </el-descriptions-item>
      <el-descriptions-item label="浮子电线长度" v-if="deviceForm.deviceTypeName === '井盖液位一体机'">
        {{ deviceForm.lineLength }}
      </el-descriptions-item>
      <!--      <el-descriptions-item label="布防状态">-->
      <!--        {{ deviceForm.bfztName }}-->
      <!--      </el-descriptions-item>-->
      <el-descriptions-item v-if="deviceForm.concenCode" label="关联集中器编号">
        {{ deviceForm.concenCode }}
      </el-descriptions-item>
      <el-descriptions-item label="位置" :span="2">
        {{ deviceForm.position }}
      </el-descriptions-item>
    </el-descriptions>
    <component :is="cmpName" v-if="showData" ref="dataDetail" :devcode="deviceForm.devcode" />
  </el-dialog>
</template>

<script>
import listDigData from './components/listDigData'
import listGasData from './components/listGasData'
import listHarmfulData from './components/listHarmfulData'
import listLiquidData from './components/listLiquidData'
import listLiquidGasData from './components/listLiquidGasData'
import listNoiseData from './components/listNoiseData'
import listTempData from './components/listTempData'
import listTubeData from './components/listTubeData'
import listWellcoverData from './components/listWellcoverData'
import listHydrantData from './components/listHydrantData'
import listWellLocaData from './components/listWellLocaData'
import ListH2SData from './components/listH2SData'
import SingleGasDetectorData from '@/views/deviceManage/components/listGasDetectorData'

export default {
  name: 'DetailDevice',
  components: {
    SingleGasDetectorData,
    ListH2SData,
    listDigData,
    listGasData,
    listHarmfulData,
    listLiquidData,
    listLiquidGasData,
    listNoiseData,
    listTempData,
    listTubeData,
    listWellcoverData,
    listWellLocaData,
    listHydrantData
  },
  data() {
    return {
      dialogFormVisible: false, // 对话框是否显示
      dialogStatus: '', // 对话框类型:create,update,detail
      showData: true, // 是否显示近期数据
      cmpName: '', // 组件名称
      deviceForm: {
        id: '',
        deviceName: '',
        devcode: '',
        deviceType: '',
        wellCode: '',
        modelId: '',
        installDate: '',
        concenCode: '',
        installHeight: ''
      }, // 表单
      compDict: {
        '1': 'list-wellcover-data',
        '2': 'list-liquid-data',
        '3': 'list-harmful-data',
        '4': 'list-gas-data',
        '5': 'list-temp-data',
        '6': 'list-dig-data',
        '7': 'list-well-loca-data',
        '8': 'list-noise-data',
        '9': 'list-temp-press-data',
        '10': 'list-liquid-gas-data',
        '11': 'list-hydrant-data',
        '12': 'list-tube-data',
        '14': 'list-h2-s-data',
        '101': 'single-gas-detector-data'
      } // 组件对照表
    }
  },
  methods: {
    // 初始化对话框
    initDialog: function(dialogStatus, row = null) {
      this.dialogFormVisible = true
      this.deviceForm = row
      // 展示相对应的设备列表组件
      this.cmpName = this.compDict[row.deviceType]
      setTimeout(() => {
        this.$refs.dataDetail.init()
      }, 100)
    }
  }
}
</script>

<style rel="stylesheet/scss" lang="scss" scoped>
  .el-select{
    width: 100%;
  }
  .el-date-editor{
    width: 100%;display: flex;
  }
</style>