瀏覽代碼

20250121 调整

贾小兵 4 月之前
父節點
當前提交
4201012d3f

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

@@ -6,6 +6,7 @@ use app\admin\model\Admin;
 use app\admin\model\User;
 use app\common\controller\Backend;
 use app\common\model\Attachment;
+use app\common\model\Config as ConfigModel;
 use fast\Date;
 use think\Db;
 
@@ -19,6 +20,8 @@ class Expet extends Backend
     public function index()
     {
 
+        $this->assignConfig('sim_sim_type', ConfigModel::getSimTypeList());
+        $this->assign('sim_sim_type', ConfigModel::getSimTypeList());
         $this->assignConfig('url_type', config('site.url_type'));
         return $this->view->fetch();
     }

+ 158 - 20
application/admin/controller/student/Collection.php

@@ -13,7 +13,6 @@ use think\response\Json;
 use think\Db;
 use think\Env;
 /**
- * sim-考试集合管理
  *
  * @icon fa fa-circle-o
  */
@@ -29,6 +28,8 @@ class Collection extends Backend
 
     protected $whereExtend = null;
 
+    protected $noNeedLogin = ['addreport','editreport','delreport'];
+
     public function _initialize()
     {
         parent::_initialize();
@@ -115,14 +116,11 @@ class Collection extends Backend
         if(!$row){
             $this->error('未找到记录');
         }
-        //如果考试时间结束,也不可进入考试,超时未进入考试的学员
-//        $duration =  10+$row->limit_duration;
-//        $futureTimestamp = strtotime("+$duration minutes", $row->starttime);
-//        if(time()>$futureTimestamp){
-//            return $this->view->fetch('tishi');
-//        }
         $info = $this->exam_model->where(['user_id'=>$this->auth->id,'exam_collection_id'=>$ids,'exam_collection_type'=>3,'endtime'=>0])->find();
         if(!empty($info)){
+            if($info['seat_id']>0 && $this->auth->seat_id!=$info['seat_id']){
+                $this->error('已在其他座号有开始的考试,不允许换座号');
+            }
             $this->exam_model->where('exam_id',$info['exam_id'])->update(['seat_id'=>$this->auth->seat_id]);
             $info['seat_id'] = $this->auth->seat_id;
 //            $sim = Db::name('sim')->where('seat_id',$this->auth->seat_id)->find();
@@ -149,16 +147,6 @@ class Collection extends Backend
             echo "<script>location.href='/ZQOtIMLKud.php/student/collection/examing/ids/".$info['exam_id']."'</script>";
             die();
         }
-//        if ($this->request->isPost()) {
-//            $exam_collection_id = $this->request->post('exam_collection_id');
-//            if(empty($info->starttime)){
-//                $info->start_time = date('Y-m-d H:i:s');
-//                $info->starttime = time();
-//            }
-//            $info->exam_status = 4;
-//            $info->save();
-//            $this->success('开始成功','/ZQOtIMLKud.php/student/collection/examing/ids/'.$info['exam_id']);
-//        }
         $this->view->assign('info', $info);
         $this->view->assign('row', $row);
         $this->assignConfig('exam_id', $info['exam_id']);
@@ -391,9 +379,7 @@ class Collection extends Backend
             $isloading = 0;
             $row->other_replace = '[{"fault_id":"","request_status":"0"}]';
         }
-        if(empty($row->other_report)){
-            $row->other_report = '[{"xx_id":"","yy_id":"","bw_id":"","pc_id":""}]';
-        }
+        $row->other_report_text = !empty($row->other_report) ? json_decode($row->other_report,true) : [];
 
         //还未开始考试
         $row->limit_duration = $this->model->where(['exam_collection_id'=>$row['exam_collection_id']])->value('limit_duration');
@@ -477,6 +463,158 @@ class Collection extends Backend
         }
     }
 
+    /**
+     * @Notes:添加维修报告
+     * @Author: jxb
+     * @Date: 2025/1/21
+     * @Time: 10:29
+     */
+    public function addreport($ids = null){
+        $row = $this->exam_model->get($ids);
+        if(!$row){
+            $this->error('未找到记录');
+        }
+        if ($this->request->isPost()) {
+            $unwin = $this->request->post('unwin/a');
+            $arr = [];
+            if(!empty($unwin)){
+                $xx_name = Fault::where('fault_id',$unwin['xx_id'])->value('name');
+                $yy_name = Fault::where('fault_id','in',$unwin['yy_id'])->column('name');
+                $bw_name = Fault::where('fault_id','in',$unwin['bw_id'])->column('name');
+                $pc_name = Fault::where('fault_id','in',$unwin['pc_id'])->column('name');
+                $arr = [
+                    'xh_id' => $unwin['xh_id'],
+                    'xx_id' => $unwin['xx_id'],
+                    'xx_name'=>$xx_name,
+                    'yy_id' => implode(',',$unwin['yy_id']),
+                    'yy_name' => implode(',',$yy_name),
+                    'bw_id' => implode(',',$unwin['bw_id']),
+                    'bw_name' => implode(',',$bw_name),
+                    'pc_id' => implode(',',$unwin['pc_id']),
+                    'pc_name' => implode(',',$pc_name),
+                ];
+            }
+            $other_report = !empty($row->other_report) ? json_decode($row->other_report,true) : [];
+            array_push($other_report,$arr);
+            $row->other_report = json_encode($other_report);
+            $row->save();
+            $this->success();
+        }
+
+        //故障现象
+        $xianxiang = Fault::where(['fault_type'=>1,'sim_type'=>$row->sim_type])->select();
+        $this->view->assign('xianxiang', $xianxiang);
+        //可能原因
+        $yuanyin = Fault::where(['fault_type'=>2,'sim_type'=>$row->sim_type])->column('fault_id,name');
+        $this->view->assign('yuanyin', $yuanyin);
+        //故障部位
+        $buwei = Fault::where(['fault_type'=>3,'sim_type'=>$row->sim_type])->column('fault_id,name');
+        $this->view->assign('buwei', $buwei);
+        //排除方法
+        $paichu = Fault::where(['fault_type'=>4,'sim_type'=>$row->sim_type])->column('fault_id,name');
+        $this->view->assign('paichu', $paichu);
+
+        $row->other_report_count = 0;
+        if(!empty($row->other_report)){
+            $row->other_report_count = count(json_decode($row->other_report,true));
+        }
+
+        $this->view->assign('row', $row);
+        return $this->view->fetch();
+    }
+
+    /**
+     * @Notes:编辑报告
+     * @Author: jxb
+     * @Date: 2025/1/21
+     * @Time: 15:04
+     */
+    public function editreport($ids = null,$xh_id = null){
+        $row = $this->exam_model->get($ids);
+        if(!$row){
+            $this->error('未找到记录');
+        }
+        if ($this->request->isPost()) {
+            $unwin = $this->request->post('unwin/a');
+            if(!empty($unwin)){
+                $xx_name = Fault::where('fault_id',$unwin['xx_id'])->value('name');
+                $yy_name = Fault::where('fault_id','in',$unwin['yy_id'])->column('name');
+                $bw_name = Fault::where('fault_id','in',$unwin['bw_id'])->column('name');
+                $pc_name = Fault::where('fault_id','in',$unwin['pc_id'])->column('name');
+                $other_report = !empty($row->other_report) ? json_decode($row->other_report,true) : [];
+                foreach ($other_report as $k  =>$item){
+                    if($k==$xh_id){
+                        $other_report[$k]['xx_id'] =$unwin['xx_id'];
+                        $other_report[$k]['xx_name'] =$xx_name;
+                        $other_report[$k]['yy_id'] = implode(',',$unwin['yy_id']);
+                        $other_report[$k]['yy_name'] =implode(',',$yy_name);
+                        $other_report[$k]['bw_id'] = implode(',',$unwin['bw_id']);
+                        $other_report[$k]['bw_name'] =implode(',',$bw_name);
+                        $other_report[$k]['pc_id'] =implode(',',$unwin['pc_id']);
+                        $other_report[$k]['pc_name'] =implode(',',$pc_name);
+                    }
+                }
+                $row->other_report = json_encode($other_report);
+                $row->save();
+            }
+            $this->success();
+        }
+
+        //故障现象
+        $xianxiang = Fault::where(['fault_type'=>1,'sim_type'=>$row->sim_type])->select();
+        $this->view->assign('xianxiang', $xianxiang);
+        //可能原因
+        $yuanyin = Fault::where(['fault_type'=>2,'sim_type'=>$row->sim_type])->column('fault_id,name');
+        $this->view->assign('yuanyin', $yuanyin);
+        //故障部位
+        $buwei = Fault::where(['fault_type'=>3,'sim_type'=>$row->sim_type])->column('fault_id,name');
+        $this->view->assign('buwei', $buwei);
+        //排除方法
+        $paichu = Fault::where(['fault_type'=>4,'sim_type'=>$row->sim_type])->column('fault_id,name');
+        $this->view->assign('paichu', $paichu);
+
+        $row->other_report_text = [];
+        if(!empty($row->other_report)){
+            $other_report = json_decode($row->other_report,true);
+            foreach ($other_report as $k  =>$item){
+                if($k==$xh_id){
+                    $row->other_report_text = [
+                        'xx_id'=>$item['xx_id'],
+                        'yy_id'=>explode(',',$item['yy_id']),
+                        'bw_id'=>explode(',',$item['bw_id']),
+                        'pc_id'=>explode(',',$item['pc_id']),
+                        'xh_id'=>$item['xh_id']
+                    ];
+                }
+            }
+        }
+        $this->view->assign('row', $row);
+        return $this->view->fetch();
+    }
+
+
+    /**
+     * @Notes:移除 维修报告
+     * @Author: jxb
+     * @Date: 2025/1/21
+     * @Time: 14:45
+     */
+    public function delreport($ids = null){
+        $row = $this->exam_model->get($ids);
+        if(!$row){
+            $this->error('未找到记录');
+        }
+        if ($this->request->isPost()) {
+            $xh_id = $this->request->post('xh_id');
+            if(!empty($row->other_report)){
+                $other_report = json_decode($row->other_report,true);
+                unset($other_report[$xh_id]);
+                $row->other_report = json_encode($other_report);
+                $row->save();
+            }
+            $this->success();
+        }
+    }
 
     public function analysis($ids = null)
     {

+ 1 - 0
application/admin/controller/teacher/Collection.php

@@ -220,6 +220,7 @@ class Collection extends Backend
                         'user_username' => $it['username'],
                         'user_nickname' => $it['nickname'],
                         'user_id' => $it['id'],
+                        'sim_id' => Db::name('sim')->where('sim_type',$params['sim_type'])->value('sim_id'),
                         'user_depart_id' => $it['depart_id'],
                         'create_time'=>date('Y-m-d H:i:s'),
                         'update_time' => date('Y-m-d H:i:s'),

+ 5 - 2
application/admin/library/Auth.php

@@ -66,13 +66,16 @@ class Auth extends \fast\Auth
         //学员,追加 对应的IP和 座号
         if(!empty($admin->depart_id)){
             // 获取服务器自己的IP地址
-            $server_ip = '192.168.1.101';//gethostbyname('localhost');
+            $server_ip = gethostbyname('localhost');
             $admin->server_ip = $server_ip;
             $seat_id = Db::name('seat')->where('seat_bind_ip',$server_ip)->value('seat_id');
             if(!empty($seat_id)){
-                $admin->seat_id = $seat_id??0;
+                $admin->seat_id = $seat_id;
                 $sim_id = Db::name('sim')->where('seat_id',$seat_id)->value('sim_id');
                 $admin->sim_id = $sim_id??0;
+            }else{
+                $admin->seat_id = 1;
+                $admin->sim_id = 11;
             }
         }
         Session::set("admin", $admin->toArray());

+ 249 - 68
application/admin/view/expet/index.html

@@ -1,43 +1,92 @@
+<style>
+    .panel-heading{font-size: 16px}
+    label{line-height:30px}
+</style>
 <div class="row">
     <div class="col-md-12">
         <div class="box box-danger">
+            <div class="panel-heading">清除所有故障</div>
             <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 class="form-group col-sm-4" style="width: 30%">
+                    <label  class="control-label col-xs-12 col-sm-4">{:__('选择设备编号')}:</label>
+                    <div class="col-xs-12 col-sm-6" style="left: -10%">
+                        <select class="form-control simNum1">
+                            <option>11111</option>
+                            <option>22222</option>
+                            <option>33333</option>
+                        </select>
                     </div>
                 </div>
-                <div class="form-group col-xs-6">
-                    <textarea class="form-control content1"></textarea>
+                <div class="form-group col-sm-4" style="width: 30%;left: -2%">
+                    <label class="control-label col-xs-12 col-sm-4">{:__('选择模拟器类型')}:</label>
+                    <div class="col-xs-12 col-sm-6" style="left: -8%">
+                        <select class="form-control simType1">
+                            <option value="">请选择</option>
+                            {foreach name="sim_sim_type" item="vo"}
+                            <option value="{$key}" text="{$vo}">{$vo}</option>
+                            {/foreach}
+                        </select>
+                    </div>
                 </div>
-                <div class="form-group col-sm-12" style="margin-left:10px">
-                    <button type="button" class="btn btn-info btn-all-fault">清除所有故障</button>
+
+                <div class="form-group col-sm-4" style="left: -3%">
+                    <button type="button" class="btn btn-info btn-all-fault">执行</button>
+                    <div class="content1"></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-heading">清除一个故障</div>
             <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 class="form-group col-sm-4" style="width: 30%">
+                    <label  class="control-label col-xs-12 col-sm-4">{:__('选择设备编号')}:</label>
+                    <div class="col-xs-12 col-sm-6" style="left: -10%">
+                        <select class="form-control simNum2">
+                            <option>11111</option>
+                            <option>22222</option>
+                            <option>33333</option>
+                        </select>
                     </div>
-                    <div class="col-xs-6">
-                        <input type="text" class="form-control bindHardwareMsg2" placeholder="请输入故障位置编号">
+                </div>
+                <div class="form-group col-sm-4" style="width: 30%;left: -2%">
+                    <label class="control-label col-xs-12 col-sm-4">{:__('选择故障编号')}:</label>
+                    <div class="col-xs-12 col-sm-6" style="left: -8%">
+                        <select class="form-control bindHardwareMsg2">
+                            <option>11111</option>
+                            <option>22222</option>
+                            <option>33333</option>
+                        </select>
                     </div>
                 </div>
-                <div class="form-group col-xs-6">
-                    <textarea class="form-control content2"></textarea>
+                <div class="form-group col-sm-4" style="left: -3%">
+                    <button type="button" class="btn btn-info btn-one-fault">执行</button>
+                    <div class="content2"></div>
                 </div>
+<!--                <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 class="form-group col-sm-12" style="margin-left:10px">
-                    <button type="button" class="btn btn-info btn-one-fault">清除一个故障</button>
-                </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>
@@ -45,20 +94,49 @@
     <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 class="panel-heading">读取全部故障位置数据</div>
+                <div class="form-group col-sm-4" style="width: 30%">
+                    <label  class="control-label col-xs-12 col-sm-4">{:__('选择设备编号')}:</label>
+                    <div class="col-xs-12 col-sm-6" style="left: -10%">
+                        <select class="form-control simNum3">
+                            <option>11111</option>
+                            <option>22222</option>
+                            <option>33333</option>
+                        </select>
                     </div>
                 </div>
-                <div class="form-group col-xs-6">
-                    <textarea class="form-control content3"></textarea>
+
+                <div class="form-group col-sm-4" style="width: 30%;left: -2%">
+                    <label class="control-label col-xs-12 col-sm-4">{:__('选择模拟器类型')}:</label>
+                    <div class="col-xs-12 col-sm-6" style="left: -8%">
+                        <select class="form-control simType3">
+                            <option value="">请选择</option>
+                            {foreach name="sim_sim_type" item="vo"}
+                            <option value="{$key}" text="{$vo}">{$vo}</option>
+                            {/foreach}
+                        </select>
+                    </div>
                 </div>
-                <div class="form-group col-sm-12" style="margin-left:10px">
-                    <button type="button" class="btn btn-info btn-alldata">读取全部故障位置数据</button>
+
+                <div class="form-group col-sm-4" style="left: -3%">
+                    <button type="button" class="btn btn-info btn-all-fault">执行</button>
+                    <div class="content3"></div>
                 </div>
+
+<!--                <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>
@@ -67,20 +145,45 @@
     <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 class="panel-heading">读取一个故障位置数据</div>
+                <div class="form-group col-sm-4" style="width: 30%">
+                    <label  class="control-label col-xs-12 col-sm-4">{:__('选择设备编号')}:</label>
+                    <div class="col-xs-12 col-sm-6" style="left: -10%">
+                        <select class="form-control simNum4">
+                            <option>11111</option>
+                            <option>22222</option>
+                            <option>33333</option>
+                        </select>
                     </div>
                 </div>
-                <div class="form-group col-xs-6">
-                    <textarea class="form-control content4"></textarea>
+
+                <div class="form-group col-sm-4" style="width: 30%;left: -2%">
+                    <label class="control-label col-xs-12 col-sm-4">{:__('选择故障编号')}:</label>
+                    <div class="col-xs-12 col-sm-6" style="left: -8%">
+                        <select class="form-control bindHardwareMsg4">
+                            <option value="">请选择</option>
+                        </select>
+                    </div>
                 </div>
-                <div class="form-group col-sm-12" style="margin-left:10px">
-                    <button type="button" class="btn btn-info btn-onedata">读取一个故障位置数据</button>
+
+                <div class="form-group col-sm-4" style="left: -3%">
+                    <button type="button" class="btn btn-info btn-all-fault">执行</button>
+                    <div class="content4"></div>
                 </div>
+<!--                <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>
@@ -89,17 +192,33 @@
     <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 class="panel-heading">读取模拟器类型序列号</div>
+                <div class="form-group col-sm-4" style="width: 30%">
+                    <label  class="control-label col-xs-12 col-sm-4">{:__('选择设备编号')}:</label>
+                    <div class="col-xs-12 col-sm-6" style="left: -10%">
+                        <select class="form-control simNum5">
+                            <option>11111</option>
+                            <option>22222</option>
+                            <option>33333</option>
+                        </select>
                     </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 class="form-group col-sm-4" style="left: -3%">
+                    <button type="button" class="btn btn-info btn-all-fault">执行</button>
+                    <div class="content5"></div>
                 </div>
+
+<!--                <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>
@@ -107,20 +226,50 @@
     <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 class="panel-heading">下发所有故障</div>
+                <div class="form-group col-sm-4" style="width: 30%">
+                    <label  class="control-label col-xs-12 col-sm-4">{:__('选择设备编号')}:</label>
+                    <div class="col-xs-12 col-sm-6" style="left: -10%">
+                        <select class="form-control simNum6">
+                            <option>11111</option>
+                            <option>22222</option>
+                            <option>33333</option>
+                        </select>
                     </div>
                 </div>
-                <div class="form-group col-xs-6">
-                    <textarea class="form-control content6"></textarea>
+
+                <div class="form-group col-sm-4" style="width: 30%;left: -2%">
+                    <label class="control-label col-xs-12 col-sm-4">{:__('选择模拟器类型')}:</label>
+                    <div class="col-xs-12 col-sm-6" style="left: -8%">
+                        <select class="form-control simType6">
+                            <option value="">请选择</option>
+                            {foreach name="sim_sim_type" item="vo"}
+                            <option value="{$key}" text="{$vo}">{$vo}</option>
+                            {/foreach}
+                        </select>
+                    </div>
                 </div>
-                <div class="form-group col-sm-12" style="margin-left:10px">
-                    <button type="button" class="btn btn-info btn-allxiafa">下发所有故障</button>
+
+                <div class="form-group col-sm-4" style="left: -3%">
+                    <button type="button" class="btn btn-info btn-allxiafa">执行</button>
+                    <div class="content6"></div>
                 </div>
+
+
+<!--                <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>
@@ -128,20 +277,52 @@
     <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 class="panel-heading">下发一个故障</div>
+                <div class="form-group col-sm-4" style="width: 30%">
+                    <label  class="control-label col-xs-12 col-sm-4">{:__('选择设备编号')}:</label>
+                    <div class="col-xs-12 col-sm-6" style="left: -10%">
+                        <select class="form-control simNum7">
+                            <option>11111</option>
+                            <option>22222</option>
+                            <option>33333</option>
+                        </select>
                     </div>
-                    <div class="col-xs-6">
-                        <input type="text" class="form-control simType7" placeholder="请输入模拟器类型">
+                </div>a
+
+                <div class="form-group col-sm-4" style="width: 30%;left: -2%">
+                    <label class="control-label col-xs-12 col-sm-4">{:__('选择模拟器类型')}:</label>
+                    <div class="col-xs-12 col-sm-6" style="left: -8%">
+                        <select class="form-control simType7">
+                            <option value="">请选择</option>
+                            {foreach name="sim_sim_type" item="vo"}
+                            <option value="{$key}" text="{$vo}">{$vo}</option>
+                            {/foreach}
+                        </select>
                     </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 class="form-group col-sm-4" style="left: -3%">
+                    <button type="button" class="btn btn-info btn-onexiafa">执行</button>
+                    <div class="content7"></div>
                 </div>
+
+
+<!--                <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>

+ 109 - 0
application/admin/view/student/collection/addreport.html

@@ -0,0 +1,109 @@
+<style type="text/css">
+    .new_table {
+        border-collapse: collapse;
+        margin: 0 auto;
+        text-align: center;
+        width: 25%;float: left;
+        font-size: 12px;
+    }
+
+    .new_table td,
+    table th {
+        border: 1px solid #cad9ea;
+        color: #666;
+        height: 2.5em;
+    }
+
+    .new_table thead th {
+        background-color: #CCE8EB;
+        width: 100px;
+    }
+</style>
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+    <div class="col-lg-12">
+        <div class="tab-content">
+            <div class="tab-pane" style="display: block">
+                <input name="unwin[xh_id]" value="{$row.other_report_count}" type="hidden">
+                <table class="new_table">
+                    <thead>
+                        <tr>
+                            <td>故障现象</td>
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <tr>
+                        <td>
+                            <select class="form-control" name="unwin[xx_id]">
+                                <option value="" >请选择</option>
+                                {foreach name="xianxiang" item="vo"}
+                                <option value="{$vo.fault_id}" >{$vo.name}</option>
+                                {/foreach}
+                            </select>
+                        </td>
+                    </tr>
+                    </tbody>
+                </table>
+                <table class="new_table">
+                    <thead>
+                    <tr>
+                        <td>可能原因</td>
+                    </tr>
+                    </thead>
+                    <tbody>
+                    <tr>
+                        <td>
+                            <select  class="form-control selectpicker" multiple="" name="unwin[yy_id][]">
+                                {foreach name="yuanyin" item="vv"}
+                                <option value="{$key}">{$vv}</option>
+                                {/foreach}
+                            </select>
+                        </td>
+                    </tr>
+                    </tbody>
+                </table>
+                <table class="new_table">
+                    <thead>
+                    <tr>
+                        <td>故障部位</td>
+                    </tr>
+                    </thead>
+                    <tbody>
+                    <tr>
+                        <td>
+                        <select  class="form-control selectpicker" multiple="" name="unwin[bw_id][]">
+                            {foreach name="buwei" item="v2"}
+                            <option value="{$key}">{$v2}</option>
+                            {/foreach}
+                        </select>
+                        </td>
+                    </tr>
+                    </tbody>
+                </table>
+                <table class="new_table">
+                    <thead>
+                    <tr>
+                        <td>排除方法</td>
+                    </tr>
+                    </thead>
+                    <tbody>
+                    <tr>
+                        <td>
+                            <select  class="form-control selectpicker" multiple="" name="unwin[pc_id][]">
+                                {foreach name="paichu" item="v3"}
+                                <option value="{$key}">{$v3}</option>
+                                {/foreach}
+                            </select>
+                        </td>
+                    </tr>
+                    </tbody>
+                </table>
+            </div>
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>
+        </div>
+    </div>
+</form>

+ 97 - 0
application/admin/view/student/collection/editreport.html

@@ -0,0 +1,97 @@
+<style type="text/css">
+    .new_table {
+        border-collapse: collapse;
+        margin: 0 auto;
+        text-align: center;
+        width: 25%;float: left;
+        font-size: 12px;
+    }
+
+    .new_table td,
+    table th {
+        border: 1px solid #cad9ea;
+        color: #666;
+        height: 2.5em;
+    }
+
+    .new_table thead th {
+        background-color: #CCE8EB;
+        width: 100px;
+    }
+</style>
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+    <div class="col-lg-12">
+        <div class="tab-content">
+            <div class="tab-pane" style="display: block">
+                <input name="unwin[xh_id]" value="{$row.other_report_text.xh_id}" type="hidden">
+                <table class="new_table">
+                    <thead>
+                        <tr>
+                            <td>故障现象</td>
+                        </tr>
+                    </thead>
+                    <tbody>
+                    <tr>
+                        <td>
+                            <select class="form-control" name="unwin[xx_id]">
+                                <option value="" >请选择</option>
+                                {foreach name="xianxiang" item="vo"}
+                                <option value="{$vo.fault_id}" {if $row.other_report_text.xx_id eq $vo.fault_id} selected {/if}>{$vo.name}</option>
+                                {/foreach}
+                            </select>
+                        </td>
+                    </tr>
+                    </tbody>
+                </table>
+                <table class="new_table">
+                    <thead>
+                    <tr>
+                        <td>可能原因</td>
+                    </tr>
+                    </thead>
+                    <tbody>
+                    <tr>
+                        <td>
+                            {:build_select('unwin[yy_id][]', $yuanyin, $row.other_report_text.yy_id, ['class'=>'form-control selectpicker','multiple'=>''])}
+                        </td>
+                    </tr>
+                    </tbody>
+                </table>
+                <table class="new_table">
+                    <thead>
+                    <tr>
+                        <td>故障部位</td>
+                    </tr>
+                    </thead>
+                    <tbody>
+                    <tr>
+                        <td>
+                            {:build_select('unwin[bw_id][]', $buwei, $row.other_report_text.bw_id, ['class'=>'form-control selectpicker','multiple'=>''])}
+                        </td>
+                    </tr>
+                    </tbody>
+                </table>
+                <table class="new_table">
+                    <thead>
+                    <tr>
+                        <td>排除方法</td>
+                    </tr>
+                    </thead>
+                    <tbody>
+                    <tr>
+                        <td>
+                            {:build_select('unwin[pc_id][]', $paichu, $row.other_report_text.pc_id, ['class'=>'form-control selectpicker','multiple'=>''])}
+                        </td>
+                    </tr>
+                    </tbody>
+                </table>
+            </div>
+        </div>
+    </div>
+    <div class="form-group layer-footer">
+        <label class="control-label col-xs-12 col-sm-2"></label>
+        <div class="col-xs-12 col-sm-8">
+            <button type="submit" class="btn btn-success btn-embossed disabled">{:__('OK')}</button>
+        </div>
+    </div>
+</form>

+ 69 - 46
application/admin/view/student/collection/examing.html

@@ -56,15 +56,16 @@
         border-collapse: collapse;
         margin: 0 auto;
         text-align: center;
-        width: 100%;
+        width: 94%;
         font-size: 12px;
+        margin-left:0px;
     }
 
     .new_table td,
     table th {
         border: 1px solid #cad9ea;
         color: #666;
-        height: 2.5em;
+        height: 3.5em;
     }
 
     .new_table thead th {
@@ -72,21 +73,6 @@
         width: 100px;
     }
 
-    .span_show {
-        float: left;
-        margin-left: 15px;
-        font-size: 11px;
-        color: #0a84ff;
-        cursor: pointer;
-    }
-
-    .span_hide {
-        float: left;
-        margin-left: 15px;
-        font-size: 11px;
-        color: #0a84ff;
-        cursor: pointer;
-    }
 
     .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
         background-color: #17223f;
@@ -100,6 +86,7 @@
         margin-bottom: 10px;
     }
     .panel-heading{font-size: 18px}
+
 </style>
 <div class="row animated fadeInRight">
     <div class="col-md-12">
@@ -111,7 +98,7 @@
                 </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="col-xs-12 col-sm-12">
                         <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">
@@ -141,38 +128,74 @@
                             </div>
                         </div>
                     </div>
-                    <div class="col-xs-12 col-sm-12" style="text-align: center">
+                    <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">{:__('维修报告列表')}:</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>
-                                    <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%>"/>
-                                        <span class="btn btn-sm btn-danger btn-remove"><i class="fa fa-times"></i></span>
-                                    </dd>
-                                </script>
+                                <table class="new_table">
+                                    <thead>
+                                    <tr>
+                                        <td>故障现象</td>
+                                        <td>可能原因</td>
+                                        <td>故障部位</td>
+                                        <td>排除方法</td>
+                                        <td>操作</td>
+                                    </tr>
+                                    </thead>
+                                    <tbody>
+                                    {if $row.other_report_text}
+                                    {foreach name="row.other_report_text" item="vo"}
+                                    <tr>
+                                        <td>{$vo.xx_name}</td>
+                                        <td>{$vo.yy_name}</td>
+                                        <td>{$vo.bw_name}</td>
+                                        <td>{$vo.pc_name}</td>
+                                        <td>
+                                            <span class="btn btn-xs btn-success btnedit" title="编辑" xh_id="{$vo.xh_id}"><i class="fa fa-pencil"></i> 编辑</span>
+                                            <span class="btn btn-xs btn-danger btnmove" title="移除" xh_id="{$vo.xh_id}"><i class="fa fa-times"></i> 移除</span>
+                                        </td>
+                                    </tr>
+                                    {/foreach}
+                                    {else/}
+                                    <tr>
+                                        <td colspan="5">暂无记录</td>
+                                    </tr>
+                                    {/if}
+                                    </tbody>
+                                </table>
+                                <a href="javascript:;" style="margin-top:8px" class="btn btn-sm btn-info btn-addlog">添加维修报告记录</a>
                             </div>
+
+                            <textarea name="row[other_report]" style="margin-top:9px" class="form-control hide other_report" cols="30" rows="5">{$row.other_report}</textarea>
+
+<!--                            <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>-->
+<!--                                    <textarea name="row[other_report]" class="form-control 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%>"/>-->
+<!--                                        <span class="btn btn-sm btn-danger btn-remove"><i class="fa fa-times"></i></span>-->
+<!--                                    </dd>-->
+<!--                                </script>-->
+<!--                            </div>-->
                         </div>
                     </div>
                     <div class="form-group" style="text-align: center">

+ 55 - 1
public/assets/js/backend/student/collection.js

@@ -159,10 +159,47 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                 });
             });
 
+            //追加记录
+            $(document).on('click', '.btn-addlog', function () {
+                var ids = Config.ids;
+                Fast.api.open('student/collection/addreport/ids/'+ids, __("维修报告"), {area: ["99%", "70%"], maxmin: true, moveOut: false});
+            });
+            //编辑记录
+            $(document).on('click', '.btnedit', function () {
+                var ids = Config.ids;
+                var xh_id = $(this).attr('xh_id');
+                Fast.api.open('student/collection/editreport/ids/'+ids+'/xh_id/'+xh_id, __("维修报告"), {area: ["99%", "70%"], maxmin: true, moveOut: false});
+            });
+            //移除记录
+            $(document).on('click', '.btnmove', function () {
+                var ids = Config.ids;
+                var xh_id = $(this).attr('xh_id');
+                Layer.confirm(
+                    __('确定要移除此条记录吗?', ids.length),
+                    {icon:3, title: __('Warning'), shadeClose: true, btn: [__('OK'), __('Cancel')]},
+                    function (index) {
+                        var url = 'student/collection/delreport/ids/'+ids;
+                        options = {url: url, data: {xh_id: xh_id}};
+                        Fast.api.ajax(options, function (data, ret) {
+                            window.location.reload();
+                        }, function (data, ret) {
+                            var error = $(that).data("error") || $.noop;
+                            if (typeof error === 'function') {
+                                if (false === error.call(that, data, ret)) {
+                                    return false;
+                                }
+                            }
+                        });
+                        Layer.close(index);
+                    }
+                );
+
+            });
+
+
             $(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) {
@@ -172,6 +209,23 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                 }
             });
         },
+        addreport: function () {
+            Form.api.bindevent($("form[role=form]"), function(data, ret) {
+                if(ret.code==1){
+                    parent.location.reload();
+                }
+            });
+        },
+        editreport: function () {
+            Form.api.bindevent($("form[role=form]"), function(data, ret) {
+                if(ret.code==1){
+                    parent.location.reload();
+                }
+            });
+        },
+        delreport: function () {
+            Controller.api.bindevent();
+        },
         analysis: function () {
             Form.api.bindevent($("form[role=form]"), function(data, ret) {
                 if(ret.code==1){