| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503 | 
							- define(['jquery', 'bootstrap', 'backend', 'table', 'form','editable'], function ($, undefined, Backend, Table, Form,editable) {
 
-     var Controller = {
 
-         index: function () {
 
-             $('.btn-edit').data('area',['70%','95%']);
 
-             // 初始化表格参数配置
 
-             Table.api.init({
 
-                 extend: {
 
-                     index_url: 'teacher/exams/index' + location.search,
 
-                     add_url: 'teacher/exams/add',
 
-                     edit_url: 'teacher/exams/edit',
 
-                     del_url: 'teacher/exams/del',
 
-                     multi_url: 'teacher/exams/multi',
 
-                     import_url: 'teacher/exams/import',
 
-                     table: 'teacher_exams',
 
-                 }
 
-             });
 
-             var table = $("#table");
 
-             table.on('load-success.bs.table', function (e, data) {
 
-                 //这里可以获取从服务端获取的JSON数据
 
-                 //这里我们手动设置顶部的企业总数
 
-                 $(".pingfen_total").text(data.defen.pingfen);
 
-                 $(".max_total").text(data.defen.max);
 
-                 $(".min_total").text(data.defen.min);
 
-                 var task_tr = '';
 
-                 // console.log(data.tongji.one_static.length+'###')
 
-                 for (i=0;i<data.tongji.one_static.length;++i){
 
-                     var one_data = data.tongji.one_static[i];
 
-                     // console.log(one_data+[i]);
 
-                     var epercent = '';
 
-                     if(one_data.epercent!='undefined' && one_data.epercent != undefined){
 
-                         epercent = one_data.epercent;
 
-                     }
 
-                     task_tr += '<tr style="text-align: center">';
 
-                     task_tr += '    <td>'+one_data.name+'</td>';
 
-                     task_tr += '    <td>'+epercent+'</td>';
 
-                     task_tr += '</tr>';
 
-                     $(".tbodyone").html(task_tr);
 
-                 }
 
-                 var task_tr = '';
 
-                 for (j=0;j<data.tongji.two_static.length;++j){
 
-                     var two_data = data.tongji.two_static[j];
 
-                     var epercent = '';
 
-                     if(two_data.epercent!='undefined' && two_data.epercent != undefined){
 
-                         epercent = two_data.epercent;
 
-                     }
 
-                     task_tr += '<tr style="text-align: center">';
 
-                     task_tr += '    <td>'+two_data.name+'</td>';
 
-                     task_tr += '    <td>'+epercent+'</td>';
 
-                     task_tr += '</tr>';
 
-                     $(".tbodytwo").html(task_tr);
 
-                 }
 
-                 var task_tr = '';
 
-                 for (k=0;k<data.tongji.three_static.length;++k){
 
-                     var three_data = data.tongji.three_static[k];
 
-                     var epercent = '';
 
-                     if(three_data.epercent!='undefined' && three_data.epercent != undefined){
 
-                         epercent = three_data.epercent;
 
-                     }
 
-                     task_tr += '<tr style="text-align: center">';
 
-                     task_tr += '    <td>'+three_data.name+'</td>';
 
-                     task_tr += '    <td>'+epercent+'</td>';
 
-                     task_tr += '</tr>';
 
-                     $(".tbodythree").html(task_tr);
 
-                 }
 
-             });
 
-             //在普通搜索渲染后
 
-             table.on('post-common-search.bs.table', function (event, table) {
 
-                 var form = $("form", table.$commonsearch);
 
-                 console.log(Config.collection_name+'@@@@@@@@@@')
 
-                 $("input[name='exam_collection_name']", form).addClass("selectpage").data("source", "teacher/collection/selectpage").data('params',{'custom[exam_collection_type]':3}).data("primaryKey", "exam_collection_name").data("field", "exam_collection_name").data("orderBy", "createtime desc");
 
-                 $("input[name='exam_collection_name']", form).val(Config.collection_name);
 
-                 Form.events.cxselect(form);
 
-                 Form.events.selectpage(form);
 
-             });
 
-             // 初始化表格
 
-             table.bootstrapTable({
 
-                 url: $.fn.bootstrapTable.defaults.extend.index_url,
 
-                 pk: 'exam_id',
 
-                 sortName: 'exam_id',
 
-                 fixedColumns: true,
 
-                 fixedRightNumber: 1,
 
-                 searchFormVisible:true,
 
-                 // singleSelect : true, //
 
-                 search:false,
 
-                 showExport:false,
 
-                 showToggle:false,
 
-                 showColumns: false,
 
-                 columns: [
 
-                     [
 
-                         {checkbox: true},
 
-                         {field: 'user_username', title: __('学员账号'),operate: 'like'},
 
-                         {field: 'user_nickname', title: __('学员姓名'),operate: 'like'},
 
-                         // {field: 'exam_status', title: __('Exam_status'),searchList: {"0":"未登录","1":"已登录","2":"模拟器检查并下发故障中","3":"模拟器正常","4":"答题中","5":"已交卷","6":"计算成绩中","7":"获取到成绩报告","80":"教员标记缺考","81":"登录未开始答题","90":"模拟器异常结束"},formatter: Table.api.formatter.simexamstatus},
 
-                         {field: 'exam_collection_name', title: __('考试名称'),operate: 'like'},
 
-                         {field: 'sim_type', title: __('Sim_type'),searchList:{"0001":"FZD04B型侦毒器","0002":"FZB006型毒剂报警器","0003":"防化兵用毒剂报警器"},formatter: Table.api.formatter.simtype},
 
-                         {
 
-                             field: 'user_depart_id',
 
-                             title: __('区队'),
 
-                             visible: false,
 
-                             addclass: 'selectpage',
 
-                             extend: 'data-source="department/index/index" data-field="name"',
 
-                             operate: Config.groupIds !=8 ? 'in':false,
 
-                             formatter:function (value, row, index) {
 
-                                 return value.toString().replace(/(&|&)nbsp;/g, ' ');
 
-                             }
 
-                             // formatter: Table.api.formatter.search
 
-                         },
 
-                         // {field: 'name', title: __('Name'), align: 'left', formatter:function (value, row, index) {
 
-                         //         return value.toString().replace(/(&|&)nbsp;/g, ' ');
 
-                         //     }
 
-                         // },
 
-                         {field: 'task_id', title: __('训练任务'),visible:false,
 
-                             operate:'=',
 
-                             searchList: $.getJSON("teacher/task/selectlist")
 
-                         },
 
-                         {field: 'total_score', title: __('Total_score'),operate:false},
 
-                         {field: 'exam_duration', title: __('考试时长(秒)'),operate: "between",visible:false},
 
-                         {field: 'exam_duration_text', title: __('考试时长'),operate: false},
 
-                         {field: 'starttime', title: __('开始考试时间'), formatter: Table.api.formatter.datetime,datetimeFormat: 'HH:mm:ss', operate: 'RANGE', addclass: 'datetimerange', sortable: true},
 
-                         {field: 'endtime', title: __('交卷时间'), formatter: Table.api.formatter.datetime, datetimeFormat: 'HH:mm:ss', operate: 'RANGE', addclass: 'datetimerange', sortable: true},
 
-                         // {field: 'endtime', title: __('End_time'), formatter: Table.api.formatter.datetime, operate: false, addclass: 'datetimerange', sortable: true},
 
-                         // {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: 'is_sure', title: __('成绩确认'),operate: '=',searchList:{"1":"已确认","0":"未确认"},
 
-                             formatter: function(value, row,index) {
 
-                                 if(value==0){
 
-                                     return '<span class="text-warning">未确认</span>';
 
-                                 }else if(value==1){
 
-                                     return '<span class="text-success">已确认</span>';
 
-                                 }
 
-                             }
 
-                         },
 
-                         // {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
 
-                             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=\'["70%","95%"]\'',
 
-                                     url: 'teacher/exams/edit',
 
-                                 },
 
-                                 {
 
-                                     name: 'dispatch',
 
-                                     text: '成绩详情',
 
-                                     icon: 'fa fa-eye',
 
-                                     title: '成绩详情',
 
-                                     classname: 'btn btn-info btn-xs btn-magic btn-dialog',
 
-                                     extend: 'data-area=\'["70%","95%"]\'',
 
-                                     url: 'teacher/exams/view',
 
-                                 }
 
-                             ],
 
-                         }
 
-                     ]
 
-                 ],
 
-                 // onCheck: function (row, $element) {
 
-                 //     console.log('选中了')
 
-                 // },
 
-                 // onUncheck: function (row) {
 
-                 //    console.log('取消选中')
 
-                 // },
 
-                 // onCheckAll:function (row){
 
-                 //     // $(".btn-bianji").removeClass('btn-edit')
 
-                 //     // $(".btn-bianji").addClass('disabled')
 
-                 //     // $(".btn-chakan").removeClass('btn-view')
 
-                 //     $(".btn-chakan").addClass('disabled')
 
-                 //     $(".btn-chakan").addClass('btn-disabled')
 
-                 // },
 
-                 // onUncheckAll:function (row){
 
-                 //     $(".btn-bianji").addClass('btn-edit')
 
-                 //     $(".btn-chakan").addClass('btn-view')
 
-                 // }
 
-             });
 
-             // 为表格绑定事件
 
-             Table.api.bindevent(table);
 
-             $(document).on('click', '.btn-view', function () {
 
-                 var ids = Table.api.selectedids(table);
 
-                 var title = '成绩详情';
 
-                 Fast.api.open(Fast.api.fixurl("teacher/exams/view/ids/"+ids), title, { area: ["75%", "95%"] });
 
-             });
 
-             //导出
 
-             $(document).on("click", ".btn-export", function () {
 
-                 var parenttable = table.closest('.bootstrap-table');
 
-                 var options = table.bootstrapTable('getOptions');
 
-                 var toolbar = $(options.toolbar, parenttable);
 
-                 // 导出
 
-                 var options = table.bootstrapTable('getOptions');
 
-                 var search = options.queryParams({});
 
-                 var filter = JSON.parse(search.filter);
 
-                 var op = JSON.parse(search.op);
 
-                 url = '/admin/teacher/exams/export';
 
-                 if(url){
 
-                     window.open(url+ '?filter='+JSON.stringify(filter)+'&op='+JSON.stringify(op));
 
-                 }
 
-             });
 
-         },
 
-         persent: function () {
 
-             Table.api.init({
 
-                 extend: {
 
-                     index_url: 'teacher/exams/persent/ids/'+Config.ids + location.search,
 
-                     edit_url: 'teacher/exams/editscore',
 
-                     indexed_url: 'teacher/exams/examing/ids/'+Config.ids + location.search,
 
-                     score_url: 'teacher/exams/score/ids/'+Config.ids  + location.search,
 
-                     table: 'teacher_exams',
 
-                 }
 
-             });
 
-             var table = $("#table");
 
-             // 初始化表格
 
-             table.bootstrapTable({
 
-                 url: $.fn.bootstrapTable.defaults.extend.index_url,
 
-                 pk: 'rel_id',
 
-                 sortName: 'rel_id',
 
-                 toolbar: '#toolbar',
 
-                 fixedColumns: true,
 
-                 fixedRightNumber: 1,
 
-                 searchFormVisible:false,
 
-                 showExport:false,
 
-                 search:false,
 
-                 showExport:false,
 
-                 showToggle:false,
 
-                 showColumns: false,
 
-                 columns: [
 
-                     [
 
-                         // {checkbox: true},
 
-                         {field: 'sim_type', title: __('Sim_type'),searchList:{"0001":"FZD04B型侦毒器","0002":"FZB006型毒剂报警器","0003":"防化兵用毒剂报警器"},formatter: Table.api.formatter.simtype},
 
-                         {field: 'fault_name', title: __('更换件')},
 
-                         {field: 'create_by', title: __('学员姓名')},
 
-                         {field: 'request_status', title: __('状态'),
 
-                             formatter: function(value, row,index) {
 
-                                 if(value==1){
 
-                                     return '<span class="text-warning">待处理</span>';
 
-                                 }else if(value==2){
 
-                                     return '<span class="text-success">已送</span>';
 
-                                 }else if(value==3){
 
-                                     return '<span class="text-danger">已驳回</span>';
 
-                                 }
 
-                             }
 
-                         },
 
-                         {field: 'createtime', title: __('申请时间'), formatter: Table.api.formatter.datetime, operate: false, addclass: 'datetimerange', sortable: true},
 
-                         {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-check',
 
-                                     title: '已送',
 
-                                     classname: 'btn btn-success btn-xs btn-magic btn-ajax',
 
-                                     url: 'teacher/exams/handle/type/1',
 
-                                     visible: function (rr) {
 
-                                         if(rr.request_status == 1 || rr.request_status == 0){
 
-                                             return true;
 
-                                         }
 
-                                         return  false;
 
-                                     },
 
-                                     success: function (data, ret) {
 
-                                         table.bootstrapTable("refresh");
 
-                                     },
 
-                                 },{
 
-                                     name: 'dispatch',
 
-                                     text: '驳回',
 
-                                     icon: 'fa fa-reply-all',
 
-                                     title: '驳回',
 
-                                     classname: 'btn btn-danger btn-xs btn-magic btn-ajax',
 
-                                     url: 'teacher/exams/handle/type/2',
 
-                                     visible: function (rr) {
 
-                                         if(rr.request_status == 1 || rr.request_status == 0){
 
-                                             return true;
 
-                                         }
 
-                                         return  false;
 
-                                     },
 
-                                     success: function (data, ret) {
 
-                                         table.bootstrapTable("refresh");
 
-                                     },
 
-                                 }
 
-                             ],
 
-                         }
 
-                     ]
 
-                 ]
 
-             });
 
-             // 为表格绑定事件
 
-             Table.api.bindevent(table);
 
-             var table1 = $("#table1");
 
-             // 初始化表格
 
-             table1.bootstrapTable({
 
-                 url: $.fn.bootstrapTable.defaults.extend.indexed_url,
 
-                 pk: 'exam_id',
 
-                 sortName: 'exam_id',
 
-                 toolbar: '#toolbar1',
 
-                 fixedColumns: true,
 
-                 fixedRightNumber: 1,
 
-                 searchFormVisible:false,
 
-                 showExport:false,
 
-                 search:false,
 
-                 pagination:false,
 
-                 showExport:false,
 
-                 showToggle:false,
 
-                 showColumns: false,
 
-                 columns: [
 
-                     [
 
-                         // {checkbox: true},
 
-                         {field: 'seat_id', title: __('座号')},
 
-                         {field: 'sim_type', title: __('Sim_type'),searchList:{"0001":"FZD04B型侦毒器","0002":"FZB006型毒剂报警器","0003":"防化兵用毒剂报警器"},formatter: Table.api.formatter.simtype},
 
-                         {field: 'sim_state', title: __('模拟器状态'),
 
-                             formatter: function(value, row,index) {
 
-                                 // if(value=='在线'){
 
-                                 //     return '<span class="text-success">'+value+'</span>';
 
-                                 // }
 
-                                 // if(value=='离线'){
 
-                                 //     return '<span class="text-danger">'+value+'</span>';
 
-                                 // }
 
-                                 return '<span class="text-success">'+value+'</span>';
 
-                             }
 
-                         },
 
-                         {field: 'user_username', title: __('学员账号')},
 
-                         {field: 'user_nickname', title: __('学员姓名')},
 
-                         {field: 'exam_status', title: __('考试状态'),
 
-                             formatter: function(value, row,index) {
 
-                                 if(value=='未登录'){
 
-                                     return '<span class="text-danger">'+value+'</span>';
 
-                                 }else if(value=='已登录未开始考试'){
 
-                                     return '<span class="text-warning">'+value+'</span>';
 
-                                 }else if(value=='已开始考试'){
 
-                                     return '<span class="text-info">'+value+'</span>';
 
-                                 }else if(value=='已交卷'){
 
-                                     return '<span class="text-success">'+value+'</span>';
 
-                                 }
 
-                             }
 
-                         },
 
-                         {field: 'total_score', title: __('考试成绩')},
 
-                         {field: 'fault_names', title: __('出题题目'),formatter: Table.api.formatter.faultname},
 
-                         // {field: 'xianxiang_names', title: __('故障现象'),formatter: Table.api.formatter.answerName},
 
-                         // {field: 'yuanyin_names', title: __('可能原因'),formatter: Table.api.formatter.answerName},
 
-                         // {field: 'buwei_names', title: __('故障部位'),formatter: Table.api.formatter.answerName},
 
-                         // {field: 'fangfa_names', title: __('排除方法'),formatter: Table.api.formatter.answerName},
 
-                         {field: 'operate', title: __('Operate'), table: table1,
 
-                             events: Table.api.events.operate,
 
-                             // formatter: Table.api.formatter.operate
 
-                             formatter: Table.api.formatter.buttons,
 
-                             buttons: [
 
-                                 {
 
-                                     name: 'dispatch',
 
-                                     text: '成绩详情',
 
-                                     icon: 'fa fa-eye',
 
-                                     title: '成绩详情',
 
-                                     classname: 'btn btn-info btn-xs btn-magic btn-dialog',
 
-                                     extend: 'data-area=\'["75%","95%"]\'',
 
-                                     visible: function (row) {
 
-                                         if(row.total_score>0){
 
-                                             return true;
 
-                                         }
 
-                                         return false;
 
-                                     },
 
-                                     url: 'teacher/exams/view',
 
-                                 }
 
-                             ],
 
-                         }
 
-                     ]
 
-                 ]
 
-             });
 
-             // 为表格绑定事件
 
-             Table.api.bindevent(table1);
 
-             var table2 = $("#table2");
 
-             // 初始化表格
 
-             table2.bootstrapTable({
 
-                 url: $.fn.bootstrapTable.defaults.extend.score_url,
 
-                 pk: 'exam_id',
 
-                 sortName: 'exam_id',
 
-                 toolbar: '#toolbar2',
 
-                 fixedColumns: true,
 
-                 pageSize: 10,
 
-                 pagination:false,
 
-                 fixedLeftNumber: 4,
 
-                 searchFormVisible:false,
 
-                 showExport:false,
 
-                 search:false,
 
-                 showExport:false,
 
-                 showToggle:false,
 
-                 showColumns: false,
 
-                 columns: [
 
-                     [
 
-                         // {checkbox: true},
 
-                         {field: 'seat_id', title: __('座号')},
 
-                         {field: 'sim_type', title: __('Sim_type'),searchList:{"0001":"FZD04B型侦毒器","0002":"FZB006型毒剂报警器","0003":"防化兵用毒剂报警器"},formatter: Table.api.formatter.simtype},
 
-                         {field: 'user_username', title: __('学员账号')},
 
-                         {field: 'user_nickname', title: __('学员姓名')},
 
-                         {field: 'total', title: __('考试成绩')},
 
-                         {field: 'fault_one_score', title: __('故障一扣分'),editable:true},
 
-                         {field: 'fault_two_score', title: __('故障二扣分'),editable:true},
 
-                         {field: 'fault_three_score', title: __('故障三扣分'),editable:true},
 
-                         {field: 'xianxian_score', title: __('故障现象扣分'),editable:true},
 
-                         {field: 'yuanyin_socre', title: __('可能原因扣分'),editable:true},
 
-                         {field: 'buwei_score', title: __('故障部位扣分'),editable:true},
 
-                         {field: 'fangfa_score', title: __('排除方法扣分'),editable:true},
 
-                         {field: 'overtime_score', title: __('超时扣分'),editable:true},
 
-                         {field: 'operate', title: __('Operate'), table: table1,
 
-                             events: Table.api.events.operate,
 
-                             // formatter: Table.api.formatter.operate
 
-                             formatter: Table.api.formatter.buttons,
 
-                             buttons: [
 
-                                 {
 
-                                     name: 'dispatch',
 
-                                     text: '成绩详情',
 
-                                     icon: 'fa fa-eye',
 
-                                     title: '成绩详情',
 
-                                     classname: 'btn btn-info btn-xs btn-magic btn-dialog',
 
-                                     extend: 'data-area=\'["75%","95%"]\'',
 
-                                     url: 'teacher/exams/view',
 
-                                 }
 
-                             ],
 
-                         }
 
-                     ]
 
-                 ],
 
-                 onEditableSave: function (field, row, oldValue, $el) {
 
-                     var data = {};  //组合更新数据
 
-                     // data["row[field]"] = field;  //字段名
 
-                     data["row[" + field + "]"] = row[field];    //字段值
 
-                     // data["row[id]"] = row['id'];    //主键
 
-                     Fast.api.ajax({
 
-                         url:  "teacher/exams/editscore/ids/" + row[this.pk],
 
-                         data: data
 
-                     }, function () {
 
-                         $(".btn-refresh").trigger("click");
 
-                     });
 
-                 },
 
-             });
 
-             // 为表格绑定事件
 
-             Table.api.bindevent(table2);
 
-             //关闭考试 并且
 
-             $(document).on('click', '.btn-closes', function () {
 
-                 var ids  = Config.ids;
 
-                 $.ajax({
 
-                     type:'post',
 
-                     url:'teacher/collection/multi',
 
-                     data:{ids:ids,params:'exam_collection_state=3'},  //重点必须为一个变量如:data
 
-                     success:function(data){
 
-                         if(data.code==1){
 
-                             Backend.api.closetabs('/admin/teacher/exams/persent/ids/'+Config.ids)
 
-                             // Backend.api.addtabs('teacher/collection','考试列表');
 
-                         }
 
-                     },
 
-                     error:function(){
 
-                         layer.alert("操作失败");
 
-                         return;
 
-                     }
 
-                 })
 
-             });
 
-             $("button[name=commonSearch]").css('display','none');
 
-             //定时刷新
 
-             setInterval(function() {
 
-                 table.bootstrapTable('refresh');
 
-                 table1.bootstrapTable('refresh');
 
-                 table2.bootstrapTable('refresh');
 
-             }, 30000);
 
-         },
 
-         add: function () {
 
-             Controller.api.bindevent();
 
-         },
 
-         edit: function () {
 
-             Controller.api.bindevent();
 
-         },
 
-         api: {
 
-             bindevent: function () {
 
-                 Form.api.bindevent($("form[role=form]"));
 
-             }
 
-         }
 
-     };
 
-     return Controller;
 
- });
 
 
  |