| 
					
				 | 
			
			
				@@ -1,100 +1,100 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	<div class="table-box"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		<div class="card table-search" style="overflow: hidden;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			<el-form ref="formRef" :model="pageable" :inline="true" label-width="auto"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				<el-form-item label="所属基地:" prop="base"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					<el-select v-model="pageable.base" placeholder="请选择" style="width: 200px" @change="changeBase"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						<el-option v-for="item in baseList" :key="item.value" :label="item.label" :value="item.value" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					</el-select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				</el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				<el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					<div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						<el-button type="primary" @click="handleSearch">查询</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						<el-button plain @click="resetQuery">重置</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				</el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			</el-form> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		<div class="main_list "> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			<el-row :gutter="15"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				<el-col :xs="24" :sm="12" :md="8" :lg="8"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					<div class="chart_item zhuti"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						<div style="font-weight: bold;" class="item_title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							<span>设备工况(单位:台)</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						<div class="mt5"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							<div ref="device" class="ve-ring" style="height: 200px" v-if="stateList"></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							<div v-else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-								style="height: 200px; display: flex; justify-content: center; align-items: center; font-size: 20px;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-								暂无数据</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				</el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				<el-col :xs="24" :sm="12" :md="8" :lg="8"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					<div class="chart_item zhuti"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						<div style="font-weight: bold;" class="item_title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							<span>检定周期(单位:台)</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						<div class="mt5"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							<div ref="period" class="ve-ring" style="height: 200px"></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				</el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				<el-col :xs="24" :sm="12" :md="8" :lg="8"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					<div class="chart_item zhuti"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						<div style="font-weight: bold;" class="item_title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							<span>FTP链路</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						<div class="mt5"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							<div class="FTP_box" style="height: 200px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-								<div class="FTP_item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-									<img src="@/assets/images/centerStation.png" alt=""> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-									<div>正常FTP({{ FTPList && FTPList.true ? FTPList?.true.length : 0 }})</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-								</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-								<div class="FTP_item" @click="gotoFTP"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-									<img src="@/assets/images/areaStation.png" alt=""> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-									<div>异常FTP({{ FTPList && FTPList.false ? FTPList?.false.length : 0 }})</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-								</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				</el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			</el-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			<el-row :gutter="15"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				<el-col :span="24"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					<div class="chart_item zhuti"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						<div style="font-weight: bold;" class="item_title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							<span>危险天气</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						<el-row :gutter="15"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							<el-col :span="8"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-								<div class="mt5"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-									<div ref="weather" class="ve-ring" style="height: 300px"></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-								</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							</el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							<el-col :span="16" style="margin-bottom: 0;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-								<div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-									<div ref="element" class="ve-ring" style="height: 300px"></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-								</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							</el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						</el-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				</el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			</el-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			<el-row :gutter="15"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				<el-col :span="24"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					<div class="chart_item zhuti"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						<div style="font-weight: bold;" class="item_title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							<span>到报监控</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						<div class="mt5"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-							<div ref="control" class="ve-ring" style="height: 300px"></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				</el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			</el-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  <div class="table-box"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div class="card table-search" style="overflow: hidden;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-form ref="formRef" :model="pageable" :inline="true" label-width="auto"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-form-item label="所属基地:" prop="base"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <el-select v-model="pageable.base" placeholder="请选择" style="width: 200px" @change="changeBase"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-option v-for="item in baseList" :key="item.value" :label="item.label" :value="item.value" /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </el-select> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-button type="primary" @click="handleSearch">查询</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-button plain @click="resetQuery">重置</el-button> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-form-item> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-form> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    <div class="main_list "> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-row :gutter="15"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-col :xs="24" :sm="12" :md="8" :lg="8"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class="chart_item zhuti"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div style="font-weight: bold;" class="item_title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span>设备工况(单位:台)</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="mt5"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <div ref="device" class="ve-ring" style="height: 200px" v-if="stateList"></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <div v-else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                style="height: 200px; display: flex; justify-content: center; align-items: center; font-size: 20px;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                暂无数据</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-col :xs="24" :sm="12" :md="8" :lg="8"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class="chart_item zhuti"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div style="font-weight: bold;" class="item_title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span>检定周期(单位:台)</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="mt5"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <div ref="period" class="ve-ring" style="height: 200px"></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-col :xs="24" :sm="12" :md="8" :lg="8"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class="chart_item zhuti"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div style="font-weight: bold;" class="item_title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span>FTP链路</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="mt5"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <div class="FTP_box" style="height: 200px"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="FTP_item"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <img src="@/assets/images/centerStation.png" alt=""> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div>正常FTP({{ FTPList && FTPList.true ? FTPList?.true.length : 0 }})</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="FTP_item" @click="gotoFTP"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <img src="@/assets/images/areaStation.png" alt=""> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div>异常FTP({{ FTPList && FTPList.false ? FTPList?.false.length : 0 }})</div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-row :gutter="15"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-col :span="24"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class="chart_item zhuti"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div style="font-weight: bold;" class="item_title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span>危险天气</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <el-row :gutter="15"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-col :span="8"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div class="mt5"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div ref="weather" class="ve-ring" style="height: 300px"></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <el-col :span="16" style="margin-bottom: 0;"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                <div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  <div ref="element" class="ve-ring" style="height: 300px"></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </el-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <el-row :gutter="15"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        <el-col :span="24"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class="chart_item zhuti"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div style="font-weight: bold;" class="item_title"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <span>到报监控</span> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            <div class="mt5"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <div ref="control" class="ve-ring" style="height: 300px"></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        </el-col> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </el-row> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </template> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <script setup lang="ts" name="allDevice"> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -110,39 +110,39 @@ import { useRouter } from "vue-router"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { useUserStore } from "@/stores/modules/user"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const router = useRouter(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const gotoFTP = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	router.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		path: '/system/disposition', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		query: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			status: 'distributionAutomatic', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  router.push({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    path: '/system/disposition', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    query: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      status: 'distributionAutomatic', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 查询自动站列表 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const queryas = ref<Platform>({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	pageSize: 5000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	pageNum: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	currentpage: 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  pageSize: 5000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  pageNum: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  currentpage: 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const pageable = ref({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	data_type: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	time_order: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	time_space: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	base: undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	as_code_list: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	data_items: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			data_r_table: "SHI_SHI_LIU_YAO_SU_SHU_JU", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			data_id: 101, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			data_type: "温湿度", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			data_item: "QI_WEN", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			data_name: "气温", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			data_unit: "℃", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			data_h_table: "LI_SHI_LIU_YAO_SU_SHU_JU", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			data_value: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			data_order: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			data_condition: 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  data_type: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  time_order: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  time_space: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  base: undefined, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  as_code_list: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  data_items: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data_r_table: "SHI_SHI_LIU_YAO_SU_SHU_JU", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data_id: 101, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data_type: "温湿度", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data_item: "QI_WEN", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data_name: "气温", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data_unit: "℃", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data_h_table: "LI_SHI_LIU_YAO_SU_SHU_JU", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data_value: "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data_order: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      data_condition: 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const userStore = useUserStore(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -151,43 +151,43 @@ const baseList = ref<any>([]) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const selectPlatform = ref() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const getPlatforms = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	baseList.value = groupByType(platformList.value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  baseList.value = groupByType(platformList.value) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	pageable.value.base = baseList.value[0].value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	pageable.value.as_code_list = baseList.value[0].children 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	selectPlatform.value = baseList.value[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// getDeviceStatus() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// getArrive() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// getHistoryList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  pageable.value.base = baseList.value[0].value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  pageable.value.as_code_list = baseList.value[0].children 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  selectPlatform.value = baseList.value[0] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // getDeviceStatus() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // getArrive() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // getHistoryList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const resetQuery = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	pageable.value.base = baseList.value[0].value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	pageable.value.as_code_list = baseList.value[0].children 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	handleSearch() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  pageable.value.base = baseList.value[0].value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  pageable.value.as_code_list = baseList.value[0].children 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  handleSearch() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const changeBase = (e) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	const item = baseList.value.find(item => item.value === e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	pageable.value.as_code_list = item.children 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// getCertificate() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// getFTP() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// getDeviceStatus() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// getArrive() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// getHistoryList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const item = baseList.value.find(item => item.value === e); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  pageable.value.as_code_list = item.children 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // getCertificate() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // getFTP() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // getDeviceStatus() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // getArrive() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // getHistoryList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 watch(() => pageable.value.as_code_list, (newValue, oldValue) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	if (newValue) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		weatherInfo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		getCertificate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		getFTP(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		getDeviceStatus(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		getArrive(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		// getHistoryList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if (newValue) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    weatherInfo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getCertificate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getFTP(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getDeviceStatus(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getArrive(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // getHistoryList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const formRef = ref() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -201,45 +201,45 @@ const control = ref() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const arriveList = ref<any>({ aa: [], bb: [], cc: [] }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const arriveTime = ref<any>() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const getArrive = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	const { data } = await getArriveList({ ...pageable.value, time_space: 60, data_type: false, end_time: getStamp(parseTime(new Date(), '{y}-{m}-{d} {h}') + ':01'), begin_time: getStamp(parseTime(new Date(), '{y}-{m}-{d}') + ' 01:00') }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// 提取键并排序 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	const sortedKeys = Object.keys(data).sort((a, b) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		const [timeA] = a.split(':').map(Number); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		const [timeB] = b.split(':').map(Number); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		return timeA - timeB; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// 根据排序后的键构建新对象 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	const sortedObj = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	sortedKeys.forEach(key => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		sortedObj[key] = data[key]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	arriveTime.value = Object.keys(sortedObj) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	const arr = <any>{ aa: [], bb: [], cc: [] } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	arriveTime.value?.forEach((item, index) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		arr.aa.push(pageable.value.as_code_list.length) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		arr.bb.push(data[item].length) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		arr.cc.push(pageable.value.as_code_list.length - data[item].length) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	arriveList.value = arr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		showControl() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const { data } = await getArriveList({ ...pageable.value, time_space: 60, data_type: false, end_time: getStamp(parseTime(new Date(), '{y}-{m}-{d} {h}') + ':01'), begin_time: getStamp(parseTime(new Date(), '{y}-{m}-{d}') + ' 01:00') }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 提取键并排序 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const sortedKeys = Object.keys(data).sort((a, b) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const [timeA] = a.split(':').map(Number); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const [timeB] = b.split(':').map(Number); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return timeA - timeB; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // 根据排序后的键构建新对象 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const sortedObj = {}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  sortedKeys.forEach(key => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sortedObj[key] = data[key]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  arriveTime.value = Object.keys(sortedObj) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const arr = <any>{ aa: [], bb: [], cc: [] } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  arriveTime.value?.forEach((item, index) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    arr.aa.push(pageable.value.as_code_list.length) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    arr.bb.push(data[item].length) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    arr.cc.push(pageable.value.as_code_list.length - data[item].length) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  arriveList.value = arr 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    showControl() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const wertherColumns = ref<any>({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	tact_state_on: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	tact_data_on: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	tact_state: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// tact_state: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// tact_data: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	pageNum: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	pageSize: 999, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  tact_state_on: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  tact_data_on: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  tact_state: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // tact_state: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // tact_data: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  pageNum: 1, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  pageSize: 999, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -249,89 +249,95 @@ const dangetWeatherNum = ref(0) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const weatherNormal = ref() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const weatherWarning = ref() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const weatherInfo = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	const { data } = await getTacRecordList({ ...wertherColumns.value, as_code_list: pageable.value.as_code_list }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	dangetWeatherNum.value = [...new Set(data.list?.map(obj => obj.as_code))].length 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	weatherInfoArr.value = data.list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	let arr2 = new Array(8).fill(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	let arr1 = new Array(8).fill(pageable.value.as_code_list.length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	data.list?.forEach((item, index) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		arr1[item.data_type]-- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		arr2[item.data_type]++ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	weatherNormal.value = arr1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	weatherWarning.value = arr2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		showWeather() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		showElement() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const { data } = await getTacRecordList({ ...wertherColumns.value, as_code_list: pageable.value.as_code_list }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  dangetWeatherNum.value = [...new Set(data.list?.map(obj => obj.as_code))].length 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  weatherInfoArr.value = data.list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let arr2 = new Array(8).fill(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let arr1 = new Array(8).fill(pageable.value.as_code_list.length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  data.list?.forEach((item, index) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    arr1[item.data_type]-- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    arr2[item.data_type]++ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  weatherNormal.value = arr1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  weatherWarning.value = arr2 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    showWeather() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    showElement() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 获取自动站定检证书 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 返回两个数组中相同的个数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 function findCommonCount(arr1, arr2) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	const common = arr1.filter(item => arr2.includes(item)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	return common.length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const common = arr1.filter(item => arr2.includes(item)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  return common.length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const certificateList = ref<any>({}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const getCertificate = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	const { data } = await getCertificateList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// certificateList.value.a = data[0]?.length || 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	certificateList.value.a = findCommonCount(pageable.value.as_code_list, data[0]?.length ? data[0] : []) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	certificateList.value.b = findCommonCount(pageable.value.as_code_list, data[1]?.length ? data[1] : []) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	certificateList.value.c = findCommonCount(pageable.value.as_code_list, data[2]?.length ? data[2] : []) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const { data } = await getCertificateList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // certificateList.value.a = data[0]?.length || 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  certificateList.value.a = findCommonCount(pageable.value.as_code_list, data[0]?.length ? data[0] : []) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  certificateList.value.b = findCommonCount(pageable.value.as_code_list, data[1]?.length ? data[1] : []) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  certificateList.value.c = findCommonCount(pageable.value.as_code_list, data[2]?.length ? data[2] : []) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		showPeriod() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// certificateList.value=data.list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    showPeriod() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // certificateList.value=data.list 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 // 获取FTP链路 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const FTPList = ref<any>({}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const getFTP = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	const { data } = await getFTPList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	FTPList.value = data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const { data } = await getFTPList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  FTPList.value = data 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-// 获取设备工况 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+// 获取设备工况 stateList(用于存储设备状态)、getDeviceStatus(存储设备状态) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const stateList = ref<any>() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const getDeviceStatus = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	const { data } = await getStaitemList(pageable.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	const state = { normal: 0, warning: 0, error: 0 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	data?.list?.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		const staList = item.sta_list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		staList.forEach(sta => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			if (sta.state === 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				state.normal++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} else if (sta.state === 2) { // 注意:你的要求中提到了state为2的个数,但原始数据中并没有state为2的例子,这里我假设你需要统计它   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				state.warning++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} else if (sta.state === 3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				state.error++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			// 对于其他state值,这里不做处理,如果需要可以添加额外的条件分支   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	stateList.value = state 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		showDevice() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const { data } = await getStaitemList(pageable.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const state = { normal: [], warning: [], error: [] } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  data?.list?.forEach(item => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const staList = item.sta_list; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    staList.forEach(sta => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      if (sta.state === 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!state.normal.includes(item.as_code)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          state.normal.push(item.as_code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // state.normal++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else if (sta.state === 2) { // 注意:你的要求中提到了state为2的个数,但原始数据中并没有state为2的例子,这里我假设你需要统计它   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!state.warning.includes(item.as_code)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          state.warning.push(item.as_code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // state.warning++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } else if (sta.state === 3) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!state.error.includes(item.as_code)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          state.error.push(item.as_code); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // state.error++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  state.normal=state.normal?.filter(item => !state.error?.includes(item)); //过滤正常状态设备,删除掉异常状态的设备代码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  stateList.value = state 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    showDevice() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const handleSearch = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	getArrive() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	weatherInfo() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	getCertificate() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	getFTP() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	getDeviceStatus() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  getArrive() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  weatherInfo() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  getCertificate() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  getFTP() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  getDeviceStatus() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -342,466 +348,471 @@ const isDark = computed(() => globalStore.isDark); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const showDevice = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	let mychart = echarts.init(device.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	let option = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		tooltip: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			trigger: 'item', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			formatter: "{a} <br/>{b}: {c}台" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		legend: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			bottom: '0%', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			left: 'center', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			textStyle: {//图例文字的样式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				color: isDark.value ? '#fff' : "#000", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		series: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				name: '设备工况', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				type: 'pie', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				radius: ['50%', '68%'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				center: ['50%', '45%'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				hoverAnimation: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					borderRadius: 3, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					borderColor: '#fff', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					borderWidth: 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				label: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					normal: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						show: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						position: 'outer', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						formatter: '{b}:{c}', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						overflow: 'none', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						fontSize: 15, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				emphasis: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					label: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						show: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						fontSize: 20, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						fontWeight: 'bold' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				//设置提示线 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				labelLine: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					normal: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						show: true,//开启提示线展示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						length: 10,//设置第一条提示线长度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						length2: 30,//设置第二条提示线长度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				data: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						value: stateList.value ? stateList.value.normal : 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						name: '正常', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						itemStyle: { color: '#00C4B3' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						label: { color: '#00C4B3' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						value: stateList.value ? stateList.value.warning : 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						name: '告警', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						itemStyle: { color: '#EF6666' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						label: { color: '#EF6666' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						value: stateList.value ? stateList.value.error : 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						name: '故障', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						itemStyle: { color: '#FAC858' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						label: { color: '#FAC858' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	mychart.setOption(option) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	window.addEventListener("resize", function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		mychart.resize(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let mychart = echarts.init(device.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let option = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    tooltip: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      trigger: 'item', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      formatter:function(params) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return `<div>${params.name}:${params.value}台</div>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    legend: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bottom: '0%', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      left: 'center', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      textStyle: {//图例文字的样式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        color: isDark.value ? '#fff' : "#000", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    series: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name: '设备工况', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: 'pie', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        radius: ['50%', '68%'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        center: ['50%', '45%'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        hoverAnimation: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          borderRadius: 3, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          borderColor: '#fff', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          borderWidth: 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        label: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          normal: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            show: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            position: 'outer', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            formatter: '{b}:{c}', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            overflow: 'none', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fontSize: 15, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        emphasis: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          label: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            show: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fontSize: 20, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fontWeight: 'bold' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //设置提示线 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        labelLine: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          normal: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            show: true,//开启提示线展示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            length: 10,//设置第一条提示线长度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            length2: 30,//设置第二条提示线长度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            value: stateList.value ? stateList.value.normal.length : 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            name: '正常', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            list: stateList.value ? stateList.value.normal : [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            itemStyle: { color: '#00C4B3' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            label: { color: '#00C4B3' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            value: stateList.value ? stateList.value.warning.length : 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            name: '告警', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            list: stateList.value ? stateList.value.warning : [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            itemStyle: { color: '#EF6666' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            label: { color: '#EF6666' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            value: stateList.value ? stateList.value.error.length : 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            name: '故障', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            list: stateList.value ? stateList.value.error : [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            itemStyle: { color: '#FAC858' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            label: { color: '#FAC858' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  mychart.setOption(option) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  window.addEventListener("resize", function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    mychart.resize(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const showPeriod = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	let mychart = echarts.init(period.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	let option = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		tooltip: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			trigger: 'item', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			formatter: "{a} <br/>{b}: {c}台" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		legend: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			bottom: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			left: 'center', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			textStyle: {//图例文字的样式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				color: isDark.value ? '#fff' : "#000", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		series: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				name: '检定周期', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				type: 'pie', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				radius: '65%', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				center: ['50%', '45%'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				label: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					normal: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						show: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						position: 'outer', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						formatter: '{b}:{c}', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						fontSize: 14, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				data: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					{ value: certificateList.value.c ? certificateList.value.c : 0, name: '剩余31-60天', itemStyle: { color: '#5470C6' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					{ value: certificateList.value.b ? certificateList.value.b : 0, name: '剩余1-30天', itemStyle: { color: '#FAC858' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					{ value: certificateList.value.a ? certificateList.value.a : 0, name: '已过检', itemStyle: { color: '#EF6666' } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				emphasis: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						shadowBlur: 10, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						shadowOffsetX: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						shadowColor: 'rgba(0, 0, 0, 0.5)' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	mychart.setOption(option) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	window.addEventListener("resize", function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		mychart.resize(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let mychart = echarts.init(period.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let option = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    tooltip: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      trigger: 'item', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      formatter: "{a} <br/>{b}: {c}台" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    legend: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bottom: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      left: 'center', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      textStyle: {//图例文字的样式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        color: isDark.value ? '#fff' : "#000", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    series: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name: '检定周期', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: 'pie', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        radius: '65%', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        center: ['50%', '45%'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        label: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          normal: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            show: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            position: 'outer', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            formatter: '{b}:{c}', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fontSize: 14, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { value: certificateList.value.c ? certificateList.value.c : 0, name: '剩余31-60天', itemStyle: { color: '#5470C6' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { value: certificateList.value.b ? certificateList.value.b : 0, name: '剩余1-30天', itemStyle: { color: '#FAC858' } }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { value: certificateList.value.a ? certificateList.value.a : 0, name: '已过检', itemStyle: { color: '#EF6666' } } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        emphasis: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            shadowBlur: 10, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            shadowOffsetX: 0, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            shadowColor: 'rgba(0, 0, 0, 0.5)' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  mychart.setOption(option) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  window.addEventListener("resize", function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    mychart.resize(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const allSataion = ref(5) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const showWeather = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	let mychart = echarts.init(weather.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	let option = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		title: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			text: `${pageable.value.as_code_list.length} \n 总站数 `, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			left: "center", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			top: "38%", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			textStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				fontSize: 20, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				color: '#000', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		tooltip: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			trigger: 'item', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			formatter: "{a} <br/>{b}: {c}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		legend: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			bottom: '1%', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			left: 'center', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			textStyle: {//图例文字的样式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				color: isDark.value ? '#fff' : "#000", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		series: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				name: '设备工况', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				type: 'pie', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				radius: ['50%', '70%'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				center: ['50%', '45%'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				hoverAnimation: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					borderRadius: 3, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					borderColor: '#fff', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					borderWidth: 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				label: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					normal: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						show: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						position: 'outer', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						formatter: '{b}:{c}', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						overflow: 'none', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						fontSize: 15, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				emphasis: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					label: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						show: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						fontSize: 20, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						fontWeight: 'bold' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				//设置提示线 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				labelLine: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					normal: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						show: true,//开启提示线展示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						length: 15,//设置第一条提示线长度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						length2: 30,//设置第二条提示线长度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				data: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						value: pageable.value.as_code_list.length - dangetWeatherNum.value, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						name: '正常', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						itemStyle: { color: '#5470C6' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						label: { color: '#5470C6' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						value: dangetWeatherNum.value, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						name: '告警', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						itemStyle: { color: '#EF6666' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-						label: { color: '#EF6666' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	mychart.setOption(option) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	window.addEventListener("resize", function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		mychart.resize(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let mychart = echarts.init(weather.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let option = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    title: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      text: `${pageable.value.as_code_list.length} \n 总站数 `, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      left: "center", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      top: "38%", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      textStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fontSize: 20, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        color: '#000', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    tooltip: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      trigger: 'item', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      formatter: "{a} <br/>{b}: {c}" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    legend: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bottom: '1%', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      left: 'center', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      textStyle: {//图例文字的样式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        color: isDark.value ? '#fff' : "#000", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    series: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name: '天气状况', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: 'pie', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        radius: ['50%', '70%'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        center: ['50%', '45%'], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        hoverAnimation: false, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          borderRadius: 3, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          borderColor: '#fff', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          borderWidth: 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        label: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          normal: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            show: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            position: 'outer', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            formatter: '{b}:{c}', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            overflow: 'none', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fontSize: 15, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        emphasis: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          label: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            show: true, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fontSize: 20, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            fontWeight: 'bold' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //设置提示线 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        labelLine: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          normal: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            show: true,//开启提示线展示 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            length: 15,//设置第一条提示线长度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            length2: 30,//设置第二条提示线长度 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            value: pageable.value.as_code_list.length - dangetWeatherNum.value, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            name: '正常', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            itemStyle: { color: '#5470C6' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            label: { color: '#5470C6' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            value: dangetWeatherNum.value, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            name: '告警', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            itemStyle: { color: '#EF6666' }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            label: { color: '#EF6666' } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  mychart.setOption(option) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  window.addEventListener("resize", function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    mychart.resize(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const showElement = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	let mychart = echarts.init(element.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	let option = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		tooltip: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			trigger: 'axis', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			axisPointer: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				type: 'shadow' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		grid: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			top: '3%', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			left: '3%', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			right: '4%', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			bottom: '0%', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			containLabel: true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		xAxis: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				type: 'category', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				data: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					'能见度', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					'风速', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					'大气电场', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					'云量', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					'云高', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					'温度', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					'湿度', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					'小时雨量' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		yAxis: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				type: 'value' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		series: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				name: '正常', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				barWidth: '50%', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				type: 'bar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				stack: 'Ad', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				emphasis: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					focus: 'series' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					color: '#5470C6' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				data: weatherNormal.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				name: '告警', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				barWidth: '50%', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				type: 'bar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				stack: 'Ad', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				emphasis: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					focus: 'series' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					color: '#EF6666' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				data: weatherWarning.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	mychart.setOption(option) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	window.addEventListener("resize", function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		mychart.resize(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let mychart = echarts.init(element.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let option = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    tooltip: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      trigger: 'axis', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      axisPointer: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: 'shadow' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    grid: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      top: '3%', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      left: '3%', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      right: '4%', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bottom: '0%', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      containLabel: true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    xAxis: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: 'category', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          '能见度', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          '风速', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          '大气电场', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          '云量', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          '云高', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          '温度', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          '湿度', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          '小时雨量' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    yAxis: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: 'value' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    series: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name: '正常', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        barWidth: '50%', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: 'bar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        stack: 'Ad', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        emphasis: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          focus: 'series' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          color: '#5470C6' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: weatherNormal.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name: '告警', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        barWidth: '50%', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: 'bar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        stack: 'Ad', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        emphasis: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          focus: 'series' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          color: '#EF6666' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: weatherWarning.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  mychart.setOption(option) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  window.addEventListener("resize", function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    mychart.resize(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 const showControl = () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	let mychart = echarts.init(control.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	let option = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		tooltip: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			trigger: 'axis', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			axisPointer: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				type: 'shadow' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		legend: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			textStyle: {//图例文字的样式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				color: isDark.value ? '#fff' : "#000", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		grid: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			left: '15', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			right: '15', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			bottom: '3%', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			containLabel: true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		xAxis: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				type: 'category', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				data: arriveTime.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		yAxis: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				type: 'value' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		series: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				name: '应报情况', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				type: 'bar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				stack: 'Ad', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				emphasis: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					focus: 'series' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					color: '#3BA272' // 蓝色 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				data: arriveList.value.aa.length ? arriveList.value.aa : [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				name: '实报情况', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				type: 'bar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				stack: 'Ad', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				emphasis: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					focus: 'series' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					color: '#5470C6' // 绿色 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				data: arriveList.value.bb.length ? arriveList.value.bb : [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				name: '未报情况', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				type: 'bar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				stack: 'Ad', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				emphasis: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					focus: 'series' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					color: '#EF6666' // 红色 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				data: arriveList.value.cc.length ? arriveList.value.cc : [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	mychart.setOption(option) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	window.addEventListener("resize", function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		mychart.resize(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let mychart = echarts.init(control.value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  let option = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    tooltip: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      trigger: 'axis', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      axisPointer: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: 'shadow' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    legend: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      textStyle: {//图例文字的样式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        color: isDark.value ? '#fff' : "#000", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    grid: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      left: '15', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      right: '15', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      bottom: '3%', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      containLabel: true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    xAxis: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: 'category', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: arriveTime.value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    yAxis: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: 'value' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    series: [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name: '应报情况', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: 'bar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        stack: 'Ad', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        emphasis: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          focus: 'series' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          color: '#3BA272' // 蓝色 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: arriveList.value.aa.length ? arriveList.value.aa : [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name: '实报情况', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: 'bar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        stack: 'Ad', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        emphasis: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          focus: 'series' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          color: '#5470C6' // 绿色 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: arriveList.value.bb.length ? arriveList.value.bb : [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name: '未报情况', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        type: 'bar', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        stack: 'Ad', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        emphasis: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          focus: 'series' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        itemStyle: { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          color: '#EF6666' // 红色 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        data: arriveList.value.cc.length ? arriveList.value.cc : [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  mychart.setOption(option) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  window.addEventListener("resize", function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    mychart.resize(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 watch(isDark, () => { showDevice(), showPeriod(), showWeather(), showElement(), showControl() }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 onMounted(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// getFTP() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// getCertificate() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	getPlatforms() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// showDevice() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// showPeriod() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// showWeather() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// showElement() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	// showControl() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // getFTP() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // getCertificate() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  getPlatforms() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // showDevice() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // showPeriod() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // showWeather() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // showElement() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  // showControl() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 let intervalId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 onActivated(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	intervalId = setInterval(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		// getList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		weatherInfo() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		getCertificate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		getFTP(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		getDeviceStatus(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		getArrive(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}, 60 * 1000); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  intervalId = setInterval(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // getList(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    weatherInfo() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getCertificate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getFTP(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getDeviceStatus(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    getArrive(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  }, 60 * 1000); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 onDeactivated(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	clearInterval(intervalId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  clearInterval(intervalId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 </script> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 <style scoped lang="scss"> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .el-row .el-col { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	margin-bottom: 15px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  margin-bottom: 15px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 .main_list { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	background: transparent !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	box-shadow: none !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	padding: 0 !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	height: calc(100vh - 150px); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	margin-bottom: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	overflow-y: scroll; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	overflow-x: hidden; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	.chart_item { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		border-radius: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		padding: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		background-color: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		// height: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		// margin-bottom: 15px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		.item_title { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			justify-content: space-between; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		.FTP_box { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			padding: 0 50px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			justify-content: space-between; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			.FTP_item { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				flex: 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				flex-shrink: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				flex-direction: column; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				justify-content: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				img { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					width: 56px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-					margin-bottom: 20px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	.info_box { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		.info_title { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			color: #999999; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			font-size: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		.info_content { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			height: 40px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			font-weight: bold; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			color: #000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			font-size: 26px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  background: transparent !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  box-shadow: none !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  padding: 0 !important; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  height: calc(100vh - 150px); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  margin-bottom: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  overflow-y: scroll; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  overflow-x: hidden; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .chart_item { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    border-radius: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    padding: 10px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    background-color: #fff; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // height: 100%; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    // margin-bottom: 15px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .item_title { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      justify-content: space-between; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .FTP_box { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      padding: 0 50px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      justify-content: space-between; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      .FTP_item { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flex: 1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flex-shrink: 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        display: flex; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flex-direction: column; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        justify-content: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        align-items: center; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        img { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          width: 56px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          margin-bottom: 20px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  .info_box { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .info_title { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      color: #999999; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      font-size: 16px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    .info_content { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      height: 40px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      font-weight: bold; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      color: #000; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      font-size: 26px; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-</style> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+</style> 
			 |