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 = ''; - htm += ''; + field : 'operation_',title : '操作',align:"center",fixed: 'right',width: '500', templet: function (d) { + var htm = ''; + htm += '' + htm += '' + htm += '' + htm += '' + htm += '' + ; 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 @@ - + + + + + +