Browse Source

20250110 调整

贾小兵 3 tháng trước cách đây
mục cha
commit
1f1b36a466

+ 24 - 1
application/admin/common.php

@@ -214,4 +214,27 @@ if (!function_exists('send_post')) {
         return $response;
         curl_close($curl);
     }
-}
+}
+
+
+if (!function_exists('send_get')) {
+
+    function send_get($url = null){
+        $curl = curl_init();
+
+        curl_setopt_array($curl, array(
+            CURLOPT_URL => $url,
+            CURLOPT_RETURNTRANSFER => true,
+            CURLOPT_ENCODING => '',
+            CURLOPT_MAXREDIRS => 10,
+            CURLOPT_TIMEOUT => 0,
+            CURLOPT_FOLLOWLOCATION => true,
+            CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
+            CURLOPT_CUSTOMREQUEST => 'GET',
+        ));
+
+        $response = curl_exec($curl);
+        return $response;
+        curl_close($curl);
+    }
+}

+ 26 - 0
application/admin/controller/Expet.php

@@ -0,0 +1,26 @@
+<?php
+
+namespace app\admin\controller;
+
+use app\admin\model\Admin;
+use app\admin\model\User;
+use app\common\controller\Backend;
+use app\common\model\Attachment;
+use fast\Date;
+use think\Db;
+
+
+class Expet extends Backend
+{
+
+    /**
+     * 查看
+     */
+    public function index()
+    {
+
+        $this->assignConfig('url_type', config('site.url_type'));
+        return $this->view->fetch();
+    }
+
+}

+ 11 - 1
application/admin/controller/Fault.php

@@ -17,7 +17,7 @@ class Fault extends Backend
      * @var \app\admin\model\Fault
      */
     protected $model = null;
-    protected $noNeedRight = ['getdatalist'];
+    protected $noNeedRight = ['getdatalist','selectpage'];
 
     public function _initialize()
     {
@@ -58,4 +58,14 @@ class Fault extends Backend
         return json($result);
     }
 
+    /**
+     * 下拉搜索
+     */
+    public function selectpage()
+    {
+//        $this->dataLimit = 'auth';
+        $this->dataLimitField = 'fault_id';
+        return parent::selectpage();
+    }
+
 }

+ 90 - 52
application/admin/controller/student/Collection.php

@@ -123,6 +123,7 @@ class Collection extends Backend
         $info = $this->exam_model->where(['user_id'=>$this->auth->id,'exam_collection_id'=>$ids,'exam_collection_type'=>3,'endtime'=>0])->find();
         if(!empty($info)){
             $this->exam_model->where('exam_id',$info['exam_id'])->update(['seat_id'=>$this->auth->seat_id,'sim_id'=>$this->auth->sim_id]);
+            $info['seat_id'] = $this->auth->seat_id;
             $sim = Db::name('sim')->where('seat_id',$this->auth->seat_id)->find();
             $sim_text = '';
 //            模拟器状态 0:可用初始化 1:在线 2:模拟器离线 3:网关离线 4:硬件故障异常 5:手动禁用
@@ -157,6 +158,7 @@ class Collection extends Backend
         $this->view->assign('info', $info);
         $this->view->assign('row', $row);
         $this->assignConfig('exam_id', $info['exam_id']);
+        $this->assignConfig('url_type', config('site.url_type'));
         return $this->view->fetch();
     }
 
@@ -168,6 +170,11 @@ class Collection extends Backend
         }
         if ($this->request->isPost()) {
             //先请求接口判断,再进行处理
+            $url = config('site.url_type').'/sim/real-exam-collection/teacher/exam/open/'.$ids;
+            $ret = json_decode(send_get($url),true);
+            if($ret['code']!=200){
+                $this->error($ret['msg']);
+            }
 
             //计算分数,保存记录
             $params = $this->request->post('row/a');
@@ -204,20 +211,20 @@ class Collection extends Backend
 
 
                 //更新故障是否正确
-//                $fault_list = Db::name('real_exam_fault')->where(['exam_id'=>$ids,'flag'=>1])->select();
-//                if(!empty($fault_list)){
-//                    foreach ($fault_list as $k =>$t){
-//                        $answer_right = 0;
-//                        if(!empty($t['sim_fault_question_value']) && !empty($t['sim_fault_answer_value'])){
-//                            if($t['sim_fault_question_value']==$t['sim_fault_answer_value']){
-//                                $answer_right=1;
-//                            }else{
-//                                $answer_right=2;
-//                            }
-//                        }
-//                        Db::name('real_exam_fault')->where(['ref_id'=>$t['ref_id']])->update(['answer_right'=>$answer_right]);
-//                    }
-//                }
+                $fault_list = Db::name('real_exam_fault')->where(['exam_id'=>$ids,'flag'=>1])->select();
+                if(!empty($fault_list)){
+                    foreach ($fault_list as $k =>$t){
+                        $answer_right = 0;
+                        if(!empty($t['sim_fault_question_value']) && !empty($t['sim_fault_answer_value'])){
+                            if($t['sim_fault_question_value']==$t['sim_fault_answer_value']){
+                                $answer_right=1;
+                            }else{
+                                $answer_right=2;
+                            }
+                        }
+                        Db::name('real_exam_fault')->where(['ref_id'=>$t['ref_id']])->update(['answer_right'=>$answer_right]);
+                    }
+                }
 
 
                 //计算得分,故障是否有扣分  扣分制
@@ -238,12 +245,12 @@ class Collection extends Backend
                     $partent_fault_id = Fault::where(['fault_id'=>['in',$fault_arr]])->column('parent_fault_id');
 
                     //故障保存的是部位,需要查找故障现象
-                    $report = json_decode($params['other_report'],true);
-                    if(count($report)<3){
+                    $other_report = json_decode($params['other_report'],true);
+                    if(count($other_report)<3){
                         $xianxian_score = 5;
                     }else{
-                        foreach ($report as $key => $em){
-//                            //故障现象
+                        foreach ($other_report as $key => $em){
+                           //故障现象
                             if(!in_array($em['xx_id'],$partent_fault_id)){
                                 $xianxian_score = 5+$xianxian_score;
                                 $xianxian_arr[] = $em['xx_id'];
@@ -252,46 +259,66 @@ class Collection extends Backend
 
                             //故障部位
                             if(!empty($em['bw_id'])){
-                                $report = Report::where('bw_id',$em['bw_id'])->find();
-                                if(empty($report) || $report['bw_type']==30){
+                                $report_xx_id = Report::where(['bw_id'=>['in',$em['bw_id']]])->column('xx_id');
+                                if(!in_array($em['xx_id'],$report_xx_id)){ //现象不对,直接扣分
                                     $buwei_score = 1+$buwei_score;
-//                                    array_push($buwei_arr,$em['bw_id']);
                                     $buwei_arr[] = $em['bw_id'];
-//                                    echo "这里是假的部位扣了+1分<br/>";
+                                    echo "这里是假1的部位扣了+1分<br/>";
+                                }else{
+                                    //现象正确,判断是不是正确的选项
+                                    foreach (explode(',',$em['bw_id']) as $s => $bs){
+                                        if(!in_array($bs,$fault_arr)){
+                                            $buwei_score = 1+$buwei_score;
+                                            $buwei_arr[] = $bs;
+                                            echo "这里是假2的部位扣了+1分<br/>";
+                                        }
+                                    }
                                 }
+//                                $report = Report::where('bw_id',$em['bw_id'])->find();
+//                                if(empty($report) || $report['bw_type']==30){
+//                                    $buwei_score = 1+$buwei_score;
+////                                    array_push($buwei_arr,$em['bw_id']);
+//                                    $buwei_arr[] = $em['bw_id'];
+////                                    echo "这里是假的部位扣了+1分<br/>";
+//                                }
 //                                if(!empty($em['yy_id']) && !empty($report)){
 //                                    if($report['bw_type']!=3 || $report['yy_id']!=$em['yy_id'] ){
 //                                        $buwei_score = 1+$buwei_score;
 //                                        echo "这里错误扣了+1分<br/>";
 //                                    }
 //                                }
-
                             }else{
                                 //部位为空 +1
                                 $buwei_score = 1+ $buwei_score;
 //                                $buwei_arr[] = '';
-//                                array_push($buwei_arr,'');
 //                                echo "这里为空扣了+1分<br/>";
                             }
 
 
                             //可能原因
                             if(!empty($em['yy_id'])){
-                                $report = Report::where('yy_id',$em['yy_id'])->find();
-                                if(empty($report) || $report['bw_type']==30){
-                                    $yuanyin_socre = 1+ $yuanyin_socre;
-//                                    echo "这里是假的部位扣了+1分<br/>";
-//                                    array_push($yuanyin_arr,$em['yy_id']);
+                                $report_bw_id = Report::where(['yy_id'=>['in',$em['yy_id']]])->column('bw_id');
+                                if(!in_array($em['bw_id'],$report_bw_id)){ //现象不对,直接扣分
+                                    $yuanyin_socre = 1+$yuanyin_socre;
                                     $yuanyin_arr[] = $em['yy_id'];
+                                }else{
+
                                 }
-                                if(!empty($em['yy_id']) && !empty($report)){
-                                    if($report['bw_id']!=$em['bw_id'] ){
-                                        $yuanyin_socre = 1+$yuanyin_socre;
-//                                        echo "这里错误扣了+1分<br/>";
-//                                        array_push($yuanyin_arr,$em['yy_id']);
-                                        $yuanyin_arr[] = $em['yy_id'];
-                                    }
-                                }
+//                                $report = Report::where('yy_id',$em['yy_id'])->find();
+//                                if(empty($report) || $report['bw_type']==30){
+//                                    $yuanyin_socre = 1+ $yuanyin_socre;
+////                                    echo "这里是假的部位扣了+1分<br/>";
+////                                    array_push($yuanyin_arr,$em['yy_id']);
+//                                    $yuanyin_arr[] = $em['yy_id'];
+//                                }
+//                                if(!empty($em['yy_id']) && !empty($report)){
+//                                    if($report['bw_id']!=$em['bw_id'] ){
+//                                        $yuanyin_socre = 1+$yuanyin_socre;
+////                                        echo "这里错误扣了+1分<br/>";
+////                                        array_push($yuanyin_arr,$em['yy_id']);
+//                                        $yuanyin_arr[] = $em['yy_id'];
+//                                    }
+//                                }
                             }else{
                                 //部位为空 +1
                                 $yuanyin_socre = 1+$yuanyin_socre;
@@ -299,24 +326,32 @@ class Collection extends Backend
 //                                echo "这里为空扣了+1分<br/>";
 //                                $yuanyin_arr[] = '';
                             }
+
                             //排除方法
                             if(!empty($em['pc_id'])){
-                                $report = Report::where('pc_id',$em['pc_id'])->find();
-                                if(empty($report) || $report['bw_type']==30){
-                                    $fangfa_score = 1+ $fangfa_score;
-
+                                $report_pc_id = Report::where(['pc_id'=>['in',$em['pc_id']]])->column('bw_id');
+                                if(!in_array($em['bw_id'],$report_pc_id)){ //现象不对,直接扣分
+                                    $fangfa_score = 1+$fangfa_score;
                                     $fangfa_arr[] = $em['pc_id'];
-//                                    array_push($fangfa_arr,$em['pc_id']);
-//                                    echo "这里是假的方法扣了+1分<br/>";
-                                }
-                                if(!empty($em['pc_id']) && !empty($report)){
-                                    if($report['bw_id']!=$em['bw_id'] ){
-                                        $fangfa_score = 1+$fangfa_score;
-                                        $fangfa_arr[] = $em['pc_id'];
-//                                        array_push($fangfa_arr,$em['pc_id']);
-//                                        echo "这里错误扣了+1分<br/>";
-                                    }
+                                }else{
+
                                 }
+//                                $report = Report::where('pc_id',$em['pc_id'])->find();
+//                                if(empty($report) || $report['bw_type']==30){
+//                                    $fangfa_score = 1+ $fangfa_score;
+//
+//                                    $fangfa_arr[] = $em['pc_id'];
+////                                    array_push($fangfa_arr,$em['pc_id']);
+////                                    echo "这里是假的方法扣了+1分<br/>";
+//                                }
+//                                if(!empty($em['pc_id']) && !empty($report)){
+//                                    if($report['bw_id']!=$em['bw_id'] ){
+//                                        $fangfa_score = 1+$fangfa_score;
+//                                        $fangfa_arr[] = $em['pc_id'];
+////                                        array_push($fangfa_arr,$em['pc_id']);
+////                                        echo "这里错误扣了+1分<br/>";
+//                                    }
+//                                }
                             }else{
                                 $fangfa_score = 1+$fangfa_score;
 //                                array_push($yuanyin_arr,'');
@@ -329,7 +364,10 @@ class Collection extends Backend
 //                        echo '方法:'.$fangfa_score.'<br/>';
                     }
                 }
-//                halt($yuanyin_arr);
+//                echo "<pre>";
+//                print_r($buwei_arr);
+//                echo '原因:'.$yuanyin_socre.'<br/>';
+//                echo '部位:'.$buwei_score.'<br/>';
 //                echo '现象:'.$xianxian_score;
 //                die();
                  $weixiu_score = $xianxian_score+$yuanyin_socre+$buwei_score+$fangfa_score;

+ 149 - 0
application/admin/view/expet/index.html

@@ -0,0 +1,149 @@
+<div class="row">
+    <div class="col-md-12">
+        <div class="box box-danger">
+            <div class="panel-body">
+                <div class="form-group col-sm-6">
+                    <div class="col-xs-6">
+                        <input type="text" class="form-control simNum1" placeholder="请输入设备编号">
+                    </div>
+                    <div class="col-xs-6">
+                        <input type="text" class="form-control simType1" placeholder="请输入模拟器类型">
+                    </div>
+                </div>
+                <div class="form-group col-xs-6">
+                    <textarea class="form-control content1"></textarea>
+                </div>
+                <div class="form-group col-sm-12" style="margin-left:10px">
+                    <button type="button" class="btn btn-info btn-all-fault">清除所有故障</button>
+                </div>
+            </div>
+        </div>
+    </div>
+
+    <div class="col-md-12">
+        <div class="box box-success">
+            <div class="panel-body">
+                <div class="form-group col-sm-6">
+                    <div class="col-xs-6">
+                        <input type="text" class="form-control simNum2" placeholder="请输入设备编号">
+                    </div>
+                    <div class="col-xs-6">
+                        <input type="text" class="form-control bindHardwareMsg2" placeholder="请输入故障位置编号">
+                    </div>
+                </div>
+                <div class="form-group col-xs-6">
+                    <textarea class="form-control content2"></textarea>
+                </div>
+
+                <div class="form-group col-sm-12" style="margin-left:10px">
+                    <button type="button" class="btn btn-info btn-one-fault">清除一个故障</button>
+                </div>
+            </div>
+        </div>
+    </div>
+
+    <div class="col-md-12">
+        <div class="box box-info">
+            <div class="panel-body">
+                <div class="form-group col-sm-6">
+                    <div class="col-xs-6">
+                        <input type="text" class="form-control simNum3" placeholder="请输入设备编号">
+                    </div>
+                    <div class="col-xs-6">
+                        <input type="text" class="form-control simType3" placeholder="请输入模拟器类型">
+                    </div>
+                </div>
+                <div class="form-group col-xs-6">
+                    <textarea class="form-control content3"></textarea>
+                </div>
+                <div class="form-group col-sm-12" style="margin-left:10px">
+                    <button type="button" class="btn btn-info btn-alldata">读取全部故障位置数据</button>
+                </div>
+            </div>
+        </div>
+    </div>
+
+
+    <div class="col-md-12">
+        <div class="box box-warning">
+            <div class="panel-body">
+                <div class="form-group col-sm-6">
+                    <div class="col-xs-6">
+                        <input type="text" class="form-control simNum4" placeholder="请输入设备编号">
+                    </div>
+                    <div class="col-xs-6">
+                        <input type="text" class="form-control bindHardwareMsg4" placeholder="请输入故障位置编号">
+                    </div>
+                </div>
+                <div class="form-group col-xs-6">
+                    <textarea class="form-control content4"></textarea>
+                </div>
+                <div class="form-group col-sm-12" style="margin-left:10px">
+                    <button type="button" class="btn btn-info btn-onedata">读取一个故障位置数据</button>
+                </div>
+            </div>
+        </div>
+    </div>
+
+
+    <div class="col-md-12">
+        <div class="box box-primary" style="border-top-color:#7a4328">
+            <div class="panel-body">
+                <div class="form-group col-sm-6">
+                    <div class="col-xs-6">
+                        <input type="text" class="form-control simNum5" placeholder="请输入设备编号">
+                    </div>
+                </div>
+                <div class="form-group col-xs-6">
+                    <textarea class="form-control content5"></textarea>
+                </div>
+                <div class="form-group col-sm-12" style="margin-left:10px">
+                    <button type="button" class="btn btn-info btn-simnum">读取模拟器类型序列号</button>
+                </div>
+            </div>
+        </div>
+    </div>
+
+    <div class="col-md-12">
+        <div class="box box-yellow" style="border-top-color:#78b716">
+            <div class="panel-body">
+                <div class="form-group col-sm-6">
+                    <div class="col-xs-6">
+                        <input type="text" class="form-control simNum6" placeholder="请输入设备编号">
+                    </div>
+                    <div class="col-xs-6">
+                        <input type="text" class="form-control simType6" placeholder="请输入模拟器类型">
+                    </div>
+                </div>
+                <div class="form-group col-xs-6">
+                    <textarea class="form-control content6"></textarea>
+                </div>
+                <div class="form-group col-sm-12" style="margin-left:10px">
+                    <button type="button" class="btn btn-info btn-allxiafa">下发所有故障</button>
+                </div>
+            </div>
+        </div>
+    </div>
+
+    <div class="col-md-12">
+        <div class="box box-yellow" style="border-top-color:#0c5b8b">
+            <div class="panel-body">
+                <div class="form-group col-sm-6">
+                    <div class="col-xs-6">
+                        <input type="text" class="form-control simNum7" placeholder="请输入设备编号">
+                    </div>
+                    <div class="col-xs-6">
+                        <input type="text" class="form-control simType7" placeholder="请输入模拟器类型">
+                    </div>
+                </div>
+                <div class="form-group col-xs-6">
+                    <textarea class="form-control content7"></textarea>
+                </div>
+                <div class="form-group col-sm-12" style="margin-left:10px">
+                    <button type="button" class="btn btn-info btn-onexiafa">下发一个故障</button>
+                </div>
+            </div>
+        </div>
+    </div>
+
+</div>

+ 96 - 98
application/admin/view/student/collection/examing.html

@@ -105,109 +105,107 @@
     <div class="col-md-12">
         <div class="box box-primary">
             <div class="panel-body">
-                    <div class="panel-heading">
-                        <div class="readme">正在考试中,考试时间 {$row.limit_duration} 分钟</div>
-                        <div class="djs">距离考试结束还有 <span id="timer"></span> </div>
-                    </div>
-                    <div class="box-body box-profile">
-                        <form id="update-form" role="form" data-toggle="validator" method="POST" action="">
-                        <div class="col-xs-12 col-sm-12" style="text-align: center">
-                            <div class="form-group">
-                                <label  style=" width: 10%;" class="control-label col-xs-3 col-sm-3">{:__('申请更换件')}:</label>
-                                <div class="col-xs-9 col-sm-9">
-                                    <dl class="fieldlist" data-name="row[other_replace]" data-template="other_suppliertpl">
-                                        <dd>
-                                            <ins style="width: 550px;">更换件类型</ins>
-                                            <ins style="width: 430px;">状态</ins>
-                                        </dd>
-                                        <dd style="margin-right: 87%">
-                                            <a href="javascript:;" class="btn btn-sm btn-info btn-append"><i class="fa fa-plus"></i> 追加</a>
-                                        </dd>
-                                        <!--hide-->
-                                        <textarea name="row[other_replace]" class="form-control hide other_replace" cols="30" rows="5">{$row.other_replace}</textarea>
-                                    </dl>
-                                    <!--定义模板,模板语法使用Art-Template模板语法-->
-                                    <script type="text/html" id="other_suppliertpl">
-                                        <dd class="form-inline">
-                                            <select class="form-control" name="unwin[<%=index%>][fault_id]" style="width: 550px;">
-                                                <option value="" >请选择</option>
-                                                {foreach name="departmentdata" item="vo"}
-                                                <option value="{$vo.fault_id}" <%if(row.fault_id =='{$vo.fault_id}'){%> selected <% }%> >{$vo.replace_name}</option>
-                                                {/foreach}
-                                            </select>
-                                            <input type="text" class="form-control" readonly name="unwin[<%=index%>][request_status]" value="<%if(row["request_status"]==1){%>已申请<%}else if(row["request_status"]==2){ %>已送达<%}else if(row["request_status"]==3){%>驳回<%}else{%>未申请<%}%>" style="width: 430px;">
-                                            <span class="btn btn-sm btn-danger btn-remove" title="移除"><i class="fa fa-times"></i></span>
-                                            <span class="btn btn-sm btn-success btn-replace" title="保存"><i class="fa fa-check"></i></span>
-                                        </dd>
-                                    </script>
-                                </div>
+                <div class="panel-heading">
+                    <div class="readme">正在考试中,考试时间 {$row.limit_duration} 分钟</div>
+                    <div class="djs">距离考试结束还有 <span id="timer"></span> </div>
+                </div>
+                <div class="box-body box-profile">
+                    <form id="update-form" role="form" data-toggle="validator" method="POST" action="">
+                    <div class="col-xs-12 col-sm-12" style="text-align: center">
+                        <div class="form-group">
+                            <label  style=" width: 10%;" class="control-label col-xs-3 col-sm-3">{:__('申请更换件')}:</label>
+                            <div class="col-xs-9 col-sm-9">
+                                <dl class="fieldlist" data-name="row[other_replace]" data-template="other_suppliertpl">
+                                    <dd>
+                                        <ins style="width: 550px;">更换件类型</ins>
+                                        <ins style="width: 430px;">状态</ins>
+                                    </dd>
+                                    <dd style="margin-right: 87%">
+                                        <a href="javascript:;" class="btn btn-sm btn-info btn-append"><i class="fa fa-plus"></i> 追加</a>
+                                    </dd>
+                                    <textarea name="row[other_replace]" class="form-control hide other_replace" cols="30" rows="5">{$row.other_replace}</textarea>
+                                </dl>
+                                <!--定义模板,模板语法使用Art-Template模板语法-->
+                                <script type="text/html" id="other_suppliertpl">
+                                    <dd class="form-inline">
+                                        <select class="form-control" name="unwin[<%=index%>][fault_id]" style="width: 550px;">
+                                            <option value="" >请选择</option>
+                                            {foreach name="departmentdata" item="vo"}
+                                            <option value="{$vo.fault_id}" <%if(row.fault_id =='{$vo.fault_id}'){%> selected <% }%> >{$vo.replace_name}</option>
+                                            {/foreach}
+                                        </select>
+                                        <input type="text" class="form-control" readonly name="unwin[<%=index%>][request_status]" value="<%if(row["request_status"]==1){%>已申请<%}else if(row["request_status"]==2){ %>已送达<%}else if(row["request_status"]==3){%>驳回<%}else{%>未申请<%}%>" style="width: 430px;">
+                                        <span class="btn btn-sm btn-danger btn-remove" title="移除"><i class="fa fa-times"></i></span>
+                                        <span class="btn btn-sm btn-success btn-replace" title="保存"><i class="fa fa-check"></i></span>
+                                    </dd>
+                                </script>
                             </div>
                         </div>
-                        <div class="col-xs-12 col-sm-12" style="text-align: center">
-                            <div class="form-group">
-                                <label  style=" width: 10%;" class="control-label col-xs-3 col-sm-3">{:__('维修报告列表')}:</label>
-                                <div class="col-xs-9 col-sm-9">
-                                    <dl class="fieldlist" data-name="row[other_report]" data-template="other_suppliertpl1">
-                                        <dd >
-                                            <ins style="width: 250px;">故障现象</ins>
-                                            <ins style="width: 250px;">可能原因</ins>
-                                            <ins style="width: 250px;">故障部位</ins>
-                                            <ins style="width: 250px;">排除方法</ins>
-                                        </dd>
-                                        <dd style="margin-right: 87%">
-                                            <a href="javascript:;" class="btn btn-sm btn-info btn-append"><i class="fa fa-plus"></i> 追加</a>
-                                        </dd>
-                                        <!--hide-->
-                                        <textarea name="row[other_report]" class="form-control hide other_report" cols="30" rows="5">{$row.other_report}</textarea>
-                                    </dl>
-                                    <!--定义模板,模板语法使用Art-Template模板语法-->
-                                    <script type="text/html" id="other_suppliertpl1">
-                                        <dd class="form-inline">
-
-                                            <select class="form-control" name="unwin[<%=index%>][xx_id]" style="width: 250px;">
-                                                <option value="" >请选择</option>
-                                                {foreach name="xianxiang" item="vo"}
-                                                <option value="{$vo.fault_id}" <%if(row.xx_id =='{$vo.fault_id}'){%> selected <% }%> >{$vo.name}</option>
-                                                {/foreach}
-                                            </select>
-                                            <select class="form-control" name="unwin[<%=index%>][yy_id]" style="width: 250px;">
-                                                <option value="" >请选择</option>
-                                                {foreach name="yuanyin" item="vo"}
-                                                <option value="{$vo.fault_id}" <%if(row.yy_id =='{$vo.fault_id}'){%> selected <% }%> >{$vo.name}</option>
-                                                {/foreach}
-                                            </select>
-                                            <select class="form-control" name="unwin[<%=index%>][bw_id]" style="width: 250px;">
-                                                <option value="" >请选择</option>
-                                                {foreach name="buwei" item="vo"}
-                                                <option value="{$vo.fault_id}" <%if(row.bw_id =='{$vo.fault_id}'){%> selected <% }%> >{$vo.name}</option>
-                                                {/foreach}
-                                            </select>
-                                            <select class="form-control" name="unwin[<%=index%>][pc_id]" style="width: 250px;">
-                                                <option value="" >请选择</option>
-                                                {foreach name="paichu" item="vo"}
-                                                <option value="{$vo.fault_id}" <%if(row.pc_id =='{$vo.fault_id}'){%> selected <% }%> >{$vo.name}</option>
-                                                {/foreach}
-                                            </select>
-                                            <span class="btn btn-sm btn-danger btn-remove"><i class="fa fa-times"></i></span>
-                                        </dd>
-                                    </script>
-                                </div>
+                    </div>
+                    <div class="col-xs-12 col-sm-12" style="text-align: center">
+                        <div class="form-group">
+                            <label  style=" width: 10%;" class="control-label col-xs-3 col-sm-3">{:__('维修报告列表')}:</label>
+
+                            <div class="col-xs-9 col-sm-9">
+                                <dl class="fieldlist" data-name="row[other_report]" data-template="other_suppliertpl1" id="second-fieldlist">
+                                    <dd >
+                                        <ins style="width: 250px;">故障现象</ins>
+                                        <ins style="width: 250px;">可能原因</ins>
+                                        <ins style="width: 250px;">故障部位</ins>
+                                        <ins style="width: 250px;">排除方法</ins>
+                                    </dd>
+                                    <dd style="margin-right: 87%">
+                                        <a href="javascript:;" class="btn btn-sm btn-info btn-append"><i class="fa fa-plus"></i> 追加</a>
+                                    </dd>
+<!--                                        hide-->
+                                    <textarea name="row[other_report]" class="form-control hide other_report" cols="30" rows="5">{$row.other_report}</textarea>
+                                </dl>
+                                <script type="text/html" id="other_suppliertpl1">
+                                    <dd class="form-inline">
+                                        <select class="form-control" name="unwin[<%=index%>][xx_id]" style="width: 260px;">
+                                            <option value="" >请选择</option>
+                                            {foreach name="xianxiang" item="vo"}
+                                            <option value="{$vo.fault_id}" <%if(row.xx_id =='{$vo.fault_id}'){%> selected <% }%> >{$vo.name}</option>
+                                            {/foreach}
+                                        </select>
+                                        <input style="width: 250px;" type="text" name="<%=unwin%>[<%=index%>][yy_id]" class="form-control selectpage" data-source="fault/selectpage" data-multiple="true" data-primary-key="fault_id"  data-field="name" data-params='{"custom[fault_type]":"2","custom[sim_type]":"{$row.sim_type}"}' value="<%=row.yy_id%>"/>
+                                        <input style="width: 250px;" type="text" name="<%=unwin%>[<%=index%>][bw_id]" class="form-control selectpage" data-source="fault/selectpage" data-multiple="true" data-primary-key="fault_id"  data-field="name" data-params='{"custom[fault_type]":"3","custom[sim_type]":"{$row.sim_type}"}' value="<%=row.bw_id%>"/>
+                                        <input style="width: 250px;" type="text" name="<%=unwin%>[<%=index%>][pc_id]" class="form-control selectpage" data-source="fault/selectpage" data-multiple="true" data-primary-key="fault_id"  data-field="name" data-params='{"custom[fault_type]":"4","custom[sim_type]":"{$row.sim_type}"}' value="<%=row.pc_id%>"/>
+
+
+
+
+
+<!--                                            <input style="width: 250px;" data-rule="required" data-multiple="true"  data-source="category/index" class="form-control selectpage" name="unwin[<%=index%>][xx_id]" type="text" value="">-->
+<!--                                            <select class="form-control" name="unwin[<%=index%>][yy_id]" style="width: 250px;">-->
+<!--                                                <option value="" >请选择</option>-->
+<!--                                                {foreach name="yuanyin" item="vo"}-->
+<!--                                                <option value="{$vo.fault_id}" <%if(row.yy_id =='{$vo.fault_id}'){%> selected <% }%> >{$vo.name}</option>-->
+<!--                                                {/foreach}-->
+<!--                                            </select>-->
+<!--                                            <select class="form-control" name="unwin[<%=index%>][bw_id]" style="width: 250px;">-->
+<!--                                                <option value="" >请选择</option>-->
+<!--                                                {foreach name="buwei" item="vo"}-->
+<!--                                                <option value="{$vo.fault_id}" <%if(row.bw_id =='{$vo.fault_id}'){%> selected <% }%> >{$vo.name}</option>-->
+<!--                                                {/foreach}-->
+<!--                                            </select>-->
+<!--                                            <select class="form-control" name="unwin[<%=index%>][pc_id]" style="width: 250px;">-->
+<!--                                                <option value="" >请选择</option>-->
+<!--                                                {foreach name="paichu" item="vo"}-->
+<!--                                                <option value="{$vo.fault_id}" <%if(row.pc_id =='{$vo.fault_id}'){%> selected <% }%> >{$vo.name}</option>-->
+<!--                                                {/foreach}-->
+<!--                                            </select>-->
+                                        <span class="btn btn-sm btn-danger btn-remove"><i class="fa fa-times"></i></span>
+                                    </dd>
+                                </script>
                             </div>
                         </div>
-<!--                        <div class="col-xs-12 col-sm-12">-->
-<!--                            <div class="form-group">-->
-<!--                                <label  style=" width: 10%;" class="control-label col-xs-3 col-sm-3 addRedStar">{:__('修复结论')}:</label>-->
-<!--                                <div class="col-xs-9 col-sm-9">-->
-<!--                                    <textarea class="form-control" data-rule="required" name="row[other_jielun]" style="width: 91%"></textarea>-->
-<!--                                </div>-->
-<!--                            </div>-->
-<!--                        </div>-->
-                        <div class="form-group" style="text-align: center">
-                            <button type="submit" class="btn btn-info" style="text-align: center;width: 10%;margin-top: 5%">{:__('交卷')}</button>
-                        </div>
-                        </form>
                     </div>
-
+                    <div class="form-group" style="text-align: center">
+                        <button type="submit" class="btn btn-info" style="text-align: center;width: 10%;margin-top: 5%">{:__('交卷')}</button>
+                    </div>
+                    </form>
+                </div>
             </div>
         </div>
     </div>

+ 150 - 0
public/assets/js/backend/expet.js

@@ -0,0 +1,150 @@
+define(['jquery', 'bootstrap', 'backend', 'addtabs', 'table', 'echarts', 'echarts-theme', 'template'], function ($, undefined, Backend, Datatable, Table, Echarts, undefined, Template) {
+
+    var Controller = {
+        index: function () {
+
+            //清除所有故障
+            $(document).on("click", ".btn-all-fault", function () {
+                var simNum = $(".simNum1").val();
+                var simType1 = $(".simType1").val();
+                $.ajax({
+                    url: Config.url_type+"/sim/debug/debugClearAllFault/"+simNum+"/"+simType1,
+                    type: 'get',
+                    success: function (data) {
+                        console.log(data);
+                        if(data.code==200){
+                            $(".content1").html();
+                        }else{
+                            Layer.alert(data.msg);
+                            return;
+                        }
+                    }
+                });
+            });
+
+            //清除一个故障
+            $(document).on("click", ".btn-one-fault", function () {
+                var simNum2 = $(".simNum2").val();
+                var bindHardwareMsg2 = $(".bindHardwareMsg2").val();
+                $.ajax({
+                    url: Config.url_type+"/sim/debug/debugClearOneFault/"+simNum2+"/"+bindHardwareMsg2,
+                    type: 'get',
+                    success: function (data) {
+                        console.log(data);
+                        if(data.code==200){
+                            $(".content2").html();
+                        }else{
+                            Layer.alert(data.msg);
+                            return;
+                        }
+                    }
+                });
+            });
+
+
+
+            //读取全部故障位置数据
+            $(document).on("click", ".btn-alldata", function () {
+                var simNum3 = $(".simNum3").val();
+                var simType3 = $(".simType3").val();
+                $.ajax({
+                    url: Config.url_type+"/sim/debug/debugReadAllFualtResistance/"+simNum3+"/"+simType3,
+                    type: 'get',
+                    success: function (data) {
+                        console.log(data);
+                        if(data.code==200){
+                            $(".content3").html();
+                        }else{
+                            Layer.alert(data.msg);
+                            return;
+                        }
+                    }
+                });
+            });
+
+
+            //读取一个故障位置数据
+            $(document).on("click", ".btn-onedata", function () {
+                var simNum4 = $(".simNum4").val();
+                var bindHardwareMsg4 = $(".bindHardwareMsg4").val();
+                $.ajax({
+                    url: Config.url_type+"/sim/debug/debugReadOneFualtResistance/"+simNum4+"/"+bindHardwareMsg4,
+                    type: 'get',
+                    success: function (data) {
+                        console.log(data);
+                        if(data.code==200){
+                            $(".content4").html();
+                        }else{
+                            Layer.alert(data.msg);
+                            return;
+                        }
+                    }
+                });
+            });
+
+            //读取模拟器类型序列号
+            $(document).on("click", ".btn-simnum", function () {
+                var simNum5 = $(".simNum5").val();
+                $.ajax({
+                    url: Config.url_type+"/sim/debug/debugReadSimType/"+simNum5,
+                    type: 'get',
+                    success: function (data) {
+                        console.log(data);
+                        if(data.code==200){
+                            $(".content5").html();
+                        }else{
+                            Layer.alert(data.msg);
+                            return;
+                        }
+                    }
+                });
+            });
+
+
+
+
+            //下发所有故障
+            $(document).on("click", ".btn-allxiafa", function () {
+                var simNum6 = $(".simNum6").val();
+                var simType6 = $(".simType6").val();
+                $.ajax({
+                    url: Config.url_type+"/sim/debug/debugWriteAllFault/"+simNum6+"/"+simType6,
+                    type: 'get',
+                    success: function (data) {
+                        console.log(data);
+                        if(data.code==200){
+                            $(".content6").html();
+                        }else{
+                            Layer.alert(data.msg);
+                            return;
+                        }
+                    }
+                });
+            });
+
+            //下发一个故障
+            $(document).on("click", ".btn-onexiafa", function () {
+                var simNum7 = $(".simNum7").val();
+                var bindHardwareMsg7 = $(".bindHardwareMsg7").val();
+                $.ajax({
+                    url: Config.url_type+"/sim/debug/debugWriteOneFault/"+simNum7+"/"+bindHardwareMsg7,
+                    type: 'get',
+                    success: function (data) {
+                        console.log(data);
+                        if(data.code==200){
+                            $(".content7").html();
+                        }else{
+                            Layer.alert(data.msg);
+                            return;
+                        }
+                    }
+                });
+            });
+
+
+
+        }
+    };
+
+    return Controller;
+});

+ 29 - 14
public/assets/js/backend/student/collection.js

@@ -72,14 +72,19 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
         },
         into: function () {
             $(document).on('click', '.btn-startexam', function () {
-                // $.ajax({
-                //     url: "/dev-api/sim/real-exam/student/exam/start/"+Config.exam_id,
-                //     type: 'get',
-                //     success: function (data) {
-                //         console.log(data);
-                //     }
-                // });
-                window.location.href = '/ZQOtIMLKud.php/student/collection/examing/ids/'+Config.exam_id;
+                $.ajax({
+                    url: Config.url_type+"/sim/real-exam/student/exam/start/"+Config.exam_id,
+                    type: 'get',
+                    success: function (data) {
+                        console.log(data);
+                        if(data.code==200){
+                            window.location.href = '/ZQOtIMLKud.php/student/collection/examing/ids/'+Config.exam_id;
+                        }else{
+                            Layer.alert(data.msg);
+                            return;
+                        }
+                    }
+                });
             });
             // Controller.api.bindevent();
             // Form.api.bindevent($("form[role=form]"), function(data, ret) {
@@ -89,6 +94,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
             // });
         },
         examing: function () {
+
             $(document).ready(function() {
                 var countdownTime = Config.timer; // 倒计时时间,单位为秒
                 var display = $('#timer');
@@ -121,11 +127,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                 }, 1000);
 
                 //五秒刷新,同步更换件列表数据
-                // if(Config.isloading==1 && countdownTime>0){
-                //     setInterval(function() {
-                //         window.location.reload();
-                //     }, 30000);
-                // }
+                if(Config.isloading==1 && countdownTime>0){
+                    setInterval(function() {
+                        window.location.reload();
+                    }, 30000);
+                }
 
             });
 
@@ -148,7 +154,15 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                     }
                 });
             });
-            console.log(Config.other_replace_arr)
+
+            $(document).on("fa.event.appendfieldlist", "#second-fieldlist .btn-append", function (e, obj) {
+                //绑定动态下拉组件
+                Form.events.selectpage(obj);
+
+            });
+            // Form.api.bindevent($("form[role=form]"), function (data, ret) {
+            //     Layer.alert(data.data);
+            // });
 
             Form.api.bindevent($("form[role=form]"), function(data, ret) {
                 if(ret.code==1){
@@ -156,6 +170,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                     Backend.api.addtabs( ret.url);
                 }
             });
+
         },
         analysis: function () {
             Form.api.bindevent($("form[role=form]"), function(data, ret) {