Browse Source

20250424 数据分析故障统计图调整

贾小兵 4 ngày trước cách đây
mục cha
commit
56ea53587d

+ 61 - 0
application/admin/controller/Screen.php

@@ -141,8 +141,28 @@ class Screen extends Backend
 //            $fault_one[$k1]['name'] = $name;
             //先查分配次数,在查错误率
             $error_total = Db::name('real_exam_fault')->where(['flag'=>1,'fault_id'=>$val1['fault_id'],'answer_right'=>2])->count();
+            if($error_total==0){
+                unset($fault_one[$k1]);
+                continue;
+            }
             $fault_one[$k1]['error_total'] = $error_total;
         }
+        $fault_one = collection($fault_one)->toArray();
+        if(count($fault_one)==1){
+            array_push($fault_one,['fault_id'=>'','name'=>'','error_total'=>0]);
+            array_push($fault_one,['fault_id'=>'','name'=>'','error_total'=>0]);
+            array_push($fault_one,['fault_id'=>'','name'=>'','error_total'=>0]);
+            array_push($fault_one,['fault_id'=>'','name'=>'','error_total'=>0]);
+        }else if(count($fault_one)==2){
+            array_push($fault_one,['fault_id'=>'','name'=>'','error_total'=>0]);
+            array_push($fault_one,['fault_id'=>'','name'=>'','error_total'=>0]);
+            array_push($fault_one,['fault_id'=>'','name'=>'','error_total'=>0]);
+        }else if(count($fault_one)==3){
+            array_push($fault_one,['fault_id'=>'','name'=>'','error_total'=>0]);
+            array_push($fault_one,['fault_id'=>'','name'=>'','error_total'=>0]);
+        }else if(count($fault_one)==4){
+            array_push($fault_one,['fault_id'=>'','name'=>'','error_total'=>0]);
+        }
         unset($val1);
         $vaccineCount = array_column($fault_one, 'error_total');
         array_multisort($vaccineCount,SORT_DESC,$fault_one);
@@ -161,9 +181,30 @@ class Screen extends Backend
 //            $fault_two[$k1]['name'] = $name;
             //先查分配次数,在查错误率
             $error_total = Db::name('real_exam_fault')->where(['flag'=>1,'fault_id'=>$val1['fault_id'],'answer_right'=>2])->count();
+            if($error_total==0){
+                unset($fault_two[$k1]);
+                continue;
+            }
             $fault_two[$k1]['error_total'] = $error_total;
         }
         unset($val1);
+        $fault_two = collection($fault_two)->toArray();
+        if(count($fault_two)==1){
+            array_push($fault_two,['fault_id'=>'','name'=>'','error_total'=>0]);
+            array_push($fault_two,['fault_id'=>'','name'=>'','error_total'=>0]);
+            array_push($fault_two,['fault_id'=>'','name'=>'','error_total'=>0]);
+            array_push($fault_two,['fault_id'=>'','name'=>'','error_total'=>0]);
+        }else if(count($fault_two)==2){
+            array_push($fault_two,['fault_id'=>'','name'=>'','error_total'=>0]);
+            array_push($fault_two,['fault_id'=>'','name'=>'','error_total'=>0]);
+            array_push($fault_two,['fault_id'=>'','name'=>'','error_total'=>0]);
+        }else if(count($fault_two)==3){
+            array_push($fault_two,['fault_id'=>'','name'=>'','error_total'=>0]);
+            array_push($fault_two,['fault_id'=>'','name'=>'','error_total'=>0]);
+        }else if(count($fault_two)==4){
+            array_push($fault_two,['fault_id'=>'','name'=>'','error_total'=>0]);
+        }
+
         $vaccineCount = array_column($fault_two, 'error_total');
         array_multisort($vaccineCount,SORT_DESC,$fault_two);
         $largestFour = array_slice($fault_two, 0, 5); // 获取最大的四个值
@@ -181,9 +222,29 @@ class Screen extends Backend
 //            $fault_three[$k1]['name'] = $name;
             //先查分配次数,在查错误率
             $error_total = Db::name('real_exam_fault')->where(['flag'=>1,'fault_id'=>$val1['fault_id'],'answer_right'=>2])->count();
+            if($error_total==0){
+                unset($fault_three[$k1]);
+                continue;
+            }
             $fault_three[$k1]['error_total'] = $error_total;
         }
         unset($val1);
+        $fault_three = collection($fault_three)->toArray();
+        if(count($fault_three)==1){
+            array_push($fault_three,['fault_id'=>'','name'=>'','error_total'=>0]);
+            array_push($fault_three,['fault_id'=>'','name'=>'','error_total'=>0]);
+            array_push($fault_three,['fault_id'=>'','name'=>'','error_total'=>0]);
+            array_push($fault_three,['fault_id'=>'','name'=>'','error_total'=>0]);
+        }else if(count($fault_three)==2){
+            array_push($fault_three,['fault_id'=>'','name'=>'','error_total'=>0]);
+            array_push($fault_three,['fault_id'=>'','name'=>'','error_total'=>0]);
+            array_push($fault_three,['fault_id'=>'','name'=>'','error_total'=>0]);
+        }else if(count($fault_three)==3){
+            array_push($fault_three,['fault_id'=>'','name'=>'','error_total'=>0]);
+            array_push($fault_three,['fault_id'=>'','name'=>'','error_total'=>0]);
+        }else if(count($fault_three)==4){
+            array_push($fault_three,['fault_id'=>'','name'=>'','error_total'=>0]);
+        }
         $vaccineCount = array_column($fault_three, 'error_total');
         array_multisort($vaccineCount,SORT_DESC,$fault_three);
         $largestFour = array_slice($fault_three, 0, 5); // 获取最大的四个值

+ 1 - 1
public/assets/js/backend/teacher/collection.js

@@ -31,7 +31,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                 columns: [
                     [
                         {checkbox: true},
-                        {field: 'exam_collection_id', title: __('编号'),operate: false},
+                        // {field: 'exam_collection_id', title: __('编号'),operate: false},
                         {field: 'exam_collection_name', title: __('Exam_collection_name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
                         // {field: 'sim_type', title: __('Sim_type'),searchList:{"0001":"FZD04B型侦毒器","0002":"FZB006型毒剂报警器","0003":"防化兵用毒剂报警器"},formatter: Table.api.formatter.simtype},
                         // {field: 'question_setting_method', title: __('Question_setting_method'),searchList:{"1":"系统随机","2":"教员自选","3":"任务自选"},formatter: Table.api.formatter.simmethod},

+ 1 - 1
public/assets/js/backend/teacher/practice.js

@@ -35,7 +35,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form','editable'], function
                 columns: [
                     [
                         {checkbox: true},
-                        {field: 'exam_collection_id', title: __('编号'),operate: false},
+                        // {field: 'exam_collection_id', title: __('编号'),operate: false},
                         {field: 'exam_collection_name', title: __('Exam_collection_name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
                         // {field: 'sim_type', title: __('Sim_type'),searchList:{"0001":"FZD04B型侦毒器","0002":"FZB006型毒剂报警器","0003":"防化兵用毒剂报警器"},formatter: Table.api.formatter.simtype},
                         // {field: 'question_setting_method', title: __('Question_setting_method'),searchList:{"1":"系统随机","2":"教员自选","3":"任务自选"},formatter: Table.api.formatter.simmethod},

+ 1 - 1
public/assets/js/backend/teacher/task.js

@@ -34,7 +34,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                 columns: [
                     [
                         {checkbox: true},
-                        {field: 'task_id', title: __('Task_id'),operate: false,width:'80px'},
+                        // {field: 'task_id', title: __('Task_id'),operate: false,width:'80px'},
                         {field: 'name', title: __('Name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
                         {field: 'sim_type', title: __('Sim_type'),searchList:{"0001":"FZD04B型侦毒器","0002":"FZB006型毒剂报警器","0003":"防化兵用毒剂报警器"},formatter: Table.api.formatter.simtype},
                         {field: 'fault_name', title: __('具体故障清单'),formatter: Table.api.formatter.faultname, operate: 'LIKE'},