Bladeren bron

添加2D、3D切换功能

liujiejie 8 maanden geleden
bovenliggende
commit
8e60465e1c

+ 3 - 2
src/views/overview/components/power_scatters/index.vue

@@ -1,7 +1,7 @@
 <!--
  * @Author: your name
  * @Date: 2025-08-04 16:11:25
- * @LastEditTime: 2025-08-06 16:27:04
+ * @LastEditTime: 2025-08-07 14:34:18
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/views/overview/components/power_scatters/index.vue
@@ -33,6 +33,7 @@
     ></PowerScatter3D>
   </div>
 </template>
+
 <script>
 import PowerScatter2D from "../power_scatter_2D/index.vue";
 import PowerScatter3D from "../power_scatter/index.vue";
@@ -71,7 +72,7 @@ export default {
       is2D: true,
     };
   },
-  //105=40(剩余贷款)+60(已还贷款)+30(首付)-20(利息)
+
   methods: {
     handleSetInitBathCode(val) {
       this.$emit("setInitBathCode", val); // 👈 向爷爷组件传递

+ 84 - 0
src/views/overview/components/speed_torque_power/index.vue

@@ -0,0 +1,84 @@
+<!--
+ * @Author: your name
+ * @Date: 2025-08-07 10:48:08
+ * @LastEditTime: 2025-08-07 14:34:11
+ * @LastEditors: bogon
+ * @Description: In User Settings Edit
+ * @FilePath: /performance-test/src/views/overview/components/speed_torque_power/index.vue
+-->
+<template>
+  <div>
+    <!-- <div>发电机转速-转矩/发电机转速-有功功率</div> -->
+    <el-button type="primary" size="small" @click="handleTabPower(!isPower)">
+      {{ isPower ? "查看转速-转矩" : "查看转速-有功功率" }}
+    </el-button>
+    <SpeedPower
+      v-if="isPower"
+      :initBatchCode="initBatchCode"
+      :analysisTypeCode="'speed_power'"
+      :batchCodeList="batchCodeList"
+      @setInitBathCode="handleSetInitBathCode"
+      @setIsShow="handleSetIsShow"
+      @handle2D="handle2D"
+      :isShow="isShow"
+      :isShowTinymceEditorCom="true"
+    ></SpeedPower>
+    <SpeedTorque
+      v-else
+      :initBatchCode="initBatchCode"
+      :analysisTypeCode="'speed_torque'"
+      :batchCodeList="batchCodeList"
+      @setInitBathCode="handleSetInitBathCode"
+      @setIsShow="handleSetIsShow"
+      @handle2D="handle2D"
+      :isShow="isShow"
+      :isShowTinymceEditorCom="true"
+    ></SpeedTorque>
+  </div>
+</template>
+<script>
+import SpeedTorque from "../speed_torque/index.vue";
+import SpeedPower from "../speed_power/index.vue";
+export default {
+  name: "SpeedTorquePower",
+  components: {
+    SpeedTorque,
+    SpeedPower,
+  },
+  props: {
+    initBatchCode: {
+      default: "",
+      type: String,
+    },
+    isShowTinymceEditorCom: {
+      default: true,
+      type: Boolean,
+    },
+    isShow: {
+      default: false,
+      type: Boolean,
+    },
+    analysisTypeCode: {
+      default: "",
+      type: String,
+    },
+    batchCodeList: {
+      default: "",
+      type: Array,
+    },
+  },
+  emits: ["setInitBathCode", "setIsShow"], // 👈 告诉 Vue 父组件会向上传递事件
+  data() {
+    return {
+      isPower: true,
+      windEngineGroupList: [],
+    };
+  },
+  methods: {
+    handleTabPower(val) {
+      this.isPower = val;
+    },
+  },
+};
+</script>
+<style scoped lang="scss"></style>

+ 35 - 4
src/views/overview/index.vue

@@ -359,9 +359,11 @@ export default {
       queryAllAnalysisType().then((res) => {
         if (res.code === 200) {
           const datas = res.data.map((item) => {
-            if (item.typeName === "功率曲线分析") {
-              item.children = [
-                { ...item.children[0] },
+            const newItem = { ...item }; // 浅拷贝,防止直接修改原始数据
+
+            if (newItem.typeName === "功率曲线分析") {
+              newItem.children = [
+                ...(newItem.children?.[0] ? [newItem.children[0]] : []),
                 {
                   id: "107",
                   typeName: "风速功率散点分析",
@@ -369,8 +371,37 @@ export default {
                 },
               ];
             }
-            return item;
+
+            if (newItem.typeName === "变桨-转速-转矩(功率)协调分析") {
+              newItem.children = (newItem.children || [])
+                .map((child) => {
+                  if (
+                    child.typeName === "发电机转速-有功功率" ||
+                    child.typeName === "发电机转速-转矩"
+                  ) {
+                    return {
+                      id: "120",
+                      typeName: "发电机转速-转矩(功率)",
+                      typeCode: "speed_torque_power",
+                    };
+                  }
+                  return child;
+                }) // 去重:只保留一个 typeCode 为 "speed_torque_power" 的对象
+                .filter((child, index, self) => {
+                  if (child.typeCode === "speed_torque_power") {
+                    return (
+                      self.findIndex(
+                        (c) => c.typeCode === "speed_torque_power"
+                      ) === index
+                    );
+                  }
+                  return true;
+                });
+            }
+
+            return newItem;
           });
+
           this.assetssTypeData = [
             {
               id: "1",

+ 22 - 0
src/views/performance/components/custonAsCom/UniverSheet.vue

@@ -0,0 +1,22 @@
+<!--
+ * @Author: your name
+ * @Date: 2025-08-07 10:36:41
+ * @LastEditTime: 2025-08-07 11:03:12
+ * @LastEditors: bogon
+ * @Description: In User Settings Edit
+ * @FilePath: /performance-test/src/views/performance/components/custonAsCom/UniverSheet.vue
+-->
+<template>
+  <div>UniverSheet</div>
+</template>
+<script>
+export default {
+  props: {},
+  data() {
+    return {};
+  },
+  mounted() {},
+  methods: {},
+};
+</script>
+<style scoped lang="scss"></style>