| 
					
				 | 
			
			
				@@ -58,30 +58,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     <div class="ventilate-bottom"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div class="bot-area"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <div class="title-b"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <div class="text-b">通风监控测点信息</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        <div class="content-b"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <div class="card-b" v-for="(item, index) in cardListTf" :key="index"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div class="item-l"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <div class="label-l">{{ item.label }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <div class="value-l">{{ item.value }}</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            <div class="item-r"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <div class="content-r" v-for="(items, ind) in item.listR" :key="ind"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <span>{{ `${items.label} : ` }}</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                <span 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  :class="{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    'status-f': items.value == 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    'status-l': items.value == 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  }" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                > 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  {{ `${items.value}${items.dw}` }} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                </span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <MeasurePoint title="通风监控测点信息" :cards="cardListTf" :charts="chartListTf" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   </div> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -96,6 +73,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   import CustomHeader from '/@/components/vent/customHeader.vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   import echartLine from '../common/echartLine.vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   import { usePermission } from '/@/hooks/web/usePermission'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  import MeasurePoint from '../common/measurePoint.vue'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const { hasPermission } = usePermission(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   const { options, optionValue, getSelectRow, getSysDataSource } = useSystemSelect('sys_surface_caimei'); // 参数为场景类型(设备类型管理中可以查询到) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -123,6 +101,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     xData: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   let cardListTf = reactive<any[]>([]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const chartListTf = reactive<any[]>([]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // https获取监测数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   let timer: null | NodeJS.Timeout = null; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -220,6 +199,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   //获取通风监控测点信息 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   async function getWindDeviceList() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     cardListTf.length = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    chartListTf.length = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     let res = await getDevice({ devicetype: 'windrect', pagetype: 'normal' }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if (res && res.msgTxt[0]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       let list = res.msgTxt[0].datalist || []; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -243,6 +223,10 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          chartListTf.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            label: el.strinstallpos, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            data: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -271,8 +255,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       --image-jinfengliang: url('/@/assets/images/themify/deepblue/fire/jinfengliang.png'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       --image-huifengliang: url('/@/assets/images/themify/deepblue/fire/huifengliang.png'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       --image-xufengliang: url('/@/assets/images/themify/deepblue/fire/xufengliang.png'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      --image-bot-area: url('/@/assets/images/themify/deepblue/fire/bot-area.png'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      --image-bot-area1: url('/@/assets/images/themify/deepblue/fire/bot-area1.png'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -284,8 +266,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     --image-jinfengliang: url('/@/assets/images/fire/jinfengliang.png'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     --image-huifengliang: url('/@/assets/images/fire/huifengliang.png'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     --image-xufengliang: url('/@/assets/images/fire/xufengliang.png'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    --image-bot-area: url('/@/assets/images/fire/bot-area.png'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    --image-bot-area1: url('/@/assets/images/fire/bot-area1.png'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     --border-image-1: linear-gradient(to bottom, #2d74a0, #2d74a0, #2d74a0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     --border-image-2: linear-gradient(to bottom, transparent, #024688, transparent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     width: 100%; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -552,115 +532,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         background: var(--image-bj1) no-repeat center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         background-size: 100% 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         box-sizing: border-box; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        .title-b { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          height: 30px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          margin-bottom: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          justify-content: space-between; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          .text-b { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            font-family: 'douyuFont'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            font-size: 14px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            color: var(--vent-font-color); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        .content-b { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          height: calc(100% - 40px); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          justify-content: flex-start; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          align-items: flex-start; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          flex-wrap: wrap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          overflow-y: auto; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          .card-b { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            position: relative; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            width: 24%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            height: 128px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            margin: 0px 9px 10px 9px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            background: var(--image-bot-area) no-repeat center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            background-size: 100% 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            .item-l { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              left: 32px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              top: 50%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              transform: translate(0, -50%); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              width: 89px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              height: 98px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              background: var(--image-bot-area1) no-repeat center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              .label-l { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                width: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                top: 7px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                color: var(--vent-font-color); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                font-size: 12px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                text-align: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              .value-l { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                width: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                top: 50px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                font-family: 'douyuFont'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                font-size: 14px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                color: var(--vent-table-action-link); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                text-align: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            .item-r { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              position: absolute; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              left: 132px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              top: 50%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              transform: translate(0, -50%); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              height: 128px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              padding: 5px 0px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              flex-direction: column; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              justify-content: space-around; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              box-sizing: border-box; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              .content-r { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                span { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  font-size: 14px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  color: var(--vent-font-color); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  &:first-child { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    display: inline-block; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    width: 68px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    text-align: right; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  &:last-child { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    display: inline-block; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    width: calc(100% - 68px); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    overflow: hidden; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    white-space: nowrap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    /* 不换行 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    /* 超出部分隐藏 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    text-overflow: ellipsis; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    /* 使用省略符号 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .status-f { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  color: #ff0000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                .status-l { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  color: var(--vent-table-action-link); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 |