贾小兵 преди 3 месеца
родител
ревизия
cbbfa12e4d
променени са 42 файла, в които са добавени 1883 реда и са изтрити 327 реда
  1. 45 0
      application/admin/controller/Fault.php
  2. 37 0
      application/admin/controller/Report.php
  3. 69 0
      application/admin/controller/student/Collection.php
  4. 7 1
      application/admin/controller/student/Exam.php
  5. 3 1
      application/admin/controller/teacher/Collection.php
  6. 1 2
      application/admin/controller/teacher/Exams.php
  7. 1 0
      application/admin/controller/teacher/Task.php
  8. 27 0
      application/admin/lang/zh-cn/fault.php
  9. 7 0
      application/admin/lang/zh-cn/report.php
  10. 1 1
      application/admin/lang/zh-cn/student/collection.php
  11. 1 1
      application/admin/lang/zh-cn/teacher/collection.php
  12. 1 1
      application/admin/library/traits/Backend.php
  13. 40 0
      application/admin/model/Fault.php
  14. 40 0
      application/admin/model/Report.php
  15. 19 1
      application/admin/model/teacher/Collection.php
  16. 20 1
      application/admin/model/teacher/Exams.php
  17. 28 7
      application/admin/model/teacher/Task.php
  18. 27 0
      application/admin/validate/Fault.php
  19. 27 0
      application/admin/validate/Report.php
  20. 99 0
      application/admin/view/fault/add.html
  21. 99 0
      application/admin/view/fault/edit.html
  22. 29 0
      application/admin/view/fault/index.html
  23. 39 0
      application/admin/view/report/add.html
  24. 39 0
      application/admin/view/report/edit.html
  25. 29 0
      application/admin/view/report/index.html
  26. 25 0
      application/admin/view/report/recyclebin.html
  27. 160 0
      application/admin/view/student/collection/analysis.html
  28. 209 0
      application/admin/view/student/collection/examing.html
  29. 91 0
      application/admin/view/student/collection/into.html
  30. 75 87
      application/admin/view/teacher/collection/add.html
  31. 172 88
      application/admin/view/teacher/collection/edit.html
  32. 1 1
      application/admin/view/teacher/exams/index.html
  33. 22 54
      application/admin/view/teacher/task/add.html
  34. 20 55
      application/admin/view/teacher/task/edit.html
  35. 1 1
      application/common/controller/Backend.php
  36. 4 0
      public/assets/css/backend.css
  37. 67 0
      public/assets/js/backend/fault.js
  38. 118 0
      public/assets/js/backend/report.js
  39. 71 13
      public/assets/js/backend/student/collection.js
  40. 31 3
      public/assets/js/backend/student/exam.js
  41. 40 0
      public/assets/js/backend/teacher/collection.js
  42. 41 9
      public/assets/js/backend/teacher/task.js

+ 45 - 0
application/admin/controller/Fault.php

@@ -0,0 +1,45 @@
+<?php
+
+namespace app\admin\controller;
+
+use app\common\controller\Backend;
+
+/**
+ * sim-故障管理
+ *
+ * @icon fa fa-circle-o
+ */
+class Fault extends Backend
+{
+
+    /**
+     * Fault模型对象
+     * @var \app\admin\model\Fault
+     */
+    protected $model = null;
+    protected $noNeedRight = ['getdatlist'];
+
+    public function _initialize()
+    {
+
+        parent::_initialize();
+        $this->model = new \app\admin\model\Fault;
+
+    }
+
+
+
+    /**
+     * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+     * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+     * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+     */
+
+    //根据 模拟器类型,选择模拟器二级和三级列表
+    public function getdatlist($type = null)
+    {
+        $selectData = [];
+        return $selectData;
+    }
+
+}

+ 37 - 0
application/admin/controller/Report.php

@@ -0,0 +1,37 @@
+<?php
+
+namespace app\admin\controller;
+
+use app\common\controller\Backend;
+
+/**
+ * sim-维修报告要素
+ *
+ * @icon fa fa-circle-o
+ */
+class Report extends Backend
+{
+
+    /**
+     * Report模型对象
+     * @var \app\admin\model\Report
+     */
+    protected $model = null;
+
+    public function _initialize()
+    {
+        parent::_initialize();
+        $this->model = new \app\admin\model\Report;
+
+    }
+
+
+
+    /**
+     * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法
+     * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
+     * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
+     */
+
+
+}

+ 69 - 0
application/admin/controller/student/Collection.php

@@ -4,6 +4,7 @@ namespace app\admin\controller\student;
 
 use app\common\controller\Backend;
 use app\common\model\Config as ConfigModel;
+use app\admin\model\Report;
 
 /**
  * sim-考试集合管理
@@ -18,13 +19,19 @@ class Collection extends Backend
      * @var \app\admin\model\teacher\Collection
      */
     protected $model = null;
+    protected $exam_model = null;
+
+    protected $whereExtend = null;
 
     public function _initialize()
     {
         parent::_initialize();
         $this->model = new \app\admin\model\teacher\Collection;
+        $this->exam_model = new \app\admin\model\teacher\Exams;
         $this->assignConfig('sim_sim_type', ConfigModel::getSimTypeList());
         $this->assignConfig('sim_question_setting_method', ConfigModel::getSimQuestionList());
+        $this->whereExtend['exam_collection_type'] = 3;
+        $this->whereExtend['exam_collection_state'] = 2;
     }
 
 
@@ -34,6 +41,68 @@ class Collection extends Backend
      * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
      * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
      */
+    //进入考试
+    public function  into($ids = null)
+    {
+        $row = $this->model->get($ids);
+        if(!$row){
+            $this->error('未找到记录');
+        }
+        $info = $this->exam_model->where(['user_id'=>$this->auth->id,'exam_collection_id'=>$ids])->find();
+        if(empty($info)){
+            $arr = [
+                'exam_collection_id' => $ids,
+                'user_id' => $this->auth->id,
+                'seat_id' => 1,
+                'sim_id' => 12,
+            ];
+            $this->exam_model->save($arr);
+        }
+        if ($this->request->isPost()) {
+            $exam_collection_id = $this->request->post('exam_collection_id');
+            $info->start_time = date('Y-m-d H:i:s');
+            $info->save();
+            $this->success('开始成功','/ZQOtIMLKud.php/student/collection/examing/ids/'.$info['exam_id']);
+        }
+        $this->view->assign('row', $row);
+        return $this->view->fetch();
+    }
+
+    public  function  examing($ids = null)
+    {
+        $row = $this->exam_model->get($ids);
+        if(!$row){
+            $this->error('未找到记录');
+        }
+        $this->assignConfig('timer', 60*$this->model->where(['exam_collection_id'=>$row['exam_collection_id']])->value('limit_duration'));
+        $this->view->assign('row', $row);
 
+        $departmentdata = [];
+        $departmentdata = Report::where(['level'=>4,'is_replace'=>1])->select();
+//        foreach ($result as $k => $v) {
+//            $departmentdata[$v['report_id']] = $v['name'];
+//        }
+//        halt($departmentdata);
+        if ($this->request->isPost()) {
+            $params = $this->request->post('row/a');
+            $this->success('交卷成功','/ZQOtIMLKud.php/student/collection/analysis/ids/'.$row['exam_id']);
+        }
+        $this->view->assign('departmentdata', $departmentdata);
 
+        return $this->view->fetch();
+    }
+
+
+    public function analysis($ids = null)
+    {
+        $row = $this->exam_model->get($ids);
+        if(!$row){
+            $this->error('未找到记录');
+        }
+        if ($this->request->isPost()) {
+            $params = $this->request->post('row/a');
+            $this->success('操作成功','/ZQOtIMLKud.php/student/collection/index');
+        }
+        return $this->view->fetch();
+    }
 }

+ 7 - 1
application/admin/controller/student/Exam.php

@@ -17,12 +17,18 @@ class Exam extends Backend
      * @var \app\admin\model\teacher\Exams
      */
     protected $model = null;
+    protected $whereExtend = null;
 
     public function _initialize()
     {
         parent::_initialize();
         $this->model = new \app\admin\model\teacher\Exams;
-
+        $groupIds = $this->auth->getGroupIds();
+        //学员查看自己的
+        if(in_array(8, $groupIds)){
+            $this->whereExtend['user_id'] = $this->auth->id;
+        }
+        $this->assignconfig("groupIds", $groupIds[0]);
     }
 
 

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

@@ -18,13 +18,16 @@ class Collection extends Backend
      * @var \app\admin\model\teacher\Collection
      */
     protected $model = null;
+    protected $whereExtend = null;
 
     public function _initialize()
     {
         parent::_initialize();
         $this->model = new \app\admin\model\teacher\Collection;
         $this->assignConfig('sim_sim_type', ConfigModel::getSimTypeList());
+        $this->assign('sim_sim_type', ConfigModel::getSimTypeList());
         $this->assignConfig('sim_question_setting_method', ConfigModel::getSimQuestionList());
+        $this->assign('sim_question_setting_method', ConfigModel::getSimQuestionList());
     }
 
 
@@ -35,5 +38,4 @@ class Collection extends Backend
      * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
      */
 
-
 }

+ 1 - 2
application/admin/controller/teacher/Exams.php

@@ -17,12 +17,11 @@ class Exams extends Backend
      * @var \app\admin\model\teacher\Exams
      */
     protected $model = null;
-
+    protected $whereExtend = null;
     public function _initialize()
     {
         parent::_initialize();
         $this->model = new \app\admin\model\teacher\Exams;
-
     }
 
 

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

@@ -24,6 +24,7 @@ class Task extends Backend
         $this->model = new \app\admin\model\teacher\Task;
 
         $this->assignConfig('sim_sim_type', ConfigModel::getSimTypeList());
+        $this->assign('sim_sim_type', ConfigModel::getSimTypeList());
     }
 
 

+ 27 - 0
application/admin/lang/zh-cn/fault.php

@@ -0,0 +1,27 @@
+<?php
+
+return [
+    'Fault_id'           => '故障ID',
+    'Parent_fault_id'    => '父故障ID',
+    'Sim_type'           => '模拟器类型',
+    'Fault_type'         => '故障类型:
+1:故障现象
+2:故障现象的可能原因
+3:故障部位
+4:故障部位的排除方法
+5:修复结论',
+    'Fault_state'        => '故障状态
+0:启用 
+5:禁用',
+    'Conflict_fault_ids' => '互斥所有故障ID逗号分割',
+    'Replace_part'       => '是否是更换件 1:是 0:不是',
+    'Replace_name'       => '更换件名称',
+    'Name'               => '名称',
+    'Bind_hardware_msg'  => '绑定硬件通信报文',
+    'Order_num'          => '显示顺序',
+    'Create_by'          => '创建者',
+    'Create_time'        => '创建时间',
+    'Update_by'          => '更新者',
+    'Update_time'        => '更新时间',
+    'Remark'             => '备注'
+];

+ 7 - 0
application/admin/lang/zh-cn/report.php

@@ -0,0 +1,7 @@
+<?php
+
+return [
+    'Report_id' => '报告ID',
+    'Name'      => '名称',
+    'Remark'    => '备注'
+];

+ 1 - 1
application/admin/lang/zh-cn/student/collection.php

@@ -8,7 +8,7 @@ return [
     'Exam_collection_state'   => '考试集合状态',//:[0]-初始化,[2]-打开,[3]-关闭
     'Exam_collection_name'    => '考试名称',
     'Task_id'                 => '任务ID',
-    'Limit_duration'          => '限制时长(分钟)',
+    'Limit_duration'          => '考试时长',
     'Start_time'              => '考试开始时间',
     'End_time'                => '考试结束时间',
     'Create_user_id'          => '创建教师ID/用户ID',

+ 1 - 1
application/admin/lang/zh-cn/teacher/collection.php

@@ -8,7 +8,7 @@ return [
     'Exam_collection_state'   => '考试集合状态',//:[0]-初始化,[2]-打开,[3]-关闭
     'Exam_collection_name'    => '考试名称',
     'Task_id'                 => '任务ID',
-    'Limit_duration'          => '限制时长(分钟)',
+    'Limit_duration'          => '考试时长',
     'Start_time'              => '考试开始时间',
     'End_time'                => '考试结束时间',
     'Create_user_id'          => '创建教师ID/用户ID',

+ 1 - 1
application/admin/library/traits/Backend.php

@@ -58,7 +58,7 @@ trait Backend
         }
         [$where, $sort, $order, $offset, $limit] = $this->buildparams();
         $list = $this->model
-            ->where($where)
+            ->where($where)->where($this->whereExtend)
             ->order($sort, $order)
             ->paginate($limit);
         $result = ['total' => $list->total(), 'rows' => $list->items()];

+ 40 - 0
application/admin/model/Fault.php

@@ -0,0 +1,40 @@
+<?php
+
+namespace app\admin\model;
+
+use think\Model;
+
+
+class Fault extends Model
+{
+
+    
+
+    
+
+    // 表名
+    protected $name = 'fault';
+    
+    // 自动写入时间戳字段
+    protected $autoWriteTimestamp = false;
+
+    // 定义时间戳字段名
+    protected $createTime = false;
+    protected $updateTime = false;
+    protected $deleteTime = false;
+
+    // 追加属性
+    protected $append = [
+
+    ];
+    
+
+    
+
+
+
+
+
+
+
+}

+ 40 - 0
application/admin/model/Report.php

@@ -0,0 +1,40 @@
+<?php
+
+namespace app\admin\model;
+
+use think\Model;
+use traits\model\SoftDelete;
+
+class Report extends Model
+{
+
+    use SoftDelete;
+
+    
+
+    // 表名
+    protected $name = 'report';
+    
+    // 自动写入时间戳字段
+    protected $autoWriteTimestamp = 'integer';
+
+    // 定义时间戳字段名
+    protected $createTime = 'createtime';
+    protected $updateTime = 'updatetime';
+    protected $deleteTime = 'deletetime';
+
+    // 追加属性
+    protected $append = [
+
+    ];
+    
+
+    
+
+
+
+
+
+
+
+}

+ 19 - 1
application/admin/model/teacher/Collection.php

@@ -28,8 +28,26 @@ class Collection extends Model
     protected $append = [
 
     ];
-    
 
+    protected static function init()
+    {
+        self::beforeUpdate(function ($row) {
+            if(!empty($row['createtime'])){
+                $pk = $row->getPk();
+                $create_time = date('Y-m-d H:i:s',$row['createtime']);
+                $update_time = date('Y-m-d H:i:s',$row['updatetime']);
+                $row->getQuery()->where($pk, $row[$pk])->update(['create_time' => $create_time,'update_time'=>$update_time]);
+            }
+        });
+        self::afterInsert(function ($row) {
+            if(!empty($row['createtime'])){
+                $pk = $row->getPk();
+                $create_time = date('Y-m-d H:i:s',$row['createtime']);
+                $update_time = date('Y-m-d H:i:s',$row['updatetime']);
+                $row->getQuery()->where($pk, $row[$pk])->update(['create_time' => $create_time,'update_time'=>$update_time]);
+            }
+        });
+    }
     
 
 

+ 20 - 1
application/admin/model/teacher/Exams.php

@@ -28,7 +28,26 @@ class Exams extends Model
     protected $append = [
 
     ];
-    
+
+    protected static function init()
+    {
+        self::beforeUpdate(function ($row) {
+            if(!empty($row['createtime'])){
+                $pk = $row->getPk();
+                $create_time = date('Y-m-d H:i:s',$row['createtime']);
+                $update_time = date('Y-m-d H:i:s',$row['updatetime']);
+                $row->getQuery()->where($pk, $row[$pk])->update(['create_time' => $create_time,'update_time'=>$update_time]);
+            }
+        });
+        self::afterInsert(function ($row) {
+            if(!empty($row['createtime'])){
+                $pk = $row->getPk();
+                $create_time = date('Y-m-d H:i:s',$row['createtime']);
+                $update_time = date('Y-m-d H:i:s',$row['updatetime']);
+                $row->getQuery()->where($pk, $row[$pk])->update(['create_time' => $create_time,'update_time'=>$update_time]);
+            }
+        });
+    }
 
     
 

+ 28 - 7
application/admin/model/teacher/Task.php

@@ -1,7 +1,9 @@
 <?php
 
 namespace app\admin\model\teacher;
-
+use app\admin\library\Auth;
+use app\admin\model\department\Department;
+use think\Exception;
 use think\Model;
 use traits\model\SoftDelete;
 
@@ -9,25 +11,44 @@ use traits\model\SoftDelete;
 class Task extends Model
 {
 
-
-
     use SoftDelete;
 
     // 表名
     protected $name = 'sim_task';
     
     // 自动写入时间戳字段
-    protected $autoWriteTimestamp = false;
+    protected $autoWriteTimestamp = 'int';
 
     // 定义时间戳字段名
-    protected $createTime = false;
-    protected $updateTime = false;
-    protected $deleteTime = false;
+    protected $createTime = 'createtime';
+    protected $updateTime = 'updatetime';
+    protected $deleteTime = 'deletetime';
 
     // 追加属性
     protected $append = [
 
     ];
+
+    protected static function init()
+    {
+        $auth = Auth::instance();
+        self::beforeUpdate(function ($row) {
+            if(!empty($row['createtime'])){
+                $pk = $row->getPk();
+                $create_time = date('Y-m-d H:i:s',$row['createtime']);
+                $update_time = date('Y-m-d H:i:s',$row['updatetime']);
+                $row->getQuery()->where($pk, $row[$pk])->update(['create_time' => $create_time,'update_time'=>$update_time]);
+            }
+        });
+        self::afterInsert(function ($row) {
+            if(!empty($row['createtime'])){
+                $pk = $row->getPk();
+                $create_time = date('Y-m-d H:i:s',$row['createtime']);
+                $update_time = date('Y-m-d H:i:s',$row['updatetime']);
+                $row->getQuery()->where($pk, $row[$pk])->update(['create_time' => $create_time,'update_time'=>$update_time]);
+            }
+        });
+    }
     
 
     

+ 27 - 0
application/admin/validate/Fault.php

@@ -0,0 +1,27 @@
+<?php
+
+namespace app\admin\validate;
+
+use think\Validate;
+
+class Fault extends Validate
+{
+    /**
+     * 验证规则
+     */
+    protected $rule = [
+    ];
+    /**
+     * 提示消息
+     */
+    protected $message = [
+    ];
+    /**
+     * 验证场景
+     */
+    protected $scene = [
+        'add'  => [],
+        'edit' => [],
+    ];
+    
+}

+ 27 - 0
application/admin/validate/Report.php

@@ -0,0 +1,27 @@
+<?php
+
+namespace app\admin\validate;
+
+use think\Validate;
+
+class Report extends Validate
+{
+    /**
+     * 验证规则
+     */
+    protected $rule = [
+    ];
+    /**
+     * 提示消息
+     */
+    protected $message = [
+    ];
+    /**
+     * 验证场景
+     */
+    protected $scene = [
+        'add'  => [],
+        'edit' => [],
+    ];
+    
+}

+ 99 - 0
application/admin/view/fault/add.html

@@ -0,0 +1,99 @@
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Parent_fault_id')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-parent_fault_id" data-rule="required" data-source="parent/fault/index" class="form-control selectpage" name="row[parent_fault_id]" type="text" value="">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Sim_type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-sim_type" data-rule="required" class="form-control" name="row[sim_type]" type="text" value="">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Fault_type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-fault_type" class="form-control" name="row[fault_type]" type="text" value="">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Fault_state')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-fault_state" class="form-control" name="row[fault_state]" type="text" value="0">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Conflict_fault_ids')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-conflict_fault_ids" data-rule="required" data-source="conflict/fault/index" data-multiple="true" class="form-control selectpage" name="row[conflict_fault_ids]" type="text" value="">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Replace_part')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-replace_part" data-rule="required" class="form-control" name="row[replace_part]" type="text" value="0">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Replace_name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-replace_name" class="form-control" name="row[replace_name]" type="text" value="">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text" value="">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Bind_hardware_msg')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-bind_hardware_msg" data-rule="required" class="form-control" name="row[bind_hardware_msg]" type="text" value="">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Order_num')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-order_num" class="form-control" name="row[order_num]" type="number" value="0">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Create_by')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-create_by" class="form-control" name="row[create_by]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Create_time')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-create_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[create_time]" type="text" value="{:date('Y-m-d H:i:s')}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Update_by')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-update_by" class="form-control" name="row[update_by]" type="text">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Update_time')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-update_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[update_time]" type="text" value="{:date('Y-m-d H:i:s')}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-remark" class="form-control" name="row[remark]" type="text">
+        </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-primary btn-embossed disabled">{:__('OK')}</button>
+        </div>
+    </div>
+</form>

+ 99 - 0
application/admin/view/fault/edit.html

@@ -0,0 +1,99 @@
+<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Parent_fault_id')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-parent_fault_id" data-rule="required" data-source="parent/fault/index" class="form-control selectpage" name="row[parent_fault_id]" type="text" value="{$row.parent_fault_id|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Sim_type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-sim_type" data-rule="required" class="form-control" name="row[sim_type]" type="text" value="{$row.sim_type|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Fault_type')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-fault_type" class="form-control" name="row[fault_type]" type="text" value="{$row.fault_type|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Fault_state')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-fault_state" class="form-control" name="row[fault_state]" type="text" value="{$row.fault_state|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Conflict_fault_ids')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-conflict_fault_ids" data-rule="required" data-source="conflict/fault/index" data-multiple="true" class="form-control selectpage" name="row[conflict_fault_ids]" type="text" value="{$row.conflict_fault_ids|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Replace_part')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-replace_part" data-rule="required" class="form-control" name="row[replace_part]" type="text" value="{$row.replace_part|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Replace_name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-replace_name" class="form-control" name="row[replace_name]" type="text" value="{$row.replace_name|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Bind_hardware_msg')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-bind_hardware_msg" data-rule="required" class="form-control" name="row[bind_hardware_msg]" type="text" value="{$row.bind_hardware_msg|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Order_num')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-order_num" class="form-control" name="row[order_num]" type="number" value="{$row.order_num|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Create_by')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-create_by" class="form-control" name="row[create_by]" type="text" value="{$row.create_by|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Create_time')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-create_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[create_time]" type="text" value="{$row.create_time}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Update_by')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-update_by" class="form-control" name="row[update_by]" type="text" value="{$row.update_by|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Update_time')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-update_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[update_time]" type="text" value="{$row.update_time}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-remark" class="form-control" name="row[remark]" type="text" value="{$row.remark|htmlentities}">
+        </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-primary btn-embossed disabled">{:__('OK')}</button>
+        </div>
+    </div>
+</form>

+ 29 - 0
application/admin/view/fault/index.html

@@ -0,0 +1,29 @@
+<div class="panel panel-default panel-intro">
+    {:build_heading()}
+
+    <div class="panel-body">
+        <div id="myTabContent" class="tab-content">
+            <div class="tab-pane fade active in" id="one">
+                <div class="widget-body no-padding">
+                    <div id="toolbar" class="toolbar">
+                        <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
+                        <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('fault/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
+                        <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('fault/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
+                        <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('fault/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
+                        
+
+                        
+
+                        
+                    </div>
+                    <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
+                           data-operate-edit="{:$auth->check('fault/edit')}"
+                           data-operate-del="{:$auth->check('fault/del')}"
+                           width="100%">
+                    </table>
+                </div>
+            </div>
+
+        </div>
+    </div>
+</div>

+ 39 - 0
application/admin/view/report/add.html

@@ -0,0 +1,39 @@
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Parent_id')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-parent_id" data-rule="required" data-source="parent/index" class="form-control selectpage" name="row[parent_id]" type="text" value="">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" data-rule="required" class="form-control" name="row[name]" type="text" value="">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Is_replace')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-is_replace" class="form-control" name="row[is_replace]" type="number" value="0">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Level')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-level" class="form-control" name="row[level]" type="number" value="0">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-remark" class="form-control" name="row[remark]" type="text">
+        </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-primary btn-embossed disabled">{:__('OK')}</button>
+        </div>
+    </div>
+</form>

+ 39 - 0
application/admin/view/report/edit.html

@@ -0,0 +1,39 @@
+<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Parent_id')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-parent_id" data-rule="required" data-source="parent/index" class="form-control selectpage" name="row[parent_id]" type="text" value="{$row.parent_id|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-name" data-rule="required" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Is_replace')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-is_replace" class="form-control" name="row[is_replace]" type="number" value="{$row.is_replace|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Level')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-level" class="form-control" name="row[level]" type="number" value="{$row.level|htmlentities}">
+        </div>
+    </div>
+    <div class="form-group">
+        <label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
+        <div class="col-xs-12 col-sm-8">
+            <input id="c-remark" class="form-control" name="row[remark]" type="text" value="{$row.remark|htmlentities}">
+        </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-primary btn-embossed disabled">{:__('OK')}</button>
+        </div>
+    </div>
+</form>

+ 29 - 0
application/admin/view/report/index.html

@@ -0,0 +1,29 @@
+<div class="panel panel-default panel-intro">
+    {:build_heading()}
+
+    <div class="panel-body">
+        <div id="myTabContent" class="tab-content">
+            <div class="tab-pane fade active in" id="one">
+                <div class="widget-body no-padding">
+                    <div id="toolbar" class="toolbar">
+                        <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
+                        <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('report/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
+                        <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('report/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
+                        <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('report/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
+                        
+
+                        
+
+                        <a class="btn btn-success btn-recyclebin btn-dialog {:$auth->check('report/recyclebin')?'':'hide'}" href="report/recyclebin" title="{:__('Recycle bin')}"><i class="fa fa-recycle"></i> {:__('Recycle bin')}</a>
+                    </div>
+                    <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
+                           data-operate-edit="{:$auth->check('report/edit')}"
+                           data-operate-del="{:$auth->check('report/del')}"
+                           width="100%">
+                    </table>
+                </div>
+            </div>
+
+        </div>
+    </div>
+</div>

+ 25 - 0
application/admin/view/report/recyclebin.html

@@ -0,0 +1,25 @@
+<div class="panel panel-default panel-intro">
+    {:build_heading()}
+
+    <div class="panel-body">
+        <div id="myTabContent" class="tab-content">
+            <div class="tab-pane fade active in" id="one">
+                <div class="widget-body no-padding">
+                    <div id="toolbar" class="toolbar">
+                        {:build_toolbar('refresh')}
+                        <a class="btn btn-info btn-multi btn-disabled disabled {:$auth->check('report/restore')?'':'hide'}" href="javascript:;" data-url="report/restore" data-action="restore"><i class="fa fa-rotate-left"></i> {:__('Restore')}</a>
+                        <a class="btn btn-danger btn-multi btn-disabled disabled {:$auth->check('report/destroy')?'':'hide'}" href="javascript:;" data-url="report/destroy" data-action="destroy"><i class="fa fa-times"></i> {:__('Destroy')}</a>
+                        <a class="btn btn-success btn-restoreall {:$auth->check('report/restore')?'':'hide'}" href="javascript:;" data-url="report/restore" title="{:__('Restore all')}"><i class="fa fa-rotate-left"></i> {:__('Restore all')}</a>
+                        <a class="btn btn-danger btn-destroyall {:$auth->check('report/destroy')?'':'hide'}" href="javascript:;" data-url="report/destroy" title="{:__('Destroy all')}"><i class="fa fa-times"></i> {:__('Destroy all')}</a>
+                    </div>
+                    <table id="table" class="table table-striped table-bordered table-hover"
+                           data-operate-restore="{:$auth->check('report/restore')}"
+                           data-operate-destroy="{:$auth->check('report/destroy')}"
+                           width="100%">
+                    </table>
+                </div>
+            </div>
+
+        </div>
+    </div>
+</div>

+ 160 - 0
application/admin/view/student/collection/analysis.html

@@ -0,0 +1,160 @@
+<link href="/assets/libs/font-awesome/css/font-awesome.min.css?v=Math.random()" rel="stylesheet">
+<link href="/assets/css/bootstrap.css?v=Math.random()" rel="stylesheet">
+<style type="text/css">
+    .new_table {
+        border-collapse: collapse;
+        margin: 0 auto;
+        text-align: left;
+        width: 100%;
+        font-size: 12px;
+    }
+
+    .new_table td,
+    table th {
+        border: 1px solid #cad9ea;
+        color: #666;
+        height: 3.5em;
+        padding-left: 1%;
+    }
+
+    .new_table thead th {
+        background-color: #CCE8EB;
+        width: 100px;
+    }
+
+
+
+    .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
+        background-color: #17223f;
+        color: #ffffff;
+        border-color: #17223f;
+        outline: none
+    }
+    .nav-tabs {
+        border-bottom: 1.5px solid #17223f;
+        margin-bottom: 10px;
+    }
+     .djs{
+         margin-right: 5%;
+         text-align: right;
+         line-height:8px;
+         font-size:20px;
+         margin-top: 50px;
+     }
+    .df {
+        color:red;
+    }
+</style>
+
+<div class="row">
+    <div class="djs">得分成绩/满分成绩: <span class="df">55</span>/100</div>
+    <div class="col-lg-12" style="margin: 10px 10px 0 10px">
+        <form id="update-form" role="form" data-toggle="validator" method="POST" action="">
+        <div class="tab-content" style="margin-top:5px;margin-right: 20px">
+            <div class="tab-pane tab_log1" style="display: block">
+                <table class="new_table">
+                    <tr>
+                        <td style="width:15%">序号</td>
+                        <td style="width:20%">评分标准</td>
+                        <td style="width:15%">扣分</td>
+                        <td style="width:15%">维修情况</td>
+                        <td>题目</td>
+                    </tr>
+                    <tr>
+                        <td colspan="5" style="text-align: left;padding-left: 1%">一.故障排除(75分)</td>
+                    </tr>
+                    <tr>
+                        <td>1</td>
+                        <td>故障一未排除扣25分</td>
+                        <td></td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>2</td>
+                        <td>故障二未排除扣25分</td>
+                        <td></td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>2</td>
+                        <td>故障三未排除扣25分</td>
+                        <td></td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td style="width:15%">序号</td>
+                        <td style="width:20%">评分标准</td>
+                        <td style="width:15%">扣分</td>
+                        <td style="width:15%">报告情况</td>
+                        <td>题目</td>
+                    </tr>
+                    <tr>
+                        <td colspan="5" style="text-align: left;padding-left: 1%">二.修理报告表(15分)</td>
+                    </tr>
+                    <tr>
+                        <td>1</td>
+                        <td>故障现象少写或错写1条扣1分</td>
+                        <td></td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>2</td>
+                        <td>可能原因少写或错写1条扣1分</td>
+                        <td></td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>3</td>
+                        <td>故障部位少写或错写1条扣1分</td>
+                        <td></td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>4</td>
+                        <td>排除方法少写或错写1条扣1分</td>
+                        <td></td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td>5</td>
+                        <td>修复结论错扣2分</td>
+                        <td></td>
+                        <td></td>
+                        <td></td>
+                    </tr>
+                    <tr>
+                        <td colspan="5" style="text-align: left;padding-left: 1%">三.维修时间(10分)</td>
+                    </tr>
+                    <tr>
+                        <td colspan="2">按没超过1分钟扣1分的比例扣分</td>
+                        <td colspan="3"></td>
+                    </tr>
+                    <tr>
+                        <td colspan="2">扣分小计</td>
+                        <td colspan="3">超时</td>
+                    </tr>
+                    <tr>
+                        <td colspan="2">五.成绩</td>
+                        <td colspan="3"></td>
+                    </tr>
+                    <tr>
+                        <td colspan="2">说明</td>
+                        <td colspan="3"></td>
+                    </tr>
+                </table>
+            </div>
+
+        </div>
+        <div class="form-group" style="text-align: center;margin-top: 5%">
+            <button type="submit" class="btn btn-info" style="text-align: center;width: 10%">{:__('结束')}</button>
+        </div>
+        </form>
+    </div>
+</div>

+ 209 - 0
application/admin/view/student/collection/examing.html

@@ -0,0 +1,209 @@
+<style>
+    .profile-avatar-container {
+        position: relative;
+        width: 100px;
+        margin: 0 auto;
+    }
+
+    .profile-avatar-container .profile-user-img {
+        width: 100px;
+        height: 100px;
+    }
+
+    .profile-avatar-container .profile-avatar-text {
+        display: none;
+    }
+
+    .profile-avatar-container:hover .profile-avatar-text {
+        display: block;
+        position: absolute;
+        height: 100px;
+        width: 100px;
+        background: #444;
+        opacity: .6;
+        color: #fff;
+        top: 0;
+        left: 0;
+        line-height: 100px;
+        text-align: center;
+    }
+
+    .profile-avatar-container button {
+        position: absolute;
+        top: 0;
+        left: 0;
+        width: 100px;
+        height: 100px;
+        opacity: 0;
+    }
+    .readme {
+        margin-top:2%;
+        text-align: center;
+        line-height:8px;
+        font-size:22px;
+    }
+    .djs {
+        margin-top:2%;
+        text-align: center;
+        line-height:8px;
+        font-size:22px;
+        color:red;
+        margin-bottom: 3%;
+    }
+</style>
+<style type="text/css">
+    .new_table {
+        border-collapse: collapse;
+        margin: 0 auto;
+        text-align: center;
+        width: 100%;
+        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;
+    }
+
+    .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;
+        color: #ffffff;
+        border-color: #17223f;
+
+        outline: none
+    }
+    .nav-tabs {
+        border-bottom: 1.5px solid #17223f;
+        margin-bottom: 10px;
+    }
+    .panel-heading{font-size: 18px}
+</style>
+<div class="row animated fadeInRight">
+    <div class="col-md-12">
+        <div class="box box-primary">
+
+            <div class="panel-body">
+                <form id="update-form" role="form" data-toggle="validator" method="POST" action="">
+                    {:token()}
+                    <div class="panel-heading">
+                        <div class="readme">正在考试中,考试时间 50 分钟</div>
+                        <div class="djs">距离考试结束还有 <span id="timer"></span> </div>
+                    </div>
+                    <div class="box-body box-profile">
+                        <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">
+                                    <dl class="fieldlist" data-name="row[other_supplier]" data-template="other_suppliertpl">
+                                        <dd>
+                                            <ins style="width: 450px;">更换件类型</ins>
+                                            <ins style="width: 300px;">状态</ins>
+                                        </dd>
+                                        <dd>
+                                            <a href="javascript:;" class="btn btn-sm btn-info btn-append"><i class="fa fa-plus"></i> 追加</a>
+                                        </dd>
+                                        <textarea name="row[other_supplier]" class="form-control hide" cols="30" rows="5" data-rule="required"></textarea>
+                                    </dl>
+                                    <!--定义模板,模板语法使用Art-Template模板语法-->
+                                    <script type="text/html" id="other_suppliertpl">
+                                        <dd class="form-inline">
+<!--                                            <input type="text" name="unwin[<%=index%>][name]"-->
+<!--                                                   class="form-control" value="<%=row['name']%>" style="width: 450px;" >-->
+                                            <select class="form-control" name="unwin[<%=index%>][name]" style="width: 550px;">
+                                                {foreach name="departmentdata" item="vo"}
+                                                <option value="{$vo.report_id}" >{$vo.name}</option>
+                                                {/foreach}
+                                            </select>
+                                            <select class="form-control" name="unwin[<%=index%>][states]" style="width: 420px;">
+                                                <option value="0">未送</option>
+                                                <option value="0">已送</option>
+                                            </select>
+<!--                                            <input type="text" name="unwin[<%=index%>][price]"-->
+<!--                                                   style="width: 300px;"-->
+<!--                                                   class="form-control" value="<%=row['price']%>" >-->
+                                            <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-save" title="保存"><i class="fa fa-check"></i></span>
+                                        </dd>
+                                    </script>
+                                </div>
+                            </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">
+                                    <dl class="fieldlist" data-name="row[other_supplier1]" 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>
+                                            <a href="javascript:;" class="btn btn-sm btn-info btn-append"><i class="fa fa-plus"></i> 追加</a>
+                                        </dd>
+                                        <textarea name="row[other_supplier1]" class="form-control hide" cols="30" rows="5" data-rule="required"></textarea>
+                                    </dl>
+                                    <!--定义模板,模板语法使用Art-Template模板语法-->
+                                    <script type="text/html" id="other_suppliertpl1">
+                                        <dd class="form-inline">
+                                            <input type="text" name="unwin[<%=index%>][name]"
+                                                   class="form-control" value="<%=row['name']%>" style="width: 250px;" >
+                                            <input type="text" name="unwin[<%=index%>][price]"
+                                                   style="width: 250px;"
+                                                   class="form-control" value="<%=row['price']%>" >
+                                            <input type="text" name="unwin[<%=index%>][price]"
+                                                   style="width: 250px;"
+                                                   class="form-control" value="<%=row['price']%>" >
+                                            <input type="text" name="unwin[<%=index%>][price]"
+                                                   style="width: 250px;"
+                                                   class="form-control" value="<%=row['price']%>" >
+                                            <span class="btn btn-sm btn-danger btn-remove"><i class="fa fa-times"></i></span>
+                                        </dd>
+                                    </script>
+                                </div>
+                            </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[jielun]" style="width: 91%"></textarea>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="form-group" style="text-align: center;">
+                        <button type="submit" class="btn btn-info" style="text-align: center;width: 10%">{:__('交卷')}</button>
+                    </div>
+                </form>
+            </div>
+        </div>
+    </div>
+</div>

+ 91 - 0
application/admin/view/student/collection/into.html

@@ -0,0 +1,91 @@
+<style>
+    .profile-avatar-container {
+        position: relative;
+        width: 100px;
+        margin: 0 auto;
+    }
+
+    .profile-avatar-container .profile-user-img {
+        width: 100px;
+        height: 100px;
+    }
+
+    .profile-avatar-container .profile-avatar-text {
+        display: none;
+    }
+
+    .profile-avatar-container:hover .profile-avatar-text {
+        display: block;
+        position: absolute;
+        height: 100px;
+        width: 100px;
+        background: #444;
+        opacity: .6;
+        color: #fff;
+        top: 0;
+        left: 0;
+        line-height: 100px;
+        text-align: center;
+    }
+
+    .profile-avatar-container button {
+        position: absolute;
+        top: 0;
+        left: 0;
+        width: 100px;
+        height: 100px;
+        opacity: 0;
+    }
+    .panel-heading{font-size: 18px}
+</style>
+<div class="row animated fadeInRight">
+    <div class="col-md-12">
+        <div class="box box-primary">
+
+            <div class="panel-body">
+                <form id="update-form" role="form" data-toggle="validator" method="POST" action="">
+                    {:token()}
+                    <div class="panel-heading">
+                        {:__('基本信息')}
+                    </div>
+                    <input type="hidden" name="exam_collection_id" value="{$row.exam_collection_id}">
+                    <div class="box-body box-profile">
+                        <div class="row">
+                            <div class="form-group col-sm-6">
+                                <label class="control-label">{:__('当前模式')}:</label>
+                                <input type="text" class="form-control" value="考试" readonly/>
+                            </div>
+                            <div class="form-group col-sm-6">
+                                <label class="control-label">{:__('模拟器类型')}:</label>
+                                <input type="text" class="form-control" value="{$admin.nickname|htmlentities}" readonly/>
+                            </div>
+                            <div class="form-group col-sm-6">
+                                <label class="control-label">{:__('模拟器状态')}:</label>
+                                <input type="text" class="form-control"  value="在线" readonly/>
+                            </div>
+                            <div class="form-group col-sm-6">
+                                <label class="control-label">{:__('考试学员')}:</label>
+                                <input type="text" class="form-control" value="{$admin.nickname|htmlentities}" readonly/>
+                            </div>
+                            <div class="form-group col-sm-6">
+                                <label class="control-label">{:__('学员座号')}:</label>
+                                <input type="text" class="form-control"  value="01" readonly/>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="panel-heading">
+                        {:__('注意事项')}
+                    </div>
+                    <div class="box-body box-profile">
+                        <div style="color: rgb(192, 74, 84)">1.遵守考场纪律‌</div>
+                        <div style="color: rgb(192, 74, 84)">2.合理安排时间</div>
+                    </div>
+                    <div class="form-group" style="text-align: center">
+                        <button type="submit" class="btn btn-info">{:__('开始考试')}</button>
+                        <!--                            <button type="reset" class="btn btn-default">{:__('Reset')}</button>-->
+                    </div>
+                </form>
+            </div>
+        </div>
+    </div>
+</div>

+ 75 - 87
application/admin/view/teacher/collection/add.html

@@ -1,95 +1,83 @@
 <form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
-
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Sim_type')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-sim_type" data-rule="required" class="form-control" name="row[sim_type]" type="text">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Question_setting_method')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-question_setting_method" data-rule="required" class="form-control" name="row[question_setting_method]" type="text">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Exam_collection_type')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-exam_collection_type" data-rule="required" class="form-control" name="row[exam_collection_type]" type="text">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Exam_collection_state')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-exam_collection_state" data-rule="required" class="form-control" name="row[exam_collection_state]" type="text" value="">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Exam_collection_name')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-exam_collection_name" data-rule="required" class="form-control" name="row[exam_collection_name]" type="text">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Task_id')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-task_id" data-rule="required" data-source="task/index" class="form-control selectpage" name="row[task_id]" type="text" value="">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Limit_duration')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-limit_duration" class="form-control" name="row[limit_duration]" type="number">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Start_time')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-start_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[start_time]" type="text" value="{:date('Y-m-d H:i:s')}">
+    <div class="row">
+        <input class="form-control" name="row[exam_collection_state]" type="hidden" value="3">
+        <input class="form-control" name="row[exam_collection_type]" type="hidden" value="3">
+        <input class="form-control" name="row[create_user_id]" type="hidden" value="{$auth->id}">
+        <input class="form-control" name="row[create_by]" type="hidden" value="{$auth->nickname}">
+        <input class="form-control banjiid" name="row[banjiid]" type="text" value="0">
+        <div class="form-group col-sm-6">
+            <label class="control-label col-xs-12 col-sm-3 addRedStar">{:__('Exam_collection_name')}:</label>
+            <div class="col-xs-12 col-sm-7">
+                <input id="c-exam_collection_name" data-rule="required" class="form-control" name="row[exam_collection_name]" type="text">
+            </div>
+        </div>
+        <div class="form-group col-sm-6">
+            <label class="control-label col-xs-12 col-sm-3 addRedStar">{:__('Sim_type')}:</label>
+            <div class="col-xs-12 col-sm-7">
+                <select id="c-sim_type" data-rule="required" class="form-control" name="row[sim_type]">
+                    <option value="">请选择</option>
+                    {foreach name="sim_sim_type" item="vo"}
+                    <option value="{$key}" >{$vo}</option>
+                    {/foreach}
+                </select>
+            </div>
+        </div>
+        <div class="form-group col-sm-6">
+            <label class="control-label col-xs-12 col-sm-3 addRedStar">{:__('Start_time')}:</label>
+            <div class="col-xs-12 col-sm-7">
+                <input id="c-start_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD" data-use-current="true" name="row[start_time]" type="text" value="">
+            </div>
+        </div>
+        <div class="form-group col-sm-6">
+            <label class="control-label col-xs-12 col-sm-3 addRedStar">{:__('End_time')}:</label>
+            <div class="col-xs-12 col-sm-7">
+                <input id="c-end_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD" data-use-current="true" name="row[end_time]" type="text" value="">
+            </div>
         </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('End_time')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-end_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[end_time]" type="text" value="{:date('Y-m-d H:i:s')}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Create_user_id')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-create_user_id" data-rule="required" data-source="create/user/index" class="form-control selectpage" name="row[create_user_id]" type="text" value="">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Create_by')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-create_by" class="form-control" name="row[create_by]" type="text">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Create_time')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-create_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[create_time]" type="text" value="{:date('Y-m-d H:i:s')}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Update_by')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-update_by" class="form-control" name="row[update_by]" type="text">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Update_time')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-update_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[update_time]" type="text" value="{:date('Y-m-d H:i:s')}">
+
+        <div class="form-group col-sm-6">
+            <label class="control-label col-xs-12 col-sm-3 addRedStar">{:__('Limit_duration')}:</label>
+            <div class="col-xs-12 col-sm-7">
+                <div class="input-group input-groupp-sm">
+                    <input id="c-limit_duration" class="form-control"  type="number"  name="row[limit_duration]" type="number">
+                    <span class="input-group-addon">分钟</span>
+                </div>
+            </div>
         </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-remark" class="form-control" name="row[remark]" type="text">
+
+        <div class="form-group col-sm-6">
+            <label class="control-label col-xs-12 col-sm-3 addRedStar">{:__('Question_setting_method')}:</label>
+            <div class="col-xs-12 col-sm-7">
+                <select id="c-question_setting_method" data-rule="required" class="form-control" name="row[question_setting_method]">
+                    <option value="">请选择</option>
+                    {foreach name="sim_question_setting_method" item="vo"}
+                    <option value="{$key}" >{$vo}</option>
+                    {/foreach}
+                </select>
+            </div>
+            <button class="btn btn-info btn-sm" style="display: none">自选考题编辑</button>
+        </div>
+    </div>
+    <div class="panel panel-default panel-intro">
+        <div class="panel-body">
+            <div id="myTabContent" class="tab-content">
+                <div class="tab-pane fade active in" id="one">
+                    <div class="widget-body no-padding">
+                        <div id="toolbar" class="toolbar">
+                            {:build_toolbar('refresh')}
+                        </div>
+                        <table id="table1" class="table table-striped table-bordered table-hover table-nowrap"
+                               data-operate-edit="{:$auth->check('category/edit')}"
+                               data-operate-del="{:$auth->check('category/del')}" data-show-export="false" data-search="false"
+                               width="100%">
+                        </table>
+                    </div>
+                </div>
+
+            </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">

+ 172 - 88
application/admin/view/teacher/collection/edit.html

@@ -1,95 +1,78 @@
-<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
-
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Sim_type')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-sim_type" data-rule="required" class="form-control" name="row[sim_type]" type="text" value="{$row.sim_type|htmlentities}">
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+    <div class="row">
+        <div class="form-group col-sm-6">
+            <label class="control-label col-xs-12 col-sm-3 addRedStar">{:__('Exam_collection_name')}:</label>
+            <div class="col-xs-12 col-sm-7">
+                <input id="c-exam_collection_name" data-rule="required" class="form-control" name="row[exam_collection_name]" type="text">
+            </div>
+        </div>
+        <div class="form-group col-sm-6">
+            <label class="control-label col-xs-12 col-sm-3 addRedStar">{:__('Sim_type')}:</label>
+            <div class="col-xs-12 col-sm-7">
+                <select id="c-sim_type" data-rule="required" class="form-control" name="row[sim_type]">
+                    <option value="">请选择</option>
+                    {foreach name="sim_sim_type" item="vo"}
+                    <option value="{$key}" >{$vo}</option>
+                    {/foreach}
+                </select>
+            </div>
+        </div>
+        <div class="form-group col-sm-6">
+            <label class="control-label col-xs-12 col-sm-3 addRedStar">{:__('Start_time')}:</label>
+            <div class="col-xs-12 col-sm-7">
+                <input id="c-start_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD" data-use-current="true" name="row[start_time]" type="text" value="">
+            </div>
+        </div>
+        <div class="form-group col-sm-6">
+            <label class="control-label col-xs-12 col-sm-3 addRedStar">{:__('End_time')}:</label>
+            <div class="col-xs-12 col-sm-7">
+                <input id="c-end_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD" data-use-current="true" name="row[end_time]" type="text" value="">
+            </div>
         </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Question_setting_method')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-question_setting_method" data-rule="required" class="form-control" name="row[question_setting_method]" type="text" value="{$row.question_setting_method|htmlentities}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Exam_collection_type')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-exam_collection_type" data-rule="required" class="form-control" name="row[exam_collection_type]" type="text" value="{$row.exam_collection_type|htmlentities}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Exam_collection_state')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-exam_collection_state" data-rule="required" class="form-control" name="row[exam_collection_state]" type="text" value="{$row.exam_collection_state|htmlentities}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Exam_collection_name')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-exam_collection_name" data-rule="required" class="form-control" name="row[exam_collection_name]" type="text" value="{$row.exam_collection_name|htmlentities}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Task_id')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-task_id" data-rule="required" data-source="task/index" class="form-control selectpage" name="row[task_id]" type="text" value="{$row.task_id|htmlentities}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Limit_duration')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-limit_duration" class="form-control" name="row[limit_duration]" type="number" value="{$row.limit_duration|htmlentities}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Start_time')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-start_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[start_time]" type="text" value="{$row.start_time}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('End_time')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-end_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[end_time]" type="text" value="{$row.end_time}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Create_user_id')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-create_user_id" data-rule="required" data-source="create/user/index" class="form-control selectpage" name="row[create_user_id]" type="text" value="{$row.create_user_id|htmlentities}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Create_by')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-create_by" class="form-control" name="row[create_by]" type="text" value="{$row.create_by|htmlentities}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Create_time')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-create_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[create_time]" type="text" value="{$row.create_time}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Update_by')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-update_by" class="form-control" name="row[update_by]" type="text" value="{$row.update_by|htmlentities}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Update_time')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-update_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[update_time]" type="text" value="{$row.update_time}">
+
+        <div class="form-group col-sm-6">
+            <label class="control-label col-xs-12 col-sm-3 addRedStar">{:__('Limit_duration')}:</label>
+            <div class="col-xs-12 col-sm-7">
+                <div class="input-group input-groupp-sm">
+                    <input id="c-limit_duration" class="form-control"  type="number"  name="row[limit_duration]" type="number">
+                    <span class="input-group-addon">分钟</span>
+                </div>
+            </div>
         </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-remark" class="form-control" name="row[remark]" type="text" value="{$row.remark|htmlentities}">
+
+        <div class="form-group col-sm-6">
+            <label class="control-label col-xs-12 col-sm-3 addRedStar">{:__('Question_setting_method')}:</label>
+            <div class="col-xs-12 col-sm-7">
+                <select id="c-question_setting_method" data-rule="required" class="form-control" name="row[question_setting_method]">
+                    <option value="">请选择</option>
+                    {foreach name="sim_question_setting_method" item="vo"}
+                    <option value="{$key}" >{$vo}</option>
+                    {/foreach}
+                </select>
+            </div>
+            <button class="btn btn-info btn-sm" style="display: none">自选考题编辑</button>
+        </div>
+    </div>
+    <div class="panel panel-default panel-intro">
+        <div class="panel-body">
+            <div id="myTabContent" class="tab-content">
+                <div class="tab-pane fade active in" id="one">
+                    <div class="widget-body no-padding">
+                        <div id="toolbar" class="toolbar">
+                            {:build_toolbar('refresh')}
+                        </div>
+                        <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
+                               data-operate-edit="{:$auth->check('category/edit')}"
+                               data-operate-del="{:$auth->check('category/del')}" data-show-export="false" data-search="false"
+                               width="100%">
+                        </table>
+                    </div>
+                </div>
+
+            </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">
@@ -97,3 +80,104 @@
         </div>
     </div>
 </form>
+
+
+
+<!--<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">-->
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Sim_type')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-sim_type" data-rule="required" class="form-control" name="row[sim_type]" type="text" value="{$row.sim_type|htmlentities}">-->
+<!--        </div>-->
+<!--    </div>-->
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Question_setting_method')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-question_setting_method" data-rule="required" class="form-control" name="row[question_setting_method]" type="text" value="{$row.question_setting_method|htmlentities}">-->
+<!--        </div>-->
+<!--    </div>-->
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Exam_collection_type')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-exam_collection_type" data-rule="required" class="form-control" name="row[exam_collection_type]" type="text" value="{$row.exam_collection_type|htmlentities}">-->
+<!--        </div>-->
+<!--    </div>-->
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Exam_collection_state')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-exam_collection_state" data-rule="required" class="form-control" name="row[exam_collection_state]" type="text" value="{$row.exam_collection_state|htmlentities}">-->
+<!--        </div>-->
+<!--    </div>-->
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Exam_collection_name')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-exam_collection_name" data-rule="required" class="form-control" name="row[exam_collection_name]" type="text" value="{$row.exam_collection_name|htmlentities}">-->
+<!--        </div>-->
+<!--    </div>-->
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Task_id')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-task_id" data-rule="required" data-source="task/index" class="form-control selectpage" name="row[task_id]" type="text" value="{$row.task_id|htmlentities}">-->
+<!--        </div>-->
+<!--    </div>-->
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Limit_duration')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-limit_duration" class="form-control" name="row[limit_duration]" type="number" value="{$row.limit_duration|htmlentities}">-->
+<!--        </div>-->
+<!--    </div>-->
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Start_time')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-start_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[start_time]" type="text" value="{$row.start_time}">-->
+<!--        </div>-->
+<!--    </div>-->
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('End_time')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-end_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[end_time]" type="text" value="{$row.end_time}">-->
+<!--        </div>-->
+<!--    </div>-->
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Create_user_id')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-create_user_id" data-rule="required" data-source="create/user/index" class="form-control selectpage" name="row[create_user_id]" type="text" value="{$row.create_user_id|htmlentities}">-->
+<!--        </div>-->
+<!--    </div>-->
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Create_by')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-create_by" class="form-control" name="row[create_by]" type="text" value="{$row.create_by|htmlentities}">-->
+<!--        </div>-->
+<!--    </div>-->
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Create_time')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-create_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[create_time]" type="text" value="{$row.create_time}">-->
+<!--        </div>-->
+<!--    </div>-->
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Update_by')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-update_by" class="form-control" name="row[update_by]" type="text" value="{$row.update_by|htmlentities}">-->
+<!--        </div>-->
+<!--    </div>-->
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Update_time')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-update_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[update_time]" type="text" value="{$row.update_time}">-->
+<!--        </div>-->
+<!--    </div>-->
+<!--    <div class="form-group">-->
+<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>-->
+<!--        <div class="col-xs-12 col-sm-8">-->
+<!--            <input id="c-remark" class="form-control" name="row[remark]" type="text" value="{$row.remark|htmlentities}">-->
+<!--        </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-primary btn-embossed disabled">{:__('OK')}</button>-->
+<!--        </div>-->
+<!--    </div>-->
+<!--</form>-->

+ 1 - 1
application/admin/view/teacher/exams/index.html

@@ -7,7 +7,7 @@
                 <div class="tableTitle" style="font-size: 16px;margin: 10px 0">成绩列表</div>
                 <div class="widget-body no-padding">
                     <div id="toolbar" class="toolbar">
-                        <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
+<!--                        <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>-->
                         <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('teacher/exams/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>
                         <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('teacher/exams/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
                         <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('teacher/exams/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>

+ 22 - 54
application/admin/view/teacher/task/add.html

@@ -1,63 +1,31 @@
 <form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
-
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Sim_type')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-sim_type" data-rule="required" class="form-control" name="row[sim_type]" type="text">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Task_type')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-task_type" data-rule="required" class="form-control" name="row[task_type]" type="text">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-name" data-rule="required" class="form-control" name="row[name]" type="text" value="">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Create_by_user_id')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-create_by_user_id" data-rule="required" data-source="create/by/user/index" class="form-control selectpage" name="row[create_by_user_id]" type="text" value="">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Create_by')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-create_by" class="form-control" name="row[create_by]" type="text">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Create_time')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-create_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[create_time]" type="text" value="{:date('Y-m-d H:i:s')}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Update_by')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-update_by" class="form-control" name="row[update_by]" type="text">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Update_time')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-update_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[update_time]" type="text" value="{:date('Y-m-d H:i:s')}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-remark" class="form-control" name="row[remark]" type="text">
+    <div class="row">
+        <input class="form-control" name="row[task_type]" type="hidden" value="1">
+        <input class="form-control" name="row[create_by_user_id]" type="hidden" value="{$auth->id}">
+        <input class="form-control" name="row[create_by]" type="hidden" value="{$auth->nickname}">
+        <div class="form-group col-sm-6">
+            <label class="control-label col-xs-12 col-sm-2 addRedStar">{:__('Sim_type')}:</label>
+            <div class="col-xs-12 col-sm-8">
+                <select id="c-sim_type" data-rule="required" class="form-control" name="row[sim_type]">
+                    <option value="">请选择</option>
+                    {foreach name="sim_sim_type" item="vo"}
+                    <option value="{$key}" >{$vo}</option>
+                    {/foreach}
+                </select>
+            </div>
+        </div>
+        <div class="form-group col-sm-6">
+            <label class="control-label col-xs-12 col-sm-2 addRedStar">{:__('Name')}:</label>
+            <div class="col-xs-12 col-sm-8">
+                <input id="c-name" data-rule="required" class="form-control" name="row[name]" type="text" value="">
+            </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-primary btn-embossed disabled">{:__('OK')}</button>
         </div>
     </div>
-</form>
+</form>

+ 20 - 55
application/admin/view/teacher/task/edit.html

@@ -1,63 +1,28 @@
-<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
-
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Sim_type')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-sim_type" data-rule="required" class="form-control" name="row[sim_type]" type="text" value="{$row.sim_type|htmlentities}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Task_type')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-task_type" data-rule="required" class="form-control" name="row[task_type]" type="text" value="{$row.task_type|htmlentities}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-name" data-rule="required" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Create_by_user_id')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-create_by_user_id" data-rule="required" data-source="create/by/user/index" class="form-control selectpage" name="row[create_by_user_id]" type="text" value="{$row.create_by_user_id|htmlentities}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Create_by')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-create_by" class="form-control" name="row[create_by]" type="text" value="{$row.create_by|htmlentities}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Create_time')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-create_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[create_time]" type="text" value="{$row.create_time}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Update_by')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-update_by" class="form-control" name="row[update_by]" type="text" value="{$row.update_by|htmlentities}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Update_time')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-update_time" class="form-control datetimepicker" data-date-format="YYYY-MM-DD HH:mm:ss" data-use-current="true" name="row[update_time]" type="text" value="{$row.update_time}">
-        </div>
-    </div>
-    <div class="form-group">
-        <label class="control-label col-xs-12 col-sm-2">{:__('Remark')}:</label>
-        <div class="col-xs-12 col-sm-8">
-            <input id="c-remark" class="form-control" name="row[remark]" type="text" value="{$row.remark|htmlentities}">
+<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
+    <div class="row">
+        <div class="form-group col-sm-6">
+            <label class="control-label col-xs-12 col-sm-2 addRedStar">{:__('Sim_type')}:</label>
+            <div class="col-xs-12 col-sm-8">
+                <select id="c-sim_type" data-rule="required" class="form-control" name="row[sim_type]">
+                    <option value="">请选择</option>
+                    {foreach name="sim_sim_type" item="vo"}
+                    <option value="{$key}" {if $row.sim_type eq $key}selected{/if}>{$vo}</option>
+                    {/foreach}
+                </select>
+            </div>
+        </div>
+        <div class="form-group col-sm-6">
+            <label class="control-label col-xs-12 col-sm-2 addRedStar">{:__('Name')}:</label>
+            <div class="col-xs-12 col-sm-8">
+                <input id="c-name" data-rule="required" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}">
+            </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-primary btn-embossed disabled">{:__('OK')}</button>
         </div>
     </div>
-</form>
+</form>

+ 1 - 1
application/common/controller/Backend.php

@@ -96,7 +96,7 @@ class Backend extends Controller
      * Selectpage可显示的字段
      */
     protected $selectpageFields = '*';
-
+    protected $whereExtend = [];
     /**
      * 前台提交过来,需要排除的字段数据
      */

+ 4 - 0
public/assets/css/backend.css

@@ -1642,4 +1642,8 @@ table.table-nowrap thead > tr > th {
 .autocontent .autocontent-caret:hover {
   color: #ccc;
 }
+.addRedStar:before{
+  color: red;
+  content:'*'
+}
 /*# sourceMappingURL=backend.css.map */

+ 67 - 0
public/assets/js/backend/fault.js

@@ -0,0 +1,67 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+    var Controller = {
+        index: function () {
+            // 初始化表格参数配置
+            Table.api.init({
+                extend: {
+                    index_url: 'fault/index' + location.search,
+                    add_url: 'fault/add',
+                    edit_url: 'fault/edit',
+                    del_url: 'fault/del',
+                    multi_url: 'fault/multi',
+                    import_url: 'fault/import',
+                    table: 'fault',
+                }
+            });
+
+            var table = $("#table");
+
+            // 初始化表格
+            table.bootstrapTable({
+                url: $.fn.bootstrapTable.defaults.extend.index_url,
+                pk: 'fault_id',
+                sortName: 'fault_id',
+                fixedColumns: true,
+                fixedRightNumber: 1,
+                columns: [
+                    [
+                        {checkbox: true},
+                        {field: 'fault_id', title: __('Fault_id')},
+                        {field: 'parent_fault_id', title: __('Parent_fault_id')},
+                        {field: 'sim_type', title: __('Sim_type')},
+                        {field: 'fault_type', title: __('Fault_type')},
+                        {field: 'fault_state', title: __('Fault_state')},
+                        {field: 'conflict_fault_ids', title: __('Conflict_fault_ids'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+                        {field: 'replace_part', title: __('Replace_part')},
+                        {field: 'replace_name', title: __('Replace_name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+                        {field: 'name', title: __('Name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+                        {field: 'bind_hardware_msg', title: __('Bind_hardware_msg')},
+                        {field: 'order_num', title: __('Order_num')},
+                        {field: 'create_by', title: __('Create_by'), operate: 'LIKE'},
+                        {field: 'create_time', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
+                        {field: 'update_by', title: __('Update_by'), operate: 'LIKE'},
+                        {field: 'update_time', title: __('Update_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
+                        {field: 'remark', title: __('Remark'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+                        {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+                    ]
+                ]
+            });
+
+            // 为表格绑定事件
+            Table.api.bindevent(table);
+        },
+        add: function () {
+            Controller.api.bindevent();
+        },
+        edit: function () {
+            Controller.api.bindevent();
+        },
+        api: {
+            bindevent: function () {
+                Form.api.bindevent($("form[role=form]"));
+            }
+        }
+    };
+    return Controller;
+});

+ 118 - 0
public/assets/js/backend/report.js

@@ -0,0 +1,118 @@
+define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+
+    var Controller = {
+        index: function () {
+            // 初始化表格参数配置
+            Table.api.init({
+                extend: {
+                    index_url: 'report/index' + location.search,
+                    add_url: 'report/add',
+                    edit_url: 'report/edit',
+                    del_url: 'report/del',
+                    multi_url: 'report/multi',
+                    import_url: 'report/import',
+                    table: 'report',
+                }
+            });
+
+            var table = $("#table");
+
+            // 初始化表格
+            table.bootstrapTable({
+                url: $.fn.bootstrapTable.defaults.extend.index_url,
+                pk: 'report_id',
+                sortName: 'report_id',
+                columns: [
+                    [
+                        {checkbox: true},
+                        {field: 'report_id', title: __('Report_id')},
+                        {field: 'parent_id', title: __('Parent_id')},
+                        {field: 'name', title: __('Name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+                        {field: 'is_replace', title: __('Is_replace')},
+                        {field: 'level', title: __('Level')},
+                        {field: 'createtime', title: __('Createtime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+                        {field: 'updatetime', title: __('Updatetime'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime},
+                        {field: 'remark', title: __('Remark'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+                        {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+                    ]
+                ]
+            });
+
+            // 为表格绑定事件
+            Table.api.bindevent(table);
+        },
+        recyclebin: function () {
+            // 初始化表格参数配置
+            Table.api.init({
+                extend: {
+                    'dragsort_url': ''
+                }
+            });
+
+            var table = $("#table");
+
+            // 初始化表格
+            table.bootstrapTable({
+                url: 'report/recyclebin' + location.search,
+                pk: 'id',
+                sortName: 'id',
+                columns: [
+                    [
+                        {checkbox: true},
+                        {field: 'id', title: __('Id')},
+                        {field: 'name', title: __('Name'), align: 'left'},
+                        {
+                            field: 'deletetime',
+                            title: __('Deletetime'),
+                            operate: 'RANGE',
+                            addclass: 'datetimerange',
+                            formatter: Table.api.formatter.datetime
+                        },
+                        {
+                            field: 'operate',
+                            width: '140px',
+                            title: __('Operate'),
+                            table: table,
+                            events: Table.api.events.operate,
+                            buttons: [
+                                {
+                                    name: 'Restore',
+                                    text: __('Restore'),
+                                    classname: 'btn btn-xs btn-info btn-ajax btn-restoreit',
+                                    icon: 'fa fa-rotate-left',
+                                    url: 'report/restore',
+                                    refresh: true
+                                },
+                                {
+                                    name: 'Destroy',
+                                    text: __('Destroy'),
+                                    classname: 'btn btn-xs btn-danger btn-ajax btn-destroyit',
+                                    icon: 'fa fa-times',
+                                    url: 'report/destroy',
+                                    refresh: true
+                                }
+                            ],
+                            formatter: Table.api.formatter.operate
+                        }
+                    ]
+                ]
+            });
+
+            // 为表格绑定事件
+            Table.api.bindevent(table);
+        },
+
+        add: function () {
+            Controller.api.bindevent();
+        },
+        edit: function () {
+            Controller.api.bindevent();
+        },
+        api: {
+            bindevent: function () {
+                Form.api.bindevent($("form[role=form]"));
+            }
+        }
+    };
+    return Controller;
+});

+ 71 - 13
public/assets/js/backend/student/collection.js

@@ -27,29 +27,46 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         {field: 'exam_collection_name', title: __('Exam_collection_name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
                         {field: 'sim_type', title: __('Sim_type'),searchList:{"0001":"FZD04B型侦毒器","0002":"FZB006型毒剂报警器","0003":"防化兵用毒剂报警器"},formatter: Table.api.formatter.simtype},
                         {field: 'question_setting_method', title: __('Question_setting_method'),searchList:{"1":"系统随机","2":"教师自选","3":"任务自选"},formatter: Table.api.formatter.simmethod},
-                        {field: 'exam_collection_type', title: __('Exam_collection_type'),operate: false,formatter: function (value, row, index) {
-                                return '考试';
-                            }
-                        },
-                        {
-                            field: 'exam_collection_state',searchList:{"2":"打开","3":"关闭"},
-                            title: __('Exam_collection_state'),
-                            align: 'center',
-                            table: table,disable:true,
-                            formatter: Table.api.formatter.collectonstate
-                        },
+                        // {field: 'exam_collection_type', title: __('Exam_collection_type'),operate: false,formatter: function (value, row, index) {
+                        //         return '考试';
+                        //     }
+                        // },
+                        // {
+                        //     field: 'exam_collection_state',searchList:{"2":"打开","3":"关闭"},
+                        //     title: __('Exam_collection_state'),
+                        //     align: 'center',
+                        //     table: table,disable:true,
+                        //     formatter: Table.api.formatter.collectonstate
+                        // },
 
                         {field: 'limit_duration', title: __('Limit_duration')},
                         {field: 'start_time', title: __('Start_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
                         {field: 'end_time', title: __('End_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
                         // {field: 'create_user_id', title: __('Create_user_id')},
                         {field: 'create_by', title: __('Create_by'), operate: 'LIKE'},
-                        {field: 'createtime', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
+                        // {field: 'createtime', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
                         // {field: 'update_by', title: __('Update_by'), operate: 'LIKE'},
                         // {field: 'update_time', title: __('Update_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
                         // {field: 'remark', title: __('Remark'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
-                        {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+                        // {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+                        {field: 'operate', title: __('Operate'), table: table,
+                            events: Table.api.events.operate,
+                            // formatter: Table.api.formatter.operate,
+                            formatter: Table.api.formatter.buttons,
+                            buttons: [
+                                {
+                                    name: 'dispatch',
+                                    text: '进入',
+                                    icon: 'fa fa-hand-pointer-o',
+                                    title: '进入',
+                                    classname: 'btn btn-info btn-xs btn-magic btn-addtabs',
+                                    extend: 'data-area=\'["85%","85%"]\'',
+                                    url: 'student/collection/into',
+                                }
+                            ],
+                        }
                     ]
+
                 ]
             });
 
@@ -59,6 +76,47 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
         add: function () {
             Controller.api.bindevent();
         },
+        into: function () {
+            // Controller.api.bindevent();
+            Form.api.bindevent($("form[role=form]"), function(data, ret) {
+                if(ret.code==1){
+                    Backend.api.addtabs( ret.url,'正在考试');
+                }
+            });
+        },
+        examing: function () {
+            $(document).ready(function() {
+                var countdownTime = Config.timer; // 倒计时时间,单位为秒
+                var display = $('#timer');
+
+                var timer = setInterval(function() {
+                    var minutes = parseInt(countdownTime / 60, 10);
+                    var seconds = parseInt(countdownTime % 60, 10);
+
+                    minutes = minutes < 10 ? "0" + minutes : minutes;
+                    seconds = seconds < 10 ? "0" + seconds : seconds;
+
+                    display.text(minutes + "分" + seconds+'秒');
+
+                    if (--countdownTime < 0) {
+                        clearInterval(timer);
+                        display.text("时间到!");
+                    }
+                }, 1000);
+            });
+            Form.api.bindevent($("form[role=form]"), function(data, ret) {
+                if(ret.code==1){
+                    Backend.api.addtabs( ret.url,'得分分析');
+                }
+            });
+        },
+        analysis: function () {
+            Form.api.bindevent($("form[role=form]"), function(data, ret) {
+                if(ret.code==1){
+                    Backend.api.addtabs( ret.url);
+                }
+            });
+        },
         edit: function () {
             Controller.api.bindevent();
         },

+ 31 - 3
public/assets/js/backend/student/exam.js

@@ -24,6 +24,34 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                     [
                         {checkbox: true},
                         {field: 'exam_id', title: __('Exam_id')},
+                        {field: 'exam_id', title: __('学员学号')},
+                        {field: 'exam_id', title: __('学员姓名')},
+                        {field: 'exam_id', title: __('模拟器型号')},
+                        {
+                            field: 'user_depart_id',
+                            title: __('Department'),
+                            visible: false,
+                            addclass: 'selectpage',
+                            extend: 'data-source="department/index/index" data-field="name"',
+                            operate: Config.groupIds !=8 ? 'in':false,
+                            formatter: Table.api.formatter.search
+                        },
+                        // {
+                        //     field: 'dadmin',
+                        //     title: __('Department'),
+                        //     formatter: function (value, row, index) {
+                        //         if (value.length == 0)
+                        //             return '-' ;
+                        //         var department="";
+                        //         $.each(value,function(i,v){  //arrTmp数组数据
+                        //             if (v.department){
+                        //                 department+=department?','+v.department.name:v.department.name;
+                        //             }
+                        //         });
+                        //         return  Table.api.formatter.flag.call(this, department, row, index);
+                        //     }, operate:false
+                        // },
+                        {field: 'exam_id', title: __('考试名称')},
                         {field: 'exam_collection_id', title: __('Exam_collection_id')},
                         {field: 'user_id', title: __('User_id')},
                         {field: 'seat_id', title: __('Seat_id')},
@@ -33,14 +61,14 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         // {field: 'deduction_total_score', title: __('Deduction_total_score')},
                         {field: 'start_time', title: __('Start_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
                         {field: 'end_time', title: __('End_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
-                        {field: 'login_time', title: __('Login_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
+                        // {field: 'login_time', title: __('Login_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
                         // {field: 'logout_time', title: __('Logout_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
                         // {field: 'create_by', title: __('Create_by'), operate: 'LIKE'},
-                        {field: 'createtime', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
+                        // {field: 'createtime', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
                         // {field: 'update_by', title: __('Update_by'), operate: 'LIKE'},
                         // {field: 'update_time', title: __('Update_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
                         // {field: 'remark', title: __('Remark'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
-                        {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+                        // {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
                     ]
                 ]
             });

+ 40 - 0
public/assets/js/backend/teacher/collection.js

@@ -1,7 +1,10 @@
 define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
 
     var Controller = {
+
         index: function () {
+            $('.btn-add').data('area',['85%','85%']);
+            $('.btn-edit').data('area',['85%','85%']);
             // 初始化表格参数配置
             Table.api.init({
                 extend: {
@@ -63,6 +66,41 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
             Table.api.bindevent(table);
         },
         add: function () {
+            Table.api.init({
+                extend: {
+                    index_url: 'teacher/collection/index' + location.search,
+                }
+            });
+
+            var table = $("#table1");
+
+            // 初始化表格
+            table.bootstrapTable({
+                url: $.fn.bootstrapTable.defaults.extend.index_url,
+                pk: 'exam_collection_id',
+                sortName: 'exam_collection_id',
+                fixedColumns: true,
+                fixedRightNumber: 1,
+                searchFormVisible:false,
+                Search:false,
+                columns: [
+                    [
+                        {checkbox: true},
+                        {field: 'exam_collection_name', title: __('区队名称'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content},
+                        {field: 'exam_collection_id', title: __('全部人员数量'),operate: false},
+                    ]
+                ]
+            });
+
+            // 为表格绑定事件
+            Table.api.bindevent(table);
+
+            var ids = Table.api.selectedids(table);
+            $(".banjiid").val(ids);
+
+            console.log(ids);
+            // return;
+
             Controller.api.bindevent();
         },
         edit: function () {
@@ -70,6 +108,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
         },
         api: {
             bindevent: function () {
+
+
                 Form.api.bindevent($("form[role=form]"));
             }
         }

+ 41 - 9
public/assets/js/backend/teacher/task.js

@@ -2,15 +2,17 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
 
     var Controller = {
         index: function () {
+            $('.btn-add').data('area',['85%','85%']);
+            $('.btn-edit,.btn-editone').data('area',['85%','85%']);
             // 初始化表格参数配置
             Table.api.init({
                 extend: {
-                    index_url: 'teacher.task/index' + location.search,
-                    add_url: 'teacher.task/add',
-                    edit_url: 'teacher.task/edit',
-                    del_url: 'teacher.task/del',
-                    multi_url: 'teacher.task/multi',
-                    import_url: 'teacher.task/import',
+                    index_url: 'teacher/task/index' + location.search,
+                    add_url: 'teacher/task/add',
+                    edit_url: 'teacher/task/edit',
+                    del_url: 'teacher/task/del',
+                    multi_url: 'teacher/task/multi',
+                    import_url: 'teacher/task/import',
                     table: 'teacher_task',
                 }
             });
@@ -38,11 +40,41 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         {field: '', title: __('故障现象数量')},
                         {field: '', title: __('故障部位数量')},
                         {field: 'create_by', title: __('Create_by'), operate: 'LIKE'},
-                        {field: 'createtime', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
+                        {field: 'createtime', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false,formatter: Table.api.formatter.datetime},
                         // {field: 'update_by', title: __('Update_by'), operate: 'LIKE'},
                         // {field: 'update_time', title: __('Update_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false},
-                        {field: 'remark', title: __('Remark'), operate: false, table: table, class: 'autocontent'},
-                        {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate}
+                        // {field: 'remark', title: __('Remark'), operate: false, table: table, class: 'autocontent'},
+                        {field: 'operate', title: __('Operate'), table: table,
+                            events: Table.api.events.operate,
+                            // formatter: Table.api.formatter.operate,
+                            formatter: Table.api.formatter.buttons,
+                            buttons: [
+                                {
+                                    name: 'dispatch',
+                                    text: '',
+                                    icon: 'fa fa-pencil',
+                                    title: '编辑',
+                                    classname: 'btn btn-success btn-xs btn-magic btn-dialog',
+                                    extend: 'data-area=\'["85%","85%"]\'',
+                                    url: 'teacher/task/edit',
+                                },{
+                                    name: 'dispatch',
+                                    text: '',
+                                    icon: 'fa fa-trash',
+                                    title: '删除',
+                                    classname: 'btn btn-danger btn-xs btn-magic btn-ajax',
+                                    url: 'teacher/task/del',
+                                    confirm: '确定要删除吗?',
+                                    success: function (data, ret) {
+                                        $(".btn-refresh").trigger("click");
+                                    },
+                                    error: function (data, ret) {
+                                        Layer.alert(ret.msg);
+                                        return false;
+                                    }
+                                }
+                            ],
+                        }
                     ]
                 ]
             });