From c57d6f675dc2676af716e783ce792f338d3384c5 Mon Sep 17 00:00:00 2001
From: xuliangtong <1124839262@qq.com>
Date: Fri, 23 Sep 2022 21:51:25 +0800
Subject: [PATCH] =?UTF-8?q?=E8=AF=BE=E7=A8=8B=E5=AE=9E=E6=93=8D=E7=AE=A1?=
 =?UTF-8?q?=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 doc/sql/mysql/tianze-pro.sql                  |  14 ++
 .../com/ibeetl/jlw/web/HandsOnController.java |   4 +
 .../ibeetl/jlw/web/query/HandsOnQuery.java    |  89 ++++++++
 .../resources/static/js/jlw/handsOn/add.js    |  96 ++++++---
 .../resources/static/js/jlw/handsOn/index.js  |  56 +++---
 .../resources/templates/jlw/handsOn/add.html  | 190 +++++++++++++++---
 .../templates/jlw/handsOn/index.html          |   2 -
 7 files changed, 370 insertions(+), 81 deletions(-)
 create mode 100644 web/src/main/java/com/ibeetl/jlw/web/query/HandsOnQuery.java

diff --git a/doc/sql/mysql/tianze-pro.sql b/doc/sql/mysql/tianze-pro.sql
index 084cf998..9e28fd33 100644
--- a/doc/sql/mysql/tianze-pro.sql
+++ b/doc/sql/mysql/tianze-pro.sql
@@ -29507,3 +29507,17 @@ INSERT INTO `wrong_question` VALUES (141, 197, NULL, NULL, 10, NULL, NULL);
 INSERT INTO `wrong_question` VALUES (142, 197, NULL, NULL, 10, NULL, NULL);
 
 SET FOREIGN_KEY_CHECKS = 1;
+
+
+-- ----------------------------
+-- Table structure for hands_on
+-- ----------------------------
+DROP TABLE IF EXISTS `hands_on`;
+CREATE TABLE `hands_on`  (
+ `hands_on_id` bigint NOT NULL COMMENT '实操主键',
+ `course_info_id` bigint NULL DEFAULT NULL COMMENT '归属课程',
+ `course_child_node` varchar(255) CHARACTER SET utf8mb4 NULL DEFAULT NULL COMMENT '归属章节',
+ `hands_on_name` varchar(255) CHARACTER SET utf8mb4 NULL DEFAULT NULL COMMENT '实操名称',
+ `hands_on_recommend` longtext CHARACTER SET utf8mb4 NULL COMMENT '实操介绍',
+ PRIMARY KEY (`hands_on_id`) USING BTREE
+) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '课程实操';
\ No newline at end of file
diff --git a/web/src/main/java/com/ibeetl/jlw/web/HandsOnController.java b/web/src/main/java/com/ibeetl/jlw/web/HandsOnController.java
index 95e1f5dc..c604eb34 100644
--- a/web/src/main/java/com/ibeetl/jlw/web/HandsOnController.java
+++ b/web/src/main/java/com/ibeetl/jlw/web/HandsOnController.java
@@ -133,8 +133,12 @@ public class HandsOnController{
         if(null != handsOnId){
             HandsOn handsOn = handsOnService.queryById(handsOnId);
             view.addObject("handsOn", handsOn);
+            view.addObject("courseInfoId", handsOn.getCourseInfoId());
+            view.addObject("twoChildNode", handsOn.getCourseChildNode());
         }else {
             view.addObject("handsOn", new HandsOn());
+            view.addObject("courseInfoId", "");
+            view.addObject("twoChildNode", "");
         }
         return view;
     }
diff --git a/web/src/main/java/com/ibeetl/jlw/web/query/HandsOnQuery.java b/web/src/main/java/com/ibeetl/jlw/web/query/HandsOnQuery.java
new file mode 100644
index 00000000..f2371eca
--- /dev/null
+++ b/web/src/main/java/com/ibeetl/jlw/web/query/HandsOnQuery.java
@@ -0,0 +1,89 @@
+package com.ibeetl.jlw.web.query;
+
+import cn.jlw.validate.ValidateConfig;
+import com.ibeetl.jlw.entity.HandsOn;
+import org.apache.commons.lang3.StringUtils;
+import com.ibeetl.admin.core.annotation.Query;
+import com.ibeetl.admin.core.util.Tool;
+import com.ibeetl.admin.core.util.enums.CoreDictType;
+import com.ibeetl.admin.core.web.query.PageParam;
+
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ *HandsOn查询
+ */
+public class HandsOnQuery extends PageParam {
+    @NotNull(message = "ID不能为空", groups =ValidateConfig.UPDATE.class)
+    @Query(name = "实操主键", display = false)
+    private Long handsOnId;
+    @Query(name = "归属课程", display = false)
+    private Long courseInfoId;
+    @Query(name = "归属章节", display = false)
+    private String courseChildNode;
+    @Query(name = "实操名称", display = false)
+    private String handsOnName;
+    @Query(name = "实操介绍", display = false)
+    private String handsOnRecommend;
+
+
+    private String handsOnJsonStr;//json格式
+
+    private String _given;//指定更新的特定字段,多个逗号隔开
+
+    public Long getHandsOnId(){
+        return  handsOnId;
+    }
+    public void setHandsOnId(Long handsOnId ){
+        this.handsOnId = handsOnId;
+    }
+    public Long getCourseInfoId(){
+        return  courseInfoId;
+    }
+    public void setCourseInfoId(Long courseInfoId ){
+        this.courseInfoId = courseInfoId;
+    }
+    public String getCourseChildNode(){
+        return  courseChildNode;
+    }
+    public void setCourseChildNode(String courseChildNode ){
+        this.courseChildNode = courseChildNode;
+    }
+    public String getHandsOnName(){
+        return  handsOnName;
+    }
+    public void setHandsOnName(String handsOnName ){
+        this.handsOnName = handsOnName;
+    }
+    public String getHandsOnRecommend(){
+        return  handsOnRecommend;
+    }
+    public void setHandsOnRecommend(String handsOnRecommend ){
+        this.handsOnRecommend = handsOnRecommend;
+    }
+
+    public HandsOn pojo(){
+        HandsOn pojo = new HandsOn();
+        pojo.setHandsOnId(this.getHandsOnId());
+        pojo.setCourseInfoId(this.getCourseInfoId());
+        pojo.setCourseChildNode(this.getCourseChildNode());
+        pojo.setHandsOnName(this.getHandsOnName());
+        pojo.setHandsOnRecommend(this.getHandsOnRecommend());
+        return pojo;
+    }
+
+    public String getHandsOnJsonStr(){
+        return  handsOnJsonStr;
+    }
+    public void setHandsOnJsonStr(String handsOnJsonStr ){
+        this.handsOnJsonStr = handsOnJsonStr;
+    }
+    public String get_given() {
+        return _given;
+    }
+    public void set_given(String _given) {
+        this._given = _given;
+    }
+}
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 3de8eaae..914b074a 100644
--- a/web/src/main/resources/static/js/jlw/handsOn/add.js
+++ b/web/src/main/resources/static/js/jlw/handsOn/add.js
@@ -1,38 +1,84 @@
-layui.define([ 'form', 'laydate', 'table','handsOnApi'], function(exports) {
+layui.define(['form', 'laydate', 'table','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 editor3 = Lib.editorMd("test-editor");
+    // editor3.setToolbarAutoFixed(false);
+    layedit.set({ //富文本上传图片
+        uploadImage: {
+            url: Common.ctxPath + "/jlw/file/update.do",
+            imgUrl:Common.ctxPath
+        }
+    });
+    var handsOnId = $("input[name='handsOnId']").val();
+    if(!$.isEmpty(handsOnId)){
+        var ret = Common.getAjax("/jlw/handsOn/view.json",{handsOnId:handsOnId});
+        if(ret.code == 0){
+            layedit.setContent(one,Lib.repLaceltgt(ret.data.applicationIntroduction),false);
+        }else {
+            layer.msg(ret.msg, {
+                offset: ['50%'],
+                icon: 2,
+                time: 1500 //2秒关闭(如果不配置,默认是3秒)
+            });
+        }
+    }
+    var one = layedit.build('test-editor'); //建立编辑器
     var view = {
-        init:function(){
-            Lib.initGenrealForm($("#addForm"),form);
+        init: function () {
+            Lib.initGenrealForm($("#addForm"), form);
             this.initSubmit();
         },
-        initSubmit:function(){
-            $("#addButton").click(function(){
-                 form.on('submit(form)', function(){
-                     var handsOnId = $("#addForm input[name='handsOnId']").val();
-                     if(!$.isEmpty(handsOnId)){
-                         handsOnApi.updateHandsOn($('#addForm'),function(){
-                             parent.window.dataReload();
-                             Common.info("更新成功");
-                             Lib.closeFrame();
-                         });
-                     }else{
-                         handsOnApi.addHandsOn($('#addForm'),function(){
-                             parent.window.dataReload();
-                             Common.info("添加成功");
-                             Lib.closeFrame();
-                         });
-                     }
-
+        initSubmit: function () {
+            $("#addButton").click(function () {
+                //数据集
+                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='files']").val(imgFile + "||" + fileName); //写入form表单
+                } else {
+                    $("#addForm input[name='files']").val(""); //写入form表单
+                }
+                var param = $("#addForm").serializeJson();
+                param.handsOnRecommend = layedit.getContent(one);
+                var 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);
+                layer.msg(ret.code == 0 ? "保存成功!" : ret.msg, {
+                    offset: ['50%'],
+                    icon: ret.code == 0 ? 1 : 2,
+                    time: 1500 //2秒关闭(如果不配置,默认是3秒)
+                }, function () {
+                    layer.closeAll("loading");
+                    if (ret.code == 0) {
+                        parent.Lib.tableRefresh();
+                        Lib.closeFrame();
+                    }
                 });
             });
-        
-            $("#addButton-cancel").click(function(){
+
+            $("#addButton-cancel").click(function () {
                 Lib.closeFrame();
             });
         }
-    			
+
     }
-    exports('add',view);
+    //选择归属课程 并且根据选择的课程查询章节
+    form.on('select(select_courseInfoIds)', function (obj) {
+        Lib.getCourseInfo($("select[name='courseChildNode']"), obj.value);
+    });
+    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 c600eba3..dc495bc1 100644
--- a/web/src/main/resources/static/js/jlw/handsOn/index.js
+++ b/web/src/main/resources/static/js/jlw/handsOn/index.js
@@ -20,7 +20,7 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) {
             handsOnTable = table.render({
                 elem : '#handsOnTable',
                 height : Lib.getTableHeight(1),
-                cellMinWidth: 100,
+                cellMinWidth: 120,
                 method : 'post',
                 url : Common.ctxPath + '/jlw/handsOn/list.json' // 数据接口
                 ,page : Lib.tablePage // 开启分页
@@ -33,46 +33,56 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) {
 
                     },
                 {
-                    field : 'handsOnId', 
-                    title : '实操主键',
+                    field : 'handsOnName',
+                    title : '项目名称',
                     align:"center",
                     hideField :false,
-                    hide:$.isEmpty(sx_['handsOnId'])?false:sx_['handsOnId'],
-
-                        width : 60,
+                    hide:$.isEmpty(sx_['handsOnName'])?false:sx_['handsOnName'],
                 },
                 {
                     field : 'courseInfoId', 
-                    title : '归属课程',
+                    title : '观看视频平均得分',
                     align:"center",
                     hideField :false,
                     hide:$.isEmpty(sx_['courseInfoId'])?false:sx_['courseInfoId'],
                 },
                 {
                     field : 'courseChildNode', 
-                    title : '归属章节',
+                    title : '观看PPT平均得分',
                     align:"center",
                     hideField :false,
                     hide:$.isEmpty(sx_['courseChildNode'])?false:sx_['courseChildNode'],
                 },
                 {
                     field : 'handsOnName', 
-                    title : '实操名称',
+                    title : '理论测评平均得分',
                     align:"center",
                     hideField :false,
                     hide:$.isEmpty(sx_['handsOnName'])?false:sx_['handsOnName'],
                 },
                 {
                     field : 'handsOnRecommend', 
-                    title : '实操介绍',
+                    title : '实训操作步骤平均得分',
                     align:"center",
                     hideField :false,
                     hide:$.isEmpty(sx_['handsOnRecommend'])?false:sx_['handsOnRecommend'],
-                }
+                },
+                    {
+                        field : 'handsOnRecommend',
+                        title : '报告撰写平均得分',
+                        align:"center",
+                        hideField :false,
+                        hide:$.isEmpty(sx_['handsOnRecommend'])?false:sx_['handsOnRecommend'],
+                    }
                 ,{
-                    field : 'operation_',title : '操作',align:"center", templet: function (d) {
-                        var htm = '<button type="button" class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">编辑</button>';
-                        htm += '<button type="button" class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</button>';
+                    field : 'operation_',title : '操作',align:"center",fixed: 'right',width: '500', templet: function (d) {
+                        var htm = '<button type="button" class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit">实操成绩</button>';
+                        htm += '<button type="button" class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">评阅</button>'
+                        htm += '<button type="button" class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">编辑</button>'
+                        htm += '<button type="button" class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</button>'
+                        htm += '<button type="button" class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">绑定知识点</button>'
+                        htm += '<button type="button" class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">查看内容</button>'
+                        ;
                         return htm;
                     }
                 }
@@ -99,21 +109,7 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) {
             toolbar = {
                 add: function () {
                     var url = "/jlw/handsOn/add.do";
-                    Common.openDlg(url,"HandsOn管理>新增");
-                },
-                edit: function () {
-                    var data = Common.getOneFromTable(table,"handsOnTable");
-                    if(data==null){
-                        return ;
-                    }
-                    var url = "/jlw/handsOn/add.do?handsOnId="+data.handsOnId;
-                    Common.openDlg(url,"HandsOn管理>"+data.handsOnId+">编辑");
-                },
-                del: function () {
-                    layui.use(['del'], function(){
-                        var delView = layui.del
-                        delView.delBatch();
-                    });
+                    Common.openDlg(url,"实操管理>添加实操管理");
                 },
                 search: function () {
                     Lib.doSearchForm($("#searchForm"), handsOnTable, 1);
@@ -135,7 +131,7 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) {
             var data = obj.data;
             if (obj.event === 'edit') {
                 var url = "/jlw/handsOn/add.do?handsOnId="+data.handsOnId;
-                Common.openDlg(url,"HandsOn管理>"+data.handsOnId+">编辑");
+                Common.openDlg(url,"HandsOn管理>"+data.handsOnName+">编辑");
             }else if(obj.event === "del"){
                 layer.confirm('是否确定删除该信息?', function (index) {
                     var ret = Common.postAjax("/jlw/handsOn/delete.json",{ids:data.handsOnId});
diff --git a/web/src/main/resources/templates/jlw/handsOn/add.html b/web/src/main/resources/templates/jlw/handsOn/add.html
index 32caa2f8..81e87ecb 100644
--- a/web/src/main/resources/templates/jlw/handsOn/add.html
+++ b/web/src/main/resources/templates/jlw/handsOn/add.html
@@ -1,45 +1,185 @@
 <!--# layout("/common/layout.html",{"jsBase":"/js/jlw/handsOn/"}){ -->
-
+<link rel="stylesheet" type="text/css" href="${ctxPath}/css/plugin.css?v=${jsVer}" media="all"/>
+<link rel="stylesheet" href="${ctxPath}/plugins/editorMd/css/editormd.css"/>
+<script src="${ctxPath}/plugins/editorMd/editormd.min.js"></script>
+<link rel="stylesheet" href="${ctxPath}/plugins/highlight/styles/a11y-light.min.css" />
+<script type="text/javascript" src="${ctxPath}/plugins/highlight/highlight.min.js?v=${jsVer}"></script>
+<style type="text/css">
+    #answer{
+        background-color: #f9f9f9;
+        padding: 0;
+        padding-left: 30px;
+        line-height:30px;
+    }
+    #answer li{
+        list-style-type: decimal !important;
+    }
+    /* #answer li:hover,#answer li:hover input{
+        background-color: #f9f9f9;
+    } */
+    #answer li::marker {
+        color: #999999;
+    }
+    #answer ol{
+        padding: 5px 0;
+        padding-left: 6px;
+        background-color: white;
+    }
+</style>
 <form class="layui-form" id="addForm">
     <div class="layui-row">
         <div class="layui-form-item">
-            <div class="layui-inline">
-            	<label class="layui-form-label">归属课程</label>
-				<div class="layui-input-inline">
-					<input type="text" id="courseInfoId" name="courseInfoId"  value="${handsOn.courseInfoId}"   class="layui-input" >
-				</div>
+            <label class="layui-form-label">归属课程:</label>
+            <div class="layui-input-block">
+                <layui:simpleDictSelect style='layui-input-inline' value="${courseInfoId}" type="course_info.course_info_name.course_info_status=1,course_info_type=1,find_in_set(course_label_id,(select group_concat(course_label_id) from course_label where course_label_status = 1))"
+                                        id="courseInfoIds" name="courseInfoId" layFilter="select_courseInfoIds"/>
+            </div>
+        </div>
+    </div>
+    <div class="layui-row">
+        <div class="layui-form-item">
+            <label class="layui-form-label">归属章节:</label>
+            <div class="layui-input-block" style="width: 400px;">
+                <!--#if(courseInfoId != null){-->
+                <layui:simpleDictSelect style='layui-input-inline' value="${twoChildNode}" type="course_info.course_info_name.course_info_status=1,course_info_type=2,course_info_parent_id=${courseInfoId}"
+                                        id="courseInfoId1" name="courseChildNode" layFilter="select_courseInfoIds_1"/>
+                <!--#}else{-->
+                <select name="courseInfoId_1" lay-filter="select_courseInfoIds_1">
+                    <option value="">请选择</option>
+                </select>
+                <!--#}-->
             </div>
-            <div class="layui-inline">
-            	<label class="layui-form-label">归属章节</label>
-				<div class="layui-input-inline">
-					<input type="text" id="courseChildNode" name="courseChildNode"  value="${handsOn.courseChildNode}"   class="layui-input" >
-				</div>
+        </div>
+    </div>
+    <div class="layui-row">
+        <div class="layui-form-item">
+            <label class="layui-form-label">实操名称:</label>
+            <div class="layui-input-block">
+                <input type="text" id="handsOnName" name="handsOnName"  value="${handsOn.handsOnName}"   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-inline">
-					<input type="text" id="handsOnName" name="handsOnName"  value="${handsOn.handsOnName}"   class="layui-input" >
-				</div>
+            <label class="layui-form-label">实操介绍:</label>
+            <div class="layui-input-block">
+                <div>
+<!--                    <textarea style="display:none;"></textarea>-->
+                    <textarea style="display:none;" id="test-editor">${handsOn.handsOnRecommend}</textarea>
+                </div>
             </div>
-            <div class="layui-inline">
-            	<label class="layui-form-label">实操介绍</label>
-				<div class="layui-input-inline">
-					<input type="text" id="handsOnRecommend" name="handsOnRecommend"  value="${handsOn.handsOnRecommend}"   class="layui-input" >
-				</div>
+        </div>
+    </div>
+
+    <div class="layui-row">
+        <div class="layui-form-item">
+            <label class="layui-form-label">数据集:</label>
+            <div class="layui-input-block">
+                <!--(多个地址?+|| 逗号隔开)-->
+                <input name="files" type="hidden"
+                       value="${handsOn.files}"/>
+                <div class="layui-upload">
+                    <div class="uploader-drop" ondragenter="jQuery(this).addClass('uploader-dragover');"
+                         ondragend="jQuery(this).removeClass('uploader-dragover');"
+                         ondrop="jQuery(this).removeClass('uploader-dragover');">
+                        <a class="uploader-browse-folder" style="display: none;"><u>select folder</u></a>
+                        <a class="uploader-browse-image" style="display: none;"><u>select images</u></a>
+                        <button type="button" class="layui-btn bg_button uploader-browse">选择文件</button>
+                        <button type="button" class="layui-btn bg_button" style="display: none;" id="testListAction">
+                            开始上传
+                        </button>
+                    </div>
+
+                    <div class="layui-upload-list" style="max-width: 80%;min-width: 800px;">
+                        <table class="layui-table" id="updateFileList">
+                            <colgroup>
+                                <col>
+                                <col width="150">
+                                <col width="260">
+                                <col width="150">
+                            </colgroup>
+                            <thead>
+                            <tr>
+                                <th style="text-align: center;">文件名</th>
+                                <th style="text-align: center;">大小</th>
+                                <th style="text-align: center;">上传进度</th>
+                                <th style="text-align: center;">操作</th>
+                            </tr>
+                            </thead>
+                            <tbody id="demoList">
+                            <!--#if(handsOn.files != null && handsOn.files != ''){-->
+                            <!--# var files = splitString(handsOn.files,'\\|\\|'); //数据集-->
+                            <!--# var fileUrl = splitString(files[0],'\\?'); //文件路径-->
+                            <!--# var fileName = splitString(files[1],'\\?'); //文件名称 -->
+                            <!--# var i = 0;for(item in fileUrl){ -->
+                            <tr class="uploader-file">
+                                <td class="uploader-file-name">${fileName[i]}</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>
+                                <td style="text-align: center;">
+                                        <span class="uploader-file-cancel" style="padding: 0 10px;">
+                                            <img src="${ctxPath}/plugins/simple-uploader/public/cancel.png" title="Cancel upload">
+                                        </span>
+                                    <input name="imgFile" type="hidden" title="文件路径" value="${item}">
+                                    <input name="fileName" type="hidden" title="文件名字" value="${fileName[i]}">
+                                </td>
+                            </tr>
+                            <!--# i = i+ 1; } -->
+                            <!--#}-->
+                            </tbody>
+                        </table>
+                    </div>
+                </div>
             </div>
         </div>
     </div>
     <div class="layui-row">
-        <!-- 业务对象得有一个字段保存附件id,假设是attachmentId  -->
-        <layui:attachment name="attachmentId" batchFileUUID="${uuid()}"  bizType="entity.name" isNew="true"  />
+        <input name="et3QuestionIds" type="hidden" />
+        <label class="layui-form-label">实训任务:</label>
+        <div class="layui-row">
+            <div class="layui-input-block">
+                <table class="layui-table" style="width: 60%;min-width: 1000px;">
+                    <colgroup>
+                        <col width="200">
+                        <col>
+                        <col>
+                        <col width="200">
+                    </colgroup>
+                    <thead>
+                    <tr>
+                        <th>任务顺序</th>
+                        <th>任务标题</th>
+                        <th>任务类型</th>
+                        <th>分值</th>
+                        <th>操作</th>
+                    </tr>
+                    </thead>
+                    <tbody>
+                    <tr>
+                        <td></td>
+                        <td></td>
+                        <td></td>
+                        <td></td>
+                        <td><a  class="layui-btn layui-btn-sm bg_button bj">编辑</a> <a style="background-color: red"  class="layui-btn layui-btn-sm sc">删除</a></td>
+                    </tr>
+                    <tr><td colspan="6" class="t_c">暂无实训任务...</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}" />
-    <layui:submitButtons id="addButton" buttonType="" showExamine="2" />
+    <div  style="text-align: center">
+        <layui:submitButtons id="addButton" buttonType="" showExamine="2" />
+
+    </div>
 </form>
 <!--#} -->
 <script>
@@ -48,3 +188,5 @@ layui.use(['add'], function(){
     handsOnAdd.init();
 });
 </script>
+<script type="text/javascript" src="${ctxPath}/plugins/simple-uploader/public/uploader.js?v=${jsVer}"></script>
+<script type="text/javascript" src="${ctxPath}/plugins/simple-uploader/public/app.js?v=${jsVer}"></script>
\ No newline at end of file
diff --git a/web/src/main/resources/templates/jlw/handsOn/index.html b/web/src/main/resources/templates/jlw/handsOn/index.html
index 89974b93..d86957ec 100644
--- a/web/src/main/resources/templates/jlw/handsOn/index.html
+++ b/web/src/main/resources/templates/jlw/handsOn/index.html
@@ -11,8 +11,6 @@
             <layui:accessButton function="handsOn.query"  id="searchFormSearch" action="search"><i class="layui-icon">&#xe615;</i>搜索</layui:accessButton>
             <!--# }-->
             <layui:accessButton function="handsOn.add"  action="add">添加</layui:accessButton>
-            <layui:accessButton function="handsOn.edit"  action="edit">修改</layui:accessButton>
-            <layui:accessButton function="handsOn.del"  action="del">删除</layui:accessButton>
             <!--#            if(!isEmpty(search)) {-->
             <layui:accessButton function="handsOn.query"  action="refresh"><i class="layui-icon">&#xe669;</i>刷新</layui:accessButton>
             <!--#            }-->