<template> 
 | 
  <div class="main_home"> 
 | 
    <div class="home_header"> 
 | 
      <div class="mb10 fs17">下午好,{{ userInfo.realname }}</div> 
 | 
      <div class="fs13"> 
 | 
        今天是 {{ nowDate }} {{ nowWeek }},欢迎回到智慧物流园区安消一体化系统 
 | 
      </div> 
 | 
    </div> 
 | 
    <div class="main"> 
 | 
      <div class="app_content"> 
 | 
        <div class="static_card"> 
 | 
          <div class="card"> 
 | 
            <div class="header"> 
 | 
              <div class="left"> 
 | 
                <div class="fs15">今日在园人数(人)</div> 
 | 
                <div class="num">300</div> 
 | 
              </div> 
 | 
              <img src="@/assets/icons/home_icon1.png" alt="" /> 
 | 
            </div> 
 | 
            <div class="content"> 
 | 
              <div>入园人次(人):600</div> 
 | 
              <div>出园人次(人):300</div> 
 | 
            </div> 
 | 
          </div> 
 | 
          <div class="card"> 
 | 
            <div class="header"> 
 | 
              <div class="left"> 
 | 
                <div class="fs15">在园访客数(人)</div> 
 | 
                <div class="num">300</div> 
 | 
              </div> 
 | 
              <img src="@/assets/icons/home_icon2.png" alt="" /> 
 | 
            </div> 
 | 
            <div class="content"> 
 | 
              <div>访客人次(人):200</div> 
 | 
              <div>签离人次(人):300</div> 
 | 
            </div> 
 | 
          </div> 
 | 
          <div class="card"> 
 | 
            <div class="header"> 
 | 
              <div class="left"> 
 | 
                <div class="fs15">在园长期相关方数(人)</div> 
 | 
                <div class="num">300</div> 
 | 
              </div> 
 | 
              <img src="@/assets/icons/home_icon3.png" alt="" /> 
 | 
            </div> 
 | 
            <div class="content"> 
 | 
              <div>入园人次(人):600</div> 
 | 
              <div>出园人次(人):300</div> 
 | 
            </div> 
 | 
          </div> 
 | 
          <div class="card"> 
 | 
            <div class="header"> 
 | 
              <div class="left"> 
 | 
                <div class="fs15">在园长期相关方数(人)</div> 
 | 
                <div class="num">300</div> 
 | 
              </div> 
 | 
              <img src="@/assets/icons/home_icon4.png" alt="" /> 
 | 
            </div> 
 | 
            <div class="content"> 
 | 
              <div>入园车次(辆):600</div> 
 | 
              <div>出园车次(辆):300</div> 
 | 
            </div> 
 | 
          </div> 
 | 
        </div> 
 | 
        <div class="funcs"> 
 | 
          <div class="home_title">常用功能</div> 
 | 
          <div class="list"> 
 | 
            <div v-for="item in funcList" @click="funcClick(item)" :key="item.name" class="item"> 
 | 
              <img class="mb10" :src="item.url" alt="" /> 
 | 
              <div>{{ item.name }}</div> 
 | 
            </div> 
 | 
          </div> 
 | 
        </div> 
 | 
        <div class="static_wrap"> 
 | 
          <div class="df mb10"> 
 | 
            <div class="wrap static1"> 
 | 
              <div class="header"> 
 | 
                <div class="home_title">在场人员占比</div> 
 | 
                <div class="df_ac more"> 
 | 
                  更多<i class="el-icon-arrow-right"></i> 
 | 
                </div> 
 | 
              </div> 
 | 
              <div class="content"> 
 | 
                <div class="echart_wrap"> 
 | 
                  <div class="pie_text"> 
 | 
                    <div class="fs13">总数</div> 
 | 
                    <div class="fs15"><strong>300</strong></div> 
 | 
                  </div> 
 | 
                  <div class="echart" id="echart1"></div> 
 | 
                </div> 
 | 
                <div class="list"> 
 | 
                  <div class="item"> 
 | 
                    <div class="icon"></div> 
 | 
                    <div class="text">访客</div> 
 | 
                    <div class="num">100</div> 
 | 
                  </div> 
 | 
                  <div class="item"> 
 | 
                    <div :style="{ background: colors[0] }" class="icon"></div> 
 | 
                    <div class="text">访客</div> 
 | 
                    <div class="num">100</div> 
 | 
                  </div> 
 | 
                  <div class="item"> 
 | 
                    <div :style="{ background: colors[1] }" class="icon"></div> 
 | 
                    <div class="text">访客</div> 
 | 
                    <div class="num">100</div> 
 | 
                  </div> 
 | 
                </div> 
 | 
              </div> 
 | 
            </div> 
 | 
            <div class="wrap static2"> 
 | 
              <div class="header"> 
 | 
                <div class="home_title">长期相关方分布</div> 
 | 
                <div class="df_ac more"> 
 | 
                  更多<i class="el-icon-arrow-right"></i> 
 | 
                </div> 
 | 
              </div> 
 | 
              <div class="echart" id="echart2"></div> 
 | 
            </div> 
 | 
          </div> 
 | 
          <div class="df"> 
 | 
            <div class="wrap static3"> 
 | 
              <div class="header"> 
 | 
                <div class="home_title">7日访客统计</div> 
 | 
                <div class="df_ac more"> 
 | 
                  更多<i class="el-icon-arrow-right"></i> 
 | 
                </div> 
 | 
              </div> 
 | 
              <div class="echart" id="echart3"></div> 
 | 
            </div> 
 | 
            <div class="wrap static4"> 
 | 
              <div class="header"> 
 | 
                <div class="home_title">7日车辆统计</div> 
 | 
                <div class="df_ac more"> 
 | 
                  更多<i class="el-icon-arrow-right"></i> 
 | 
                </div> 
 | 
              </div> 
 | 
              <div class="echart" id="echart4"></div> 
 | 
            </div> 
 | 
          </div> 
 | 
        </div> 
 | 
      </div> 
 | 
      <div class="app_side"> 
 | 
        <div class="task"> 
 | 
          <div class="header df_sb"> 
 | 
            <div class="home_title df"> 
 | 
              <span>待办事项</span> 
 | 
              <span class="num">10</span> 
 | 
            </div> 
 | 
            <div class="df_ac more"> 
 | 
              更多<i class="el-icon-arrow-right"></i> 
 | 
            </div> 
 | 
          </div> 
 | 
          <div class="list"> 
 | 
            <div class="item"> 
 | 
              <div class="content"> 
 | 
                <div class="title">点点滴滴</div> 
 | 
                <div class="time">time</div> 
 | 
              </div> 
 | 
              <div class="btn">处理</div> 
 | 
            </div> 
 | 
            <div class="item"> 
 | 
              <div class="content"> 
 | 
                <div class="title">点点滴滴</div> 
 | 
                <div class="time">time</div> 
 | 
              </div> 
 | 
              <div class="btn">处理</div> 
 | 
            </div> 
 | 
          </div> 
 | 
        </div> 
 | 
        <div class="warnning"> 
 | 
          <div class="header df_sb"> 
 | 
            <div class="home_title df"> 
 | 
              <span>超时预警</span> 
 | 
              <span class="num">10</span> 
 | 
            </div> 
 | 
            <div class="df_ac more"> 
 | 
              更多<i class="el-icon-arrow-right"></i> 
 | 
            </div> 
 | 
          </div> 
 | 
          <div class="list"> 
 | 
            <div class="item"> 
 | 
              <div class="name_wrap df_sb"> 
 | 
                <div class="name">袁隆平</div> 
 | 
                <div class="identity">普通访客</div> 
 | 
              </div> 
 | 
              <div class="line">联系电话:1888</div> 
 | 
              <div class="line">访客公司:安徽豆米</div> 
 | 
              <div class="auth df_sb"> 
 | 
                <div class="time">授权期限:</div> 
 | 
                <div class="btn">离场</div> 
 | 
              </div> 
 | 
            </div> 
 | 
            <div class="item"> 
 | 
              <div class="name_wrap df_sb"> 
 | 
                <div class="name">袁隆平</div> 
 | 
                <div class="identity">普通访客</div> 
 | 
              </div> 
 | 
              <div class="line">联系电话:1888</div> 
 | 
              <div class="line">访客公司:安徽豆米</div> 
 | 
              <div class="auth df_sb"> 
 | 
                <div class="time">授权期限:</div> 
 | 
                <div class="btn">离场</div> 
 | 
              </div> 
 | 
            </div> 
 | 
            <div class="item"> 
 | 
              <div class="name_wrap df_sb"> 
 | 
                <div class="name">袁隆平</div> 
 | 
                <div class="identity">普通访客</div> 
 | 
              </div> 
 | 
              <div class="line">联系电话:1888</div> 
 | 
              <div class="line">访客公司:安徽豆米</div> 
 | 
              <div class="auth df_sb"> 
 | 
                <div class="time">授权期限:</div> 
 | 
                <div class="btn">离场</div> 
 | 
              </div> 
 | 
            </div> 
 | 
          </div> 
 | 
        </div> 
 | 
      </div> 
 | 
    </div> 
 | 
  </div> 
 | 
</template> 
 | 
  
 | 
<script> 
 | 
import dayjs from 'dayjs' 
 | 
import * as echarts from 'echarts' 
 | 
import { weeks } from '@/utils/config' 
 | 
import { 
 | 
  getWorkbenchBody, 
 | 
  getWorkbenchHead, 
 | 
  getAppHeaderNav 
 | 
} from '@/api' 
 | 
const colors = ['#52a4f7', '#7678f7', '#5fc6d5'] 
 | 
export default { 
 | 
  data() { 
 | 
    return { 
 | 
      colors, 
 | 
      nowDate: '', 
 | 
      nowWeek: '', 
 | 
      funcList: [ 
 | 
        { name: '访客报备', path: '', url: require('@/assets/icons/home_func1.png'), path: '/business/reportRecord' }, 
 | 
        { name: '隐患随手拍', path: '', url: require('@/assets/icons/home_func2.png'), path: '/operation/danger/record' }, 
 | 
        { name: '预约会议室', path: '', url: require('@/assets/icons/home_func3.png'), path: '/meeting/bookings' }, 
 | 
        { name: '考勤工作台', path: '', url: require('@/assets/icons/home_func4.png') } 
 | 
      ] 
 | 
    } 
 | 
  }, 
 | 
  computed: { 
 | 
    userInfo() { 
 | 
      return this.$store.state.userInfo 
 | 
    } 
 | 
  }, 
 | 
  created() { 
 | 
    this.updateDate() 
 | 
    setInterval(() => { 
 | 
      this.updateDate() 
 | 
    }, 1000 * 60 * 60) 
 | 
  }, 
 | 
  mounted() { 
 | 
    this.initData() 
 | 
  }, 
 | 
  methods: { 
 | 
    funcClick(item) { 
 | 
      if (item.name == '考勤工作台') { 
 | 
        getAppHeaderNav(4).then(res => { 
 | 
          window.open(res, "_blank") 
 | 
          return 
 | 
        }) 
 | 
      } 
 | 
      this.$router.push(item.path) 
 | 
    }, 
 | 
    updateDate() { 
 | 
      this.nowDate = dayjs().format('YYYY年M月D日') 
 | 
      this.nowWeek = weeks[new Date().getDay()] 
 | 
    }, 
 | 
    initData() { 
 | 
      this.getWorkBody() //主体数据 
 | 
      this.getWorkHead() //主体数据 
 | 
  
 | 
      this.initEchart1() 
 | 
      this.initEchart2() 
 | 
      this.initEchart3() 
 | 
      this.initEchart4() 
 | 
    }, 
 | 
    getWorkBody() { 
 | 
      getWorkbenchBody() 
 | 
    }, 
 | 
    getWorkHead() { 
 | 
      getWorkbenchHead() 
 | 
    }, 
 | 
    initEchart1() { 
 | 
      const myChart = echarts.init(document.getElementById('echart1')) 
 | 
      const option = { 
 | 
        series: [ 
 | 
          { 
 | 
            type: 'pie', 
 | 
            radius: ['42%', '90%'], 
 | 
            label: { 
 | 
              show: false, 
 | 
              position: 'center' 
 | 
            }, 
 | 
            color: colors, 
 | 
            labelLine: { 
 | 
              show: false 
 | 
            }, 
 | 
            data: [ 
 | 
              { value: 1048, name: 'Search Engine' }, 
 | 
              { value: 735, name: 'Direct' }, 
 | 
              { value: 580, name: 'Email' } 
 | 
            ] 
 | 
          } 
 | 
        ] 
 | 
      } 
 | 
      myChart.setOption(option) 
 | 
      window.addEventListener('resize', function () { // 执行 
 | 
        myChart.resize() 
 | 
      }) 
 | 
    }, 
 | 
    initEchart2() { 
 | 
      const myChart = echarts.init(document.getElementById('echart2')) 
 | 
      myChart.setOption({ 
 | 
        grid: { 
 | 
          top: '4%', 
 | 
          left: '2%', 
 | 
          right: '6%', 
 | 
          bottom: '2%', 
 | 
          containLabel: true 
 | 
        }, 
 | 
        tooltip: { 
 | 
          trigger: 'axis', 
 | 
          axisPointer: { 
 | 
            type: 'line' 
 | 
          } 
 | 
        }, 
 | 
        xAxis: { 
 | 
          type: 'value', 
 | 
          position: 'bottom', 
 | 
          splitLine: { 
 | 
            show: true, 
 | 
            lineStyle: { 
 | 
              // 这里输入线条的样式 
 | 
              color: 'rgba(255,255,255,0.14)' 
 | 
            } 
 | 
          } 
 | 
        }, 
 | 
        yAxis: { 
 | 
          type: 'category', 
 | 
          data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] 
 | 
        }, 
 | 
        series: [ 
 | 
          { 
 | 
            data: [120, 200, 150, 80, 70, 110, 130], 
 | 
            type: 'bar', 
 | 
            barWidth: 10, 
 | 
            itemStyle: { 
 | 
              normal: { 
 | 
                color: new echarts.graphic.LinearGradient( 
 | 
                  1, 0, 0, 0, 
 | 
                  [ 
 | 
                    { offset: 0, color: '#56abf8' }, 
 | 
                    { offset: 1, color: '#407ff0' } 
 | 
                  ] 
 | 
                ), 
 | 
                barBorderRadius: [0, 10, 10, 0] 
 | 
              } 
 | 
            } 
 | 
          } 
 | 
        ] 
 | 
      }) 
 | 
      window.addEventListener('resize', function () { // 执行 
 | 
        myChart.resize() 
 | 
      }) 
 | 
    }, 
 | 
    initEchart3() { 
 | 
      const myChart = echarts.init(document.getElementById('echart3')) 
 | 
      myChart.setOption({ 
 | 
        tooltip: { 
 | 
          trigger: 'axis', 
 | 
          axisPointer: { 
 | 
            type: 'line' 
 | 
          }, 
 | 
          formatter: function (params) { 
 | 
            return ` 
 | 
          <div style="background-color: #15323f;margin: -12px;padding: 14px;border: 2px solid rgba(1,217,254,0.5);color: #fff;"> 
 | 
            <div>${params[0].name}日客流</div> 
 | 
            <div style="display: flex;align-items: center;"> 
 | 
              <div style="width: 10px;height: 10px;border-radius: 50%;background-color: #6feef0;"></div> 
 | 
              <span style="margin-left: 6px;">${params[0].value}</span> 
 | 
              <div>人</div> 
 | 
            </div> 
 | 
          </div> 
 | 
        ` 
 | 
          } 
 | 
        }, 
 | 
        xAxis: { 
 | 
          type: 'category', 
 | 
          boundaryGap: false, 
 | 
          data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] 
 | 
        }, 
 | 
        yAxis: { 
 | 
          type: 'value', 
 | 
          name: '人数', 
 | 
          nameTextStyle: { 
 | 
            padding: [0, 0, 4, -30] // 四个数字分别为上右下左与原位置距离 
 | 
          }, 
 | 
          splitLine: { 
 | 
            show: true, 
 | 
            lineStyle: { 
 | 
              // 这里输入线条的样式 
 | 
              color: 'rgba(255,255,255,0.14)' 
 | 
            } 
 | 
          } 
 | 
        }, 
 | 
        grid: { 
 | 
          top: '16%', 
 | 
          left: '2%', 
 | 
          right: '2%', 
 | 
          bottom: '4%', 
 | 
          containLabel: true 
 | 
        }, 
 | 
        series: [ 
 | 
          { 
 | 
            data: [150, 230, 224, 218, 135, 147, 260], 
 | 
            type: 'line', 
 | 
            areaStyle: { 
 | 
              normal: { 
 | 
                color: { 
 | 
                  x: 0, 
 | 
                  y: 0, 
 | 
                  x2: 0, 
 | 
                  y2: 1, 
 | 
                  colorStops: [{ 
 | 
                    offset: 0, 
 | 
                    color: '#207FF7' // 0% 处的颜色 
 | 
                  }, { 
 | 
                    offset: 1, 
 | 
                    color: 'rgba(255,255,255,.2)' // 100% 处的颜色 
 | 
                  }], 
 | 
                  globalCoord: false // 缺省为 false 
 | 
                } 
 | 
              } 
 | 
            }, 
 | 
            lineStyle: { // 线条样式 
 | 
              color: { 
 | 
                type: 'linear', 
 | 
                x: 0, 
 | 
                y: 0, 
 | 
                x2: 0, 
 | 
                y2: 1, 
 | 
                colorStops: [{ 
 | 
                  offset: 0, color: '#207FF7' // 0% 处的颜色 
 | 
                }, { 
 | 
                  offset: 1, color: '#207FF7' // 100% 处的颜色 
 | 
                }] 
 | 
              }, 
 | 
              width: 2 // 线条粗细 
 | 
            }, 
 | 
            symbol: 'circle', 
 | 
            symbolSize: 10, 
 | 
            itemStyle: { 
 | 
              normal: { 
 | 
                color: '#207FF7' // 折线点的颜色 
 | 
              } 
 | 
            }, 
 | 
            smooth: false 
 | 
          } 
 | 
        ] 
 | 
      }) 
 | 
      window.addEventListener('resize', function () { // 执行 
 | 
        myChart.resize() 
 | 
      }) 
 | 
    }, 
 | 
    initEchart4() { 
 | 
      const myChart = echarts.init(document.getElementById('echart4')) 
 | 
      myChart.setOption({ 
 | 
        tooltip: { 
 | 
          trigger: 'axis', 
 | 
          axisPointer: { 
 | 
            type: 'line' 
 | 
          }, 
 | 
          formatter: function (params) { 
 | 
            return ` 
 | 
          <div style="background-color: #15323f;margin: -12px;padding: 14px;border: 2px solid rgba(1,217,254,0.5);color: #fff;"> 
 | 
            <div>${params[0].name}日客流</div> 
 | 
            <div style="display: flex;align-items: center;"> 
 | 
              <div style="width: 10px;height: 10px;border-radius: 50%;background-color: #6feef0;"></div> 
 | 
              <span style="margin-left: 6px;">${params[0].value}</span> 
 | 
              <div>人</div> 
 | 
            </div> 
 | 
          </div> 
 | 
        ` 
 | 
          } 
 | 
        }, 
 | 
        xAxis: { 
 | 
          type: 'category', 
 | 
          boundaryGap: false, 
 | 
          data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'] 
 | 
        }, 
 | 
        yAxis: { 
 | 
          type: 'value', 
 | 
          name: '车辆数', 
 | 
          nameTextStyle: { 
 | 
            padding: [0, 0, 4, -30] // 四个数字分别为上右下左与原位置距离 
 | 
          }, 
 | 
          splitLine: { 
 | 
            show: true, 
 | 
            lineStyle: { 
 | 
              // 这里输入线条的样式 
 | 
              color: 'rgba(255,255,255,0.14)' 
 | 
            } 
 | 
          } 
 | 
        }, 
 | 
        grid: { 
 | 
          top: '16%', 
 | 
          left: '2%', 
 | 
          right: '2%', 
 | 
          bottom: '4%', 
 | 
          containLabel: true 
 | 
        }, 
 | 
        series: [ 
 | 
          { 
 | 
            data: [150, 230, 224, 218, 135, 147, 260], 
 | 
            type: 'line', 
 | 
            areaStyle: { 
 | 
              normal: { 
 | 
                color: { 
 | 
                  x: 0, 
 | 
                  y: 0, 
 | 
                  x2: 0, 
 | 
                  y2: 1, 
 | 
                  colorStops: [{ 
 | 
                    offset: 0, 
 | 
                    color: '#42D49D' // 0% 处的颜色 
 | 
                  }, { 
 | 
                    offset: 1, 
 | 
                    color: 'rgba(255,255,255,.5)' // 100% 处的颜色 
 | 
                  }], 
 | 
                  globalCoord: false // 缺省为 false 
 | 
                } 
 | 
              } 
 | 
            }, 
 | 
            lineStyle: { // 线条样式 
 | 
              color: { 
 | 
                type: 'linear', 
 | 
                x: 0, 
 | 
                y: 0, 
 | 
                x2: 0, 
 | 
                y2: 1, 
 | 
                colorStops: [{ 
 | 
                  offset: 0, color: '#42D49D' // 0% 处的颜色 
 | 
                }, { 
 | 
                  offset: 1, color: '#42D49D' // 100% 处的颜色 
 | 
                }] 
 | 
              }, 
 | 
              width: 2 // 线条粗细 
 | 
            }, 
 | 
            symbol: 'circle', 
 | 
            symbolSize: 10, 
 | 
            itemStyle: { 
 | 
              normal: { 
 | 
                color: '#42D49D' // 折线点的颜色 
 | 
              } 
 | 
            }, 
 | 
            smooth: false 
 | 
          } 
 | 
        ] 
 | 
      }) 
 | 
      window.addEventListener('resize', function () { // 执行 
 | 
        myChart.resize() 
 | 
      }) 
 | 
    } 
 | 
  } 
 | 
} 
 | 
</script> 
 | 
  
 | 
<style lang="scss" scoped> 
 | 
div { 
 | 
  box-sizing: border-box; 
 | 
} 
 | 
  
 | 
.home_title { 
 | 
  font-weight: 600; 
 | 
  font-size: 16px; 
 | 
  color: #222222; 
 | 
  line-height: 22px; 
 | 
} 
 | 
  
 | 
.main { 
 | 
  display: flex; 
 | 
  position: relative; 
 | 
  z-index: 99; 
 | 
  
 | 
  .app_content { 
 | 
    flex: 1; 
 | 
  
 | 
    .static_card { 
 | 
      height: 187px; 
 | 
      color: #fff; 
 | 
      display: flex; 
 | 
      justify-content: space-between; 
 | 
  
 | 
      .card { 
 | 
        flex: 1; 
 | 
        height: 187px; 
 | 
        background: linear-gradient(270deg, #29aeff 0%, #207ff7 100%); 
 | 
        box-shadow: 0px 2px 10px 0px rgba(32, 127, 247, 0.4); 
 | 
        border-radius: 8px; 
 | 
        margin-right: 14px; 
 | 
  
 | 
        &:nth-of-type(2) { 
 | 
          background: linear-gradient(270deg, #8383ff 0%, #6b6eff 100%); 
 | 
        } 
 | 
  
 | 
        &:nth-of-type(3) { 
 | 
          background: linear-gradient(270deg, #42d49d 0%, #12bb8b 100%); 
 | 
        } 
 | 
  
 | 
        &:nth-of-type(4) { 
 | 
          margin-right: 0; 
 | 
          background: linear-gradient(270deg, #30d3de 0%, #04b7cd 100%); 
 | 
        } 
 | 
  
 | 
        .header { 
 | 
          height: 103px; 
 | 
          display: flex; 
 | 
          justify-content: space-between; 
 | 
          align-items: center; 
 | 
          padding: 20px 20px 12px; 
 | 
          border-bottom: 1px solid rgba(255, 255, 255, 0.2); 
 | 
  
 | 
          img { 
 | 
            width: 40px; 
 | 
            height: 40px; 
 | 
          } 
 | 
  
 | 
          .num { 
 | 
            font-weight: 600; 
 | 
            font-size: 30px; 
 | 
            margin-top: 12px; 
 | 
          } 
 | 
        } 
 | 
  
 | 
        .content { 
 | 
          height: 82px; 
 | 
          display: flex; 
 | 
          flex-direction: column; 
 | 
          justify-content: space-between; 
 | 
          font-size: 13px; 
 | 
          padding: 15px 20px 20px; 
 | 
        } 
 | 
      } 
 | 
    } 
 | 
  
 | 
    .funcs { 
 | 
      height: 149px; 
 | 
      padding: 20px; 
 | 
      background: #fff; 
 | 
      margin: 10px 0; 
 | 
  
 | 
      .list { 
 | 
        display: flex; 
 | 
        padding-top: 20px; 
 | 
  
 | 
        .item { 
 | 
          display: flex; 
 | 
          flex-direction: column; 
 | 
          align-items: center; 
 | 
          justify-content: center; 
 | 
          margin-right: 24px; 
 | 
          cursor: pointer; 
 | 
  
 | 
          img { 
 | 
            width: 44px; 
 | 
            height: 44px; 
 | 
          } 
 | 
        } 
 | 
      } 
 | 
    } 
 | 
  } 
 | 
  
 | 
  .app_side { 
 | 
    width: 408px; 
 | 
    margin-left: 10px; 
 | 
  
 | 
    .task { 
 | 
      background: #fff; 
 | 
      border-radius: 2px; 
 | 
      border: 1px solid #eeeeee; 
 | 
      padding: 20px; 
 | 
      height: 346px; 
 | 
      margin-bottom: 10px; 
 | 
  
 | 
      .header { 
 | 
        .num { 
 | 
          position: relative; 
 | 
          top: 3px; 
 | 
          height: 16px; 
 | 
          line-height: 16px; 
 | 
          font-size: 12px; 
 | 
          color: #ffffff; 
 | 
          padding: 0 6px; 
 | 
          font-weight: 400; 
 | 
          background: red; 
 | 
          border-radius: 8px; 
 | 
          margin-left: 13px; 
 | 
        } 
 | 
  
 | 
        .more { 
 | 
          font-size: 13px; 
 | 
          color: #999999; 
 | 
        } 
 | 
      } 
 | 
  
 | 
      .list { 
 | 
        .item { 
 | 
          display: flex; 
 | 
          align-items: center; 
 | 
          margin-top: 15px; 
 | 
  
 | 
          .content { 
 | 
            flex: 1; 
 | 
  
 | 
            .title { 
 | 
              color: #222222; 
 | 
              margin-bottom: 5px; 
 | 
            } 
 | 
  
 | 
            .time { 
 | 
              color: #999999; 
 | 
              font-size: 12px; 
 | 
            } 
 | 
          } 
 | 
  
 | 
          .btn { 
 | 
            margin-left: 10px; 
 | 
            width: 58px; 
 | 
            text-align: center; 
 | 
            height: 30px; 
 | 
            line-height: 30px; 
 | 
            background: #ffffff; 
 | 
            border-radius: 2px; 
 | 
            border: 1px solid #207ff7; 
 | 
            font-size: 13px; 
 | 
            color: #207ff7; 
 | 
          } 
 | 
        } 
 | 
      } 
 | 
    } 
 | 
  
 | 
    .warnning { 
 | 
      background: #fff; 
 | 
      border-radius: 2px; 
 | 
      border: 1px solid #eeeeee; 
 | 
      padding: 20px; 
 | 
      height: 508px; 
 | 
  
 | 
      .header { 
 | 
        .num { 
 | 
          position: relative; 
 | 
          top: 3px; 
 | 
          height: 16px; 
 | 
          line-height: 16px; 
 | 
          font-size: 12px; 
 | 
          color: #ffffff; 
 | 
          padding: 0 6px; 
 | 
          font-weight: 400; 
 | 
          background: red; 
 | 
          border-radius: 8px; 
 | 
          margin-left: 13px; 
 | 
        } 
 | 
  
 | 
        .more { 
 | 
          font-size: 13px; 
 | 
          color: #999999; 
 | 
        } 
 | 
      } 
 | 
  
 | 
      .list { 
 | 
        padding-top: 6px; 
 | 
  
 | 
        .item { 
 | 
          margin-top: 10px; 
 | 
          padding: 15px; 
 | 
          width: 100%; 
 | 
          height: 140px; 
 | 
          background: rgba(32, 127, 247, 0.05); 
 | 
          border-radius: 4px; 
 | 
  
 | 
          .name_wrap { 
 | 
            margin-bottom: 10px; 
 | 
  
 | 
            .name { 
 | 
              font-weight: 600; 
 | 
              color: #222222; 
 | 
            } 
 | 
  
 | 
            .identity { 
 | 
              font-size: 13px; 
 | 
              color: #207ff7; 
 | 
            } 
 | 
          } 
 | 
  
 | 
          .line { 
 | 
            color: #666666; 
 | 
            margin-bottom: 8px; 
 | 
            font-size: 13px; 
 | 
          } 
 | 
  
 | 
          .auth { 
 | 
            .time { 
 | 
              font-weight: 600; 
 | 
              font-size: 13px; 
 | 
              color: #ee3821; 
 | 
            } 
 | 
  
 | 
            .btn { 
 | 
              margin-left: 10px; 
 | 
              width: 58px; 
 | 
              text-align: center; 
 | 
              height: 30px; 
 | 
              line-height: 30px; 
 | 
              background: #ffffff; 
 | 
              border-radius: 2px; 
 | 
              border: 1px solid #207ff7; 
 | 
              font-size: 13px; 
 | 
              color: #207ff7; 
 | 
            } 
 | 
          } 
 | 
        } 
 | 
      } 
 | 
    } 
 | 
  } 
 | 
  
 | 
  .static_wrap { 
 | 
    .wrap { 
 | 
      background: #fff; 
 | 
      padding: 20px 20px 10px; 
 | 
      border-radius: 2px; 
 | 
      border: 1px solid #eeeeee; 
 | 
      height: 250px; 
 | 
      flex: 1; 
 | 
  
 | 
      &:nth-of-type(2n) { 
 | 
        margin-left: 10px; 
 | 
      } 
 | 
  
 | 
      .echart { 
 | 
        width: 100%; 
 | 
        height: 190px; 
 | 
      } 
 | 
  
 | 
      .header { 
 | 
        display: flex; 
 | 
        justify-content: space-between; 
 | 
        align-items: center; 
 | 
  
 | 
        .more { 
 | 
          font-size: 13px; 
 | 
          color: #999999; 
 | 
        } 
 | 
      } 
 | 
    } 
 | 
  
 | 
    .static1 { 
 | 
      .content { 
 | 
        display: flex; 
 | 
        justify-content: center; 
 | 
        align-items: center; 
 | 
  
 | 
        .echart_wrap { 
 | 
          position: relative; 
 | 
  
 | 
          .pie_text { 
 | 
            position: absolute; 
 | 
            left: 50%; 
 | 
            top: 50%; 
 | 
            transform: translate(-50%, -50%); 
 | 
            z-index: 999; 
 | 
          } 
 | 
        } 
 | 
  
 | 
        .echart { 
 | 
          width: 150px; 
 | 
          height: 150px; 
 | 
        } 
 | 
  
 | 
        .list { 
 | 
          margin-left: 36px; 
 | 
  
 | 
          .item { 
 | 
            display: flex; 
 | 
            align-items: center; 
 | 
            margin: 8px 0; 
 | 
  
 | 
            .icon { 
 | 
              width: 16px; 
 | 
              height: 16px; 
 | 
              border-radius: 50%; 
 | 
              margin-right: 6px; 
 | 
              background: linear-gradient(270deg, #29aeff 0%, #207ff7 100%); 
 | 
            } 
 | 
  
 | 
            .text { 
 | 
              margin-right: 6px; 
 | 
            } 
 | 
          } 
 | 
        } 
 | 
      } 
 | 
    } 
 | 
  } 
 | 
} 
 | 
  
 | 
.main_home { 
 | 
  background: #f4f7fc; 
 | 
  position: relative; 
 | 
  width: 100%; 
 | 
  height: 100%; 
 | 
  overflow: auto; 
 | 
  padding: 20px; 
 | 
  padding-top: 92px; 
 | 
  
 | 
  .home_header { 
 | 
    position: absolute; 
 | 
    top: 0; 
 | 
    left: 0; 
 | 
    width: 100%; 
 | 
    height: 200px; 
 | 
    padding: 20px; 
 | 
    color: #fff; 
 | 
    background: linear-gradient(180deg, #207ff7 0%, rgba(32, 127, 247, 0) 100%); 
 | 
  } 
 | 
} 
 | 
</style> 
 |