|
|
@ -1,66 +1,104 @@
|
|
|
|
<template>
|
|
|
|
<template>
|
|
|
|
<div class="realtimeData">
|
|
|
|
<div class="realtimeData">
|
|
|
|
<div class="realHead">
|
|
|
|
<div class="realcontain">
|
|
|
|
<div class="greyBox">
|
|
|
|
<div class="realHead">
|
|
|
|
<div class="selectBox">
|
|
|
|
<h3>{{ msgTitle }}</h3>
|
|
|
|
<h4>选择区域</h4>
|
|
|
|
<el-button
|
|
|
|
<el-radio-group
|
|
|
|
@click="handleTypeDraw"
|
|
|
|
v-model="areaVal"
|
|
|
|
type="primary"
|
|
|
|
size="mini"
|
|
|
|
style="margin-left: 16px"
|
|
|
|
@input="handleAreaChange"
|
|
|
|
>
|
|
|
|
>
|
|
|
|
选择设备类型
|
|
|
|
<el-radio
|
|
|
|
</el-button>
|
|
|
|
v-for="item in areaAllList"
|
|
|
|
<el-button
|
|
|
|
:key="item.id"
|
|
|
|
@click="handleAreaDraw"
|
|
|
|
:label="item.id"
|
|
|
|
type="primary"
|
|
|
|
border
|
|
|
|
style="margin-left: 16px"
|
|
|
|
>
|
|
|
|
>
|
|
|
|
{{ item.mc }}
|
|
|
|
选择区域和主设备
|
|
|
|
</el-radio>
|
|
|
|
</el-button>
|
|
|
|
</el-radio-group>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<el-button
|
|
|
|
<div class="selectBox">
|
|
|
|
v-if="msgTitle == '设备类型实时数据'"
|
|
|
|
<h4>选择主设备</h4>
|
|
|
|
@click="exporTypeData"
|
|
|
|
<div class="zsbBox" v-if="zsbAllList.length !== 0">
|
|
|
|
type="primary"
|
|
|
|
<el-radio-group
|
|
|
|
style="margin-left: 16px"
|
|
|
|
v-model="zsbVal"
|
|
|
|
>
|
|
|
|
size="mini"
|
|
|
|
按设备类型导出
|
|
|
|
@input="handlezsbChange"
|
|
|
|
</el-button>
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
<el-radio
|
|
|
|
v-else
|
|
|
|
v-for="item in zsbAllList"
|
|
|
|
@click="exporZsbData"
|
|
|
|
:key="item.id"
|
|
|
|
type="primary"
|
|
|
|
:label="item.id"
|
|
|
|
style="margin-left: 16px"
|
|
|
|
border
|
|
|
|
>
|
|
|
|
|
|
|
|
按主设备导出
|
|
|
|
|
|
|
|
</el-button>
|
|
|
|
|
|
|
|
<el-drawer title="选择条件" :visible.sync="typedrawer" direction="ttb">
|
|
|
|
|
|
|
|
<div class="greyBox">
|
|
|
|
|
|
|
|
<div class="selectBox">
|
|
|
|
|
|
|
|
<h4>选择设备类型</h4>
|
|
|
|
|
|
|
|
<el-radio-group
|
|
|
|
|
|
|
|
v-model="deviceTypeVal"
|
|
|
|
|
|
|
|
size="mini"
|
|
|
|
|
|
|
|
@input="handletypeChange"
|
|
|
|
>
|
|
|
|
>
|
|
|
|
{{ item.mc }}
|
|
|
|
<el-radio
|
|
|
|
</el-radio>
|
|
|
|
v-for="item in deviceTypeList"
|
|
|
|
</el-radio-group>
|
|
|
|
:key="item.id"
|
|
|
|
|
|
|
|
:label="item.id"
|
|
|
|
|
|
|
|
border
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
{{ item.mc }}
|
|
|
|
|
|
|
|
</el-radio>
|
|
|
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="zsbBox" v-else>
|
|
|
|
</el-drawer>
|
|
|
|
<p class="empytBox">暂无数据</p>
|
|
|
|
<el-drawer title="选择条件" :visible.sync="areadrawer" direction="ttb">
|
|
|
|
|
|
|
|
<div class="greyBox">
|
|
|
|
|
|
|
|
<div class="selectBox">
|
|
|
|
|
|
|
|
<h4>选择区域</h4>
|
|
|
|
|
|
|
|
<el-radio-group
|
|
|
|
|
|
|
|
v-model="areaVal"
|
|
|
|
|
|
|
|
size="mini"
|
|
|
|
|
|
|
|
@input="handleAreaChange"
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<el-radio
|
|
|
|
|
|
|
|
v-for="item in areaAllList"
|
|
|
|
|
|
|
|
:key="item.id"
|
|
|
|
|
|
|
|
:label="item.id"
|
|
|
|
|
|
|
|
border
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
{{ item.mc }}
|
|
|
|
|
|
|
|
</el-radio>
|
|
|
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="selectBox">
|
|
|
|
|
|
|
|
<h4>选择主设备</h4>
|
|
|
|
|
|
|
|
<div class="zsbBox" v-if="zsbAllList.length !== 0">
|
|
|
|
|
|
|
|
<el-radio-group
|
|
|
|
|
|
|
|
v-model="zsbVal"
|
|
|
|
|
|
|
|
size="mini"
|
|
|
|
|
|
|
|
@input="handlezsbChange"
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<el-radio
|
|
|
|
|
|
|
|
v-for="item in zsbAllList"
|
|
|
|
|
|
|
|
:key="item.id"
|
|
|
|
|
|
|
|
:label="item.id"
|
|
|
|
|
|
|
|
border
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
{{ item.mc }}
|
|
|
|
|
|
|
|
</el-radio>
|
|
|
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="zsbBox" v-else>
|
|
|
|
|
|
|
|
<p class="empytBox">暂无数据</p>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</el-drawer>
|
|
|
|
<!-- <div class="selectBox">
|
|
|
|
|
|
|
|
<h4>选则监控设备</h4>
|
|
|
|
|
|
|
|
<el-radio-group
|
|
|
|
|
|
|
|
v-model="jksbVal"
|
|
|
|
|
|
|
|
size="small"
|
|
|
|
|
|
|
|
@change="handlejksbChange"
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<el-radio
|
|
|
|
|
|
|
|
v-for="item in jksbAllList"
|
|
|
|
|
|
|
|
:key="item.id"
|
|
|
|
|
|
|
|
:label="item.id"
|
|
|
|
|
|
|
|
border
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
{{ item.name }}
|
|
|
|
|
|
|
|
</el-radio>
|
|
|
|
|
|
|
|
</el-radio-group>
|
|
|
|
|
|
|
|
</div> -->
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="realcontain">
|
|
|
|
|
|
|
|
<div class="loadingbox" v-loading="dataLoading">
|
|
|
|
<div class="loadingbox" v-loading="dataLoading">
|
|
|
|
<div class="cardBox" v-if="jksbAllList.length !== 0">
|
|
|
|
<div class="cardBox" v-if="jksbAllList.length !== 0">
|
|
|
|
<el-card
|
|
|
|
<el-card
|
|
|
@ -69,7 +107,9 @@
|
|
|
|
:key="index"
|
|
|
|
:key="index"
|
|
|
|
>
|
|
|
|
>
|
|
|
|
<div slot="header" class="clearfix">
|
|
|
|
<div slot="header" class="clearfix">
|
|
|
|
<span class="headTitle" :title="item.name">{{ item.name }}</span>
|
|
|
|
<span class="headTitle" :title="item.name"
|
|
|
|
|
|
|
|
>{{ item.jgName }}/{{ item.zsbName }}/{{ item.name }}</span
|
|
|
|
|
|
|
|
>
|
|
|
|
<el-button
|
|
|
|
<el-button
|
|
|
|
style="float: right; padding: 3px 0"
|
|
|
|
style="float: right; padding: 3px 0"
|
|
|
|
type="text"
|
|
|
|
type="text"
|
|
|
@ -171,7 +211,8 @@ import {
|
|
|
|
areaListAllApi,
|
|
|
|
areaListAllApi,
|
|
|
|
zsbListAllApi,
|
|
|
|
zsbListAllApi,
|
|
|
|
monitoringListAllApi,
|
|
|
|
monitoringListAllApi,
|
|
|
|
getDetailApi,
|
|
|
|
// getDetailApi,
|
|
|
|
|
|
|
|
modevtypeListAllApi,
|
|
|
|
} from "@/utils/api/index";
|
|
|
|
} from "@/utils/api/index";
|
|
|
|
import historyDialog from "./components/historyDialog";
|
|
|
|
import historyDialog from "./components/historyDialog";
|
|
|
|
export default {
|
|
|
|
export default {
|
|
|
@ -179,14 +220,20 @@ export default {
|
|
|
|
components: { historyDialog },
|
|
|
|
components: { historyDialog },
|
|
|
|
data() {
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
return {
|
|
|
|
|
|
|
|
msgTitle: "设备类型实时数据",
|
|
|
|
|
|
|
|
typedrawer: false,
|
|
|
|
|
|
|
|
areadrawer: false,
|
|
|
|
|
|
|
|
deviceTypeVal: null,
|
|
|
|
|
|
|
|
deviceTypeList: [], //设备类型
|
|
|
|
areaVal: null,
|
|
|
|
areaVal: null,
|
|
|
|
areaAllList: [],
|
|
|
|
areaAllList: [], //区域
|
|
|
|
zsbVal: null,
|
|
|
|
zsbVal: null,
|
|
|
|
zsbAllList: [],
|
|
|
|
zsbAllList: [], //主设备
|
|
|
|
|
|
|
|
|
|
|
|
jksbAllList: [],
|
|
|
|
jksbAllList: [], //监控设备
|
|
|
|
dataLoading: false,
|
|
|
|
dataLoading: false,
|
|
|
|
intervalId: null, // 用于保存 setInterval 的 ID
|
|
|
|
intervalId: null, // 用于保存 setInterval 的 ID
|
|
|
|
|
|
|
|
intervalIdType: null,
|
|
|
|
};
|
|
|
|
};
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
@ -197,10 +244,99 @@ export default {
|
|
|
|
this.$nextTick(() => {
|
|
|
|
this.$nextTick(() => {
|
|
|
|
this.areaVal = JSON.parse(localStorage.getItem("areaVal"));
|
|
|
|
this.areaVal = JSON.parse(localStorage.getItem("areaVal"));
|
|
|
|
this.zsbVal = JSON.parse(localStorage.getItem("zsbVal"));
|
|
|
|
this.zsbVal = JSON.parse(localStorage.getItem("zsbVal"));
|
|
|
|
this.getAreaAllList();
|
|
|
|
this.deviceTypeVal = JSON.parse(localStorage.getItem("deviceTypeVal"));
|
|
|
|
|
|
|
|
this.getdeviceTypeAll();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
},
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
methods: {
|
|
|
|
|
|
|
|
//选择设备类型
|
|
|
|
|
|
|
|
handleTypeDraw() {
|
|
|
|
|
|
|
|
this.typedrawer = true;
|
|
|
|
|
|
|
|
this.msgTitle = "设备类型实时数据";
|
|
|
|
|
|
|
|
this.getdeviceTypeAll();
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
//选择区域和主设备
|
|
|
|
|
|
|
|
handleAreaDraw() {
|
|
|
|
|
|
|
|
this.areadrawer = true;
|
|
|
|
|
|
|
|
this.msgTitle = "主设备实时数据";
|
|
|
|
|
|
|
|
this.getAreaAllList();
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
//获取所有的设备类型
|
|
|
|
|
|
|
|
getdeviceTypeAll() {
|
|
|
|
|
|
|
|
modevtypeListAllApi()
|
|
|
|
|
|
|
|
.then((res) => {
|
|
|
|
|
|
|
|
console.log(res);
|
|
|
|
|
|
|
|
this.deviceTypeList = res.data;
|
|
|
|
|
|
|
|
// 尝试从 localStorage 获取 areaVal
|
|
|
|
|
|
|
|
const storeddeviceTypeVal = localStorage.getItem("deviceTypeVal");
|
|
|
|
|
|
|
|
if (storeddeviceTypeVal) {
|
|
|
|
|
|
|
|
// 如果 localStorage 中有 areaVal,则将其解析为数字(假设 id 是数字)并赋值给 this.areaVal
|
|
|
|
|
|
|
|
this.areaVal = JSON.parse(storeddeviceTypeVal);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
// 否则,使用 res.data[0].id
|
|
|
|
|
|
|
|
this.deviceTypeVal = res.data[0]?.id; // 使用可选链操作符避免 res.data[0] 为 undefined 的情况
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 同时,将新获取的 areaVal 存储到 localStorage 中
|
|
|
|
|
|
|
|
localStorage.setItem(
|
|
|
|
|
|
|
|
"deviceTypeVal",
|
|
|
|
|
|
|
|
JSON.stringify(this.deviceTypeVal)
|
|
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
this.getTypeAllList();
|
|
|
|
|
|
|
|
this.startIntervalIfNeededType();
|
|
|
|
|
|
|
|
this.stopInterval();
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
.catch((err) => {
|
|
|
|
|
|
|
|
console.log(err); //代码错误、请求失败捕获
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
handletypeChange(value) {
|
|
|
|
|
|
|
|
this.deviceTypeVal = value;
|
|
|
|
|
|
|
|
localStorage.removeItem("deviceTypeVal");
|
|
|
|
|
|
|
|
localStorage.setItem("deviceTypeVal", JSON.stringify(value));
|
|
|
|
|
|
|
|
this.jksbAllList = [];
|
|
|
|
|
|
|
|
this.getTypeAllList();
|
|
|
|
|
|
|
|
this.startIntervalIfNeededType();
|
|
|
|
|
|
|
|
this.stopInterval();
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
//根据类型获取所有数据
|
|
|
|
|
|
|
|
getTypeAllList() {
|
|
|
|
|
|
|
|
monitoringListAllApi({ typeId: this.deviceTypeVal })
|
|
|
|
|
|
|
|
.then((res) => {
|
|
|
|
|
|
|
|
console.log(res);
|
|
|
|
|
|
|
|
this.jksbAllList = res.data;
|
|
|
|
|
|
|
|
this.dataLoading = false;
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
.catch((err) => {
|
|
|
|
|
|
|
|
console.log(err); //代码错误、请求失败捕获
|
|
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
startIntervalIfNeededType() {
|
|
|
|
|
|
|
|
// 如果定时器尚未启动,则启动它
|
|
|
|
|
|
|
|
if (this.intervalIdType === null) {
|
|
|
|
|
|
|
|
this.intervalIdType = setInterval(this.getTypeAllList, 10000);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
stopIntervalType() {
|
|
|
|
|
|
|
|
// 停止定时器
|
|
|
|
|
|
|
|
if (this.intervalIdType !== null) {
|
|
|
|
|
|
|
|
clearInterval(this.intervalIdType);
|
|
|
|
|
|
|
|
this.intervalIdType = null;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//按照设备类型导出
|
|
|
|
|
|
|
|
exporTypeData() {
|
|
|
|
|
|
|
|
window.location.href =
|
|
|
|
|
|
|
|
"/cac-api/nsensor/exportLatest?typeId=" + this.deviceTypeVal;
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//按照主设备导出
|
|
|
|
|
|
|
|
exporZsbData() {
|
|
|
|
|
|
|
|
window.location.href =
|
|
|
|
|
|
|
|
"/cac-api/nsensor/exportLatest?zsbid=" + this.zsbVal;
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
|
|
//获取所有区间间隔
|
|
|
|
//获取所有区间间隔
|
|
|
|
getAreaAllList() {
|
|
|
|
getAreaAllList() {
|
|
|
|
areaListAllApi()
|
|
|
|
areaListAllApi()
|
|
|
@ -254,9 +390,9 @@ export default {
|
|
|
|
// localStorage.setItem("zsbVal", JSON.stringify(res.data[0].id));
|
|
|
|
// localStorage.setItem("zsbVal", JSON.stringify(res.data[0].id));
|
|
|
|
// 调用 getjcsbAllList 方法获取监测设备列表
|
|
|
|
// 调用 getjcsbAllList 方法获取监测设备列表
|
|
|
|
this.getjcsbAllList();
|
|
|
|
this.getjcsbAllList();
|
|
|
|
|
|
|
|
|
|
|
|
// 启动定时器(如果尚未启动)
|
|
|
|
// 启动定时器(如果尚未启动)
|
|
|
|
this.startIntervalIfNeeded();
|
|
|
|
this.startIntervalIfNeeded();
|
|
|
|
|
|
|
|
this.stopIntervalType();
|
|
|
|
})
|
|
|
|
})
|
|
|
|
.catch((err) => {
|
|
|
|
.catch((err) => {
|
|
|
|
console.log(err); //代码错误、请求失败捕获
|
|
|
|
console.log(err); //代码错误、请求失败捕获
|
|
|
@ -270,6 +406,8 @@ export default {
|
|
|
|
|
|
|
|
|
|
|
|
// 启动定时器(如果尚未启动)
|
|
|
|
// 启动定时器(如果尚未启动)
|
|
|
|
this.startIntervalIfNeeded();
|
|
|
|
this.startIntervalIfNeeded();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this.stopIntervalType();
|
|
|
|
},
|
|
|
|
},
|
|
|
|
//获取所有监测设备
|
|
|
|
//获取所有监测设备
|
|
|
|
getjcsbAllList() {
|
|
|
|
getjcsbAllList() {
|
|
|
@ -309,6 +447,7 @@ export default {
|
|
|
|
beforeDestroy() {
|
|
|
|
beforeDestroy() {
|
|
|
|
// 在组件销毁前停止定时请求
|
|
|
|
// 在组件销毁前停止定时请求
|
|
|
|
this.stopInterval();
|
|
|
|
this.stopInterval();
|
|
|
|
|
|
|
|
this.stopIntervalType();
|
|
|
|
},
|
|
|
|
},
|
|
|
|
};
|
|
|
|
};
|
|
|
|
</script>
|
|
|
|
</script>
|
|
|
@ -318,21 +457,26 @@ export default {
|
|
|
|
height: 100%;
|
|
|
|
height: 100%;
|
|
|
|
flex-direction: column;
|
|
|
|
flex-direction: column;
|
|
|
|
.realHead {
|
|
|
|
.realHead {
|
|
|
|
height: 200px;
|
|
|
|
// height: 200px;
|
|
|
|
background: rgba(8, 9, 36, 0.28);
|
|
|
|
// background: rgba(8, 9, 36, 0.28);
|
|
|
|
box-shadow: inset 0 4px 44px 0 #106cde;
|
|
|
|
// box-shadow: inset 0 4px 44px 0 #106cde;
|
|
|
|
padding: 0px 12px;
|
|
|
|
padding: 0px 12px;
|
|
|
|
margin-bottom: 20px;
|
|
|
|
margin: 10px 0px;
|
|
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
|
|
.el-drawer__wrapper {
|
|
|
|
|
|
|
|
.el-drawer__header {
|
|
|
|
|
|
|
|
margin-bottom: 14px;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
.el-drawer {
|
|
|
|
|
|
|
|
height: 50% !important;
|
|
|
|
|
|
|
|
}
|
|
|
|
.greyBox {
|
|
|
|
.greyBox {
|
|
|
|
background: rgba(8, 9, 36, 0.28);
|
|
|
|
color: #000;
|
|
|
|
-webkit-backdrop-filter: blur(10px);
|
|
|
|
//margin-top: 12px;
|
|
|
|
backdrop-filter: blur(10px);
|
|
|
|
|
|
|
|
box-shadow: inset 0 4px 44px 0 #106cde;
|
|
|
|
|
|
|
|
color: #fff;
|
|
|
|
|
|
|
|
margin-top: 12px;
|
|
|
|
|
|
|
|
margin-bottom: 12px;
|
|
|
|
margin-bottom: 12px;
|
|
|
|
padding: 8px 0px;
|
|
|
|
padding: 8px 0px;
|
|
|
|
|
|
|
|
|
|
|
|
height: calc(100% - 40px);
|
|
|
|
height: calc(100% - 40px);
|
|
|
|
.selectBox {
|
|
|
|
.selectBox {
|
|
|
|
display: flex;
|
|
|
|
display: flex;
|
|
|
@ -340,7 +484,7 @@ export default {
|
|
|
|
margin-bottom: 12px;
|
|
|
|
margin-bottom: 12px;
|
|
|
|
|
|
|
|
|
|
|
|
h4 {
|
|
|
|
h4 {
|
|
|
|
color: #fff;
|
|
|
|
color: #000;
|
|
|
|
margin-right: 12px;
|
|
|
|
margin-right: 12px;
|
|
|
|
font-weight: normal;
|
|
|
|
font-weight: normal;
|
|
|
|
width: 100px;
|
|
|
|
width: 100px;
|
|
|
@ -352,21 +496,21 @@ export default {
|
|
|
|
display: flex;
|
|
|
|
display: flex;
|
|
|
|
flex-wrap: wrap;
|
|
|
|
flex-wrap: wrap;
|
|
|
|
flex: 1;
|
|
|
|
flex: 1;
|
|
|
|
color: #fff;
|
|
|
|
color: #000;
|
|
|
|
.el-radio {
|
|
|
|
.el-radio {
|
|
|
|
margin-bottom: 12px;
|
|
|
|
margin-bottom: 12px;
|
|
|
|
margin-right: 12px;
|
|
|
|
margin-right: 12px;
|
|
|
|
color: #fff;
|
|
|
|
color: #000;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.el-radio.is-bordered.is-checked {
|
|
|
|
.el-radio.is-bordered.is-checked {
|
|
|
|
border-color: #66e6ff;
|
|
|
|
border-color: #337ab7;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.el-radio__input.is-checked + .el-radio__label {
|
|
|
|
.el-radio__input.is-checked + .el-radio__label {
|
|
|
|
color: #66e6ff;
|
|
|
|
color: #337ab7;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.el-radio__input.is-checked .el-radio__inner {
|
|
|
|
.el-radio__input.is-checked .el-radio__inner {
|
|
|
|
border-color: #66e6ff;
|
|
|
|
border-color: #337ab7;
|
|
|
|
background: #66e6ff;
|
|
|
|
background: #337ab7;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.zsbBox {
|
|
|
|
.zsbBox {
|
|
|
@ -385,13 +529,14 @@ export default {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.realcontain {
|
|
|
|
.realcontain {
|
|
|
|
height: calc(100% - 220px);
|
|
|
|
height: calc(100% - 0px);
|
|
|
|
background: rgba(8, 9, 36, 0.28);
|
|
|
|
background: rgba(8, 9, 36, 0.28);
|
|
|
|
box-shadow: inset 0 4px 44px 0 #106cde;
|
|
|
|
box-shadow: inset 0 4px 44px 0 #106cde;
|
|
|
|
padding: 0px 12px;
|
|
|
|
padding: 0px 12px;
|
|
|
|
overflow: auto;
|
|
|
|
|
|
|
|
.loadingbox {
|
|
|
|
.loadingbox {
|
|
|
|
height: 100%;
|
|
|
|
height: calc(100% - 64px);
|
|
|
|
|
|
|
|
overflow: auto;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
.cardBox {
|
|
|
|
.cardBox {
|
|
|
|
display: flex;
|
|
|
|
display: flex;
|
|
|
@ -406,14 +551,15 @@ export default {
|
|
|
|
backdrop-filter: blur(10px);
|
|
|
|
backdrop-filter: blur(10px);
|
|
|
|
box-shadow: inset 0 4px 44px 0 #106cde;
|
|
|
|
box-shadow: inset 0 4px 44px 0 #106cde;
|
|
|
|
color: #fff;
|
|
|
|
color: #fff;
|
|
|
|
width: 280px;
|
|
|
|
width: 346px;
|
|
|
|
border: 1px solid #66e6ff;
|
|
|
|
border: 1px solid #66e6ff;
|
|
|
|
.el-card__header {
|
|
|
|
.el-card__header {
|
|
|
|
padding: 4px 8px;
|
|
|
|
padding: 4px 8px;
|
|
|
|
border-bottom: 1px solid #66e6ff;
|
|
|
|
border-bottom: 1px solid #66e6ff;
|
|
|
|
.headTitle {
|
|
|
|
.headTitle {
|
|
|
|
font-weight: bold;
|
|
|
|
font-weight: bold;
|
|
|
|
width: 180px;
|
|
|
|
width: 250px;
|
|
|
|
|
|
|
|
font-size: 14px;
|
|
|
|
display: inline-block;
|
|
|
|
display: inline-block;
|
|
|
|
overflow: hidden; /*超出部分隐藏*/
|
|
|
|
overflow: hidden; /*超出部分隐藏*/
|
|
|
|
text-overflow: ellipsis; /*超出部分省略号表示*/
|
|
|
|
text-overflow: ellipsis; /*超出部分省略号表示*/
|
|
|
|