Bläddra i källkod

20250415大屏数据 优化添加学员跨区选择问题

贾小兵 1 månad sedan
förälder
incheckning
ad264b44ef

+ 157 - 6
application/admin/controller/Screen.php

@@ -3,6 +3,7 @@ namespace app\admin\controller;
 use app\common\controller\Backend;
 use think\Config;
 use think\Db;
+use think\db\Connection;
 use think\Request;
 /**
  * 数字大屏接口
@@ -13,17 +14,43 @@ use think\Request;
 class Screen extends Backend
 {
     protected $model = null;
-    protected $qc_model = null;
-    protected $qr_model = null;
-    protected $zjfl_model = null;
-    protected $layout = '';
+    protected $departmodel = null;
+    protected $adminmodel = null;
+    protected $faultmodel = null;
 
+    protected $layout = 'screen';
     protected $noNeedRight = ['index'];
+    protected $whereExtend = null;
 
     public function _initialize()
     {
         parent::_initialize();
         $groupIds = $this->auth->getGroupIds();
+        $this->model = new \app\admin\model\teacher\Exams;
+        $this->departmodel = new \app\admin\model\department\Department;
+        $this->adminmodel = new \app\admin\model\Admin;
+        $this->faultmodel = new \app\admin\model\Fault;
+
+        //已交卷
+        $this->whereExtend['endtime'] = ['>', 0];
+        //考试
+        $this->whereExtend['exam_collection_type'] = 3;
+        $ids = $this->request->get('ids', '');
+        if(!empty($ids)){
+            $this->whereExtend['exam_collection_id'] = ['in', $ids];
+        }
+
+        $departmentdata = [];
+        $collectionlist = Db::name('real_exam')->where('exam_collection_type',3)
+            ->whereTime('starttime','year')
+            ->group('exam_collection_id')
+            ->field('exam_collection_id,exam_collection_name')
+            ->order('exam_collection_id desc')->select();
+        foreach ($collectionlist as $k => $v) {
+            $departmentdata[$v['exam_collection_id']] = $v['exam_collection_name'];
+        }
+        $this->view->assign('departmentdata', $departmentdata);
+        $this->view->assign('ids', $ids);
     }
 
     /**
@@ -31,9 +58,133 @@ class Screen extends Backend
      */
     public function index()
     {
-        return $this->view->fetch();
-    }
+        //区队总数
+        $where_depart['level'] = 5;
+        $qudui_total = $this->departmodel->where($where_depart)->count();
+        $this->assign('qudui_total', $qudui_total);
+
+        //学员总数
+        $where_xy['depart_id'] = ['>',0];
+        $xy_total = $this->adminmodel->where($where_xy)->count();
+        $this->assign('xy_total', $xy_total);
+
+        //最高分
+        $max = $this->model->where($this->whereExtend)->order('endtime desc')->max('total_score');
+        $this->assignconfig('max', $max);
+        //最低分
+        $min = $this->model->where($this->whereExtend)->order('endtime desc')->min('total_score');
+        $this->assignconfig('min',$min);
+
+        //平均分
+        //考试人数
+        $exam_xueyuan_count = $this->model->where($this->whereExtend)->count();
+        //考试总分
+        $exam_xueyuan_total = $this->model->where($this->whereExtend)->sum('total_score');
+        //考试总分/考试人数
+        $exam_pjf = $exam_xueyuan_count>0?bcdiv($exam_xueyuan_total, $exam_xueyuan_count):0;
+        $this->assignconfig('exam_pjf',$exam_pjf);
+
+        //平均时长
+        //考试总时长
+        $exam_shichang = $this->model->where($this->whereExtend)->sum('exam_duration');
+        $exam_pjsc = $exam_xueyuan_count>0? bcdiv($exam_shichang, $exam_xueyuan_count):0;
+        $this->assignconfig('exam_pjsc',bcdiv($exam_pjsc,60));
 
+        //学员成绩统计
+        $xueyuan_chengji_tongji = $this->model->where($this->whereExtend)->where('total_score>0')->order('endtime desc')->limit(50)->select();
+        $this->assign('xueyuan_chengji_tongji', $xueyuan_chengji_tongji);
 
+        //各区队平均分分析
+        $qudui_list = $this->model->where($this->whereExtend)->group('user_depart_id')->select();
+        $qudui = [];
+        foreach ($qudui_list as $k => $v) {
+            $qudui_list[$k]['user_depart_name'] = $this->departmodel->where('id',$v['user_depart_id'])->value('name');
+            //每个区队的考试人数
+            $qudui_exam_count = $this->model->where('user_depart_id',$v['user_depart_id'])->count();
+            //每个区队的总分
+            $qudui_exam_total = $this->model->where('user_depart_id',$v['user_depart_id'])->sum('total_score');
+            //每个区队的平均分
+            $qudui_list[$k]['user_depart_pjf'] = bcdiv($qudui_exam_total,$qudui_exam_count);
+        }
+        unset($v);
+        $this->assignconfig('qudui_list', $qudui_list);
+        //区队平均分 年份
+        $this->assignconfig('qudui_list_year', date('Y'));
 
+
+        //本年度考试成绩平均分统计
+        $collection_list = $this->model->where('exam_collection_type',3)->whereTime('starttime','year')->group('exam_collection_id')->order('exam_collection_id desc')->limit(6)->select();
+        foreach($collection_list as $k=>$v){
+            //每个考试的考试人数
+            $collection_exam_count = $this->model->where('exam_collection_id',$v['exam_collection_id'])->count();
+            //每个区队的总分
+            $collection_exam_total = $this->model->where('exam_collection_id',$v['exam_collection_id'])->sum('total_score');
+            //每个区队的平均分
+            $collection_list[$k]['collection_pjf'] = bcdiv($collection_exam_total,$collection_exam_count);
+        }
+        $this->assignconfig('collection_list', $collection_list);
+
+        //FZD048型侦毒器维修难点统计
+        $fault_one = $this->faultmodel->where(['sim_type'=>'0001'])->field('fault_id,name')->select();
+        foreach ($fault_one as $k1 => $val1){
+//            if(strlen($val1['name'])>15){
+//                $name =  mb_strcut($val1['name'],0,15,'utf8')."...";
+//            }else{
+//                $name = $val1['name'];
+//            }
+//            $fault_one[$k1]['name'] = $name;
+            //先查分配次数,在查错误率
+            $error_total = Db::name('real_exam_fault')->where(['flag'=>1,'fault_id'=>$val1['fault_id'],'answer_right'=>2])->count();
+            $fault_one[$k1]['error_total'] = $error_total;
+        }
+        unset($val1);
+        $vaccineCount = array_column($fault_one, 'error_total');
+        array_multisort($vaccineCount,SORT_DESC,$fault_one);
+        $largestFour = array_slice($fault_one, 0, 5); // 获取最大的四个值
+        $one_static = $largestFour;
+        $this->assignconfig('one_static', $one_static);
+
+        //FZB006型毒剂报警器维修难点统计
+        $fault_two = $this->faultmodel->where(['sim_type'=>'0002'])->field('fault_id,name')->select();
+        foreach ($fault_two as $k1 => $val1){
+//            if(strlen($val1['name'])>15){
+//                $name =  mb_strcut($val1['name'],0,15,'utf8')."...";
+//            }else{
+//                $name = $val1['name'];
+//            }
+//            $fault_two[$k1]['name'] = $name;
+            //先查分配次数,在查错误率
+            $error_total = Db::name('real_exam_fault')->where(['flag'=>1,'fault_id'=>$val1['fault_id'],'answer_right'=>2])->count();
+            $fault_two[$k1]['error_total'] = $error_total;
+        }
+        unset($val1);
+        $vaccineCount = array_column($fault_two, 'error_total');
+        array_multisort($vaccineCount,SORT_DESC,$fault_two);
+        $largestFour = array_slice($fault_two, 0, 5); // 获取最大的四个值
+        $two_static = $largestFour;
+        $this->assignconfig('two_static', $two_static);
+
+        //防化兵用毒剂报警器维修难点统计
+        $fault_three = $this->faultmodel->where(['sim_type'=>'0003'])->field('fault_id,name')->select();
+        foreach ($fault_three as $k1 => $val1){
+//            if(strlen($val1['name'])>15){
+//                $name =  mb_strcut($val1['name'],0,15,'utf8')."...";
+//            }else{
+//                $name = $val1['name'];
+//            }
+//            $fault_three[$k1]['name'] = $name;
+            //先查分配次数,在查错误率
+            $error_total = Db::name('real_exam_fault')->where(['flag'=>1,'fault_id'=>$val1['fault_id'],'answer_right'=>2])->count();
+            $fault_three[$k1]['error_total'] = $error_total;
+        }
+        unset($val1);
+        $vaccineCount = array_column($fault_three, 'error_total');
+        array_multisort($vaccineCount,SORT_DESC,$fault_three);
+        $largestFour = array_slice($fault_three, 0, 5); // 获取最大的四个值
+        $three_static = $largestFour;
+        $this->assignconfig('three_static', $three_static);
+
+
+        return $this->view->fetch();
+    }
 }

+ 14 - 0
application/admin/model/teacher/Exams.php

@@ -29,6 +29,7 @@ class Exams extends Model
     // 追加属性
     protected $append = [
         'sim_type_text',
+        'simtype_abbr_text',
         'fault_names',
         'xianxiang_names',
         'yuanyin_names',
@@ -69,6 +70,19 @@ class Exams extends Model
         return $sim_type_text;
     }
 
+    public function getSimtypeAbbrTextAttr($value, $data)
+    {
+        $sim_type_text = '';
+        if($data['sim_type']=='0001'){
+            $sim_type_text = 'FZD04B型';
+        }else if ($data['sim_type']=='0002'){
+            $sim_type_text = 'FZB006型';
+        }else if ($data['sim_type']=='0003'){
+            $sim_type_text = '防化兵';
+        }
+        return $sim_type_text;
+    }
+
     public function getFaultNamesAttr($value, $data)
     {
         $fault_name = '';

+ 11 - 0
application/admin/view/layout/screen.html

@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        {include file="common/meta" /}
+    </head>
+
+    <body class="" style="margin-top: -25px">
+        {__CONTENT__}
+        {include file="common/script" /}
+    </body>
+</html>

+ 31 - 57
application/admin/view/screen/index.html

@@ -8,11 +8,6 @@
 <script type="text/javascript" src="/assets/screen/js/jquery.limarquee.js"></script>
 <script type="text/javascript" src="/assets/screen/js/jquery.cxselect.min.js"></script>
 <link rel="stylesheet" href="/assets/screen/css/comon0.css">
-<style>
-  select option{
-    color: #ccc;
-  }
-</style>
 </head>
 <body>
 <div style="background:#000d4a url(/assets/screen/images/bg.jpg) center top;">
@@ -22,12 +17,11 @@
   <div class="back"></div>
   <div class="head">
     <div class="weather1">
-      <select style="width: 200px;margin-top: 15px;background-color:#01114c;color:white;height: 30px;border-radius: 6px">
-        <option>请选择对应考试</option>
-        <option>模拟考试1</option>
-        <option>模拟考试2</option>
-        <option>模拟考试3</option>
-      </select>
+        <form id="role-form" class="form-horizontal form-ajax" role="form" data-toggle="validator" method="get" action="">
+            <div class="col-xs-12 col-sm-8" style="width: 200px;">
+            {:build_select('collection_id', $departmentdata, $ids, ['class'=>'form-control selectpicker collections','id'=>'collection', 'data-rule'=>'required','multiple'=>''])}
+            </div>
+        </form>
     </div>
     <h1>维修模拟训练平台大数据驾驶舱</h1>
     <div class="weather"><span id="showTime"></span></div>
@@ -57,10 +51,10 @@
 			<div class="sycm">
               <ul class="clearfix">
                 <li>
-                  <h2>8</h2>
+                  <h2>{$qudui_total}</h2>
                   <span>区队总数</span></li>
                 <li>
-                  <h2>15</h2>
+                  <h2>{$xy_total}</h2>
                   <span>学员总数</span></li>
               </ul>
             </div>
@@ -68,10 +62,10 @@
 			  <ul class="jindu clearfix">
                   <div></div>
 				  <div></div>
-			  <li id="zb1"></li>
-			  <li id="zb2"></li>
-			  <li id="zb3"></li>
-			  <li id="zb4"></li>
+                  <li id="zb1"></li>
+                  <li id="zb2"></li>
+                  <li id="zb3"></li>
+                  <li id="zb4"></li>
 			  </ul>
 			</div>
         </div>
@@ -84,7 +78,7 @@
       </li>
       <li>
         <div class="boxall" style="height:260px">
-          <div class="alltitle">FZD048型侦毒器维修难点统计</div>
+          <div class="alltitle">FZD04B型侦毒器维修难点统计</div>
           <div class="navboxall" id="echart1"> </div>
         </div>
         <div class="boxall" style="height:270px">
@@ -99,49 +93,23 @@
           <div class="alltitle">学员成绩统计</div>
           <div class="navboxall" >
             <div class="wraptit">
-              <span>学号</span>
-              <span>姓名</span>
-              <span>模拟器类型</span>
-              <span>成绩</span>
+                <span>学号</span>
+                <span>姓名</span>
+                <span>模拟器类型</span>
+                <span>成绩</span>
             </div>
             <div class="wrap">
               <ul>
+                  {foreach name="xueyuan_chengji_tongji" item="vo"}
                   <li>
-                    <p><span>xueyuan001</span><span>学员1</span><span>FZD048型</span><span>85</span></p>
-                  </li>
-                  <li>
-                    <p><span>xueyuan010</span><span>学员10</span><span>FZB006型</span><span>76</span></p>
-                  </li>
-                  <li>
-                    <p><span>xueyuan006</span><span>学员6</span><span>防化兵</span><span>80</span></p>
-                  </li>
-                  <li>
-                    <p><span>xueyuan002</span><span>学员2</span><span>防化兵</span><span>70</span></p>
-                  </li>
-                  <li>
-                    <p><span>xueyuan008</span><span>学员8</span><span>防化兵</span><span>90</span></p>
-                  </li>
-                  <li>
-                    <p><span>xueyuan009</span><span>学员9</span><span>FZB006型</span><span>75</span></p>
-                  </li>
-                  <li>
-                    <p><span>xueyuan001</span><span>学员1</span><span>FZD048型</span><span>85</span></p>
-                  </li>
-                  <li>
-                    <p><span>xueyuan010</span><span>学员10</span><span>FZB006型</span><span>76</span></p>
-                  </li>
-                  <li>
-                    <p><span>xueyuan006</span><span>学员6</span><span>防化兵</span><span>80</span></p>
-                  </li>
-                  <li>
-                    <p><span>xueyuan002</span><span>学员2</span><span>防化兵</span><span>70</span></p>
-                  </li>
-                  <li>
-                    <p><span>xueyuan008</span><span>学员8</span><span>防化兵</span><span>90</span></p>
-                  </li>
-                  <li>
-                    <p><span>xueyuan009</span><span>学员9</span><span>FZB006型</span><span>75</span></p>
+                      <p>
+                          <span>{$vo.user_username}</span>
+                          <span>{$vo.user_nickname}</span>
+                          <span>{$vo.simtype_abbr_text}</span>
+                          <span>{$vo.total_score}</span>
+                      </p>
                   </li>
+                  {/foreach}
 				</ul>
             </div>
           </div>
@@ -167,7 +135,6 @@
     </ul>
   </div>
 </div>
-<!--青岛 研 锦 网 络 科技有限公司   版权所有-->
 <script>
 
 $(function(){
@@ -178,5 +145,12 @@ $(function(){
 	});
 });
 </script>
+<style>
+    .btn-default{
+        background-color: #5878b3 !important;
+        color: #ffffff;
+        border-color: #5878b3 !important;
+    }
+</style>
 </body>
 </html>

+ 769 - 3
public/assets/js/backend/screen.js

@@ -1,9 +1,775 @@
-define(['jquery', 'bootstrap', 'backend', 'addtabs', 'table', 'echarts', 'echarts-theme', 'template'], function ($, undefined, Backend, Datatable, Table, Echarts, undefined, Template) {
-
+define(['jquery', 'bootstrap', 'backend', 'addtabs', 'table', 'echarts', 'echarts-theme', 'template','form'], function ($, undefined, Backend, Datatable, Table, Echarts, undefined, Template,Form) {
     var Controller = {
         index: function () {
+            // $("input[name='collection_name']").addClass("selectpage").data("source", "district/selectpage").data('params',{'custom[pid]':0,'custom[departid]':1}).data("primaryKey", "name").data("field", "name").data("orderBy", "number asc");
+            //最高分
+            zg();
+            //最低分
+            zd();
+            //平均分
+            pjf();
+            //平均时长
+            pjsc();
+
+            //各区队平均分分析
+            echarts_41();
+            //本年度考试成绩平均分统计
+            echarts_51();
+
+            //FZD04B型侦毒器维修难点统计
+            echarts_11();
+            //FZB006型毒剂报警器维修难点统计
+            echarts_21();
+            // 防化兵用毒剂报警器维修难点统计
+            echarts_61();
+
+            //最高分
+            function zg() {
+                // 基于准备好的dom,初始化echarts实例
+                var myChart = echarts.init(document.getElementById('zb1'));
+                var v1=100;
+                var v2=0;
+                var v3=v1+v2;
+                option = {
+                    series: [{
+                        type: 'pie',
+                        radius: ['60%', '70%'],
+                        color:'#49bcf7',
+                        label: {
+                            normal: {
+                                position: 'center'
+                            }
+                        },
+                        data: [{
+                            value: v1,
+                            name: Config.max,
+                            label: {
+                                normal: {
+                                    formatter:70,//Math.round( v1/v3*100)+ '%%',
+                                    textStyle: {
+                                        fontSize: 30,
+                                        color:'#fff',
+                                    }
+                                }
+                            }
+                        },
+                            {
+                                value: v2,
+                                label: {
+                                    normal: {
+                                        formatter : function (params){
+                                            return '最高分';
+                                        },
+                                        textStyle: {
+                                            color: '#aaa',
+                                            fontSize: 16
+                                        }
+                                    }
+                                },
+                                itemStyle: {
+                                    normal: {
+                                        color: 'rgba(255,255,255,.2)'
+                                    },
+                                    emphasis: {
+                                        color: '#fff'
+                                    }
+                                },
+                            }]
+                    }]
+                };
+                myChart.setOption(option);
+                window.addEventListener("resize",function(){
+                    myChart.resize();
+                });
+            }
+            //最低分
+            function zd() {
+                // 基于准备好的dom,初始化echarts实例
+                var myChart = echarts.init(document.getElementById('zb2'));
+                var v1=Config.min;
+                var v2=100;
+                var v3=v1+v2;
+                option = {
+                    //animation: false,
+                    series: [{
+                        type: 'pie',
+                        radius: ['60%', '70%'],
+                        color:'#49bcf7',
+                        label: {
+                            normal: {
+                                position: 'center'
+                            }
+                        },
+                        data: [{
+                            value: Config.min,
+                            name: Config.min,
+                            label: {
+                                normal: {
+                                    // formatter:Math.round( v1/v3*100)+ '%',
+                                    textStyle: {
+                                        fontSize: 24,
+                                        color:'#fff',
+                                    }
+                                }
+                            }
+                        }, {
+                            value: v2,
+                            label: {
+                                normal: {
+                                    formatter : function (params){
+                                        return '最低分';
+                                    },
+                                    textStyle: {
+                                        color: '#aaa',
+                                        fontSize: 16
+                                    }
+                                }
+                            },
+                            itemStyle: {
+                                normal: {
+                                    color: 'rgba(255,255,255,.2)'
+                                },
+                                emphasis: {
+                                    color: '#fff'
+                                }
+                            },
+                        }]
+                    }]
+                };
+                myChart.setOption(option);
+                window.addEventListener("resize",function(){
+                    myChart.resize();
+                });
+            }
+            //平均分
+            function pjf() {
+                // 基于准备好的dom,初始化echarts实例
+                var myChart = echarts.init(document.getElementById('zb3'));
+                var v1=Config.exam_pjf;
+                var v2=25;
+                option = {
+                    series: [{
+
+                        type: 'pie',
+                        radius: ['60%', '70%'],
+                        color:'#62c98d',
+                        label: {
+                            normal: {
+                                position: 'center'
+                            }
+                        },
+                        data: [{
+                            value: Config.exam_pjf,
+                            name: Config.exam_pjf,
+                            label: {
+                                normal: {
+                                    // formatter:Math.round( v1/v3*100)+ '%',
+                                    textStyle: {
+                                        fontSize: 24,
+                                        color:'#fff',
+                                    }
+                                }
+                            }
+                        }, {
+                            value: v2,
+                            label: {
+                                normal: {
+                                    formatter : function (params){
+                                        return '平均分';
+                                    },
+                                    textStyle: {
+                                        color: '#aaa',
+                                        fontSize: 16
+                                    }
+                                }
+                            },
+                            itemStyle: {
+                                normal: {
+                                    color: 'rgba(255,255,255,.2)'
+                                },
+                                emphasis: {
+                                    color: '#fff'
+                                }
+                            },
+                        }]
+                    }]
+                };
+                myChart.setOption(option);
+                window.addEventListener("resize",function(){
+                    myChart.resize();
+                });
+            }
+            //平均时长
+            function pjsc() {
+                // 基于准备好的dom,初始化echarts实例
+                var myChart = echarts.init(document.getElementById('zb4'));
+                var v1=Config.exam_pjsc;
+                var v2=10;
+                option = {
+                    series: [{
+
+                        type: 'pie',
+                        radius: ['60%', '70%'],
+                        color:'#29d08a',
+                        label: {
+                            normal: {
+                                position: 'center'
+                            }
+                        },
+                        data: [{
+                            value: v1,
+                            name: Config.exam_pjsc+'分钟',
+                            label: {
+                                normal: {
+                                    // formatter:Math.round( v1/v3*100)+ '%',
+                                    textStyle: {
+                                        fontSize: 24,
+                                        color:'#fff',
+                                    }
+                                }
+                            }
+                        }, {
+                            value: v2,
+                            label: {
+                                normal: {
+                                    formatter : function (params){
+                                        return '平均时长';
+                                    },
+                                    textStyle: {
+                                        color: '#aaa',
+                                        fontSize: 16
+                                    }
+                                }
+                            },
+                            itemStyle: {
+                                normal: {
+                                    color: 'rgba(255,255,255,.2)'
+                                },
+                                emphasis: {
+                                    color: '#fff'
+                                }
+                            },
+                        }]
+                    }]
+                };
+                myChart.setOption(option);
+                window.addEventListener("resize",function(){
+                    myChart.resize();
+                });
+            }
+
+            //各区队平均分分析
+            function echarts_41() {
+                var xaa = [];
+                for (var i in Config.qudui_list){
+                    xaa.push(Config.qudui_list[i]['user_depart_name']);
+                }
+                var vaa = [];
+                for (var i in Config.qudui_list){
+                    vaa.push(Config.qudui_list[i]['user_depart_pjf']);
+                }
+                // 基于准备好的dom,初始化echarts实例
+                var myChart = echarts.init(document.getElementById('echart4'));
+                option = {
+                    tooltip: {
+                        trigger: 'axis',
+                        axisPointer: {
+                            type: 'shadow'
+                        }
+                    },
+                    legend: {
+                        data: ['2025年'],
+                        align: 'right',
+                        right: '40%',
+                        top:'0%',
+                        textStyle: {
+                            color: "#fff",
+                            fontSize: '16',
+
+                        },
+                        itemWidth: 16,
+                        itemHeight: 16,
+                        itemGap: 35
+                    },
+                    grid: {
+                        left: '0%',
+                        top:'40px',
+                        right: '0%',
+                        bottom: '2%',
+                        containLabel: true
+                    },
+                    xAxis: [{
+                        type: 'category',
+                        data: xaa,
+                        axisLine: {
+                            show: true,
+                            lineStyle: {
+                                color: "rgba(255,255,255,.1)",
+                                width: 1,
+                                type: "solid"
+                            },
+                        },
+
+                        axisTick: {
+                            show: false,
+                        },
+                        axisLabel:  {
+                            interval: 0,
+                            // rotate:50,
+                            show: true,
+                            splitNumber: 15,
+                            textStyle: {
+                                color: "rgba(255,255,255,.6)",
+                                fontSize: '16',
+                            },
+                        },
+                    }],
+                    yAxis: [{
+                        type: 'value',
+                        axisLabel: {
+                            //formatter: '{value} %'
+                            show:true,
+                            textStyle: {
+                                color: "rgba(255,255,255,.6)",
+                                fontSize: '16',
+                            },
+                        },
+                        axisTick: {
+                            show: false,
+                        },
+                        axisLine: {
+                            show: true,
+                            lineStyle: {
+                                color: "rgba(255,255,255,.1	)",
+                                width: 1,
+                                type: "solid"
+                            },
+                        },
+                        splitLine: {
+                            lineStyle: {
+                                color: "rgba(255,255,255,.1)",
+                            }
+                        }
+                    }],
+                    series: [{
+                        name: Config.qudui_list_year+'年',
+                        type: 'bar',
+                        data: vaa,
+                        barWidth:'15', //柱子宽度
+                        // barGap: 1, //柱子之间间距
+                        itemStyle: {
+                            normal: {
+                                color:'#2f89cf',
+                                opacity: 1,
+                                barBorderRadius: 5,
+                            }
+                        }
+                    },
+                        //     {
+                        //     name: '2018年',
+                        //     type: 'bar',
+                        // 	data: [1, 4, 5, 11, 12, 9, 5, 6, 5, 6, 3, 9],
+                        // 	barWidth:'15',
+                        //    // barGap: 1,
+                        //     itemStyle: {
+                        //         normal: {
+                        //             color:'#62c98d',
+                        //             opacity: 1,
+                        // 			barBorderRadius: 5,
+                        //         }
+                        //     }
+                        // },
+                    ]
+                };
+
+                /* 青岛研锦网络科技有限公司   版权所有*/
+                // 使用刚指定的配置项和数据显示图表。
+                myChart.setOption(option);
+                window.addEventListener("resize",function(){
+                    myChart.resize();
+                });
+            }
+
+            //本年度考试成绩平均分统计
+            function echarts_51() {
+                var xa1 = [];
+                for (var i in Config.collection_list){
+                    xa1.push(Config.collection_list[i]['exam_collection_name']);
+                }
+                var va1 = [];
+                for (var i in Config.collection_list){
+                    va1.push(Config.collection_list[i]['collection_pjf']);
+                }
+                // 基于准备好的dom,初始化echarts实例
+                var myChart = echarts.init(document.getElementById('echart5'));
+                option = {
+                    //  backgroundColor: '#00265f',
+                    tooltip: {
+                        trigger: 'axis',
+                        axisPointer: {
+                            // type: 'shadow'
+                        }
+                    },
+                    // legend: {
+                    //     // data: ['2017年', '2018年'],
+                    //     align: 'right',
+                    //     right: '40%',
+                    // 	top:'0%',
+                    //     // textStyle: {
+                    //     //     color: "#fff",
+                    // 	//     fontSize: '16',
+                    //     //
+                    //     // },
+                    //
+                    //     // itemGap: 35
+                    // },
+                    grid: {
+                        left: '0%',
+                        top:'40px',
+                        right: '0%',
+                        bottom: '2%',
+                        containLabel: true
+                    },
+                    xAxis: [{
+                        type: 'category',
+                        data: xa1,
+                        axisLine: {
+                            show: true,
+                            lineStyle: {
+                                color: "rgba(255,255,255,.1)",
+                                width: 1,
+                                type: "solid"
+                            },
+                        },
+                        axisTick: {
+                            show: false,
+                        },
+                        axisLabel:  {
+                            interval: 0,
+                            // rotate:50,
+                            show: true,
+                            splitNumber: 15,
+                            textStyle: {
+                                color: "rgba(255,255,255,.6)",
+                                fontSize: '16',
+                            },
+                        },
+                    }],
+                    yAxis: [{
+                        type: 'value',
+                        axisLabel: {
+                            //formatter: '{value} %'
+                            show:true,
+                            textStyle: {
+                                color: "rgba(255,255,255,.6)",
+                                fontSize: '16',
+                            },
+                        },
+                        axisTick: {
+                            show: false,
+                        },
+                        axisLine: {
+                            show: true,
+                            lineStyle: {
+                                color: "rgba(255,255,255,.1	)",
+                                width: 1,
+                                type: "solid"
+                            },
+                        },
+                        splitLine: {
+                            lineStyle: {
+                                color: "rgba(255,255,255,.1)",
+                            }
+                        }
+                    }],
+                    series: [
+                        //     {
+                        //     name: '2017年',
+                        //     type: 'line',
+                        //
+                        //     data: [2, 6, 3, 8, 5, 8, 10, 13, 8, 5, 6, 9],
+                        //
+                        //     itemStyle: {
+                        //         normal: {
+                        //             color:'#2f89cf',
+                        //             opacity: 1,
+                        //
+                        // 			barBorderRadius: 5,
+                        //         }
+                        //     }
+                        // },
+                        {
+                            // name: '2018年',
+                            type: 'line',
+                            data: va1,
+                            barWidth:'15',
+                            // barGap: 1,
+                            itemStyle: {
+                                normal: {
+                                    color:'#62c98d',
+                                    opacity: 1,
+                                    barBorderRadius: 5,
+                                }
+                            }
+                        },
+                    ]
+                };
+                // 使用刚指定的配置项和数据显示图表。
+                myChart.setOption(option);
+                window.addEventListener("resize",function(){
+                    myChart.resize();
+                });
+            }
+
+            //FZD04B型侦毒器维修难点统计
+            function echarts_11() {
+                var xa12 = [];
+                for (var i in Config.one_static){
+                    xa12.push(Config.one_static[i]['name']);
+                }
+                // 基于准备好的dom,初始化echarts实例
+                var myChart = echarts.init(document.getElementById('echart1'));
+                option = {
+                    tooltip : {
+                        trigger: 'item',
+                        formatter: "{b} : {c} ({d}%)"
+                    },
+                    legend: {
+                        right:3,
+                        top:30,
+                        height:140,
+                        itemWidth:8,
+                        itemHeight:10,
+                        itemGap:10,
+                        textStyle:{
+                            color: 'rgba(255,255,255,.6)',
+                            fontSize:12
+                        },
+                        orient:'vertical',
+                        data:xa12
+                    },
+                    calculable : true,
+                    series : [
+                        {
+                            name:' ',
+                            color: ['#62c98d', '#2f89cf', '#c9c862', '#c98b62', '#c962b9', '#7562c9','#c96262'],
+                            type:'pie',
+                            radius : [30, 70],
+                            center : ['35%', '50%'],
+                            roseType : 'radius',
+                            label: {
+                                normal: {
+                                    show: true
+                                },
+                                emphasis: {
+                                    show: true
+                                }
+                            },
+                            label:{
+                                // ✅ 标签换行配置
+                                formatter: function(params) {
+                                    console.log(params.data.name)
+                                    return `${params.data.name.replace(/(.{4})/g, '$1\n')}\n`;
+                                },
+                            },
+                            lableLine: {
+                                normal: {
+                                    show: false
+                                },
+                                emphasis: {
+                                    show: true
+                                }
+                            },
+                            data:[
+                                {value:Config.one_static[0]['error_total'], name:Config.one_static[0]['name']},
+                                {value:Config.one_static[1]['error_total'], name:Config.one_static[1]['name']},
+                                {value:Config.one_static[2]['error_total'], name:Config.one_static[2]['name']},
+                                {value:Config.one_static[3]['error_total'], name:Config.one_static[3]['name']},
+                                {value:Config.one_static[4]['error_total'], name:Config.one_static[4]['name']},
+                            ]
+                        },
+                    ]
+                };
+
+                // 使用刚指定的配置项和数据显示图表。
+                myChart.setOption(option);
+                window.addEventListener("resize",function(){
+                    myChart.resize();
+                });
+            }
+
+            // FZB006型毒剂报警器维修难点统计
+            function echarts_21() {
+                var xa13 = [];
+                for (var i in Config.two_static){
+                    xa13.push(Config.two_static[i]['name']);
+                }
+                // 基于准备好的dom,初始化echarts实例
+                var myChart = echarts.init(document.getElementById('echart2'));
+                option = {
+                    tooltip : {
+                        trigger: 'item',
+                        formatter: "{b} : {c} ({d}%)"
+                    },
+                    legend: {
+                        right:-10,
+                        top:50,
+                        height:140,
+                        itemWidth:8,
+                        itemHeight:10,
+                        itemGap:10,
+                        textStyle:{
+                            color: 'rgba(255,255,255,.6)',
+                            fontSize:12
+                        },
+                        orient:'vertical',
+                        data:xa13,
+                    },
+                    calculable : true,
+                    series : [
+                        {
+                            name:' ',
+                            color: ['#62c98d', '#205acf', '#c9c862', '#c98b62', '#c962b9', '#7562c9','#c96262'],
+                            type:'pie',
+                            radius : [30, 70],
+                            center : ['35%', '50%'],
+                            roseType : 'radius',
+                            label: {
+                                normal: {
+                                    show: true
+                                },
+                                emphasis: {
+                                    show: true
+                                },
+                            },
+                            label:{
+                                // ✅ 标签换行配置
+                                formatter: function(params) {
+                                    console.log(params.data.name)
+                                    return `${params.data.name.replace(/(.{4})/g, '$1\n')}\n`;
+                                },
+                            },
+                            lableLine: {
+                                normal: {
+                                    show: true
+                                },
+                                emphasis: {
+                                    show: true
+                                }
+                            },
+                            data:[
+                                {value:Config.two_static[0]['error_total'], name:Config.two_static[0]['name']},
+                                {value:Config.two_static[1]['error_total'], name:Config.two_static[1]['name']},
+                                {value:Config.two_static[2]['error_total'], name:Config.two_static[2]['name']},
+                                {value:Config.two_static[3]['error_total'], name:Config.two_static[3]['name']},
+                                {value:Config.two_static[4]['error_total'], name:Config.two_static[4]['name']}
+                            ]
+                        },
+                    ]
+                };
+
+                // 使用刚指定的配置项和数据显示图表。
+                myChart.setOption(option);
+                window.addEventListener("resize",function(){
+                    myChart.resize();
+                });
+            }
+
+            //防化兵用毒剂报警器维修难点统计
+            function echarts_61() {
+                var xa16 = [];
+                for (var i in Config.three_static){
+                    xa16.push(Config.three_static[i]['name']);
+                }
+                // 基于准备好的dom,初始化echarts实例
+                var myChart = echarts.init(document.getElementById('echart6'));
+
+                option = {
+                    tooltip : {
+                        trigger: 'item',
+                        formatter: "{b} : {c} ({d}%)"
+                    },
+                    legend: {
+                        right:-5,
+                        top:1,
+                        height:100,
+                        itemWidth:8,
+                        itemHeight:8,
+                        itemGap:10,
+                        textStyle:{
+                            color: 'rgba(255,255,255,.6)',
+                            fontSize:12
+                        },
+                        orient:'vertical',
+                        data:xa16,
+                        // formatter: function(name) {
+                        //     const dataItem = option.series[0].data.find(item => item.name === name);
+                        //     // ✅ 名称每4字符换行 + 显示数值
+                        //     return `${name.replace(/(.{8})/g, '$1\n')}\n`;
+                        // },
+                    },
+                    calculable : true,
+                    series : [
+                        {
+                            name:' ',
+                            color: ['#62c98d', '#205acf', '#c9c862', '#c98b62', '#c962b9', '#7562c9','#c96262'],
+                            type:'pie',
+                            radius : [30, 70],
+                            center : ['35%', '50%'],
+                            roseType : 'radius',
+                            label: {
+                                normal: {
+                                    show: true
+                                },
+                                emphasis: {
+                                    show: true
+                                }
+                            },
+                            label:{
+                                // ✅ 标签换行配置
+                                formatter: function(params) {
+                                    console.log(params.data.name)
+                                    return `${params.data.name.replace(/(.{4})/g, '$1\n')}\n`;
+                                },
+                            },
+                            lableLine: {
+                                normal: {
+                                    show: true
+                                },
+                                emphasis: {
+                                    show: true
+                                }
+                            },
 
-        }
+                            data:[
+                                {value:Config.three_static[0]['error_total'], name:Config.three_static[0]['name']},
+                                {value:Config.three_static[1]['error_total'], name:Config.three_static[1]['name']},
+                                {value:Config.three_static[2]['error_total'], name:Config.three_static[2]['name']},
+                                {value:Config.three_static[3]['error_total'], name:Config.three_static[3]['name']},
+                                {value:Config.three_static[4]['error_total'], name:Config.three_static[4]['name']}
+                            ]
+                        },
+                    ]
+                };
+                // 使用刚指定的配置项和数据显示图表。
+                myChart.setOption(option);
+                window.addEventListener("resize",function(){
+                    myChart.resize();
+                });
+            }
+            $(document).on("change", ".collections", function(){
+                console.log($(this).val()+'###')
+                if($(this).val()){
+                    window.location.href = '/admin/screen/index?ids='+$(this).val();
+                }
+            });
+            Controller.api.bindevent();
+        },
+        api: {
+            bindevent: function () {
+                Form.api.bindevent($("form[role=form]"));
+            },
+        },
     };
 
     return Controller;

+ 37 - 20
public/assets/js/backend/teacher/collection.js

@@ -385,6 +385,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                                 if(Config.user_ids.length==0){
                                     return false;
                                 }else if(Config.user_ids.indexOf(rows.id)>-1){
+                                    console.log('dddddddddddd')
                                     return true;
                                 }else{
                                     return {disabled : true}
@@ -405,26 +406,27 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                 }
                 sub_table.on("check.bs.table uncheck.bs.table check-all.bs.table uncheck-all.bs.table post-body.bs.table", function (e) {
                     var selectedIds = Table.api.selectedids(sub_table);
-                    //     selectedData = Table.api.selecteddata(sub_table);
-                    // parent_options.subSelectedIds= [];
-                    // parent_options.subSelectedIds[admin_id] = selectedIds;
-                    // parent_options.subSelectedData[admin_id] = selectedData;
-                    //
-                    // var allSubselectIds = [];
-                    // var allSubselectData = [];
-                    // var allSubselectProjectlib = [];
-                    // for (var i in parent_options.subSelectedIds) {
-                    //     allSubselectIds.push.apply(allSubselectIds, parent_options.subSelectedIds[i]);
-                    // }
-                    // for (var j in parent_options.subSelectedData) {
-                    //     allSubselectData.push.apply(allSubselectData, parent_options.subSelectedData[j]);
-                    // }
-                    // parent_options.allSubselectIds = allSubselectIds;
-                    // parent_options.allSubselectData = allSubselectData;
-                    console.log(selectedIds);
-                    $(".xueyuan_input").val(selectedIds.length);
-                    $(".xueyuan_total").html(selectedIds.length);
-                    $(".depart_ids").val(selectedIds.join());
+                        selectedData = Table.api.selecteddata(sub_table);
+
+                    parent_options.subSelectedIds[admin_id] = selectedIds;
+                    parent_options.subSelectedData[admin_id] = selectedData;
+
+                    var allSubselectIds = [];
+                    var allSubselectData = [];
+                    var allSubselectProjectlib = [];
+                    for (var i in parent_options.subSelectedIds) {
+                        allSubselectIds.push.apply(allSubselectIds, parent_options.subSelectedIds[i]);
+                    }
+                    for (var j in parent_options.subSelectedData) {
+                        allSubselectData.push.apply(allSubselectData, parent_options.subSelectedData[j]);
+                    }
+                    parent_options.allSubselectIds = allSubselectIds;
+                    parent_options.allSubselectData = allSubselectData;
+
+                    $(".xueyuan_input").val(parent_options.allSubselectIds.length);
+                    $(".xueyuan_total").html(parent_options.allSubselectIds.length);
+                    $(".depart_ids").val(parent_options.allSubselectIds.join());
+                    console.log(parent_options.allSubselectIds)
                 });
             },
             bindevent2: function () {
@@ -480,6 +482,10 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         var id = row.id;
                         $("#sub_" + id).bootstrapTable("uncheckAll");
                     },
+                    onLoadSuccess: function (data) {
+                        var parent_options = table.bootstrapTable("getOptions");
+                        Controller.api.clearSelectIds(parent_options);
+                    },
                 });
 
                 // 为表格绑定事件
@@ -562,6 +568,17 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                 $("input[name='btSelectAll']").css('display','none');
                 Form.api.bindevent($("form[role=form]"));
             },
+            clearSelectIds: function (parent_options) {
+                // var toolbar = $("#toolbar");
+                // var allIds = [];
+                // var parent_options = $("#table").bootstrapTable("getOptions");
+                parent_options.allSubselectIds = [];
+                // console.log(parent_options.subSelectedIds)
+                parent_options.allSubselectData = [];
+                parent_options.subSelectedIds = {};
+                parent_options.subSelectedData = {};
+                // console.log(parent_options)
+            },
         }
     };
     return Controller;

+ 7 - 0
public/assets/js/require-backend.min.js

@@ -11770,6 +11770,7 @@ define('table',['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstr
             pageSize: Config.pagesize || localStorage.getItem("pagesize") || 10,
             pageList: [10, 15, 20, 25, 50, 'All'],
             pagination: true,
+
             clickToSelect: true, //是否启用点击选中
             dblClickToEdit: true, //是否启用双击编辑
             singleSelect: false, //是否启用单选
@@ -11793,6 +11794,12 @@ define('table',['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstr
             dragCheckboxMultiselect: true, //拖拽时复选框是否多选模式
             selectedIds: [],
             selectedData: [],
+
+            subSelectedIds: {},   //父子表   格式  {3:[4,5,6],4:[7,8,9]}
+            subSelectedData: {},  //父子表   格式  {3:[{},{},{}],4:[{},{},{}]}
+            allSubselectIds: [],  //父子表,子表id   格式  [4,5,6,7,8,9]
+            allSubselectData: [],  //父子表,子表数据[{},{},{}]
+
             extend: {
                 index_url: '',
                 add_url: '',

+ 8 - 1
public/assets/js/require-frontend.min.js

@@ -11618,6 +11618,7 @@ define('table',['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstr
             pageSize: Config.pagesize || localStorage.getItem("pagesize") || 10,
             pageList: [10, 15, 20, 25, 50, 'All'],
             pagination: true,
+
             clickToSelect: true, //是否启用点击选中
             dblClickToEdit: true, //是否启用双击编辑
             singleSelect: false, //是否启用单选
@@ -11641,6 +11642,12 @@ define('table',['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstr
             dragCheckboxMultiselect: true, //拖拽时复选框是否多选模式
             selectedIds: [],
             selectedData: [],
+
+            subSelectedIds: {},   //父子表   格式  {3:[4,5,6],4:[7,8,9]}
+            subSelectedData: {},  //父子表   格式  {3:[{},{},{}],4:[{},{},{}]}
+            allSubselectIds: [],  //父子表,子表id   格式  [4,5,6,7,8,9]
+            allSubselectData: [],  //父子表,子表数据[{},{},{}]
+
             extend: {
                 index_url: '',
                 add_url: '',
@@ -12401,7 +12408,7 @@ define('table',['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstr
                 answerName:function(value, row, index){
                     var text = '';
                     for (var i = 0;i<value.length;i++){
-                        text +='<span class="btn btn-xs m-1" style="background:#444c69;display: inline-block; color: white;border: none;border-radius: 4px;white-space: nowrap;font-size: 12px;">'+value[i].cx_name+'</span>';
+                        text +='<span class="btn btn-xs m-1 btn-danger">'+value[i].cx_type+':'+value[i].cx_name+'</span>';
                     }
                     return text;
                 },

+ 7 - 0
public/assets/js/require-table.js

@@ -29,6 +29,7 @@ define(['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstrap-table
             pageSize: Config.pagesize || localStorage.getItem("pagesize") || 10,
             pageList: [10, 15, 20, 25, 50, 'All'],
             pagination: true,
+
             clickToSelect: true, //是否启用点击选中
             dblClickToEdit: true, //是否启用双击编辑
             singleSelect: false, //是否启用单选
@@ -52,6 +53,12 @@ define(['jquery', 'bootstrap', 'moment', 'moment/locale/zh-cn', 'bootstrap-table
             dragCheckboxMultiselect: true, //拖拽时复选框是否多选模式
             selectedIds: [],
             selectedData: [],
+
+            subSelectedIds: {},   //父子表   格式  {3:[4,5,6],4:[7,8,9]}
+            subSelectedData: {},  //父子表   格式  {3:[{},{},{}],4:[{},{},{}]}
+            allSubselectIds: [],  //父子表,子表id   格式  [4,5,6,7,8,9]
+            allSubselectData: [],  //父子表,子表数据[{},{},{}]
+
             extend: {
                 index_url: '',
                 add_url: '',

+ 126 - 797
public/assets/screen/js/js.js

@@ -1,811 +1,140 @@
  $(window).load(function(){$(".loading").fadeOut()})  
 $(function () {
-    echarts_1();
-	echarts_2();
+    // echarts_1();
+	// echarts_2();
 	// echarts_3();
-	echarts_4();
-	echarts_5();
-	echarts_6();
-	zb1();
-	zb2();
-	zb3();
-	zb4();
-function echarts_1() {
-        /* 青 岛 研 锦 网 络 科 技 有限公司   版权所有*/
-        // 基于准备好的dom,初始化echarts实例
-        var myChart = echarts.init(document.getElementById('echart1'));
-        option = {
-                    tooltip : {
-                        trigger: 'item',
-                        formatter: "{b} : {c} ({d}%)"
-                    },
-                    legend: {
-                        right:10,
-                        top:30,
-                        height:140,
-                        itemWidth:10,
-                        itemHeight:10,
-                        itemGap:10,
-                        textStyle:{
-                            color: 'rgba(255,255,255,.6)',
-                            fontSize:12
-                        },
-                        orient:'vertical',
-                        data:['调速电位器','外壳及零件','热敏开关','加热指示灯','电池']
-                    },
-                   calculable : true,
-                    series : [
-                        {
-                            name:' ',
-							color: ['#62c98d', '#2f89cf', '#c9c862', '#c98b62', '#c962b9', '#7562c9','#c96262'],
-                            type:'pie',
-                            radius : [30, 70],
-                            center : ['35%', '50%'],
-                            roseType : 'radius',
-                            label: {
-                                normal: {
-                                    show: true
-                                },
-                                emphasis: {
-                                    show: true
-                                }
-                            },
+	// echarts_4();
+	// echarts_5();
+	// echarts_6();
+	// zb1();
+	// zb2();
+	// zb3();
+	// zb4();
+
+
+// function echarts_3() {
+//         var myChart = echarts.init(document.getElementById('echart3'));
+//
+//        option = {
+// 	    tooltip: {
+//         trigger: 'axis',
+//         axisPointer: {
+//             lineStyle: {
+//                 color: '#dddc6b'
+//             }
+//         }
+//     },
+//     grid: {
+//         left: '10',
+// 		top: '20',
+//         right: '30',
+//         bottom: '10',
+//         containLabel: true
+//     },
+//
+//     xAxis: [{
+//         type: 'category',
+//         boundaryGap: false,
+//         axisLabel:  {
+//                 textStyle: {
+//  					color: "rgba(255,255,255,.6)",
+// 					fontSize:16,
+//                 },
+//             },
+//         axisLine: {
+// 			lineStyle: {
+// 				color: 'rgba(255,255,255,.1)'
+// 			}
+//         },
+//
+//    data: ['模拟考1', '模拟考2', '模拟考3', '模拟考4', '模拟考5', '模拟考6', '模拟考7', '模拟考8', '模拟考9', '模拟考10']
+//
+//     }, {
+//
+//         axisPointer: {show: false},
+//         axisLine: {  show: false},
+//         position: 'bottom',
+//         offset: 20,
+//
+//     }],
+//
+//     yAxis: [{
+//         type: 'value',
+//         axisTick: {show: false},
+//         axisLine: {
+//             lineStyle: {
+//                 color: 'rgba(255,255,255,.1)'
+//             }
+//         },
+//        axisLabel:  {
+//                 textStyle: {
+//  					color: "rgba(255,255,255,.6)",
+// 					fontSize:16,
+//                 },
+//             },
+//
+//         splitLine: {
+//             lineStyle: {
+//                  color: 'rgba(255,255,255,.1)'
+//             }
+//         }
+//     }],
+//     series: [
+// 		{
+//         name: '结算率',
+//         type: 'line',
+//         smooth: true,
+//         symbol: 'circle',
+//         symbolSize: 5,
+//         showSymbol: false,
+//         lineStyle: {
+//
+//             normal: {
+// 				color: '#dddc6b',
+//                 width: 4
+//             }
+//         },
+//         areaStyle: {
+//             normal: {
+//                 color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
+//                     offset: 0,
+//                     color: 'rgba(221, 220, 107, 0.4)'
+//                 }, {
+//                     offset: 0.8,
+//                     color: 'rgba(221, 220, 107, 0.1)'
+//                 }], false),
+//                 shadowColor: 'rgba(0, 0, 0, 0.1)',
+//             }
+//         },
+// 			itemStyle: {
+// 			normal: {
+// 				color: '#dddc6b',
+// 				borderColor: 'rgba(221, 220, 107, .1)',
+// 				borderWidth: 12
+// 			}
+// 		},
+//         data: [70, 85, 65, 82, 94, 84,88,92,90,88]
+//
+//     },
+//
+// 		 ]
+//
+// };
+//
+//         // 使用刚指定的配置项和数据显示图表。
+//         myChart.setOption(option);
+//         window.addEventListener("resize",function(){
+//             myChart.resize();
+//         });
+//     }
 
-                            lableLine: {
-                                normal: {
-                                    show: false
-                                },
-                                emphasis: {
-                                    show: true
-                                }
-                            },
-                            data:[
-                                {value:10, name:'调速电位器'},
-                                {value:15, name:'外壳及零件'},
-                                {value:25, name:'热敏开关'},
-                                {value:30, name:'加热指示灯'},
-                                {value:35, name:'电池'},
-                            ]
-                        },
-                    ]
-                };
 
-        // 使用刚指定的配置项和数据显示图表。
-        myChart.setOption(option);
-        window.addEventListener("resize",function(){
-            myChart.resize();
-        });
-    }
-function echarts_2() {
-        // 基于准备好的dom,初始化echarts实例
-        var myChart = echarts.init(document.getElementById('echart2'));
 
-        option = {
-                    tooltip : {
-                        trigger: 'item',
-                        formatter: "{b} : {c} ({d}%)"
-                    },
-                    legend: {
-                        right:10,
-                        top:30,
-                        height:140,
-                        itemWidth:10,
-                        itemHeight:10,
-                        itemGap:10,
-                        textStyle:{
-                            color: 'rgba(255,255,255,.6)',
-                            fontSize:12
-                        },
-                        orient:'vertical',
-                        data:['显示屏','维护管','接口接线板','干燥管','电源模块']
-                    },
-                   calculable : true,
-                    series : [
-                        {
-                            name:' ',
-							color: ['#62c98d', '#205acf', '#c9c862', '#c98b62', '#c962b9', '#7562c9','#c96262'],	
-                            type:'pie',
-                            radius : [30, 70],
-                            center : ['35%', '50%'],
-                            roseType : 'radius',
-                            label: {
-                                normal: {
-                                    show: true
-                                },
-                                emphasis: {
-                                    show: true
-                                }
-                            },
 
-                            lableLine: {
-                                normal: {
-                                    show: true
-                                },
-                                emphasis: {
-                                    show: true
-                                }
-                            },
-                            data:[
-                                {value:50, name:'显示屏'},
-                                {value:45, name:'维护管'},
-                                {value:35, name:'接口接线板'},
-                                {value:30, name:'干燥管'},
-                                {value:28, name:'电源模块'}
-                            ]
-                        },
-                    ]
-                };
 
-        // 使用刚指定的配置项和数据显示图表。
-        myChart.setOption(option);
-        window.addEventListener("resize",function(){
-            myChart.resize();
-        });
-    }
-function echarts_3() {
-        var myChart = echarts.init(document.getElementById('echart3'));
 
-       option = {
-	    tooltip: {
-        trigger: 'axis',
-        axisPointer: {
-            lineStyle: {
-                color: '#dddc6b'
-            }
-        }
-    },
-    grid: {
-        left: '10',
-		top: '20',
-        right: '30',
-        bottom: '10',
-        containLabel: true
-    },
 
-    xAxis: [{
-        type: 'category',
-        boundaryGap: false,
-        axisLabel:  {
-                textStyle: {
- 					color: "rgba(255,255,255,.6)",
-					fontSize:16,
-                },
-            },
-        axisLine: {
-			lineStyle: { 
-				color: 'rgba(255,255,255,.1)'
-			}
-        },
 
-   data: ['模拟考1', '模拟考2', '模拟考3', '模拟考4', '模拟考5', '模拟考6', '模拟考7', '模拟考8', '模拟考9', '模拟考10']
-
-    }, {
-
-        axisPointer: {show: false},
-        axisLine: {  show: false},
-        position: 'bottom',
-        offset: 20,
-
-    }],
-
-    yAxis: [{
-        type: 'value',
-        axisTick: {show: false},
-        axisLine: {
-            lineStyle: {
-                color: 'rgba(255,255,255,.1)'
-            }
-        },
-       axisLabel:  {
-                textStyle: {
- 					color: "rgba(255,255,255,.6)",
-					fontSize:16,
-                },
-            },
-
-        splitLine: {
-            lineStyle: {
-                 color: 'rgba(255,255,255,.1)'
-            }
-        }
-    }],
-    series: [
-		{
-        name: '结算率',
-        type: 'line',
-        smooth: true,
-        symbol: 'circle',
-        symbolSize: 5,
-        showSymbol: false,
-        lineStyle: {
-			
-            normal: {
-				color: '#dddc6b',
-                width: 4
-            }
-        },
-        areaStyle: {
-            normal: {
-                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
-                    offset: 0,
-                    color: 'rgba(221, 220, 107, 0.4)'
-                }, {
-                    offset: 0.8,
-                    color: 'rgba(221, 220, 107, 0.1)'
-                }], false),
-                shadowColor: 'rgba(0, 0, 0, 0.1)',
-            }
-        },
-			itemStyle: {
-			normal: {
-				color: '#dddc6b',
-				borderColor: 'rgba(221, 220, 107, .1)',
-				borderWidth: 12
-			}
-		},
-        data: [70, 85, 65, 82, 94, 84,88,92,90,88]
-
-    }, 
-
-		 ]
-
-};
-
-        // 使用刚指定的配置项和数据显示图表。
-        myChart.setOption(option);
-        window.addEventListener("resize",function(){
-            myChart.resize();
-        });
-    }
-function echarts_4() {
-        // 基于准备好的dom,初始化echarts实例
-        var myChart = echarts.init(document.getElementById('echart4'));
-option = {
-    tooltip: {
-        trigger: 'axis',
-        axisPointer: {
-            type: 'shadow'
-        }
-    },
-    legend: {
-        data: ['2025年'],
-        align: 'right',
-        right: '40%',
-		top:'0%',
-        textStyle: {
-            color: "#fff",
-		    fontSize: '16',
-
-        },
-        itemWidth: 16,
-        itemHeight: 16,
-        itemGap: 35
-    },
-    grid: {
-        left: '0%',
-		top:'40px',
-        right: '0%',
-        bottom: '2%',
-       containLabel: true
-    },
-    xAxis: [{
-        type: 'category',
-      		data: ['011区队', '012区队', '013区队', '014区队', '015区队', '016区队', '017区队', '018区队', '019区队', '020区队', '021区队', '022区队','023区队', '024区队'],
-        axisLine: {
-            show: true,
-         lineStyle: {
-                color: "rgba(255,255,255,.1)",
-                width: 1,
-                type: "solid"
-            },
-        },
-		
-        axisTick: {
-            show: false,
-        },
-		axisLabel:  {
-                interval: 0,
-               // rotate:50,
-                show: true,
-                splitNumber: 15,
-                textStyle: {
- 					color: "rgba(255,255,255,.6)",
-                    fontSize: '16',
-                },
-            },
-    }],
-    yAxis: [{
-        type: 'value',
-        axisLabel: {
-           //formatter: '{value} %'
-			show:true,
-			 textStyle: {
- 					color: "rgba(255,255,255,.6)",
-                    fontSize: '16',
-                },
-        },
-        axisTick: {
-            show: false,
-        },
-        axisLine: {
-            show: true,
-            lineStyle: {
-                color: "rgba(255,255,255,.1	)",
-                width: 1,
-                type: "solid"
-            },
-        },
-        splitLine: {
-            lineStyle: {
-               color: "rgba(255,255,255,.1)",
-            }
-        }
-    }],
-    series: [{
-        name: '2017年',
-        type: 'bar',
-        data: [87,  99, 85, 82, 86, 94, 86, 82,92, 96, 94, 86, 78,75],
-        barWidth:'15', //柱子宽度
-       // barGap: 1, //柱子之间间距
-        itemStyle: {
-            normal: {
-                color:'#2f89cf',
-                opacity: 1,
-				barBorderRadius: 5,
-            }
-        }
-    },
-    //     {
-    //     name: '2018年',
-    //     type: 'bar',
-	// 	data: [1, 4, 5, 11, 12, 9, 5, 6, 5, 6, 3, 9],
-	// 	barWidth:'15',
-    //    // barGap: 1,
-    //     itemStyle: {
-    //         normal: {
-    //             color:'#62c98d',
-    //             opacity: 1,
-	// 			barBorderRadius: 5,
-    //         }
-    //     }
-    // },
-	]
-};
-
-        /* 青岛研锦网络科技有限公司   版权所有*/
-        // 使用刚指定的配置项和数据显示图表。
-        myChart.setOption(option);
-        window.addEventListener("resize",function(){
-            myChart.resize();
-        });
-    }
-function echarts_5() {
-        // 基于准备好的dom,初始化echarts实例
-        var myChart = echarts.init(document.getElementById('echart5'));
-option = {
-  //  backgroundColor: '#00265f',
-    tooltip: {
-        trigger: 'axis',
-        axisPointer: {
-            // type: 'shadow'
-        }
-    },
-    // legend: {
-    //     // data: ['2017年', '2018年'],
-    //     align: 'right',
-    //     right: '40%',
-	// 	top:'0%',
-    //     // textStyle: {
-    //     //     color: "#fff",
-	// 	//     fontSize: '16',
-    //     //
-    //     // },
-    //
-    //     // itemGap: 35
-    // },
-    grid: {
-        left: '0%',
-		top:'40px',
-        right: '0%',
-        bottom: '2%',
-       containLabel: true
-    },
-    xAxis: [{
-        type: 'category',
-      		// data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
-        data: ['模拟考1', '模拟考2', '模拟考3', '模拟考4', '模拟考5', '模拟考6', '模拟考7', '模拟考8', '模拟考9', '模拟考10', '模拟考11', '模拟考12'],
-        axisLine: {
-            show: true,
-         lineStyle: {
-                color: "rgba(255,255,255,.1)",
-                width: 1,
-                type: "solid"
-            },
-        },
-        axisTick: {
-            show: false,
-        },
-		axisLabel:  {
-                interval: 0,
-               // rotate:50,
-                show: true,
-                splitNumber: 15,
-                textStyle: {
- 					color: "rgba(255,255,255,.6)",
-                    fontSize: '16',
-                },
-            },
-    }],
-    yAxis: [{
-        type: 'value',
-        axisLabel: {
-           //formatter: '{value} %'
-			show:true,
-			 textStyle: {
- 					color: "rgba(255,255,255,.6)",
-                    fontSize: '16',
-                },
-        },
-        axisTick: {
-            show: false,
-        },
-        axisLine: {
-            show: true,
-            lineStyle: {
-                color: "rgba(255,255,255,.1	)",
-                width: 1,
-                type: "solid"
-            },
-        },
-        splitLine: {
-            lineStyle: {
-               color: "rgba(255,255,255,.1)",
-            }
-        }
-    }],
-    series: [
-    //     {
-    //     name: '2017年',
-    //     type: 'line',
-    //
-    //     data: [2, 6, 3, 8, 5, 8, 10, 13, 8, 5, 6, 9],
-    //
-    //     itemStyle: {
-    //         normal: {
-    //             color:'#2f89cf',
-    //             opacity: 1,
-    //
-	// 			barBorderRadius: 5,
-    //         }
-    //     }
-    // },
-        {
-        name: '2018年',
-        type: 'line',
-        // data: [5, 2, 6, 4, 5, 12, 5, 17, 9, 2, 6, 3],
-        data: [70, 85, 65, 82, 94, 84,75,92,70,88,65,89],
-		barWidth:'15',
-       // barGap: 1,
-        itemStyle: {
-            normal: {
-                color:'#62c98d',
-                opacity: 1,
-				barBorderRadius: 5,
-            }
-        }
-    },
-	]
-};
-
-
-        // 使用刚指定的配置项和数据显示图表。
-        myChart.setOption(option);
-        window.addEventListener("resize",function(){
-            myChart.resize();
-        });
-    }
-
-
-function echarts_6() {
-        // 基于准备好的dom,初始化echarts实例
-        var myChart = echarts.init(document.getElementById('echart6'));
-
-        option = {
-            tooltip : {
-                trigger: 'item',
-                formatter: "{b} : {c} ({d}%)"
-            },
-            legend: {
-                right:10,
-                top:30,
-                height:140,
-                itemWidth:10,
-                itemHeight:10,
-                itemGap:10,
-                textStyle:{
-                    color: 'rgba(255,255,255,.6)',
-                    fontSize:12
-                },
-                orient:'vertical',
-                data:['汇总主控板','显控报警板','外壳及零件','检测剂','干燥管']
-            },
-            calculable : true,
-            series : [
-                {
-                    name:' ',
-                    color: ['#62c98d', '#205acf', '#c9c862', '#c98b62', '#c962b9', '#7562c9','#c96262'],
-                    type:'pie',
-                    radius : [30, 70],
-                    center : ['35%', '50%'],
-                    roseType : 'radius',
-                    label: {
-                        normal: {
-                            show: true
-                        },
-                        emphasis: {
-                            show: true
-                        }
-                    },
-
-                    lableLine: {
-                        normal: {
-                            show: true
-                        },
-                        emphasis: {
-                            show: true
-                        }
-                    },
-
-                    data:[
-                        {value:50, name:'汇总主控板'},
-                        {value:45, name:'显控报警板'},
-                        {value:35, name:'外壳及零件'},
-                        {value:30, name:'检测剂'},
-                        {value:30, name:'干燥管'},
-                    ]
-                },
-            ]
-        };
-        // 使用刚指定的配置项和数据显示图表。
-        myChart.setOption(option);
-        window.addEventListener("resize",function(){
-            myChart.resize();
-        });
-}
-
-function zb1() {
-        // 基于准备好的dom,初始化echarts实例
-        var myChart = echarts.init(document.getElementById('zb1'));
-		var v1=100//结算数
-		var v2=40//未结算数
-		var v3=v1+v2//总订单数
-option = {	
-    series: [{
-        type: 'pie',
-        radius: ['60%', '70%'],
-        color:'#49bcf7',
-        label: {
-            normal: {
-                position: 'center'
-            }
-        },
-        data: [{
-            value: v1,
-            name: '100',
-            label: {
-                normal: {
-                    formatter:70,//Math.round( v1/v3*100)+ '%%',
-                    textStyle: {
-                        fontSize: 30,
-						color:'#fff',
-                    }
-                }
-            }
-        }, 
-			   {
-            value: v2,
-            label: {
-                normal: {
-                 formatter : function (params){
-                return '最高分';
-            },
-                    textStyle: {
-                        color: '#aaa',
-                        fontSize: 16
-                    }
-                }
-            },
-            itemStyle: {
-                normal: {
-                    color: 'rgba(255,255,255,.2)'
-                },
-                emphasis: {
-                    color: '#fff'
-                }
-            },
-        }]
-    }]
-};
-        myChart.setOption(option);
-        window.addEventListener("resize",function(){
-            myChart.resize();
-        });
-    }
-function zb2() {
-        // 基于准备好的dom,初始化echarts实例
-        var myChart = echarts.init(document.getElementById('zb2'));
- 		var v1=80//结算数
-		var v2=20//未结算数
-		var v3=v1+v2//总订单数
-      option = {
-	
-//animation: false,
-    series: [{	
-        type: 'pie',
-       radius: ['60%', '70%'],
-        color:'#49bcf7',
-        label: {
-            normal: {
-                position: 'center'
-            }
-        },
-        data: [{
-            value: v1,
-            name: '80',
-            label: {
-                normal: {
-                    // formatter:Math.round( v1/v3*100)+ '%',
-                    textStyle: {
-                        fontSize: 24,
-						color:'#fff',
-                    }
-                }
-            }
-        }, {
-            value: v2,
-            label: {
-                normal: {
-                 formatter : function (params){
-                return '最低分';
-            },
-                    textStyle: {
-                        color: '#aaa',
-                        fontSize: 16
-                    }
-                }
-            },
-            itemStyle: {
-                normal: {
-                    color: 'rgba(255,255,255,.2)'
-                },
-                emphasis: {
-                    color: '#fff'
-                }
-            },
-        }]
-    }]
-};
-        myChart.setOption(option);
-        window.addEventListener("resize",function(){
-            myChart.resize();
-        });
-    }
-function zb3() {
-        // 基于准备好的dom,初始化echarts实例
-        var myChart = echarts.init(document.getElementById('zb3'));
-		var v1=30//结算金额
-		var v2=70//未结算
-		var v3=v1+v2
-option = {	
-    series: [{
-		
-        type: 'pie',
-       radius: ['60%', '70%'],
-        color:'#62c98d',
-        label: {
-            normal: {
-                position: 'center'
-            }
-        },
-        data: [{
-            value: v1,
-            name: '95',
-            label: {
-                normal: {
-                    // formatter:Math.round( v1/v3*100)+ '%',
-                    textStyle: {
-                        fontSize: 24,
-						color:'#fff',
-                    }
-                }
-            }
-        }, {
-            value: v2,
-            label: {
-                normal: {
-                 formatter : function (params){
-                return '平均分';
-            },
-                    textStyle: {
-                        color: '#aaa',
-                        fontSize: 16
-                    }
-                }
-            },
-            itemStyle: {
-                normal: {
-                    color: 'rgba(255,255,255,.2)'
-                },
-                emphasis: {
-                    color: '#fff'
-                }
-            },
-        }]
-    }]
-};
-        myChart.setOption(option);
-        window.addEventListener("resize",function(){
-            myChart.resize();
-        });
-    }
-function zb4() {
-        // 基于准备好的dom,初始化echarts实例
-        var myChart = echarts.init(document.getElementById('zb4'));
-		var v1=90//结算金额
-		var v2=10//未结算
-		var v3=v1+v2
-option = {	
-    series: [{
-		
-        type: 'pie',
-       radius: ['60%', '70%'],
-        color:'#29d08a',
-        label: {
-            normal: {
-                position: 'center'
-            }
-        },
-        data: [{
-            value: v1,
-            name: '30分钟',
-            label: {
-                normal: {
-                    // formatter:Math.round( v1/v3*100)+ '%',
-                    textStyle: {
-                        fontSize: 24,
-						color:'#fff',
-                    }
-                }
-            }
-        }, {
-            value: v2,
-            label: {
-                normal: {
-                 formatter : function (params){
-                        return '平均时长';
-                    },
-                    textStyle: {
-                        color: '#aaa',
-                        fontSize: 16
-                    }
-                }
-            },
-            itemStyle: {
-                normal: {
-                    color: 'rgba(255,255,255,.2)'
-                },
-                emphasis: {
-                    color: '#fff'
-                }
-            },
-        }]
-    }]
-};
-        myChart.setOption(option);
-        window.addEventListener("resize",function(){
-            myChart.resize();
-        });
-    }
 })