cxs 4 هفته پیش
والد
کامیت
e673a70170
4فایلهای تغییر یافته به همراه104 افزوده شده و 180 حذف شده
  1. 4 0
      src/api/interface/index.ts
  2. 98 154
      src/views/alarm/singleDevice/index.vue
  3. 0 25
      src/views/query/deviceHealth/index.vue
  4. 2 1
      src/views/system/stations/index.vue

+ 4 - 0
src/api/interface/index.ts

@@ -61,6 +61,10 @@ export namespace User {
     createTime: string[];
     status: number;
   }
+
+  export interface ResStationsList {
+
+  }
   export interface ResUserList {
     id: string;
     username: string;

+ 98 - 154
src/views/alarm/singleDevice/index.vue

@@ -14,7 +14,7 @@
             <el-option
               v-for="item in platformList"
               :key="item.as_code"
-              :label="item.as_code +' '+item.as_name"
+              :label="item.as_code"
               :value="item.as_code"
             />
             <template #prefix>
@@ -22,14 +22,13 @@
             </template>
           </el-select>
         </div>
-        <div class="container-item container__label">名称:固定站1</div>
-        <div class="container-item container__label">通信模块状态:</div>
-        <div class="container-item container__label">观测时间:2024-09-19 23:00</div>
+        <div class="container-item container__label">名称:{{processTableFrom.as_name?processTableFrom.as_name:'--'}}</div>
+        <div class="container-item container__label">观测时间:{{processTableFrom.data_time?processTableFrom.data_time:'--'}}</div>
         <div class="container-item container__label">自动站状态:
-<!--          <el-tag type="danger" size="default" hit>故障</el-tag>-->
-          <el-tag type="success" size="default" hit>正常</el-tag>
+<!--          <el-tag type="danger" size="default" hit>离线</el-tag>-->
+          <el-tag type="success" size="default" hit>在线</el-tag>
         </div>
-        <div class="container-item container__label">站址:未命名29号</div>
+        <div class="container-item container__label">站址:{{addressLabel(selectedItem)}}</div>
       </div>
 <!--      <div class="container-main mt15">-->
 <!--        <div class="container-item container__label">自动站状态:<el-tag type="danger" size="default" hit>故障</el-tag></div>-->
@@ -41,134 +40,16 @@
     <div class="card table-main">
       <div>站台状况</div>
       <div class="container-device-main mt15">
-        <div class="container-device-item">
-          <div class="container-text-box">
-            <div class="container-title">超声风传感器</div>
-            <div class="container-name mt15 mb15">传感器状态:</div>
-            <div class="container-name">证书剩余时间:536天</div>
-          </div>
-          <div class="device-img"></div>
-        </div>
-        <div class="container-device-item">
-          <div class="container-text-box">
-            <div class="container-title">超声风传感器</div>
-            <div class="container-name mt15 mb15">传感器状态:</div>
-            <div class="container-name">证书剩余时间:536天</div>
-          </div>
-          <div class="device-img"></div>
-        </div>
-        <div class="container-device-item">
-          <div class="container-text-box">
-            <div class="container-title">超声风传感器</div>
-            <div class="container-name mt15 mb15">传感器状态:</div>
-            <div class="container-name">证书剩余时间:536天</div>
-          </div>
-          <div class="device-img"></div>
-        </div>
-        <div class="container-device-item">
-          <div class="container-text-box">
-            <div class="container-title">超声风传感器</div>
-            <div class="container-name mt15 mb15">传感器状态:</div>
-            <div class="container-name">证书剩余时间:536天</div>
-          </div>
-          <div class="device-img"></div>
-        </div>
-        <div class="container-device-item">
-          <div class="container-text-box">
-            <div class="container-title">超声风传感器</div>
-            <div class="container-name mt15 mb15">传感器状态:</div>
-            <div class="container-name">证书剩余时间:536天</div>
-          </div>
-          <div class="device-img"></div>
-        </div>
-        <div class="container-device-item">
-          <div class="container-text-box">
-            <div class="container-title">超声风传感器</div>
-            <div class="container-name mt15 mb15">传感器状态:</div>
-            <div class="container-name">证书剩余时间:536天</div>
-          </div>
-          <div class="device-img"></div>
-        </div>
-        <div class="container-device-item">
-          <div class="container-text-box">
-            <div class="container-title">超声风传感器</div>
-            <div class="container-name mt15 mb15">传感器状态:</div>
-            <div class="container-name">证书剩余时间:536天</div>
-          </div>
-          <div class="device-img"></div>
-        </div>
-        <div class="container-device-item">
-          <div class="container-text-box">
-            <div class="container-title">超声风传感器</div>
-            <div class="container-name mt15 mb15">传感器状态:</div>
-            <div class="container-name">证书剩余时间:536天</div>
-          </div>
-          <div class="device-img"></div>
-        </div>
-        <div class="container-device-item">
-          <div class="container-text-box">
-            <div class="container-title">超声风传感器</div>
-            <div class="container-name mt15 mb15">传感器状态:</div>
-            <div class="container-name">证书剩余时间:536天</div>
-          </div>
-          <div class="device-img"></div>
-        </div>
-        <div class="container-device-item">
-          <div class="container-text-box">
-            <div class="container-title">超声风传感器</div>
-            <div class="container-name mt15 mb15">传感器状态:</div>
-            <div class="container-name">证书剩余时间:536天</div>
-          </div>
-          <div class="device-img"></div>
-        </div>
-        <div class="container-device-item">
-          <div class="container-text-box">
-            <div class="container-title">超声风传感器</div>
-            <div class="container-name mt15 mb15">传感器状态:</div>
-            <div class="container-name">证书剩余时间:536天</div>
-          </div>
-          <div class="device-img"></div>
-        </div>
-        <div class="container-device-item">
-          <div class="container-text-box">
-            <div class="container-title">超声风传感器</div>
-            <div class="container-name mt15 mb15">传感器状态:</div>
-            <div class="container-name">证书剩余时间:536天</div>
-          </div>
-          <div class="device-img"></div>
-        </div>
-        <div class="container-device-item">
-          <div class="container-text-box">
-            <div class="container-title">超声风传感器</div>
-            <div class="container-name mt15 mb15">传感器状态:</div>
-            <div class="container-name">证书剩余时间:536天</div>
-          </div>
-          <div class="device-img"></div>
-        </div>
-        <div class="container-device-item">
-          <div class="container-text-box">
-            <div class="container-title">超声风传感器</div>
-            <div class="container-name mt15 mb15">传感器状态:</div>
-            <div class="container-name">证书剩余时间:536天</div>
-          </div>
-          <div class="device-img"></div>
-        </div>
-        <div class="container-device-item">
-          <div class="container-text-box">
-            <div class="container-title">超声风传感器</div>
-            <div class="container-name mt15 mb15">传感器状态:</div>
-            <div class="container-name">证书剩余时间:536天</div>
-          </div>
-          <div class="device-img"></div>
-        </div>
-        <div class="container-device-item">
-          <div class="container-text-box">
-            <div class="container-title">超声风传感器</div>
-            <div class="container-name mt15 mb15">传感器状态:</div>
-            <div class="container-name">证书剩余时间:536天</div>
+        <template v-for="item in customizeColumns">
+          <div class="container-device-item">
+            <div class="container-text-box">
+              <div class="container-title">{{item.se_name}}</div>
+              <div class="container-name mt15 mb15">传感器状态:</div>
+              <div class="container-name">证书剩余时间:536天</div>
+            </div>
+            <div class="device-img"></div>
           </div>
-          <div class="device-img"></div>
-        </div>
+        </template>
         <div class="container-device-item">
           <div class="container-text-box">
             <div class="container-title">超声风传感器</div>
@@ -231,17 +112,36 @@
 </template>
 
 <script setup lang="ts">
+import img0 from "@/assets/images/single/0.png"
+import img100 from "@/assets/images/single/100.png"
+import img200 from "@/assets/images/single/200.png"
+import img300 from "@/assets/images/single/300.png"
+import img400 from "@/assets/images/single/400.png"
+import img500 from "@/assets/images/single/500.png"
+import img600 from "@/assets/images/single/600.png"
+import img700 from "@/assets/images/single/700.png"
+import img800 from "@/assets/images/single/800.png"
+import img900 from "@/assets/images/single/900.png"
+import img1000 from "@/assets/images/single/1000.png"
+import img1100 from "@/assets/images/single/1100.png"
+import img1200 from "@/assets/images/single/1200.png"
+import img1300 from "@/assets/images/single/1300.png"
+import img1400 from "@/assets/images/single/1400.png"
+import img1500 from "@/assets/images/single/1500.png"
+import img1600 from "@/assets/images/single/1600.png"
+import img1700 from "@/assets/images/single/1700.png"
 import { getPlatformList, getStaitemList, getYallSensorList} from "@/api/modules/allData";
 import {onMounted, reactive, ref} from "vue";
 import {Platform} from "@/api/interface";
 const pageable = ref<any>({
   data_type: true,
-  time_order: 0,
-  as_code_list:[],
+  time_order: undefined,
+  time_space: 1,
+  as_code_list:['61000'],
   state_list: [
-    "STATE_PART",
-    "STATE_SENSOR",
-    "STATE_ARTIFICIAL"
+    0,
+    1,
+    2
   ],
   pageNum: 1,
   pageSize: 1000,
@@ -249,22 +149,12 @@ const pageable = ref<any>({
 });
 
 const processTableData = ref([]);
+const processTableFrom = ref({});
 
 const sensorList =ref<any>([])
 // 被选中当条数据下标
 const selectedItemIndex = ref(0)
-let customizeColumns= ref<any>([
-  {
-    se_type: 0,
-    se_name: "预处理器",
-    data_item: "",
-    se_state: 0,
-    data_r_table: "",
-    data_h_table: "",
-    data_value: "",
-    isSelected: false
-  }
-])
+let customizeColumns= ref<any>([])
 
 const changeMoveUp = () =>{
 //上移
@@ -365,6 +255,39 @@ const getSensorList = async () => {
   sensorList.value = data.list
 };
 
+const getLabelByValue = (value) => {
+  const item = deviceType.find(device => device.value === value);
+  return item ? item.label : '--';
+};
+
+const deviceType= [
+  {
+    value: 0,
+    label: '正常',
+  },
+  {
+    value: 1,
+    label: '未连接',
+  },
+  {
+    value: 2,
+    label: '告警',
+  },
+  {
+    value: 3,
+    label: '故障',
+  },
+  {
+    value: 4,
+    label: '不确定',
+  },
+  {
+    value: 5,
+    label: '未启用',
+  }
+]
+
+
 
 const submitForm = () => {
   dialog.visible = false;
@@ -374,19 +297,25 @@ const submitForm = () => {
 }
 
 const updateColumns = () => {
-  pageable.value.data_items = [...customizeColumns.value];
+  // pageable.value.data_items = [...customizeColumns.value];
   getList()
 }
 
 const as_code_list = ref('')
+const selectedItem =ref({})
 
 const changeCodeList =(value)=>{
   if(value){
+    selectedItem.value = platformList.value.find(item => item.as_code === value);
     pageable.value.as_code_list = [value]
+    getList()
   }else {
+    selectedItem.value= {}
     pageable.value.as_code_list= []
+    processTableFrom.value = {}
   }
-  getList()
+
+
 }
 
 
@@ -396,7 +325,7 @@ const cancel = () => {
 
 onMounted(() => {
   loadCustomizeColumns()
-  updateColumns()
+  // updateColumns()
   getPlatforms()
   getSensorList()
 })
@@ -432,9 +361,24 @@ const getPlatforms = async () => {
 const getList = async () => {
   const { data } = await getStaitemList(pageable.value);
   processTableData.value = data.list
+  if (Array.isArray(processTableData.value) && processTableData.value.length > 0) {
+    processTableFrom.value = processTableData.value[0];
+  } else {
+    processTableFrom.value = {}
+  }
   pageable.value.total = data.total
 };
 
+
+
+function addressLabel(item) {
+  const { as_province, as_city, as_area, as_address } = item;
+  if (as_province===undefined&&as_province===undefined&&as_area===undefined&&as_address===undefined) {
+    return '--';
+  } else {
+    return `${as_province}${as_city}${as_area}${as_address}`;
+  }
+}
 </script>
 
 <style scoped>

+ 0 - 25
src/views/query/deviceHealth/index.vue

@@ -633,31 +633,6 @@ function formatDate(timestamp) {
   return `${year}-${month}-${day} ${hours}:${minutes}`;
 }
 
-
-const dataTypeList= [
-  {
-    value: 0,
-    label: '正常',
-  },
-  {
-    value: 1,
-    label: '未连接',
-  },
-  {
-    value: 2,
-    label: '告警',
-  },{
-    value: 3,
-    label: '故障',
-  },{
-    value: 4,
-    label: '不确定',
-  },{
-    value: 5,
-    label: '未启用',
-  }
-]
-
 function findLabelByValue(noticeTypeList, value) {
   const item = noticeTypeList.find(item => item.value === value);
   return item ? item.label : null;

+ 2 - 1
src/views/system/stations/index.vue

@@ -115,6 +115,7 @@ import StrategySafeguard from "./components/strategySafeguard.vue";
 import { ref, reactive } from "vue";
 import { ColumnProps } from "@/components/ProTable/interface";
 import { ElMessageBox } from 'element-plus'
+import {ResStationsList} from "@/api/interface";
 const pageable = ref<any>({
   pageNum: 1,
   pageSize: 20,
@@ -170,7 +171,7 @@ const processTableData = ref([
     h: "小王",
     i: "张三",
     j: "李四",
-    k: "自动"
+    k: "1"
   }
 ]);