Browse Source

[Feat 0000] 保德新火灾首页对接

houzekong 5 months ago
parent
commit
69d9db0139

+ 2 - 2
src/views/vent/deviceManager/configurationTable/types.ts

@@ -165,7 +165,7 @@ export interface ModuleDataGalleryList {
 
 export interface ModuleDataChart {
   /** 图表类型,一个类型对应一种图表预设 */
-  type: 'pie' | 'bar' | 'line' | 'line_area' | 'line_bar' | 'line_smooth';
+  type: 'pie' | 'bar' | 'line' | 'line_area' | 'line_bar' | 'line_smooth' | 'line_smooth_complex';
   /** 读取数据时的基础路径,如果配置了 header,应接着 Config.deviceType 配取值路径,反之应配置详尽路径。特别的是,pie 类型的图表应将路径指到对象上,其他的图表应该指到数组上 */
   readFrom: string;
   /** 排序依据,该项应配置将配合 readFrom 使用 */
@@ -186,7 +186,7 @@ export interface ModuleDataChart {
   }[];
   /** 核心配置,一个系列应对应一个数据维度,例如:[{ label: '风量', prop: '${f1Val}' }] */
   series: {
-    /** 数据说明,formatter 格式 */
+    /** 数据说明, formatter 格式 */
     label: string;
     /** 取值 prop,注意该项不支持 formatter 格式 */
     prop: string;

+ 1 - 1
src/views/vent/home/configurable/components/ModuleBDDual.vue

@@ -99,7 +99,7 @@
     selectedDevice: selectedDeviceB,
     options: optionsB,
     fetchDevices: fetchDevicesB,
-  } = useInitDevicesBD(props.deviceTypeA, props.pageType, props.moduleDataA);
+  } = useInitDevicesBD(props.deviceTypeB, props.pageType, props.moduleDataB);
 
   const style = computed(() => {
     const size = props.showStyle.size;

+ 68 - 2
src/views/vent/home/configurable/components/detail/CustomChart.vue

@@ -13,8 +13,8 @@
     defineProps<{
       chartData: Record<string, any> | Record<string, any>[];
       chartConfig: Config['moduleData']['chart']['0'];
-      height: string;
-      width: string;
+      height?: string;
+      width?: string;
     }>(),
     {
       chartData: () => [],
@@ -390,6 +390,68 @@
       };
     }
 
+    // 折线图和上面的柱状图类似
+    if (type === 'line_smooth_complex') {
+      return {
+        legend: {
+          top: 10,
+          right: 10,
+          textStyle: {
+            color: '#fff',
+          },
+        },
+        // backgroundColor: '#081f33',
+        textStyle: {
+          color: '#fff',
+        },
+        grid: {
+          left: 50,
+          top: 50,
+          right: 50,
+          bottom: 50,
+        },
+        xAxis: xAxis.map(() => {
+          return {
+            type: 'category',
+            // data: sorttedData.map((d) => {
+            //   return getFormattedText(d, e.label);
+            // }),
+          };
+        }),
+        yAxis: yAxis.map((e) => {
+          return {
+            name: e.label,
+            position: e.align,
+            splitLine: {
+              lineStyle: {
+                opacity: 0.3,
+              },
+            },
+          };
+        }),
+        // 基于以下情况作处理:
+        // 数据示例:arr1: [ { arr2: [ { val: 2 } ] } ]
+        // readFrom 指向 arr1,则 prop 配置应为 arr2|val
+        series: sorttedData.map((data) => {
+          const serie = series[0];
+          const [p1, p2] = serie.prop.split('|');
+          // 从 readFrom 指向的数组项中,取出指定的子数组
+          const arr = get(data, p1);
+
+          return {
+            type: 'line',
+            data: arr.map((e) => {
+              return {
+                name: get(e, serie.label),
+                value: get(e, p2, 0),
+              };
+            }),
+            smooth: true,
+          };
+        }),
+      };
+    }
+
     return {};
   };
 
@@ -397,11 +459,15 @@
     () => props.chartData,
     () => {
       initCharts();
+    },
+    {
+      immediate: true,
     }
   );
 
   function initCharts() {
     const o = genChartOption();
+    console.log('debug initchart');
     setOptions(o as EChartsOption, false);
   }
 </script>

+ 5 - 5
src/views/vent/home/configurable/components/detail/CustomList.vue

@@ -214,16 +214,16 @@
   }
   .list-item__content_G > .list-item__info {
     width: 70px;
-    height: 40px;
-    line-height: 40px;
+    height: 30px;
+    line-height: 30px;
     right: 0;
     position: absolute;
   }
   .list-item__content_G > .list-item__value {
     width: 70px;
-    height: 40px;
-    line-height: 40px;
-    top: 40px;
+    height: 50px;
+    line-height: 50px;
+    top: 30px;
     right: 0;
     position: absolute;
     text-shadow: 0 0 25px #00fbfe;

+ 242 - 105
src/views/vent/home/configurable/configurable.data.ts

@@ -1833,7 +1833,7 @@ const BDfireMock = {
     zdNum: '5', //工作面重大风险
     sysList: [
       {
-        sysNamme: '工作面名称1', //工作面名称
+        sysName: '工作面名称1', //工作面名称
         warnLevel: '低风险', //预警级别
         maxVal: '1.88', //最高温度
       },
@@ -1880,21 +1880,92 @@ const BDfireMock = {
       },
     ],
   },
-  btArray: [
+  sgGxObj: {
     //工作面束管监测
-    {
-      name: 'CO', //数据名称(前端自己处理化学方程式的标识符)
-      val: '0.2', //最大值
-      strinstallpos: '位置1', //安装位置
-      time: '2024-09-12 15:33:50',
-    },
-    {
-      name: 'CO2', //数据名称(前端自己处理化学方程式的标识符)
-      val: '0.3', //最大值
-      strinstallpos: '位置1', //安装位置
-      time: '2024-09-12 15:33:50',
-    },
-  ],
+    btArray: [
+      //束管统计信息
+      {
+        name: 'CO', //数据名称(前端自己处理化学方程式的标识符)
+        val: '0.2', //最大值
+        strinstallpos: '位置1', //安装位置
+        time: '2024-09-12 15:33:50',
+      },
+      {
+        name: 'CO2', //数据名称(前端自己处理化学方程式的标识符)
+        val: '0.3', //最大值
+        strinstallpos: '位置1', //安装位置
+        time: '2024-09-12 15:33:50',
+      },
+    ],
+    devGxcw: [
+      //光纤测温各设备信息
+      {
+        strinstallpos: '位置1', //安装位置
+        fmax: '0', //最高浓度
+        fmin: '0', //最低温度
+        favg: '0', //平均温度
+        fibreTemperature: [
+          {
+            fmax: '0', //最高浓度
+            fmin: '1', //最低温度
+            time: '1',
+          },
+          {
+            fmax: '1', //最高浓度
+            fmin: '0', //最低温度
+            time: '1',
+          },
+        ], //曲线图数据
+        warnLevel: '低风险', //风险监测
+      },
+      {
+        strinstallpos: '位置2', //安装位置
+        fmax: '0', //最高浓度
+        fmin: '0', //最低温度
+        favg: '0', //平均温度
+        fibreTemperature: [
+          {
+            fmax: '0', //最高浓度
+            fmin: '0', //最低温度
+            time: '1',
+          },
+          {
+            fmax: '1', //最高浓度
+            fmin: '1', //最低温度
+            time: '1',
+          },
+        ], //曲线图数据
+        warnLevel: '低风险', //风险监测
+      },
+    ],
+    devSgjc: [
+      //束管监测各设备信息
+      {
+        strinstallpos: '位置1', //安装位置
+        coVal: '0', //一氧化碳值
+        co2Val: '0', //二氧化碳值
+        ch4Val: '0', //甲烷值
+        c2h2Val: '0', //乙炔值
+        c2h4Val: '0', //乙烯值
+        o2Val: '0', //氧气值
+        connectSta: '连接', //连接状态
+        warnLevel: '低风险', //风险监测
+        btTriBlast: '', //爆炸三角信息
+      },
+      {
+        strinstallpos: '位置2', //安装位置
+        coVal: '0', //一氧化碳值
+        co2Val: '0', //二氧化碳值
+        ch4Val: '0', //甲烷值
+        c2h2Val: '0', //乙炔值
+        c2h4Val: '0', //乙烯值
+        o2Val: '0', //氧气值
+        connectSta: '连接', //连接状态
+        warnLevel: '低风险', //风险监测
+        btTriBlast: '', //爆炸三角信息
+      },
+    ],
+  },
   pdArray: [
     //带式输送机防灭火监控系统
     {
@@ -1924,7 +1995,62 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [
+            {
+              favg: '20',
+              time: '2024-09-10 17:04:50',
+              fmin: '19.01',
+              fmax: '32.0',
+            },
+            {
+              favg: '24',
+              time: '2024-09-11 00:00:00',
+              fmin: '19.01',
+              fmax: '31.99',
+            },
+          ], //曲线图数据
+          warnLevel: '低风险', //风险监测
+        },
+        {
+          strinstallpos: '位置2', //安装位置
+          fmax: '0', //最高浓度
+          fmin: '0', //最低温度
+          favg: '0', //平均温度
+          fibreTemperature: [
+            {
+              favg: '23',
+              time: '2024-09-10 17:04:50',
+              fmin: '19.01',
+              fmax: '32.0',
+            },
+            {
+              favg: '30',
+              time: '2024-09-11 00:00:00',
+              fmin: '19.01',
+              fmax: '31.99',
+            },
+          ], //曲线图数据
+          warnLevel: '低风险', //风险监测
+        },
+        {
+          strinstallpos: '位置1', //安装位置
+          fmax: '0', //最高浓度
+          fmin: '0', //最低温度
+          favg: '0', //平均温度
+          fibreTemperature: [
+            {
+              favg: '10',
+              time: '2024-09-10 17:04:50',
+              fmin: '19.01',
+              fmax: '32.0',
+            },
+            {
+              favg: '13',
+              time: '2024-09-11 00:00:00',
+              fmin: '19.01',
+              fmax: '31.99',
+            },
+          ], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
         {
@@ -1932,7 +2058,20 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [
+            {
+              favg: '30',
+              time: '2024-09-10 17:04:50',
+              fmin: '19.01',
+              fmax: '32.0',
+            },
+            {
+              favg: '27',
+              time: '2024-09-11 00:00:00',
+              fmin: '19.01',
+              fmax: '31.99',
+            },
+          ], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
       ],
@@ -1964,7 +2103,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
         {
@@ -1972,7 +2111,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
         {
@@ -1980,7 +2119,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
         {
@@ -1988,7 +2127,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
       ],
@@ -2023,7 +2162,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
         {
@@ -2031,7 +2170,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
         {
@@ -2039,7 +2178,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
         {
@@ -2047,7 +2186,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
       ],
@@ -2079,7 +2218,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
         {
@@ -2087,7 +2226,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
         {
@@ -2095,7 +2234,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
         {
@@ -2103,7 +2242,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
       ],
@@ -2135,7 +2274,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
         {
@@ -2143,7 +2282,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
       ],
@@ -2156,7 +2295,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
         {
@@ -2164,7 +2303,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
       ],
@@ -2180,7 +2319,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
         {
@@ -2188,7 +2327,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
       ],
@@ -2201,7 +2340,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
         {
@@ -2209,7 +2348,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
       ],
@@ -2347,7 +2486,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
         {
@@ -2355,7 +2494,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
       ],
@@ -2368,7 +2507,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: [{}], //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
         {
@@ -2376,7 +2515,7 @@ const BDfireMock = {
           fmax: '0', //最高浓度
           fmin: '0', //最低温度
           favg: '0', //平均温度
-          fibreTemperature: '', //曲线图数据
+          fibreTemperature: [], //曲线图数据
           warnLevel: '低风险', //风险监测
         },
       ],
@@ -2444,6 +2583,7 @@ const BDfireMock = {
     },
   ],
 };
+
 export const testConfigBDFire: Config[] = [
   {
     deviceType: '',
@@ -2573,21 +2713,14 @@ export const testConfigBDFire: Config[] = [
       ],
       chart: [
         {
-          type: 'line_smooth',
+          type: 'line_smooth_complex',
           readFrom: 'arrayFiber',
-          xAxis: [{ label: '${strinstallpos}' }],
-          yAxis: [
-            { label: '温度(℃)', align: 'left' },
-            { label: '', align: 'left' },
-          ],
+          xAxis: [{ label: '${position}' }],
+          yAxis: [{ label: '温度(℃)', align: 'left' }],
           series: [
             {
-              label: '平均温度',
-              prop: 'favg',
-            },
-            {
-              label: '最低温度',
-              prop: 'fmin',
+              label: '${position}',
+              prop: 'fibreTemperature|favg',
             },
           ],
         },
@@ -2598,7 +2731,7 @@ export const testConfigBDFire: Config[] = [
       list: [],
       complex_list: [],
       preset: [],
-      mock: BDfireMock,
+      // mock: BDfireMock,
     },
     showStyle: {
       size: 'width:450px;height:300px;',
@@ -2607,7 +2740,7 @@ export const testConfigBDFire: Config[] = [
     },
   },
   {
-    deviceType: 'btArray',
+    deviceType: 'sgGxObj.devSgjc',
     moduleName: '工作面束管监测',
     pageType: '',
     moduleData: {
@@ -2616,7 +2749,7 @@ export const testConfigBDFire: Config[] = [
         showSelector: true,
         showSlot: false,
         selector: {
-          value: '${systemname}',
+          value: '${strinstallpos}',
         },
         slot: {
           value: '',
@@ -2640,55 +2773,57 @@ export const testConfigBDFire: Config[] = [
       list: [
         {
           type: 'G',
-          readFrom: 'dsArray',
+          readFrom: '',
           items: [
             {
               label: 'CO',
-              value: '--',
+              value: '${coVal}',
               color: 'blue',
-              info: '--',
+              info: '一氧化碳',
             },
             {
               label: 'CO₂',
-              value: '--',
+              value: '${co2Val}',
               color: 'blue',
-              info: '--',
+              info: '二氧化碳',
             },
             {
               label: 'CH₄',
-              value: '--',
+              value: '${ch4Val}',
               color: 'blue',
-              info: '--',
+              info: '甲烷',
             },
             {
               label: 'C₂H₂',
-              value: '--',
+              value: '${c2h2Val}',
               color: 'blue',
-              info: '--',
+              info: '乙炔',
             },
             {
-              label: 'C₂H₄',
+              // label: 'C₂H₄',
+              label: 'H₂',
               value: '--',
               color: 'blue',
-              info: '--',
+              info: '氢气',
             },
             {
-              label: 'O₂',
+              // label: 'O₂',
+              label: 'N₂',
               value: '--',
               color: 'blue',
-              info: '--',
+              info: '氮气',
             },
             {
               label: '温度',
               value: '--',
               color: 'blue',
-              info: '--',
+              info: '',
             },
             {
               label: '风险',
-              value: '--',
+              value: '${warnLevel}',
               color: 'blue',
-              info: '--',
+              info: '',
             },
           ],
         },
@@ -2696,7 +2831,7 @@ export const testConfigBDFire: Config[] = [
       complex_list: [],
       preset: [
         {
-          readFrom: '',
+          readFrom: 'btTriBlast',
         },
       ],
       // mock: BDfireMock,
@@ -2708,7 +2843,7 @@ export const testConfigBDFire: Config[] = [
     },
   },
   {
-    deviceType: 'managesGxcw',
+    deviceType: 'sgGxObj.devGxcw',
     moduleName: '工作面光纤监测',
     pageType: '',
     moduleData: {
@@ -2717,7 +2852,7 @@ export const testConfigBDFire: Config[] = [
         showSelector: true,
         showSlot: false,
         selector: {
-          value: '${systemname}',
+          value: '${strinstallpos}',
         },
         slot: {
           value: '',
@@ -2736,22 +2871,23 @@ export const testConfigBDFire: Config[] = [
       board: [],
       chart: [
         {
-          type: 'line_bar',
-          readFrom: 'devList',
-          xAxis: [{ label: '${strinstallpos}' }],
-          yAxis: [
-            { label: '温度(℃)', align: 'left' },
-            { label: '', align: 'left' },
-          ],
+          type: 'line_smooth',
+          readFrom: 'fibreTemperature',
+          xAxis: [{ label: '${position}' }],
+          yAxis: [{ label: '温度(℃)', align: 'left' }],
           series: [
             {
-              label: '平均温度',
-              prop: 'favg',
+              label: '最高温度',
+              prop: 'fmax',
             },
             {
               label: '最低温度',
               prop: 'fmin',
             },
+            {
+              label: '平均温度',
+              prop: 'favg',
+            },
           ],
         },
       ],
@@ -2770,16 +2906,16 @@ export const testConfigBDFire: Config[] = [
     },
   },
   {
-    deviceType: 'ckq',
+    deviceType: 'obfObj.arrayDev',
     moduleName: '密闭采空区监测区域',
     pageType: '',
     moduleData: {
       header: {
-        show: false,
-        showSelector: false,
+        show: true,
+        showSelector: true,
         showSlot: false,
         selector: {
-          value: '${name}',
+          value: '${strinstallpos}',
         },
         slot: {
           value: '',
@@ -2800,41 +2936,41 @@ export const testConfigBDFire: Config[] = [
       gallery: [
         {
           type: 'G',
-          readFrom: 'obfObj',
+          readFrom: '',
           items: [
             {
               label: '一氧化碳',
-              value: '${maxCo}',
+              value: '${coVal}',
               color: 'blue',
             },
             {
               label: '二氧化碳',
-              value: '${maxCo2}',
+              value: '${co2Val}',
               color: 'blue',
             },
             {
               label: '氧气',
-              value: '${maxO2}',
+              value: '${o2Val}',
               color: 'blue',
             },
             {
               label: '温度',
-              value: '${maxTemperature}',
+              value: '${tempVal}',
               color: 'blue',
             },
             {
               label: '乙烯',
-              value: '${maxC2H4}',
+              value: '${c2h4Val}',
               color: 'blue',
             },
             {
               label: '甲烷',
-              value: '${maxCh4}',
+              value: '${ch4Val}',
               color: 'blue',
             },
             {
               label: '乙炔',
-              value: '${maxC2h2}',
+              value: '${c2h2Val}',
               color: 'blue',
             },
           ],
@@ -2854,16 +2990,16 @@ export const testConfigBDFire: Config[] = [
     },
   },
   {
-    deviceType: '',
+    deviceType: 'dsArray',
     moduleName: '变电硐室防灭火监控系统',
     pageType: '',
     moduleData: {
       header: {
-        show: false,
-        showSelector: false,
+        show: true,
+        showSelector: true,
         showSlot: false,
         selector: {
-          value: '',
+          value: '${systemname}',
         },
         slot: {
           value: '',
@@ -2918,7 +3054,7 @@ export const testConfigBDFire: Config[] = [
       list: [
         {
           type: 'F',
-          readFrom: 'dsArray',
+          readFrom: 'arrayCount',
           items: [
             {
               label: '光纤预警',
@@ -2998,16 +3134,17 @@ export const testConfigBDFire: Config[] = [
               name: '预警级别',
               prop: 'warnLevel',
             },
-            {
-              name: '时间',
-              prop: 'time',
-            },
+            // {
+            //   name: '时间',
+            //   prop: 'time',
+            // },
           ],
         },
       ],
       list: [],
       complex_list: [],
       preset: [],
+      // mock: BDfireMock,
     },
     showStyle: {
       size: 'width:450px;height:230px;',

+ 5 - 4
src/views/vent/home/configurable/hooks/useInit.ts

@@ -4,6 +4,7 @@ import { list as cfgList } from '@/views/vent/deviceManager/configurationTable/c
 import { Config } from '@/views/vent/deviceManager/configurationTable/types';
 import { getBDDustData, getBDFireData, getHomeData } from '../configurable.api';
 import { getFormattedText } from '../../../deviceManager/configurationTable/adapters';
+import { get } from 'lodash-es';
 // import mapComponent from './components/3Dmap/index.vue';
 
 // export function useInitConfig(deviceType: string) {
@@ -84,9 +85,9 @@ export function useInitDevices(devicekind: string, config: Config['moduleData'])
     const { value } = header.selector;
     const promise = mock ? Promise.resolve(mock) : getHomeData({});
     return promise.then((result) => {
-      if (header.show && header.showSelector && result[devicekind]) {
+      if (header.show && header.showSelector) {
         // 如果配置里指明需要 header,检验后初始化设备信息
-        const records: Record<string, any>[] = result[devicekind];
+        const records: Record<string, any>[] = get(result, devicekind, []);
         devices.value = records.map((e, i) => {
           return {
             id: i,
@@ -157,9 +158,9 @@ export function useInitDevicesBD(devicekind: string, pageType: string, config: C
     };
     const promise = mock ? Promise.resolve(mock) : apiMap[pageType]();
     return promise.then((result) => {
-      if (header.show && header.showSelector && result[devicekind]) {
+      if (header.show && header.showSelector) {
         // 如果配置里指明需要 header,检验后初始化设备信息
-        const records: Record<string, any>[] = result[devicekind];
+        const records: Record<string, any>[] = get(result, devicekind, []);
         devices.value = records.map((e, i) => {
           return {
             id: i,