Forráskód Böngészése

改变数据配置选中形式

liujiejie 8 hónapja
szülő
commit
936293685c

+ 7 - 12
src/assets/js/constants/echarts-config/Cp.js

@@ -1,7 +1,7 @@
 /*
  * @Author: your name
  * @Date: 2024-11-19 16:22:48
- * @LastEditTime: 2024-11-21 15:44:18
+ * @LastEditTime: 2024-11-22 14:43:53
  * @LastEditors: bogon
  * @Description: In User Settings Edit
  * @FilePath: /performance-test/src/assets/js/constants/echarts-config/Cp.js
@@ -12,8 +12,6 @@
 export const option = {
   title: {
     text: "风速与功率输出对比",
-    x: "40%",
-    y: "8%",
   },
   xAxis: {
     type: "category",
@@ -32,7 +30,7 @@ export const option = {
     axisLabel: {
       show: true,
       interval: "auto",
-      formatter: "{value} kW", // 功率单位:kW
+      formatter: "{value}", // 功率单位:kW
     },
     show: true,
     name: "功率输出(kW)",
@@ -68,14 +66,11 @@ export const option = {
         let index = params[0];
         return (
           "风机型号:  " +
-          index.seriesName +
-          "</br>" +
-          "风速:&nbsp;" +
-          index.data[0] +
-          " m/s</br>" +
-          "功率输出:&nbsp;&nbsp;" +
-          index.data[1] +
-          " kW</br>"
+            index.seriesName +
+            "</br>" +
+            "风速:&nbsp;" +
+            index.data[0],
+          "功率输出:&nbsp;&nbsp;" + index.data[1]
         );
       }
     },

+ 2 - 2
src/store/dragChart.js

@@ -13,7 +13,7 @@ export default {
     currentChartList: [], // 当前文件的当前数据
     originChartList: [], // 当前文件的原始数据
     fileList: [], // 文件列表
-    dataBaseCheckList: {}, //选中数据更新
+    dataBaseCheckList: [], //选中数据更新
     // formFilterAlignData: [], //这个是所有图表数据筛选保存字段
   },
   mutations: {
@@ -34,7 +34,7 @@ export default {
         currentChartList: [],
         originChartList: [],
         fileList: [],
-        dataBaseCheckList: {},
+        dataBaseCheckList: [],
         triggerGetData: false,
         updateTriggerGetData: false,
         formFilterAlignData: [],

+ 1 - 1
src/views/performance/components/custonAsCom/dragChart/components/chartConfig/config.js

@@ -1,7 +1,7 @@
 export const configApi = [
   {
     label: "图表文本配置", //提示文本
-    value: "title", //组件名
+    value: "chartTitle", //组件名
     icon: "text", //图标
     name: "configText", //tab name
     desc: "标题组件,包含主标题和副标题。",

+ 2 - 2
src/views/performance/components/custonAsCom/dragChart/components/chartConfig/form/title.vue → src/views/performance/components/custonAsCom/dragChart/components/chartConfig/form/chartTitle.vue

@@ -326,8 +326,8 @@ export default {
     },
     dataBaseCheckList: {
       handler(newVal) {
-        this.disabled = !newVal.children?.length;
-        this.selectData = newVal.children;
+        this.disabled = newVal.length === 0 ? true : false;
+        this.selectData = newVal;
       },
       immediate: true, // 组件加载时立即检查
       deep: true, // 深度监听

+ 3 - 3
src/views/performance/components/custonAsCom/dragChart/components/chartConfig/form/index.js

@@ -1,4 +1,4 @@
 export default {
-  title: () => import(/* webpackChunkName:"" */ './title.vue'),
-  legend: () => import(/* webpackChunkName:"" */ './legend.vue')
-}
+  chartTitle: () => import(/* webpackChunkName:"" */ "./chartTitle.vue"),
+  legend: () => import(/* webpackChunkName:"" */ "./legend.vue"),
+};

+ 26 - 8
src/views/performance/components/custonAsCom/dragChart/components/chartsData.vue

@@ -11,7 +11,7 @@
         :filter-node-method="filterNode"
         ref="tree"
         :render-content="renderContent"
-        @node-click="handleNodeClick"
+        @check-change="handleNodeClick"
       />
     </el-card>
   </div>
@@ -77,7 +77,7 @@ export default {
       });
       // 检查选中的节点状态,如果没有选中节点则调用 updateDataBase({})
       if (!this.selectedNodeId) {
-        this.updateDataBase({});
+        this.updateDataBase([]);
       }
     },
     getAllData() {
@@ -99,12 +99,29 @@ export default {
     },
     handleNodeClick(data) {
       this.selectedNodeId = data.id;
-      this.updateDataBase(data);
+
+      this.updateDataBase(this.$refs.tree.getCheckedNodes());
+    },
+    // 父节点复选框改变时递归设置子节点状态
+    handleParentNodeChange(node, isChecked) {
+      // 设置父节点及所有子节点状态
+      this.$refs.tree.setChecked(node, isChecked, true); // true 表示递归操作
     },
     renderContent(h, { node, data }) {
       return h("span", [
+        // 子节点复选框
         node.level > 1
           ? h("span", [
+              h("el-checkbox", {
+                props: {
+                  value: node.checked,
+                },
+                on: {
+                  change: (val) => {
+                    this.$refs.tree.setChecked(node, val);
+                  },
+                },
+              }),
               h("svg-icon", {
                 props: {
                   "icon-class": "fields2",
@@ -114,18 +131,19 @@ export default {
             ])
           : null,
 
+        // 父节点复选框
         node.level === 1
           ? h("span", [
               h(
-                "el-radio",
+                "el-checkbox",
                 {
                   props: {
-                    value: this.selectedNodeId,
-                    label: data.id,
+                    value: node.checked,
+                    indeterminate: node.indeterminate, // 用于半选状态
                   },
                   on: {
-                    input: (val) => {
-                      this.selectedNodeId = val;
+                    change: (val) => {
+                      this.handleParentNodeChange(node, val);
                     },
                   },
                 },