From 11fb28de263ea486ac46cbc494ceaf836f10a144 Mon Sep 17 00:00:00 2001 From: yangdj <18302547071@163> Date: Wed, 8 Feb 2023 02:27:17 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E5=AE=9E=E8=AE=AD=E6=A1=88?= =?UTF-8?q?=E4=BE=8B=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../static/js/admin/role/roleData.js | 2 +- .../com/ibeetl/admin/core/conf/BeetlConf.java | 10 + .../src/main/resources/static/js/lib.js | 9 +- .../web/HandsOnSimulationTasksController.java | 4 +- .../resources/static/js/jlw/handsOn/add.js | 111 ++--- .../resources/static/js/jlw/handsOn/index.js | 9 +- .../js/jlw/handsOnSimulationTasks/add.js | 354 ++++++++++++-- .../resources/templates/jlw/handsOn/add.html | 70 +-- .../jlw/handsOnSimulationTasks/add.html | 431 ++++++++++-------- 9 files changed, 664 insertions(+), 336 deletions(-) diff --git a/admin-console/src/main/resources/static/js/admin/role/roleData.js b/admin-console/src/main/resources/static/js/admin/role/roleData.js index a5facf37..19857953 100644 --- a/admin-console/src/main/resources/static/js/admin/role/roleData.js +++ b/admin-console/src/main/resources/static/js/admin/role/roleData.js @@ -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"); diff --git a/admin-core/src/main/java/com/ibeetl/admin/core/conf/BeetlConf.java b/admin-core/src/main/java/com/ibeetl/admin/core/conf/BeetlConf.java index fe6387f9..4594c5af 100644 --- a/admin-core/src/main/java/com/ibeetl/admin/core/conf/BeetlConf.java +++ b/admin-core/src/main/java/com/ibeetl/admin/core/conf/BeetlConf.java @@ -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(); + }); } }; } diff --git a/admin-core/src/main/resources/static/js/lib.js b/admin-core/src/main/resources/static/js/lib.js index 7892921d..95023c39 100644 --- a/admin-core/src/main/resources/static/js/lib.js +++ b/admin-core/src/main/resources/static/js/lib.js @@ -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[] diff --git a/web/src/main/java/com/ibeetl/jlw/web/HandsOnSimulationTasksController.java b/web/src/main/java/com/ibeetl/jlw/web/HandsOnSimulationTasksController.java index 6b1ed5d4..60de2c72 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/HandsOnSimulationTasksController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/HandsOnSimulationTasksController.java @@ -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 { diff --git a/web/src/main/resources/static/js/jlw/handsOn/add.js b/web/src/main/resources/static/js/jlw/handsOn/add.js index 783d2853..af401758 100644 --- a/web/src/main/resources/static/js/jlw/handsOn/add.js +++ b/web/src/main/resources/static/js/jlw/handsOn/add.js @@ -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); }); diff --git a/web/src/main/resources/static/js/jlw/handsOn/index.js b/web/src/main/resources/static/js/jlw/handsOn/index.js index 160acae0..2996775a 100644 --- a/web/src/main/resources/static/js/jlw/handsOn/index.js +++ b/web/src/main/resources/static/js/jlw/handsOn/index.js @@ -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") { diff --git a/web/src/main/resources/static/js/jlw/handsOnSimulationTasks/add.js b/web/src/main/resources/static/js/jlw/handsOnSimulationTasks/add.js index 64a69644..4559e48b 100644 --- a/web/src/main/resources/static/js/jlw/handsOnSimulationTasks/add.js +++ b/web/src/main/resources/static/js/jlw/handsOnSimulationTasks/add.js @@ -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('
\n' + + '\n' + + '\n' + + '\n' + + '
\n' + + '
\n' + + '
\n' + + 'X\n' + + '
'); }, - 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('
\n' + + '\n' + + '\n' + + '\n' + + '
\n' + + '
\n' + + '
\n' + + 'X\n' + + '
'); }, - 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 ); //图片链接(base64)file.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('
\n' + + '\n' + + '\n' + + '\n' + + '
\n' + + '
\n' + + '
\n' + + 'X\n' + + '
'); + }, + 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 ); //图片链接(base64)file.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:观看视频 2:PPT 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); }); diff --git a/web/src/main/resources/templates/jlw/handsOn/add.html b/web/src/main/resources/templates/jlw/handsOn/add.html index 4e433fe0..166d5abe 100644 --- a/web/src/main/resources/templates/jlw/handsOn/add.html +++ b/web/src/main/resources/templates/jlw/handsOn/add.html @@ -35,13 +35,10 @@ -->
返回 - 确定 - 添加任务 + 确定
-
+
@@ -51,7 +48,7 @@
-
+
@@ -67,7 +64,7 @@
-
+
@@ -76,7 +73,7 @@
-
+
@@ -88,13 +85,13 @@
-
+
- + +
- - - - + + - ${fileName[i]} + ${item.name} - 完成 @@ -139,11 +134,11 @@ - - + + - + @@ -152,9 +147,8 @@
- -
-
+
+
- - -