Merge remote-tracking branch 'origin/beetlsql3-dev' into beetlsql3-dev

beetlsql3-dev
Mlxa0324 2 years ago
commit b35f7bb143

@ -282,7 +282,7 @@ layui.define(['form', 'transfer', 'table', 'userApi', 'tree', "laytpl"], functio
// Common.openDlg(url,"用户管理>"+data.name+">角色管理");
loadUserRole(data.id, !$.isEmpty(data.roleIds) ? data.roleIds.split(",") : []);
} else if (obj.event === "password") {
console.log("修改密码");
layer.confirm('是否确定初始化该学生密码?', function (index) {
var ret = Common.postAjax("/jlw/student/xxx.json", {
userId: data.userId

@ -195,7 +195,7 @@ var Common = {
if(!data) {
data = {};
}
var form = $('<form method="'+ method +'" action="' + Common.ctxPath + url + '">');
var form = $('<form method="'+ method +'" action="' + $.getKeyInfo(Common.ctxPath + url) + '">');
$.each(data, function (k, v) {
form.append($('<input type="hidden" name="' + k +
'" value="' + v + '">'));
@ -777,6 +777,32 @@ var Common = {
}
}
return val;
},
downFile:function (consturl,farmname,method){ //下载文件
var xhr = new XMLHttpRequest();
xhr.open(method || 'GET', consturl, true); // 也可以使用POST方式根据接口
xhr.responseType = "blob"; // 返回类型blob
// 定义请求完成的处理函数,请求前也可以增加加载框/禁用下载按钮逻辑
xhr.onload = function () {
// 请求完成
if (this.status === 200) {
// 返回200
var blob = this.response;
var reader = new FileReader();
reader.readAsDataURL(blob); // 转换为base64可以直接放入a表情href
reader.onload = function (e) {
// 转换完成创建一个a标签用于下载
var a = document.createElement('a');
a.download = farmname || Date.now()+'.xlsx';
a.href = e.target.result;
$("body").append(a); // 修复firefox中无法触发click
a.click();
$(a).remove();
}
}
};
// 发送ajax请求
xhr.send()
}
});

@ -1098,7 +1098,7 @@ var Lib = {
a.setAttribute('download', data.resourcesInfoName); //a.download='文件名'
a.click();
}else{
window.open(Common.ctxPath + "/jlw/resourcesInfo/previewData.do?resourcesInfoId="+data.resourcesInfoId);
window.location.href = Common.ctxPath + "/jlw/resourcesInfo/previewData.do?resourcesInfoId="+data.resourcesInfoId;
}
},downloadFile2:function (url,name){ //下载指定文件/或者预览文件 resourcesInfoType资源类型(1视频 2课件(ppt 、pdf) 3附件)
var a = document.createElement('a');

@ -107,7 +107,7 @@
imageFormats : ["jpg", "jpeg", "gif", "png", "bmp", "webp"],
imageUploadURL : "./php/upload.php",
onload : function() {
console.log('onload', this);
//this.fullscreen();
//this.unwatch();
//this.watch().fullscreen();

@ -9,7 +9,9 @@ import com.ibeetl.admin.core.entity.CoreUser;
import com.ibeetl.admin.core.file.FileService;
import com.ibeetl.admin.core.util.TimeTool;
import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.jlw.dao.StudentDao;
import com.ibeetl.jlw.entity.FileEntity;
import com.ibeetl.jlw.entity.Student;
import com.ibeetl.jlw.entity.TeacherOpenCourseScoreDashboard;
import com.ibeetl.jlw.service.TeacherOpenCourseScoreDashboardService;
import com.ibeetl.jlw.web.query.TeacherOpenCourseScoreDashboardQuery;
@ -53,6 +55,8 @@ public class TeacherOpenCourseScoreDashboardController {
@Autowired
private TeacherOpenCourseScoreDashboardService teacherOpenCourseScoreDashboardService;
@Autowired
private StudentDao studentDao;
@Autowired
FileService fileService;
@ -64,6 +68,12 @@ public class TeacherOpenCourseScoreDashboardController {
if (null == coreUser) {
return JsonResult.failMessage("请登录后再操作");
} else {
if (coreUser.isStudent()) {
Student student = studentDao.getByUserId(coreUser.getId());
if (student != null) {
condition.setStudentId(student.getStudentId());
}
}
PageQuery page = condition.getPageQuery();
teacherOpenCourseScoreDashboardService.queryByConditionQuery(page);
return JsonResult.success(page);

@ -11,6 +11,7 @@ layui.define(['form', 'laydate', 'table', 'element', 'upload', 'competitionApi',
var studentTempMap = {};//参赛学员Map
var timeInfo = {}; //存储相应任务时间 用于选题时返显
var competitionType_ = $("select[name='competitionType']").val();//大赛模式
var competitionStuTable = []; //已报名学生table 个人赛0:已选参赛人 1未选参赛人) 团队赛2已选参赛人 3选队长 4未选参赛人团队
var competitionStuIds = ""; //已报名学生ids
var competitionStuIds_no = ""; //已报名学生ids
@ -75,6 +76,13 @@ layui.define(['form', 'laydate', 'table', 'element', 'upload', 'competitionApi',
$("input[name='competitionCarouselImage3']").val(res.data.src);
}
});
//日期范围
laydate.render({
elem: '#test6'
//设置开始日期、日期日期的 input 选择器
//数组格式为 2.6.6 开始新增,之前版本直接配置 true 或任意分割字符即可
,range: ['#test-startDate-1', '#test-endDate-1']
});
//上传大赛动态图片
upload.render({
@ -210,7 +218,6 @@ layui.define(['form', 'laydate', 'table', 'element', 'upload', 'competitionApi',
element.on('tab(dsrw_demoTabBrief)', function () {
//saveInfo(1, onSign1);
var sign = this.getAttribute('lay-id');
//console.log(sign)
loadDSRW('', '', sign);
//loadView(sign);
});
@ -257,12 +264,16 @@ layui.define(['form', 'laydate', 'table', 'element', 'upload', 'competitionApi',
$(".syb").click(function () {
saveInfo(1);
var i = $(".layui-tab-brief .layui-this").attr("lay-id");//当前操作tab位置
//切换相应位置tab
var showSign = $("input[name='sign']").val();
$(".layui-tab-brief .layui-this").removeClass("layui-this");
if (showSign == '2' && i == 7) {//1:金融 2:模拟交易大赛
i = 2;
i = 3;
}else if(showSign == '2' && i == 2){
i = 1;
}
$(".layui-tab-brief .layui-tab-title li:eq(" + (i - 1) + ")").addClass("layui-this");
$(".layui-tab-brief .layui-show").removeClass("layui-show");
$(".layui-tab-brief .layui-tab-content .layui-tab-item:eq(" + (i - 1) + ")").addClass("layui-show");
@ -279,9 +290,13 @@ layui.define(['form', 'laydate', 'table', 'element', 'upload', 'competitionApi',
//切换相应位置tab
$(".layui-tab-brief .layui-this").removeClass("layui-this");
if (showSign == '2' && i == 1) {//1:金融 2:模拟交易大赛
if (showSign == '2' && i == 2) {//1:金融 2:模拟交易大赛
i = 6;
}else if(showSign == '2' && i == 0){
i = 1;
}
$(".layui-tab-brief .layui-tab-title li:eq(" + (Number(i) + 1) + ")").addClass("layui-this");
$(".layui-tab-brief .layui-show").removeClass("layui-show");
$(".layui-tab-brief .layui-tab-content .layui-tab-item:eq(" + (Number(i) + 1) + ")").addClass("layui-show");
@ -308,7 +323,8 @@ layui.define(['form', 'laydate', 'table', 'element', 'upload', 'competitionApi',
$(".syb").show();
$(".xyb").show();
$(".sbx").show();
if (sign == 1) {
if (sign == 2) {
loadDSRW();
}
if (sign == 4 && $.isEmpty(editor4)) {
@ -520,11 +536,11 @@ layui.define(['form', 'laydate', 'table', 'element', 'upload', 'competitionApi',
//移除参赛学员 (个人)
$(".del_competition_user").click(del_c_user);
$(".export_gr").click(function () { //导出个人赛参赛人员信息
window.open(Common.ctxPath + "/jlw/competition/export.json?competitionId=" + $("input[name='competitionId']").val() + "&beCompetitionStudent=1");
$.downFile(Common.ctxPath + "/jlw/competition/export.json?competitionId=" + $("input[name='competitionId']").val() + "&beCompetitionStudent=1");
});
$(".export_td").click(function () { //导出团队赛参赛人员信息
window.open(Common.ctxPath + "/jlw/competition/export.json?competitionId=" + $("input[name='competitionId']").val() + "&beCompetitionStudent=1");
$.downFile(Common.ctxPath + "/jlw/competition/export.json?competitionId=" + $("input[name='competitionId']").val() + "&beCompetitionStudent=1");
});
@ -1278,7 +1294,6 @@ layui.define(['form', 'laydate', 'table', 'element', 'upload', 'competitionApi',
studentsIds: item.studentsIds
});
});
console.log(studentTempMap);
loadCompetitionUser(2, studentTempJson);
});
}
@ -1294,7 +1309,6 @@ layui.define(['form', 'laydate', 'table', 'element', 'upload', 'competitionApi',
area: ['800px', '660px'],
content: $("#student_no_dialog"),
success: function (layero, index) {
console.log(studentTempMap);
loadCompetitionUser(4);
}, yes: function (index) {
var studentTempJson = new Array();
@ -1396,7 +1410,6 @@ layui.define(['form', 'laydate', 'table', 'element', 'upload', 'competitionApi',
} else if (nav == '2') {
view = document.getElementById('dsrw_view2');
}
laytpl(getTpl).render(data, function (html) {
view.innerHTML = html;
jiSuanZF();
@ -1593,7 +1606,7 @@ layui.define(['form', 'laydate', 'table', 'element', 'upload', 'competitionApi',
$(".search_t_no").click(search_t_no);//搜索大赛未添加评委
$(".export_pw").click(function () { //导出评委
window.open(Common.ctxPath + "/jlw/competition/exportTeacher.json?competitionId=" + $("input[name='competitionId']").val() + "&beCompetitionJudge=1");
$.downFile(Common.ctxPath + "/jlw/competition/exportTeacher.json?competitionId=" + $("input[name='competitionId']").val() + "&beCompetitionJudge=1");
});
//选择大赛评委

@ -14,11 +14,17 @@ layui.define([ 'form', 'laydate', 'table','element','handsOnSimulationTasksApi',
//普通图片上传
var uploadInst = upload.render({
elem: '#test-upload-normal'
,url: '/upload/'
,before: function(obj){
//预读本地文件示例不支持ie8
obj.preview(function(index, file, result){
$('#test-upload-normal-img').attr('src', result); //图片链接base64
,url: Common.ctxPath +'/jlw/file/update.do'
,accept:'video'
, progress: function(value) {
element.progress('progressBar',value + '%');
},
choose: function(obj) {
obj.preview(function(index, file, result) {
//$('input[name="src"]').html(file.name);
$('#nameV').html(file.name);
var size = (file.size/1014).toFixed(1)+'kb';
$('#mv_m').html(size);
});
}
,done: function(res){
@ -38,6 +44,81 @@ layui.define([ 'form', 'laydate', 'table','element','handsOnSimulationTasksApi',
}
});
var uploadInstPPT = upload.render({
elem: '#upload-normalPPT'
,url: Common.ctxPath +'/jlw/file/update.do'
,accept:'file'
,exts:'ppt|pps|pptx|ppsx|pot|ppa'
, progress: function(value) {
element.progress('progressBarPPT',value + '%');
},
choose: function(obj) {
obj.preview(function(index, file, result) {
//$('input[name="src"]').html(file.name);
$('#namePPT').html(file.name);
var size = (file.size/1014).toFixed(1)+'kb';
$('#sizePPT').html(size);
});
}
,before: function(obj){
//预读本地文件示例不支持ie8
obj.preview(function(index, file, result){
$('#test-upload-normal-img').text(file.name ); //图片链接base64file.name
});
}
,done: function(res){
//如果上传失败
if(res.code > 0){
return layer.msg('上传失败');
}
//上传成功
}
,error: function(){
//演示失败状态,并实现重传
var demoText = $('#upload-demoTextPPT');
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-mini demo-reloadP">重试</a>');
demoText.find('.demo-reloadP').on('click', function(){
uploadInstPPT.upload();
});
}
});
var uploadInstFile = upload.render({
elem: '#upload-normalFile'
,url: Common.ctxPath +'/jlw/file/update.do'
,accept:'file'
, progress: function(value) {
element.progress('progressBarFile',value + '%');
},
choose: function(obj) {
obj.preview(function(index, file, result) {
//$('input[name="src"]').html(file.name);
$('#nameFile').html(file.name);
var size = (file.size/1014).toFixed(1)+'kb';
$('#sizeFile').html(size);
});
}
,before: function(obj){
//预读本地文件示例不支持ie8
obj.preview(function(index, file, result){
$('#test-upload-normal-img').text(file.name ); //图片链接base64file.name
});
}
,done: function(res){
//如果上传失败
if(res.code > 0){
return layer.msg('上传失败');
}
//上传成功
}
,error: function(){
//演示失败状态,并实现重传
var demoText = $('#upload-demoTextFile');
demoText.html('<span style="color: #FF5722;">上传失败</span> <a class="layui-btn layui-btn-mini demo-reloadF">重试</a>');
demoText.find('.demo-reloadF').on('click', function(){
uploadInstFile.upload();
});
}
});
var view = {
init:function(){
Lib.initGenrealForm($("#addForm"),form);
@ -82,6 +163,7 @@ layui.define([ 'form', 'laydate', 'table','element','handsOnSimulationTasksApi',
$("input[name='taskTitle']").val("");
$("input[name='taskScore']").val("");
$("input[name='taskOrder']").val("");
$("input[name='assessmentRequirements']").val("");
$("input[name='assessmentTime']").val("");
});
exports('add',view);

@ -3,7 +3,6 @@ layui.define([], function(exports) {
var api={
updateHandsOnSimulationTasks:function(form,callback){
var formPara = form.serializeJson();
console.log(formPara)
var taskTitleElement = formPara.taskTitle[0];
var taskScoreElement = formPara.taskScore[0];
var taskOrderElement = formPara.taskOrder[0];
@ -12,19 +11,16 @@ layui.define([], function(exports) {
formPara.taskScore = taskScoreElement;
formPara.taskOrder = taskOrderElement;
formPara.assessmentTime = assessmentTime;
console.log(formPara)
Lib.submitForm("/jlw/handsOnSimulationTasks/edit.json",form,formPara,callback)
},
addHandsOnSimulationTasks:function(form,callback){
var formPara = form.serializeJson();
console.log(formPara)
var taskTitleElement = formPara.taskTitle[0];
var taskScoreElement = formPara.taskScore[0];
var taskOrderElement = formPara.taskOrder[0];
formPara.taskTitle = taskTitleElement;
formPara.taskScore = taskScoreElement;
formPara.taskOrder = taskOrderElement;
console.log(formPara)
Lib.submitForm("/jlw/handsOnSimulationTasks/add.json",form,formPara,callback)
},
del:function(ids,callback){

@ -19,8 +19,6 @@ layui.define(['form', 'laydate', 'table'], function (exports) {
});
});
selectList += "</select>";
console.log(selectList)
console.log(courseLabelTypes)
var view = {
init: function () {
this.initTable();

@ -130,7 +130,7 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) {
var classId = $("#searchForm select[name='classId']").val(),
studentName = $("#searchForm input[name='studentName']").val(),
studentSn = $("#searchForm input[name='studentSn']").val();
window.open(Common.ctxPath + "/jlw/student/export.json?classId="+classId+"&studentName="+studentName+"&studentSn="+studentSn);
$.downFile(Common.ctxPath + "/jlw/student/export.json?classId="+classId+"&studentName="+studentName+"&studentSn="+studentSn);
});
}
};

@ -56,8 +56,8 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) {
{
field : 'operation_',title : '操作',align:"center", templet: function (d) {
var htm = '<button type="button" class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</button>';
htm += '<button type="button" class="layui-btn layui-btn-normal layui-btn-xs" style="background-color: #c2c2c2" lay-event="move">左移</button>';
htm += '<button type="button" class="layui-btn layui-btn-normal layui-btn-xs" style="background-color: #c2c2c2" lay-event="move">右移</button>';
/*htm += '<button type="button" class="layui-btn layui-btn-normal layui-btn-xs" style="background-color: #c2c2c2" lay-event="move"></button>';
htm += '<button type="button" class="layui-btn layui-btn-normal layui-btn-xs" style="background-color: #c2c2c2" lay-event="move">右移</button>';*/
return htm;
}
}

@ -100,7 +100,7 @@ layui.define(['form', 'laydate', 'table'], function (exports) {
}, export: function () {//导出
layer.confirm('是否确定导出教师信息?', function (index) {
layer.close(index);
window.open(Common.ctxPath + "/jlw/teacher/export.json");
$.downFile(Common.ctxPath + "/jlw/teacher/export.json");
});
}
};

@ -96,7 +96,8 @@ layui.define(['form', 'laydate', 'table'], function (exports) {
var css = d.teacherOpenCourseStatus == 2 ? "textType2" : 'textType';
return '<span class="' + css + '">' + d.teacherOpenCourseStatusText + '</span>';
}
}, {
},
{
field: 'operation_', title: '操作', align: "center", width: "200", templet: function (d) {
var htm = '<a class="layui-table-link" lay-event="toPaike">去排课</a>';
htm += '<a class="layui-table-link" lay-event="enable">启用</a>';

@ -26,7 +26,7 @@ layui.define(['form', 'laydate', 'table'], function (exports) {
height: Lib.getTableHeight(1),
cellMinWidth: 100,
method: 'post',
url: Common.ctxPath + '/jlw/teacherOpenCourseMergeSchoolClass/list.json' // 数据接口
url: Common.ctxPath + '/jlw/teacherOpenCourse/list.json' // 数据接口
, page: Lib.tablePage // 开启分页
/*,toolbar: '#toolbar_teacherOpenCourseMergeSchoolClass' //自定义头部左侧工具栏
,defaultToolbar: ['filter', 'print', 'exports'] //头部右侧工具栏*/
@ -41,38 +41,41 @@ layui.define(['form', 'laydate', 'table'], function (exports) {
align: "center",
hideField: false,
hide: $.isEmpty(sx_['teacherOpenCourseTitle']) ? false : sx_['teacherOpenCourseTitle'],
templet:function (d) {
return d.teacherOpenCourseIdText
}
},
{
field: 'teacherIdText', //数据字典类型为 teacher_open_course.teacher_open_course_title.teacher_open_course_status=1
field: 'teacherIdText',
title: '上课教师',
align: "center",
hideField: false,
hide: $.isEmpty(sx_['teacherIdText']) ? false : sx_['teacherIdText'],
templet:function (d) {
return d.teacherInfo.teacherName
}
},
{
field: 'schoolClassIdText', //数据字典类型为 school_class.class_name.class_status=1
field: 'schoolClassInfo',
title: '上课班级',
align: "center",
hideField: false,
hide: $.isEmpty(sx_['schoolClassIdText']) ? false : sx_['schoolClassIdText'],
},
{
field: 'teacherOpenCourseMergeSchoolClassAddTime',
field: 'createTime',
title: '创建时间',
align: "center",
hideField: false,
hide: $.isEmpty(sx_['teacherOpenCourseMergeSchoolClassAddTime']) ? false : sx_['teacherOpenCourseMergeSchoolClassAddTime'],
hide: $.isEmpty(sx_['createTime']) ? false : sx_['createTime'],
},
{
field: 'teacherOpenCourseMergeSchoolClassStatusText', //数据字典类型为 global_open_status
title: '状态',
field: 'teacherOpenCourseStatusText', //数据字典类型为 global_open_status
// title : '开课状态1启用 2禁用',
title: '开课状态',
align: "center",
hideField: false,
hide: $.isEmpty(sx_['teacherOpenCourseMergeSchoolClassStatusText']) ? false : sx_['teacherOpenCourseMergeSchoolClassStatusText'],
hide: $.isEmpty(sx_['teacherOpenCourseStatusText']) ? false : sx_['teacherOpenCourseStatusText'],
templet: function (d) {
var css = d.teacherOpenCourseStatus == 2 ? "textType2" : 'textType';
return '<span class="' + css + '">' + d.teacherOpenCourseStatusText + '</span>';
}
},
{
field: 'operation_', title: '操作', align: "center", templet: function (d) {
@ -130,13 +133,13 @@ layui.define(['form', 'laydate', 'table'], function (exports) {
},
examine:function () {//批量审核
var data = Common.getMoreDataFromTable(table, "teacherOpenCourseMergeSchoolClassTable");
console.log(data)
if (data == null) {
return;
}
var ids = Common.concatBatchId(data, "teacherOpenCourseMergeSchoolClassId");
var ids = Common.concatBatchId(data, "teacherOpenCourseId");
layer.confirm('是否确定审核??', function (index) {
var ret = Common.postAjax("/jlw/teacherOpenCourseMergeSchoolClass/edit.json", {ids: ids});
var ret = Common.postAjax("/jlw/teacherOpenCourse/batchEditStatus.json",
{teacherOpenCourseIds: ids,status:1});
layer.msg(ret.code == 0 ? "审核成功!" : ret.msg, {
offset: ['50%'],
icon: ret.code == 0 ? 1 : 2,
@ -175,7 +178,8 @@ layui.define(['form', 'laydate', 'table'], function (exports) {
});
} else if (obj.event == 'examine') {
layer.confirm('是否确定审核??', function (index) {
var ret = Common.postAjax("/jlw/teacherOpenCourseMergeSchoolClass/edit.json", {id: data.teacherOpenCourseMergeSchoolClassId});
var ret = Common.postAjax("/jlw/teacherOpenCourse/edit.json",
{teacherOpenCourseId: data.teacherOpenCourseId,teacherOpenCourseStatus:1});
layer.msg(ret.code == 0 ? "审核成功!" : ret.msg, {
offset: ['50%'],
icon: ret.code == 0 ? 1 : 2,

@ -198,7 +198,7 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) {
layui.use([ 'teacherOpenCourseScoreDashboardApi' ], function() {
var teacherOpenCourseScoreDashboardApi = layui.teacherOpenCourseScoreDashboardApi
Common.openConfirm("确认要导出这些成绩数据?", function() {
window.open(Common.ctxPath + "/jlw/teacherOpenCourseScoreDashboard/excel/export.json");
$.downFile(Common.ctxPath + "/jlw/teacherOpenCourseScoreDashboard/excel/export.json");
})
});
},

@ -223,7 +223,7 @@ layui.define([ 'form', 'laydate', 'table' ,'laytpl'], function(exports) {
Common.downLoad("/jlw/teacherOpenCourseMergeScheduleSession/excel/export.json", formPara, 'POST')
*/
layer.confirm('是否确定导出签到汇总表吗?', function (index) {
window.open(Common.ctxPath + "/jlw/teacherOpenCourseStudentSigninSetting/exportSummary.json");
$.downFile(Common.ctxPath + "/jlw/teacherOpenCourseStudentSigninSetting/exportSummary.json");
layer.close(index);
});
}

@ -401,7 +401,7 @@
<li lay-id="0" class="layui-this">初赛</li>
<li lay-id="1">决赛</li>
<li lay-id="2">冠军邀请赛</li>
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm" id="edit_nav"><i class="layui-icon"></i></button>
<button type="button" class="layui-btn layui-btn-primary layui-btn-sm" id="edit_nav"><i class="iconfont">&#xebd8;</i></button>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show" id="dsrw_view"></div>
@ -738,6 +738,26 @@
<script id="dsrw_demo" type="text/html">
<div style="margin: 0 60px 30px;border: 1px solid rgba(215, 215, 215, 1);border-radius: 10px;">
<blockquote class="layui-elem-quote">证券投资赛项设置</blockquote>
<div class="layui-form">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">日期范围</label>
<div class="layui-inline" id="test6">
<div class="layui-input-inline">
<input type="text" autocomplete="off" id="test-startDate-1" class="layui-input" placeholder="开始日期">
</div>
<div class="layui-form-mid">-</div>
<div class="layui-input-inline">
<input type="text" autocomplete="off" id="test-endDate-1" class="layui-input" placeholder="结束日期">
</div>
</div>
</div>
</div>
</div>
</div>
<div style="margin: 0 60px;border: 1px solid rgba(215, 215, 215, 1);border-radius: 10px;">
<input name="ct1QuestionIds" type="hidden" value="{{d.ct1QuestionIds || ''}}"/>
<label class="layui-form-label">客观题设置:</label>
<div class="layui-row">
@ -844,9 +864,8 @@
</table>
</div>
</div>
</div>
<div style="margin: 0 60px;border: 1px solid rgba(215, 215, 215, 1);border-radius: 10px;">
<input name="ct2QuestionIds" type="hidden" value="{{d.ct2QuestionIds || ''}}"/>
<label class="layui-form-label">竞赛案例设置:</label>
<div class="layui-row">

@ -151,7 +151,7 @@
param.page = 1;
param.limit = 10;
var ret = loadLayPage(param);
console.log(ret.data);
laypage.render({
elem: 'laypageInfo'
,limit:10

@ -4,6 +4,13 @@
<script src="${ctxPath}/plugins/editorMd/editormd.min.js"></script>
<link rel="stylesheet" href="${ctxPath}/plugins/highlight/styles/a11y-light.min.css" />
<script type="text/javascript" src="${ctxPath}/plugins/highlight/highlight.min.js?v=${jsVer}"></script>
<style>
.progressCss{
width: 300px;
background: #e9e9e9;
padding: 14px;
}
</style>
<form class="layui-form" id="addForm">
<input type="hidden" id="handsOnId" name="handsOnId" value="${handsOnSimulationTasks.handsOnId}"
class="layui-input">
@ -72,11 +79,11 @@
<div class="layui-input-block">
<div class="layui-inline">
<label class="layui-form-label" style="width: 110px">
<input type="radio" name="assessmentRequirements" value="男" title="至少观看" checked>
<input type="checkbox" name="assessmentRequirements2" value="男" title="至少观看">
</label>
<div class="layui-input-inline" style="top: 10px">
<input type="text" name="assessmentTime"
value="${handsOnSimulationTasks.assessmentTime}" class="layui-input">
<input type="text" name="assessmentRequirements"
value="${handsOnSimulationTasks.assessmentRequirements}" class="layui-input">
</div>
<div style="display: inline-block;line-height: 60px;vertical-align: middle;">
分钟
@ -87,10 +94,10 @@
</div>
<div class="layui-inline">
<label class="layui-form-label" style="width: 220px">
<input type="radio" name="assessmentRequirements1" value="男" title="间隔所少分钟出现一次弹窗">
<input type="checkbox" name="assessmentRequirements2" value="男" title="间隔所少分钟出现一次弹窗">
</label>
<div class="layui-input-inline" style="top: 10px">
<input type="text" name="assessmentTime1"
<input type="text" name="assessmentTime"
value="${handsOnSimulationTasks.assessmentTime}" class="layui-input">
</div>
<div style="display: inline-block;line-height: 60px;vertical-align: middle;">
@ -105,12 +112,20 @@
</div>
<div class="layui-row">
<div class="layui-form-item" style="margin-left: 20px">
<div class="layui-form-label">考核任务添加视频</div>
<div class="layui-form-label">添加视频</div>
<div class="layui-input-block" style="margin-left: 20px">
<div class="layui-upload">
<button type="button" class="layui-btn layui-btn-primary layui-font-blue" id="test-upload-normal"><i class="layui-icon"></i>点击添加</button>
<div class="progressCss">
<span type="text" id="nameV" style="width: 300px"></span>
<span id="mv_m" style="float: right;"></span>
<div class="layui-progress " lay-showPercent="yes" lay-filter="progressBar"
style="margin-top: 15px; width:300px">
<div class="layui-progress-bar layui-bg-blue" lay-percent="0%"></div>
</div>
</div>
<div class="layui-upload-list">
<img class="layui-upload-img" id="test-upload-normal-img">
<p id="test-upload-demoText"></p>
</div>
</div>
@ -156,22 +171,22 @@
<div class="layui-input-block">
<div class="layui-inline">
<label class="layui-form-label" style="width: 110px">
<input type="radio" name="assessmentRequirements" value="男" title="至少观看" checked>
<input type="radio" name="assessmentRequirements2" value="男" title="至少观看" checked>
</label>
<div class="layui-input-inline" style="top: 10px">
<input type="text" id="assessmentTime" name="assessmentTime"
value="${handsOnSimulationTasks.assessmentTime}" class="layui-input">
<input type="text" id="assessmentRequirements" name="assessmentRequirements"
value="${handsOnSimulationTasks.assessmentRequirements}" class="layui-input">
</div>
<div style="display: inline-block;line-height: 60px;vertical-align: middle;">
分钟
</div>
</div>
<div class="layui-inline">
<input type="radio" name="assessmentRequirements" value="女" title="是否弹窗验证是否观看">
<input type="radio" name="assessmentRequirements1" value="女" title="是否弹窗验证是否观看">
</div>
<div class="layui-inline">
<label class="layui-form-label" style="width: 220px">
<input type="radio" name="assessmentRequirements" value="男" title="间隔少分钟出现一次弹窗">
<input type="radio" name="assessmentRequirements2" value="男" title="间隔少分钟出现一次弹窗">
</label>
<div class="layui-input-inline" style="top: 10px">
<input type="text" id="" name="assessmentTime"
@ -187,13 +202,22 @@
</div>
<div class="layui-row">
<div class="layui-form-item" style="margin-left: 20px">
<div class="layui-form-label">考核任务添加文档</div>
<div class="layui-form-label">添加文档</div>
<div class="layui-input-block" style="margin-left: 20px">
<div class="layui-upload">
<button type="button" class="layui-btn layui-btn-primary layui-font-blue" id="test-upload-normal"><i class="layui-icon"></i>点击添加</button>
<button type="button" class="layui-btn layui-btn-primary layui-font-blue" id="upload-normalPPT"><i class="layui-icon"></i>点击添加</button>
<div class="progressCss">
<span type="text" id="namePPT" style="width: 300px"></span>
<span id="sizePPT" style="float: right;"></span>
<div class="layui-progress " lay-showPercent="yes" lay-filter="progressBarPPT"
style="margin-top: 15px; width:300px">
<div class="layui-progress-bar layui-bg-blue" lay-percent="0%"></div>
</div>
</div>
<div class="layui-upload-list">
<img class="layui-upload-img" id="test-upload-normal-img">
<p id="test-upload-demoText"></p>
<span class="layui-upload-img" id="test-upload-normal-img"></span>
<p id="upload-demoTextPPT"></p>
</div>
</div>
</div>
@ -308,11 +332,12 @@
</div>
</div>
<div class="layui-row">
<label class="layui-form-label">考核题目:</label>
<!--<label class="layui-form-label">考核题目:</label>
<div class="layui-input-block">
<button type="button" class="layui-btn bg_button button_add" style="float: left"><i class="layui-icon">&#xe654;</i></button>
</div>
</div>-->
<div class="layui-row">
<label class="layui-form-label">考核题目:</label>
<div class="layui-input-block">
<table class="layui-table" style="width: 60%;min-width: 1000px;">
<colgroup>
@ -397,10 +422,18 @@
<div class="layui-form-label">报告参考模板</div>
<div class="layui-input-block" style="margin-left: 20px">
<div class="layui-upload">
<button type="button" class="layui-btn layui-btn-primary layui-font-blue" id="test-upload-normal"><i class="layui-icon"></i>点击添加</button>
<button type="button" class="layui-btn layui-btn-primary layui-font-blue" id="upload-normalFile"><i class="layui-icon"></i>点击添加</button>
<div class="progressCss">
<span type="text" id="nameFile" style="width: 300px"></span>
<span id="sizeFile" style="float: right;"></span>
<div class="layui-progress " lay-showPercent="yes" lay-filter="progressBarFile"
style="margin-top: 15px; width:300px">
<div class="layui-progress-bar layui-bg-blue" lay-percent="0%"></div>
</div>
</div>
<div class="layui-upload-list">
<img class="layui-upload-img" id="test-upload-normal-img">
<p id="test-upload-demoText"></p>
<p id="upload-demoTextFile"></p>
</div>
</div>
</div>

@ -495,7 +495,6 @@
$(".layui-timeline").css("display","");
$(document).click(function(e){
var target = $(e.target);
console.log(target.closest(".layui-timeline").length);
if(target.closest(".layui-timeline").length == 0 && target.closest(".kcml").length == 0 ){//点击class==rightmenu之外的地方触发
$('.layui-timeline').hide(); //隐藏右键菜单
}

@ -15,8 +15,8 @@
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">批量导入模板下载:</label>
<div class="layui-form-mid layui-word-aux">
<a href="${ctxPath}/jlw/resourcesQuestion/downloadTemplate.json">
<div class="layui-form-mid layui-word-aux" style="cursor: pointer;">
<a id="downloadTemplate">
<i class="iconfont" style="font-size: 30px;color: #1296db;">&#xebc7;</i>下载模板
</a>
</div>
@ -126,6 +126,10 @@
});
}
$("#downloadTemplate").click(function () {
$.downFile(Common.ctxPath + "/jlw/resourcesQuestion/downloadTemplate.json",'题库导入模板.xlsx');
});
$("#addButton").click(function () {
});

@ -15,8 +15,8 @@
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">批量导入模板下载:</label>
<div class="layui-form-mid layui-word-aux">
<a href="${ctxPath}/jlw/student/downloadTemplate.json">
<div class="layui-form-mid layui-word-aux" style="cursor: pointer;">
<a id="downloadTemplate">
<i class="iconfont" style="font-size: 30px;color: #1296db;">&#xebc7;</i>下载模板
</a>
</div>
@ -128,6 +128,10 @@
});
}
$("#downloadTemplate").click(function () {
$.downFile(Common.ctxPath + "/jlw/student/downloadTemplate.json",'学生导入模板.xlsx');
});
$("#addButton").click(function(){
Lib.closeFrame();
});

@ -127,13 +127,8 @@
Lib.doSearchForm($("#searchForm"), resourcesApplicationTable, 1);
},allDel:function (){
var checkStatus = table.checkStatus('resourcesApplicationTable')
,data = checkStatus.data,ids="";
for(var i = 0;i<data.length;i++){
ids += data[i].resourcesApplicationId;
if(i < data.length - 1){
ids += ",";
}
}
,data = checkStatus.data,ids = Common.concatBatchId(data, "studentClientLinkId");
if($.isEmpty(ids)){
layer.msg("请选择需要删除的应用!", {
offset: ['50%'],
@ -152,18 +147,17 @@
}, initTableTool: table.on('tool(resourcesApplicationTable)', function (obj) {
var data = obj.data;
if (obj.event === 'edit') {
var url = "/jlw/resourcesApplication/add.do?resourcesApplicationId="+data.resourcesApplicationId;
var url = "/jlw/studentClientLink/add.do?sign=4&studentClientLinkId="+data.studentClientLinkId;
Common.openDlg(url,"应用管理/编辑应用");
}else if(obj.event === "del"){
deleteInfo(data.resourcesApplicationId);
deleteInfo(data.studentClientLinkId);
}
})
}
function deleteInfo(ids){
layer.confirm('是否确定删除应用?', function (index) {
return;
var ret = Common.postAjax("/jlw/resourcesApplication/delete.json", {ids: ids});
var ret = Common.postAjax("/jlw/studentClientLink/delete.json", {ids: ids});
layer.msg(ret.code == 0 ? "删除成功!" : ret.msg, {
offset: ['50%'],
icon: ret.code == 0 ? 1 : 2,

@ -134,13 +134,8 @@
Lib.doSearchForm($("#searchForm"), resourcesApplicationTable, 1);
},allDel:function (){
var checkStatus = table.checkStatus('resourcesApplicationTable')
,data = checkStatus.data,ids="";
for(var i = 0;i<data.length;i++){
ids += data[i].resourcesApplicationId;
if(i < data.length - 1){
ids += ",";
}
}
,data = checkStatus.data,ids = Common.concatBatchId(data, "studentClientLinkId");
if($.isEmpty(ids)){
layer.msg("请选择需要删除的应用!", {
offset: ['50%'],
@ -159,18 +154,17 @@
}, initTableTool: table.on('tool(resourcesApplicationTable)', function (obj) {
var data = obj.data;
if (obj.event === 'edit') {
var url = "/jlw/resourcesApplication/add.do?resourcesApplicationId="+data.resourcesApplicationId;
var url = "/jlw/studentClientLink/add.do?&sign=5&studentClientLinkId="+data.studentClientLinkId;
Common.openDlg(url,"应用管理/编辑应用");
}else if(obj.event === "del"){
deleteInfo(data.resourcesApplicationId);
deleteInfo(data.studentClientLinkId);
}
})
}
function deleteInfo(ids){
layer.confirm('是否确定删除应用?', function (index) {
return;
var ret = Common.postAjax("/jlw/resourcesApplication/delete.json", {ids: ids});
var ret = Common.postAjax("/jlw/studentClientLink/delete.json", {ids: ids});
layer.msg(ret.code == 0 ? "删除成功!" : ret.msg, {
offset: ['50%'],
icon: ret.code == 0 ? 1 : 2,

@ -96,8 +96,8 @@
{
field : 'operation_',title : '操作',align:"center", templet: function (d) {
var htm = '<button type="button" class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</button>';
htm += '<button type="button" class="layui-btn layui-btn-normal layui-btn-xs" style="background-color: #c2c2c2" lay-event="move">左移</button>';
htm += '<button type="button" class="layui-btn layui-btn-normal layui-btn-xs" style="background-color: #c2c2c2" lay-event="move">右移</button>';
/*htm += '<button type="button" class="layui-btn layui-btn-normal layui-btn-xs" style="background-color: #c2c2c2" lay-event="move">左移</button>';
htm += '<button type="button" class="layui-btn layui-btn-normal layui-btn-xs" style="background-color: #c2c2c2" lay-event="move">右移</button>';*/
return htm;
}
}

@ -105,9 +105,9 @@
{
field : 'operation_',title : '操作',align:"center", templet: function (d) {
var htm = '<button type="button" class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</button>';
htm += '<button type="button" class="layui-btn layui-btn-normal layui-btn-xs" lay-event="top">置顶</button>';
/* htm += '<button type="button" class="layui-btn layui-btn-normal layui-btn-xs" lay-event="top">置顶</button>';
htm += '<button type="button" class="layui-btn layui-btn-xs" style="background-color: #c2c2c2" lay-event="move">左移</button>';
htm += '<button type="button" class="layui-btn layui-btn-xs" style="background-color: #c2c2c2" lay-event="move">右移</button>';
htm += '<button type="button" class="layui-btn layui-btn-xs" style="background-color: #c2c2c2" lay-event="move">右移</button>';*/
return htm;
}
}

@ -15,8 +15,8 @@
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">批量导入模板下载:</label>
<div class="layui-form-mid layui-word-aux">
<a href="${ctxPath}/jlw/teacher/downloadTemplate.json">
<div class="layui-form-mid layui-word-aux" style="cursor: pointer;">
<a id="downloadTemplate">
<i class="iconfont" style="font-size: 30px;color: #1296db;">&#xebc7;</i>
下载模板
</a>
@ -131,6 +131,10 @@
});
}
$("#downloadTemplate").click(function () {
$.downFile(Common.ctxPath + "/jlw/teacher/downloadTemplate.json",'教师导入模板.xlsx');
});
$("#addButton").click(function(){
});

@ -145,7 +145,7 @@
Common.openDlg(url,"");
},export: function () {//导出 /jlw/student/studentLogListExport.json
layer.confirm('是否确定导出统计报表吗?', function (index) {
window.open(Common.ctxPath + "/jlw/student/studentLogAnalysisListExport.json");
$.downFile(Common.ctxPath + "/jlw/student/studentLogAnalysisListExport.json");
layer.close(index);
});
}

@ -210,7 +210,7 @@
Common.openDlg(url,"");
}, export: function () {//导出 /jlw/student/studentLogListExport.json
layer.confirm('是否确定导出登录日志吗?', function (index) {
window.open(Common.ctxPath + "/jlw/student/studentLoginLogListExport.json");
$.downFile(Common.ctxPath + "/jlw/student/studentLoginLogListExport.json");
layer.close(index);
});
}

@ -207,7 +207,7 @@
Common.openDlg(url,"");
},export:function () {//导出 /jlw/student/studentLogListExport.json
layer.confirm('是否确定导出使用日志表吗?', function (index) {
window.open(Common.ctxPath + "/jlw/student/studentUseLogListExport.json");
$.downFile(Common.ctxPath + "/jlw/student/studentUseLogListExport.json");
layer.close(index);
});
}

@ -1,4 +1,21 @@
<!--#layout("/common/layout.html",{"jsBase":"/js/jlw/teacherOpenCourseMergeSchoolClass/"}){ -->
<style>
.layui-table a {
margin-right: 10px;
}
.textType {
border: 1px solid #0f9cfd;
color: #0f9cfd;
border-radius: 5px;
padding: 3px
}
.textType2 {
border: 1px solid #919191;
color: #919191;
border-radius: 5px;
padding: 3px
}
</style>
<layui:searchForm formId="searchForm" searchList="" condition="${search}">
<div class="layui-inline">
<label class="layui-form-label">课程名称</label>

@ -1,20 +1,21 @@
<!--#layout("/common/layout.html",{"jsBase":"/js/jlw/teacherOpenCourseStudentSigninSetting/"}){ -->
<div class="layui-inline" id="view"></div>
<div class="layui-row" id="view"></div>
<script type="text/html" id="demo">
<h2>签到汇总:【
<h2 style="float: left">签到汇总:【
合计签到次数:{{d.totalSigninCount}}次;
合计签到人数:{{d.totalSigninNumber}}人;
合计缺勤:{{d.totalUnSigninNumber}}人;
合计到课率:{{d.totalAttendanceRate}}%
</h2>
<div class="layui-inline" style="float: right;">
<layui:accessButton function="teacherOpenCourseStudentSigninSetting.query" action="export"><span
class="iconfont">&#xe8c7;</span>导出</layui:accessButton>
<layui:accessButton function="teacherOpenCourseStudentSigninSetting.query" class="layui-btn-primary"
action="addButton_cancel"><span class="iconfont">&#xe600;</span>返回</layui:accessButton>
</div>
</script>
<div class="layui-inline" style="float: right">
<layui:accessButton function="teacherOpenCourseStudentSigninSetting.query" action="export"><span
class="iconfont">&#xe8c7;</span>导出</layui:accessButton>
<layui:accessButton function="teacherOpenCourseStudentSigninSetting.query" class="layui-btn-primary"
action="addButton_cancel"><span class="iconfont">&#xe600;</span>返回</layui:accessButton>
</div>
<table id="teacherOpenCourseStudentSigninSettingTable" lay-filter="teacherOpenCourseStudentSigninSettingTable"></table>
<input type="hidden" name="teacherOpenCourseId" value="${teacherOpenCourseId}" />

Loading…
Cancel
Save