|
@@ -0,0 +1,710 @@
|
|
|
|
|
+<!--
|
|
|
|
|
+ *@description: 生命线 - 综合信息详情弹窗
|
|
|
|
|
+ *@author: yh Fu
|
|
|
|
|
+ *@date: 2025-10-16 13:24:13
|
|
|
|
|
+ *@version: V1.0.5
|
|
|
|
|
+ -->
|
|
|
|
|
+<template>
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <el-dialog title="事件详情" :visible.sync="eventDialogVisible" custom-class="eventDialog"
|
|
|
|
|
+ style="margin-top: 5vh !important;"
|
|
|
|
|
+ >
|
|
|
|
|
+ <div class="transferBg d1">
|
|
|
|
|
+ <h3>事件基本信息</h3>
|
|
|
|
|
+ <div class="eventInfo_contain">
|
|
|
|
|
+ <div style="width: 100%;" class="sj_tit">事件名称:{{ eventInfo.eventTitle || '' }}</div>
|
|
|
|
|
+ <div>事件类型:{{ eventInfo.eventTypeDlLabel || '' }}</div>
|
|
|
|
|
+ <div>上报时间:{{ eventInfo.createTime || '' }}</div>
|
|
|
|
|
+ <div>事件状态:{{ eventInfo.eventStatusLabel || '' }}</div>
|
|
|
|
|
+ <div>经度:{{ eventInfo.longitude || '' }}</div>
|
|
|
|
|
+ <div>纬度:{{ eventInfo.latitude || '' }}</div>
|
|
|
|
|
+ <div class="videoLinkage"></div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="transferBg d2">
|
|
|
|
|
+ <h3>事件处理流程</h3>
|
|
|
|
|
+ <div class="progress_contain" v-if="eventInfo.eventStatusLabel=='上报'">
|
|
|
|
|
+ <div class="line"></div>
|
|
|
|
|
+ <div class="e1" v-if="eventInfo.eventStatusLabel=='上报'">
|
|
|
|
|
+ <img src="@/assets/images/eventLogo2.png">
|
|
|
|
|
+ <div>事件发起</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <!-- <div class="e2" v-if="eventInfo.eventStatusLabel=='签收'">-->
|
|
|
|
|
+ <!-- <img src="@/assets/images/eventLogo2.png">-->
|
|
|
|
|
+ <!-- <div>事件签收</div>-->
|
|
|
|
|
+ <!-- </div>-->
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="progress_contain" v-if="eventInfo.eventStatusLabel=='办结'">
|
|
|
|
|
+ <div class="line"></div>
|
|
|
|
|
+ <div class="e1">
|
|
|
|
|
+ <img src="@/assets/images/eventLogo2.png">
|
|
|
|
|
+ <div>事件发起</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <!-- <div class="e2">-->
|
|
|
|
|
+ <!-- <img src="@/assets/images/eventLogo2.png">-->
|
|
|
|
|
+ <!-- <div>事件签收</div>-->
|
|
|
|
|
+ <!-- </div>-->
|
|
|
|
|
+ <div class="e2">
|
|
|
|
|
+ <img src="@/assets/images/eventLogo2.png">
|
|
|
|
|
+ <div>事件处理</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="progress_contain" v-if="eventInfo.eventStatusLabel=='归档'">
|
|
|
|
|
+ <div class="line"></div>
|
|
|
|
|
+ <div class="e1">
|
|
|
|
|
+ <img src="@/assets/images/eventLogo2.png">
|
|
|
|
|
+ <div>事件发起</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <!-- <div class="e2">-->
|
|
|
|
|
+ <!-- <img src="@/assets/images/eventLogo2.png">-->
|
|
|
|
|
+ <!-- <div>事件签收</div>-->
|
|
|
|
|
+ <!-- </div>-->
|
|
|
|
|
+ <div class="e2">
|
|
|
|
|
+ <img src="@/assets/images/eventLogo2.png">
|
|
|
|
|
+ <div>事件处理</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="e3">
|
|
|
|
|
+ <img src="@/assets/images/eventLogo2.png">
|
|
|
|
|
+ <div>事件结束</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="d3">
|
|
|
|
|
+ <div class="transferBg video" v-if="demoIdx != 1">
|
|
|
|
|
+ <h3>现场图片</h3>
|
|
|
|
|
+ <image-preview :src="require('@/assets/images/alarm.png')" :width="580" :height="360"/>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="transferBg video" v-else>
|
|
|
|
|
+ <h3>计划附件</h3>
|
|
|
|
|
+ <image-preview src="http://116.142.80.13:8081/group1/M00/00/2E/wKgKC2kNSGGACoyXAACpxjuIY5c521.png"
|
|
|
|
|
+ :width="580" :height="360"
|
|
|
|
|
+ />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="mid">
|
|
|
|
|
+ <div class="transferBg info" v-if="demoIdx != 1">
|
|
|
|
|
+ <h3>现场状况</h3>
|
|
|
|
|
+ <div class="xczk_div">
|
|
|
|
|
+ <div>事件当前伤亡:0人</div>
|
|
|
|
|
+ <div>事件预警影响:10人</div>
|
|
|
|
|
+ <div>预计解决时间:3天</div>
|
|
|
|
|
+ <div>当前处理人员:王鹤</div>
|
|
|
|
|
+ <div>处理人员电话:18130987651</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="transferBg info_right" :class="demoIdx == 1 ? 'demoDeptStylesheet' : '' ">
|
|
|
|
|
+ <h3 v-show="demoIdx != 0">联动部门</h3>
|
|
|
|
|
+ <h4 v-show="demoIdx != 0" style="margin-top: 4%;"></h4>
|
|
|
|
|
+ <div v-show="demoIdx != 0" class="planItem"
|
|
|
|
|
+ style="border-left: none; display: flex; align-items: center;"
|
|
|
|
|
+ >
|
|
|
|
|
+ <img src="@/assets/images/online-img2.png"
|
|
|
|
|
+ style="width: 30px; height:30px; margin:0 5px 0 0 ;"
|
|
|
|
|
+ >
|
|
|
|
|
+ <div style="margin-top: 0 !important;">四平市</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <h3 v-show="demoIdx == 0">设备数据</h3>
|
|
|
|
|
+ <div v-show="demoIdx == 0" class="div_Option" ref="divOption"></div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="transferBg pics">
|
|
|
|
|
+ <h3>处置照片</h3>
|
|
|
|
|
+ <div class="otherPics">
|
|
|
|
|
+ <image-preview :src="require('@/assets/images/alarm_1.png')" :width="200" :height="137"/>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <!-- <router-link to="#" v-for="item, index in emergencyEventDetails.attachPath">
|
|
|
|
|
+ <el-image :src="item"
|
|
|
|
|
+ :preview-src-list="assetTypeAnImage(emergencyEventDetails.attachPath, index)"
|
|
|
|
|
+ style="width:8rem; height:8rem;margin: 5px;">
|
|
|
|
|
+ </el-image>
|
|
|
|
|
+ </router-link>
|
|
|
|
|
+ </div> -->
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="right transferBg">
|
|
|
|
|
+ <h3>事件日志</h3>
|
|
|
|
|
+ <div class="block le_ri">
|
|
|
|
|
+ <el-scrollbar style="height: 378px;" class="spsb_time">
|
|
|
|
|
+ <el-timeline v-for="(item,idx) in eventLog">
|
|
|
|
|
+ <el-timeline-item placement="top">
|
|
|
|
|
+ <span class="timeline-span">{{ item.createTime || '' }}</span>
|
|
|
|
|
+ <el-card>
|
|
|
|
|
+ <h4>{{ item.logContent || '' }}</h4>
|
|
|
|
|
+ <p>{{ item.createName || '' }} 提交于 {{ item.createTime || '' }}</p>
|
|
|
|
|
+ </el-card>
|
|
|
|
|
+ </el-timeline-item>
|
|
|
|
|
+ </el-timeline>
|
|
|
|
|
+ </el-scrollbar>
|
|
|
|
|
+ <div class="spsb_xx">
|
|
|
|
|
+ <textarea class="spsb_text" v-model="reviewDescription" placeholder=""> </textarea>
|
|
|
|
|
+ <div class="btn_option">
|
|
|
|
|
+ <el-button>签收</el-button>
|
|
|
|
|
+ <el-button>办结</el-button>
|
|
|
|
|
+ <el-button>驳回</el-button>
|
|
|
|
|
+ <el-button>归档</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </el-dialog>
|
|
|
|
|
+ </div>
|
|
|
|
|
+</template>
|
|
|
|
|
+
|
|
|
|
|
+<script>
|
|
|
|
|
+// 其他组件改为动态导入,在components中定义
|
|
|
|
|
+import * as echarts from 'echarts'
|
|
|
|
|
+import { deviceMonitoringLineChart } from '@/api/tableInfo'
|
|
|
|
|
+import { getEventDetail } from '@/api/eventLifeLine'
|
|
|
|
|
+
|
|
|
|
|
+export default {
|
|
|
|
|
+ name: 'eventDetail',
|
|
|
|
|
+ data() {
|
|
|
|
|
+ return {
|
|
|
|
|
+ eventDialogVisible: false,
|
|
|
|
|
+ reviewDescription: '',
|
|
|
|
|
+ eventInfo: {},//事件详情
|
|
|
|
|
+ eventLog: [],//事件日志
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ methods: {
|
|
|
|
|
+ isImgUrl(value) {
|
|
|
|
|
+ const regex = /^(https?:\/\/)?([\w.-]+)(:[0-9]+)?(\/[\w./%-]*)*\.(jpg|jpeg|png|gif|bmp|webp|svg|tiff|ico)$/i
|
|
|
|
|
+ return regex.test(value)
|
|
|
|
|
+ },
|
|
|
|
|
+ isFileUrl(value) {
|
|
|
|
|
+ const regex = /^(https?:\/\/)?([\w.-]+)(:[0-9]+)?(\/[\w./%-]*)*\.(jpg|jpeg|png|gif|bmp|webp|svg|tiff|ico|doc|docx|xls|xlsx|ppt|pptx|txt|csv|pdf|zip|rar|7z|tar|gz|mp3|wav|mp4|avi|mov|mkv|flv|webm|json|xml|html|htm)$/i
|
|
|
|
|
+ return regex.test(value)
|
|
|
|
|
+ },
|
|
|
|
|
+ handleFileClick(url) {
|
|
|
|
|
+ if (url) {
|
|
|
|
|
+ window.open(url, '_blank')
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ // 打开事件详情弹窗
|
|
|
|
|
+ openEventDetail(eventId) {
|
|
|
|
|
+ getEventDetail({
|
|
|
|
|
+ eventId: eventId
|
|
|
|
|
+ }).then(res => {
|
|
|
|
|
+ this.eventInfo = res.data.detail
|
|
|
|
|
+ this.eventLog = res.data.eventLog
|
|
|
|
|
+ this.eventDialogVisible = true
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ openDetailEachart(deviceCode, date) {
|
|
|
|
|
+ this.divOptionDialog = true
|
|
|
|
|
+ deviceMonitoringLineChart({ deviceCode: deviceCode, ...(date ? { date: date } : {}) }).then(res => {
|
|
|
|
|
+ let resDataObj = res.data
|
|
|
|
|
+ let resData = {
|
|
|
|
|
+ 'series': [
|
|
|
|
|
+ {
|
|
|
|
|
+ 'data': resDataObj.series.oneWaterSupplyPressure.map(value => value === '-100.0' ? '0' : value),
|
|
|
|
|
+ 'name': '一次网供水压力'
|
|
|
|
|
+ }, {
|
|
|
|
|
+ 'data': resDataObj.series.oneBackwaterPressure.map(value => value === '-100.0' ? '0' : value),
|
|
|
|
|
+ 'name': '一次网回水压力'
|
|
|
|
|
+ }, {
|
|
|
|
|
+ 'data': resDataObj.series.oneBackwaterToa.map(value => value === '-100.0' ? '0' : value),
|
|
|
|
|
+ 'name': '一次网回水温度'
|
|
|
|
|
+ }, {
|
|
|
|
|
+ 'data': resDataObj.series.oneWaterSupplyToa.map(value => value === '-100.0' ? '0' : value),
|
|
|
|
|
+ 'name': '一次网供水温度'
|
|
|
|
|
+ }, {
|
|
|
|
|
+ 'data': resDataObj.series.flowRate.map(value => value === '-100.0' ? '0' : value),
|
|
|
|
|
+ 'name': '流量'
|
|
|
|
|
+ }, {
|
|
|
|
|
+ 'data': resDataObj.series.twoWaterSupplyPressure.map(value => value === '-100.0' ? '0' : value),
|
|
|
|
|
+ 'name': '二次网供水压力'
|
|
|
|
|
+ }, {
|
|
|
|
|
+ 'data': resDataObj.series.twoBackwaterPressure.map(value => value === '-100.0' ? '0' : value),
|
|
|
|
|
+ 'name': '二次网回水压力'
|
|
|
|
|
+ }, {
|
|
|
|
|
+ 'data': resDataObj.series.twoWaterSupplyToa.map(value => value === '-100.0' ? '0' : value),
|
|
|
|
|
+ 'name': '二次网供水温度'
|
|
|
|
|
+ }, {
|
|
|
|
|
+ 'data': resDataObj.series.twoBackwaterToa.map(value => value === '-100.0' ? '0' : value),
|
|
|
|
|
+ 'name': '二次网回水温度'
|
|
|
|
|
+ }],
|
|
|
|
|
+ 'categories': resDataObj.timeLabels
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ const chartDom = this.$refs.divOption
|
|
|
|
|
+ const myChart = echarts.init(chartDom)
|
|
|
|
|
+ var xData = resData.categories
|
|
|
|
|
+ var color = ['#fa704d', '#01babc', '#1a9bfc', '#99da69', '#e32f46', '#7049f0', '#fa704d', '#01babc', '#1a9bfc', '#99da69', '#7049f0', '#e32f46']
|
|
|
|
|
+
|
|
|
|
|
+ var name = []
|
|
|
|
|
+ var data = []
|
|
|
|
|
+ for (const datum of resData.series) {
|
|
|
|
|
+ name.push(datum.name)
|
|
|
|
|
+ data.push(datum.data)
|
|
|
|
|
+ }
|
|
|
|
|
+ var series = []
|
|
|
|
|
+ for (var i = 0; i < name.length; i++) {
|
|
|
|
|
+ series.push({
|
|
|
|
|
+ name: name[i],
|
|
|
|
|
+ type: 'line',
|
|
|
|
|
+ symbolSize: 3, //标记的大小,可以设置成诸如 10 这样单一的数字,也可以用数组分开表示宽和高,例如 [20, 10] 表示标记宽为20,高为10[ default: 4 ]
|
|
|
|
|
+ symbol: 'circle', //标记的图形。ECharts 提供的标记类型包括 'circle', 'rect', 'roundRect', 'triangle', 'diamond', 'pin', 'arrow'
|
|
|
|
|
+ smooth: true, //是否平滑曲线显示
|
|
|
|
|
+ showSymbol: true, //是否显示 symbol, 如果 false 则只有在 tooltip hover 的时候显示
|
|
|
|
|
+ areaStyle: {
|
|
|
|
|
+ normal: {
|
|
|
|
|
+ color: new echarts.graphic.LinearGradient(
|
|
|
|
|
+ 0,
|
|
|
|
|
+ 0,
|
|
|
|
|
+ 0,
|
|
|
|
|
+ 1,
|
|
|
|
|
+ [{
|
|
|
|
|
+ offset: 0,
|
|
|
|
|
+ color: color[i]
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ offset: 0.8,
|
|
|
|
|
+ color: 'rgba(255,255,255,0)'
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
|
|
+ false
|
|
|
|
|
+ ),
|
|
|
|
|
+ // shadowColor: 'rgba(255,255,255, 0.1)',
|
|
|
|
|
+ shadowBlur: 10,
|
|
|
|
|
+ opacity: 0.3
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ itemStyle: {
|
|
|
|
|
+ normal: {
|
|
|
|
|
+ color: color[i],
|
|
|
|
|
+ lineStyle: {
|
|
|
|
|
+ width: 1,
|
|
|
|
|
+ type: 'solid' //'dotted'虚线 'solid'实线
|
|
|
|
|
+ },
|
|
|
|
|
+ borderColor: color[i], //图形的描边颜色。支持的格式同 color
|
|
|
|
|
+ borderWidth: 8, //描边线宽。为 0 时无描边。[ default: 0 ]
|
|
|
|
|
+ barBorderRadius: 0,
|
|
|
|
|
+ label: {
|
|
|
|
|
+ show: false
|
|
|
|
|
+ },
|
|
|
|
|
+ opacity: 0.5
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ yAxisIndex: name[i].includes('压力') ? 1 : 0,
|
|
|
|
|
+ data: data[i]
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ this.option = {
|
|
|
|
|
+ legend: {
|
|
|
|
|
+ top: 10,
|
|
|
|
|
+ itemGap: 5,
|
|
|
|
|
+ itemWidth: 5,
|
|
|
|
|
+ textStyle: {
|
|
|
|
|
+ color: '#fff',
|
|
|
|
|
+ fontSize: '10'
|
|
|
|
|
+ },
|
|
|
|
|
+ data: name
|
|
|
|
|
+ },
|
|
|
|
|
+ tooltip: {
|
|
|
|
|
+ trigger: 'axis',
|
|
|
|
|
+ axisPointer: {
|
|
|
|
|
+ // 坐标轴指示器,坐标轴触发有效
|
|
|
|
|
+ type: 'line', // 默认为直线,可选为:'line' | 'shadow'
|
|
|
|
|
+ lineStyle: {
|
|
|
|
|
+ color: '#57617B'
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ backgroundColor: 'rgba(0,60,120,0.8)', // 设置提示框背景为蓝色
|
|
|
|
|
+ padding: [8, 10], //内边距
|
|
|
|
|
+ extraCssText: 'box-shadow: 0 0 3px rgba(255, 255, 255, 0.4);', //添加阴影
|
|
|
|
|
+ formatter: function(params) {
|
|
|
|
|
+ let result = params[0].name + '<br/>'
|
|
|
|
|
+ params.forEach(param => {
|
|
|
|
|
+ switch (param.seriesName) {
|
|
|
|
|
+ case '一次网供水压力':
|
|
|
|
|
+ result += param.seriesName + ': ' + param.value + 'MPa<br/>'
|
|
|
|
|
+ break
|
|
|
|
|
+ case '一次网回水压力':
|
|
|
|
|
+ result += param.seriesName + ': ' + param.value + 'MPa<br/>'
|
|
|
|
|
+ break
|
|
|
|
|
+ case '一次网供水温度':
|
|
|
|
|
+ result += param.seriesName + ': ' + param.value + '℃<br/>'
|
|
|
|
|
+ break
|
|
|
|
|
+ case '一次网回水温度':
|
|
|
|
|
+ result += param.seriesName + ': ' + param.value + '℃<br/>'
|
|
|
|
|
+ break
|
|
|
|
|
+ case '流量':
|
|
|
|
|
+ result += param.seriesName + ': ' + param.value + 'm³/h<br/>'
|
|
|
|
|
+ break
|
|
|
|
|
+ case '二次网供水压力':
|
|
|
|
|
+ result += param.seriesName + ': ' + param.value + 'MPa<br/>'
|
|
|
|
|
+ break
|
|
|
|
|
+ case '二次网回水压力':
|
|
|
|
|
+ result += param.seriesName + ': ' + param.value + 'MPa<br/>'
|
|
|
|
|
+ break
|
|
|
|
|
+ case '二次网供水温度':
|
|
|
|
|
+ result += param.seriesName + ': ' + param.value + '℃<br/>'
|
|
|
|
|
+ break
|
|
|
|
|
+ case '二次网回水温度':
|
|
|
|
|
+ result += param.seriesName + ': ' + param.value + '℃<br/>'
|
|
|
|
|
+ break
|
|
|
|
|
+ default:
|
|
|
|
|
+ break
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ return result
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ grid: {
|
|
|
|
|
+ borderWidth: 0,
|
|
|
|
|
+ top: 50,
|
|
|
|
|
+ bottom: 20,
|
|
|
|
|
+ textStyle: {
|
|
|
|
|
+ color: '#fff'
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ xAxis: [{
|
|
|
|
|
+ type: 'category',
|
|
|
|
|
+ axisLine: {
|
|
|
|
|
+ lineStyle: {
|
|
|
|
|
+ color: '#32346c'
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ boundaryGap: false, //坐标轴两边留白策略,类目轴和非类目轴的设置和表现不一样
|
|
|
|
|
+ axisTick: {
|
|
|
|
|
+ show: false
|
|
|
|
|
+ },
|
|
|
|
|
+ splitArea: {
|
|
|
|
|
+ show: false
|
|
|
|
|
+ },
|
|
|
|
|
+ axisLabel: {
|
|
|
|
|
+ inside: false,
|
|
|
|
|
+ textStyle: {
|
|
|
|
|
+ color: '#bac0c0',
|
|
|
|
|
+ fontWeight: 'normal',
|
|
|
|
|
+ fontSize: '12'
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ data: xData
|
|
|
|
|
+ }],
|
|
|
|
|
+ yAxis: [{
|
|
|
|
|
+ name: '℃',
|
|
|
|
|
+ type: 'value',
|
|
|
|
|
+ axisTick: {
|
|
|
|
|
+ show: false
|
|
|
|
|
+ },
|
|
|
|
|
+ axisLine: {
|
|
|
|
|
+ show: true,
|
|
|
|
|
+ lineStyle: {
|
|
|
|
|
+ color: '#9bbdde'
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ splitLine: {
|
|
|
|
|
+ show: true,
|
|
|
|
|
+ lineStyle: {
|
|
|
|
|
+ color: '#32346c '
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ axisLabel: {
|
|
|
|
|
+ textStyle: {
|
|
|
|
|
+ color: '#bac0c0',
|
|
|
|
|
+ fontWeight: 'normal',
|
|
|
|
|
+ fontSize: '12'
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: 'MPa',
|
|
|
|
|
+ type: 'value',
|
|
|
|
|
+ axisTick: {
|
|
|
|
|
+ show: false
|
|
|
|
|
+ },
|
|
|
|
|
+ axisLine: {
|
|
|
|
|
+ show: true,
|
|
|
|
|
+ lineStyle: {
|
|
|
|
|
+ color: '#9bbdde'
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ splitLine: {
|
|
|
|
|
+ show: true,
|
|
|
|
|
+ lineStyle: {
|
|
|
|
|
+ color: '#32346c '
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ axisLabel: {
|
|
|
|
|
+ textStyle: {
|
|
|
|
|
+ color: '#bac0c0',
|
|
|
|
|
+ fontWeight: 'normal',
|
|
|
|
|
+ fontSize: '12'
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }],
|
|
|
|
|
+ series: series
|
|
|
|
|
+ }
|
|
|
|
|
+ console.log('this.option', this.option)
|
|
|
|
|
+ console.log(this.option)
|
|
|
|
|
+ myChart.setOption(this.option, true)
|
|
|
|
|
+ window.addEventListener('resize', function() {
|
|
|
|
|
+ myChart.resize()
|
|
|
|
|
+ })
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+}
|
|
|
|
|
+</script>
|
|
|
|
|
+
|
|
|
|
|
+<style rel="stylesheet/scss" lang="scss" scoped>
|
|
|
|
|
+@import '@/assets/styles/base.scss';
|
|
|
|
|
+</style>
|
|
|
|
|
+
|
|
|
|
|
+<style lang="scss">
|
|
|
|
|
+/*.longValue{*/
|
|
|
|
|
+/*width: 100% !important;*/
|
|
|
|
|
+/*flex-direction: row!important;*/
|
|
|
|
|
+/*span{*/
|
|
|
|
|
+/*display: block;*/
|
|
|
|
|
+/*}*/
|
|
|
|
|
+/*}*/
|
|
|
|
|
+
|
|
|
|
|
+.dialog2 {
|
|
|
|
|
+ .tvDialog {
|
|
|
|
|
+ background: none;
|
|
|
|
|
+ margin-top: 10vh !important;
|
|
|
|
|
+ background: none;
|
|
|
|
|
+ border: 0px;
|
|
|
|
|
+ width: 40% !important;
|
|
|
|
|
+
|
|
|
|
|
+ padding-top: 0;
|
|
|
|
|
+
|
|
|
|
|
+ .container {
|
|
|
|
|
+ background: #041b32;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .tvDialog {
|
|
|
|
|
+ /*height: auto!important;*/
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .tk_list {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ position: relative;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .TVWallCustomWidth {
|
|
|
|
|
+ height: 100% !important;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .TVWallCustomWidth .el-descriptions__body .el-descriptions-item__label {
|
|
|
|
|
+ width: 400px !important;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .tvPicHighlight {
|
|
|
|
|
+ border: 6px solid #B8741A;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .tvPicNotHighlight {
|
|
|
|
|
+ border: none;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ .el-dialog__body {
|
|
|
|
|
+ height: 92%;
|
|
|
|
|
+ padding: 0;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .el-dialog__header {
|
|
|
|
|
+ background: #091225 url("../../assets/images/sp_dtitbg.png") no-repeat left;
|
|
|
|
|
+ text-align: left;
|
|
|
|
|
+ padding: 0px 0px 0px 45px !important;
|
|
|
|
|
+ line-height: 40px;
|
|
|
|
|
+
|
|
|
|
|
+ .el-dialog__title {
|
|
|
|
|
+ color: #fff;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .el-dialog__headerbtn {
|
|
|
|
|
+ top: 11px !important;
|
|
|
|
|
+ background: url("../../assets/images/sp_close.png") no-repeat center;
|
|
|
|
|
+ width: 17px;
|
|
|
|
|
+
|
|
|
|
|
+ i {
|
|
|
|
|
+
|
|
|
|
|
+ color: #0e3585;
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ i::before {
|
|
|
|
|
+ display: none;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .tvPicHighlight {
|
|
|
|
|
+ border: 6px solid #B8741A;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .tvPicNotHighlight {
|
|
|
|
|
+ border: none;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .container {
|
|
|
|
|
+ height: 100%;
|
|
|
|
|
+ display: -webkit-box;
|
|
|
|
|
+ display: -ms-flexbox;
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ background-size: 100% 100%;
|
|
|
|
|
+ background: rgb(4 18 50 / 84%) url(../../assets/images/sp_dneibg.png) no-repeat top;
|
|
|
|
|
+ background-size: contain;
|
|
|
|
|
+ border: 6px solid;
|
|
|
|
|
+ border-image-source: linear-gradient(to bottom, #19273d, #344e6d);
|
|
|
|
|
+ border-image-slice: 1;
|
|
|
|
|
+
|
|
|
|
|
+ .leftContain {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+
|
|
|
|
|
+ .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;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .deviceIcon {
|
|
|
|
|
+ width: 30%;
|
|
|
|
|
+ margin: 7% 0 0 35%;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .leader-info-container {
|
|
|
|
|
+ .el-descriptions-item__label {
|
|
|
|
|
+ width: 77px !important;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ .tk_list_con {
|
|
|
|
|
+ float: left;
|
|
|
|
|
+ width: 75%;
|
|
|
|
|
+ height: 296px;
|
|
|
|
|
+ overflow-y: scroll;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .imgzw {
|
|
|
|
|
+ width: 170px;
|
|
|
|
|
+ height: 300px;
|
|
|
|
|
+ display: block;
|
|
|
|
|
+ margin: 0px 10px 0px 0px;
|
|
|
|
|
+ border-radius: 5px;
|
|
|
|
|
+ border: 1px dashed #0b3974;
|
|
|
|
|
+ float: left;
|
|
|
|
|
+ background: url("../../assets/images/sp_iconbtn2.png") no-repeat center;
|
|
|
|
|
+ // border: solid 1px #2c4362;
|
|
|
|
|
+ img {
|
|
|
|
|
+ display: block;
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ height: auto;
|
|
|
|
|
+ margin: 10px 0;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .tk_list_div {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ margin-bottom: 5px;
|
|
|
|
|
+
|
|
|
|
|
+ span {
|
|
|
|
|
+ display: inline-block;
|
|
|
|
|
+ color: #fff;
|
|
|
|
|
+ line-height: 30px;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .tk_list_div span:nth-child(1) {
|
|
|
|
|
+ text-align: right;
|
|
|
|
|
+ background: rgb(28 46 76 / 47%);
|
|
|
|
|
+ color: #fff;
|
|
|
|
|
+ padding: 0px 5px;
|
|
|
|
|
+ min-width: 80px;
|
|
|
|
|
+ margin-right: 5px;
|
|
|
|
|
+ vertical-align: top;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .tk_list_left {
|
|
|
|
|
+ width: 64%;
|
|
|
|
|
+ float: left;
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .tk_list_right {
|
|
|
|
|
+ span {
|
|
|
|
|
+ display: block;
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ img {
|
|
|
|
|
+ margin: 10px 5px;
|
|
|
|
|
+ border: 1px solid #0f1e3c;
|
|
|
|
|
+ width: 180px;
|
|
|
|
|
+ height: 160px;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .div_Option {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+ height: 22vh;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .shexiangTou {
|
|
|
|
|
+ position: absolute;
|
|
|
|
|
+ right: 4px;
|
|
|
|
|
+ bottom: 6px;
|
|
|
|
|
+ opacity: 0.5;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.TVWallCustomWidth {
|
|
|
|
|
+ height: 100% !important;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.TVWallCustomWidth .el-descriptions__body .el-descriptions-item__label {
|
|
|
|
|
+ width: 400px !important;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.tvPicHighlight {
|
|
|
|
|
+ border: 6px solid #B8741A;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.tvPicNotHighlight {
|
|
|
|
|
+ border: none;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.leader-info-container {
|
|
|
|
|
+ .el-descriptions-item__label {
|
|
|
|
|
+ width: 77px !important;
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+</style>
|