فهرست منبع

[Feat 0000]车辆CO浓度关联分析接口对接

bobo04052021@163.com 3 هفته پیش
والد
کامیت
0d11e8ddd1

+ 6 - 4
src/views/vent/home/configurable/belt/belt-new.vue

@@ -60,7 +60,7 @@
 </template>
 
 <script setup lang="ts">
-import { onMounted, ref, watch, computed } from 'vue';
+import { onMounted, ref, watch, nextTick } from 'vue';
 import customHeader from './components/customHeader-belt.vue';
 import { useInitConfigs, useInitPage } from '../hooks/useInit';
 import { testBeltNew, testYjkf, testSpary } from './configurable.data';
@@ -231,7 +231,8 @@ function getLevelClass(level: string) {
   }
 }
 // 刷新数据
-function refresh() {
+async function refresh() {
+  await nextTick();
   fetchConfigs('').then(() => {
     if (pageType.value == 'fire_risk_warn') {
       configs.value = testBeltNew;
@@ -241,15 +242,14 @@ function refresh() {
       };
       Promise.resolve(getMonitorAndAlertBelt(params)).then(updateData);
     } else if (pageType.value == 'emergencyControl') {
-      configs.value = testYjkf;
       const params = {
         devicetype: 'sys',
         systemID: '1637983899775242242',
         type: 'ventS',
       };
       Promise.resolve(getSystem(params)).then(updateData);
+      configs.value = testYjkf;
     } else if (pageType.value == 'sprayControl') {
-      configs.value = testSpary;
       const params = {
         devicetype: 'sys',
         systemID: '2028657172566073346',
@@ -271,6 +271,7 @@ function refresh() {
         data.value.sprayData = sprayData;
         updateData(data.value);
       });
+      configs.value = testSpary;
     } else {
       configs.value = testBeltNew;
     }
@@ -288,6 +289,7 @@ function initInterval() {
 async function changePage(pageTypeStr: string) {
   const finalPageType = pageTypeStr || (route.query.pageType as string) || '';
   pageType.value = finalPageType;
+  console.log(pageType.value, '-------');
   await refresh();
 }
 

+ 3 - 3
src/views/vent/home/configurable/belt/belt.vue

@@ -3,9 +3,9 @@
   <div class="company-home">
     <div class="border">
       <customHeader>皮带巷三级防灭火系统</customHeader>
-      <div class="test" style="width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: 0">
-        <SubApp />
-      </div>
+      <!-- <div class="test" style="width: 100%; height: 100%; position: absolute; left: 0; top: 0; z-index: 0"> -->
+      <SubApp />
+      <!-- </div> -->
       <div class="box-container">
         <ModuleCommon
           v-for="cfg in configs"

+ 0 - 2
src/views/vent/home/configurable/belt/components/ModuleCommon.vue

@@ -113,8 +113,6 @@ watch(
   (d) => {
     init(d);
     if (!selectedDeviceID.value) {
-      console.log(selectedDeviceID.value, '------');
-
       selectedDeviceID.value = options.value[0]?.value;
     }
   },

+ 1 - 1
src/views/vent/home/configurable/belt/configurable.data.ts

@@ -1133,7 +1133,7 @@ export const testSpary: Config[] = [
   {
     deviceType: '',
     moduleName: '摄像头视频信号',
-    pageType: 'beltYjkf',
+    pageType: '',
     moduleData: {
       header: {
         show: false,

+ 2 - 2
src/views/vent/home/configurable/components/belt/VehicleCOAnalysis.vue

@@ -59,7 +59,7 @@
       </div>
     </div>
   </div>
-  <HistoryModal v-model="visible" columns-type="Leather_history" device-type="window" designScope="alarm-history" :scroll="scroll" />
+  <HistoryModal v-model="visible" columns-type="sys_Leather_history" device-type="window" designScope="alarm-history" :scroll="scroll" />
 </template>
 
 <script lang="ts" setup>
@@ -158,7 +158,7 @@ onMounted(async () => {
 }
 
 .monitor-container {
-  width: 400px;
+  width: 370px;
   height: 410px;
   background: linear-gradient(180deg, #0d213f 0%, #0a162a 100%);
   border: 1px solid #1a3b5d;

+ 47 - 13
src/views/vent/home/configurable/components/belt/historyModal.vue

@@ -1,19 +1,15 @@
 <template>
-  <!-- 1. 传送到 body → 全屏显示 -->
   <Teleport to="body">
-    <!-- 2. 全屏遮罩 + 居中 -->
     <div v-if="modelValue" class="modal-overlay" @click.self="close">
-      <!-- 3. 弹窗容器(带标题、关闭、样式) -->
       <div class="modal-container">
         <div class="dialog-header">
-          <h3>应急控制</h3>
+          <h3>历史分析记录</h3>
         </div>
         <div class="close-btn" @click="close">
           <img src="@/assets/images/beltFire/fireMonitor/close.svg" alt="" />
         </div>
-        <!-- 4. 你原来的表格组件(直接放这里) -->
         <div class="table-box">
-          <BasicTable ref="handlerHistory" @register="registerTable" />
+          <BasicTable ref="handlerHistory" @register="registerTable"> </BasicTable>
         </div>
       </div>
     </div>
@@ -35,7 +31,12 @@ const list = (params) =>
     url: '/ventanaly-device/safety/deviceVehiclePass/getByDeviceAndTime',
     params,
   });
-
+const vehicleList = (params) => {
+  defHttp.get({
+    url: '/ventanaly-device/safety/deviceVehiclePass/list',
+    params,
+  });
+};
 // 接收 v-model
 const props = defineProps({
   modelValue: {
@@ -74,6 +75,30 @@ watch(
     } else {
       columns.value = column;
     }
+    columns.value = columns.value.map((col) => {
+      // 是否通过车辆
+      if (col.title === '是否通过车辆') {
+        col.customRender = function ({ record }) {
+          if (record.vehicleId && record.vehicleId !== '') {
+            return record.vehicleId;
+          } else {
+            return '未通过车辆';
+          }
+        };
+      }
+
+      // 预警状态
+      if (col.title === '预警状态') {
+        col.customRender = function ({ record }) {
+          if (record.vehicleId && record.vehicleId !== '') {
+            return record.vehicleId + ' 已排除';
+          } else {
+            return '预警';
+          }
+        };
+      }
+      return col;
+    });
     if (handlerHistory.value) reload();
   },
   { immediate: true }
@@ -111,7 +136,18 @@ const { tableContext } = useListPage({
       },
       schemas: [
         {
-          field: 'createTime_begin',
+          label: '设备名称',
+          field: 'deviceId',
+          component: 'Select',
+          required: true,
+          defaultValue: '1722081013462003713',
+          componentProps: {
+            placeholder: '请选择设备',
+          },
+          colProps: { span: 8 },
+        },
+        {
+          field: 'startTime',
           label: '开始时间',
           component: 'DatePicker',
           defaultValue: dayjs().add(-30, 'day').format('YYYY-MM-DD HH:mm:ss'),
@@ -121,10 +157,10 @@ const { tableContext } = useListPage({
             valueFormat: 'YYYY-MM-DD HH:mm:ss',
             getPopupContainer: getAutoScrollContainer,
           },
-          colProps: { span: 7 },
+          colProps: { span: 8 },
         },
         {
-          field: 'createTime_end',
+          field: 'endTime',
           label: '结束时间',
           component: 'DatePicker',
           defaultValue: dayjs(),
@@ -134,7 +170,7 @@ const { tableContext } = useListPage({
             valueFormat: 'YYYY-MM-DD HH:mm:ss',
             getPopupContainer: getAutoScrollContainer,
           },
-          colProps: { span: 7 },
+          colProps: { span: 8 },
         },
       ],
     },
@@ -145,8 +181,6 @@ const { tableContext } = useListPage({
       pageSizeOptions: ['10', '30', '50', '100'],
     },
     beforeFetch(params) {
-      params.devicetype = props.deviceType + '*';
-      if (props.sysId) params.sysId = props.sysId;
       if (props.deviceId) params.deviceid = props.deviceId;
     },
   },