lxh 2 weeks ago
parent
commit
bf7d4e4535
2 changed files with 346 additions and 318 deletions
  1. 4 4
      .env.development
  2. 342 314
      src/views/vent/monitorManager/warningMonitor/index-mine.vue

+ 4 - 4
.env.development

@@ -6,8 +6,8 @@ VITE_PUBLIC_PATH = /
 
 # 跨域代理,您可以配置多个 ,请注意,没有换行符
 #VITE_PROXY = [["/jeecgboot","http://localhost:8080/jeecg-boot"],["/upload","http://localhost:3300/upload"]]
-# VITE_PROXY = [["/jeecgsystem","http://182.92.126.35:9999"],["/upload","http://182.92.126.35:9999/upload"],["/documents", "http://182.92.126.35:9050"],["/modelreq", "http://182.92.126.35:9999"],["/webRtc", "http://182.92.126.35:8051"], ["/python", "http://127.0.0.1:8008"], ["/tun2D", "http://127.0.0.1:8088/micro-vent-2dModal/tun2D"]]
-VITE_PROXY = [["/jeecgsystem","http://192.168.183.88:9999"],["/upload","http://192.168.183.88:9999/upload"],["/documents", "http://192.168.183.88:9050"],["/modelreq", "http://192.168.183.88:9999"],["/webRtc", "http://192.168.183.88:8051"]]
+VITE_PROXY = [["/jeecgsystem","http://182.92.126.35:9999"],["/upload","http://182.92.126.35:9999/upload"],["/documents", "http://182.92.126.35:9050"],["/modelreq", "http://182.92.126.35:9999"],["/webRtc", "http://182.92.126.35:8051"], ["/python", "http://127.0.0.1:8008"], ["/tun2D", "http://127.0.0.1:8088/micro-vent-2dModal/tun2D"]]
+# VITE_PROXY = [["/jeecgsystem","http://192.168.183.88:9999"],["/upload","http://192.168.183.88:9999/upload"],["/documents", "http://192.168.183.88:9050"],["/modelreq", "http://192.168.183.88:9999"],["/webRtc", "http://192.168.183.88:8051"]]
 # VITE_PROXY = [["/jeecgsystem","http://10.10.150.72:9999"],["/upload","http://localhost:3300/upload"],["/documents", "http://10.10.150.72:9050"],["/modelreq", "http://10.10.150.72:9999"],["/webRtc", "http://192.168.183.216:8051"]]
 #VITE_PROXY = [["/jeecgsystem","http://192.168.1.8:9999"],["/upload","http://localhost:3300/upload"]]
 
@@ -29,7 +29,7 @@ VITE_GLOB_API_URL_PREFIX=
 
 #微前端qiankun应用,命名必须以VITE_APP_SUB_开头,jeecg-app-1为子应用的项目名称,也是子应用的路由父路径
 #VITE_APP_SUB_APP = [["micro-need-air", "//10.10.150.72:8099/"], ["micro-vent-3dModal", "//localhost:8091/"], ["micro-fire-front", "//localhost:8090/"]]
-VITE_APP_SUB_APP = [["micro-vent-3dModal", "//192.168.183.88:8091/", "micro-vent-3dModal"], ["micro-need-air", "//192.168.183.88:8093/", "micro-need-air"], ["micro-fire-front", "//localhost:8097/", "fire-Micro"]]
+# VITE_APP_SUB_APP = [["micro-vent-3dModal", "//192.168.183.88:8091/", "micro-vent-3dModal"], ["micro-need-air", "//192.168.183.88:8093/", "micro-need-air"], ["micro-fire-front", "//localhost:8097/", "fire-Micro"]]
 # VITE_APP_SUB_APP = [["micro-vent-3dModal", "//192.168.183.154:8091/", "micro-vent-3dModal"], ["micro-need-air", "//192.168.183.88:8093/", "micro-need-air"], ["micro-fire-front", "//localhost:8097/", "fire-Micro"]]
-# VITE_APP_SUB_APP = [["micro-vent-3dModal", "//182.92.126.35:8091/", "micro-vent-3dModal"],["micro-vent-2dModal", "//localhost:8088/", "micro-vent-2dModal"], ["micro-need-air", "//182.92.126.35:8099/", "micro-need-air"], ["micro-fire-front", "//182.92.126.35:8097/", "fire-Micro"]]
+VITE_APP_SUB_APP = [["micro-vent-3dModal", "//182.92.126.35:8091/", "micro-vent-3dModal"],["micro-vent-2dModal", "//localhost:8088/", "micro-vent-2dModal"], ["micro-need-air", "//182.92.126.35:8099/", "micro-need-air"], ["micro-fire-front", "//182.92.126.35:8097/", "fire-Micro"]]
 # VITE_APP_SUB_APP = [["micro-vent-3dModal", "//localhost:8091/"], ["micro-need-air", "//localhost:8099/"], ["micro-fire-front", "//localhost:8090/"]]

+ 342 - 314
src/views/vent/monitorManager/warningMonitor/index-mine.vue

@@ -1,5 +1,5 @@
 <template>
-  <customHeader>预警历史监控系统</customHeader>
+  <customHeader>预警历史监控系统222</customHeader>
   <div class="data-statistics">
     <div class="statistics-box" v-for="(item, index) in statisticsList" :key="index">
       <div class="left-box">
@@ -29,7 +29,8 @@
       <template #bodyCell="{ column, record }">
         <template v-if="column.dict">
           <!-- 除了 101(蓝色预警)其他都是红色字体 -->
-          <span v-if="column.dataIndex === 'nwartype'" :class="{ 'color-#ff3823': ['102', '103', '104', '201', '1001'].includes(record.nwartype) }">
+          <span v-if="column.dataIndex === 'nwartype'"
+            :class="{ 'color-#ff3823': ['102', '103', '104', '201', '1001'].includes(record.nwartype) }">
             {{ render.renderDictText(record.nwartype, 'leveltype') || '-' }}
           </span>
           <span v-else>
@@ -38,14 +39,16 @@
         </template>
       </template>
     </BasicTable>
-    <BasicTable v-if="activeKey == 'manageAuto'" ref="alarmHistory" @register="registerTable" :scroll="{ x: 0, y: 350 }">
+    <BasicTable v-if="activeKey == 'manageAuto'" ref="alarmHistory" @register="registerTable"
+      :scroll="{ x: 0, y: 350 }">
       <template #form-onExportXls>
         <a-button type="primary" preIcon="ant-design:export-outlined" @click="onExportXls()"> 导出</a-button>
       </template>
       <template #bodyCell="{ column, record }">
         <template v-if="column.dict">
           <!-- 除了 101(蓝色预警)其他都是红色字体 -->
-          <span v-if="column.dataIndex === 'nwartype'" :class="{ 'color-#ff3823': ['102', '103', '104', '201', '1001'].includes(record.nwartype) }">
+          <span v-if="column.dataIndex === 'nwartype'"
+            :class="{ 'color-#ff3823': ['102', '103', '104', '201', '1001'].includes(record.nwartype) }">
             {{ render.renderDictText(record.nwartype, 'leveltype') || '-' }}
           </span>
           <span v-else>
@@ -58,356 +61,381 @@
 </template>
 
 <script lang="ts" name="system-user" setup>
-  //ts语法
-  import { watch, ref, defineExpose, onMounted, reactive } from 'vue';
-  import { BasicTable } from '/@/components/Table';
-  import { useListPage } from '/@/hooks/system/useListPage';
-  import { getTableHeaderColumns } from '/@/hooks/web/useWebColumns';
-  import { manageAutoColumns } from './alarm.data';
-  import { getAutoScrollContainer } from '/@/utils/common/compUtils';
-  import { getAlarmLogList, getManageAutoLogList, getWarnCountInfo } from './warning.api';
-  import { useRoute } from 'vue-router';
-  import customHeader from '/@/components/vent/customHeader.vue';
-  import { render } from '/@/utils/common/renderUtils';
-  const props = defineProps({
+//ts语法
+import { watch, ref, defineExpose, onMounted, reactive } from 'vue';
+import { BasicTable } from '/@/components/Table';
+import { useListPage } from '/@/hooks/system/useListPage';
+import { getTableHeaderColumns } from '/@/hooks/web/useWebColumns';
+import { manageAutoColumns } from './alarm.data';
+import { getAutoScrollContainer } from '/@/utils/common/compUtils';
+import { getAlarmLogList, getManageAutoLogList, getWarnCountInfo } from './warning.api';
+import { useRoute } from 'vue-router';
+import customHeader from '/@/components/vent/customHeader.vue';
+import { render } from '/@/utils/common/renderUtils';
+const props = defineProps({
+  formConfig: {
+    type: Object as PropType<FormProps> | undefined,
+    default: undefined,
+  },
+});
+const route = useRoute();
+let statisticsList = reactive<any[]>([
+  { title: '通风', valueT: 0, valueB: '' },
+  { title: '粉尘', valueT: 0, valueB: '' },
+  { title: '瓦斯', valueT: 0, valueB: '' },
+  { title: '火灾', valueT: 0, valueB: '' },
+  { title: '安全监测', valueT: 0, valueB: '' },
+]);
+const activeKey = ref('device');
+const alarmHistory = ref();
+const deviceColumns = getTableHeaderColumns('alarm_history') as [];
+const dataColumns = ref(deviceColumns);
+const list = ref<any>(getAlarmLogList);
+
+// 列表页面公共参数、方法
+const { tableContext, onExportXls } = useListPage({
+  tableProps: {
+    api: list,
+    columns: dataColumns,
+    canResize: true,
+    showTableSetting: false,
+    showActionColumn: false,
+    showIndexColumn: true,
+    bordered: false,
+    size: 'small',
     formConfig: {
-      type: Object as PropType<FormProps> | undefined,
-      default: undefined,
-    },
-  });
-  const route = useRoute();
-  let statisticsList = reactive<any[]>([
-    { title: '通风', valueT: 0, valueB: '' },
-    { title: '粉尘', valueT: 0, valueB: '' },
-    { title: '瓦斯', valueT: 0, valueB: '' },
-    { title: '火灾', valueT: 0, valueB: '' },
-    { title: '安全监测', valueT: 0, valueB: '' },
-  ]);
-  const activeKey = ref('device');
-  const alarmHistory = ref();
-  const deviceColumns = getTableHeaderColumns('alarm_history') as [];
-  const dataColumns = ref(deviceColumns);
-  const list = ref<any>(getAlarmLogList);
-
-  // 列表页面公共参数、方法
-  const { tableContext, onExportXls } = useListPage({
-    tableProps: {
-      api: list,
-      columns: dataColumns,
-      canResize: true,
-      showTableSetting: false,
-      showActionColumn: false,
-      showIndexColumn: true,
-      bordered: false,
-      size: 'small',
-      formConfig: {
-        labelAlign: 'left',
-        showAdvancedButton: false,
-        // autoAdvancedCol: 2,
-        schemas: [
-          {
-            label: '是否解决',
-            // field: 'isok',
-            field: 'isOk',
-            defaultValue: false,
-            component: 'Select',
-            componentProps: {
-              options: [
-                {
-                  label: '未解决',
-                  value: false,
-                },
-                {
-                  label: '已解决',
-                  value: true,
-                },
-              ],
-            },
-            colProps: { span: 4 },
+      labelAlign: 'left',
+      showAdvancedButton: false,
+      // autoAdvancedCol: 2,
+      schemas: [
+        {
+          label: '是否解决',
+          // field: 'isok',
+          field: 'isOk',
+          defaultValue: false,
+          component: 'Select',
+          componentProps: {
+            options: [
+              {
+                label: '未解决',
+                value: false,
+              },
+              {
+                label: '已解决',
+                value: true,
+              },
+            ],
           },
-          {
-            label: '所属系统',
-            // field: 'kindtype',systemType
-            field: 'systemType',
-            component: 'Select',
-            componentProps: {
-              options: [
-                {
-                  label: '通风',
-                  value: 'ventS',
-                },
-                {
-                  label: '防灭火',
-                  value: 'fireS',
-                },
-                {
-                  label: '防尘',
-                  value: 'dustS',
-                },
-                {
-                  label: '瓦斯',
-                  value: 'gasS',
-                },
-              ],
-            },
-            colProps: { span: 4 },
+          colProps: { span: 4 },
+        },
+        {
+          label: '所属系统',
+          // field: 'kindtype',systemType
+          field: 'systemType',
+          component: 'Select',
+          componentProps: {
+            options: [
+              {
+                label: '通风',
+                value: 'ventS',
+              },
+              {
+                label: '防灭火',
+                value: 'fireS',
+              },
+              {
+                label: '防尘',
+                value: 'dustS',
+              },
+              {
+                label: '瓦斯',
+                value: 'gasS',
+              },
+            ],
           },
-          {
-            label: '设备类型',
-            field: 'deviceKind',
-            component: 'MTreeSelect',
-            componentProps: {
-              virtual: false,
-            },
-            colProps: { span: 4 },
+          colProps: { span: 4 },
+        },
+        // {
+        //   label: '设备类型',
+        //   field: 'deviceKind',
+        //   component: 'MTreeSelect',
+        //   componentProps: {
+        //     virtual: false,
+        //   },
+        //   colProps: { span: 4 },
+        // },
+        {
+          label: '设备类型',
+          field: 'deviceKind',
+          component: 'Select',
+          defaultValue: '',
+          componentProps: {
+            options: [
+              {
+                label: '全部',
+                value: '',
+              },
+
+            ],
           },
-          {
-            field: 'starttime',
-            label: '开始报警时间',
-            component: 'DatePicker',
-            componentProps: {
-              showTime: true,
-              valueFormat: 'YYYY-MM-DD HH:mm:ss',
-              getPopupContainer: getAutoScrollContainer,
-            },
-            colProps: {
-              span: 4,
-            },
+          colProps: { span: 4 },
+        },
+        {
+          field: 'starttime',
+          label: '开始报警时间',
+          component: 'DatePicker',
+          componentProps: {
+            showTime: true,
+            valueFormat: 'YYYY-MM-DD HH:mm:ss',
+            getPopupContainer: getAutoScrollContainer,
           },
-          // {
-          //   field: 'endtime',
-          //   label: '结束时间',
-          //   component: 'DatePicker',
-          //   componentProps: {
-          //     showTime: true,
-          //     valueFormat: 'YYYY-MM-DD HH:mm:ss',
-          //     getPopupContainer: getAutoScrollContainer,
-          //   },
-          //   colProps: {
-          //     span: 4,
-          //   },
-          // },
-        ],
-      },
-      fetchSetting: {
-        listField: 'records',
-      },
-      pagination: {
-        current: 1,
-        pageSize: 10,
-        pageSizeOptions: ['10', '30', '50', '100'],
-      },
-      beforeFetch(params) {
-        if (!params['deviceKind']) {
-          params['deviceKind'] = null;
-        }
-        return params;
-      },
+          colProps: {
+            span: 4,
+          },
+        },
+        // {
+        //   field: 'endtime',
+        //   label: '结束时间',
+        //   component: 'DatePicker',
+        //   componentProps: {
+        //     showTime: true,
+        //     valueFormat: 'YYYY-MM-DD HH:mm:ss',
+        //     getPopupContainer: getAutoScrollContainer,
+        //   },
+        //   colProps: {
+        //     span: 4,
+        //   },
+        // },
+      ],
     },
-    exportConfig: {
-      name: '预警历史列表',
-      url: '/safety/ventanalyAlarmLog/exportXls',
+    fetchSetting: {
+      listField: 'records',
     },
-  });
-  //注册table数据
-  const [registerTable, { reload, setLoading, getForm }] = tableContext;
-
-  function onChangeTab(tab) {
-    if (tab === 'device') {
-      list.value = getAlarmLogList;
-      dataColumns.value = deviceColumns;
-    } else {
-      list.value = getManageAutoLogList;
-      dataColumns.value = manageAutoColumns;
-    }
-  }
+    pagination: {
+      current: 1,
+      pageSize: 10,
+      pageSizeOptions: ['10', '30', '50', '100'],
+    },
+    beforeFetch(params) {
+      if (!params['deviceKind']) {
+        params['deviceKind'] = null;
+      }
+      return params;
+    },
+  },
+  exportConfig: {
+    name: '预警历史列表',
+    url: '/safety/ventanalyAlarmLog/exportXls',
+  },
+});
+//注册table数据
+const [registerTable, { reload, setLoading, getForm }] = tableContext;
 
-  //获取预警统计信息
-  async function getEachMineWarnCountInfoList() {
-    let res = await getWarnCountInfo({});
-    statisticsList[0].valueT = res.ventSWarnInfo.totalNum || 0;
-    statisticsList[0].valueB = res.ventSWarnInfo.maxWarnLevel || '';
-    statisticsList[1].valueT = res.dustSWarnInfo.totalNum || 0;
-    statisticsList[1].valueB = res.dustSWarnInfo.maxWarnLevel || '';
-    statisticsList[2].valueT = res.gasSWarnInfo.totalNum || 0;
-    statisticsList[2].valueB = res.gasSWarnInfo.maxWarnLevel || '';
-    statisticsList[3].valueT = res.fireSWarnInfo.totalNum || 0;
-    statisticsList[3].valueB = res.fireSWarnInfo.maxWarnLevel || '';
-    statisticsList[4].valueT = res.synthesizeSWarnInfo.totalNum || 0;
-    statisticsList[4].valueB = res.synthesizeSWarnInfo.maxWarnLevel || '';
+function onChangeTab(tab) {
+  if (tab === 'device') {
+    list.value = getAlarmLogList;
+    dataColumns.value = deviceColumns;
+  } else {
+    list.value = getManageAutoLogList;
+    dataColumns.value = manageAutoColumns;
   }
-  onMounted(async () => {
-    getEachMineWarnCountInfoList();
-  });
+}
 
-  defineExpose({ setLoading });
+//获取预警统计信息
+async function getEachMineWarnCountInfoList() {
+  let res = await getWarnCountInfo({});
+  statisticsList[0].valueT = res.ventSWarnInfo.totalNum || 0;
+  statisticsList[0].valueB = res.ventSWarnInfo.maxWarnLevel || '';
+  statisticsList[1].valueT = res.dustSWarnInfo.totalNum || 0;
+  statisticsList[1].valueB = res.dustSWarnInfo.maxWarnLevel || '';
+  statisticsList[2].valueT = res.gasSWarnInfo.totalNum || 0;
+  statisticsList[2].valueB = res.gasSWarnInfo.maxWarnLevel || '';
+  statisticsList[3].valueT = res.fireSWarnInfo.totalNum || 0;
+  statisticsList[3].valueB = res.fireSWarnInfo.maxWarnLevel || '';
+  statisticsList[4].valueT = res.synthesizeSWarnInfo.totalNum || 0;
+  statisticsList[4].valueB = res.synthesizeSWarnInfo.maxWarnLevel || '';
+}
+onMounted(async () => {
+  getEachMineWarnCountInfoList();
+});
+
+defineExpose({ setLoading });
 </script>
 
 <style scoped lang="less">
-  @ventSpace: zxm;
+@ventSpace: zxm;
 
-  :deep(.zxm-table-container) {
-    max-height: 720px !important;
-  }
+:deep(.zxm-table-container) {
+  max-height: 720px !important;
+}
 
-  :deep(.ventSpace-table-body) {
-    height: auto !important;
-  }
+:deep(.ventSpace-table-body) {
+  height: auto !important;
+}
 
-  :deep(.zxm-picker) {
-    height: 30px !important;
-  }
+:deep(.zxm-picker) {
+  height: 30px !important;
+}
 
-  :deep(.@{ventSpace}-picker-dropdown) {
-    position: absolute !important;
-    top: 35px !important;
-    left: 0 !important;
-  }
+:deep(.@{ventSpace}-picker-dropdown) {
+  position: absolute !important;
+  top: 35px !important;
+  left: 0 !important;
+}
+
+.data-statistics {
+  height: 200px;
+  padding: 20px;
+  margin-top: 90px;
+  background-color: #0ebbff15;
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
 
-  .data-statistics {
-    height: 200px;
-    padding: 20px;
-    margin-top: 90px;
-    background-color: #0ebbff15;
+  .statistics-box {
     display: flex;
-    justify-content: space-between;
+    flex: 1;
+    height: 100%;
+    justify-content: center;
     align-items: center;
 
-    .statistics-box {
-      display: flex;
-      flex: 1;
+    .left-box {
+      position: relative;
+      width: 138px;
       height: 100%;
-      justify-content: center;
+
+      .box-title {
+        position: absolute;
+        left: 50%;
+        bottom: 18px;
+        transform: translate(-50%, 0);
+        color: #fff;
+      }
+    }
+
+    &:nth-child(1) .left-box {
+      background: url('../../../../assets/images/vent-tf.png') no-repeat center;
+      background-size: 100% auto;
+    }
+
+    &:nth-child(2) .left-box {
+      background: url('../../../../assets/images/dust-fc.png') no-repeat center;
+      background-size: 100% auto;
+    }
+
+    &:nth-child(3) .left-box {
+      background: url('../../../../assets/images/gas-ws.png') no-repeat center;
+      background-size: 100% auto;
+    }
+
+    &:nth-child(4) .left-box {
+      background: url('../../../../assets/images/fire-fz.png') no-repeat center;
+      background-size: 100% auto;
+    }
+
+    &:nth-child(5) .left-box {
+      background: url('../../../../assets/images/aqjc.png') no-repeat center;
+      background-size: 100% auto;
+    }
+
+    .right-box {
+      position: relative;
+      width: 215px;
+      height: 100%;
+      display: flex;
+      flex-direction: column;
+      justify-content: space-around;
       align-items: center;
 
-      .left-box {
+      .box-text {
         position: relative;
-        width: 138px;
-        height: 100%;
+        width: 100%;
+        height: 40px;
+        color: #fff;
+        background: url('../../../../assets/images/his-one.png') no-repeat center;
+        background-size: 100% 100%;
 
-        .box-title {
+        .text-label {
           position: absolute;
-          left: 50%;
-          bottom: 18px;
-          transform: translate(-50%, 0);
-          color: #fff;
+          left: 20px;
+          top: 50%;
+          transform: translate(0, -50%);
         }
-      }
 
-      &:nth-child(1) .left-box {
-        background: url('../../../../assets/images/vent-tf.png') no-repeat center;
-        background-size: 100% auto;
+        .text-value {
+          position: absolute;
+          left: 130px;
+          top: 50%;
+          transform: translate(0, -50%);
+          font-family: 'douyuFont';
+        }
       }
 
-      &:nth-child(2) .left-box {
-        background: url('../../../../assets/images/dust-fc.png') no-repeat center;
-        background-size: 100% auto;
+      .warning-state {
+        .text-value {
+          color: aqua !important;
+          font-family: 'douyuFont';
+        }
       }
+    }
+  }
+}
 
-      &:nth-child(3) .left-box {
-        background: url('../../../../assets/images/gas-ws.png') no-repeat center;
-        background-size: 100% auto;
-      }
+.tab-box {
+  display: flex;
+  color: #fff;
+  position: relative;
+  top: 11px;
+  background: linear-gradient(#001325, #012e4f);
 
-      &:nth-child(4) .left-box {
-        background: url('../../../../assets/images/fire-fz.png') no-repeat center;
-        background-size: 100% auto;
-      }
+  :deep(.zxm-tabs-nav) {
+    margin: 0 !important;
 
-      &:nth-child(5) .left-box {
-        background: url('../../../../assets/images/aqjc.png') no-repeat center;
-        background-size: 100% auto;
-      }
+    .zxm-tabs-tab {
+      width: 180px;
+      height: 45px;
+      background: url('@/assets/images/top-btn.png') center no-repeat;
+      background-size: cover;
+      display: flex;
+      justify-content: center;
+      font-size: 16px;
+    }
 
-      .right-box {
-        position: relative;
-        width: 215px;
-        height: 100%;
-        display: flex;
-        flex-direction: column;
-        justify-content: space-around;
-        align-items: center;
-
-        .box-text {
-          position: relative;
-          width: 100%;
-          height: 40px;
-          color: #fff;
-          background: url('../../../../assets/images/his-one.png') no-repeat center;
-          background-size: 100% 100%;
-
-          .text-label {
-            position: absolute;
-            left: 20px;
-            top: 50%;
-            transform: translate(0, -50%);
-          }
-
-          .text-value {
-            position: absolute;
-            left: 130px;
-            top: 50%;
-            transform: translate(0, -50%);
-            font-family: 'douyuFont';
-          }
-        }
-        .warning-state {
-          .text-value {
-            color: aqua !important;
-            font-family: 'douyuFont';
-          }
-        }
+    .zxm-tabs-tab-active {
+      width: 180px;
+      position: relative;
+      background: url('@/assets/images/top-btn-select.png') center no-repeat;
+      background-size: cover;
+
+      .zxm-tabs-tab-btn {
+        color: #fff !important;
       }
     }
-  }
-  .tab-box {
-    display: flex;
-    color: #fff;
-    position: relative;
-    top: 11px;
-    background: linear-gradient(#001325, #012e4f);
-    :deep(.zxm-tabs-nav) {
+
+    .zxm-tabs-ink-bar {
+      width: 0 !important;
+    }
+
+    .zxm-tabs-tab+.zxm-tabs-tab {
       margin: 0 !important;
-      .zxm-tabs-tab {
-        width: 180px;
-        height: 45px;
-        background: url('@/assets/images/top-btn.png') center no-repeat;
-        background-size: cover;
-        display: flex;
-        justify-content: center;
-        font-size: 16px;
-      }
-      .zxm-tabs-tab-active {
-        width: 180px;
-        position: relative;
-        background: url('@/assets/images/top-btn-select.png') center no-repeat;
-        background-size: cover;
-        .zxm-tabs-tab-btn {
-          color: #fff !important;
-        }
-      }
-      .zxm-tabs-ink-bar {
-        width: 0 !important;
-      }
-      .zxm-tabs-tab + .zxm-tabs-tab {
-        margin: 0 !important;
-      }
     }
   }
-  .alarm-history-table {
-    width: 100%;
-    background-color: #0ebbff15;
-    position: relative;
-    margin-top: 10px;
-
-    &::after {
-      position: absolute;
-      content: '';
-      width: calc(100% + 10px);
-      height: 2px;
-      top: 0px;
-      left: -10px;
-      border-bottom: 1px solid #0efcff44;
-    }
+}
+
+.alarm-history-table {
+  width: 100%;
+  background-color: #0ebbff15;
+  position: relative;
+  margin-top: 10px;
+
+  &::after {
+    position: absolute;
+    content: '';
+    width: calc(100% + 10px);
+    height: 2px;
+    top: 0px;
+    left: -10px;
+    border-bottom: 1px solid #0efcff44;
   }
+}
 </style>