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<String>();
+                });
             }
         };
     }
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('<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 ); //图片链接(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('<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 ); //图片链接(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 @@
     </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>
diff --git a/web/src/main/resources/templates/jlw/handsOnSimulationTasks/add.html b/web/src/main/resources/templates/jlw/handsOnSimulationTasks/add.html
index 466f1c49..7d8f46fc 100644
--- a/web/src/main/resources/templates/jlw/handsOnSimulationTasks/add.html
+++ b/web/src/main/resources/templates/jlw/handsOnSimulationTasks/add.html
@@ -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>