Просмотр исходного кода

[Mod 0000]修改历史数据监测,将历史数据监测和实时数据监测放在同一页面不同tab

wangkeyi 5 месяцев назад
Родитель
Сommit
0bcecb1602

+ 1 - 1
public/js/global.js

@@ -149,7 +149,7 @@ const __STATIC_ROUTES__ = [
         children: [
             {
                 path: '/sealed/${id}',
-                component: '/dashboard/sealedMonitoring/realtimeData/index',
+                component: '/dashboard/sealedMonitoring/index',
                 meta: {
                     keepAlive: true,
                     internalOrExternal: false,

+ 2 - 2
src/views/dashboard/sealedMonitoring/historicalData/components/MonitoringDetailsModal.vue → src/views/dashboard/sealedMonitoring/components/HistoricalDetailsModal.vue

@@ -74,7 +74,7 @@ import { ref, computed } from 'vue';
 import { Modal, DatePicker, Button, message, Input } from 'ant-design-vue';
 import { BasicTree } from '/@/components/Tree/index';
 import CustomChart from '/@/components/Configurable/detail/CustomChart.vue';
-import { treeData, mockChartData } from '../historicalData.data'; // 引入模拟数据
+import { treeData, historicalMockChartData } from '../realtimeData.data'; // 引入模拟数据
 import dayjs from 'dayjs';
 import isBetween from 'dayjs/plugin/isBetween'; // 引入 isBetween 插件
 
@@ -181,7 +181,7 @@ const generateChart = () => {
   const end = dayjs(dateRange.value[1]);   // 转为 dayjs 实例
 
   // 1. 筛选时间范围内的模拟数据(修复核心漏洞)
-  const filteredData = mockChartData.filter(item => {
+  const filteredData = historicalMockChartData.filter(item => {
     const itemTime = dayjs(item.time); // 解析 item.time 为 dayjs 实例
     // 修复 isBetween 用法:明确指定 unit 为 'second',包容性为 '[]'
     return itemTime.isBetween(start, end, 'second', '[]');

+ 0 - 0
src/views/dashboard/sealedMonitoring/realtimeData/components/MonitoringDetailsModal.vue → src/views/dashboard/sealedMonitoring/components/RealtimeDetailsModal.vue


+ 0 - 58
src/views/dashboard/sealedMonitoring/historicalData/index.vue

@@ -1,58 +0,0 @@
-<template>
-  <div>
-    <BasicTable @register="registerTable" :scroll="{ x: 'max-content' }" >
-      <template #action="{ record }">
-        <div class="action-buttons">
-          <button @click="openModal(record)" class="action-btn">
-            <img src="@/assets/images/common/icon-details.svg" class="action-icon" />
-          </button>
-        </div>
-      </template>
-    </BasicTable>
-    
-    <!-- 监测详情弹框 -->
-    <MonitoringDetailsModal ref="monitoringModalRef" />
-  </div>
-</template>
-
-<script setup lang="ts">
-  import { ref } from 'vue';
-  import { BasicTable, useTable } from '/@/components/Table';
-  import { columns, searchFormSchema, minesData } from './historicalData.data';
-  import MonitoringDetailsModal from './components/MonitoringDetailsModal.vue';
-
-  // 注册表格并获取相关方法
-  const [registerTable] = useTable({
-    dataSource: minesData,
-    columns,
-    formConfig: {
-      labelWidth: 120,
-      schemas: searchFormSchema,
-      showAdvancedButton: false,
-    },
-    pagination: false,
-    striped: false,
-    useSearchForm: true,
-    bordered: true,
-    showIndexColumn: false,
-    canResize: false,
-    actionColumn: {
-      width: 60,
-      title: '操作',
-      dataIndex: 'action',
-      slots: { customRender: 'action' },
-      fixed: undefined,
-    },
-  });
-
-  const monitoringModalRef = ref(null);
-  const openModal = (record) => {
-    monitoringModalRef.value?.showModal();
-  };
-
-</script>
-<style lang="less" scoped>
-  .action-btn {
-    cursor: pointer;
-  }
-</style>

+ 131 - 0
src/views/dashboard/sealedMonitoring/index.vue

@@ -0,0 +1,131 @@
+<template>
+  <div class="monitoring-page">
+    <!-- 新增Tabs组件区分实时/历史数据 -->
+    <Tabs v-model:activeKey="activeTab" type="card" style="margin-bottom: 16px;">
+      <TabPane tab="实时数据监测" key="realtime">
+        <!-- 实时数据表格 -->
+        <BasicTable @register="registerRealtimeTable" :scroll="{ x: 'max-content' }">
+          <template #action="{ record }">
+            <div class="action-buttons">
+              <button @click="openModal(record, 'realtime')" class="action-btn">
+                <img src="@/assets/images/common/icon-details.svg" class="action-icon" />
+              </button>
+            </div>
+          </template>
+        </BasicTable>
+      </TabPane>
+      
+      <TabPane tab="历史数据监测" key="history">
+        <!-- 历史数据表格 -->
+        <BasicTable @register="registerHistoryTable" :scroll="{ x: 'max-content' }">
+          <template #action="{ record }">
+            <div class="action-buttons">
+              <button @click="openModal(record, 'history')" class="action-btn">
+                <img src="@/assets/images/common/icon-details.svg" class="action-icon" />
+              </button>
+            </div>
+          </template>
+        </BasicTable>
+      </TabPane>
+    </Tabs>
+    
+    <!-- 实时数据详情弹框 -->
+    <realtimeDetailsModal ref="realtimeModalRef" />
+    <!-- 历史数据详情弹框 -->
+    <HistoricalDetailsModal ref="historyModalRef" />
+  </div>
+</template>
+
+<script setup lang="ts">
+import { ref } from 'vue';
+import { BasicTable, useTable } from '/@/components/Table';
+import { Tabs, TabPane } from 'ant-design-vue';
+// 引入模拟数据
+import { columns, searchFormSchema, minesData , historicalColumns, historicalFormSchema, historicalMinesData  } from './realtimeData.data';
+import realtimeDetailsModal from './components/RealtimeDetailsModal.vue';
+import HistoricalDetailsModal from './components/HistoricalDetailsModal.vue';
+
+// 激活的Tab页签
+const activeTab = ref('realtime');
+
+// 注册实时数据表格
+const [registerRealtimeTable] = useTable({
+  dataSource: minesData,
+  columns,
+  formConfig: {
+    labelWidth: 120,
+    schemas: searchFormSchema,
+    showAdvancedButton: false,
+  },
+  pagination: false,
+  striped: false,
+  useSearchForm: true,
+  bordered: true,
+  showIndexColumn: false,
+  canResize: false,
+  actionColumn: {
+    width: 60,
+    title: '操作',
+    dataIndex: 'action',
+    slots: { customRender: 'action' },
+    fixed: undefined,
+  },
+});
+
+// 注册历史数据表格
+const [registerHistoryTable] = useTable({
+  dataSource: historicalMinesData,
+  columns: historicalColumns,
+  formConfig: {
+    labelWidth: 120,
+    schemas: historicalFormSchema, // 使用历史数据的搜索配置
+    showAdvancedButton: false,
+  },
+  pagination: false,
+  striped: false,
+  useSearchForm: true,
+  bordered: true,
+  showIndexColumn: false,
+  canResize: false,
+  actionColumn: {
+    width: 60,
+    title: '操作',
+    dataIndex: 'action',
+    slots: { customRender: 'action' },
+    fixed: undefined,
+  },
+});
+
+// 弹窗引用
+const realtimeModalRef = ref(null);
+const historyModalRef = ref(null);
+
+// 打开弹窗方法(区分实时/历史)
+const openModal = (record, type) => {
+  if (type === 'realtime') {
+    // 可向实时弹窗传递当前记录数据
+    realtimeModalRef.value?.showModal(record);
+  } else {
+    // 可向历史弹窗传递当前记录数据
+    historyModalRef.value?.showModal(record);
+  }
+};
+</script>
+
+<style lang="less" scoped>
+.monitoring-page {
+  padding: 16px;
+}
+
+.action-btn {
+  cursor: pointer;
+  border: none;
+  background: transparent;
+  padding: 4px;
+}
+
+.action-icon {
+  width: 16px;
+  height: 16px;
+}
+</style>

+ 325 - 4
src/views/dashboard/sealedMonitoring/historicalData/historicalData.data.ts → src/views/dashboard/sealedMonitoring/realtimeData.data.ts

@@ -1,9 +1,8 @@
 import { BasicColumn } from '/@/components/Table';
 import { FormSchema } from '/@/components/Table';
 import { TreeItem } from '/@/components/Tree/index';
-import { h } from 'vue';
-import { Tag } from 'ant-design-vue';
 
+// 实时数据相关
 export const columns: BasicColumn[] = [
   {
     title: '序号',
@@ -114,6 +113,328 @@ export const searchFormSchema: FormSchema[] = [
     },
     colProps: { span: 6 },
   },
+];
+
+export const minesData = [
+  {
+    orderNo: 101, // 序号
+    enforcement: '执法一处', // 区域
+    mineName: '神木市三江', // 煤矿名称
+    sealedName: '采空区密闭', // 密闭名称
+    coalSeam: 'XX煤层', // 所属煤层
+    riskLevel: 'Ⅰ类容易自燃', // 自燃倾向性(与搜索框选项label一致)
+    COVal: 24, // CO浓度(ppm)
+    CH4Val: 0, // CH4浓度(%)
+    C2H2Val: 0, // C2H2浓度(ppm)
+    O2Val: 20, // O2浓度(%)
+    temperature: 35, // 温度(℃)
+    pressureDiff: 50, // 压差(Pa)
+    leakage: '气体涌出', // 是否漏风
+    fireHazard: '低风险', // 自然发火隐患
+    unsealing: '不可启封', // 密闭启封判定
+    explosionHazard: '低风险', // 爆炸危险性
+    updateTime: '2025-11-17 15:00:40', // 更新时间
+  },
+  {
+    orderNo: 102, // 序号
+    enforcement: '执法一处', // 区域
+    mineName: '神木市三江', // 煤矿名称
+    sealedName: '采空区密闭', // 密闭名称
+    coalSeam: 'XX煤层', // 所属煤层
+    riskLevel: 'Ⅰ类容易自燃', // 自燃倾向性(与搜索框选项label一致)
+    COVal: 24, // CO浓度(ppm)
+    CH4Val: 0, // CH4浓度(%)
+    C2H2Val: 0, // C2H2浓度(ppm)
+    O2Val: 20, // O2浓度(%)
+    temperature: 35, // 温度(℃)
+    pressureDiff: 50, // 压差(Pa)
+    leakage: '气体涌出', // 是否漏风
+    fireHazard: '低风险', // 自然发火隐患
+    unsealing: '不可启封', // 密闭启封判定
+    explosionHazard: '低风险', // 爆炸危险性
+    updateTime: '2025-11-17 15:00:40', // 更新时间
+  },
+  {
+    orderNo: 103, // 序号
+    enforcement: '执法一处', // 区域
+    mineName: '神木市三江', // 煤矿名称
+    sealedName: '采空区密闭', // 密闭名称
+    coalSeam: 'XX煤层', // 所属煤层
+    riskLevel: 'Ⅰ类容易自燃', // 自燃倾向性(与搜索框选项label一致)
+    COVal: 24, // CO浓度(ppm)
+    CH4Val: 0, // CH4浓度(%)
+    C2H2Val: 0, // C2H2浓度(ppm)
+    O2Val: 20, // O2浓度(%)
+    temperature: 35, // 温度(℃)
+    pressureDiff: 50, // 压差(Pa)
+    leakage: '气体涌出', // 是否漏风
+    fireHazard: '低风险', // 自然发火隐患
+    unsealing: '不可启封', // 密闭启封判定
+    explosionHazard: '低风险', // 爆炸危险性
+    updateTime: '2025-11-17 15:00:40', // 更新时间
+  },
+]
+
+export const modalDetailsData:{} = {
+  basicInfo:[
+    {
+      label: '煤矿名称',
+      value: '神木市三江能源有限公司',
+    },
+    {
+      label: '密闭名称',
+      value: 'xxxx采空区密闭',
+    },
+    {
+      label: '所属煤层',
+      value: 'xxxx煤层',
+    },
+    {
+      label: '自燃情况',
+      value: 'Ⅰ类容易自燃',
+    },
+    {
+      label: '是否漏风',
+      value: '闭内气体涌出',
+    },
+    {
+      label: '自然发火隐患',
+      value: '低风险',
+    },
+    {
+      label: '密闭启封判定',
+      value: '不可启封',
+    },
+    {
+      label: '爆炸危险性',
+      value: '低风险',
+    },
+  ],
+  board: [
+    {
+      label: 'CO(ppm)',
+      value: '21',
+    },
+    {
+      label: 'CO2(PPM)',
+      value: '21',
+    },
+    {
+      label: 'O2(%)',
+      value: '24',
+    },
+    {
+      label: 'CH4(%)',
+      value: '17',
+    },
+    {
+      label: 'C2H4(ppm)',
+      value: '23',
+    },
+    {
+      label: 'C2H2(ppm)',
+      value: '14',
+    },
+    {
+      label: '温度(℃)',
+      value: '14',
+    },
+    {
+      label: '压差(Pa)',
+      value: '14',
+    },
+  ],
+  demoBlastData:{
+    // 爆炸三角形顶点坐标数据(JSON字符串格式)
+    btTriBlast: JSON.stringify({
+    A_x: 0, A_y: 21,
+    B_x: 50, B_y: 0,
+    E_x: 10, E_y: 15,
+    F_x: 30, F_y: 5,
+    G_x: 5, G_y: 18
+  }),
+  o2val: "12.5",
+  coval: "2000",
+  gasval: "5.2",
+  ch2val: "1500",
+  chval: "800"
+  },
+  gasConcentrationConfig :{
+    type: 'line_smooth', // 使用光滑曲线类型
+    legend: { show: true },
+    xAxis: [{ 
+      type: 'category', 
+      dataKey: 'time', 
+      name: '时间', 
+      axisLabel: {color: '#000000'}, 
+      nameTextStyle: { color: '#000' },
+    }],
+    yAxis: [{ 
+      type: 'value',
+      show: true, 
+      name: '浓度(%)',
+      splitLine: { show: false },
+      axisLine: {
+        show: true,
+        lineStyle: { color: '#333' }
+      },
+      axisLabel: {color: '#000000'}, 
+      nameTextStyle: { color: '#000' },    }],
+    series: [
+      {
+        label: '气体浓度',
+        readFrom: 'gasData',
+        xprop: 'time',
+        yprop: 'value',
+        // color: '#000'
+      },
+    ],
+  },
+  gasConcentrationData:{
+    gasData:[
+    // 示例数据,实际应从接口获取
+    { time: '00:00', value: 25.5 },
+    { time: '04:00', value: 26.3 },
+    { time: '08:00', value: 30.9 },
+    { time: '12:00', value: 27.8 },
+    { time: '16:00', value: 29.1 },
+    { time: '20:00', value: 25.5 },
+  ]},
+  pressureConfig:{
+    type: 'line', // 使用普通折线图类型
+    legend: { show: true,color:'#000000' },
+    xAxis: [{ type: 'category', dataKey: 'time', name: '时间', axisLabel: { color: '#000000' } }],
+    yAxis: [{ show: true, name: '压力(kPa)', axisLabel: { color: '#000000' } }],
+    series: [
+      { label: '内部压力', readFrom: 'chartdata', xprop: 'time', yprop: 'inner' },
+      { label: '外部压力', readFrom: 'chartdata', xprop: 'time', yprop: 'outer' },
+      { label: '压力差', readFrom: 'chartdata', xprop: 'time', yprop: 'diff' },
+    ],
+  },
+  pressureData:{
+    chartdata: [
+      // 示例数据,实际应从接口获取
+      { time: '00:00', inner: 12, outer: 18, diff:6},
+      { time: '04:00', inner: 15, outer: 17, diff:2},
+      { time: '08:00', inner: 13, outer: 19, diff:6},
+      { time: '12:00', inner: 11, outer: 10, diff:1},
+      { time: '16:00', inner: 14, outer: 18, diff:4},
+      { time: '20:00', inner: 16, outer: 16, diff:0},
+    ]
+  }
+}
+
+// 历史数据相关
+export const historicalColumns: BasicColumn[] = [
+  {
+    title: '序号',
+    dataIndex: 'orderNo',
+  },
+  {
+    title: '区域',
+    dataIndex: 'enforcement',
+  },
+  {
+    title: '煤矿名称',
+    dataIndex: 'mineName',
+  },
+  {
+    title: '密闭名称',
+    dataIndex: 'sealedName',
+  },
+  {
+    title: '所属煤层',
+    dataIndex: 'coalSeam',
+  },
+  {
+    title: '自燃倾向性',
+    dataIndex: 'riskLevel',
+  },
+  {
+    title: 'CO(ppm)',
+    dataIndex: 'COVal',
+  },
+  {
+    title: 'CH4(%)',
+    dataIndex: 'CH4Val',
+  },
+  {
+    title: 'C2H2(ppm)',
+    dataIndex: 'C2H2Val',
+  },
+  {
+    title: 'O2(%)',
+    dataIndex: 'O2Val',
+  },
+  {
+    title: '温度(℃)',
+    dataIndex: 'temperature',
+  },
+  {
+    title: '压差(Pa)',
+    dataIndex: 'pressureDiff',
+  },
+  {
+    title: '是否漏风',
+    dataIndex: 'leakage',
+  },
+  {
+    title: '自然发火隐患',
+    dataIndex: 'fireHazard',
+  },
+  {
+    title: '密闭启封判定',
+    dataIndex: 'unsealing',
+  },
+  {
+    title: '爆炸危险性',
+    dataIndex: 'explosionHazard',
+  },
+  {
+    title: '更新时间',
+    dataIndex: 'updateTime',
+  },
+];
+
+export const historicalFormSchema: FormSchema[] = [
+  {
+    field: 'mineName',
+    label: '煤矿名称',
+    component: 'Input',
+    colProps: { span: 6 },
+  },
+  {
+    field: 'mineNameAbbr',
+    label: '煤矿简称',
+    component: 'Input',
+    colProps: { span: 6 },
+  },
+  {
+    field: 'productStatus',
+    label: '生产状态',
+    component: 'Select',
+    componentProps: {
+      options: [
+        { label: '拟建矿井', value: '0' },
+        { label: '正常生产矿井', value: '1' },
+        { label: '长期停产矿井', value: '1' },
+      ],
+    },
+    colProps: { span: 6 },
+  },
+  {
+    field: 'riskLevel',
+    label: '自燃情况',
+    component: 'Select',
+    componentProps: {
+      options: [
+        { label: 'Ⅰ类容易自燃', value: '0' },
+        { label: 'Ⅱ类自燃', value: '1' },
+        { label: 'Ⅲ类不易自燃', value: '2' },
+      ],
+    },
+    colProps: { span: 6 },
+  },
   {
     field: 'coalSeam',
     label: '所属煤层',
@@ -142,7 +463,7 @@ export const searchFormSchema: FormSchema[] = [
   },
 ];
 
-export const minesData = [
+export const historicalMinesData = [
   {
     orderNo: 101, // 序号
     enforcement: '执法一处', // 区域
@@ -230,7 +551,7 @@ export const treeData: TreeItem[] = [
   },
 ];
 
-export const mockChartData = [
+export const historicalMockChartData = [
   { time: '2025-12-22 00:00:00', CO: 22.3, CH4: 0.12, C2H4: 0.35, C2H2: 0.10, CO2: 0.85, O2: 19.5, innerPressure: 101.32, outerPressure: 101.10, pressureDiff: 0.22, temperature: 33.2 },
   { time: '2025-12-22 01:00:00', CO: 23.1, CH4: 0.15, C2H4: 0.42, C2H2: 0.12, CO2: 0.92, O2: 19.7, innerPressure: 101.38, outerPressure: 101.15, pressureDiff: 0.23, temperature: 33.5 },
   { time: '2025-12-22 02:00:00', CO: 22.8, CH4: 0.13, C2H4: 0.38, C2H2: 0.09, CO2: 0.88, O2: 19.6, innerPressure: 101.41, outerPressure: 101.18, pressureDiff: 0.23, temperature: 33.3 },

+ 0 - 58
src/views/dashboard/sealedMonitoring/realtimeData/index.vue

@@ -1,58 +0,0 @@
-<template>
-  <div>
-    <BasicTable @register="registerTable" :scroll="{ x: 'max-content' }" >
-      <template #action="{ record }">
-        <div class="action-buttons">
-          <button @click="openModal(record)" class="action-btn">
-            <img src="@/assets/images/common/icon-details.svg" class="action-icon" />
-          </button>
-        </div>
-      </template>
-    </BasicTable>
-    
-    <!-- 监测详情弹框 -->
-    <MonitoringDetailsModal ref="monitoringModalRef" />
-  </div>
-</template>
-
-<script setup lang="ts">
-  import { ref } from 'vue';
-  import { BasicTable, useTable } from '/@/components/Table';
-  import { columns, searchFormSchema, minesData } from './realtimeData.data';
-  import MonitoringDetailsModal from './components/MonitoringDetailsModal.vue';
-
-  // 注册表格并获取相关方法
-  const [registerTable] = useTable({
-    dataSource: minesData,
-    columns,
-    formConfig: {
-      labelWidth: 120,
-      schemas: searchFormSchema,
-      showAdvancedButton: false,
-    },
-    pagination: false,
-    striped: false,
-    useSearchForm: true,
-    bordered: true,
-    showIndexColumn: false,
-    canResize: false,
-    actionColumn: {
-      width: 60,
-      title: '操作',
-      dataIndex: 'action',
-      slots: { customRender: 'action' },
-      fixed: undefined,
-    },
-  });
-
-  const monitoringModalRef = ref(null);
-  const openModal = (record) => {
-    monitoringModalRef.value?.showModal();
-  };
-
-</script>
-<style lang="less" scoped>
-  .action-btn {
-    cursor: pointer;
-  }
-</style>

+ 0 - 325
src/views/dashboard/sealedMonitoring/realtimeData/realtimeData.data.ts

@@ -1,325 +0,0 @@
-import { BasicColumn } from '/@/components/Table';
-import { FormSchema } from '/@/components/Table';
-import { h } from 'vue';
-import { Tag } from 'ant-design-vue';
-
-export const columns: BasicColumn[] = [
-  {
-    title: '序号',
-    dataIndex: 'orderNo',
-  },
-  {
-    title: '区域',
-    dataIndex: 'enforcement',
-  },
-  {
-    title: '煤矿名称',
-    dataIndex: 'mineName',
-  },
-  {
-    title: '密闭名称',
-    dataIndex: 'sealedName',
-  },
-  {
-    title: '所属煤层',
-    dataIndex: 'coalSeam',
-  },
-  {
-    title: '自燃倾向性',
-    dataIndex: 'riskLevel',
-  },
-  {
-    title: 'CO(ppm)',
-    dataIndex: 'COVal',
-  },
-  {
-    title: 'CH4(%)',
-    dataIndex: 'CH4Val',
-  },
-  {
-    title: 'C2H2(ppm)',
-    dataIndex: 'C2H2Val',
-  },
-  {
-    title: 'O2(%)',
-    dataIndex: 'O2Val',
-  },
-  {
-    title: '温度(℃)',
-    dataIndex: 'temperature',
-  },
-  {
-    title: '压差(Pa)',
-    dataIndex: 'pressureDiff',
-  },
-  {
-    title: '是否漏风',
-    dataIndex: 'leakage',
-  },
-  {
-    title: '自然发火隐患',
-    dataIndex: 'fireHazard',
-  },
-  {
-    title: '密闭启封判定',
-    dataIndex: 'unsealing',
-  },
-  {
-    title: '爆炸危险性',
-    dataIndex: 'explosionHazard',
-  },
-  {
-    title: '更新时间',
-    dataIndex: 'updateTime',
-  },
-];
-
-export const searchFormSchema: FormSchema[] = [
-  {
-    field: 'mineName',
-    label: '煤矿名称',
-    component: 'Input',
-    colProps: { span: 6 },
-  },
-  {
-    field: 'mineNameAbbr',
-    label: '煤矿简称',
-    component: 'Input',
-    colProps: { span: 6 },
-  },
-  {
-    field: 'productStatus',
-    label: '生产状态',
-    component: 'Select',
-    componentProps: {
-      options: [
-        { label: '拟建矿井', value: '0' },
-        { label: '正常生产矿井', value: '1' },
-        { label: '长期停产矿井', value: '1' },
-      ],
-    },
-    colProps: { span: 6 },
-  },
-  {
-    field: 'riskLevel',
-    label: '自燃情况',
-    component: 'Select',
-    componentProps: {
-      options: [
-        { label: 'Ⅰ类容易自燃', value: '0' },
-        { label: 'Ⅱ类自燃', value: '1' },
-        { label: 'Ⅲ类不易自燃', value: '2' },
-      ],
-    },
-    colProps: { span: 6 },
-  },
-];
-
-export const minesData = [
-  {
-    orderNo: 101, // 序号
-    enforcement: '执法一处', // 区域
-    mineName: '神木市三江', // 煤矿名称
-    sealedName: '采空区密闭', // 密闭名称
-    coalSeam: 'XX煤层', // 所属煤层
-    riskLevel: 'Ⅰ类容易自燃', // 自燃倾向性(与搜索框选项label一致)
-    COVal: 24, // CO浓度(ppm)
-    CH4Val: 0, // CH4浓度(%)
-    C2H2Val: 0, // C2H2浓度(ppm)
-    O2Val: 20, // O2浓度(%)
-    temperature: 35, // 温度(℃)
-    pressureDiff: 50, // 压差(Pa)
-    leakage: '气体涌出', // 是否漏风
-    fireHazard: '低风险', // 自然发火隐患
-    unsealing: '不可启封', // 密闭启封判定
-    explosionHazard: '低风险', // 爆炸危险性
-    updateTime: '2025-11-17 15:00:40', // 更新时间
-  },
-  {
-    orderNo: 102, // 序号
-    enforcement: '执法一处', // 区域
-    mineName: '神木市三江', // 煤矿名称
-    sealedName: '采空区密闭', // 密闭名称
-    coalSeam: 'XX煤层', // 所属煤层
-    riskLevel: 'Ⅰ类容易自燃', // 自燃倾向性(与搜索框选项label一致)
-    COVal: 24, // CO浓度(ppm)
-    CH4Val: 0, // CH4浓度(%)
-    C2H2Val: 0, // C2H2浓度(ppm)
-    O2Val: 20, // O2浓度(%)
-    temperature: 35, // 温度(℃)
-    pressureDiff: 50, // 压差(Pa)
-    leakage: '气体涌出', // 是否漏风
-    fireHazard: '低风险', // 自然发火隐患
-    unsealing: '不可启封', // 密闭启封判定
-    explosionHazard: '低风险', // 爆炸危险性
-    updateTime: '2025-11-17 15:00:40', // 更新时间
-  },
-  {
-    orderNo: 103, // 序号
-    enforcement: '执法一处', // 区域
-    mineName: '神木市三江', // 煤矿名称
-    sealedName: '采空区密闭', // 密闭名称
-    coalSeam: 'XX煤层', // 所属煤层
-    riskLevel: 'Ⅰ类容易自燃', // 自燃倾向性(与搜索框选项label一致)
-    COVal: 24, // CO浓度(ppm)
-    CH4Val: 0, // CH4浓度(%)
-    C2H2Val: 0, // C2H2浓度(ppm)
-    O2Val: 20, // O2浓度(%)
-    temperature: 35, // 温度(℃)
-    pressureDiff: 50, // 压差(Pa)
-    leakage: '气体涌出', // 是否漏风
-    fireHazard: '低风险', // 自然发火隐患
-    unsealing: '不可启封', // 密闭启封判定
-    explosionHazard: '低风险', // 爆炸危险性
-    updateTime: '2025-11-17 15:00:40', // 更新时间
-  },
-]
-
-export const modalDetailsData:{} = {
-  basicInfo:[
-    {
-      label: '煤矿名称',
-      value: '神木市三江能源有限公司',
-    },
-    {
-      label: '密闭名称',
-      value: 'xxxx采空区密闭',
-    },
-    {
-      label: '所属煤层',
-      value: 'xxxx煤层',
-    },
-    {
-      label: '自燃情况',
-      value: 'Ⅰ类容易自燃',
-    },
-    {
-      label: '是否漏风',
-      value: '闭内气体涌出',
-    },
-    {
-      label: '自然发火隐患',
-      value: '低风险',
-    },
-    {
-      label: '密闭启封判定',
-      value: '不可启封',
-    },
-    {
-      label: '爆炸危险性',
-      value: '低风险',
-    },
-  ],
-  board: [
-    {
-      label: 'CO(ppm)',
-      value: '21',
-    },
-    {
-      label: 'CO2(PPM)',
-      value: '21',
-    },
-    {
-      label: 'O2(%)',
-      value: '24',
-    },
-    {
-      label: 'CH4(%)',
-      value: '17',
-    },
-    {
-      label: 'C2H4(ppm)',
-      value: '23',
-    },
-    {
-      label: 'C2H2(ppm)',
-      value: '14',
-    },
-    {
-      label: '温度(℃)',
-      value: '14',
-    },
-    {
-      label: '压差(Pa)',
-      value: '14',
-    },
-  ],
-  demoBlastData:{
-    // 爆炸三角形顶点坐标数据(JSON字符串格式)
-    btTriBlast: JSON.stringify({
-    A_x: 0, A_y: 21,
-    B_x: 50, B_y: 0,
-    E_x: 10, E_y: 15,
-    F_x: 30, F_y: 5,
-    G_x: 5, G_y: 18
-  }),
-  o2val: "12.5",
-  coval: "2000",
-  gasval: "5.2",
-  ch2val: "1500",
-  chval: "800"
-  },
-  gasConcentrationConfig :{
-    type: 'line_smooth', // 使用光滑曲线类型
-    legend: { show: true },
-    xAxis: [{ 
-      type: 'category', 
-      dataKey: 'time', 
-      name: '时间', 
-      axisLabel: {color: '#000000'}, 
-      nameTextStyle: { color: '#000' },
-    }],
-    yAxis: [{ 
-      type: 'value',
-      show: true, 
-      name: '浓度(%)',
-      splitLine: { show: false },
-      axisLine: {
-        show: true,
-        lineStyle: { color: '#333' }
-      },
-      axisLabel: {color: '#000000'}, 
-      nameTextStyle: { color: '#000' },    }],
-    series: [
-      {
-        label: '气体浓度',
-        readFrom: 'gasData',
-        xprop: 'time',
-        yprop: 'value',
-        // color: '#000'
-      },
-    ],
-  },
-  gasConcentrationData:{
-    gasData:[
-    // 示例数据,实际应从接口获取
-    { time: '00:00', value: 25.5 },
-    { time: '04:00', value: 26.3 },
-    { time: '08:00', value: 30.9 },
-    { time: '12:00', value: 27.8 },
-    { time: '16:00', value: 29.1 },
-    { time: '20:00', value: 25.5 },
-  ]},
-  pressureConfig:{
-    type: 'line', // 使用普通折线图类型
-    legend: { show: true,color:'#000000' },
-    xAxis: [{ type: 'category', dataKey: 'time', name: '时间', axisLabel: { color: '#000000' } }],
-    yAxis: [{ show: true, name: '压力(kPa)', axisLabel: { color: '#000000' } }],
-    series: [
-      { label: '内部压力', readFrom: 'chartdata', xprop: 'time', yprop: 'inner' },
-      { label: '外部压力', readFrom: 'chartdata', xprop: 'time', yprop: 'outer' },
-      { label: '压力差', readFrom: 'chartdata', xprop: 'time', yprop: 'diff' },
-    ],
-  },
-  pressureData:{
-    chartdata: [
-      // 示例数据,实际应从接口获取
-      { time: '00:00', inner: 12, outer: 18, diff:6},
-      { time: '04:00', inner: 15, outer: 17, diff:2},
-      { time: '08:00', inner: 13, outer: 19, diff:6},
-      { time: '12:00', inner: 11, outer: 10, diff:1},
-      { time: '16:00', inner: 14, outer: 18, diff:4},
-      { time: '20:00', inner: 16, outer: 16, diff:0},
-    ]
-  }
-}