修改 海南测试bug
This commit is contained in:
@@ -62,7 +62,7 @@ const initChart = () => {
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
borderWidth: 0,
|
||||
confine: true,
|
||||
...(props.options?.tooltip || null)
|
||||
@@ -74,15 +74,15 @@ const initChart = () => {
|
||||
saveAsImage: {
|
||||
title: '保存图片',
|
||||
},
|
||||
|
||||
|
||||
...(props.options?.toolbox?.featureProps || null)
|
||||
},
|
||||
emphasis: {
|
||||
iconStyle: {
|
||||
borderColor: config.layout.elementUiPrimary[0], // 鼠标悬停时的边框颜色
|
||||
color: config.layout.elementUiPrimary[0] // 鼠标悬停时的图标颜色
|
||||
}
|
||||
},
|
||||
iconStyle: {
|
||||
borderColor: config.layout.elementUiPrimary[0], // 鼠标悬停时的边框颜色
|
||||
color: config.layout.elementUiPrimary[0] // 鼠标悬停时的图标颜色
|
||||
}
|
||||
},
|
||||
// },
|
||||
...(props.options?.toolbox || null)
|
||||
},
|
||||
|
||||
@@ -26,7 +26,7 @@ const fetchConfig = async (name: string) => {
|
||||
// fetchConfig()
|
||||
|
||||
const emit = defineEmits(['getRegionByRegion', 'eliminate', 'clickMap'])
|
||||
onMounted(() => {})
|
||||
onMounted(() => { })
|
||||
|
||||
const GetEchar = async (name: string) => {
|
||||
let chartDom = document.getElementById('chartMap')
|
||||
@@ -57,7 +57,7 @@ const GetEchar = async (name: string) => {
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
...(props.options.tooltip || null)
|
||||
},
|
||||
|
||||
@@ -187,7 +187,7 @@ const GetEchar = async (name: string) => {
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
|
||||
const MapReturn = (name: string) => {
|
||||
@@ -232,6 +232,7 @@ watch(
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.iconfont {
|
||||
cursor: pointer;
|
||||
position: absolute;
|
||||
|
||||
@@ -6,14 +6,8 @@
|
||||
</div>
|
||||
<el-tabs type="border-card">
|
||||
<el-tab-pane label="暂态波形上送" :style="'height:' + vhh">
|
||||
<el-table
|
||||
stripe
|
||||
:data="Data"
|
||||
:height="height"
|
||||
border
|
||||
style="width: 100%"
|
||||
header-cell-class-name="table_header"
|
||||
>
|
||||
<el-table stripe :data="Data" :height="height" border style="width: 100%"
|
||||
header-cell-class-name="table_header">
|
||||
<el-table-column align="center" prop="number" label="事件段"></el-table-column>
|
||||
<el-table-column align="center" prop="number" label="波形起始点相位(°)">
|
||||
<el-table-column align="center" prop="number" label="A相"></el-table-column>
|
||||
@@ -31,12 +25,7 @@
|
||||
<el-table-column align="center" prop="number" label="C相"></el-table-column>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" prop="number" label="总分段数目"></el-table-column>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="number"
|
||||
label="三相电压不平衡度(%)"
|
||||
width="180"
|
||||
></el-table-column>
|
||||
<el-table-column align="center" prop="number" label="三相电压不平衡度(%)" width="180"></el-table-column>
|
||||
<el-table-column align="center" prop="number" label="暂降类型"></el-table-column>
|
||||
<el-table-column align="center" prop="number" label="暂降原因"></el-table-column>
|
||||
</el-table>
|
||||
@@ -99,7 +88,7 @@ export default {
|
||||
zoom: ''
|
||||
}
|
||||
},
|
||||
created() {},
|
||||
created() { },
|
||||
watch: {
|
||||
value: function (a, b) {
|
||||
if (a == 2) {
|
||||
@@ -244,10 +233,10 @@ export default {
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
borderWidth: 0
|
||||
},
|
||||
|
||||
|
||||
title: {
|
||||
left: 'center',
|
||||
text: '发生时刻:' + this.boxoList.startTime + ' PT变化:' + this.boxoList.measurementPointName,
|
||||
|
||||
@@ -118,7 +118,7 @@ export default {
|
||||
backbxlb() {
|
||||
|
||||
if (this.echartlist.length > 0) {
|
||||
|
||||
|
||||
this.waveDatas = []
|
||||
this.echartlist.forEach(item => {
|
||||
item.dispose(); // 销毁echarts实例
|
||||
@@ -205,7 +205,7 @@ export default {
|
||||
" 发生时刻:" +
|
||||
this.boxoList.startTime +
|
||||
" 暂降(骤升)幅值:" +
|
||||
(this.boxoList.featureAmplitude * 100).toFixed(0) +
|
||||
(this.boxoList.featureAmplitude * 1).toFixed(0) +
|
||||
"% 持续时间:" +
|
||||
this.boxoList.duration +
|
||||
"s";
|
||||
@@ -231,7 +231,7 @@ export default {
|
||||
" 发生时刻:" +
|
||||
this.boxoList.startTime +
|
||||
" 暂降(骤升)幅值:" +
|
||||
(this.boxoList.featureAmplitude * 100).toFixed(0) +
|
||||
(this.boxoList.featureAmplitude * 1).toFixed(0) +
|
||||
"% 持续时间:" +
|
||||
this.boxoList.duration +
|
||||
"s";
|
||||
@@ -672,10 +672,10 @@ export default {
|
||||
let cu = null,
|
||||
rmscu = null,
|
||||
rmscm = null,
|
||||
title =null,
|
||||
unit =null,
|
||||
max =null,
|
||||
min=null;
|
||||
title = null,
|
||||
unit = null,
|
||||
max = null,
|
||||
min = null;
|
||||
let a = null,
|
||||
b = "",
|
||||
c = "";
|
||||
@@ -871,7 +871,7 @@ export default {
|
||||
" 发生时刻:" +
|
||||
this.time +
|
||||
" 暂降(骤升)幅值:" +
|
||||
(this.eventValue * 100).toFixed(0) +
|
||||
(this.eventValue * 1).toFixed(0) +
|
||||
"% 持续时间:" +
|
||||
this.persistTime +
|
||||
"s";
|
||||
@@ -920,7 +920,7 @@ export default {
|
||||
opacity: 0.35,
|
||||
fontSize: 14,
|
||||
},
|
||||
backgroundColor: "rgba(0,0,0,0.35)",
|
||||
backgroundColor: "rgba(0,0,0,0.55)",
|
||||
borderWidth: 0,
|
||||
},
|
||||
title: {
|
||||
@@ -1191,13 +1191,13 @@ export default {
|
||||
b = "",
|
||||
c = "";
|
||||
let max, min, unit;
|
||||
let adata =null,
|
||||
bdata =null,
|
||||
cdata =null;
|
||||
let radata =null,
|
||||
rbdata =null,
|
||||
rcdata =null;
|
||||
let colors =[];
|
||||
let adata = null,
|
||||
bdata = null,
|
||||
cdata = null;
|
||||
let radata = null,
|
||||
rbdata = null,
|
||||
rcdata = null;
|
||||
let colors = [];
|
||||
switch (this.iphasic) {
|
||||
case 1:
|
||||
a = waveDataTemp.title.aTitle;
|
||||
@@ -1255,12 +1255,12 @@ export default {
|
||||
|
||||
let myChartes = echarts.init(document.getElementById(rmsId));
|
||||
//debugger
|
||||
let titlename = ''
|
||||
let titlename = ''
|
||||
if (this.boxoList.systemType == "ZL") {
|
||||
let str = []
|
||||
str = rmsId.split('s')
|
||||
let str1 = Number(str[1])
|
||||
|
||||
|
||||
this.wp.channelNames.forEach((element, i) => {
|
||||
if (i == 4 || i == 7 || i == 10) {
|
||||
if (str1 == 1 && i == 4) {
|
||||
@@ -1341,7 +1341,7 @@ export default {
|
||||
opacity: 0.35,
|
||||
fontSize: 14,
|
||||
},
|
||||
backgroundColor: "rgba(0,0,0,0.35)",
|
||||
backgroundColor: "rgba(0,0,0,0.55)",
|
||||
borderWidth: 0,
|
||||
},
|
||||
title: {
|
||||
|
||||
@@ -106,19 +106,19 @@ export default {
|
||||
methods: {
|
||||
backbxlb() {
|
||||
|
||||
if (this.echartlist.length>0) {
|
||||
if (this.echartlist.length > 0) {
|
||||
console.log(123111);
|
||||
this.waveDatas = []
|
||||
this.echartlist.forEach(item => {
|
||||
item.dispose(); // 销毁echarts实例
|
||||
|
||||
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
},
|
||||
download() {
|
||||
download() {
|
||||
// 转换成canvas
|
||||
html2canvas(document.getElementById('boxsj'), {
|
||||
scale: 2
|
||||
@@ -163,7 +163,7 @@ export default {
|
||||
' 发生时刻:' +
|
||||
this.boxoList.startTime +
|
||||
' 暂降(骤升)幅值:' +
|
||||
(this.boxoList.featureAmplitude * 100).toFixed(0) +
|
||||
(this.boxoList.featureAmplitude * 1).toFixed(0) +
|
||||
'% 持续时间:' +
|
||||
this.boxoList.duration +
|
||||
's'
|
||||
@@ -189,7 +189,7 @@ export default {
|
||||
' 发生时刻:' +
|
||||
this.boxoList.startTime +
|
||||
' 暂降(骤升)幅值:' +
|
||||
(this.boxoList.featureAmplitude * 100).toFixed(0) +
|
||||
(this.boxoList.featureAmplitude * 1).toFixed(0) +
|
||||
'% 持续时间:' +
|
||||
this.boxoList.duration +
|
||||
's'
|
||||
@@ -406,7 +406,7 @@ export default {
|
||||
},
|
||||
//开始画图
|
||||
initWave(waveDatas, time, type, severity, isOpen) {
|
||||
this.echartlist=[]
|
||||
this.echartlist = []
|
||||
//清除之前增加的div
|
||||
// $("#wave ~ .bx1").remove();
|
||||
$('div.bx1').remove()
|
||||
@@ -539,7 +539,7 @@ export default {
|
||||
' 发生时刻:' +
|
||||
this.time +
|
||||
' 暂降(骤升)幅值:' +
|
||||
(this.eventValue * 100).toFixed(0) +
|
||||
(this.eventValue * 1).toFixed(0) +
|
||||
'% 持续时间:' +
|
||||
this.persistTime +
|
||||
's'
|
||||
@@ -592,7 +592,7 @@ export default {
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
borderWidth: 0
|
||||
},
|
||||
title: {
|
||||
@@ -946,7 +946,7 @@ export default {
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
borderWidth: 0
|
||||
},
|
||||
title: {
|
||||
|
||||
67
src/utils/echartMethod.ts
Normal file
67
src/utils/echartMethod.ts
Normal file
@@ -0,0 +1,67 @@
|
||||
const dataProcessing = (arr: any[]) => {
|
||||
return arr
|
||||
.filter(item => typeof item === 'number' || (typeof item === 'string' && !isNaN(parseFloat(item))))
|
||||
.map(item => (typeof item === 'number' ? item : parseFloat(item)))
|
||||
}
|
||||
|
||||
// 处理y轴最大最小值
|
||||
export const yMethod = (arr: any) => {
|
||||
let numList = dataProcessing(arr)
|
||||
let maxValue = 0
|
||||
let minValue = 0
|
||||
let max = 0
|
||||
let min = 0
|
||||
maxValue = Math.max(...numList)
|
||||
minValue = Math.min(...numList)
|
||||
if (maxValue > 1000 || minValue < -1000) {
|
||||
max = Math.ceil(maxValue / 100) * 100
|
||||
if (minValue == 0) {
|
||||
min = 0
|
||||
} else {
|
||||
min = Math.floor(minValue / 100) * 100
|
||||
}
|
||||
} else if (maxValue == minValue && maxValue < 10 && minValue > 0) {
|
||||
max = Math.ceil(maxValue / 10) * 10
|
||||
min = Math.floor(minValue / 10) * 10
|
||||
} else if (maxValue == minValue && maxValue != 0 && minValue != 0) {
|
||||
max = Math.ceil(maxValue / 10 + 1) * 10
|
||||
min = Math.floor(minValue / 10 - 1) * 10
|
||||
} else {
|
||||
max = Math.ceil(maxValue / 10) * 10
|
||||
min = Math.floor(minValue / 10) * 10
|
||||
}
|
||||
|
||||
if (maxValue > 0 && maxValue < 1) {
|
||||
max = 1
|
||||
} else if (max == 0 && minValue > -1 && minValue < 0) {
|
||||
min = -1
|
||||
}
|
||||
return [min, max]
|
||||
}
|
||||
|
||||
/**
|
||||
* title['A相','B相',]
|
||||
* data[[1,2],[3,4]]
|
||||
*/
|
||||
// 导出csv文件
|
||||
const convertToCSV = (title: object, data: any) => {
|
||||
console.log('🚀 ~ convertToCSV ~ data:', data)
|
||||
let csv = ''
|
||||
// 添加列头
|
||||
csv += ',' + title.join(',') + '\n'
|
||||
// 遍历数据并添加到CSV字符串中
|
||||
data?.map(item => {
|
||||
csv += item.join(',') + '\n'
|
||||
})
|
||||
return csv
|
||||
}
|
||||
export const exportCSV = (title: object, data: any, filename: string) => {
|
||||
const csv = convertToCSV(title, data)
|
||||
const blob = new Blob([csv], { type: 'text/csv;charset=utf-8;' })
|
||||
const link = document.createElement('a')
|
||||
link.href = URL.createObjectURL(blob)
|
||||
link.download = filename
|
||||
link.click()
|
||||
// 释放URL对象
|
||||
URL.revokeObjectURL(link.href)
|
||||
}
|
||||
@@ -369,7 +369,7 @@ const rendering = (row: any) => {
|
||||
yAxis: {
|
||||
show: false
|
||||
},
|
||||
color: ['#77DA63', '#00BFF5', '#FFBF00', '#Ff6600', '#ff0000', '#07CCCA'],
|
||||
color: ['#339966', '#00BFF5', '#FFBF00', '#Ff6600', '#ff0000', '#07CCCA'],
|
||||
dataZoom: { show: false },
|
||||
series: [
|
||||
{
|
||||
|
||||
@@ -15,7 +15,8 @@
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-Search" @click="onSubmit">查询</el-button>
|
||||
<el-button type="primary" icon="el-icon-Download" @click="exportTemplate">导出模板</el-button>
|
||||
<el-upload action="" accept=".xlsx" :show-file-list="false" :auto-upload="false" :on-change="choose">
|
||||
<el-upload action="" accept=".xlsx" :show-file-list="false" :auto-upload="false"
|
||||
:on-change="choose">
|
||||
<el-button type="primary" class="ml10" icon="el-icon-Upload">离线导入</el-button>
|
||||
</el-upload>
|
||||
<!-- <el-button type="primary" class="ml10" icon="el-icon-Ticket" @click="modelTrain">
|
||||
@@ -51,13 +52,14 @@
|
||||
<MyEChart :options="options2" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="谐波电流幅值" name="3" class="mt10" style="position: relative;">
|
||||
|
||||
<el-select v-model="harmonicValue" style="position: absolute;z-index:99;top:-10px; right: 185px; width: 80px"
|
||||
placeholder="请选择谐波" @change="onSubmit">
|
||||
<el-option v-for="item in harmonic" :key="item.value" :label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
|
||||
|
||||
<el-select v-model="harmonicValue"
|
||||
style="position: absolute;z-index:99;top:-10px; right: 185px; width: 80px"
|
||||
placeholder="请选择谐波" @change="onSubmit">
|
||||
<el-option v-for="item in harmonic" :key="item.value" :label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
</el-select>
|
||||
|
||||
<MyEChart :options="options3" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="首端电压模型参数" name="4">
|
||||
@@ -66,9 +68,10 @@
|
||||
<vxe-colgroup field="group0" title="模型参数">
|
||||
<vxe-column field="name" width="180" title="相别"></vxe-column>
|
||||
</vxe-colgroup>
|
||||
<vxe-column field="c" title="C"></vxe-column>
|
||||
|
||||
<vxe-column field="a" title="a"></vxe-column>
|
||||
<vxe-column field="b" title="b"></vxe-column>
|
||||
<vxe-column field="c" title="c"></vxe-column>
|
||||
</vxe-table>
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
@@ -148,6 +151,7 @@ import {
|
||||
getLineDetailData,
|
||||
modelTraining
|
||||
} from '@/api/advance-boot/bearingCapacity'
|
||||
import { yMethod } from '@/utils/echartMethod'
|
||||
import { useDictData } from '@/stores/dictData'
|
||||
const props = defineProps(['rowList'])
|
||||
const harmonic = harmonicOptions.filter(item => item.value < 26)
|
||||
@@ -281,7 +285,7 @@ const onSubmit = async () => {
|
||||
})
|
||||
}
|
||||
setEChart(1, res[0].data.data, '有功功率', 'w')
|
||||
setEChart(2, res[1].data.data, '无功功率', 'w')
|
||||
setEChart(2, res[1].data.data, '无功功率', 'Var')
|
||||
setEChart(3, res[2].data.data, '谐波电流幅值', 'A')
|
||||
showBtn.value = true
|
||||
loading.value = false
|
||||
@@ -307,24 +311,55 @@ const modelTrain = () => {
|
||||
}
|
||||
|
||||
const setEChart = (val: any, data: any, text: string, name: string) => {
|
||||
// console.log("🚀 ~ setEChart ~ data:", data.map(item => item.value))
|
||||
let [min, max] = yMethod(data.map(item => item.value))
|
||||
let options = {
|
||||
title: {
|
||||
text: text,
|
||||
x: 'center',
|
||||
textStyle: {
|
||||
fontWeight: 'normal'
|
||||
}
|
||||
// textStyle: {
|
||||
// fontWeight: 'normal'
|
||||
// }
|
||||
},
|
||||
tooltip: {
|
||||
axisPointer: {
|
||||
type: 'cross',
|
||||
label: {
|
||||
color: '#fff',
|
||||
fontSize: 16
|
||||
}
|
||||
},
|
||||
textStyle: {
|
||||
color: '#fff',
|
||||
fontStyle: 'normal',
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
borderWidth: 0,
|
||||
},
|
||||
|
||||
xAxis: {
|
||||
data: data.filter(item => item.phaseType == 'A').map(item => item.time),
|
||||
|
||||
// data: data.filter(item => item.phaseType == 'A').map(item => item.time),
|
||||
name: '时间',
|
||||
position: 'bottom' // 设置 x 轴在底部
|
||||
type: 'time',
|
||||
|
||||
axisLabel: {
|
||||
formatter: {
|
||||
day: '{MM}-{dd}',
|
||||
month: '{MM}',
|
||||
year: '{yyyy}'
|
||||
}
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
name: name,
|
||||
max: Math.ceil(Math.max(...data.map(item => item.value))),
|
||||
min: Math.floor(Math.min(...data.map(item => item.value)))
|
||||
max: max,
|
||||
min: min
|
||||
// max: Math.ceil(Math.max(...data.map(item => item.value))),
|
||||
// min: Math.floor(Math.min(...data.map(item => item.value)))
|
||||
},
|
||||
// legend: {
|
||||
// data: ['A', 'B', 'C']
|
||||
@@ -341,9 +376,10 @@ const setEChart = (val: any, data: any, text: string, name: string) => {
|
||||
type: 'line',
|
||||
// smooth: true,
|
||||
symbol: 'none',
|
||||
data: data
|
||||
.filter(item => item.phaseType == 'A')
|
||||
.map(item => (item.value == 3.1415926 ? '' : item.value.toFixed(3)))
|
||||
data:
|
||||
data
|
||||
.filter(item => item.phaseType == 'A')
|
||||
.map(item => (item.value == 3.1415926 ? '' : [item.time, item.value.toFixed(2)]))
|
||||
},
|
||||
{
|
||||
name: 'B相',
|
||||
@@ -352,7 +388,7 @@ const setEChart = (val: any, data: any, text: string, name: string) => {
|
||||
symbol: 'none',
|
||||
data: data
|
||||
.filter(item => item.phaseType == 'B')
|
||||
.map(item => (item.value == 3.1415926 ? '' : item.value.toFixed(3)))
|
||||
.map(item => (item.value == 3.1415926 ? '' : [item.time, item.value.toFixed(2)]))
|
||||
},
|
||||
{
|
||||
name: 'C相',
|
||||
@@ -361,9 +397,24 @@ const setEChart = (val: any, data: any, text: string, name: string) => {
|
||||
symbol: 'none',
|
||||
data: data
|
||||
.filter(item => item.phaseType == 'C')
|
||||
.map(item => (item.value == 3.1415926 ? '' : item.value.toFixed(3)))
|
||||
.map(item => (item.value == 3.1415926 ? '' : [item.time, item.value.toFixed(2)]))
|
||||
}
|
||||
]
|
||||
],
|
||||
options: {
|
||||
dataZoom: [{
|
||||
type: 'inside',
|
||||
height: 13,
|
||||
start: 0,
|
||||
bottom: '20px',
|
||||
end: 10
|
||||
},
|
||||
{
|
||||
start: 0,
|
||||
height: 13,
|
||||
bottom: '20px',
|
||||
end: 10
|
||||
}]
|
||||
}
|
||||
}
|
||||
val == 1
|
||||
? (options1.value = options)
|
||||
@@ -579,6 +630,7 @@ const handleNodeClick = (data: any, node: any) => {
|
||||
margin-top: 5px;
|
||||
color: blue;
|
||||
}
|
||||
|
||||
.el-select {
|
||||
min-width: 80px;
|
||||
}
|
||||
|
||||
@@ -89,8 +89,8 @@
|
||||
<el-radio v-for="item in sign" :label="item.name">{{ item.name }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="用户名称:">
|
||||
<el-input-number v-model="form.count" :disabled="disabled" :min="0" style="width: 100%" />
|
||||
<el-form-item label="数量:">
|
||||
<el-input-number v-model="form.count" :disabled="disabled" :min="0" :precision="0" :max="10000000" style="width: 100%" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
|
||||
@@ -4,11 +4,7 @@
|
||||
<TableHeader datePicker ref="TableHeaderRef">
|
||||
<template #select>
|
||||
<el-form-item label="评估类型">
|
||||
<el-select
|
||||
v-model="tableStore.table.params.evaluateType"
|
||||
clearable
|
||||
placeholder="请选择评估类型"
|
||||
>
|
||||
<el-select v-model="tableStore.table.params.evaluateType" clearable placeholder="请选择评估类型">
|
||||
<el-option v-for="item in uesrList" :key="item.id" :label="item.name" :value="item.id" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
@@ -30,11 +26,7 @@
|
||||
<el-tab-pane label="光伏电站承载能力评估" name="1" v-if="code == null || code == 1">
|
||||
<photovoltaic :rowList="rowList" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane
|
||||
label="充电站、电加热负荷、电气化铁路承载能力评估"
|
||||
name="2"
|
||||
v-if="code == null || code == 2"
|
||||
>
|
||||
<el-tab-pane label="充电站、电加热负荷、电气化铁路承载能力评估" name="2" v-if="code == null || code == 2">
|
||||
<charge :rowList="rowList" />
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
@@ -75,7 +67,7 @@ const tableStore: any = new TableStore({
|
||||
method: 'POST',
|
||||
column: [
|
||||
{
|
||||
|
||||
|
||||
title: '序号',
|
||||
width: '80',
|
||||
formatter: (row: any) => {
|
||||
@@ -102,22 +94,36 @@ const tableStore: any = new TableStore({
|
||||
{
|
||||
field: 'reslutLevel',
|
||||
title: '评估结果',
|
||||
type: 'html',
|
||||
formatter: (row: any) => {
|
||||
// 1-安全,2-III级预警,3-II级预警,4-I 级预警,5-禁止接入
|
||||
|
||||
return row.cellValue == 1
|
||||
? '合格'
|
||||
return `<span style="color: ${row.cellValue == 1
|
||||
? '#339966'
|
||||
: row.cellValue == 2
|
||||
? 'III级预警'
|
||||
: row.cellValue == 3
|
||||
? 'II级预警'
|
||||
: row.cellValue == 4
|
||||
? 'I 级预警'
|
||||
: row.cellValue == 5
|
||||
? '禁止接入'
|
||||
: row.cellValue == 6
|
||||
? '允许接入'
|
||||
: ''
|
||||
? '#00BFF5'
|
||||
: row.cellValue == 3
|
||||
? '#FFBF00'
|
||||
: row.cellValue == 4
|
||||
? '#Ff6600'
|
||||
: row.cellValue == 5
|
||||
? '#ff0000'
|
||||
: row.cellValue == 6
|
||||
? '#07CCCA'
|
||||
: ''
|
||||
}">${row.cellValue == 1
|
||||
? '安全'
|
||||
: row.cellValue == 2
|
||||
? 'III级预警'
|
||||
: row.cellValue == 3
|
||||
? 'II级预警'
|
||||
: row.cellValue == 4
|
||||
? 'I 级预警'
|
||||
: row.cellValue == 5
|
||||
? '禁止接入'
|
||||
: row.cellValue == 6
|
||||
? '允许接入'
|
||||
: ''}</span>`
|
||||
|
||||
}
|
||||
},
|
||||
{ field: 'evaluateDate', title: '评估日期' },
|
||||
@@ -165,7 +171,7 @@ const tableStore: any = new TableStore({
|
||||
}
|
||||
],
|
||||
|
||||
loadCallback: () => {}
|
||||
loadCallback: () => { }
|
||||
})
|
||||
tableStore.table.params.evaluateType = ''
|
||||
tableStore.table.params.id = dictData.state.area[0].id
|
||||
@@ -179,10 +185,10 @@ const quit = () => {
|
||||
onMounted(() => {
|
||||
tableStore.index()
|
||||
})
|
||||
const addAssess=()=>{
|
||||
const addAssess = () => {
|
||||
addedShow.value = false
|
||||
code.value = null
|
||||
activeName.value='1'
|
||||
code.value = null
|
||||
activeName.value = '1'
|
||||
}
|
||||
// 配置
|
||||
const configuration = () => {
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
</TableHeader>
|
||||
<Table ref="tableRef" />
|
||||
<el-dialog draggable v-model="dialogVisible" :title="title" width="600" :before-close="handleClose">
|
||||
<el-form ref="ruleFormRef" :model="form" label-width="180px" :disabled="disabled" :rules="rules">
|
||||
<el-form ref="ruleFormRef" :model="form" label-width="auto" :disabled="disabled" :rules="rules">
|
||||
<el-form-item label="用户名称:" prop="userName">
|
||||
<el-input v-model.trim="form.userName" clearable placeholder="请输入用户名称" />
|
||||
<el-input v-model.trim="form.userName" clearable placeholder="请输入用户名称" maxlength="32" show-word-limit/>
|
||||
</el-form-item>
|
||||
<el-form-item label="用户类型:" prop="userType">
|
||||
<el-select v-model="form.userType" clearable placeholder="请选择用户类型" @change="useChange">
|
||||
@@ -39,6 +39,8 @@
|
||||
style="width: 100%"
|
||||
v-model="form.protocolCapacity"
|
||||
:min="0"
|
||||
:precision="4"
|
||||
:max="10000000"
|
||||
placeholder="请输入用容量"
|
||||
/>
|
||||
</el-form-item>
|
||||
@@ -51,6 +53,7 @@
|
||||
clearable
|
||||
v-model="form.area"
|
||||
:autosize="{ minRows: 2, maxRows: 4 }"
|
||||
maxlength="300" show-word-limit
|
||||
type="textarea"
|
||||
placeholder="请输入详细地址"
|
||||
/>
|
||||
@@ -271,12 +274,14 @@ const onSubmit = () => {
|
||||
ElMessage.success('新增成功!')
|
||||
dialogVisible.value = false
|
||||
tableStore.index()
|
||||
handleClose()
|
||||
})
|
||||
} else if (title.value == '编辑承载能力预评估用户') {
|
||||
updateUse(form.value).then(res => {
|
||||
ElMessage.success('修改成功!')
|
||||
dialogVisible.value = false
|
||||
tableStore.index()
|
||||
handleClose()
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,7 +158,7 @@ const tableStore = new TableStore({
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
borderWidth: 0,
|
||||
confine: true,
|
||||
formatter: function (param) {
|
||||
|
||||
@@ -79,7 +79,7 @@ const init = () => {
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
borderWidth: 0
|
||||
},
|
||||
calculable: true,
|
||||
|
||||
@@ -1119,7 +1119,7 @@ const rendering = () => {
|
||||
smooth: true,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: '#339900'
|
||||
color: '#009900'
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1136,7 +1136,7 @@ const rendering = () => {
|
||||
barWidth: 22,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: '#FF3300'
|
||||
color: '#CC0000'
|
||||
}
|
||||
},
|
||||
data: item.cvalue
|
||||
@@ -1317,7 +1317,7 @@ const getEcharts = () => {
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
|
||||
formatter: function (params: any) {
|
||||
let tips = ''
|
||||
@@ -1546,7 +1546,7 @@ const getEcharts = () => {
|
||||
symbolSize: 0,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: '#FF3300'
|
||||
color: '#CC0000'
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -6,12 +6,8 @@
|
||||
</el-form-item>
|
||||
<el-form-item label="对比">
|
||||
<el-select v-model="searchType" clearable placeholder="可选择同比、环比">
|
||||
<el-option
|
||||
v-for="item in searchTypeOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
<el-option v-for="item in searchTypeOptions" :key="item.value" :label="item.label"
|
||||
:value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
@@ -215,7 +211,7 @@ const init = () => {
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
formatter: function (params: any) {
|
||||
//console.log(params)
|
||||
let msg = ''
|
||||
@@ -231,7 +227,7 @@ const init = () => {
|
||||
}
|
||||
},
|
||||
xAxis: {
|
||||
name:'指标类型',
|
||||
name: '指标类型',
|
||||
type: 'category',
|
||||
axisLine: {
|
||||
lineStyle: {
|
||||
|
||||
@@ -77,7 +77,7 @@ const init = () => {
|
||||
fontSize: 14
|
||||
},
|
||||
borderColor: '#fff',
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
formatter: function (params: any) {
|
||||
if (params.value >= 5) {
|
||||
return params.name + ' : ' + '优质'
|
||||
@@ -178,17 +178,17 @@ const init = () => {
|
||||
}
|
||||
})
|
||||
},
|
||||
itemStyle:{
|
||||
itemStyle: {
|
||||
color: (params: any) => {
|
||||
if(params.value > 5){
|
||||
if (params.value > 5) {
|
||||
return gradeColor5[0]
|
||||
}else if(params.value > 4){
|
||||
} else if (params.value > 4) {
|
||||
return gradeColor5[1]
|
||||
}else if(params.value > 3){
|
||||
} else if (params.value > 3) {
|
||||
return gradeColor5[2]
|
||||
}else if(params.value > 2){
|
||||
} else if (params.value > 2) {
|
||||
return gradeColor5[3]
|
||||
}else{
|
||||
} else {
|
||||
return gradeColor5[4]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,11 +10,8 @@
|
||||
<div class="boxSteps">
|
||||
<el-steps>
|
||||
<template v-for="(item, i) in Voltage">
|
||||
<el-step
|
||||
:class="active == i ? 'highlight' : ''"
|
||||
:title="item.name"
|
||||
@click="handleClick(i)"
|
||||
></el-step>
|
||||
<el-step :class="active == i ? 'highlight' : ''" :title="item.name"
|
||||
@click="handleClick(i)"></el-step>
|
||||
</template>
|
||||
</el-steps>
|
||||
</div>
|
||||
@@ -106,7 +103,7 @@ const echart = (row: any) => {
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
borderWidth: 0
|
||||
},
|
||||
legend: {
|
||||
@@ -205,19 +202,23 @@ defineExpose({ open })
|
||||
:deep(.el-select) {
|
||||
min-width: 80px;
|
||||
}
|
||||
|
||||
.title {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin: 10px;
|
||||
|
||||
span {
|
||||
font-weight: 550;
|
||||
font-size: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
.pie {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
}
|
||||
|
||||
.evaluationData {
|
||||
height: 40px;
|
||||
margin: 8px 30px;
|
||||
@@ -226,6 +227,7 @@ defineExpose({ open })
|
||||
display: flex;
|
||||
font-size: 18px;
|
||||
line-height: 40px;
|
||||
|
||||
img {
|
||||
height: 30px;
|
||||
width: 30px;
|
||||
@@ -236,6 +238,7 @@ defineExpose({ open })
|
||||
.el-steps {
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
:deep(.el-step__icon) {
|
||||
border: none;
|
||||
background: #ccc;
|
||||
@@ -243,15 +246,18 @@ defineExpose({ open })
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
}
|
||||
|
||||
:deep(.el-step__icon-inner) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
:deep(.boxSteps) {
|
||||
border-radius: 50px;
|
||||
width: 60%;
|
||||
height: 25px;
|
||||
margin: auto;
|
||||
margin-top: 30px;
|
||||
|
||||
.el-step__title {
|
||||
line-height: 18px;
|
||||
font-size: 16px;
|
||||
@@ -262,14 +268,17 @@ defineExpose({ open })
|
||||
top: -50px;
|
||||
}
|
||||
}
|
||||
|
||||
:deep(.highlight) {
|
||||
.el-step__icon {
|
||||
background: var(--el-color-primary);
|
||||
}
|
||||
|
||||
.el-step__title {
|
||||
font-weight: 700 !important;
|
||||
color: var(--el-color-primary) !important;
|
||||
}
|
||||
|
||||
// .is-wait {
|
||||
// color: var(--el-color-primary) !important;
|
||||
// }
|
||||
|
||||
@@ -10,11 +10,8 @@
|
||||
<div class="boxSteps">
|
||||
<el-steps>
|
||||
<template v-for="(item, i) in Voltage">
|
||||
<el-step
|
||||
:class="active == i ? 'highlight' : ''"
|
||||
:title="item.name"
|
||||
@click="handleClick(i)"
|
||||
></el-step>
|
||||
<el-step :class="active == i ? 'highlight' : ''" :title="item.name"
|
||||
@click="handleClick(i)"></el-step>
|
||||
</template>
|
||||
</el-steps>
|
||||
</div>
|
||||
@@ -111,7 +108,7 @@ const echart = (row: any) => {
|
||||
|
||||
let chart = echarts.init(chartRef.value as HTMLDivElement)
|
||||
|
||||
let dataname = [ '频率偏差(Hz)',
|
||||
let dataname = ['频率偏差(Hz)',
|
||||
'电压偏差(%)',
|
||||
'电压总谐波畸变率(%)',
|
||||
'三相电压不平衡度(%)',
|
||||
@@ -145,9 +142,9 @@ const echart = (row: any) => {
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
borderWidth: 0,
|
||||
position:'bottom'
|
||||
position: 'bottom'
|
||||
},
|
||||
legend: {
|
||||
data: row.map((item: any) => item.time),
|
||||
@@ -253,19 +250,23 @@ defineExpose({ open })
|
||||
:deep(.el-select) {
|
||||
min-width: 80px;
|
||||
}
|
||||
|
||||
.title {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin: 10px;
|
||||
|
||||
span {
|
||||
font-weight: 550;
|
||||
font-size: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
.pie {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
}
|
||||
|
||||
.evaluationData {
|
||||
height: 33px;
|
||||
margin: 8px 30px;
|
||||
@@ -274,6 +275,7 @@ defineExpose({ open })
|
||||
display: flex;
|
||||
font-size: 18px;
|
||||
line-height: 35px;
|
||||
|
||||
img {
|
||||
height: 25px;
|
||||
width: 25px;
|
||||
@@ -284,6 +286,7 @@ defineExpose({ open })
|
||||
.el-steps {
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
:deep(.el-step__icon) {
|
||||
border: none;
|
||||
background: #ccc;
|
||||
@@ -291,15 +294,18 @@ defineExpose({ open })
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
}
|
||||
|
||||
:deep(.el-step__icon-inner) {
|
||||
display: none;
|
||||
}
|
||||
|
||||
:deep(.boxSteps) {
|
||||
border-radius: 50px;
|
||||
width: 60%;
|
||||
height: 25px;
|
||||
margin: auto;
|
||||
margin-top: 30px;
|
||||
|
||||
.el-step__title {
|
||||
line-height: 18px;
|
||||
font-size: 16px;
|
||||
@@ -310,18 +316,22 @@ defineExpose({ open })
|
||||
top: -50px;
|
||||
}
|
||||
}
|
||||
|
||||
:deep(.highlight) {
|
||||
.el-step__icon {
|
||||
background: var(--el-color-primary);
|
||||
}
|
||||
|
||||
.el-step__title {
|
||||
font-weight: 700 !important;
|
||||
color: var(--el-color-primary) !important;
|
||||
}
|
||||
|
||||
// .is-wait {
|
||||
// color: var(--el-color-primary) !important;
|
||||
// }
|
||||
}
|
||||
|
||||
:deep(.el-dialog__body) {
|
||||
max-height: none !important;
|
||||
}
|
||||
|
||||
@@ -1,19 +1,10 @@
|
||||
<template>
|
||||
<DatePicker ref="datePickerRef" style="display: none" theCurrentTime/>
|
||||
<el-select
|
||||
class="conditions"
|
||||
v-model="formData.conditions"
|
||||
placeholder="请选择指标"
|
||||
style="width: 200px"
|
||||
@change="History"
|
||||
>
|
||||
<DatePicker ref="datePickerRef" style="display: none" theCurrentTime />
|
||||
<el-select class="conditions" v-model="formData.conditions" placeholder="请选择指标" style="width: 200px"
|
||||
@change="History">
|
||||
<el-option-group v-for="group in indexOptions" :key="group.label" :label="group.label">
|
||||
<el-option
|
||||
v-for="item in group.options"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
<el-option v-for="item in group.options" :key="item.value" :label="item.label"
|
||||
:value="item.value"></el-option>
|
||||
</el-option-group>
|
||||
</el-select>
|
||||
<MyEChart v-loading="loading" :options="list[0]?.option" :style="`height: calc(${rowHeight} - 31px)`" />
|
||||
@@ -1077,7 +1068,7 @@ const rendering = () => {
|
||||
barWidth: 22,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: '#FF3300'
|
||||
color: '#CC0000'
|
||||
}
|
||||
},
|
||||
data: item.cvalue
|
||||
@@ -1258,7 +1249,7 @@ const getEcharts = () => {
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
|
||||
formatter: function (params: any) {
|
||||
let tips = ''
|
||||
@@ -1273,29 +1264,29 @@ const getEcharts = () => {
|
||||
params[i].value[1] > 0
|
||||
? 'A相谐波电流方向:流入<br/>'
|
||||
: params[i].value[1] == 0
|
||||
? 'A相谐波电流方向:无<br/>'
|
||||
: 'A相谐波电流方向:流出<br/>'
|
||||
? 'A相谐波电流方向:无<br/>'
|
||||
: 'A相谐波电流方向:流出<br/>'
|
||||
} else if (params[i].seriesName == 'B相谐波电流方向') {
|
||||
tips +=
|
||||
params[i].value[1] > 0
|
||||
? 'B相谐波电流方向:流入<br/>'
|
||||
: params[i].value[1] == 0
|
||||
? 'B相谐波电流方向:无<br/>'
|
||||
: 'B相谐波电流方向:流出<br/>'
|
||||
? 'B相谐波电流方向:无<br/>'
|
||||
: 'B相谐波电流方向:流出<br/>'
|
||||
} else if (params[i].seriesName == 'C相谐波电流方向') {
|
||||
tips +=
|
||||
params[i].value[1] > 0
|
||||
? 'C相谐波电流方向:流入<br/>'
|
||||
: params[i].value[1] == 0
|
||||
? 'C相谐波电流方向:无<br/>'
|
||||
: 'C相谐波电流方向:流出<br/>'
|
||||
? 'C相谐波电流方向:无<br/>'
|
||||
: 'C相谐波电流方向:流出<br/>'
|
||||
} else if (params[i].seriesName == '总谐波电流方向') {
|
||||
tips +=
|
||||
params[i].value[1] > 0
|
||||
? '总谐波电流方向:流入<br/>'
|
||||
: params[i].value[1] == 0
|
||||
? '总谐波电流方向:无<br/>'
|
||||
: '总谐波电流方向:流出<br/>'
|
||||
? '总谐波电流方向:无<br/>'
|
||||
: '总谐波电流方向:流出<br/>'
|
||||
} else if (params[i].seriesName == '正序电压') {
|
||||
let str = (params[i].value[1] * 1).toString()
|
||||
let reg = str.indexOf('.') > -1 ? /(\d)(?=(\d{3})+\.)/g : /(\d)(?=(?:\d{3})+$)/g
|
||||
|
||||
@@ -516,16 +516,16 @@ const open = async (id: string) => {
|
||||
TargetData.value = res.data
|
||||
let num = 0
|
||||
let flag = 0
|
||||
let judgment=true
|
||||
let judgment = true
|
||||
for (let k in res.data) {
|
||||
if (k != 'lineId') {
|
||||
if(res.data[k] != '/'){
|
||||
judgment=false
|
||||
if (res.data[k] != '/') {
|
||||
judgment = false
|
||||
}
|
||||
flag += (res.data[k] == '/' ? 0 : res.data[k])
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (IntegrityNum.value == 0) {
|
||||
num = 2 //完整性告警
|
||||
} else {
|
||||
@@ -534,7 +534,7 @@ const open = async (id: string) => {
|
||||
} else {
|
||||
num = 0 //无告警
|
||||
}
|
||||
if(judgment){
|
||||
if (judgment) {
|
||||
num = 3
|
||||
}
|
||||
}
|
||||
@@ -581,7 +581,7 @@ const echart = (row: any) => {
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
borderWidth: 0
|
||||
},
|
||||
legend: {
|
||||
|
||||
@@ -8,12 +8,7 @@
|
||||
<el-button type='primary' @click='init'>查询</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-descriptions
|
||||
class='mt2'
|
||||
direction='vertical'
|
||||
:column='4'
|
||||
border
|
||||
>
|
||||
<el-descriptions class='mt2' direction='vertical' :column='4' border>
|
||||
<el-descriptions-item align='center' label='名称'>{{ data.name }}</el-descriptions-item>
|
||||
<el-descriptions-item align='center' label='事件总数'>{{ data.gs }}</el-descriptions-item>
|
||||
<el-descriptions-item align='center' label='可容忍'>{{ data.krr }}</el-descriptions-item>
|
||||
@@ -85,9 +80,9 @@ const init = () => {
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
borderWidth: 0,
|
||||
formatter: function(a: any) {
|
||||
formatter: function (a: any) {
|
||||
var relVal = ''
|
||||
relVal =
|
||||
'<font style=\'color:' +
|
||||
|
||||
@@ -8,12 +8,7 @@
|
||||
<el-button type='primary' @click='init'>查询</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-descriptions
|
||||
class='mt2'
|
||||
direction='vertical'
|
||||
:column='4'
|
||||
border
|
||||
>
|
||||
<el-descriptions class='mt2' direction='vertical' :column='4' border>
|
||||
<el-descriptions-item align='center' label='名称'>{{ data.name }}</el-descriptions-item>
|
||||
<el-descriptions-item align='center' label='事件总数'>{{ data.gs }}</el-descriptions-item>
|
||||
<el-descriptions-item align='center' label='可容忍'>{{ data.krr }}</el-descriptions-item>
|
||||
@@ -84,9 +79,9 @@ const init = () => {
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
borderWidth: 0,
|
||||
formatter: function(a: any) {
|
||||
formatter: function (a: any) {
|
||||
var relVal = ''
|
||||
relVal =
|
||||
'<font style=\'color:' +
|
||||
@@ -120,7 +115,7 @@ const init = () => {
|
||||
yAxis: [
|
||||
{
|
||||
type: 'value',
|
||||
max: function(value: any) {
|
||||
max: function (value: any) {
|
||||
return value.max + 20
|
||||
},
|
||||
splitNumber: 10,
|
||||
|
||||
@@ -79,7 +79,7 @@ const init = () => {
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
borderWidth: 0
|
||||
},
|
||||
calculable: true,
|
||||
|
||||
@@ -107,8 +107,8 @@ const initFirst = () => {
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
formatter: function(params: any) {
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
formatter: function (params: any) {
|
||||
let tips = ''
|
||||
tips += '<font>时间:' + params[0].name + '</font><br/>'
|
||||
tips += '<font>暂降次数:' + params[0].data + '</font>'
|
||||
@@ -140,7 +140,7 @@ const initFirst = () => {
|
||||
barMinHeight: 10,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
color: function(params: any) {
|
||||
color: function (params: any) {
|
||||
if (params.data == 0) {
|
||||
return '#ccc'
|
||||
} else {
|
||||
@@ -193,7 +193,7 @@ const initSecond = () => {
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
formatter: '{a} <br/>{b} : {c} ({d}%)'
|
||||
},
|
||||
legend: {
|
||||
@@ -241,9 +241,9 @@ const initThird = () => {
|
||||
for (let i = 0; i < thirdData.value.length; i++) {
|
||||
typeArray.push(thirdData.value[i].type)
|
||||
valueArray.push({
|
||||
name: thirdData.value[i].type,
|
||||
value: thirdData.value[i].times
|
||||
}
|
||||
name: thirdData.value[i].type,
|
||||
value: thirdData.value[i].times
|
||||
}
|
||||
)
|
||||
}
|
||||
thirdOptions.value = {
|
||||
@@ -269,7 +269,7 @@ const initThird = () => {
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
formatter: '{a} <br/>{b} : {c} ({d}%)'
|
||||
},
|
||||
legend: {
|
||||
|
||||
@@ -79,7 +79,7 @@ const init = () => {
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
borderWidth: 0
|
||||
},
|
||||
calculable: true,
|
||||
|
||||
@@ -11,12 +11,14 @@
|
||||
<div style='flex: 1;' class='mt10 zanjiangfenbutongji'>
|
||||
<div
|
||||
style='position: absolute; right: 10px; top: 10px; z-index: 2;display: flex;align-items: center;font-size: 12px'>
|
||||
<el-tag style='width: 20px;height: 12px' :style='{background: gradeColor3[2]}'></el-tag>
|
||||
<span class='ml2' :style='{color: gradeColor3[2]}'> {{ 'X<60%' }} </span>
|
||||
<el-tag class='ml10' style='width: 20px;height: 12px' :style='{background: gradeColor3[1]}'></el-tag>
|
||||
<span class='ml2' :style='{color: gradeColor3[1]}'>{{ '60%≤X<90%' }} </span>
|
||||
<el-tag class='ml10' style='width: 20px;height: 12px' :style='{background: gradeColor3[0]}'></el-tag>
|
||||
<span class='ml2' :style='{color: gradeColor3[0]}'> {{ 'X≥90 %' }}</span>
|
||||
<el-tag style='width: 20px;height: 12px' :style='{ background: gradeColor3[2] }'></el-tag>
|
||||
<span class='ml2' :style='{ color: gradeColor3[2] }'> {{ 'X<60%' }} </span>
|
||||
<el-tag class='ml10' style='width: 20px;height: 12px'
|
||||
:style='{ background: gradeColor3[1] }'></el-tag>
|
||||
<span class='ml2' :style='{ color: gradeColor3[1] }'>{{ '60%≤X<90%' }} </span>
|
||||
<el-tag class='ml10' style='width: 20px;height: 12px'
|
||||
:style='{ background: gradeColor3[0] }'></el-tag>
|
||||
<span class='ml2' :style='{ color: gradeColor3[0] }'> {{ 'X≥90 %' }}</span>
|
||||
</div>
|
||||
<my-echart :options='secondOptions' style='flex: 1;height: 100%' />
|
||||
<my-echart :options='firstOptions' style='flex: 1;height: 100%' />
|
||||
@@ -97,8 +99,8 @@ const initFirst = () => {
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
formatter: function(params: any) {
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
formatter: function (params: any) {
|
||||
let tips = ''
|
||||
tips += '时间:' + year + '-' + params[0].name + '</br/>'
|
||||
for (let i = 0; i < params.length; i++) {
|
||||
@@ -237,8 +239,8 @@ const initSecond = () => {
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
formatter: function(params: any) {
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
formatter: function (params: any) {
|
||||
let res = '时间: ' + params[0].name + '<br/>运行状态:'
|
||||
let texts = ''
|
||||
if (params[0].value === 2 || params[0].value === '2') {
|
||||
@@ -283,7 +285,7 @@ const initSecond = () => {
|
||||
color: 'blue'
|
||||
},
|
||||
// 这里重新定义就可以
|
||||
formatter: function(value: number) {
|
||||
formatter: function (value: number) {
|
||||
let texts = []
|
||||
if (value === 2) {
|
||||
texts.push('退出')
|
||||
|
||||
@@ -174,9 +174,9 @@ const initEchart = () => {
|
||||
opacity: 0.35,
|
||||
fontSize: 14
|
||||
},
|
||||
backgroundColor: 'rgba(0,0,0,0.35)',
|
||||
backgroundColor: 'rgba(0,0,0,0.55)',
|
||||
borderWidth: 0,
|
||||
formatter: function(params: any) {
|
||||
formatter: function (params: any) {
|
||||
let tips = ''
|
||||
tips += '<font>暂降幅值(p.u.):' + apiData.value.amplitudes[params.value[0]] + '</font><br/>'
|
||||
tips += '<font>持续时间(s):' + apiData.value.durations[params.value[1]] + '</font><br/>'
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<el-dialog draggable class="cn-operate-dialog" v-model="dialogVisible" :title="title">
|
||||
<el-scrollbar>
|
||||
<el-form :inline="false" :model="form" label-width="120px" :rules="rules" ref="formRef">
|
||||
<el-form-item label="部门编号:" prop="code">
|
||||
<el-form-item label="部门编号:">
|
||||
<el-input v-model="form.code" placeholder="请输入部门编号"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item class="top" label="部门名称:" prop="name">
|
||||
@@ -18,7 +18,7 @@
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item class="top" label="子类型:" prop="specialType">
|
||||
<el-form-item class="top" label="子类型:" >
|
||||
<el-select v-model="form.specialType" placeholder="选择子类型" style="width: 100%">
|
||||
<el-option
|
||||
v-for="item in ziDeptOption"
|
||||
|
||||
Reference in New Issue
Block a user