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

beetlsql3-dev
Mlxa0324 2 years ago
commit 9e9ebfc0e4

@ -31,7 +31,7 @@ layui.define([ 'form', 'laydate', 'table','roleApi'], function(exports) {
loadDataAccessByRole:function(roleId){
$("#dataAccess").load(Common.ctxPath+"/admin/role/function/dataAccess.do?roleId="+roleId,{},function(){
form.render();
`form.render();`
form.on('select', function(data){
var dom = data.elem;
var fnId = $(dom).data("id");

@ -1,5 +1,6 @@
package com.ibeetl.admin.core.conf;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.ibeetl.admin.core.rbac.DataAccessFactory;
import com.ibeetl.admin.core.service.CorePlatformService;
@ -230,6 +231,15 @@ public class BeetlConf {
}
return null;
});
//json字符串转数组
groupTemplate.registerFunction("JsonString", (paras, ctx) -> {
String key = (String)paras[0];
if(key!=null) {
return JSONObject.parse(key);
}
return new ArrayList<String>();
});
}
};
}

@ -940,7 +940,7 @@ var Lib = {
onchange : function() {
// console.log(this.getMarkdown());
//console.log("onchange =>", this, this.id, this.settings, this.state);
if(this.id == "resourcesCompetitionStepQuestion" || this.id == "resourcesTrainingStepQuestion"){
if(this.id == "resourcesCompetitionStepQuestion" || this.id == "resourcesTrainingStepQuestion" || this.id == "test-editor"){
// console.log(this.getMarkdown());
loadYl();
}
@ -1069,6 +1069,13 @@ var Lib = {
}
return newStr;
},
chineseNum:function (index,tag) {
let info = ["一","二","三","四","五","六","七","八","九","十","十一","十二","十三","十四","十五"];
if(tag == 1){
info = ["①","②","③","④","⑤","⑥","⑦","⑧","⑨","⑩","⑪","⑫","⑬","⑭","⑮","⑯","⑰","⑱","⑲","⑳"];
}
return info[index];
},
/**
* @param this_ 表this
* @param cacheList table.cache[]

@ -100,7 +100,9 @@ public class HandsOnSimulationTasksController{
public ModelAndView add(Long taskId, Long handsOnId,Long courseInfoId) {
ModelAndView view = new ModelAndView("/jlw/handsOnSimulationTasks/add.html");
if(null != taskId){
HandsOnSimulationTasks handsOnSimulationTasks = handsOnSimulationTasksService.queryById(taskId);
HandsOnSimulationTasksQuery param = new HandsOnSimulationTasksQuery();
param.setTaskId(taskId);
HandsOnSimulationTasks handsOnSimulationTasks = handsOnSimulationTasksService.getInfo(param);
handsOnSimulationTasks.setHandsOnId(handsOnId);
view.addObject("handsOnSimulationTasks", handsOnSimulationTasks);
}else {

@ -1,9 +1,10 @@
layui.define(['form', 'laydate', 'table','upload','layedit', 'handsOnApi'], function (exports) {
layui.define(['form', 'laydate', 'table','laytpl','upload','layedit', 'handsOnApi'], function (exports) {
var form = layui.form;
var handsOnApi = layui.handsOnApi;
var index = layui.index;
var upload = layui.upload;
var layedit = layui.layedit;
var laytpl = layui.laytpl
// var editor3 = Lib.editorMd("test-editor");
// editor3.setToolbarAutoFixed(false);
layedit.set({ //富文本上传图片
@ -12,6 +13,10 @@ layui.define(['form', 'laydate', 'table','upload','layedit', 'handsOnApi'], func
imgUrl:Common.ctxPath
}
});
window.loadList = function (){//重新加载实训任务列表
getListInfo();
}
var handsOnId = $("input[name='handsOnId']").val();
var courseInfoId_ = $("input[name='courseInfoId_']").val();
if(!$.isEmpty(handsOnId)){
@ -56,22 +61,19 @@ layui.define(['form', 'laydate', 'table','upload','layedit', 'handsOnApi'], func
return
}
//数据集
var fileName = ""; //文件名
var imgFile = ""; //文件路径
var trainingData = [];
$("#demoList tr").each(function (i) {
fileName += $(this).find("input[name='fileName']").val();
imgFile += $(this).find("input[name='imgFile']").val();
if (i < $("#demoList tr").length - 1) {
fileName += "?";
imgFile += "?";
}
var fileName = $(this).find("input[name='fileName']").val();
var imgFile = $(this).find("input[name='imgFile']").val();
trainingData.push({
name:fileName,
url:imgFile
});
});
if (!$.isEmpty(fileName) && !$.isEmpty(imgFile)) {
$("#addForm input[name='trainingData']").val(imgFile + "||" + fileName); //写入form表单
} else {
$("#addForm input[name='trainingData']").val(""); //写入form表单
}
var param = $("#addForm").serializeJson();
if(trainingData.length > 0){ //数据集大于O时
param.trainingData = JSON.stringify(trainingData);
}
param.handsOnRecommend = layedit.getContent(one);
handsOnId = $("#addForm input[name='handsOnId']").val();
var url = "/jlw/handsOn/add.json";
@ -86,8 +88,12 @@ layui.define(['form', 'laydate', 'table','upload','layedit', 'handsOnApi'], func
}, function () {
layer.closeAll("loading");
if (ret.code == 0) {
if ($.isEmpty(handsOnId)) {
$("#addForm input[name='handsOnId']").val(ret.data); //实训ID
$("#handsOnSimulationTasks").show();
}
parent.Lib.tableRefresh();
Lib.closeFrame();
// Lib.closeFrame();
}
});
});
@ -103,59 +109,11 @@ layui.define(['form', 'laydate', 'table','upload','layedit', 'handsOnApi'], func
Lib.getCourseInfo($("select[name='courseChildNode']"), obj.value);
});
$(".button_add").click(() => {
if ($.isEmpty(handsOnId)) {
//保存校验
var courseInfoIds = $("#courseInfoIds").val();
var courseChildNode = $("select[name='courseChildNode']").val();
var handsOnName = $("#handsOnName").val();
var oneContent = layedit.getContent(one);
if ($.isEmpty(courseInfoIds)) {
layer.msg('归属课程必填', {icon: 5})
return
}
if ($.isEmpty(courseChildNode)) {
layer.msg('归属章节必填', {icon: 5})
return
}
if ($.isEmpty(handsOnName)) {
layer.msg('案例名称必填', {icon: 5})
return
}
if ($.isEmpty(oneContent)) {
layer.msg('案例介绍必填', {icon: 5})
return
}
//数据集
var fileName = ""; //文件名
var imgFile = ""; //文件路径
$("#demoList tr").each(function (i) {
fileName += $(this).find("input[name='fileName']").val();
imgFile += $(this).find("input[name='imgFile']").val();
if (i < $("#demoList tr").length - 1) {
fileName += "?";
imgFile += "?";
}
});
if (!$.isEmpty(fileName) && !$.isEmpty(imgFile)) {
$("#addForm input[name='trainingData']").val(imgFile + "||" + fileName); //写入form表单
} else {
$("#addForm input[name='trainingData']").val(""); //写入form表单
}
var param = $("#addForm").serializeJson();
param.handsOnRecommend = layedit.getContent(one);
handsOnId = $("#addForm input[name='handsOnId']").val();
var url = "/jlw/handsOn/add.json";
if (!$.isEmpty(handsOnId)) {
url = "/jlw/handsOn/edit.json";
}
var ret = Common.postAjax(url,param);
if (ret.code == 0) {
handsOnId = ret.data;
$("#addForm input[name='handsOnId']").val(handsOnId)
}
handsOnId = $("#addForm input[name='handsOnId']").val();
if (!$.isEmpty(handsOnId)){
var url = "/jlw/handsOnSimulationTasks/add.do?handsOnId="+handsOnId+'&courseInfoId='+courseInfoId_;
Common.openDlg(url);
}
var url = "/jlw/handsOnSimulationTasks/add.do?handsOnId="+handsOnId+'&courseInfoId='+courseInfoId_;
Common.openDlg(url,"实训任务管理>新增");
});
//实训任务编辑
$(".bj").click(edit_simu)
@ -163,7 +121,7 @@ layui.define(['form', 'laydate', 'table','upload','layedit', 'handsOnApi'], func
function edit_simu(){
var taskId = $(this).attr("taskid");
var url = "/jlw/handsOnSimulationTasks/add.do?taskId="+taskId + "&handsOnId="+handsOnId;
Common.openDlg(url,"实训任务管理>编辑");
Common.openDlg(url,"");
}
//实训任务删除
$(".sc").click(del_simu)
@ -176,6 +134,21 @@ layui.define(['form', 'laydate', 'table','upload','layedit', 'handsOnApi'], func
}
$(".uploader-file-cancel").click(function () {
$(this).parent().parent().remove()
})
});
function getListInfo(){ //获取
var ret = Common.postAjax("/api/handsOnSimulationTasks/getPageList.do",{handsOnId:$("#addForm input[name='handsOnId']").val()})
if (ret.code == 0) {
var getTpl = sc_demo.innerHTML
,view = document.getElementById('sc_view');
laytpl(getTpl).render({list:ret.data}, function(html){
view.innerHTML = html;
$(".bj").unbind();
$(".sc").unbind();
$(".bj").click(edit_simu);
$(".sc").click(del_simu);
});
}
}
exports('add', view);
});

@ -3,6 +3,9 @@ layui.define(['form', 'laydate', 'table'], function (exports) {
var laydate = layui.laydate;
var table = layui.table;
var handsOnTable = null;
window.loadList = function (){//重新加载实训任务列表
console.log("进入了index页面")
}
var view = {
init: function () {
var that = this
@ -153,8 +156,10 @@ layui.define(['form', 'laydate', 'table'], function (exports) {
});
});
} else if (obj.event === "addTask") {//添加任务
var url = "/jlw/handsOn/add.do?handsOnId=" + data.handsOnId+'&sign=1';
Common.openDlg(url, "课程实训案例管理>新增课程实训案例>添加实训任务");
// var url = "/jlw/handsOn/add.do?handsOnId=" + data.handsOnId+'&sign=1';
// Common.openDlg(url, "课程实训案例管理>新增课程实训案例>添加实训任务");
var url = "/jlw/handsOnSimulationTasks/add.do?handsOnId="+data.handsOnId+'&courseInfoId='+data.courseInfoId;
Common.openDlg(url);
}else if (obj.event === "up") {
upDrown("1",data.handsOnId);
} else if (obj.event === "drown") {

@ -1,5 +1,6 @@
layui.define([ 'form', 'laydate', 'table','element','handsOnSimulationTasksApi', 'upload', 'layedit','layer','table'], function(exports) {
layui.define([ 'form','laytpl', 'laydate', 'table','element','handsOnSimulationTasksApi', 'upload', 'layedit','layer','table'], function(exports) {
var form = layui.form;
var laytpl = layui.laytpl;
var handsOnSimulationTasksApi = layui.handsOnSimulationTasksApi;
var index = layui.index;
var element = layui.element, upload = layui.upload, layedit = layui.layedit
@ -11,9 +12,48 @@ layui.define([ 'form', 'laydate', 'table','element','handsOnSimulationTasksApi',
var resourcesQuestionTable =null;
var resourcesQuestionTable1 = null;
var selectResourcesQuestion = [];
var tableData4 = [];
var resourcesQuestionIds = ""; //选中题目id
var courseInfoIds = $("input[name=courseInfoId_1]").val();
var typeInfo = $("#taskTypeInfo input[name='taskType']:checked").val(); //当前操作的类型
if (typeInfo == 1){
$(".progressCss_mp4 .closeInfo").unbind();
$(".progressCss_mp4 .closeInfo").click(function (){
$(this).parents(".progressCss_mp4").remove();
});
}else if(typeInfo == 2){
$(".progressCss_ppt .closeInfo").unbind();
$(".progressCss_ppt .closeInfo").click(function (){
$(this).parents(".progressCss_ppt").remove();
});;
}else if(typeInfo == 3){
getQuestionTotal();
resourcesQuestionIds = $("input[name='taskList']").val(); //选中的题目ID
}else if(typeInfo == 4){
if (editor === null) {
editor = Lib.editorMd("test-editor");
editor.setToolbarAutoFixed(false);
}
$("#tableData4_view .infoTr").each(function (){
tableData4.push({
handsOnId:$("#addForm input[name='handsOnId']").val(),//实操ID
handsOnSimulationTasksAssessmentQuestion:$(this).find(".handsOnSimulationTasksAssessmentQuestion").text(), //考核题目
handsOnSimulationTasksAssessmentAnswer:$(this).find("textarea[name='handsOnSimulationTasksAssessmentAnswer']").val(), //考核答案
handsOnSimulationTasksAssessmentScore:$(this).find("input[name='handsOnSimulationTasksAssessmentScore']").val(), //考核分值
});
});
getScoreInfo();
}else if (typeInfo == 5){
$(".progressCss_file .closeInfo").unbind();
$(".progressCss_file .closeInfo").click(function (){
$(this).parents(".progressCss_file").remove();
});
}
window.loadYl = function (){//富文本代码编辑器 产生变化时触发
yl();
}
// setTimeout(function (){
// editor.init();
@ -27,19 +67,36 @@ layui.define([ 'form', 'laydate', 'table','element','handsOnSimulationTasksApi',
,accept:'video'
, progress: function(value) {
element.progress('progressBar',value + '%');
}
,choose: function(obj){
$("#mp4Info").append('<div class="progressCss_mp4">\n' +
'<span type="text" class="nameV" style="width: 300px"></span>\n' +
'<span class="mv_m" style="float: right;"></span>\n' +
'<span class="fileUrl" style="display: none;"></span>\n' +
'<div class="layui-progress " lay-showPercent="yes" lay-filter="progressBar" style="margin-top: 15px; width:300px">\n' +
'<div class="layui-progress-bar layui-bg-blue" lay-percent="0%"></div>\n' +
'</div>\n' +
'<span class="closeInfo">X</span>\n' +
'</div>');
},
choose: function(obj) {
before: function(obj) {
obj.preview(function(index, file, result) {
//$('input[name="src"]').html(file.name);
$('#nameV').html(file.name);
$('.progressCss_mp4:last .nameV').html(file.name);
var size = (file.size/1014).toFixed(1)+'kb';
$('#mv_m').html(size);
$('.progressCss_mp4:last .mv_m').html(size);
});
}
,done: function(res){
//如果上传失败
if(res.code > 0){
return layer.msg('上传失败');
}else {
$('.progressCss_mp4:last .fileUrl').html(res.data.url);
$(".progressCss_mp4 .closeInfo").unbind();
$(".progressCss_mp4 .closeInfo").click(function (){
$(this).parents(".progressCss_mp4").remove();
})
}
//上传成功
}
@ -60,25 +117,36 @@ layui.define([ 'form', 'laydate', 'table','element','handsOnSimulationTasksApi',
,exts:'ppt|pps|pptx|ppsx|pot|ppa'
, progress: function(value) {
element.progress('progressBarPPT',value + '%');
}
,choose: function(obj){
$("#pptInfo").append('<div class="progressCss_ppt">\n' +
'<span type="text" class="nameV" style="width: 300px"></span>\n' +
'<span class="mv_m" style="float: right;"></span>\n' +
'<span class="fileUrl" style="display: none;"></span>\n' +
'<div class="layui-progress " lay-showPercent="yes" lay-filter="progressBarPPT" style="margin-top: 15px; width:300px">\n' +
'<div class="layui-progress-bar layui-bg-blue" lay-percent="0%"></div>\n' +
'</div>\n' +
'<span class="closeInfo">X</span>\n' +
'</div>');
},
choose: function(obj) {
before: function(obj) {
obj.preview(function(index, file, result) {
//$('input[name="src"]').html(file.name);
$('#namePPT').html(file.name);
$('.progressCss_ppt:last .nameV').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
$('.progressCss_ppt:last .mv_m').html(size);
});
}
,done: function(res){
//如果上传失败
if(res.code > 0){
return layer.msg('上传失败');
}else {
$('.progressCss_ppt:last .fileUrl').html(res.data.url);
$(".progressCss_ppt .closeInfo").unbind();
$(".progressCss_ppt .closeInfo").click(function (){
$(this).parents(".progressCss_ppt").remove();
})
}
//上传成功
}
@ -98,24 +166,35 @@ layui.define([ 'form', 'laydate', 'table','element','handsOnSimulationTasksApi',
, progress: function(value) {
element.progress('progressBarFile',value + '%');
},
choose: function(obj) {
choose: function(obj){
$("#fileInfo").append('<div class="progressCss_file">\n' +
'<span type="text" class="nameV" style="width: 300px"></span>\n' +
'<span class="mv_m" style="float: right;"></span>\n' +
'<span class="fileUrl" style="display: none;"></span>\n' +
'<div class="layui-progress " lay-showPercent="yes" lay-filter="progressBarFile" style="margin-top: 15px; width:300px">\n' +
'<div class="layui-progress-bar layui-bg-blue" lay-percent="0%"></div>\n' +
'</div>\n' +
'<span class="closeInfo">X</span>\n' +
'</div>');
},
before: function(obj) {
obj.preview(function(index, file, result) {
//$('input[name="src"]').html(file.name);
$('#nameFile').html(file.name);
$('.progressCss_file:last .nameV').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
$('.progressCss_file:last .mv_m').html(size);
});
}
,done: function(res){
//如果上传失败
if(res.code > 0){
return layer.msg('上传失败');
}else {
$('.progressCss_file:last .fileUrl').html(res.data.url);
$(".progressCss_file .closeInfo").unbind();
$(".progressCss_file .closeInfo").click(function (){
$(this).parents(".progressCss_file").remove();
});
}
//上传成功
}
@ -135,6 +214,7 @@ layui.define([ 'form', 'laydate', 'table','element','handsOnSimulationTasksApi',
, title: '选择题库'
,fixed:false//固定页面后,弹出框随着滚动
, shadeClose: true
,offset:'30px'
, scrollbar: true//滚动条
, content: $("#resourcesQuestionTable_demo")
, btn: ['保存','关闭']
@ -143,7 +223,15 @@ layui.define([ 'form', 'laydate', 'table','element','handsOnSimulationTasksApi',
Lib.getCourseInfo($("select[name='courseInfoId_1']"), courseInfoIds);
}
, yes: function (index, layero) {
var ret = Common.getAjax('/jlw/teacherOpenCourseHandsOnSimulationTasks/getObjectiveProblem.do?problemIds='+resourcesQuestionIds);
var ret = Common.getAjax('/jlw/handsOnSimulationTasks/getObjectiveProblem.do?problemIds='+resourcesQuestionIds);
if (ret.length > 0){
var getTpl = kgtTable_demo.innerHTML
,view = document.getElementById('kgtTable_view');
laytpl(getTpl).render({list:ret}, function(html){
view.innerHTML = html;
getQuestionTotal();
});
}
layer.close(index);
$('#resourcesQuestionTable_demo').hide();
}
@ -223,7 +311,7 @@ layui.define([ 'form', 'laydate', 'table','element','handsOnSimulationTasksApi',
size: "sms",
url: Common.ctxPath + '/jlw/resourcesQuestion/list.json' // 数据接口
, page: Lib.tablePage // 开启分页
, limit: 4
, limit: 8
, where: {"courseInfoParentId": courseInfoIds}
,cols: [[ // 表头
{
@ -273,21 +361,146 @@ layui.define([ 'form', 'laydate', 'table','element','handsOnSimulationTasksApi',
initSubmit:function(){
$("#addButton").click(function(){
form.on('submit(form)', function(){
var taskId = $("#addForm input[name='taskId']").val();
if(!$.isEmpty(taskId)){
handsOnSimulationTasksApi.updateHandsOnSimulationTasks($('#addForm'),function(){
// parent.window.dataReload();
Common.success("更新成功");
Lib.closeFrame();
var taskId = $("#addForm input[name='taskId']").val(),param = {},
handsOnId = $("#addForm input[name='handsOnId']").val();
var taskType = $("#taskTypeInfo input[name='taskType']:checked").val(); //得到当前操作的任务类型 1观看视频 2PPT 3理论测评 4实操 5报告撰写
var key = $("#taskTypeContent .layui-show");
param.taskTitle = key.find("input[name='taskTitle']").val(); //标题
param.taskOrder = key.find("input[name='taskOrder']").val(); //顺序
if ($.isEmpty(param.taskTitle)){
Common.info("请输入标题!");
return;
}
if ($.isEmpty(param.taskOrder)){
Common.info("请输入顺序!");
return;
}
if (taskType == 1){ //视频
param.taskScore = key.find("input[name='taskScore']").val(); //分值
if ($.isEmpty(param.taskScore)){
Common.info("请输入分值!");
return;
}
param.assessmentRequirements = key.find("input[name='assessmentRequirements']").val(); //至少观看时长
param.assessmentTime = key.find("input[name='assessmentTime']").val(); //至少观看时长
if ($.isEmpty(param.assessmentRequirements)){
Common.info("请输入至少观看时长!");
return;
}
if ($.isEmpty(param.assessmentTime)){
Common.info("请输入间隔多少分钟出现一次弹窗!");
return;
}
var tasksFile = [];
$("#mp4Info .progressCss_mp4").each(function (){
tasksFile.push({
fileName:$(this).find(".nameV").html(),
fileUrl:$(this).find(".fileUrl").html()
});
});
}else{
handsOnSimulationTasksApi.addHandsOnSimulationTasks($('#addForm'),function(){
// parent.window.dataReload();
Common.success("添加成功");
Lib.closeFrame();
if (tasksFile.length <= 0){
Common.info("请上传视频!");
return;
}
param.tasksFile = JSON.stringify(tasksFile);
}else if (taskType == 2){ //PPT
param.taskScore = key.find("input[name='taskScore']").val(); //分值
param.assessmentRequirements = key.find("input[name='assessmentRequirements']").val(); //至少观看时长
param.assessmentTime = key.find("input[name='assessmentTime']").val(); //至少观看时长
if ($.isEmpty(param.taskScore)){
Common.info("请输入分值!");
return;
}
if ($.isEmpty(param.assessmentRequirements)){
Common.info("请输入至少观看时长!");
return;
}
if ($.isEmpty(param.assessmentTime)){
Common.info("请输入间隔多少分钟出现一次弹窗!");
return;
}
var tasksFile = [];
$("#pptInfo .progressCss_ppt").each(function (){
tasksFile.push({
fileName:$(this).find(".nameV").html(),
fileUrl:$(this).find(".fileUrl").html()
});
});
}
if (tasksFile.length <= 0){
Common.info("请上传PPT");
return;
}
param.tasksFile = JSON.stringify(tasksFile);
}else if (taskType == 3){ //理论测评
var tableQuestionData = [];
$("#kgtTable_view .infoTr").each(function (){
tableQuestionData.push({
questionType:$(this).find(".questionType").text(),
questionTypeName:$(this).find(".questionTypeName").text(),
questionNum:$(this).find(".questionNum").text(),
questionScore:$(this).find("input[name='questionScore']").val(),
questionTotal:$(this).find(".questionTotal").text(),
});
});
if (tableQuestionData.length <= 0){
Common.info("请选择客观题");
return;
}
param.taskList = resourcesQuestionIds;
param.taskScore = $(".questionTotalInfo").text(); //分值
param.handsOnTaskProblemVo = JSON.stringify(tableQuestionData);
}else if (taskType == 4){ //实操
param.assessmentContent = editor.getMarkdown(); //考核内容
param.taskScore = $(".scoreInfo").text(); //分值
if ($.isEmpty(param.assessmentContent)){
Common.info("请输入考核内容!");
return;
}
param.handsOnSimulationTasksAssessment = JSON.stringify(tableData4); //考核答案
}else if (taskType == 5){ //报告撰写
param.taskScore = key.find("input[name='taskScore']").val(); //分值
param.assessmentContent = layedit.getContent(one); //获取报告要求
if ($.isEmpty(param.taskScore)){
Common.info("请输入分值!");
return;
}
if ($.isEmpty(param.assessmentContent)){
Common.info("请输入报告要求!");
return;
}
var tasksFile = [];
$("#fileInfo .progressCss_file").each(function (){
tasksFile.push({
fileName:$(this).find(".nameV").html(),
fileUrl:$(this).find(".fileUrl").html()
});
});
if (tasksFile.length <= 0){
Common.info("请上传报告参考模板!");
return;
}
param.tasksFile = JSON.stringify(tasksFile);
}
param.taskType = taskType;
param.taskId = taskId;
param.handsOnId = handsOnId; //案例ID
console.log(param);
var url = "/jlw/handsOnSimulationTasks/edit.json";
if($.isEmpty(taskId)){
url = "/jlw/handsOnSimulationTasks/add.json";
}
var ret = Common.postAjax(url,param);
layer.msg(ret.code == 0 ? "操作成功!" : ret.msg, {
offset: ['50%'],
icon: ret.code == 0 ? 1 : 2,
time: 1500 //2秒关闭如果不配置默认是3秒
}, function () {
if (ret.code == 0) {
Lib.closeFrame();
parent.loadList();
}
});
});
});
@ -306,11 +519,70 @@ layui.define([ 'form', 'laydate', 'table','element','handsOnSimulationTasksApi',
editor.setToolbarAutoFixed(false);
}
}
$("input[name='taskTitle']").val("");
$("input[name='taskScore']").val("");
$("input[name='taskOrder']").val("");
$("input[name='assessmentRequirements']").val("");
$("input[name='assessmentTime']").val("");
// $("input[name='taskTitle']").val("");
// $("input[name='taskScore']").val("");
// $("input[name='taskOrder']").val("");
// $("input[name='assessmentRequirements']").val("");
// $("input[name='assessmentTime']").val("");
});
//理论测评分值修改
function getQuestionTotal(){
$("#kgtTable_view input[name='questionScore']").unbind();
$("#kgtTable_view input[name='questionScore']").change(function (){
var questionScore = $(this).val();//当前输入的分值
var indexInfo = $(this).attr("indexInfo"); //当前操作的位置
var questionNum = $("#kgtTable_view .questionNum:eq("+indexInfo+")").text(); //题目数量
$("#kgtTable_view .questionTotal:eq("+indexInfo+")").text((Number(questionScore) * Number(questionNum)).toFixed(2)); //合计
$(".questionTotalInfo").text(0);
$("#kgtTable_view .questionTotal").each(function (){
$(".questionTotalInfo").text(Number($(this).text()) + Number($(".questionTotalInfo").text()));
})
});
}
//实操分值修改
function getScoreInfo(){
$("#tableData4_view input[name='handsOnSimulationTasksAssessmentScore']").unbind();
$("#tableData4_view input[name='handsOnSimulationTasksAssessmentScore']").change(function (){
var indexInfo = $(this).attr("indexInfo"); //当前操作的位置
tableData4[indexInfo].handsOnSimulationTasksAssessmentScore = $(this).val();
var score = 0;
$("#tableData4_view input[name='handsOnSimulationTasksAssessmentScore']").each(function (){
score = Number(score) + Number($(this).val());
})
$("#tableData4_view .scoreInfo").text(score);
});
$("#tableData4_view textarea[name='handsOnSimulationTasksAssessmentAnswer']").unbind();
$("#tableData4_view textarea[name='handsOnSimulationTasksAssessmentAnswer']").change(function (){
var indexInfo = $(this).attr("indexInfo"); //当前操作的位置
tableData4[indexInfo].handsOnSimulationTasksAssessmentAnswer = $(this).val();
});
}
function yl(){
var val = editor.getMarkdown();
if(!$.isEmpty(val) && val.indexOf("[---]") >= 0 ){
if(tableData4.length > val.split("[---]").length - 1){
tableData4 = tableData4.slice(0,val.split("[---]").length - 1);
}else if(tableData4.length < val.split("[---]").length - 1){
tableData4.push({
handsOnId:$("#addForm input[name='handsOnId']").val(),//实操ID
handsOnSimulationTasksAssessmentQuestion:Lib.chineseNum(tableData4.length,1), //考核题目
handsOnSimulationTasksAssessmentAnswer:"", //考核答案
handsOnSimulationTasksAssessmentScore:"", //考核分值
})
}
}else{
tableData4 = [];
}
var getTpl = tableData4_demo.innerHTML
,view = document.getElementById('tableData4_view');
laytpl(getTpl).render({list:tableData4}, function(html){
view.innerHTML = html;
getScoreInfo();
});
}
exports('add',view);
});

@ -35,13 +35,10 @@
</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" xx="${sign}"
style="margin-bottom: 10px;padding: 0 28px;${sign!='1'?'':'display: none;'}">确定</a>
<a class="layui-btn bg_button button_add"
style="margin-bottom: 10px;padding: 0 30px;${sign!='1'?'display: none;':''}"><i
class="layui-icon">&#xe624;</i>添加任务</a>
<a class="layui-btn bg_button" id="addButton"
style="margin-bottom: 10px;padding: 0 28px;">确定</a>
</div>
<div class="layui-row" style="${sign!='1'?'':'display: none;'}">
<div class="layui-row">
<div class="layui-form-item">
<label class="layui-form-label"><span class="req">*</span>归属课程:</label>
<div class="layui-input-block">
@ -51,7 +48,7 @@
</div>
</div>
</div>
<div class="layui-row" style="${sign!='1'?'':'display: none;'}">
<div class="layui-row">
<div class="layui-form-item">
<label class="layui-form-label"><span class="req">*</span>归属章节:</label>
<div class="layui-input-block" style="width: 400px;">
@ -67,7 +64,7 @@
</div>
</div>
</div>
<div class="layui-row" style="${sign!='1'?'':'display: none;'}">
<div class="layui-row">
<div class="layui-form-item">
<label class="layui-form-label"><span class="req">*</span>案例名称:</label>
<div class="layui-input-block">
@ -76,7 +73,7 @@
</div>
</div>
</div>
<div class="layui-row" style="${sign!='1'?'':'display: none;'}">
<div class="layui-row">
<div class="layui-form-item">
<label class="layui-form-label"><span class="req">*</span>案例介绍:</label>
<div class="layui-input-block">
@ -88,13 +85,13 @@
</div>
</div>
<div class="layui-row" style="${sign!='1'?'':'display: none;'}">
<div class="layui-row">
<div class="layui-form-item">
<label class="layui-form-label">数据集:</label>
<div class="layui-input-block">
<!--(多个地址?+|| 逗号隔开)-->
<input name="trainingData" type="hidden"
value="${handsOn.trainingData}"/>
<!-- <input name="trainingData" type="hidden"-->
<!-- value="${handsOn.trainingData}"/>-->
<div class="layui-upload">
<div class="uploader-drop" ondragenter="jQuery(this).addClass('uploader-dragover');"
ondragend="jQuery(this).removeClass('uploader-dragover');"
@ -125,12 +122,10 @@
</thead>
<tbody id="demoList">
<!--#if(handsOn.trainingData != null && handsOn.trainingData != ''){-->
<!--# var files = splitString(handsOn.trainingData,'\\|\\|'); //数据集-->
<!--# var fileUrl = splitString(files[0],'\\?'); //文件路径-->
<!--# var fileName = splitString(files[1],'\\?'); //文件名称 -->
<!--# var i = 0;for(item in fileUrl){ -->
<!--# var files = JsonString(handsOn.trainingData); //数据集-->
<!--# for(item in files){ -->
<tr class="uploader-file">
<td class="uploader-file-name"><a href="/server/${fileUrl[i]}">${fileName[i]}</a></td>
<td class="uploader-file-name"><a href="/server/${item.url}">${item.name}</a></td>
<td class="uploader-file-size" style="text-align: center;">-</td>
<td class="uploader-file-progress" style="text-align: center;"><span
style="color: #73a2f8;">完成</span></td>
@ -139,11 +134,11 @@
<img src="${ctxPath}/plugins/simple-uploader/public/cancel.png"
title="Cancel upload">
</span>
<input name="imgFile" type="hidden" title="文件路径" value="${fileUrl[i]}">
<input name="fileName" type="hidden" title="文件名字" value="${fileName[i]}">
<input name="imgFile" type="hidden" title="文件路径" value="${item.url}">
<input name="fileName" type="hidden" title="文件名字" value="${item.name}">
</td>
</tr>
<!--# i = i+ 1; } -->
<!--#} -->
<!--#}-->
</tbody>
</table>
@ -152,9 +147,8 @@
</div>
</div>
</div>
<!--#if(handsOnSimulationTasks != null && handsOnSimulationTasks != ''){-->
<div class="layui-row">
<div style="${sign!='1'?'':'display: none;'}">
<div class="layui-row" id="handsOnSimulationTasks" style="${handsOn.handsOnId != null?'':'display: none;'}">
<div>
<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>
@ -179,7 +173,22 @@
<th>操作</th>
</tr>
</thead>
<tbody>
<script id="sc_demo" type="text/html">
{{# layui.each(d.list, function(index, item){ }}
<tr>
<td>{{item.taskOrder}}</td>
<td>{{item.taskTitle}}</td>
<td>{{item.taskType == '1'?'观看视频':item.taskType == '2'?'观看PPT': item.taskType ==
'3'?'理论测评':item.taskType == '4'?'实训操作步骤':item.taskType == '5'?'报告撰写':'其他'}}
</td>
<td>{{item.taskScore}}</td>
<td><a taskid="{{item.taskId}}" class="layui-btn layui-btn-sm bg_button bj">编辑</a> <a
taskid="{{item.taskId}}" style="background-color: red" class="layui-btn layui-btn-sm sc">删除</a>
</td>
</tr>
{{# }); }}
</script>
<tbody id="sc_view">
<!--#if(handsOnSimulationTasks != null && handsOnSimulationTasks != ''){-->
<!--# for(item in handsOnSimulationTasks){ -->
<tr>
@ -200,22 +209,19 @@
<td colspan="6" class="t_c">暂无实训任务...</td>
</tr>
<!--#}-->
<tr>
<td colspan="6" style="padding-left: 50px;">
合计:<span class="sxzf"></span>
</td>
</tr>
<!-- <tr>-->
<!-- <td colspan="6" style="padding-left: 50px;">-->
<!-- 合计:<span class="sxzf"></span>-->
<!-- </td>-->
<!-- </tr>-->
</tbody>
</table>
</div>
</div>
</div>
<!--#} -->
<!-- 业务对象须有hidden字段保存delFlag和version字段-->
<input type="hidden" name="handsOnId" value="${handsOn.handsOnId}"/>
<input type="hidden" name="courseInfoId_" value="${courseInfoId}"/>
</form>
<!--#} -->
<script>

@ -5,12 +5,16 @@
<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;
.progressCss_mp4,.progressCss_file,.progressCss_ppt{
width: 320px;
background: #e9e9e9;
padding: 14px;
position: relative;
margin-bottom:5px;
}
.closeInfo{
position: absolute;right: 10px;bottom: 10px;cursor: pointer;color: red;
}
#first label {
width: 70px;
}
@ -33,18 +37,22 @@
<div class="layui-row">
<div class="layui-form-item">
<label class="layui-form-label">任务类型:</label>
<div class="layui-input-block">
<div class="layui-input-block" id="taskTypeInfo">
<input type="radio" name="taskType" value="1" title="观看视频" lay-filter="taskType"
${handsOnSimulationTasks.taskType==1?'checked':
handsOnSimulationTasks.taskType!=2&&handsOnSimulationTasks.taskType!=3&&handsOnSimulationTasks.taskType!=4&&handsOnSimulationTasks.taskType!=5?'checked':''}>
${handsOnSimulationTasks.taskId !=null?'disabled':''}
${handsOnSimulationTasks.taskType=='1' || handsOnSimulationTasks.taskType==null?'checked':''}>
<input type="radio" name="taskType" value="2" title="观看PPT" lay-filter="taskType"
${handsOnSimulationTasks.taskType==2?'checked':''}>
${handsOnSimulationTasks.taskId !=null?'disabled':''}
${handsOnSimulationTasks.taskType=='2'?'checked':''}>
<input type="radio" name="taskType" value="3" title="理论测评" lay-filter="taskType"
${handsOnSimulationTasks.taskType==3?'checked':''}>
${handsOnSimulationTasks.taskId !=null?'disabled':''}
${handsOnSimulationTasks.taskType=='3'?'checked':''}>
<input type="radio" name="taskType" value="4" title="实训操作步骤" lay-filter="taskType"
${handsOnSimulationTasks.taskType==4?'checked':''}>
${handsOnSimulationTasks.taskId !=null?'disabled':''}
${handsOnSimulationTasks.taskType=='4'?'checked':''}>
<input type="radio" name="taskType" value="5" title="报告撰写" lay-filter="taskType"
${handsOnSimulationTasks.taskType==5?'checked':''}>
${handsOnSimulationTasks.taskId !=null?'disabled':''}
${handsOnSimulationTasks.taskType=='5'?'checked':''}>
</div>
</div>
</div>
@ -56,8 +64,9 @@
<li lay-id="4"></li>
<li lay-id="5"></li>
</ul>
<div class="layui-tab-content layui-bg-gray">
<div class="layui-tab-item layui-show">
<div class="layui-tab-content layui-bg-gray" id="taskTypeContent">
<!--视频-->
<div taskType="1" class="layui-tab-item ${handsOnSimulationTasks.taskType=='1' || handsOnSimulationTasks.taskType==null?'layui-show':''}">
<div class="layui-row">
<div class="layui-form-item">
<label class="layui-form-label">任务标题</label>
@ -70,78 +79,63 @@
</div>
<div class="layui-row">
<div class="layui-form-item">
<label class="layui-form-label">任务分值</label>
<label class="layui-form-label">任务顺序</label>
<div class="layui-input-block">
<input type="text" name="taskScore"
value="${handsOnSimulationTasks.taskScore}"
<input type="text" name="taskOrder"
value="${handsOnSimulationTasks.taskOrder}"
class="layui-input">
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<label class="layui-form-label">任务顺序</label>
<label class="layui-form-label">任务分值</label>
<div class="layui-input-block">
<input type="text" name="taskOrder"
value="${handsOnSimulationTasks.taskOrder}"
<input type="text" name="taskScore"
value="${handsOnSimulationTasks.taskScore}"
class="layui-input">
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">考核要求</label>
<div class="layui-input-block">
<div class="layui-inline">
<label class="layui-form-label" style="width: 110px">
<input type="checkbox" name="assessmentRequirements2" value="男" title="至少观看">
</label>
<div class="layui-input-inline" style="top: 10px">
<input type="text" 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="assessmentRequirements1" value="女" title="是否弹窗验证是否观看">
</div>
<div class="layui-inline">
<label class="layui-form-label" style="width: 220px">
<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">
</div>
<div style="display: inline-block;line-height: 60px;vertical-align: middle;">
分钟
</div>
</div>
<!-- <input type="hidden" id="assessmentRequirements" name="assessmentRequirements"-->
<!-- value="${handsOnSimulationTasks.assessmentRequirements}" class="layui-input">-->
<label class="layui-form-label">考核要求</label>
<div class="layui-input-block">
<div class="layui-form-label" style="width: 100px">至少观看:</div>
<div class="layui-form-label" style="padding: 0">
<input type="text" name="assessmentRequirements" value="${handsOnSimulationTasks.assessmentRequirements}" class="layui-input">
</div>
<div class="layui-form-label" style="width: 100px;text-align:left;">分钟</div>
<div class="layui-form-label" style="width: 180px">间隔多少分钟出现一次弹窗</div>
<div class="layui-form-label" style="padding: 0">
<input type="text" name="assessmentTime" value="${handsOnSimulationTasks.assessmentTime}" class="layui-input">
</div>
<div class="layui-form-label" style="width: 100px;text-align:left;">分钟</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item" style="margin-left: 20px">
<div class="layui-form-item">
<div class="layui-form-label">添加视频</div>
<div class="layui-input-block" style="margin-left: 20px">
<div class="layui-input-block">
<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>
<button type="button" style="margin-bottom: 10px;" class="layui-btn layui-btn-primary layui-font-blue" id="test-upload-normal"><i class="layui-icon"></i>点击添加</button>
<div id="mp4Info">
<!--#if(handsOnSimulationTasks.tasksFileList != null){-->
<!--#for(item in handsOnSimulationTasks.tasksFileList){ -->
<div class="progressCss_mp4">
<span type="text" class="nameV" style="width: 300px">${item.fileName}</span>
<span class="mv_m" style="float: right;"></span>
<span class="fileUrl" style="display: none;">${item.fileUrl}</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="100%"></div>
</div>
<span class="closeInfo">X</span>
</div>
<!--#} -->
<!--#}-->
</div>
<div class="layui-upload-list">
<p id="test-upload-demoText"></p>
</div>
</div>
@ -149,7 +143,8 @@
</div>
</div>
</div>
<div class="layui-tab-item">
<!--PPT-->
<div taskType="2" class="layui-tab-item ${handsOnSimulationTasks.taskType=='2'?'layui-show':''}">
<div class="layui-row">
<div class="layui-form-item">
<label class="layui-form-label">任务标题</label>
@ -162,73 +157,61 @@
</div>
<div class="layui-row">
<div class="layui-form-item">
<label class="layui-form-label">任务分值</label>
<label class="layui-form-label">任务顺序</label>
<div class="layui-input-block">
<input type="text" id="taskScore" name="taskScore"
value="${handsOnSimulationTasks.taskScore}"
<input type="text" id="taskOrder" name="taskOrder"
value="${handsOnSimulationTasks.taskOrder}"
class="layui-input">
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<label class="layui-form-label">任务顺序</label>
<label class="layui-form-label">任务分值</label>
<div class="layui-input-block">
<input type="text" id="taskOrder" name="taskOrder"
value="${handsOnSimulationTasks.taskOrder}"
<input type="text" id="taskScore" name="taskScore"
value="${handsOnSimulationTasks.taskScore}"
class="layui-input">
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">考核要求</label>
<div class="layui-input-block">
<div class="layui-inline">
<label class="layui-form-label" style="width: 110px">
<input type="radio" name="assessmentRequirements2" value="男" title="至少观看" checked>
</label>
<div class="layui-input-inline" style="top: 10px">
<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="assessmentRequirements1" value="女" title="是否弹窗验证是否观看">
</div>
<div class="layui-inline">
<label class="layui-form-label" style="width: 220px">
<input type="radio" name="assessmentRequirements2" value="男" title="间隔多少分钟出现一次弹窗">
</label>
<div class="layui-input-inline" style="top: 10px">
<input type="text" id="" name="assessmentTime"
value="${handsOnSimulationTasks.assessmentTime}" class="layui-input">
</div>
<div style="display: inline-block;line-height: 60px;vertical-align: middle;">
分钟
</div>
</div>
<label class="layui-form-label">考核要求</label>
<div class="layui-input-block">
<div class="layui-form-label" style="width: 100px">至少观看:</div>
<div class="layui-form-label" style="padding: 0">
<input type="text" name="assessmentRequirements" value="${handsOnSimulationTasks.assessmentRequirements}" class="layui-input">
</div>
<div class="layui-form-label" style="width: 100px;text-align:left;">分钟</div>
<div class="layui-form-label" style="width: 180px">间隔多少分钟出现一次弹窗</div>
<div class="layui-form-label" style="padding: 0">
<input type="text" name="assessmentTime" value="${handsOnSimulationTasks.assessmentTime}" class="layui-input">
</div>
<div class="layui-form-label" style="width: 100px;text-align:left;">分钟</div>
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item" style="margin-left: 20px">
<div class="layui-form-item">
<div class="layui-form-label">添加文档</div>
<div class="layui-input-block" style="margin-left: 20px">
<div class="layui-input-block">
<div class="layui-upload">
<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>
<button type="button" style="margin-bottom: 10px;" class="layui-btn layui-btn-primary layui-font-blue" id="upload-normalPPT"><i class="layui-icon"></i>点击添加</button>
<div id="pptInfo">
<!--#if(handsOnSimulationTasks.tasksFileList != null){-->
<!--#for(item in handsOnSimulationTasks.tasksFileList){ -->
<div class="progressCss_ppt">
<span type="text" class="nameV" style="width: 300px">${item.fileName}</span>
<span class="mv_m" style="float: right;"></span>
<span class="fileUrl" style="display: none;">${item.fileUrl}</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="100%"></div>
</div>
<span class="closeInfo">X</span>
</div>
<!--#} -->
<!--#}-->
</div>
<div class="layui-upload-list">
<span class="layui-upload-img" id="test-upload-normal-img"></span>
@ -240,7 +223,8 @@
</div>
</div>
</div>
<div class="layui-tab-item">
<!--理论-->
<div taskType="3" class="layui-tab-item ${handsOnSimulationTasks.taskType=='3'?'layui-show':''}">
<div class="layui-row">
<div class="layui-form-item">
<label class="layui-form-label">任务标题</label>
@ -264,6 +248,7 @@
<div class="layui-row">
<label class="layui-form-label">客观题设置:</label>
<div class="layui-input-block">
<input type="hidden" name="taskList" value="${handsOnSimulationTasks.taskList}">
<button type="button" class="layui-btn bg_button button_add" id="manualProblemSetting1"
style="float: left">题库选择
</button>
@ -279,45 +264,78 @@
</colgroup>
<thead>
<tr>
<th>题型</th>
<th>选题量</th>
<th>分值</th>
<th>合计</th>
<th class="t_c">题型</th>
<th class="t_c">选题量</th>
<th class="t_c">分值</th>
<th class="t_c">合计</th>
</tr>
</thead>
<tbody>
<tr>
<td>单选题</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>多选题</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>分值</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>合计</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr><td colspan="6" class="t_c">暂无实训任务...</td></tr>
<script type="text/html" id="kgtTable_demo">
{{# var questionTotalInfo = 0; layui.each(d.list, function(index, item){ questionTotalInfo = questionTotalInfo + Number(item.questionTotal);}}
<tr class="infoTr">
<td class="t_c"><span class="questionTypeName">{{item.questionTypeName}}</span></td>
<td class="t_c">
<span class="questionType" style="display: none;">{{item.questionType}}</span>
<span class="questionNum">{{item.questionNum}}</span>
</td>
<td>
<input type="text" onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')" name="questionScore" indexInfo="{{index}}" value="{{item.questionScore}}" class="layui-input">
</td>
<td class="t_c">
<span class="questionTotal">
{{item.questionTotal}}
</span>
</td>
</tr>
{{# if(d.list.length === index + 1){ }}
<tr>
<td colspan="3" style="text-align: right;">合计</td>
<td class="t_c">
<span class="questionTotalInfo">{{questionTotalInfo}}</span>
</td>
</tr>
{{# } }}
{{# }); }}
{{# if(d.list.length === 0){ }}
<tr><td colspan="6" class="t_c">暂无实训任务...</td></tr>
{{# } }}
</script>
<tbody id="kgtTable_view">
<!--# var questionTotalInfo = 0;if(handsOnSimulationTasks.handsOnTaskProblemVo != null){-->
<!--# var ii = 0;for(item in handsOnSimulationTasks.handsOnTaskProblemVo){ questionTotalInfo = questionTotalInfo + item.questionTotal; -->
<tr class="infoTr">
<td class="t_c"><span class="questionTypeName">${item.questionTypeName}</span></td>
<td class="t_c">
<span class="questionType" style="display: none">${item.questionType}</span>
<span class="questionNum">${item.questionNum}</span>
</td>
<td>
<input type="text" onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')" name="questionScore" indexInfo="${ii}" value="${item.questionScore}" class="layui-input">
</td>
<td>
<span class="questionTotal">
${item.questionTotal}
</span>
</td>
</tr>
<!--# ii ++;} -->
<tr>
<td colspan="3" style="text-align: right;">合计</td>
<td class="t_c">
<span class="questionTotalInfo">${questionTotalInfo}</span>
</td>
</tr>
<!--#}else{-->
<tr><td colspan="6" class="t_c">暂无实训任务...</td></tr>
<!--#}-->
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="layui-tab-item">
<!--实操-->
<div taskType="4" class="layui-tab-item ${handsOnSimulationTasks.taskType=='4'?'layui-show':''}">
<div class="layui-row">
<div class="layui-form-item">
<label class="layui-form-label">任务标题</label>
@ -339,13 +357,10 @@
</div>
</div>
<div class="layui-row">
<div class="layui-form-item">
<label class="layui-form-label">考核内容:</label>
<div class="layui-input-block">
<div id="test-editor">
<textarea
style="display:none;"></textarea>
</div>
<label class="layui-form-label">考核内容:</label>
<div class="layui-input-block">
<div id="test-editor">
<textarea style="display:none;">${handsOnSimulationTasks.assessmentContent}</textarea>
</div>
</div>
</div>
@ -356,44 +371,75 @@
</div>-->
<div class="layui-row">
<label class="layui-form-label">考核题目:</label>
<div class="layui-input-block" style="line-height: 38px;">
<span style="color: red;">【注】需要考核的内容用 [---] 替换</span>
</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>
<col width="200">
<col>
<col>
</colgroup>
<thead>
<tr>
<th>考核题目</th>
<th>考核答案</th>
<th>分值</th>
</tr>
<tr>
<th class="t_c">考核题目</th>
<th class="t_c">分值</th>
<th class="t_c">考核答案</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>总分</td>
<td></td>
<td></td>
<td></td>
</tr>
<script type="text/html" id="tableData4_demo">
{{# var scoreInfo = 0; layui.each(d.list, function(index, item){ scoreInfo = scoreInfo + Number(item.handsOnSimulationTasksAssessmentScore);}}
<tr class="infoTr">
<td class="t_c"><span class="handsOnSimulationTasksAssessmentQuestion">{{item.handsOnSimulationTasksAssessmentQuestion}}</span></td>
<td>
<input type="text" onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')" name="handsOnSimulationTasksAssessmentScore" indexInfo="{{index}}" value="{{item.handsOnSimulationTasksAssessmentScore}}" class="layui-input">
</td>
<td>
<textarea name="handsOnSimulationTasksAssessmentAnswer" indexInfo="{{index}}" class="layui-textarea" >{{item.handsOnSimulationTasksAssessmentAnswer}}</textarea>
</td>
</tr>
{{# if(d.list.length === index + 1){ }}
<tr>
<td class="t_c">合计</td>
<td colspan="2">
<span class="scoreInfo">{{scoreInfo}}</span>
</td>
</tr>
{{# } }}
{{# }); }}
{{# if(d.list.length === 0){ }}
<tr><td colspan="3" class="t_c">暂无数据</td></tr>
{{# } }}
</script>
<tbody id="tableData4_view">
<!--# var scoreInfo = 0;if(handsOnSimulationTasks.handsOnSimulationTasksAssessmentList != null){-->
<!--# var oni = 0;for(item in handsOnSimulationTasks.handsOnSimulationTasksAssessmentList){ scoreInfo = scoreInfo + item.handsOnSimulationTasksAssessmentScore; -->
<tr class="infoTr">
<td class="t_c"><span class="handsOnSimulationTasksAssessmentQuestion">${item.handsOnSimulationTasksAssessmentQuestion}</span></td>
<td>
<input type="text" onkeyup="if(isNaN(value))execCommand('undo')" onafterpaste="if(isNaN(value))execCommand('undo')" name="handsOnSimulationTasksAssessmentScore" indexInfo="${oni}" value="${item.handsOnSimulationTasksAssessmentScore}" class="layui-input">
</td>
<td>
<textarea name="handsOnSimulationTasksAssessmentAnswer" indexInfo="${oni}" class="layui-textarea" >${item.handsOnSimulationTasksAssessmentAnswer}</textarea>
</td>
</tr>
<!--# oni ++;} -->
<tr>
<td class="t_c">合计</td>
<td colspan="2">
<span class="scoreInfo">${scoreInfo}</span>
</td>
</tr>
<!--#}else{-->
<tr><td colspan="3" class="t_c">暂无数据</td></tr>
<!--#}-->
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="layui-tab-item">
<!--报告撰写-->
<div taskType="5" class="layui-tab-item ${handsOnSimulationTasks.taskType=='5'?'layui-show':''}">
<div class="layui-row">
<div class="layui-form-item">
<label class="layui-form-label">任务标题</label>
@ -420,7 +466,7 @@
<div class="layui-input-block">
<div style="background-color: white">
<!-- <textarea style="display:none;"></textarea>-->
<textarea style="display:none;" id="test-editor1"></textarea>
<textarea style="display:none;" id="test-editor1">${handsOnSimulationTasks.assessmentContent}</textarea>
</div>
</div>
</div>
@ -429,25 +475,32 @@
<div class="layui-form-item">
<label class="layui-form-label">报告分值</label>
<div class="layui-input-block">
<input type="text" name="taskOrder"
value="${handsOnSimulationTasks.taskOrder}"
<input type="text" name="taskScore"
value="${handsOnSimulationTasks.taskScore}"
class="layui-input">
</div>
</div>
</div>
<div class="layui-row">
<div class="layui-form-item" style="margin-left: 20px">
<div class="layui-form-item">
<div class="layui-form-label">报告参考模板</div>
<div class="layui-input-block" style="margin-left: 20px">
<div class="layui-input-block">
<div class="layui-upload">
<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>
<button type="button" style="margin-bottom: 10px;" class="layui-btn layui-btn-primary layui-font-blue" id="upload-normalFile"><i class="layui-icon"></i>点击添加</button>
<div id="fileInfo">
<!--#if(handsOnSimulationTasks.tasksFileList != null){-->
<!--#for(item in handsOnSimulationTasks.tasksFileList){ -->
<div class="progressCss_file">
<span type="text" class="nameV" style="width: 300px">${item.fileName}</span>
<span class="mv_m" style="float: right;"></span>
<span class="fileUrl" style="display: none;">${item.fileUrl}</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="100%"></div>
</div>
<span class="closeInfo">X</span>
</div>
<!--#} -->
<!--#}-->
</div>
<div class="layui-upload-list">
<img class="layui-upload-img" id="test-upload-normal-img">
@ -466,7 +519,7 @@
<layui:submitButtons id="addButton" buttonType="" showExamine="2"/>
<div id="resourcesQuestionTable_demo" style="display: none;padding: 20px 50px;">
<div id="resourcesQuestionTable_demo" style="display: none;padding: 20px 50px;min-height: 400px">
<div class="layui-inline">
<input type="text" name="generalQuestionSettingName" class="layui-input" placeholder="请输入题干名称">
</div>
@ -500,7 +553,7 @@
<!--#} -->
<script>
layui.use(['add'], function () {
var handsOnSimulationTasksAdd = layui.add
var handsOnSimulationTasksAdd = layui.add;
handsOnSimulationTasksAdd.init();
});
</script>

Loading…
Cancel
Save