|  | @@ -0,0 +1,269 @@
 | 
	
		
			
				|  |  | +<template>
 | 
	
		
			
				|  |  | +  <div class="company-home">
 | 
	
		
			
				|  |  | +    <customHeader>{{ mainTitle }}</customHeader>
 | 
	
		
			
				|  |  | +    <div class="company-content">
 | 
	
		
			
				|  |  | +      <div class="content-item item-1">
 | 
	
		
			
				|  |  | +        <infoBox class="infoBox1">
 | 
	
		
			
				|  |  | +          <template #title> 系统数据量 </template>
 | 
	
		
			
				|  |  | +          <template #container>
 | 
	
		
			
				|  |  | +            <div class="content-wrapper wrapper-1 grid">
 | 
	
		
			
				|  |  | +              <div class="data-item">
 | 
	
		
			
				|  |  | +                <div class="item-icon icon1"></div>
 | 
	
		
			
				|  |  | +                <div>
 | 
	
		
			
				|  |  | +                  <div class="label">接入系统数量</div>
 | 
	
		
			
				|  |  | +                  <div class="value">262 </div>
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +              <div class="data-item">
 | 
	
		
			
				|  |  | +                <div class="item-icon icon2"></div>
 | 
	
		
			
				|  |  | +                <div>
 | 
	
		
			
				|  |  | +                  <div class="label">接入点位数量</div>
 | 
	
		
			
				|  |  | +                  <div class="value status-normal">14521</div>
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +              <div class="data-item">
 | 
	
		
			
				|  |  | +                <div class="item-icon icon3"></div>
 | 
	
		
			
				|  |  | +                <div>
 | 
	
		
			
				|  |  | +                  <div class="label">数据存储量</div>
 | 
	
		
			
				|  |  | +                  <div class="value status-normal">14521</div>
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +              <div class="data-item">
 | 
	
		
			
				|  |  | +                <div class="item-icon icon4"></div>
 | 
	
		
			
				|  |  | +                <div>
 | 
	
		
			
				|  |  | +                  <div class="label">消息总数量(条)</div>
 | 
	
		
			
				|  |  | +                  <div class="value status-normal">14521</div>
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +              <div class="data-item">
 | 
	
		
			
				|  |  | +                <div class="item-icon icon5"></div>
 | 
	
		
			
				|  |  | +                <div>
 | 
	
		
			
				|  |  | +                  <div class="label">共享接口数量</div>
 | 
	
		
			
				|  |  | +                  <div class="value status-normal">14521</div>
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +          </template>
 | 
	
		
			
				|  |  | +        </infoBox>
 | 
	
		
			
				|  |  | +      </div>
 | 
	
		
			
				|  |  | +      <div class="content-item item-2 grid">
 | 
	
		
			
				|  |  | +        <infoBox class="infoBox2">
 | 
	
		
			
				|  |  | +          <template #title> 每日采集数据量 </template>
 | 
	
		
			
				|  |  | +          <template #container>
 | 
	
		
			
				|  |  | +            <div class="content-wrapper">
 | 
	
		
			
				|  |  | +              <CustomChart :chart-config="dailyNumOption" :chart-data="dailyNumData" height="250px" />
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +          </template>
 | 
	
		
			
				|  |  | +        </infoBox>
 | 
	
		
			
				|  |  | +        <infoBox class="infoBox3">
 | 
	
		
			
				|  |  | +          <template #title> 系统数据量排名 </template>
 | 
	
		
			
				|  |  | +          <template #container>
 | 
	
		
			
				|  |  | +            <div class="content-wrapper">
 | 
	
		
			
				|  |  | +              <a-table size="small" :dataSource="sysData" :columns="sysDataColumn" :pagination="false" />
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +          </template>
 | 
	
		
			
				|  |  | +        </infoBox>
 | 
	
		
			
				|  |  | +      </div>
 | 
	
		
			
				|  |  | +      <div class="content-item item-3">
 | 
	
		
			
				|  |  | +        <infoBox class="infoBox4">
 | 
	
		
			
				|  |  | +          <template #title> 系统接入情况 </template>
 | 
	
		
			
				|  |  | +          <template #container>
 | 
	
		
			
				|  |  | +            <div class="content-wrapper">
 | 
	
		
			
				|  |  | +              <a-table size="small" :dataSource="accessStatusData" :columns="accessStatusColumn" :pagination="false">
 | 
	
		
			
				|  |  | +                <template #action="{ record }">
 | 
	
		
			
				|  |  | +                  <div class="option-cont">
 | 
	
		
			
				|  |  | +                    <div class="view-icon"></div>
 | 
	
		
			
				|  |  | +                    <a class="table-action-link" @click="viewData(record)">查看数据</a>
 | 
	
		
			
				|  |  | +                  </div>
 | 
	
		
			
				|  |  | +                </template>
 | 
	
		
			
				|  |  | +              </a-table>
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +          </template>
 | 
	
		
			
				|  |  | +        </infoBox>
 | 
	
		
			
				|  |  | +      </div>
 | 
	
		
			
				|  |  | +    </div>
 | 
	
		
			
				|  |  | +  </div>
 | 
	
		
			
				|  |  | +</template>
 | 
	
		
			
				|  |  | +<script lang="ts" setup>
 | 
	
		
			
				|  |  | +  import { ref } from 'vue';
 | 
	
		
			
				|  |  | +  import customHeader from '/@/components/vent/customHeader.vue';
 | 
	
		
			
				|  |  | +  import infoBox from './components/infoBox.vue';
 | 
	
		
			
				|  |  | +  import { sysDataColumn, sysData, accessStatusColumn, accessStatusData, dailyNumOption, dailyNumData } from './infoCenter.data';
 | 
	
		
			
				|  |  | +  import CustomChart from '@/views/vent/home/configurable/components/detail/CustomChart.vue';
 | 
	
		
			
				|  |  | +  let mainTitle = ref('智能通风数据中心');
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  function viewData(record) {
 | 
	
		
			
				|  |  | +    console.log(record);
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +</script>
 | 
	
		
			
				|  |  | +<style lang="less" scoped>
 | 
	
		
			
				|  |  | +  @font-face {
 | 
	
		
			
				|  |  | +    font-family: 'douyuFont';
 | 
	
		
			
				|  |  | +    src: url('@/assets/font/douyuFont.otf');
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  .company-home {
 | 
	
		
			
				|  |  | +    width: 100%;
 | 
	
		
			
				|  |  | +    height: 100%;
 | 
	
		
			
				|  |  | +    position: relative;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    :deep(.vent-home-header) {
 | 
	
		
			
				|  |  | +      height: 50px;
 | 
	
		
			
				|  |  | +      background: url('@/assets/images/vent/home/modal-top.png') no-repeat center;
 | 
	
		
			
				|  |  | +      background-size: 100% 100%;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    .company-content {
 | 
	
		
			
				|  |  | +      position: absolute;
 | 
	
		
			
				|  |  | +      left: 0;
 | 
	
		
			
				|  |  | +      width: 100%;
 | 
	
		
			
				|  |  | +      height: calc(100% - 50px);
 | 
	
		
			
				|  |  | +      padding: 10px 20px;
 | 
	
		
			
				|  |  | +      --image-border1: url('/@/assets/images/dataCenter/infoCenter/info-border1.png');
 | 
	
		
			
				|  |  | +      --image-border2: url('/@/assets/images/dataCenter/infoCenter/info-border2.png');
 | 
	
		
			
				|  |  | +      --image-border3: url('/@/assets/images/dataCenter/infoCenter/info-border3.png');
 | 
	
		
			
				|  |  | +      --image-border4: url('/@/assets/images/dataCenter/infoCenter/info-border4.png');
 | 
	
		
			
				|  |  | +      --image-split-line: url('/@/assets/images/dataCenter/infoCenter/split-line.png');
 | 
	
		
			
				|  |  | +      --image-rank: url('/@/assets/images/dataCenter/infoCenter/rank-bg.png');
 | 
	
		
			
				|  |  | +      .content-item {
 | 
	
		
			
				|  |  | +        width: 100%;
 | 
	
		
			
				|  |  | +        overflow: hidden;
 | 
	
		
			
				|  |  | +        padding-bottom: 20px;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      .item-1 {
 | 
	
		
			
				|  |  | +        height: 20%;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      .item-2 {
 | 
	
		
			
				|  |  | +        height: 40%;
 | 
	
		
			
				|  |  | +        grid-template-columns: 6fr 4fr;
 | 
	
		
			
				|  |  | +        gap: 20px;
 | 
	
		
			
				|  |  | +        :deep(table) {
 | 
	
		
			
				|  |  | +          border-collapse: separate !important;
 | 
	
		
			
				|  |  | +          border-spacing: 0 10px !important;
 | 
	
		
			
				|  |  | +          .zxm-table-thead {
 | 
	
		
			
				|  |  | +            height: 35px;
 | 
	
		
			
				|  |  | +            background-color: unset !important;
 | 
	
		
			
				|  |  | +            .zxm-table-cell {
 | 
	
		
			
				|  |  | +              color: #66ffff !important;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          .zxm-table-tbody {
 | 
	
		
			
				|  |  | +            background-color: unset !important;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          .zxm-table-cell {
 | 
	
		
			
				|  |  | +            border: none !important;
 | 
	
		
			
				|  |  | +            background: none !important;
 | 
	
		
			
				|  |  | +            padding: 0px;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          tr {
 | 
	
		
			
				|  |  | +            background: var(--image-rank) no-repeat !important;
 | 
	
		
			
				|  |  | +            background-size: 100% 100% !important;
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      .item-3 {
 | 
	
		
			
				|  |  | +        height: 40%;
 | 
	
		
			
				|  |  | +        :deep(table) {
 | 
	
		
			
				|  |  | +          border-collapse: collapse !important;
 | 
	
		
			
				|  |  | +          // border-spacing: 0 10px !important;
 | 
	
		
			
				|  |  | +          .zxm-table-thead {
 | 
	
		
			
				|  |  | +            height: 35px;
 | 
	
		
			
				|  |  | +            background-color: #0b2542 !important;
 | 
	
		
			
				|  |  | +            border: 1px solid #1f7eb5;
 | 
	
		
			
				|  |  | +            .zxm-table-cell {
 | 
	
		
			
				|  |  | +              border: none !important;
 | 
	
		
			
				|  |  | +              color: #37e0eb !important;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          .zxm-table-tbody {
 | 
	
		
			
				|  |  | +            .zxm-table-row:nth-child(odd) {
 | 
	
		
			
				|  |  | +              background-color: #0e3455;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +            /* 偶数行背景色 */
 | 
	
		
			
				|  |  | +            .zxm-table-row:nth-child(even) {
 | 
	
		
			
				|  |  | +              background-color: #114268 !important;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            .zxm-table-cell {
 | 
	
		
			
				|  |  | +              border: none !important;
 | 
	
		
			
				|  |  | +              background: none !important;
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      .infoBox1 {
 | 
	
		
			
				|  |  | +        background-color: var(--image-border1) no-repeat;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      .infoBox2 {
 | 
	
		
			
				|  |  | +        background-color: var(--image-border2) no-repeat;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      .infoBox3 {
 | 
	
		
			
				|  |  | +        background-color: var(--image-border3) no-repeat;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      .infoBox4 {
 | 
	
		
			
				|  |  | +        background-color: var(--image-border4) no-repeat;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    .wrapper-1 {
 | 
	
		
			
				|  |  | +      grid-template-columns: repeat(5, 1fr);
 | 
	
		
			
				|  |  | +      .data-item {
 | 
	
		
			
				|  |  | +        display: flex;
 | 
	
		
			
				|  |  | +        align-items: center;
 | 
	
		
			
				|  |  | +        justify-content: center;
 | 
	
		
			
				|  |  | +        position: relative;
 | 
	
		
			
				|  |  | +        &::after {
 | 
	
		
			
				|  |  | +          position: absolute;
 | 
	
		
			
				|  |  | +          right: 1px;
 | 
	
		
			
				|  |  | +          top: 5px;
 | 
	
		
			
				|  |  | +          display: block;
 | 
	
		
			
				|  |  | +          width: 2px;
 | 
	
		
			
				|  |  | +          height: 100%;
 | 
	
		
			
				|  |  | +          background: var(--image-split-line);
 | 
	
		
			
				|  |  | +          content: '';
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        &:last-child::after {
 | 
	
		
			
				|  |  | +          display: none;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        .value {
 | 
	
		
			
				|  |  | +          font-family: 'douyuFont';
 | 
	
		
			
				|  |  | +          color: #66ffff;
 | 
	
		
			
				|  |  | +          margin-top: 20px;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        .item-icon {
 | 
	
		
			
				|  |  | +          width: 80px;
 | 
	
		
			
				|  |  | +          height: 80px;
 | 
	
		
			
				|  |  | +          background-size: 100% 100%;
 | 
	
		
			
				|  |  | +          margin-right: 15px;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        .icon1 {
 | 
	
		
			
				|  |  | +          background-image: url('/@/assets/images/dataCenter/infoCenter/icon1.png');
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        .icon2 {
 | 
	
		
			
				|  |  | +          background-image: url('/@/assets/images/dataCenter/infoCenter/icon2.png');
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        .icon3 {
 | 
	
		
			
				|  |  | +          background-image: url('/@/assets/images/dataCenter/infoCenter/icon3.png');
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        .icon4 {
 | 
	
		
			
				|  |  | +          background-image: url('/@/assets/images/dataCenter/infoCenter/icon4.png');
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        .icon5 {
 | 
	
		
			
				|  |  | +          background-image: url('/@/assets/images/dataCenter/infoCenter/icon5.png');
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    .option-cont {
 | 
	
		
			
				|  |  | +      display: flex;
 | 
	
		
			
				|  |  | +      justify-content: center;
 | 
	
		
			
				|  |  | +      align-items: center;
 | 
	
		
			
				|  |  | +      .view-icon {
 | 
	
		
			
				|  |  | +        width: 20px;
 | 
	
		
			
				|  |  | +        height: 20px;
 | 
	
		
			
				|  |  | +        background-image: url('/@/assets/images/dataCenter/infoCenter/view-icon.png');
 | 
	
		
			
				|  |  | +        background-repeat: no-repeat;
 | 
	
		
			
				|  |  | +        background-size: contain;
 | 
	
		
			
				|  |  | +        background-position: center;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +</style>
 |