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

beetlsql3-dev
wgf 2 years ago
commit c2e9bb81db

@ -14,10 +14,14 @@ import com.ibeetl.admin.core.util.TimeTool;
import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.jlw.entity.TeacherOpenCourseHandsOn;
import com.ibeetl.jlw.entity.TeacherOpenCourseHandsOnList;
import com.ibeetl.jlw.entity.TeacherOpenCourseHandsOnSimulationTasks;
import com.ibeetl.jlw.entity.vo.StudentHandsOnVO;
import com.ibeetl.jlw.service.HandsOnSimulationTasksService;
import com.ibeetl.jlw.service.TeacherOpenCourseHandsOnService;
import com.ibeetl.jlw.service.TeacherOpenCourseHandsOnSimulationTasksService;
import com.ibeetl.jlw.web.query.GetHandsOnListParam;
import com.ibeetl.jlw.web.query.TeacherOpenCourseHandsOnQuery;
import com.ibeetl.jlw.web.query.TeacherOpenCourseHandsOnSimulationTasksQuery;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@ -59,6 +63,8 @@ public class TeacherOpenCourseHandsOnController{
@Autowired private TeacherOpenCourseHandsOnService teacherOpenCourseHandsOnService;
@Autowired private HandsOnSimulationTasksService handsOnSimulationTasksService;
@Autowired private TeacherOpenCourseHandsOnSimulationTasksService teacherOpenCourseHandsOnSimulationTasksService;
@Autowired FileService fileService;
@ -195,7 +201,12 @@ public class TeacherOpenCourseHandsOnController{
public ModelAndView edit(Long handsOnId) {
ModelAndView view = new ModelAndView("/jlw/teacherOpenCourseHandsOn/edit.html");
TeacherOpenCourseHandsOn teacherOpenCourseHandsOn = teacherOpenCourseHandsOnService.queryById(handsOnId);
TeacherOpenCourseHandsOnSimulationTasksQuery tasksQuery = new TeacherOpenCourseHandsOnSimulationTasksQuery();
tasksQuery.setTeacherOpenCourseId(teacherOpenCourseHandsOn.getTeacherOpenCourseId());
List<TeacherOpenCourseHandsOnSimulationTasks> tocTasks = teacherOpenCourseHandsOnSimulationTasksService.getValuesByQueryNotWithPermission(tasksQuery);
view.addObject("teacherOpenCourseHandsOn", teacherOpenCourseHandsOn);
view.addObject("handsOnSimulationTasks", tocTasks);
return view;
}

@ -453,3 +453,12 @@ getValuesByQueryNotPermission
@if(!isEmpty(addTime)){
and t.add_time =#addTime#
@}
queryObjectByHandsOnIds
===
* 根据开课ID查询
select * from hands_on_simulation_tasks t
where t.hands_on_id in( #join(handsOnIds)#)

@ -3,6 +3,7 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) {
var laydate = layui.laydate;
var table = layui.table;
var courseInfoTable = null;
var isAdmin = $("#isAdmin").val()=='true'?true:false;
var view ={
init:function(){
this.initTable();
@ -45,12 +46,10 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) {
title : '创建时间',align:"center"
},
{
field : 'userId',title : '课程来源',align:"center", templet: function (d) {
if(d.userId == null || d.userId == 1) {
return '系统授权'
} else {
return '院校添加'
}
field : 'sourceType',title : '课程来源',align:"center", templet: function (d) {
let htm = "";
htm = d.sourceType == 1?"院校添加":d.sourceType == 2?"系统内置":'';
return htm;
}
},
{
@ -69,7 +68,12 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) {
var htm = '<a class="layui-table-link" lay-event="courseConfigure">课程配置</a>';
htm += '<a class="layui-table-link" lay-event="editStatus">'+(d.courseInfoStatus == 1?"禁用":"启用")+'</a>';
htm += '<a class="layui-table-link" lay-event="edit">编辑</a>';
htm += '<a class="layui-table-link" lay-event="del">删除</a>';
htm += '<a class="layui-table-link" lay-event="del">删除</a>';;
if(!$.isEmpty(d.sourceType)){
if(!((d.sourceType == 1 && !isAdmin)||(d.sourceType == 2 && isAdmin))){
htm = '<a class="layui-table-link" lay-event="edit">查看</a>';
}
}
return htm;
}
}

@ -72,9 +72,13 @@ layui.define(['form', 'laydate', 'table'], function (exports) {
}, {
field: 'handsOnStatus', width: 80,
title: '状态', align: "center", templet: function (d) {
return d.handsOnStatus === 1
? '<span class="layui-badge layui-bg-green" style="background-color: #abd5ff !important; color: #088eed!important">已上架</span>'
: '<span class="layui-badge layui-bg-gray" style="background-color: #dadada !important; color: #6c6c6c!important">已下架</span>'
var htm = "";
if(d.dataType == 'ADMIN_ADD'){
htm = d.handsOnStatus === 1
? '<span class="layui-badge layui-bg-green" style="background-color: #abd5ff !important; color: #088eed!important">已上架</span>'
: '<span class="layui-badge layui-bg-gray" style="background-color: #dadada !important; color: #6c6c6c!important">已下架</span>';
}
return htm;
}
}, {
field: 'operation_',
@ -83,8 +87,12 @@ layui.define(['form', 'laydate', 'table'], function (exports) {
width: 260,
templet: function (d) {
var css = isAdmin? "" : "display: none;";
var htm = '<div style="text-align:left"><a class="layui-table-link" lay-event="up" data-item="${JSON.stringify(d)}" >上架</a>';
htm += '<a class="layui-table-link" lay-event="drown" data-item="${JSON.stringify(d)}" style="color: #bebebe!important">下架</a>';
var htm = '';
if(d.dataType == 'ADMIN_ADD'){
htm += '<div style="text-align:left"><a class="layui-table-link" lay-event="up" data-item="${JSON.stringify(d)}" >上架</a>'
+ '<a class="layui-table-link" lay-event="drown" data-item="${JSON.stringify(d)}" style="color: #bebebe!important">下架</a>';
}
// htm += '<a class="layui-table-link" lay-event="edit"style="' + css + '">编辑</a>';
htm += '<a class="layui-table-link" lay-event="edit">'+ ((d.dataType == 'FACULTY_ADD' && !isAdmin)||(d.dataType == 'ADMIN_ADD' && isAdmin)?'编辑':'查看')+'</a>';
if((d.dataType == 'FACULTY_ADD' && !isAdmin)||(d.dataType == 'ADMIN_ADD' && isAdmin)){
@ -99,9 +107,11 @@ layui.define(['form', 'laydate', 'table'], function (exports) {
});
table.on('checkbox(handsOnTable)', function (obj) {
/*课程实操上方的上架和下架做功能全选*/
var handsOn = obj.data;
if (obj.checked) {
//按钮逻辑Lib.buttonEnable()
console.log(handsOn)
} else {
}

@ -3,6 +3,8 @@ layui.define(['form', 'laydate', 'table'], function (exports) {
var laydate = layui.laydate;
var table = layui.table;
var resourcesQuestionTable = null;
var isAdmin = $("#isAdmin").val() === "true"?true:false;
var view = {
init: function () {
this.initTable();
@ -49,10 +51,10 @@ layui.define(['form', 'laydate', 'table'], function (exports) {
field: 'addTypeText',
title: '题库来源', align: "center"
},
{
/*{
field: 'orgIdText',
title: '上传院校', align: "center"
},
},*/
{
field: 'questionStatus', width: 80,
title: '状态', align: "center", templet: function (d) {
@ -63,15 +65,21 @@ layui.define(['form', 'laydate', 'table'], function (exports) {
},
{
field: 'userId', title: '操作', align: "center", width: 220, templet: function (d) {
var css = $("#isAdmin").val() === "true" ? "" : "display: none;";
var cssN = $("#isAdmin").val() === "true" ? "display: none;" : "";
var css = isAdmin ? "" : "display: none;";
var cssN = isAdmin ? "display: none;" : "";
let htm = '<a class="layui-table-link" lay-event="up" data-item="${JSON.stringify(d)}" >上架</a>\n' +
'<a class="layui-table-link" lay-event="down" data-item="${JSON.stringify(d)}" style="color: #bebebe!important">下架</a>';
if((d.addType == 'FACULTY_ADD' && !isAdmin)||(d.addType == 'ADMIN_ADD' && isAdmin)){
htm += '<a class="layui-table-link" lay-event="edit" style="' + css + '">编辑</a>\n' +
// TODO 上下架前端逻辑待开发
return '<a class="layui-table-link" lay-event="up" data-item="${JSON.stringify(d)}" >上架</a>\n' +
'<a class="layui-table-link" lay-event="down" data-item="${JSON.stringify(d)}" style="color: #bebebe!important">下架</a>\n' +
'<a class="layui-table-link" lay-event="edit" style="' + css + '">编辑</a>\n' +
'<a class="layui-table-link" lay-event="edit" style="' + cssN + '">查看</a>\n' +
'<a class="layui-table-link" lay-event="del" style="' + css + '">删除</a>';
}else{
htm += '<a class="layui-table-link" lay-event="edit" style="' + cssN + '">查看</a>';
}
// TODO 上下架前端逻辑待开发
return htm;
}
}

@ -67,24 +67,24 @@ layui.define([ 'form', 'laydate', 'table','laytpl','upload','layedit','teacherOp
$(".button_add").click(() => {
handsOnId = $("#updateForm input[name='handsOnId']").val();
if (!$.isEmpty(handsOnId)){
var url = "/jlw/handsOnSimulationTasks/add.do?handsOnId="+handsOnId+'&courseInfoId='+teacherOpenCourseId;
Common.openDlg(url);
}
});
if (!$.isEmpty(handsOnId)){
var url = "/jlw/teacherOpenCourseHandsOnSimulationTasks/add.do?handsOnId="+handsOnId+'&courseInfoId='+teacherOpenCourseId;
Common.openDlg(url);
}
});
//实训任务编辑
$(".bj").click(edit_simu)
function edit_simu(){
var taskId = $(this).attr("taskid");
var url = "/jlw/handsOnSimulationTasks/add.do?taskId="+taskId + "&handsOnId="+handsOnId;
var url = "/jlw/teacherOpenCourseHandsOnSimulationTasks/add.do?taskId="+taskId + "&handsOnId="+handsOnId;
Common.openDlg(url,"");
}
//实训任务删除
$(".sc").click(del_simu)
function del_simu(){
var taskId = $(this).attr("taskid");
var ret = Common.postAjax("/jlw/handsOnSimulationTasks/delete.json",{ids:taskId})
var ret = Common.postAjax("/jlw/teacherOpenCourseHandsOnSimulationTasks/delete.json",{ids:taskId})
if (ret.code == 0) {
$(this).parent().parent().remove()
}
@ -94,7 +94,7 @@ layui.define([ 'form', 'laydate', 'table','laytpl','upload','layedit','teacherOp
});
function getListInfo(){ //获取
var ret = Common.postAjax("/api/handsOnSimulationTasks/getPageList.do",{handsOnId:$("#updateForm input[name='handsOnId']").val()})
var ret = Common.postAjax("/api/teacherOpenCourseHandsOnSimulationTasks/getPageList.do",{handsOnId:$("#updateForm input[name='handsOnId']").val()})
if (ret.code == 0) {
var getTpl = sc_demo.innerHTML
,view = document.getElementById('sc_view');

@ -26,30 +26,36 @@ layui.define(['form', 'laydate', 'table'], function (exports) {
cols: [[ // 表头
{
type: 'checkbox',
align: "center",
fixed: 'left',
},
// {
// field : 'universitiesCollegesName',
//align: "center",
// title : '院校名称',
// },
{
field: 'courseInfoName',
align: "center",
title: '课程名称',
},
{
field: 'courseLabelType',
align: "center",
title: '课程类别',
},
{
field: 'courseLabelName',
align: "center",
title: '课程标签',
},
{
field: 'type',
align: "center",
title: '课程来源',
templet: function (d) {
if (d.type == 2) {
return '系统授权'
return '系统内置'
} else {
return '院校添加'
}
@ -57,6 +63,7 @@ layui.define(['form', 'laydate', 'table'], function (exports) {
},
{
field: 'useType',
align: "center",
title: '使用级别',
templet: function (d) {
var typeMap = {
@ -70,6 +77,7 @@ layui.define(['form', 'laydate', 'table'], function (exports) {
},
{
field: 'useStartTime',
align: "center",
title: '开始时间',
templet: function (d) {
return d.useStartTime ? d.useStartTime : '-'
@ -77,6 +85,7 @@ layui.define(['form', 'laydate', 'table'], function (exports) {
},
{
field: 'useEndTime',
align: "center",
title: '结束时间',
templet: function (d) {
return d.useEndTime ? d.useEndTime : '-'
@ -84,6 +93,7 @@ layui.define(['form', 'laydate', 'table'], function (exports) {
},
{
field: '_endStatus_',
align: "center",
title: '到期状态',
templet: function (d) {
// 默认在用,会有一些课程,在清单中,但不属于授权的
@ -100,6 +110,7 @@ layui.define(['form', 'laydate', 'table'], function (exports) {
},
{
field: 'addTime',
align: "center",
title: '添加时间',
}
]]

@ -1,8 +1,13 @@
<!--# layout("/common/layout.html",{"jsBase":"/js/jlw/courseInfo/"}){ -->
<link rel="stylesheet" type="text/css" href="${ctxPath}/css/plugin.css?v=${jsVer}" media="all"/>
<form class="layui-form" id="addForm">
<div style="margin-left: 80px;">
<!--<div style="margin-left: 80px;">
<layui:submitButtons id="addButton" buttonType="" />
</div>-->
<div class="layui-row" style="margin: 0 auto;">
<a class="layui-btn layui-btn-primary" id="addButton-cancel" style="margin-bottom: 10px;padding: 0 30px;">返回</a>
<a class="layui-btn bg_button" id="addButton"
style="${user.get().isAdmin ? 'margin-bottom: 10px;padding: 0 28px;':'display: none;'}">确定</a>
</div>
<div class="layui-row" style="margin-left: 80px;">
<div class="layui-form-item">

@ -27,10 +27,10 @@ type="course_label.course_label_name.course_label_status=1,${user.get().isAdmin
<div class="layui-inline">
<label class="layui-form-label">课程来源:</label>
<div class="layui-input-inline">
<select name="originStatus" lay-verify="required">
<option value=""></option>
<option value="1">系统内置</option>
<option value="0">xx</option>
<select name="sourceType" lay-verify="required">
<option value="">全选</option>
<option value="2">系统内置</option>
<option value="1">院校添加</option>
</select>
</div>
</div>
@ -44,6 +44,8 @@ type="course_label.course_label_name.course_label_status=1,${user.get().isAdmin
</div>
<table id="courseInfoTable" lay-filter="courseInfoTable"></table>
<input type="hidden" id="isAdmin" value="${user.get().isAdmin!false}"/>
<!--#} -->
<script>

@ -35,9 +35,12 @@
<div class="layui-inline">
<label class="layui-form-label">归属章节:</label>
<div class="layui-input-block">
<layui:simpleDictSelect style='layui-input-inline' laySearch="lay-search"
type="course_info.course_info_name.course_info_status=1,course_info_type=2"
id="courseChildNode" name="courseChildNode" layFilter="select_courseInfoIds_"/>
<!--#//<layui:simpleDictSelect style='layui-input-inline' laySearch="lay-search"-->
<!--#//type="course_info.course_info_name.course_info_status=1,course_info_type=2"-->
<!--#//id="courseChildNode" name="courseChildNode" layFilter="select_courseInfoIds_"/>-->
<select name="courseChildNode" id="courseChildNode" lay-filter="select_courseInfoIds_">
<option value="">请选择</option>
</select>
</div>
</div>

@ -24,7 +24,7 @@
<!--#// 查询授权的课程列表。自动根据身份判断 -->
<!--#if(user.get().isAdmin){ -->
<!--#// 查询授权的课程列表。自动根据身份判断 isSignRole.get()!'' :1admin+管理员 2:uniAdmin学院管理员 3:teacher 4student-->
<!--#layout("/common/courseInfoSelect.html",{"name":"courseInfoId_0", "id": "courseInfoIds", "isShowGroupName": "true"}) {} -->
<!--#layout("/common/courseInfoSelect.html",{"name":"courseInfoId_0", "id": "courseInfoIds", "isShowGroupName": "true","filterName": "应用课程类,理论课程类,考证课程类"}) {} -->
<!--#}else{ -->
<!--#layout("/common/courseInfoSelect.html",{"name":"courseInfoId_0", "id": "courseInfoIds", "isShowGroupName": "true","filterName": "理论课程类,开课类"}) {} -->
@ -34,9 +34,12 @@
<div class="layui-inline">
<label class="layui-form-label">归属章节:</label>
<div class="layui-input-block">
<layui:simpleDictSelect style='layui-input-inline' laySearch="lay-search"
type="course_info.course_info_name.course_info_status=1,course_info_type=2"
id="courseInfoId1" name="courseInfoId_1" layFilter="select_courseInfoIds_"/>
<!--#//<layui:simpleDictSelect style='layui-input-inline' laySearch="lay-search"-->
<!--#//type="course_info.course_info_name.course_info_status=1,course_info_type=2"-->
<!--#//id="courseInfoId1" name="courseInfoId_1" layFilter="select_courseInfoIds_"/>-->
<select name="courseInfoId_1" lay-filter="select_courseInfoIds_">
<option value="">请选择</option>
</select>
</div>
</div>
</layui:searchForm>

@ -63,43 +63,49 @@
<div class="layui-inline">
<label class="layui-form-label">章目录筛选:</label>
<div class="layui-input-block">
<layui:simpleDictSelect style='layui-input-inline' laySearch="lay-search"
type="course_info.course_info_name.course_info_status=1,course_info_type=2"
id="courseChildNode" name="courseInfoId_1" layFilter="select_courseInfoIds_Node"/>
<!--#//<layui:simpleDictSelect style='layui-input-inline' laySearch="lay-search"-->
<!--#//type="course_info.course_info_name.course_info_status=1,course_info_type=2"-->
<!--#//id="courseChildNode" name="courseInfoId_1" layFilter="select_courseInfoIds_Node"/>-->
<select id="courseChildNode" name="courseInfoId_1" lay-filter="select_courseInfoIds_Node">
<option value="">请选择</option>
</select>
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">节目录筛选:</label>
<div class="layui-input-block">
<layui:simpleDictSelect style='layui-input-inline' laySearch="lay-search"
type="course_info.course_info_name.course_info_status=1,course_info_type=3"
id="courseChildNodeNode" name="courseInfoId_2"/>
<!--#//<layui:simpleDictSelect style='layui-input-inline' laySearch="lay-search"-->
<!--#//type="course_info.course_info_name.course_info_status=1,course_info_type=3"-->
<!--#//id="courseChildNodeNode" name="courseInfoId_2"/>-->
<select id="v" name="courseInfoId_2">
<option value="">请选择</option>
</select>
</div>
</div>
<div class="layui-inline">
<!--<div class="layui-inline">
<label class="layui-form-label">资源来源:</label>
<div class="layui-input-block">
<input type="text" name="addTypeText" class="layui-input" >
</div>
</div>
</div>-->
<!--#if(user.get().isAdmin){ -->
<!--<div class="layui-inline">
<div class="layui-inline">
<label class="layui-form-label">资源来源:</label>
<div class="layui-input-block">
<input type="text" name="addTypeText" class="layui-input" >
</div>
</div>-->
</div>
<!--#}else{ -->
<!--<div class="layui-inline">
<div class="layui-inline">
<label class="layui-form-label">资源来源:</label>
<div class="layui-input-block">
<select name="sourceType" lay-filter="selectHandsOnFrom">
<option value="">请选择</option>
<option value="">全选</option>
<option value="2">系统内置</option>
<option value="1">院校添加</option>
</select>
</div>
</div>-->
</div>
<!--#} -->
</layui:searchForm>

@ -39,11 +39,34 @@
<div class="layui-inline">
<label class="layui-form-label">归属章节:</label>
<div class="layui-input-block">
<layui:simpleDictSelect style='layui-input-inline' laySearch="lay-search"
type="course_info.course_info_name.course_info_status=1,course_info_type=2"
id="courseInfoId1" name="courseInfoId_1" layFilter="select_courseInfoIds_"/>
<select name="courseInfoId_1" lay-filter="select_courseInfoIds_">
<option value="">请选择</option>
</select>
<!--#//<layui:simpleDictSelect style='layui-input-inline' laySearch="lay-search"-->
<!--#//type="course_info.course_info_name.course_info_status=1,course_info_type=2"-->
<!--#//id="courseInfoId1" name="courseInfoId_1" layFilter="select_courseInfoIds_"/>-->
</div>
</div>
<!--#if(user.get().isAdmin){ -->
<div class="layui-inline">
<label class="layui-form-label">试题来源:</label>
<div class="layui-input-block">
<input type="text" name="addTypeText" class="layui-input" >
</div>
</div>
<!--#}else{ -->
<div class="layui-inline">
<label class="layui-form-label">试题来源:</label>
<div class="layui-input-block">
<select name="addType" lay-filter="selectHandsOnFrom">
<option value="">请选择</option>
<option value="ADMIN_ADD">系统内置</option>
<option value="FACULTY_ADD">院校添加</option>
</select>
</div>
</div>
<!--#} -->
</layui:searchForm>
<div class="layui-btn-group">

@ -24,7 +24,7 @@
<!--#// 查询授权的课程列表。自动根据身份判断 -->
<!--#if(user.get().isAdmin){ -->
<!--#// 查询授权的课程列表。自动根据身份判断 isSignRole.get()!'' :1admin+管理员 2:uniAdmin学院管理员 3:teacher 4student-->
<!--#layout("/common/courseInfoSelect.html",{"name":"courseInfoId_0", "id": "courseInfoIds", "isShowGroupName": "true"}) {} -->
<!--#layout("/common/courseInfoSelect.html",{"name":"courseInfoId_0", "id": "courseInfoIds", "isShowGroupName": "true","filterName": "应用课程类,理论课程类,考证课程类"}) {} -->
<!--#}else{ -->
<!--#layout("/common/courseInfoSelect.html",{"name":"courseInfoId_0", "id": "courseInfoIds", "isShowGroupName": "true","filterName": "理论课程类,开课类"}) {} -->
@ -33,9 +33,12 @@
<div class="layui-inline">
<label class="layui-form-label">归属章节:</label>
<div class="layui-input-block">
<layui:simpleDictSelect style='layui-input-inline' laySearch="lay-search"
type="course_info.course_info_name.course_info_status=1,course_info_type=2"
id="courseInfoId1" name="courseInfoId_1" layFilter="select_courseInfoIds_"/>
<!--#//<layui:simpleDictSelect style='layui-input-inline' laySearch="lay-search"-->
<!--#//type="course_info.course_info_name.course_info_status=1,course_info_type=2"-->
<!--#//id="courseInfoId1" name="courseInfoId_1" layFilter="select_courseInfoIds_"/>-->
<select name="courseInfoId_1" lay-filter="select_courseInfoIds_">
<option value="">请选择</option>
</select>
</div>
</div>
</layui:searchForm>

@ -20,7 +20,7 @@
<select name="sourceType">
<option value="">全部</option>
<option value="1">院校添加</option>
<option value="2">超管授权</option>
<option value="2">系统内置</option>
</select>
</div>
</div>

Loading…
Cancel
Save