对应前端目录:
src/views/windResourceWake/
后端接口:POST /energy-manage-analyse-service/wakewindfarm/getWakeWindFarm
当前前端图表配置:utils/overviewChartOptions.js、utils/wakeChartOptions.js
| Tab | 区块 | 图表类型 | 前端函数 / 组件 |
|---|---|---|---|
| 资源概览 | A2 各机组风速分布 | 阶梯折线图(多机组) | getWindDistOption() |
| 资源概览 | 风向玫瑰图(每机组 1 张) | 极坐标堆叠柱状图 | getSingleWindRoseOption(index) |
| 尾流情况 | 速度与损失分布(左) | 散点图 + 连续色带 | getScatter1Option() |
| 尾流情况 | 速度与损失分布(右) | 散点图 | getScatter2Option() |
| 尾流情况 | 尾流影响评估 | 双 Y 轴柱状图 | getBarOption() |
| 尾流情况 | 尾流影响评估 | 表格 + 缩略图 | WrwWakeTable |
POST /energy-manage-analyse-service/wakewindfarm/getWakeWindFarm?fieldCode={风场编号}&datatime={yyyy-MM-dd}
| 参数 | 位置 | 必填 | 说明 |
|---|---|---|---|
fieldCode |
query | 是 | 平台内部风场编号 |
datatime |
query | 否 | 查询日期;为空时默认昨天 |
{
"code": 200,
"status": true,
"msg": "success",
"data": {}
}
data — WakeWindFarmVO(风场级)| 字段 | 类型 | 说明 |
|---|---|---|
id |
number | 主键 |
fieldId |
string | 风场 ID |
dataDate |
string (date-time) | 数据日期(天) |
windSpeedDistributionChart |
string | 风速分布图资源路径(图片或 JSON 文件 URL) |
wakeRoseDiagramPath |
string | 风向玫瑰图资源路径 |
wakeDistributePath |
string | 风场尾流影响分布图路径 |
wakeLossConfidentPath |
string | 尾流亏损置信度散点图路径 |
| velocityDeficitPath | string | 速度亏损柱状图路径 |
| wakeDiscriptionPath | string | 尾流检测结果文本描述路径 |
| getWakeTurbineList | WakeTurbineVO[] | 风机明细列表(表格 / 散点数据源) |
WakeTurbineVO(风机级)| 字段 | 类型 | 说明 | 前端表格列 |
|---|---|---|---|
engineId |
string | 风机 ID | 风机名称(可映射显示名) |
fieldId |
string | 风场 ID | — |
dateResource |
string (date-time) | 数据采集时间 | — |
isWake |
number | 是否受尾流影响 0/1 |
是否受尾流影响 |
turbulenceIntensity |
number | 湍流强度 | 附加湍流强度 |
velocityDeficit |
number | 尾流速度亏损 | 尾流速度损耗 |
confidentLevel |
number | 检测置信度(如 0.95) |
置信度(前端展示为百分比) |
wakeTurbinePath |
number | 单风机尾流影响图路径/标识 | 图片列 |
{
"code": 200,
"status": true,
"msg": "success",
"data": {
"id": 1001,
"fieldId": "WOF047502757",
"dataDate": "2024-04-28T00:00:00",
"windSpeedDistributionChart": "/minio/wake/WOF047502757/2024-04-28/wind-speed-dist.json",
"wakeRoseDiagramPath": "/minio/wake/WOF047502757/2024-04-28/wind-rose.json",
"wakeDistributePath": "/minio/wake/WOF047502757/2024-04-28/wake-distribute.png",
"wakeLossConfidentPath": "/minio/wake/WOF047502757/2024-04-28/loss-confident.json",
"velocityDeficitPath": "/minio/wake/WOF047502757/2024-04-28/velocity-deficit.json",
"wakeDiscriptionPath": "/minio/wake/WOF047502757/2024-04-28/description.txt",
"getWakeTurbineList": [
{
"engineId": "JH03",
"fieldId": "WOF047502757",
"dateResource": "2024-04-28T00:00:00",
"isWake": 1,
"turbulenceIntensity": 80,
"velocityDeficit": 2,
"confidentLevel": 0.9,
"wakeTurbinePath": "/minio/wake/turbine/JH03.png"
},
{
"engineId": "JH04",
"fieldId": "WOF047502757",
"dateResource": "2024-04-28T00:00:00",
"isWake": 0,
"turbulenceIntensity": 45,
"velocityDeficit": 1,
"confidentLevel": 0.95,
"wakeTurbinePath": "/minio/wake/turbine/JH04.png"
}
]
}
}
说明:Swagger 中部分图表字段为
*Path字符串。若后端直接返回可访问的 JSON 文件,前端需二次请求该 URL 并按下文「图表专用 JSON」解析;若后端改为在接口内嵌 JSON,建议使用下文推荐的charts结构。
以下为与当前 ECharts 实现对齐的结构化数据格式,便于后端一次性返回或写入 *Path 指向的 JSON 文件。
{
"meta": {
"fieldCode": "WOF047502757",
"fieldId": "WOF047502757",
"datatime": "2024-04-28",
"titleDate": "2024-04-28"
},
"windSpeedDistribution": {},
"windRose": {},
"layoutLossScatter": {},
"lossConfidenceScatter": {},
"lossDelBar": {},
"turbineTable": []
}
用途:对比各机组风速概率密度曲线。
X 轴:风速 (m/s),当前前端固定 0 ~ 25,步长 0.5。
Y 轴:概率密度,当前前端固定 0 ~ 0.24。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
turbines |
array | 是 | 机组列表 |
turbines[].engineId |
string | 是 | 机组编号,用于图例 |
turbines[].displayName |
string | 否 | 展示名,缺省用 engineId |
turbines[].color |
string | 否 | 折线颜色,缺省前端色板 |
turbines[].points |
array | 是 | [风速, 概率密度] 二维点 |
points[][0] |
number | 是 | 风速 m/s |
points[][1] |
number | 是 | 概率密度 |
{
"windSpeedDistribution": {
"xAxis": { "min": 0, "max": 25, "interval": 5, "name": "风速 (m/s)" },
"yAxis": { "min": 0, "max": 0.24, "interval": 0.05, "name": "概率密度" },
"turbines": [
{
"engineId": "JH03",
"displayName": "JH03",
"points": [
[0.0, 0.012],
[0.5, 0.028],
[1.0, 0.065],
[3.0, 0.135],
[5.0, 0.115],
[7.0, 0.042]
]
},
{
"engineId": "JH04",
"displayName": "JH04",
"points": [
[0.0, 0.01],
[0.5, 0.025],
[3.0, 0.128],
[5.5, 0.108]
]
}
]
}
}
// 每个 turbine 对应一条 series
{
name: turbine.engineId,
type: "line",
step: "middle",
data: turbine.points // [[x,y], ...]
}
用途:每台机组一张玫瑰图,展示 16 方位 × 5 个风速段的频次。
方位:N → NE → E → SE → S → SW → W → NW(中间空槽位用于留白,共 16 格)。
风速段(固定顺序,与前端 ROSE_SPEED_BANDS 一致):
0~3 m/s3~6 m/s6~9 m/s9~12 m/s>12 m/s| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
speedBands |
string[] | 否 | 风速段名称,默认见上 |
directions |
string[] | 否 | 16 方位标签,默认含空字符串间隔 |
turbines |
array | 是 | 每机组一组数据 |
turbines[].engineId |
string | 是 | 机组编号(卡片标题) |
turbines[].bands |
array | 是 | 长度 5,每个风速段一条 |
bands[].band |
string | 是 | 风速段名称 |
bands[].values |
number[] | 是 | 长度 16,各方位频次/占比 |
{
"windRose": {
"speedBands": ["0~3 m/s", "3~6 m/s", "6~9 m/s", "9~12 m/s", ">12 m/s"],
"directions": [
"N",
"",
"NE",
"",
"E",
"",
"SE",
"",
"S",
"",
"SW",
"",
"W",
"",
"NW",
""
],
"turbines": [
{
"engineId": "JH03",
"bands": [
{
"band": "0~3 m/s",
"values": [
2.1, 1.8, 2.3, 1.5, 0.9, 0.6, 0.5, 0.4, 0.5, 0.6, 0.8, 1.2, 1.9,
2.0, 2.2, 1.7
]
},
{
"band": "3~6 m/s",
"values": [
1.9, 1.6, 2.0, 1.3, 0.8, 0.5, 0.4, 0.3, 0.4, 0.5, 0.7, 1.0, 1.7,
1.8, 2.0, 1.5
]
},
{
"band": "6~9 m/s",
"values": [
1.2, 1.0, 1.5, 0.9, 0.6, 0.4, 0.3, 0.2, 0.3, 0.4, 0.5, 0.8, 1.2,
1.3, 1.5, 1.1
]
},
{
"band": "9~12 m/s",
"values": [
0.5, 0.4, 0.6, 0.3, 0.2, 0.1, 0.1, 0.1, 0.1, 0.2, 0.2, 0.3, 0.5,
0.5, 0.6, 0.4
]
},
{
"band": ">12 m/s",
"values": [
0.2, 0.1, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.2,
0.2, 0.2, 0.2
]
}
]
},
{
"engineId": "JH04",
"bands": []
}
]
}
}
用途:平面坐标展示机组位置,颜色/大小编码发电量损失百分比。
点结构:[东西坐标(米), 南北坐标(米), 发电量损失(%)]
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
title |
string | 否 | 图表标题 |
xAxis |
object | 否 | { min, max, name } 东西方向 |
yAxis |
object | 否 | { min, max, name } 南北方向 |
visualMap |
object | 否 | { min, max } 损失色带范围,默认 0~85 |
points |
array | 是 | 散点列表 |
points[].engineId |
string | 是 | 机组 ID(点标签) |
points[].east |
number | 是 | 东西坐标(米) |
points[].north |
number | 是 | 南北坐标(米) |
points[].lossPercent |
number | 是 | 发电量损失 % |
{
"layoutLossScatter": {
"title": "风电场布局与机组日尺度发电量损失图(2024-04-28)",
"xAxis": { "min": 333200, "max": 333450, "name": "东西方向坐标(米)" },
"yAxis": { "min": 4172500, "max": 4174000, "name": "南北方向坐标(米)" },
"visualMap": { "min": 0, "max": 85 },
"points": [
{
"engineId": "L9Xcm4u0",
"east": 333330,
"north": 4173350,
"lossPercent": 7.8
},
{
"engineId": "7xKAWgZW",
"east": 333410,
"north": 4172980,
"lossPercent": 84.7
},
{
"engineId": "3jyH154U",
"east": 333270,
"north": 4172520,
"lossPercent": 0.4
}
]
}
}
{ name: "L9Xcm4u0", value: [333330, 4173350, 7.8] }
用途:损失 % vs 可信度 %,用于区分高损失高/低可信区域。
点结构:[发电量损失(%), 结果可信度(%)]
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
title |
string | 否 | 图表标题 |
xAxis |
object | 否 | 损失轴 { min: 0, max: 90 } |
yAxis |
object | 否 | 可信度轴 { min: 65, max: 98 } |
points |
array | 是 | 散点列表 |
points[].engineId |
string | 是 | 机组 ID |
points[].lossPercent |
number | 是 | 发电量损失 % |
points[].confidencePercent |
number | 是 | 结果可信度 % |
points[].color |
string | 否 | 点颜色(如 #4CAF50 高可信) |
{
"lossConfidenceScatter": {
"title": "日尺度损失与可信度散点图(2024-04-28)",
"points": [
{
"engineId": "L9Xcm4u0",
"lossPercent": 7.8,
"confidencePercent": 92,
"color": "#C0C0C0"
},
{
"engineId": "7xKAWgZW",
"lossPercent": 84.7,
"confidencePercent": 87,
"color": "#E85D5D"
},
{
"engineId": "3jyH154U",
"lossPercent": 0.4,
"confidencePercent": 67,
"color": "#E85D5D"
},
{
"engineId": "3dORuyAV",
"lossPercent": 3.4,
"confidencePercent": 95,
"color": "#4CAF50"
}
]
}
}
{ name: "L9Xcm4u0", value: [7.8, 92], itemStyle: { color: "#C0C0C0" } }
用途:每台机组两根柱:发电量损失 %、相对 DEL 指标 %。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
title |
string | 否 | 图表标题 |
items |
array | 是 | 机组柱数据 |
items[].engineId |
string | 是 | X 轴类目 |
items[].lossPercent |
number | 是 | 发电量损失 %(左 Y 轴,0~100) |
items[].delPercent |
number | 是 | 相对 DEL 指标 %(右 Y 轴,0~400) |
{
"lossDelBar": {
"title": "各机组日尺度发电量损失与相对DEL指标(2024-04-28)",
"items": [
{ "engineId": "L9Xcm4u0", "lossPercent": 7.8, "delPercent": 50.8 },
{ "engineId": "o23d6LBB", "lossPercent": 7.5, "delPercent": 54.6 },
{ "engineId": "I7EJ4nPt", "lossPercent": 59.6, "delPercent": 348.4 },
{ "engineId": "7xKAWgZW", "lossPercent": 84.7, "delPercent": 324.4 }
]
}
}
用途:分页表格,展示单机尾流诊断结果与缩略图。
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
name |
string | 是 | 风机名称(展示用) |
engineId |
string | 否 | 风机 ID |
affected |
string | 是 | "yes" / "no" 或后端 isWake 映射 1→yes, 0→no |
turbulence |
number | 是 | 附加湍流强度 |
loss |
number | 是 | 尾流速度损耗 |
confidence |
string | 是 | 置信度展示,如 "90%" |
image |
string | 是 | 缩略图 URL |
{
"turbineTable": [
{
"name": "风机01",
"engineId": "JH03",
"affected": "yes",
"turbulence": 80,
"loss": 2,
"confidence": "90%",
"image": "https://cdn.example.com/wake/JH03-thumb.png"
},
{
"name": "风机02",
"engineId": "JH04",
"affected": "no",
"turbulence": 90,
"loss": 1,
"confidence": "80%",
"image": "https://cdn.example.com/wake/JH04-thumb.png"
}
]
}
WakeTurbineVO 映射示例{
name: item.engineId,
affected: item.isWake === 1 ? "yes" : "no",
turbulence: item.turbulenceIntensity,
loss: item.velocityDeficit,
confidence: `${Math.round(item.confidentLevel * 100)}%`,
image: item.wakeTurbinePath
}
以下为前端可直接消费的聚合 JSON 示例(可放在 data.charts 扩展字段,或由 windSpeedDistributionChart 等 Path 指向的同结构文件提供)。
{
"code": 200,
"status": true,
"msg": "success",
"data": {
"id": 1001,
"fieldId": "WOF047502757",
"dataDate": "2024-04-28T00:00:00",
"windSpeedDistributionChart": null,
"wakeRoseDiagramPath": null,
"wakeDistributePath": null,
"wakeLossConfidentPath": null,
"velocityDeficitPath": null,
"wakeDiscriptionPath": null,
"getWakeTurbineList": [],
"charts": {
"meta": {
"fieldCode": "WOF047502757",
"datatime": "2024-04-28",
"titleDate": "2024-04-28"
},
"windSpeedDistribution": {
"turbines": [
{
"engineId": "JH03",
"points": [
[0, 0.01],
[1, 0.04],
[3, 0.13],
[5, 0.11],
[7, 0.03]
]
}
]
},
"windRose": {
"turbines": [
{
"engineId": "JH03",
"bands": [
{
"band": "0~3 m/s",
"values": [
2.1, 1.8, 2.3, 1.5, 0.9, 0.6, 0.5, 0.4, 0.5, 0.6, 0.8, 1.2,
1.9, 2.0, 2.2, 1.7
]
}
]
}
]
},
"layoutLossScatter": {
"title": "风电场布局与机组日尺度发电量损失图(2024-04-28)",
"points": [
{
"engineId": "JH03",
"east": 333330,
"north": 4173350,
"lossPercent": 7.8
}
]
},
"lossConfidenceScatter": {
"title": "日尺度损失与可信度散点图(2024-04-28)",
"points": [
{ "engineId": "JH03", "lossPercent": 7.8, "confidencePercent": 92 }
]
},
"lossDelBar": {
"title": "各机组日尺度发电量损失与相对DEL指标(2024-04-28)",
"items": [
{ "engineId": "JH03", "lossPercent": 7.8, "delPercent": 50.8 }
]
},
"turbineTable": [
{
"name": "JH03",
"engineId": "JH03",
"affected": "yes",
"turbulence": 80,
"loss": 2,
"confidence": "90%",
"image": "/minio/wake/turbine/JH03.png"
}
]
}
}
}
fieldCode、日期 datatime 与 WrwFilterBar 保持一致。data.charts 存在则直接渲染;否则按 *Path 拉取 JSON/图片。charts.turbineTable 时,用 getWakeTurbineList 按 §4.6 映射。≥80 高、≥60 中、其余低≥3 高、≥2 中、其余低≥90% 高、≥80% 中、其余低| 文件 | 说明 |
|---|---|
src/views/windResourceWake/utils/overviewChartOptions.js |
风速分布、风向玫瑰图 |
src/views/windResourceWake/utils/wakeChartOptions.js |
三张尾流散点/柱图 |
src/views/windResourceWake/data/mockData.js |
当前 Mock 表格与机组名 |
src/views/windResourceWake/components/WrwOverviewTab.vue |
资源概览 Tab |
src/views/windResourceWake/components/WrwWakeTab.vue |
尾流情况 Tab |
swagger.json |
WakeWindFarmVO / WakeTurbineVO 定义 |
docs/API_DESIGN_REPORT_energy-manage-analyse.md |
分析服务 API 总览 |