define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
var Controller = {
index: function () {
// 初始化表格参数配置
Table.api.init({
extend: {
index_url: 'student/collection/index' + location.search,
table: 'teacher_collection',
}
});
var table = $("#table");
// 初始化表格
table.bootstrapTable({
url: $.fn.bootstrapTable.defaults.extend.index_url,
pk: 'exam_collection_id',
sortName: 'exam_collection_id',
fixedColumns: true,
fixedRightNumber: 1,
searchFormVisible:true,
columns: [
[
{checkbox: true},
{field: 'exam_collection_id', title: __('编号')},
{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: '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: '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,
formatter: Table.api.formatter.buttons,
buttons: [
{
name: 'dispatch',
text: '进入',
icon: 'fa fa-hand-pointer-o',
title: '进入',
visible: function (row){
if(row.is_user_examed==0){
return true;
}
return false;
},
classname: 'btn btn-info btn-xs btn-magic btn-addtabs',
extend: 'data-area=\'["85%","85%"]\'',
url: 'student/collection/into',
}
],
}
]
]
});
// 为表格绑定事件
Table.api.bindevent(table);
},
add: function () {
Controller.api.bindevent();
},
into: function () {
$(document).on('click', '.btn-startexam', function () {
// var index = Layer.load(0, {shade: false}); //0代表加载的风格,支持0-2
var index = Layer.load(2, {
shade: [0.5,'#393D49'],
content: '正在检查模拟器并下发故障,请稍后...', // 这里是加载的文字
});
$(this).removeClass('btn-info');
$(this).addClass('btn-primary');
if(Config.is_fault){
$.ajax({
///sim/real-exam/student/exam/start/15?ip=192.168.1.110
url: Config.url_type+"/sim/real-exam/student/exam/start/"+Config.exam_id+"?ip="+Config.server_ip,
type: 'get',
success: function (data) {
console.log(data);
if(data.code==200){
window.location.href = '/admin/student/collection/examing/ids/'+Config.exam_id;
}else{
Layer.alert(data.msg);
Layer.close(index);
return;
}
}
});
}else{
window.location.href = '/admin/student/collection/examing/ids/'+Config.exam_id;
}
});
//刷新模拟器
$(document).on('click', '.btn-refreshs', function () {
var index = Layer.load(2, {
shade: [0.5,'#393D49'],
content: '正在刷新检查模拟器,请稍后...', // 这里是加载的文字
});
$(this).removeClass('btn-info');
$(this).addClass('btn-primary');
if(Config.is_fault){
$.ajax({
url: Config.url_type+"/sim/real-exam/student/refresh-sim-state?userId="+Config.user_id+"&ip="+Config.server_ip,
type: 'get',
success: function (data) {
console.log(data);
if(data.code==200 && data.data.simState==2){
$(".kaiguan").css('display','block');
}else{
$(".kaiguan").css('display','none');
}
Layer.close(index);
$(".mnq_zt").val(data.msg);
}
});
}else{
window.location.href='';
}
});
if(Config.is_fault){
var index = Layer.load(2, {
shade: [0.5,'#393D49'],
content: '正在刷新检查模拟器,请稍后...', // 这里是加载的文字
});
$.ajax({
url: Config.url_type+"/sim/real-exam/student/refresh-sim-state?userId="+Config.user_id+"&ip="+Config.server_ip,
type: 'get',
success: function (data) {
console.log(data);
if(data.code==200 && data.data.simState==2){
$(".kaiguan").css('display','block');
}else{
$(".kaiguan").css('display','none');
}
Layer.close(index);
$(".mnq_zt").val(data.msg)
}
});
}
},
examing: function () {
var dingshi = '';
$(document).ready(function() {
var countdownTime = Config.timer; // 倒计时时间,单位为秒
var countdownTime1 = 600; // 10分钟倒计时时间,单位为秒
var display = $('#timer');
var fenzhong = 0;
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+'秒');
// console.log(minutes.replace("0-",''));
// console.log(parseInt(minutes.replace("0-",'')));
if (--countdownTime < 0) {
// $(".djs").html('已经超时,10分钟00秒后系统自动交卷。');
$.ajax({
url: "student/collection/countdown/ids/"+Config.ids,
type: 'post',
data: {},
success: function (data) {
if(data.code==1){
console.log(data.msg);
$(".djs").html(data.msg);
if(data.msg==0){
$('#update-form').submit();
clearInterval(timer);
}
}
if(data.code==0){
Layer.alert(data.msg);
}
}
});
}
}, 1000);
//五秒刷新,同步更换件列表数据
if(Config.isloading==1 && countdownTime>0){
dingshi = setInterval(function() {
window.location.reload();
}, 30000);//30000
}
});
$(document).on('click', '.btn-replace', function () {
console.log($(".other_replace").val());
if($(".other_replace").val()=='[{"fault_id":"","request_status":"0"}]'){
Layer.alert('请先填写更换件');
return false;
}
$.ajax({
url: "student/collection/replace/ids/"+Config.ids,
type: 'post',
data: {
other_replace: $(".other_replace").val(),
other_report: $(".other_report").val(),
},
success: function (data) {
if(data.code==1){
Layer.alert(data.msg, {
btn: ['确定'], // 或者直接使用默认的确定按钮
yes: function(index, layero){
// 刷新页面
window.location.reload();
}
});
}
if(data.code==0){
Layer.alert(data.msg);
}
}
});
});
//追加记录
$(document).on('click', '.btn-addlog', function () {
clearTimeout(dingshi);
var ids = Config.ids;
var other_report_count = Config.other_report_count;
if(other_report_count==3){
Layer.alert('维修报告最多允许增加三条');
return false;
}
Fast.api.open('student/collection/addreport/ids/'+ids, __("维修报告"), {
area: ["95%", "85%"],
callback:function(value){
console.log(value+'@@@@');
}
});
});
//编辑记录
$(document).on('click', '.btnedit', function () {
clearTimeout(dingshi);
var ids = Config.ids;
var xh_id = $(this).attr('xh_id');
Fast.api.open('student/collection/editreport/ids/'+ids+'/xh_id/'+xh_id, __("维修报告"), {
area: ["95%", "85%"],
callback:function(value){
console.log(value+'@@@@');
}
});
});
//移除记录
$(document).on('click', '.btnmove', function () {
var ids = Config.ids;
var xh_id = $(this).attr('xh_id');
Layer.confirm(
__('确定要移除此条记录吗?', ids.length),
{icon:3, title: __('Warning'), shadeClose: true, btn: [__('OK'), __('Cancel')]},
function (index) {
var url = 'student/collection/delreport/ids/'+ids;
options = {url: url, data: {xh_id: xh_id}};
Fast.api.ajax(options, function (data, ret) {
window.location.reload();
}, function (data, ret) {
var error = $(that).data("error") || $.noop;
if (typeof error === 'function') {
if (false === error.call(that, data, ret)) {
return false;
}
}
});
Layer.close(index);
}
);
});
$(document).on('click', '.layui-layer-close1', function () {
window.location.reload();
});
$(document).on('click', '.btn-jiaojuan', function () {
// Layer.confirm(__('确定交卷?
交卷后无法再修改维修报告和进行维修。'), {
// icon: 3,
// title: '提示'
// }, function (index) {
// Layer.close(index);
// $("#update-form").submit();
// });
Layer.confirm(__('确定交卷?
交卷后无法再修改维修报告和进行维修。'), {
icon: 3,
title: '提示'
}, function (index) {
if(Config.is_fault){
Fast.api.ajax({
url: Config.url_type+"/sim/real-exam/student/exam/submit/"+Config.exam_id+"?ip="+Config.server_ip,
}, function (data) {
console.log(data);
if(data.code==200){
$("#update-form").submit();
}else{
Layer.closeAll();
Layer.alert(data.msg);
}
});
}else{
$("#update-form").submit();
}
});
});
$(document).on("fa.event.appendfieldlist", "#second-fieldlist .btn-append", function (e, obj) {
//绑定动态下拉组件
Form.events.selectpage(obj);
});
Form.api.bindevent($("form[role=form]"), function(data, ret) {
if(ret.code==1){
Backend.api.addtabs( ret.url,'成绩管理');
Backend.api.closetabs('/admin/student/collection/index');
}
});
},
addreport: function () {
Form.api.bindevent($("form[role=form]"), function(data, ret) {
if(ret.code==1){
parent.location.reload();
}
});
},
editreport: function () {
Form.api.bindevent($("form[role=form]"), function(data, ret) {
if(ret.code==1){
parent.location.reload();
}
});
},
delreport: function () {
Controller.api.bindevent();
},
analysis: function () {
Form.api.bindevent($("form[role=form]"), function(data, ret) {
if(ret.code==1){
Backend.api.addtabs( ret.url);
}
});
},
edit: function () {
Controller.api.bindevent();
},
api: {
bindevent: function () {
Form.api.bindevent($("form[role=form]"));
}
}
};
return Controller;
});