123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996 |
- /*
- *@description: 资源详情
- *@author: yh Fu
- *@date: 2023-12-07 15:17:18
- *@version: V1.0.5
- */
- <template>
- <el-dialog :visible.sync="tvWallInfoVisible" custom-class="tvDialog" width="55%" center
- style="margin-top: 5vh !important;">
- <div class="container">
- <div class="leftContain">
- <div class="TVWallCustomWidth"
- style="width: 100% !important;height: 100% !important;box-shadow: none !important;background: none !important;">
- <div class="leader-info-container" style="width: 100%;height: 100%;padding: 0;">
- <div class="leader-info-list-con"
- style="width: 100% !important; overflow: hidden;margin-bottom: 0;padding:1rem;background-image: none !important;box-shadow: none !important;">
- <div>
- <el-descriptions class="margin-top bd-table" title="" :column="2" direction="horizontal"
- border>
- <el-descriptions-item>
- <template slot="label">
- <span>{{ '企业名称' }}</span>
- </template>
- <span>{{currentDeviceLabel}}</span>
- </el-descriptions-item>
- </el-descriptions>
- </div>
- <!-- 切换器 -->
- <el-radio-group v-model="currentRadio" @input="radioHasChanged">
- <el-radio-button label="传感器"></el-radio-button>
- <el-radio-button label="摄像头" class="cameraBtn"></el-radio-button>
- </el-radio-group>
- <!-- 传感器基础数据 -->
- <div class="sensorInfo" v-show="isSensorVisible">
- <!-- <div>-->
- <!-- <span title="烟感探测器">设备名称:{{ deviceInfo.eventName ? deviceInfo.eventName : '--' }}</span>-->
- <!-- <span>状态:<span :class="currentWorkingStatus == '0' ? 'normal-state' : 'err-state' ">{{ currentWorkingStatus == '0' ? '正常' : "异常" }}</span></span>-->
- <!-- </div>-->
- <!-- <div>-->
- <!-- <span title="烟感探测器">信号强度:{{ deviceInfo.signalStrength ? deviceInfo.signalStrength : '--' }}dBm</span>-->
- <!-- <span>状态:<span :class="deviceInfo.signalStrengthStatus == '0' ? 'normal-state' : 'err-state' ">{{ deviceInfo.signalStrengthStatus == '0' ? '正常' : "异常" }}</span></span>-->
- <!-- </div>-->
- <!-- <div>-->
- <!-- <span title="烟感探测器">实时浓度:{{ deviceInfo.smokescope ? deviceInfo.smokescope : '--' }}%FT</span>-->
- <!-- <span>状态:<span :class="deviceInfo.smokescopeStatus == '0' ? 'normal-state' : 'err-state' ">{{ deviceInfo.smokescopeStatus == '0' ? '正常' : "异常" }}</span></span>-->
- <!-- </div>-->
- <!-- <div>-->
- <!-- <span title="烟感探测器">实时电压:{{ deviceInfo.cellVoltage ? deviceInfo.cellVoltage : '--' }}V</span>-->
- <!-- <span>状态:<span :class="deviceInfo.cellVoltageStatus == '0' ? 'normal-state' : 'err-state' ">{{ deviceInfo.cellVoltageStatus == '0' ? '正常' : "异常" }}</span></span>-->
- <!-- </div>-->
- <!-- <div>-->
- <!-- <span title="烟感探测器">实时温度:{{ deviceInfo.temperature ? deviceInfo.temperature : '--' }}℃</span>-->
- <!-- <span>状态:<span :class="deviceInfo.temperatureStatus == '0' ? 'normal-state' : 'err-state' ">{{ deviceInfo.temperatureStatus == '0' ? '正常' : "异常" }}</span></span>-->
- <!-- </div>-->
- <div>
- <span title="烟感探测器">设备名称:{{ deviceInfo.eventName ? deviceInfo.eventName : '--' }}</span>
- <span>状态:<span class="normal-state">正常</span></span>
- </div>
- <div>
- <span title="烟感探测器">信号强度:{{ deviceInfo.signalStrength ? deviceInfo.signalStrength : '--' }}dBm</span>
- <span>状态:<span class="normal-state">正常</span></span>
- </div>
- <div>
- <span title="烟感探测器">实时浓度:{{ deviceInfo.smokescope ? deviceInfo.smokescope : '--' }}%FT</span>
- <span>状态:<span class="normal-state">正常</span></span>
- </div>
- <div>
- <span title="烟感探测器">实时电压:{{ deviceInfo.cellVoltage ? deviceInfo.cellVoltage : '--' }}V</span>
- <span>状态:<span class="normal-state">正常</span></span>
- </div>
- <div>
- <span title="烟感探测器">实时温度:{{ deviceInfo.temperature ? deviceInfo.temperature : '--' }}℃</span>
- <span>状态:<span class="normal-state">正常</span></span>
- </div>
- <div style="margin-top: 5%;"></div>
- <!-- 传感器列表 -->
- <div class="cameraInfo">
- <div
- v-for="(e,idx) in deviceList"
- :key="idx"
- class="cameradiv device_contain"
- @click="currentDeviceHasChanged(e,idx)"
- :class="currentDevice == idx ? 'select-device' : '' "
- >
- <img
- :src="e.deviceImg?e.deviceImg : require('@/assets/images/video-plaza/shiLianWangImg/no-camera.png')"
- style="width: 110px;height: 70px;object-fit: fill;"
- >
- <span>{{ e.deviceName }}</span>
- </div>
- </div>
- </div>
- <!-- 摄像头基础数据 -->
- <div class="cameraInfo" v-show="!isSensorVisible">
- <div
- v-for="(e,idx) in cameraList"
- :key="idx"
- class="cameradiv"
- @click="deviceShow(e,idx)"
- >
- <img
- :src="e.cameraImg?e.cameraImg : require('@/assets/images/video-plaza/shiLianWangImg/no-camera.png') "
- style="width: 110px;height: 70px;object-fit: fill;"
- >
- <span>{{ e.cameraName }}</span>
- </div>
- </div>
- </div>
- </div>
- </div>
- </div>
- <div class="rightContain">
- <!-- 按照左侧切换器展示对应传感器/摄像头内容 -->
- <!-- 传感器图表 -->
- <div class="sernsorChart_contain" v-show="isSensorVisible">
- <!-- 信号强度 -->
- <div id="signal"></div>
- <!-- 实时浓度 -->
- <div id="concentration"></div>
- <!-- 实时电压 -->
- <div id="voltage"></div>
- <!-- 实时温度 -->
- <div id="temperature"></div>
- </div>
- <!-- 摄像头视图 -->
- <div class="camera_contain" v-show="!isSensorVisible">
- <div class="camera_list_row"
- v-for="(e,idx) in cameraList"
- :key="idx"
- @click="deviceShow(e)"
- >
- <img
- :src="e.cameraImg?e.cameraImg : require('@/assets/images/video-plaza/shiLianWangImg/no-camera.png') "
- style="width: 153px;height: 94px;object-fit: fill;"
- >
- <h4>{{ e.cameraName }}</h4>
- </div>
- </div>
- </div>
- </div>
- </el-dialog>
- </template>
- <script>
- let echarts = require("echarts");
- import {
- deviceById,
- getSensorDataInfoAndList, // 获取传感器信息
- } from '@/api/forest';
- export default {
- name: 'DeviceDialog',
- props: ['localMark'],
- data() {
- return {
- currentDevicePic: require('@/assets/images/camera-online.png'),
- deviceInfoList: [],
- //设备名称 //设备地址
- infoKey: [{
- key: 'cameraName',
- value: '名称'
- },
- {
- key: 'cameraRegion',
- value: '地址'
- }
- ],
- chuanInfoKey: [{
- key: 'deviceName',
- value: '设备名称'
- },
- {
- key: 'address',
- value: '设备地址'
- }
- ],
- laInfoKey: [{
- key: 'name',
- value: '名称'
- },
- {
- key: 'broadcastUse',
- value: '用途'
- }
- ],
- centerInfoKey: [{
- key: '名称',
- value: '设备名称'
- },
- {
- key: '驻地位置',
- value: '设备地址'
- }
- ],
- animalInfoKey: [{
- key: 'type',
- value: '动物名称'
- },
- {
- key: 'appearTime',
- value: '出现时间'
- }
- ],
- treeInfoKey: [{
- key: 'treesName',
- value: '植物名称'
- },
- {
- key: 'treesNumber',
- value: '编号'
- },
- {
- key: 'treesAge',
- value: '树龄'
- },
- {
- key: 'treesSpecies',
- value: '树种'
- },
- {
- key: 'treesRemarks',
- value: '备注'
- },
- {
- key: 'deptName',
- value: '部门名称'
- },
- {
- key: 'createTime',
- value: '事件时间'
- }
- ],
- currentDeviceData: null,
- tvWallInfoVisible: false,
- currentCameraParam: null,
- workingStatus: null,
- currentCenterStatus: null,
- currentType: null,
- currentRadio: '传感器',
- isSensorVisible: true, // 当前是否显示为传感器信息,否则为摄像头信息,默认为传感器
- signalOption: {
- color: ['#bf791f', '#bf791f', '#bf791f'], // 设置全局颜色
- grid: {
- top: '15%',
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: {
- type: 'category',
- data: ['1:00', '2:00', '3:00', '5:00', '6:00', '7:00', '8:00', '9:00', '10:00', '11:00', '12:00',
- '13:00', '14:00', '15:00', '16:00', '17:00', '18:00', '19:00', '20:00', '21:00', '22:00',
- '23:00', '24:00',
- ],
- lineStyle: {
- color: "#bf791f",
- },
- axisLabel: {
- formatter: '{value}',
- },
- splitLine: {
- lineStyle: {
- color: "#bf791f",
- },
- },
- axisLine: {
- lineStyle: {
- color: "#bf791f",
- },
- },
- },
- yAxis: {
- type: 'value',
- axisLabel: {
- formatter: '{value} dB/m',
- textStyle: {
- color: "#bf791f",
- },
- },
- splitLine: {
- lineStyle: {
- color: "#7f92ab",
- },
- },
- axisLine: {
- lineStyle: {
- color: "#bf791f",
- },
- },
- },
- series: [{
- data: [0.1, 0.1, 0.1, 0.1, 0.12, 0.08, 0.08, 0.1, 0.1, 0.1, 0.12, 0.08, 0.08, 0.1, 0.1,
- 0.1, 0.12, 0.08, 0.08, 0.12, 0.08, 0.08, 0.1, 0.1, 0.1, 0.12, 0.08, 0.08,
- ],
- type: 'line',
- }]
- },
- concentrationOption: {
- color: ['#06C562', '#06C562', '#06C562'], // 设置全局颜色
- grid: {
- top: '15%',
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: {
- type: 'category',
- data: ['1:00', '2:00', '3:00', '5:00', '6:00', '7:00', '8:00', '9:00', '10:00', '11:00', '12:00',
- '13:00', '14:00', '15:00', '16:00', '17:00', '18:00', '19:00', '20:00', '21:00', '22:00',
- '23:00', '24:00',
- ],
- splitLine: {
- lineStyle: {
- color: "#06C562",
- },
- },
- axisLine: {
- lineStyle: {
- color: "#06C562",
- },
- },
- },
- yAxis: {
- type: 'value',
- axisLabel: {
- formatter: '{value} %FT'
- },
- splitLine: {
- lineStyle: {
- color: "#7f92ab",
- },
- },
- axisLine: {
- lineStyle: {
- color: "#06C562",
- },
- },
- },
- series: [{
- data: [6.35, 6.75, 6.35, 6.75, 6.35, 6.75, 6.35, 6.75, 6.35, 6.75, 6.35, 6.75, 6.35, 6.75,
- 6.35, 6.75, 6.35, 6.75, 6.35, 6.75, 6.35, 6.75, 6.35, 6.75,
- ],
- type: 'line'
- }]
- },
- voltageOption: {
- color: ['#1ce7e0', '#1ce7e0', '#1ce7e0'], // 设置全局颜色
- grid: {
- top: '15%',
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: {
- type: 'category',
- data: ['1:00', '2:00', '3:00', '5:00', '6:00', '7:00', '8:00', '9:00', '10:00', '11:00', '12:00',
- '13:00', '14:00', '15:00', '16:00', '17:00', '18:00', '19:00', '20:00', '21:00', '22:00',
- '23:00', '24:00',
- ],
- splitLine: {
- lineStyle: {
- color: "#1ce7e0",
- },
- },
- axisLine: {
- lineStyle: {
- color: "#1ce7e0",
- },
- },
- },
- yAxis: {
- type: 'value',
- axisLabel: {
- formatter: '{value} V'
- },
- splitLine: {
- lineStyle: {
- color: "#7f92ab",
- },
- },
- axisLine: {
- lineStyle: {
- color: "#1ce7e0",
- },
- },
- },
- series: [{
- data: [2.85, 2.85, 2.85, 2.85, 2.85, 2.85, 2.85, 2.85, 2.85, 2.85, 2.85, 2.85, 2.85, 2.85,
- 2.85, 2.85, 2.85, 2.85, 2.85, 2.85, 2.85, 2.85, 2.85, 2.85, 2.85, 2.85, 2.85, 2.85,
- 2.85, 2.85,
- ],
- type: 'line'
- }]
- },
- temperatureOption: {
- color: ['#9aaf2a', '#9aaf2a', '#9aaf2a'], // 设置全局颜色
- grid: {
- top: '15%',
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- xAxis: {
- type: 'category',
- data: ['1:00', '2:00', '3:00', '5:00', '6:00', '7:00', '8:00', '9:00', '10:00', '11:00', '12:00',
- '13:00', '14:00', '15:00', '16:00', '17:00', '18:00', '19:00', '20:00', '21:00', '22:00',
- '23:00', '24:00',
- ],
- splitLine: {
- lineStyle: {
- color: "#9aaf2a",
- },
- },
- axisLine: {
- lineStyle: {
- color: "#9aaf2a",
- },
- },
- },
- yAxis: {
- type: 'value',
- axisLabel: {
- formatter: '{value} ℃'
- },
- splitLine: {
- lineStyle: {
- color: "#7f92ab",
- },
- },
- axisLine: {
- lineStyle: {
- color: "#9aaf2a",
- },
- },
- },
- series: [{
- data: [23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 23, 23,
- 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
- ],
- type: 'line'
- }]
- },
- cameraList: [{
- tile: '四平市双辽市郑家屯街道工农村东',
- pic: require('@/assets/images/video-plaza/shiLianWangImg/no-camera.png')
- },
- {
- tile: '四平市双辽市辽东街道建金良村',
- pic: require('@/assets/images/video-plaza/shiLianWangImg/no-camera.png')
- },
- {
- tile: '四平市双辽市那木乡双城村',
- pic: require('@/assets/images/video-plaza/shiLianWangImg/no-camera.png')
- },
- {
- tile: '四平市双辽市郑家屯街道工农村东',
- pic: require('@/assets/images/video-plaza/shiLianWangImg/no-camera.png')
- },
- {
- tile: '四平市双辽市那木乡建新村东北',
- pic: require('@/assets/images/video-plaza/shiLianWangImg/no-camera.png')
- },
- {
- tile: '四平市双辽市那木乡永发屯金宝村',
- pic: require('@/assets/images/video-plaza/shiLianWangImg/no-camera.png')
- },
- ],
- currentDeviceLabel:'',
- currentWorkingStatus:null, // 当前所选传感器设备状态 0-正常 1-异常
- deviceList:[], // 传感器列表
- currentDevice:0, // 当前选中传感器,默认索引为0
- currentCamera:null, // 当前选中传感器,默认不选
- deviceInfo:{}, // 传感器基础数据
- }
- },
- methods: {
- deviceShow(e) {
- this.$parent.showTVWall(e.cameraCode, e.cameraName, e.cameraType);
- },
- initChart() {
- let signalChart = echarts.init(document.getElementById("signal"));
- let concentrationChart = echarts.init(document.getElementById("concentration"));
- let voltageChart = echarts.init(document.getElementById("voltage"));
- let temperatureChart = echarts.init(document.getElementById("temperature"));
- signalChart.setOption(this.signalOption)
- concentrationChart.setOption(this.concentrationOption)
- voltageChart.setOption(this.voltageOption)
- temperatureChart.setOption(this.temperatureOption)
- },
- // 当前所选传感器发生变化
- currentDeviceHasChanged(e,idx){
- if(this.currentDevice == idx) return;
- this.currentDevice = idx
- // 更新当前设备状态
- this.currentWorkingStatus = e.workingStatus
- // this.currentDeviceLabel = e.deviceName
- // 获取传感器基础数据
- getSensorDataInfoAndList(e.deviceCode).then(res => {
- this.deviceInfo = res.data.info || {}
- // 渲染图表
- this.updateChart(res)
- })
- },
- // 当前选项卡发生变化(传感器 / 摄像头)
- radioHasChanged(v) {
- if (v == '传感器') {
- this.isSensorVisible = true
- } else {
- this.isSensorVisible = false
- }
- },
- open(data) {
- // 重置选项卡状态为传感器
- this.isSensorVisible = true
- this.deviceInfoList = data
- // 填充摄像头数据
- this.cameraList = data[0].cameras
- this.deviceList = data[0].devices
- this.currentWorkingStatus = data[0].devices[0].workingStatus
- // 获取传感器基础数据
- if(this.deviceList.length != 0){
- getSensorDataInfoAndList(this.deviceList[0].deviceCode).then(res => {
- this.deviceInfo = res.data.info
- // 渲染图表
- this.updateChart(res)
- })
- }
- // 填充传感器数据 && 调取传感器详情
- this.currentDeviceLabel = data[0].value
- // this.currentCameraParam = data
- this.tvWallInfoVisible = true
- setTimeout(() => {
- this.initChart()
- })
- },
- updateChart(res){
- this.signalOption.series[0].data = res.data.signalStrengthList
- this.concentrationOption.series[0].data = res.data.smokescopeList
- this.voltageOption.series[0].data = res.data.cellVoltageList
- this.temperatureOption.series[0].data = res.data.temperaturethList
- this.signalOption.xAxis.data = res.data.createTimeList
- this.concentrationOption.xAxis.data = res.data.createTimeList
- this.voltageOption.xAxis.data = res.data.createTimeList
- this.temperatureOption.xAxis.data = res.data.createTimeList
- setTimeout(() => {
- this.initChart()
- })
- },
- update(option, type) {
- this.currentType = type
- this.deviceInfoList = []
- this.workingStatus = option.workingStatus
- if (option.workingStatus == 0) {
- // 在线
- this.currentDevicePic = require('@/assets/images/camera-online.png')
- } else {
- // 离线
- this.currentDevicePic = require('@/assets/images/camera-offline.png')
- }
- switch (type) {
- case 'dataCenter':
- if (option.cameras.length == 0) {
- // 离线
- this.currentCenterStatus = false
- this.currentDevicePic = require('@/assets/images/camera-offline.png')
- } else {
- // 在线
- this.currentCenterStatus = true
- this.currentDevicePic = require('@/assets/images/camera-online.png')
- }
- if (option.pictures.length != 0) {
- let newArr = []
- option.pictures.forEach(e => {
- newArr.push(
- e
- )
- })
- }
- let newArr = []
- for (let key in option.detail) {
- newArr.push({
- key,
- value: option.detail[key]
- })
- }
- this.deviceInfoList = newArr
- break;
- case 'animal':
- if (option.cameraList.length == 0) {
- // 离线
- this.currentCenterStatus = false
- this.currentDevicePic = require('@/assets/images/camera-offline.png')
- } else {
- // 在线
- this.currentCenterStatus = true
- this.currentDevicePic = require('@/assets/images/camera-online.png')
- }
- let animalArr = []
- this.animalInfoKey.forEach(e => {
- animalArr.push({
- key: e.value,
- value: option[e.key]
- })
- })
- this.deviceInfoList = animalArr
- break;
- case 'tree':
- let treeArr = []
- this.treeInfoKey.forEach(e => {
- treeArr.push({
- key: e.value,
- value: option[e.key]
- })
- })
- this.deviceInfoList = treeArr
- break;
- case 'SHE':
- this.infoKey.forEach(e => {
- this.deviceInfoList.push({
- key: e.value,
- value: option[e.key]
- })
- })
- break;
- case 'CHUAN':
- this.currentDevicePic = null
- if (option.cameras.length == 0) {
- // 在线
- this.currentCenterStatus = false
- this.currentDevicePic = require('@/assets/images/camera-offline.png')
- } else {
- // 离线
- this.currentCameraParam = {
- cameras: option.cameras,
- longitude: option.longitude,
- latitude: option.latitude
- }
- this.currentCenterStatus = true
- this.currentDevicePic = require('@/assets/images/camera-online.png')
- }
- let chuanArr = []
- for (let key in option.deviceList) {
- chuanArr.push({
- key,
- value: option.deviceList[key]
- })
- }
- for (let key in option.sensorDetectionList) {
- chuanArr.push({
- key,
- value: option.sensorDetectionList[key]
- })
- }
- this.deviceInfoList = chuanArr
- break;
- case 'LA':
- this.laInfoKey.forEach(e => {
- if (e.key == 'broadcastUse') {
- this.deviceInfoList.push({
- key: e.value,
- value: option[e.key] == '1' ? '应急云广播' : '2' ? '智能云广播' : null
- })
- } else {
- this.deviceInfoList.push({
- key: e.value,
- value: option[e.key]
- })
- }
- })
- this.currentDevicePic = require('@/assets/images/cloudBroadcast.png')
- break;
- case 'Zhi':
- this.infoKey.forEach(e => {
- this.deviceInfoList.push({
- key: e.value,
- value: option[e.key]
- })
- })
- break;
- }
- this.tvWallInfoVisible = true
- },
- toDo() {
- switch (this.localMark) {
- case 'She':
- if (this.workingStatus != 0) return
- this.$emit('toTvWall', this.currentCameraParam)
- break;
- case 'Chuan':
- this.$emit('toTvWall_cgq', this.currentCameraParam)
- break;
- case 'La':
- this.$emit('jump')
- break;
- case 'dataCenter':
- if (!this.currentCenterStatus) return
- this.$emit('toTvWall')
- break;
- case 'animal':
- this.$emit('sewageOutletClick', this.currentCameraParam)
- break;
- case 'Zhi':
- if (this.workingStatus != 0) return
- this.$emit('toTvWall', this.currentCameraParam)
- break;
- }
- }
- },
- watch: {
- localMark(newVal) {
- switch (newVal) {
- case 'she':
- // this.currentDevicePic = require('@/assets/images/camera-online.png')
- break;
- case 'CHUAN':
- break;
- case 'la':
- // this.currentDevicePic = require('@/assets/images/cloudBroadcast.png')
- break;
- }
- }
- }
- }
- </script>
- <style rel="stylesheet/scss" lang="scss" scoped>
- @import '@/assets/styles/base.scss';
- .normal-state{
- color: #06C562 !important;
- }
- .err-state{
- color: #FF0000 !important;
- }
- ::v-deep .el-radio-group {
- width: 100%;
- .el-radio-button {
- width: 50%;
- margin-top: 10%;
- .el-radio-button__inner {
- display: block;
- background-color: #010518;
- }
- .el-radio-button__inner {
- border-left: 1px solid #2C3F73 !important;
- }
- // 选中样式
- .el-radio-button__orig-radio:checked+.el-radio-button__inner {
- background-color: #104A8F;
- border-color: #104A8F;
- }
- }
- .cameraBtn {
- .el-radio-button__inner {
- border-left: none !important;
- }
- }
- }
- .sensorInfo {
- margin-top: 10%;
- height: 75%;
- span {
- color: #2297DA;
- }
- >div{
- >span:nth-child(1){
- display: inline-block;
- width: 140px;
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- }
- >span:nth-child(2){
- float: right;
- }
- }
- }
- .cameraInfo {
- overflow: hidden scroll;
- margin-top: 10%;
- height: 73%;
- .cameradiv {
- img {
- border-radius: 5px;
- border: 1px solid #10539a;
- margin-right: 10px;
- margin-bottom: 10px;
- color: #2297DA;
- cursor: pointer;
- }
- color: #2297DA;
- cursor: pointer;
- >span{
- display: block;
- width: 105px !important;
- }
- }
- .cameradiv:hover{
- >span{
- color: #55D7FF !important;
- }
- }
- >div {
- display: flex;
- }
- >div:not(:nth-child(1)) {
- margin-top: 10%;
- }
- }
- .select-device,.select-camera{
- >span{
- color: #55D7FF !important;
- }
- }
- .device_contain:hover{
- >span{
- color: #55D7FF !important;
- }
- }
- .device_contain span{
- display: block;
- width: 105px !important;
- }
- </style>
- <style lang="scss">
- .tvDialog {
- margin-top: 10vh !important;
- height: 75%;
- padding-top: 0;
- .el-dialog__body {
- height: 92%;
- padding: 0;
- }
- .el-dialog__header {
- height: 8% !important;
- }
- .container {
- height: 100%;
- display: flex;
- background: url('~@/assets/images/tvWallBg.png') 0 0 no-repeat;
- background-size: 100% 100%;
- .leftContain {
- width: 24.2%;
- // border-right: 2px solid #153E42;
- .deviceInfo {
- height: 71%;
- overflow-x: scroll;
- white-space: nowrap;
- >div {
- text-indent: 42px;
- height: 10%;
- font-size: 15px;
- color: #A4A4A4;
- font-weight: 700;
- }
- >div:nth-child(1) {
- margin-top: 7%;
- }
- }
- .deviceInfo::-webkit-scrollbar {
- display: block !important;
- background-color: #101823;
- // border: 1px solid #fff;
- height: 10px !important;
- }
- .deviceInfo::-webkit-scrollbar-thumb {
- background-color: #183974;
- }
- }
- .rightContain {
- width: 73%;
- height: 100%;
- margin: 0 auto 0;
- .sernsorChart_contain {
- width: 100%;
- height: 100%;
- >div {
- width: 100%;
- height: 20%;
- }
- >div {
- margin-top: 4%;
- }
- }
- .camera_contain {
- display: flex;
- flex-wrap: wrap;
- align-content: flex-start;
- width: 100%;
- height: 100%;
- .camera_list_row {
- display: flex;
- flex-direction: column;
- img {
- margin-bottom: 10px;
- border-radius: 5px;
- border: 1px solid #10539a;
- cursor: pointer;
- }
- h4{
- color: #2297DA;
- cursor: pointer;
- text-align: center;
- }
- }
- .camera_list_row:hover{
- >h4{
- color: #55D7FF !important;
- }
- }
- >div {
- width: 20%;
- height: 20%;
- margin-top: 3%;
- }
- >div:nth-child(4n-3) {
- margin-left: 8%;
- }
- >div:not(:nth-child(4n-3)) {
- margin-left: 3%;
- }
- }
- }
- }
- }
- .leader-info-container {
- .el-descriptions-item__label {
- width: 77px !important;
- }
- }
- .bd-table {
- .el-descriptions__body {
- .el-descriptions__table {
- .el-descriptions-row {
- .el-descriptions-item__cell {
- border: 1px solid #2297DA;
- color: #2297DA;
- }
- }
- }
- }
- }
- </style>
|