licp
2024-04-11 f798ddf028ff583492cfec9d04d2530de54f46eb
完成检验项目统计前端页面
已修改4个文件
已添加1个文件
363 ■■■■■ 文件已修改
src/components/tool/echart.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/b4-daily-business-statistics.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/view/b4-inspection-item-statistics.vue 261 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/util/echarts.js 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
static/js/menu.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/tool/echart.vue
@@ -19,7 +19,7 @@
        default: () => {}
      },
      datas: {
          type: Array,
          type: Object,
          default: () => {}
      }
  },
@@ -74,6 +74,11 @@
            case 'line':
            iuCharts.drawLine(this.chart,this.datas)
              break;
            case 'pie':
            iuCharts.drawPie(this.chart,this.datas)
              break;
            default:
              break;
          }
          setTimeout(()=>{
            this.chart.resize()
@@ -91,7 +96,6 @@
              this.chart.resize();
          });
      },
      /* å½“窗口缩放时,echart动态调整自身大小 */
      windowResizeListener() {
          if (!this.chart) return;
src/components/view/b4-daily-business-statistics.vue
@@ -2,7 +2,7 @@
<div class="daily-main">
  <div class="daily-content" style="height:100%">
    <p style="font-size: 16px;padding:19.5px 0px">每日业务统计</p>
    <el-row :gutter="30">
    <el-row :gutter="35">
      <el-col :xs="12" :sm="10" :md="8" :lg="6" :xl="4" style="margin-bottom: 30px;">
        <div class="daily-card daily-head">
          <div class="daily-head-left">
@@ -88,17 +88,17 @@
        </div>
      </el-col>
    </el-row>
    <el-row :gutter="30">
    <el-row :gutter="35">
      <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" style="margin-bottom: 30px;">
        <div class="daily-card chart-box">
          <h4>近10日任务接收量</h4>
          <echart-module :id="'left'" :config="chartConfig0" :datas="chartData0"></echart-module>
          <echart-module :id="'daily-left'" :config="chartConfig0" :datas="chartData0"></echart-module>
        </div>
      </el-col>
      <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" style="margin-bottom: 30px;">
        <div class="daily-card chart-box">
          <h4>近10日实际完成任务与接收任务对比</h4>
          <echart-module :id="'right'" :config="chartConfig1" :datas="chartData1"></echart-module>
          <echart-module :id="'daily-right'" :config="chartConfig1" :datas="chartData1"></echart-module>
        </div>
      </el-col>
    </el-row>
@@ -184,7 +184,7 @@
  font-weight: bold;
  font-size: 28px;
  display: inline-block;
  margin-bottom: 26px;
  margin-bottom: 30px;
}
.daily-head-left .daily-head-left-info{
src/components/view/b4-inspection-item-statistics.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,261 @@
<template>
  <div class="inspection-main">
    <div class="inspection-content" style="height:100%">
      <p style="font-size: 16px;padding:19.5px 0px">检测项目统计</p>
      <el-row :gutter="35">
        <el-col :xs="12" :sm="10" :md="8" :lg="6" :xl="4" style="margin-bottom: 30px;">
          <div class="inspection-card inspection-head">
            <div class="inspection-head-left">
              <h4>今日项目接收</h4>
              <span >2453</span>
              <div class="inspection-head-left-info">
                <img src="../../../static/img/daliy-up.svg" alt="">
                <span :class="{active:false}" class="num">&nbsp; 8.5%&nbsp; </span>
                <span>较昨天</span>
              </div>
            </div>
            <img src="../../../static/img/daliy-0.svg" alt="" srcset="">
          </div>
        </el-col>
        <el-col :xs="12" :sm="10" :md="8" :lg="6" :xl="4" style="margin-bottom: 30px;">
          <div class="inspection-card inspection-head">
            <div class="inspection-head-left">
              <h4>今日项目完成</h4>
              <span >1687</span>
              <div class="inspection-head-left-info">
                <img src="../../../static/img/daliy-up.svg" alt="">
                <span :class="{active:false}" class="num">&nbsp; 8.5%&nbsp; </span>
                <span>较昨天</span>
              </div>
            </div>
            <img src="../../../static/img/daliy-1.svg" alt="" srcset="">
          </div>
        </el-col>
        <el-col :xs="12" :sm="10" :md="8" :lg="6" :xl="4" style="margin-bottom: 30px;">
          <div class="inspection-card inspection-head">
            <div class="inspection-head-left">
              <h4>今日项目剩余</h4>
              <span >766</span>
              <div class="inspection-head-left-info">
                <img src="../../../static/img/daliy-down.svg" alt="">
                <span :class="{active:true}" class="num">&nbsp; 8.5%&nbsp; </span>
                <span>较昨天</span>
              </div>
            </div>
            <img src="../../../static/img/daliy-2.svg" alt="" srcset="">
          </div>
        </el-col>
        <el-col :xs="12" :sm="10" :md="8" :lg="6" :xl="4" style="margin-bottom: 30px;">
          <div class="inspection-card inspection-head" style="flex-direction: column;padding-bottom: 5px;">
            <h4 style="margin-bottom: 5px;">今日项目合格率</h4>
            <echart-module :id="'inspection-qualified'" :config="chartConfig2" :datas="chartData2" style="align-self: center;"></echart-module>
          </div>
        </el-col>
        <el-col :xs="12" :sm="10" :md="8" :lg="6" :xl="4" style="margin-bottom: 30px;">
          <div class="inspection-card inspection-head" style="flex-direction: column;padding-bottom: 5px;">
            <h4 style="margin-bottom: 5px;">今日项目完成率</h4>
            <echart-module :id="'inspection-complete'" :config="chartConfig3" :datas="chartData3" style="align-self: center;"></echart-module>
          </div>
        </el-col>
        <el-col :xs="12" :sm="10" :md="8" :lg="6" :xl="4" style="margin-bottom: 30px;">
          <div class="inspection-card inspection-head" style="flex-direction: column;padding-bottom: 5px;">
            <h4 style="margin-bottom: 5px;">今日项目延期率</h4>
            <echart-module :id="'inspection-extension'" :config="chartConfig4" :datas="chartData4" style="align-self: center;"></echart-module>
          </div>
        </el-col>
      </el-row>
      <el-row :gutter="35">
        <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" style="margin-bottom: 30px;">
          <div class="inspection-card chart-box">
            <h4>近10日项目接收量</h4>
            <echart-module :id="'inspection-left'" :config="chartConfig0" :datas="chartData0"></echart-module>
          </div>
        </el-col>
        <el-col :xs="24" :sm="24" :md="12" :lg="12" :xl="12" style="margin-bottom: 30px;">
          <div class="inspection-card chart-box">
            <h4>近10日实际完成项目与接收项目对比</h4>
            <echart-module :id="'inspection-right'" :config="chartConfig1" :datas="chartData1"></echart-module>
          </div>
        </el-col>
      </el-row>
    </div>
  </div>
  </template>
  <script>
  import EchartModule from '../tool/echart.vue'
  export default {
    components: {EchartModule},
    data(){
      return{
        chartConfig0:{
          height: '435px',
          isLoading:true,
          type:'line'
        },
        chartData0:{
          xData:['4-11','4-12','4-13','4-14','4-15','4-16','4-17','4-18','4-19','4-20'],
          yData:[
            {
              title:'项目接收量',
              data:[10,20,10,40,50,20,70,40,90,50]
            }
          ]
        },
        chartConfig1:{
          height: '435px',
          isLoading:true,
          type:'bar'
        },
        chartData1:{
          xData:['4-11','4-12','4-13','4-14','4-15','4-16','4-17','4-18','4-19','4-20'],
          yData:[
            {
              title:'今日接收',
              data:[10,20,10,40,50,20,70,40,90,50]
            },
            {
              title:'今日完成',
              data:[15,10,6,33,66,44,56,77,44,55]
            },
          ]
        },
        chartConfig2:{
          height: '118px',
          width:'140px',
          isLoading:true,
          type:'pie'
        },
        chartData2:{
          title:'今日项目合格率',
          percentage:'68%',
          color:['#1CCAB8','#E1E4E8'],
          data:[
            {
              name:'合格',
              value:'68'
            },
            {
              name:'不合格',
              value:'32'
            },
          ]
        },
        chartConfig3:{
          height: '118px',
          width:'140px',
          isLoading:true,
          type:'pie'
        },
        chartData3:{
          title:'今日项目完成率',
          percentage:'68%',
          color:['#FBB647','#E1E4E8'],
          data:[
            {
              name:'完成',
              value:'68'
            },
            {
              name:'未完成',
              value:'32'
            },
          ]
        },
        chartConfig4:{
          height: '118px',
          width:'140px',
          isLoading:true,
          type:'pie'
        },
        chartData4:{
          title:'今日项延期率',
          percentage:'68%',
          color:['#FF3838','#E1E4E8'],
          data:[
            {
              name:'延期',
              value:'68'
            },
            {
              name:'未延期',
              value:'32'
            },
          ]
        },
      }
    }
  }
  </script>
  <style scoped>
  .inspection-main{
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
  }
  .inspection-card{
    width: 100%;
    background: #FFFFFF;
    border-radius: 14px;
    box-shadow: 6px 6px 54px 0px rgba(0,0,0,0.05);
  }
  .inspection-head{
    padding: 16px;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .inspection-head h4{
    color: #202224;
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 20px;
    opacity: 0.8;
  }
  .inspection-head-left>span{
    font-family: Nunito Sans-Bold;color: #202224;
    font-weight: bold;
    font-size: 28px;
    display: inline-block;
    margin-bottom: 30px;
  }
  .inspection-head-left .inspection-head-left-info{
    display: flex;
    align-items: center;
    font-size: 16px;
    color: #202224;
  }
  .inspection-head-left .inspection-head-left-info .num{
    color: #00B69B;
  }
  .inspection-head-left .inspection-head-left-info .num.active{
    color: #F93C65;
  }
  .chart-box{
    padding: 30px 24px;
    box-sizing: border-box;
  }
  .chart-box h4{
    color: #202224;
    font-family: PingFang SC-Regular;
    font-weight: 400;
    font-size: 24px;
    margin-bottom: 16px;
  }
  .chart{
    width: 100%;
    height: 450px;
  }
  </style>
src/util/echarts.js
@@ -33,7 +33,7 @@
        top: '5%',
        left: '7%',
        right: '3%',
        bottom: '5%',
        bottom: '7%',
        // containLabel: true
      },
      legend: {
@@ -56,6 +56,7 @@
        },
        axisLabel: {
            color: 'rgba(43,48,52, 0.4)',
            margin: 20
        },
        axisTick: {
            show: false
@@ -140,7 +141,7 @@
          top: '5%',
          left: '7%',
          right: '2%',
          bottom: '5%',
          bottom: '7%',
          // containLabel: true
      },
      xAxis: [{
@@ -150,6 +151,7 @@
          },
          axisLabel: {
              color: 'rgba(43,48,52, 0.4)',
              margin: 20
          },
          axisTick: {
              show: false
@@ -185,6 +187,82 @@
      series: series
    };
    chart.setOption(option);
  },
  drawPie:function(chart,params){
    let option = {
      color: params.color,
      backgroundColor: '#fff',
      tooltip: {
          trigger: 'item',
          formatter: '{a} <br/>{b} : {c} ({d}%)'
      },
      title: {
          text: params.percentage,
          textStyle: {
              color: '#4379EE',
              fontSize: 14,
              align: 'center',
              fontWeight: 'normal'
          },
          x: 'center',
          y: 'center',
      },
      grid: {
        top:20,
        bottom: 20,
        left: 0,
        right: 0
      },
      legend: {
        show: false,
      },
      series: [
          // ä¸»è¦å±•示层的
          {
              radius: ['55%', '90%'],
              center: ['50%', '50%'],
              type: 'pie',
              label: {
                  show:false
              },
              name: params.title,
              data: params.data,
          },
          // è¾¹æ¡†çš„设置
          {
              radius: ['55%', '65%'],
              center: ['50%', '50%'],
              type: 'pie',
              label: {
                  normal: {
                      show: false
                  },
                  emphasis: {
                      show: false
                  }
              },
              labelLine: {
                  normal: {
                      show: false
                  },
                  emphasis: {
                      show: false
                  }
              },
              animation: false,
              tooltip: {
                  show: false
              },
              data: [{
                  value: 1,
                  itemStyle: {
                      color: "rgba(250,250,250,0.3)",
                  },
              }],
          }
      ]
    };
    chart.setOption(option);
  }
}
static/js/menu.js
@@ -115,7 +115,7 @@
        }, {
            v: "检测项目统计",
            i: "font icon-erjidaohang",
            u: "",
            u: "b4-inspection-item-statistics",
            p: ""
        }, {
            v: "样品缺陷指数",