<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">SHE今日提报数量</div> 
 | 
                <div class="num">{{ headerData.todaySheNum ||0 }}</div> 
 | 
              </div> 
 | 
<!--              <img src="@/assets/images/bg_a.png" alt="" />--> 
 | 
            </div> 
 | 
            <div class="content"> 
 | 
<!--              <div>未解决:{{ headerData.sheNum || 0}}</div>--> 
 | 
<!--              <div>已解决:{{ headerData.sheNum || 0}}</div>--> 
 | 
              <div>总工单量:{{ headerData.sheNum || 0}}</div> 
 | 
            </div> 
 | 
          </div> 
 | 
          <div class="card"> 
 | 
            <div class="header"> 
 | 
              <div class="left"> 
 | 
                <div class="fs15">跌绊滑今日工单数量</div> 
 | 
                <div class="num">{{ headerData.todayDbhNum ||0 }}</div> 
 | 
              </div> 
 | 
<!-- 
 | 
              <img src="@/assets/icons/home_icon2.png" alt="" /> 
 | 
--> 
 | 
            </div> 
 | 
            <div class="content"> 
 | 
              <div>未解决:{{ headerData.dbhYesNum || 0}}</div> 
 | 
              <div>已解决:{{ headerData.dbhNoNum || 0}}</div> 
 | 
               <div>总工单量:{{ headerData.dbhNum || 0}}</div> 
 | 
            </div> 
 | 
          </div> 
 | 
          <div class="card"> 
 | 
            <div class="header"> 
 | 
              <div class="left"> 
 | 
                <div class="fs15">DCA今日上报次数</div> 
 | 
                <div class="num">{{ headerData.todayDcaNum ||0 }}</div> 
 | 
              </div> 
 | 
<!--              <img src="@/assets/icons/home_icon3.png" alt="" />--> 
 | 
            </div> 
 | 
            <div class="content"> 
 | 
              <div>符合项:{{ headerData.dcaYesNum || 0}}</div> 
 | 
              <div>不符合项:{{ headerData.dcaNoNum || 0}}</div> 
 | 
              <div>总上报次数:{{ headerData.dcaNum || 0}}</div> 
 | 
            </div> 
 | 
          </div> 
 | 
          <div class="card"> 
 | 
            <div class="header"> 
 | 
              <div class="left"> 
 | 
                <div class="fs15">DCA今日工单数量</div> 
 | 
                <div class="num">{{ headerData.todayDcaChildNum ||0 }}</div> 
 | 
              </div> 
 | 
<!--              <img src="@/assets/images/bg_a.png" alt="" />--> 
 | 
            </div> 
 | 
            <div class="content"> 
 | 
              <div>未解决:{{ headerData.dcaChildYesNum || 0}}</div> 
 | 
              <div>已解决:{{ headerData.dcaChildNoNum || 0}}</div> 
 | 
              <div>总工单量:{{ headerData.dcaChildNum || 0}}</div> 
 | 
            </div> 
 | 
          </div> 
 | 
        </div> 
 | 
        <div class="static_wrap"> 
 | 
          <div class="df mb50" > 
 | 
            <div class="wrap static1"> 
 | 
              <div class="header" style="text-align: center"> 
 | 
                <div class="home_title"  style="text-align: center;width: 100%">各类型工单占比统计</div> 
 | 
              </div> 
 | 
              <div class="echart"  style="height: 400px" > 
 | 
                <div  id="circleChart0"></div> 
 | 
                <div  id="circleChart1"></div> 
 | 
              </div> 
 | 
            </div> 
 | 
          </div> 
 | 
          <div class="df mb50" > 
 | 
            <div class="wrap static1"> 
 | 
              <div class="header"> 
 | 
                <div class="home_title">1.SHE事件上报</div> 
 | 
              </div> 
 | 
              <div class="echart" > 
 | 
                <div  id="echart0"></div> 
 | 
                <div  id="echart01"></div> 
 | 
              </div> 
 | 
            </div> 
 | 
            <div class="wrap static2"> 
 | 
              <div class="header"> 
 | 
                <div class="home_title">2.深度符合性审查DCA上报记录</div> 
 | 
              </div> 
 | 
              <div class="echart" > 
 | 
                <div  id="echart1">  </div> 
 | 
                <div  id="echart11">   </div> 
 | 
              </div> 
 | 
            </div> 
 | 
            <div class="wrap static3"> 
 | 
              <div class="header"> 
 | 
                <div class="home_title">3.深度符合性审查DCA事件工单</div> 
 | 
              </div> 
 | 
              <div class="echart" > 
 | 
                <div  id="echart2">  </div> 
 | 
                <div  id="echart21">   </div> 
 | 
              </div> 
 | 
            </div> 
 | 
            <div class="wrap static4"> 
 | 
              <div class="header"> 
 | 
                <div class="home_title">4.跌绊滑风险上报</div> 
 | 
              </div> 
 | 
              <div class="echart" > 
 | 
                <div  id="echart3">  </div> 
 | 
                <div  id="echart31">   </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 { getIndexData, getWorkOrderData } from '@/api/business/workorder' 
 | 
const colors = ['#52a4f7', '#7678f7', '#5fc6d5'] 
 | 
export default { 
 | 
  components: { 
 | 
  }, 
 | 
  data () { 
 | 
    return { 
 | 
      colors, 
 | 
      nowDate: '', 
 | 
      nowWeek: '', 
 | 
      headerData: {}, 
 | 
      staticData0: {}, 
 | 
      staticData01: {}, 
 | 
      staticData1: {}, 
 | 
      staticData2: {}, 
 | 
      staticData3: {}, 
 | 
      staticData4: {}, 
 | 
      manningRatio: [] 
 | 
    } 
 | 
  }, 
 | 
  computed: { 
 | 
    userInfo () { 
 | 
      return this.$store.state.userInfo 
 | 
    } 
 | 
  }, 
 | 
  created () { 
 | 
    this.initData() 
 | 
  }, 
 | 
  mounted () { 
 | 
    this.updateDate() 
 | 
    // this.initData() 
 | 
  }, 
 | 
  methods: { 
 | 
    initData () { 
 | 
      this.updateDate() 
 | 
      this.getWorkHead() 
 | 
      this.getWorkBody0() 
 | 
      this.getWorkBody1() 
 | 
      this.getWorkBody2() 
 | 
      this.getWorkBody3() 
 | 
      // this.getWorkBody() 
 | 
    }, 
 | 
    getWorkBody0 () { 
 | 
      getWorkOrderData({ queryType: 0, orderType: 0 }).then(res => { 
 | 
        this.staticData0 = res || [] 
 | 
        this.initEchart0() 
 | 
      }) 
 | 
      getWorkOrderData({ queryType: 1, orderType: 0 }).then(res => { 
 | 
        this.staticData01 = res || [] 
 | 
        this.initEchart01() 
 | 
      }) 
 | 
    }, 
 | 
    getWorkBody1 () { 
 | 
      getWorkOrderData({ queryType: 0, orderType: 1 }).then(res => { 
 | 
        this.staticData1 = res || [] 
 | 
        this.initEchart1() 
 | 
      }) 
 | 
      getWorkOrderData({ queryType: 1, orderType: 1 }).then(res => { 
 | 
        this.staticData11 = res || [] 
 | 
        this.initEchart11() 
 | 
      }) 
 | 
    }, 
 | 
    getWorkBody2 () { 
 | 
      getWorkOrderData({ queryType: 0, orderType: 2 }).then(res => { 
 | 
        this.staticData2 = res || [] 
 | 
        this.initEchart2() 
 | 
      }) 
 | 
      getWorkOrderData({ queryType: 1, orderType: 2 }).then(res => { 
 | 
        this.staticData21 = res || [] 
 | 
        this.initEchart21() 
 | 
      }) 
 | 
    }, 
 | 
    getWorkBody3 () { 
 | 
      getWorkOrderData({ queryType: 0, orderType: 3 }).then(res => { 
 | 
        this.staticData3 = res || [] 
 | 
        this.initEchart3() 
 | 
      }) 
 | 
      getWorkOrderData({ queryType: 1, orderType: 3 }).then(res => { 
 | 
        this.staticData31 = res || [] 
 | 
        this.initEchart31() 
 | 
      }) 
 | 
    }, 
 | 
    getWorkHead () { 
 | 
      getIndexData({ }).then(res => { 
 | 
        this.headerData = res || {} 
 | 
        var cdata = [] 
 | 
        cdata.push({ name: '跌绊滑事件', value: res.dbhNum || 0 }) 
 | 
        cdata.push({ name: 'DCA事件', value: res.dcaNum || 0 }) 
 | 
        cdata.push({ name: 'SHE事件', value: res.sheNum || 0 }) 
 | 
        this.initEchartCircleDo('circleChart0', '各类型事件工单上报统计', '', cdata) 
 | 
        var xdata =['SHE事件', '跌绊滑事件','DCA事件'] 
 | 
        var ydata = [] 
 | 
        ydata.push({ name: '已解决', stack: 'cateNum', type: 'bar', unit: '项', color: '#f07e6f', data: [0,res.dbhYesNum || 0,res.dcaYesNum || 0]}) 
 | 
        ydata.push({ name: '未解决', stack: 'cateNum',type: 'bar', unit: '项', color: '#8383ff', data: [res.sheNum || 0,res.dbhNoNum || 0,res.dcaNoNum || 0]}) 
 | 
        ydata.push({ name: '总单量', type: 'bar', unit: '次', color: '#29aeff', data: [res.sheNum || 0,res.dbhNum || 0,res.dcaNum || 0] }) 
 | 
        this.initEchartDataDo('各类型事件状态统计', 'circleChart1', xdata, ydata) 
 | 
      }) 
 | 
    }, 
 | 
    updateDate () { 
 | 
      this.nowDate = dayjs().format('YYYY年M月D日') 
 | 
      this.nowWeek = weeks[new Date().getDay()] 
 | 
    }, 
 | 
    initEchart0 () { 
 | 
      var ydata = [{ name: '工单数量', type: 'line', unit: '单', color: '#29aeff', data: this.staticData0.map(i => i.total) }] 
 | 
      this.initEchartDataDo('月度统计', 'echart0', this.staticData0.map(i => i.dateStr), ydata) 
 | 
    }, 
 | 
    initEchart01 () { 
 | 
      var ydata = [{ name: '工单数量', type: 'bar', unit: '单', color: '#29aeff', data: this.staticData01.map(i => i.total) }] 
 | 
      this.initEchartDataDo('季度统计', 'echart01', this.staticData01.map(i => i.dateStr), ydata) 
 | 
    }, 
 | 
    initEchart1 () { 
 | 
      var ydata = [] 
 | 
      ydata.push({ name: '符合项', type: 'line', unit: '项', color: '#f07e6f', data: this.staticData1.map(i => i.dcaYesTotal) }) 
 | 
      ydata.push({ name: '不符合项', type: 'line', unit: '项', color: '#8383ff', data: this.staticData1.map(i => i.dcaNoTotal) }) 
 | 
      ydata.push({ name: '上报次数', type: 'bar', unit: '次', color: '#29aeff', data: this.staticData1.map(i => i.total) }) 
 | 
      this.initEchartDataDo('月度统计', 'echart1', this.staticData1.map(i => i.dateStr), ydata) 
 | 
    }, 
 | 
    initEchart11 () { 
 | 
      var ydata = [] 
 | 
      ydata.push({ name: '符合项', type: 'line', unit: '项', color: '#f07e6f', data: this.staticData11.map(i => i.dcaYesTotal) }) 
 | 
      ydata.push({ name: '不符合项', type: 'line', unit: '项', color: '#8383ff', data: this.staticData11.map(i => i.dcaNoTotal) }) 
 | 
      ydata.push({ name: '上报次数', type: 'bar', unit: '次', color: '#29aeff', data: this.staticData11.map(i => i.total) }) 
 | 
      this.initEchartDataDo('季度统计', 'echart11', this.staticData11.map(i => i.dateStr), ydata) 
 | 
    }, 
 | 
    initEchart2 () { 
 | 
      var ydata = [] 
 | 
      ydata.push({ name: '工程师关闭单量', type: 'line', unit: '单', color: '#f0ee6f', data: this.staticData2.map(i => i.gcsTotal) }) 
 | 
      ydata.push({ name: 'WTS关闭单量', type: 'line', unit: '单', color: '#29aeff', data: this.staticData2.map(i => i.wtsTotal) }) 
 | 
      ydata.push({ name: 'SHE关闭单量', type: 'line', unit: '单', color: '#e75314', data: this.staticData2.map(i => i.sheTotal) }) 
 | 
      ydata.push({ name: '未解决单量', type: 'line', unit: '单', color: '#8383ff', data: this.staticData2.map(i => i.unCloseTotal) }) 
 | 
      ydata.push({ name: '工单总量', type: 'line', unit: '单', color: '#30d3de', data: this.staticData2.map(i => i.total) }) 
 | 
      this.initEchartDataDo('月度统计', 'echart2', this.staticData2.map(i => i.dateStr), ydata) 
 | 
    }, 
 | 
    initEchart21 () { 
 | 
      var ydata = [] 
 | 
      ydata.push({ name: '工程师关闭单量', type: 'bar', unit: '单', color: '#f0ee6f', data: this.staticData21.map(i => i.gcsTotal) }) 
 | 
      ydata.push({ name: 'WTS关闭单量', type: 'bar', unit: '单', color: '#29aeff', data: this.staticData21.map(i => i.wtsTotal) }) 
 | 
      ydata.push({ name: 'SHE关闭单量', type: 'bar', unit: '单', color: '#e75314', data: this.staticData21.map(i => i.sheTotal) }) 
 | 
      ydata.push({ name: '未解决单量', type: 'bar', unit: '单', color: '#8383ff', data: this.staticData21.map(i => i.unCloseTotal) }) 
 | 
      ydata.push({ name: '工单总量', type: 'line', unit: '单', color: '#30d3de', data: this.staticData21.map(i => i.total) }) 
 | 
      this.initEchartDataDo('季度统计', 'echart21', this.staticData21.map(i => i.dateStr), ydata) 
 | 
    }, 
 | 
    initEchart3 () { 
 | 
      var ydata = [] 
 | 
      ydata.push({ name: '工程师关闭单量', type: 'line', unit: '单', color: '#6feef0', data: this.staticData3.map(i => i.gcsTotal) }) 
 | 
      ydata.push({ name: 'WTS关闭单量', type: 'line', unit: '单', color: 'rgba(217,4,34,0.83)', data: this.staticData3.map(i => i.wtsTotal) }) 
 | 
      ydata.push({ name: 'SHE关闭单量', type: 'line', unit: '单', color: '#e75314', data: this.staticData3.map(i => i.sheTotal) }) 
 | 
      ydata.push({ name: '未解决单量', type: 'line', unit: '单', color: '#8383ff', data: this.staticData3.map(i => i.unCloseTotal) }) 
 | 
      ydata.push({ name: '工单总量', type: 'line', unit: '单', color: '#30d3de', data: this.staticData3.map(i => i.total) }) 
 | 
      this.initEchartDataDo('月度统计', 'echart3', this.staticData3.map(i => i.dateStr), ydata) 
 | 
    }, 
 | 
    initEchart31 () { 
 | 
      var ydata = [] 
 | 
      ydata.push({ name: '工程师关闭单量', type: 'bar', unit: '单', color: '#6feef0', data: this.staticData31.map(i => i.gcsTotal) }) 
 | 
      ydata.push({ name: 'WTS关闭单量', type: 'bar', unit: '单', color: 'rgba(217,4,34,0.83)', data: this.staticData31.map(i => i.wtsTotal) }) 
 | 
      ydata.push({ name: 'SHE关闭单量', type: 'bar', unit: '单', color: '#e75314', data: this.staticData31.map(i => i.sheTotal) }) 
 | 
      ydata.push({ name: '未解决单量', type: 'bar', unit: '单', color: '#8383ff', data: this.staticData31.map(i => i.unCloseTotal) }) 
 | 
      ydata.push({ name: '工单总量', type: 'line', unit: '单', color: '#30d3de', data: this.staticData31.map(i => i.total) }) 
 | 
      this.initEchartDataDo('季度统计', 'echart31', this.staticData31.map(i => i.dateStr), ydata) 
 | 
    }, 
 | 
    initEchartDataDo (title, id, xdata, ydata) { 
 | 
      const myChart = echarts.init(document.getElementById(id)) 
 | 
      myChart.setOption({ 
 | 
        title: { 
 | 
          text: (title || ''), 
 | 
          textStyle: { 
 | 
            fontSize: 12, 
 | 
            fontStyle: 'normal', 
 | 
            fontWeight: 'bold' 
 | 
          } 
 | 
        }, 
 | 
        tooltip: { 
 | 
          trigger: 'axis', 
 | 
          axisPointer: { 
 | 
            type: 'shadow' 
 | 
          }, 
 | 
          textStyle: { 
 | 
            fontSize: 10, 
 | 
            fontStyle: 'normal', 
 | 
            fontWeight: 'normal' 
 | 
          } 
 | 
        }, 
 | 
        legend: { 
 | 
          orient: 'vertical', 
 | 
          left: 'right', 
 | 
          textStyle: { 
 | 
            fontSize: 10, 
 | 
            fontStyle: 'normal', 
 | 
            fontWeight: 'normal' 
 | 
          } 
 | 
        }, 
 | 
        xAxis: { 
 | 
          type: 'category', 
 | 
          boundaryGap: false, 
 | 
          data: xdata 
 | 
        }, 
 | 
        yAxis: { 
 | 
          type: 'value', 
 | 
          name: '', 
 | 
          min: 0, 
 | 
          axisLabel: { 
 | 
            formatter: function (value) { 
 | 
              return Number.isInteger(value) ? value : '' 
 | 
            } 
 | 
          }, 
 | 
          textStyle: { 
 | 
            fontSize: 10, 
 | 
            fontStyle: 'normal', 
 | 
            fontWeight: 'normal' 
 | 
          }, 
 | 
          nameTextStyle: { 
 | 
            padding: [0, 0, 4, -30] // 四个数字分别为上右下左与原位置距离 
 | 
          }, 
 | 
          splitLine: { 
 | 
            show: true, 
 | 
            lineStyle: { 
 | 
              // 这里输入线条的样式 
 | 
              color: 'rgba(255,255,255,0.14)' 
 | 
            } 
 | 
          } 
 | 
        }, 
 | 
        grid: { 
 | 
          top: '16%', 
 | 
          left: '2%', 
 | 
          right: '8%', 
 | 
          bottom: '2%', 
 | 
          containLabel: true 
 | 
        }, 
 | 
        series: this.seriesInitData(ydata) 
 | 
      }) 
 | 
      window.addEventListener('resize', function () { // 执行 
 | 
        myChart.resize() 
 | 
      }) 
 | 
    }, 
 | 
    seriesInitData (ydata) { 
 | 
      var array = [] 
 | 
      for (let i = 0; i < ydata.length; i++) { 
 | 
        array.push({ 
 | 
          data: ydata[i].data, 
 | 
          name: ydata[i].name, 
 | 
          stack: ydata[i].stack || '', 
 | 
          type: ydata[i].type || 'line', 
 | 
          areaStyle: { 
 | 
            normal: { 
 | 
              color: { 
 | 
                x: 0, 
 | 
                y: 0, 
 | 
                x2: 0, 
 | 
                y2: 1, 
 | 
                colorStops: [{ 
 | 
                  offset: 0, 
 | 
                  color: ydata[i].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: ydata[i].color || '#207FF7' // 0% 处的颜色 
 | 
              }, { 
 | 
                offset: 1, color: ydata[i].color || '#207FF7' // 100% 处的颜色 
 | 
              }] 
 | 
            }, 
 | 
            width: 2 // 线条粗细 
 | 
          }, 
 | 
          symbol: 'circle', 
 | 
          symbolSize: 10, 
 | 
          itemStyle: { 
 | 
            borderWidth: 1, 
 | 
            borderColor: '#fff', 
 | 
            color: ydata[i].color || '#207FF7' 
 | 
          }, 
 | 
          smooth: false 
 | 
        }) 
 | 
      } 
 | 
  
 | 
      return array 
 | 
    }, 
 | 
    initEchartCircleDo (id, title, subTitle, data) { 
 | 
      var option = { 
 | 
        title: { 
 | 
          text:  '', 
 | 
          subtext:   '', 
 | 
          left: 'center', 
 | 
          bottom: 'bottom', 
 | 
          textStyle: { 
 | 
            fontSize: 10, 
 | 
            fontStyle: 'normal', 
 | 
            fontWeight: 'bold' 
 | 
          } 
 | 
        }, 
 | 
        tooltip: { 
 | 
          trigger: 'item' 
 | 
        }, 
 | 
        legend: { 
 | 
          orient: 'vertical', 
 | 
          left: 'left', 
 | 
          textStyle: { 
 | 
            fontSize: 10, 
 | 
            fontStyle: 'normal', 
 | 
            fontWeight: 'normal' 
 | 
          }, 
 | 
        }, 
 | 
        series: [ 
 | 
          { 
 | 
            name: title || '', 
 | 
            type: 'pie', 
 | 
            radius: '50%', 
 | 
            data: data, 
 | 
            label: { 
 | 
              show: true, 
 | 
              formatter: '{b}:{d}%', 
 | 
              textStyle: { 
 | 
                fontSize: 10, 
 | 
                fontStyle: 'normal', 
 | 
                fontWeight: 'normal' 
 | 
              }, 
 | 
            }, 
 | 
            labelLine: { 
 | 
              show: true, 
 | 
            }, 
 | 
            emphasis: { 
 | 
              itemStyle: { 
 | 
                shadowBlur: 10, 
 | 
                shadowOffsetX: 0, 
 | 
                shadowColor: 'rgba(0, 0, 0, 0.5)' 
 | 
              } 
 | 
            } 
 | 
          } 
 | 
        ] 
 | 
      } 
 | 
      const myChart = echarts.init(document.getElementById(id)) 
 | 
      myChart.setOption(option) 
 | 
    } 
 | 
  } 
 | 
} 
 | 
</script> 
 | 
  
 | 
<style lang="scss" scoped> 
 | 
div { 
 | 
  box-sizing: border-box; 
 | 
} 
 | 
  
 | 
.home_title { 
 | 
  font-weight: 600; 
 | 
  font-size: 16px; 
 | 
  color: #222222; 
 | 
  line-height: 22px; 
 | 
} 
 | 
.mb50{ 
 | 
  margin-bottom: 50px; 
 | 
} 
 | 
.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, #c430dee3 0%, #cd04b9cf 100%); 
 | 
        //linear-gradient(270deg, #de3049b8 0%, #cd0421d4 100%); 
 | 
          //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; 
 | 
          } 
 | 
        } 
 | 
      } 
 | 
    } 
 | 
  } 
 | 
  .static_wrap { 
 | 
    .wrap { 
 | 
      background: #fff; 
 | 
      padding: 20px 20px 10px; 
 | 
      border-radius: 2px; 
 | 
      border: 1px solid #eeeeee; 
 | 
      height: 280px; 
 | 
      flex: 1; 
 | 
      margin-top: 10px; 
 | 
      margin-bottom: 20px; 
 | 
      &:nth-of-type(2n) { 
 | 
        //margin-left: 10px; 
 | 
      } 
 | 
      .echart { 
 | 
        width: 100%; 
 | 
        height: 190px; 
 | 
        position: relative; 
 | 
        display: flex; 
 | 
        div{ 
 | 
          flex: 1; 
 | 
          height: 190px; 
 | 
        } 
 | 
      } 
 | 
  
 | 
      .header { 
 | 
        display: flex; 
 | 
        justify-content: space-between; 
 | 
        align-items: center; 
 | 
        margin-bottom: 30px; 
 | 
  
 | 
        .more { 
 | 
          font-size: 13px; 
 | 
          color: #999999; 
 | 
        } 
 | 
      } 
 | 
    } 
 | 
  
 | 
    .static1 { 
 | 
      .content { 
 | 
        display: flex; 
 | 
        justify-content: center; 
 | 
        align-items: center; 
 | 
        height: 100%; 
 | 
  
 | 
        .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: 92px 20px 20px; 
 | 
  .home_header { 
 | 
    position: absolute; 
 | 
    top: 0; 
 | 
    left: 0; 
 | 
    width: 100%; 
 | 
    height: 200px; 
 | 
    padding: 20px; 
 | 
    color: #fff; 
 | 
    background: linear-gradient(180deg, #076ae5 0%, rgba(32, 127, 247, 0) 100%); 
 | 
  } 
 | 
} 
 | 
</style> 
 |