|
@@ -107,21 +107,37 @@ const funSubmit = async () => {
|
|
|
ids: excelCheckIds.value.join(','),
|
|
|
}
|
|
|
})
|
|
|
- const lineRes = await request.get('/wind/deviation/ratio', {
|
|
|
- params: {
|
|
|
- ids: excelCheckIds.value.join(','),
|
|
|
- mode: 0
|
|
|
- }
|
|
|
- })
|
|
|
+ // const lineRes = await request.get('/wind/deviation/ratio', {
|
|
|
+ // params: {
|
|
|
+ // ids: excelCheckIds.value.join(','),
|
|
|
+ // mode: 0
|
|
|
+ // }
|
|
|
+ // })
|
|
|
// const rosesRes = flowerRes
|
|
|
// const lineRes = lineChartRes
|
|
|
if (tempRes.code === 200) {
|
|
|
if (tempRes.data?.length) {
|
|
|
console.log(tempRes.data)
|
|
|
- // for (const chart of rosesRes.data) {
|
|
|
- // barSeries[0].data = chart.roses?.length ?chart.roses[0]: []
|
|
|
- // chartId++
|
|
|
- // }
|
|
|
+ for (const chart of tempRes.data) {
|
|
|
+ barxAxis.data = Object.keys(chart.res1)
|
|
|
+ barSeries[0].data = Object.values(chart.res1)
|
|
|
+ chartId++
|
|
|
+ lineSeries.value = [
|
|
|
+ {
|
|
|
+ type: 'effectScatter',
|
|
|
+ showEffectOn: "emphasis",
|
|
|
+ rippleEffect: {
|
|
|
+ scale: 1
|
|
|
+ },
|
|
|
+ legendHoverLink: false,
|
|
|
+ name: '',
|
|
|
+ symbolSize: 5,
|
|
|
+ data: chart.res2,
|
|
|
+ yAxisIndex: 0,
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ chartId++
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
// if(lineRes.code === 200){
|
|
@@ -159,9 +175,9 @@ const funSubmit = async () => {
|
|
|
// }
|
|
|
}
|
|
|
/**lineChart */
|
|
|
-const linexAxis = ref({
|
|
|
- type: 'category',
|
|
|
- data: new Array(101).fill(-50).map((o,index) => Number((o + index).toFixed(1))),
|
|
|
+const linexAxis = reactive({
|
|
|
+ type: 'value',
|
|
|
+ name: '°C',
|
|
|
splitLine: {
|
|
|
show: false
|
|
|
},
|
|
@@ -169,18 +185,10 @@ const linexAxis = ref({
|
|
|
show: true
|
|
|
}
|
|
|
})
|
|
|
-const lineyAxis = ref([
|
|
|
+const lineyAxis = reactive([
|
|
|
{
|
|
|
type: 'value',
|
|
|
- name: 'm/s',
|
|
|
- splitLine: {
|
|
|
- show: false
|
|
|
- },
|
|
|
- axisTick: {
|
|
|
- show: true
|
|
|
- }
|
|
|
- },{
|
|
|
- type: 'value',
|
|
|
+ name: 'kW',
|
|
|
splitLine: {
|
|
|
show: false
|
|
|
},
|
|
@@ -190,7 +198,7 @@ const lineyAxis = ref([
|
|
|
}
|
|
|
])
|
|
|
const lineSeries = ref([])
|
|
|
-const lineDataSet = ref([
|
|
|
+const lineDataSet = reactive([
|
|
|
{
|
|
|
source: []
|
|
|
}
|
|
@@ -247,7 +255,7 @@ const funChartSelect = async (batch) => {
|
|
|
/**barChart */
|
|
|
const barxAxis = reactive({
|
|
|
type: 'category',
|
|
|
- data: ['N','', 'N-E','', 'E','', 'S-E','', 'S','', 'S-W','', 'W','', 'W-N',''],
|
|
|
+ data: [],
|
|
|
splitLine: {
|
|
|
show: false
|
|
|
},
|
|
@@ -255,9 +263,9 @@ const barxAxis = reactive({
|
|
|
show: true
|
|
|
}
|
|
|
})
|
|
|
-const baryAxis = ref({
|
|
|
+const baryAxis = reactive({
|
|
|
type: 'value',
|
|
|
- name: '小时',
|
|
|
+ name: 'kW',
|
|
|
splitLine: {
|
|
|
show: false
|
|
|
},
|
|
@@ -266,9 +274,8 @@ const baryAxis = ref({
|
|
|
}
|
|
|
})
|
|
|
const barSeries = reactive([{
|
|
|
- name: "3~5m功率",
|
|
|
+ name: "",
|
|
|
type: "bar",
|
|
|
- stack: 'a',
|
|
|
data: [],
|
|
|
}])
|
|
|
/**dialog 数据 */
|
|
@@ -312,20 +319,20 @@ const funActCop = (obj, type) => {
|
|
|
case 'barChartCop':
|
|
|
actChartName.value = 'barChartCop'
|
|
|
obj.actCop = shallowRef(barChartCop)
|
|
|
- actDiaTitle.value = '风速风向玫瑰图'
|
|
|
+ actDiaTitle.value = '平均功率-额定功率'
|
|
|
break
|
|
|
case 'lineChartCop':
|
|
|
actChartName.value = 'lineChartCop'
|
|
|
obj.actCop = shallowRef(lineChartCop)
|
|
|
- actDiaTitle.value = '对风偏差分析图'
|
|
|
- break
|
|
|
- case 'CurrentScatterChartCop':
|
|
|
- actChartName.value = 'CurrentScatterChartCop'
|
|
|
- obj.actCop = shallowRef(CurrentScatterChartCop)
|
|
|
- actDiaTitle.value = '静态偏航对风分析图'
|
|
|
+ actDiaTitle.value = '额定功率温度分析'
|
|
|
break
|
|
|
+ // case 'CurrentScatterChartCop':
|
|
|
+ // actChartName.value = 'CurrentScatterChartCop'
|
|
|
+ // obj.actCop = shallowRef(CurrentScatterChartCop)
|
|
|
+ // actDiaTitle.value = '静态偏航对风分析图'
|
|
|
+ // break
|
|
|
}
|
|
|
- obj.isBrush = type === 'lineChartCop' ? true :false
|
|
|
+ obj.isBrush = false
|
|
|
obj.id = chartId
|
|
|
chartId ++
|
|
|
dialog.value = true
|
|
@@ -338,14 +345,14 @@ const funDiaSubmit = async () => {
|
|
|
let url = ''
|
|
|
switch(actChartName.value){
|
|
|
case 'barChartCop':
|
|
|
- url = '/wind/roses'
|
|
|
+ url = '/temperature/rated/power'
|
|
|
break
|
|
|
case 'lineChartCop':
|
|
|
- url = '/wind/deviation/ratio'
|
|
|
- break
|
|
|
- case 'CurrentScatterChartCop':
|
|
|
- url = '' //暂无接口
|
|
|
+ url = '/temperature/rated/power'
|
|
|
break
|
|
|
+ // case 'CurrentScatterChartCop':
|
|
|
+ // url = '' //暂无接口
|
|
|
+ // break
|
|
|
}
|
|
|
if(url){
|
|
|
const res = await request.get(url, {
|
|
@@ -367,16 +374,17 @@ const funDiaSubmit = async () => {
|
|
|
isBrush: false,
|
|
|
actCop: shallowRef(barChartCop),
|
|
|
title: chart.wt,
|
|
|
- subtext: '风速风向玫瑰图',
|
|
|
+ subtext: '平均功率-额定功率',
|
|
|
xAxis: {
|
|
|
- type: 'category',
|
|
|
- boundaryGap: false,
|
|
|
- data: ['N','', 'N-E','', 'E','', 'S-E','', 'S','', 'S-W','', 'W','', 'W-N',''],
|
|
|
- splitLine: {
|
|
|
- show: true
|
|
|
- },
|
|
|
+ ...barxAxis,
|
|
|
+ data: Object.keys(chart.res1)
|
|
|
},
|
|
|
- series: chart.roses?.length ?chart.roses[0]: []
|
|
|
+ yAxis: baryAxis,
|
|
|
+ series: [{
|
|
|
+ name: "",
|
|
|
+ type: "bar",
|
|
|
+ data: Object.values(chart.res1),
|
|
|
+ }]
|
|
|
})
|
|
|
chartId++
|
|
|
}
|
|
@@ -385,69 +393,25 @@ const funDiaSubmit = async () => {
|
|
|
id: chartId,
|
|
|
isBrush: false,
|
|
|
actCop: shallowRef(lineChartCop),
|
|
|
- title: chart.wtId,
|
|
|
- subtext: '对风偏差分析图',
|
|
|
- xAxis: {
|
|
|
- type: 'category',
|
|
|
- data: new Array(101).fill(-50).map((o,index) => Number((o + index).toFixed(1))),
|
|
|
- splitLine: {
|
|
|
- show: false
|
|
|
- },
|
|
|
- axisTick: {
|
|
|
- show: true
|
|
|
- }
|
|
|
- },
|
|
|
- yAxis: [
|
|
|
+ title: chart.wt,
|
|
|
+ subtext: '额定功率温度分析',
|
|
|
+ xAxis: linexAxis,
|
|
|
+ yAxis: lineyAxis,
|
|
|
+ dataset: lineDataSet,
|
|
|
+ series: [
|
|
|
{
|
|
|
- type: 'value',
|
|
|
- name: 'm/s',
|
|
|
- splitLine: {
|
|
|
- show: false
|
|
|
- },
|
|
|
- axisTick: {
|
|
|
- show: true
|
|
|
+ type: 'effectScatter',
|
|
|
+ showEffectOn: "emphasis",
|
|
|
+ rippleEffect: {
|
|
|
+ scale: 1
|
|
|
+ },
|
|
|
+ legendHoverLink: false,
|
|
|
+ name: '',
|
|
|
+ symbolSize: 5,
|
|
|
+ data: chart.res2,
|
|
|
+ yAxisIndex: 0,
|
|
|
}
|
|
|
- },{
|
|
|
- type: 'value',
|
|
|
- splitLine: {
|
|
|
- show: false
|
|
|
- },
|
|
|
- axisTick: {
|
|
|
- show: true
|
|
|
- }
|
|
|
- }
|
|
|
- ],
|
|
|
- dataset: [{
|
|
|
- source: chart.scatter.map(o => {
|
|
|
- return [o.x+'', o.y]
|
|
|
- })
|
|
|
- }],
|
|
|
- series: [{
|
|
|
- name: "对风频次",
|
|
|
- type: "line",
|
|
|
- symbol: "line", //设定为实心点
|
|
|
- symbolSize: 0, //设定实心点的大小
|
|
|
- smooth: true, //这个是把线变成曲线
|
|
|
- data: chart.count,
|
|
|
- yAxisIndex: 1,
|
|
|
- },
|
|
|
- {
|
|
|
- type: 'effectScatter',
|
|
|
- showEffectOn: "emphasis",
|
|
|
-
|
|
|
- rippleEffect: {
|
|
|
- scale: 1
|
|
|
- },
|
|
|
- legendHoverLink: false,
|
|
|
- name: '数据散点',
|
|
|
- symbolSize: 5,
|
|
|
- datasetIndex: 0,
|
|
|
- encode: {
|
|
|
- x: 'x',
|
|
|
- y: 'y'
|
|
|
- },
|
|
|
- yAxisIndex: 0,
|
|
|
- }]
|
|
|
+ ]
|
|
|
|
|
|
})
|
|
|
chartId++
|
|
@@ -495,9 +459,7 @@ onActivated(() => {
|
|
|
</script>
|
|
|
<template>
|
|
|
<div class="bg-white py-[10px] px-[10px] relative s-dialog-body">
|
|
|
- <!-- <search-cop class="mb-[20px] shadow rounded-[6px] shadow-blue-500" @submit="funSubmit">
|
|
|
- </search-cop> -->
|
|
|
- <el-dialog v-model="wtDialog" draggable title="风机功率点位">
|
|
|
+ <!-- <el-dialog v-model="wtDialog" draggable title="风机功率点位">
|
|
|
<el-tabs v-model="wtTab">
|
|
|
<el-tab-pane label="数据" name="table">
|
|
|
<el-table :data="wtData" row-key="id" :max-height="550">
|
|
@@ -514,7 +476,7 @@ onActivated(() => {
|
|
|
<el-tab-pane label="预警" name="warning" disabled>
|
|
|
</el-tab-pane>
|
|
|
</el-tabs>
|
|
|
- </el-dialog>
|
|
|
+ </el-dialog> -->
|
|
|
<el-dialog draggable width="80%" v-model="dialog" :title="actDiaTitle">
|
|
|
<el-form class="whitespace-nowrap" :inline="true" :model="queryForm">
|
|
|
<el-form-item label="" class="!mb-0">
|
|
@@ -552,34 +514,35 @@ onActivated(() => {
|
|
|
<div :style="{ height: tableHeight }"
|
|
|
class="flex flex-wrap justify-center items-center overflow-x-hidden overflow-y-auto ">
|
|
|
<div class="mb-[10px] mr-[10px] w-[49%] h-[49%] flex flex-col items-end shadow rounded-[6px] shadow-blue-500">
|
|
|
- <!-- <el-icon class="mr-[10px] mt-[10px] cursor-pointer" size="18"
|
|
|
+ <el-icon class="mr-[10px] mt-[10px] cursor-pointer" size="18"
|
|
|
@click="funActCop({xAxis:barxAxis, yAxis:baryAxis, series: barSeries}, 'barChartCop')">
|
|
|
<ZoomIn />
|
|
|
- </el-icon> -->
|
|
|
- <bar-chart-cop width="100%" height="100%" :xAxis="barxAxis" :yAxis="baryAxis" :series="barSeries"></bar-chart-cop>
|
|
|
+ </el-icon>
|
|
|
+ <bar-chart-cop width="100%" height="100%" subtext="平均功率-额定功率" :xAxis="barxAxis" :yAxis="baryAxis" :series="barSeries"></bar-chart-cop>
|
|
|
</div>
|
|
|
<div class="mb-[10px] w-[49%] h-[49%] flex flex-col items-end shadow rounded-[6px] shadow-blue-500">
|
|
|
- <!-- <el-icon class="mr-[10px] mt-[10px] cursor-pointer" size="18"
|
|
|
- @click="funActCop({xAxis:barxAxis, yAxis:baryAxis, series: barSeries}, 'barChartCop')">
|
|
|
+ <el-icon class="mr-[10px] mt-[10px] cursor-pointer" size="18"
|
|
|
+ @click="funActCop({xAxis:linexAxis, yAxis:lineyAxis, series: lineSeries}, 'lineChartCop')">
|
|
|
<ZoomIn />
|
|
|
- </el-icon> -->
|
|
|
- <bar-chart-cop width="100%" height="100%" :xAxis="barxAxis" :yAxis="baryAxis" :series="barSeries"></bar-chart-cop>
|
|
|
+ </el-icon>
|
|
|
+ <line-chart-cop class="" height="100%" width="100%" :xAxis="linexAxis" :yAxis="lineyAxis"
|
|
|
+ :series="lineSeries" subtext="额定功率温度分析" :dataset="lineDataSet"></line-chart-cop>
|
|
|
</div>
|
|
|
<div class="mr-[10px] w-[49%] h-[49%] flex flex-col items-end shadow rounded-[6px] shadow-blue-500" v-if="!!lineSeries.length">
|
|
|
<!-- <el-icon class="mr-[10px] mt-[10px] cursor-pointer" size="18"
|
|
|
@click="funActCop({ xAxis: linexAxis, yAxis: lineyAxis, series: lineSeries, dataset: lineDataSet }, 'lineChartCop')">
|
|
|
<ZoomIn />
|
|
|
</el-icon> -->
|
|
|
- <line-chart-cop class="" height="100%" width="100%" :xAxis="linexAxis" :yAxis="lineyAxis"
|
|
|
- :series="lineSeries" subtext="对风偏差分析图" :dataset="lineDataSet"></line-chart-cop>
|
|
|
+ <!-- <current-scatter-chart-cop class="" height="100%" width="100%" :xAxis="linexAxis" :yAxis="lineyAxis"
|
|
|
+ :series="lineSeries" subtext="风速功率-温度分析" :dataset="lineDataSet"></current-scatter-chart-cop> -->
|
|
|
</div>
|
|
|
<div class="w-[49%] h-[49%] flex flex-col items-end shadow rounded-[6px] shadow-blue-500" v-if="!!lineSeries.length">
|
|
|
<!-- <el-icon class="mr-[10px] mt-[10px] cursor-pointer" size="18"
|
|
|
@click="funActCop({ xAxis: xAxisData, yAxis: { splitLine: { show: false } }, series: seriesData, dataSet: dataSet }, 'CurrentScatterChartCop')">
|
|
|
<ZoomIn />
|
|
|
</el-icon> -->
|
|
|
- <current-scatter-chart-cop class="" height="100%" width="100%" :xAxis="linexAxis" :yAxis="lineyAxis"
|
|
|
- :series="lineSeries" subtext="对风偏差分析图" :dataset="lineDataSet"></current-scatter-chart-cop>
|
|
|
+ <!-- <current-scatter-chart-cop class="" height="100%" width="100%" :xAxis="linexAxis" :yAxis="lineyAxis"
|
|
|
+ :series="lineSeries" subtext="对风偏差分析图" :dataset="lineDataSet"></current-scatter-chart-cop> -->
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-col>
|