|
|
@@ -44,6 +44,9 @@
|
|
|
<div class="card chart-box" v-if="enablePowerFlow">
|
|
|
<PowerFlow ref="refPowerFlow" :pf="chartPowerFlow" />
|
|
|
</div>
|
|
|
+ <div class="card chart-box" v-if="enablePvPowerFlow">
|
|
|
+ <PvPowerFlow ref="refPvPowerFlow" :pf="chartPvPowerFlow" />
|
|
|
+ </div>
|
|
|
<!-- <div class="card chart-box" v-if="enableAlarmTimeLine">
|
|
|
<PowerFlow ref="refPowerFlow" :pf="chartPowerFlow" />
|
|
|
</div> -->
|
|
|
@@ -60,6 +63,8 @@ import { getCloudLogData } from "@/api/modules/cloudLog";
|
|
|
import { showFullScreenLoading, tryHideFullScreenLoading } from "@/components/Loading/fullScreen";
|
|
|
import PowerFlow from "./chart/powerFlow.chart.vue";
|
|
|
import { PowerFlowData, PowerFlowLogTypes } from "./chart/powerFlow.class";
|
|
|
+import PvPowerFlow from "./chart/pvPowerFlow.chart.vue";
|
|
|
+import { PowerFlowData as PvPowerFlowData, PowerFlowLogTypes as PvPowerFlowLogTypes } from "./chart/pvPowerFlow.class";
|
|
|
|
|
|
const route = useRoute();
|
|
|
const tabStore = useTabsStore();
|
|
|
@@ -105,8 +110,12 @@ interface FromModelType {
|
|
|
const isNoData = ref(true);
|
|
|
// 与chartType表单选择一致
|
|
|
const enablePowerFlow = ref(false);
|
|
|
+const enablePvPowerFlow = ref(false);
|
|
|
|
|
|
-const chartTypes = [{ label: "功率流图", value: "power-flow" }];
|
|
|
+const chartTypes: { label: string; value: string }[] = [
|
|
|
+ { label: "功率流图", value: "power-flow" },
|
|
|
+ { label: "PV功率流图", value: "pv-power-flow" }
|
|
|
+];
|
|
|
|
|
|
// 图表
|
|
|
const refPowerFlow = ref();
|
|
|
@@ -116,6 +125,13 @@ const refreshPowerFlow = () => {
|
|
|
}
|
|
|
};
|
|
|
const chartPowerFlow = new PowerFlowData(refreshPowerFlow);
|
|
|
+const refPvPowerFlow = ref();
|
|
|
+const refreshPvPowerFlow = () => {
|
|
|
+ if (refPvPowerFlow.value) {
|
|
|
+ refPvPowerFlow.value?.refresh();
|
|
|
+ }
|
|
|
+};
|
|
|
+const chartPvPowerFlow = new PvPowerFlowData(refreshPvPowerFlow);
|
|
|
|
|
|
// 表单参数
|
|
|
const fromModel = ref<FromModelType>({
|
|
|
@@ -164,12 +180,19 @@ const handleSubmit = () => {
|
|
|
let logData = {};
|
|
|
let logTypeList: string[] = [];
|
|
|
// 图表选择 - 判断图表是否显示或更新
|
|
|
- if (fromModel.value.chartType.includes("power-flow")) {
|
|
|
- logTypeList.push(...PowerFlowLogTypes);
|
|
|
- enablePowerFlow.value = true;
|
|
|
+ if (fromModel.value.chartType.length > 0) {
|
|
|
+ if (fromModel.value.chartType.includes("power-flow")) {
|
|
|
+ logTypeList.push(...PowerFlowLogTypes);
|
|
|
+ enablePowerFlow.value = true;
|
|
|
+ }
|
|
|
+ if (fromModel.value.chartType.includes("pv-power-flow")) {
|
|
|
+ logTypeList.push(...PvPowerFlowLogTypes);
|
|
|
+ enablePvPowerFlow.value = true;
|
|
|
+ }
|
|
|
isNoData.value = false;
|
|
|
} else {
|
|
|
enablePowerFlow.value = false;
|
|
|
+ enablePvPowerFlow.value = false;
|
|
|
}
|
|
|
|
|
|
// 判断选择数据是否改变
|
|
|
@@ -192,14 +215,26 @@ const handleSubmit = () => {
|
|
|
}
|
|
|
|
|
|
// 将数据插入chart中
|
|
|
- // 插入PowerFlow
|
|
|
- chartPowerFlow.clearData();
|
|
|
- PowerFlowLogTypes.map(item => {
|
|
|
- const resData: CloudLog.ResCloudLogData[] = logData[item] as CloudLog.ResCloudLogData[];
|
|
|
- chartPowerFlow.parser(item, resData);
|
|
|
- });
|
|
|
- // 刷新图表
|
|
|
- chartPowerFlow.refresh();
|
|
|
+ if (enablePowerFlow.value) {
|
|
|
+ // 插入PowerFlow
|
|
|
+ chartPowerFlow.clearData();
|
|
|
+ PowerFlowLogTypes.map(item => {
|
|
|
+ const resData: CloudLog.ResCloudLogData[] = logData[item] as CloudLog.ResCloudLogData[];
|
|
|
+ chartPowerFlow.parser(item, resData);
|
|
|
+ });
|
|
|
+ // 刷新图表
|
|
|
+ chartPowerFlow.refresh();
|
|
|
+ }
|
|
|
+ if (enablePvPowerFlow.value) {
|
|
|
+ // 插入PowerFlow
|
|
|
+ chartPvPowerFlow.clearData();
|
|
|
+ PvPowerFlowLogTypes.map(item => {
|
|
|
+ const resData: CloudLog.ResCloudLogData[] = logData[item] as CloudLog.ResCloudLogData[];
|
|
|
+ chartPvPowerFlow.parser(item, resData);
|
|
|
+ });
|
|
|
+ // 刷新图表
|
|
|
+ chartPvPowerFlow.refresh();
|
|
|
+ }
|
|
|
|
|
|
// 记录获取到的数据
|
|
|
currDataStatus.logTypes.length = 0;
|