文件存档 互动

beetlsql3-dev
姚丹ab 2 years ago
parent eaf9fb651d
commit 669ed48f94

@ -177,7 +177,7 @@ layui.define([ 'form', 'laydate', 'table' ], function(exports) {
var url = "/jlw/questionLogSummary/index.do?teacherOpenCourseId=" + data.teacherOpenCourseId + "&questionSettingType=EXAM";
Common.openDlg(url,"《"+title+"》/ 考试存档");
}else if(obj.event === "hd"){
var url = "/jlw/teacherOpenCourseChatLog/indexInfoSpe.do?teacherOpenCourseId="+data.teacherOpenCourseId;
var url = "/jlw/teacherOpenCourseChatLog/indexInfoNor.do?teacherOpenCourseId="+data.teacherOpenCourseId;
Common.openDlg(url,"《"+title+"》/ 互动存档");
}
})

@ -1,4 +1,6 @@
<!--#layout("/common/layout.html",{"jsBase":"/js/jlw/teacherOpenCourseHandsOn/"}){ -->
<link rel="stylesheet" href="${ctxPath}/plugins/editorMd/css/editormd.css"/>
<script src="${ctxPath}/plugins/editorMd/editormd.min.js"></script>
<style>
.title-p{
background: #e7e7e7;
@ -12,7 +14,7 @@
<div class="layui-panel">
<h2 class="title-p">讨论内容</h2>
<div style="padding: 15px;">
<ul class="flow-default" id="LAY_demo1"></ul>
<ul class="flow-default" id="LAY_demo1" style="height: 400px; overflow: auto;"></ul>
</div>
</div>
</div>
@ -26,6 +28,19 @@
</div>
</div>
<input type="hidden" name="teacherOpenCourseId" autocomplete="off" class="layui-input" value="${teacherOpenCourseId}"/>
<div hidden id="addCom">
<div class="layui-row">
<div class="layui-form-item">
<label class="layui-form-label">问题摘要:</label>
<div class="layui-input-block">
<div id="chatContent" class="layui-form-mid layui-word-aux"></div>
</div>
</div>
<div class="layui-form-item" style="margin:0 20px">
<textarea name="desc" placeholder="请输入内容" class="layui-textarea" id="chatContentNew"></textarea>
</div>
</div>
</div>
<!--#} -->
<script>
@ -38,278 +53,180 @@
var studentHandsOnTaskPptTable = null;
var studentTable = null;
//var editor = Lib.editorMd("resourcesTrainingContent");
var handsOnId = $("input[name='handsOnId']").val();
var teacherOpenCourseId=$("input[name='teacherOpenCourseId']").val();
var data = [];
/*var url = "/jlw/teacherOpenCourseHandsOn/getHandsOnList.do?teacherOpenCourseId=" + teacherOpenCourseId;
var ret = Common.getAjax(url);
if (ret.code == 0) {
data = ret.data;
}
var getTpl = demo.innerHTML
, view = document.getElementById('view');
laytpl(getTpl).render(data, function(html){
view.innerHTML = html;
});*/
flow.load({
elem: '#LAY_demo1' //流加载容器
,scrollElem: '#LAY_demo1' //滚动条所在元素,一般不用填,此处只是演示需要。
,done: function(page, next){ //执行下一页的回调
//模拟数据插入
setTimeout(function(){
var dataAll = [];
load();
function load(){
flow.load({
elem: '#LAY_demo1' //流加载容器
,scrollElem: '#LAY_demo1' //滚动条所在元素,一般不用填,此处只是演示需要。
,done: function(page, next){ //执行下一页的回调
var url = '/api/teacherOpenCourseChatLog/treeList.do';
var param = {
//teacherOpenCourseId: teacherOpenCourseId,
limit: 10,
page: page
};
var lis = [];
for(var i = 0; i < 8; i++){
lis.push('<li style="margin-bottom: 10px"><div class="layui-panel" ><div style="padding: 50px 30px;">'+ ( (page-1)*8 + i + 1 ) +'</div></div></li>')
var data = [];
var ret = Common.postAjax(url, param);
if (ret.code == 0) {
data = ret.data;
}
next(lis.join(''), page < 10); // 10
}, 500);
}
});flow.load({
elem: '#LAY_demo2' //流加载容器
,scrollElem: '#LAY_demo2' //滚动条所在元素,一般不用填,此处只是演示需要。
,done: function(page, next){ //执行下一页的回调
//模拟数据插入
setTimeout(function(){
var lis = [];
for(var i = 0; i < 8; i++){
lis.push(
'<li>' +
' <div class="layui-col-md2">' +
' <div class="layui-row"><img src="${ctxPath}/plugins/head_img.jpg" class="layui-nav-img" style="float: left" ></div><div class="layui-row" style="float: left">王先生</div>' +
' </div>' +
' <div class="layui-col-md10"><div class="layui-row" style="margin-bottom: 10px">' +
( (page-1)*8 + i + 1 ) +
' </div>' +
' <div class="layui-row" style="margin-bottom: 20px">' +
' <div class="layui-inline" style="float: left">发布时间</div>' +
' <div class="layui-inline" style="float: right">' +
' <a class="layui-table-link" onclick="ad" style="color: red;margin-right: 30px;">回复</a>' +
' <a class="layui-table-link" onclick="dell" style="color: red">删除</a>' +
' </div>' +
' </div>'+
' </div>'+
'</li>')
for (let i = 0; i < data.length; i++) {
lis.push('<li style="margin-bottom: 10px;cursor: pointer;width: 96%" data-value=' + (page > 1 ? ((page - 1) * 10 + i) : i) + '>' +
'<div class="layui-panel" >' +
'<div style="padding: 50px 30px;">' + data[i].chatContent + '</div>' +
'</div>' +
'</li>');
dataAll.push(data[i])
}
next(lis.join(''), page < 10); // 10
}, 500);
}
});
}
});
/*默认显示第一个回答详情*/
commentHtml(dataAll[0]);
}
/*返回*/
$("#addButton_cancel").click(function () {
parent.Lib.tableRefresh();
Lib.closeFrame();
});
var view ={
init:function(){
var that = this;
this.initTable();
this.initSearchForm();
this.initToolBar();
window.dataReload = function(){
Lib.doSearchForm($("#searchForm"), studentHandsOnTaskPptTable);
Lib.doSearchForm($("#searchForm"), studentTable);
that.initToolBar();
}
},
initTable:function(){
var sx_ = localStorage.getItem("studentHandsOnTaskPptTable_field_" + Common.userInfoId); //筛选值显示、隐藏缓存
if($.isEmpty(sx_)){sx_ = {};}else {sx_ = JSON.parse(sx_);}
studentHandsOnTaskPptTable = table.render({
elem: '#studentHandsOnTaskPptTable',
height : Lib.getTableHeight(1),
cellMinWidth: 100,
method : 'post',
url: Common.ctxPath + '/api/studentHandsOnTaskPpt/getPageList.do' // 数据接口
,page : Lib.tablePage // 开启分页
/* ,toolbar: '#toolbar_teacherOpenCourseQuestionLog' //自定义头部左侧工具栏
,defaultToolbar: ['filter', 'print', 'exports'] //头部右侧工具栏*/
,where:{'teacherOpenCourseId':teacherOpenCourseId, 'handsOnId':handsOnId}
,limit : 10,
cols : [ [ // 表头
{
field: 'studentSn',
title: '学号',
align: "center",
hideField: false,
},
{
field: 'studentName', //数据字典类型为 student.student_name.student_status=1
title: '姓名',
align: "center",
hideField: false,
},
{
field: 'handsOnIdText', //数据字典类型为 school_class.class_name.class_status=1
title: '项目名称',
align: "center",
},
{
field: 'pptFiles.fileName',
title: 'PPT名称',
align: "center"
},
{
field: 'pptScore', //数据字典类型为 teacher_open_course.teacher_open_course_title.teacher_open_course_status=1
title: '观看得分',
align: "center"
}
] ]
});
var commentData = dataAll[0];
$('#LAY_demo1').on('click', 'li', function (e) {
var index = $(this).data(('value'));
studentTable = table.render({
elem: '#studentTable',
height: Lib.getTableHeight(),
cellMinWidth: 80,
method: 'get',
even: true,
// skin:'nob',
where:getParam_s(),
size: "sm",
url: Common.ctxPath + '/api/teacherOpenCourseHandsOnSimulationTasks/getStudentScore.do' // 数据接口
,parseData: function(res){ //res 即为原始返回的数据
return {
"code": 0, //解析接口状态
"msg": '', //解析提示文本
"count": res.totalRow, //解析数据长度
"data": res.list //解析数据列表
};
}
, page: Lib.tablePage // 开启分页
, limit: 10,
cols: [[
{
field: 'studentSn',
title: '学号', align: "center",
},
{
field: 'studentName',
title: '姓名', align: "center"
}, {
field: 'sumStudentScore',
title: '得分', align: "center",
templet:function (d) {
return '0'
}
}
]]
});
table.on('checkbox(studentHandsOnTaskPptTable)', function (obj) {
var teacherOpenCourseQuestionLog = obj.data;
if(obj.checked){
//按钮逻辑Lib.buttonEnable()
}else{
for (let i = 0; i < dataAll.length; i++) {
if (i == index) {
commentHtml(dataAll[i]);
commentData = dataAll[i];
}
}
});
var isFalse = true;
$('#LAY_demo2').on('click', 'a', function (e) {
var event = $(this).attr("event");
var index = $(this).data('value');
var param = {};
var ids;
if($.isEmpty(commentData.children)){
ids = commentData.teacherOpenCourseChatLogId;
}
for (let i = 0; i < commentData.children.length; i++) {
ids = commentData.children[i].teacherOpenCourseChatLogId;
if (i == index) {
ids = commentData.children[i].teacherOpenCourseChatLogId;
$("#chatContent").html(commentData.children[i].chatContent);
param = {
'chatLogSendType': commentData.children[i].chatLogSendType,
'teacherOpenCourseChatLogParentId': commentData.children[i].teacherOpenCourseChatLogParentId,
'teacherOpenCourseId': commentData.children[i].teacherOpenCourseId
}
});
//触发行单击事件
table.on('row(studentTable)', function(obj){
var handsOnIdNew = $("select[name='handsOnId']").val();
var param={
'studentId':obj.data.studentId,
'teacherOpenCourseId':teacherOpenCourseId,
'handsOnId':$.isEmpty(handsOnIdNew)?handsOnId:handsOnIdNew
};
studentHandsOnTaskPptTable.reload({
where: param,
page: {
curr: 1
}
});
});
},
initSearchForm:function(){
//Lib.initSearchForm( $("#searchForm"),studentHandsOnTaskPptTable,form);
//Lib.initSearchForm( $("#studentForm"),studentTable,form);
var btn_s = $("#searchFormSearch");
btn_s.on('click', function () {
var data = $("#searchForm").serializeJson();
var handsOnIdNew = $("select[name='handsOnId']").val();
data.handsOnId = $.isEmpty(handsOnIdNew)?handsOnId:handsOnIdNew;
data.teacherOpenCourseId=teacherOpenCourseId;
studentHandsOnTaskPptTable.reload({
where: data,
page: {
curr: 1
}
});
});
var btn = $("#studentFormSearch");
btn.on('click', function () {
studentTable.reload({
where: getParam_s(),
page: {
curr: 1
}
});
});
},
initToolBar:function(){
toolbar = {
exportDocument: function () {
var handsOnIdNew = $("select[name='handsOnId']").val();
handsOnIdNew = $.isEmpty(handsOnIdNew)?handsOnId:handsOnIdNew;
var url = '/jlw/studentHandsOnTaskPpt/excel/export.do?teacherOpenCourseId='+teacherOpenCourseId+'&handsOnId='+handsOnIdNew;
Common.openConfirm("确认要导出课程实操存档详情?", function (index) {
$.downFile(Common.ctxPath + url,'课程实操存档详情');
layer.close(index);
})
},
addButton_cancel:function () {
},
};
//触发事件
$('.ext-toolbar').on('click', function() {
var type = $(this).data('type');
toolbar[type] ? toolbar[type].call(this) : '';
});
}
}
}, initTableTool: table.on('tool(studentHandsOnTaskPptTable)', function (obj) {
var data = obj.data;
if (obj.event === 'edit') {
//var url = "/jlw/teacherOpenCourseQuestionLog/add.do?teacherOpenCourseQuestionLogId="+data.teacherOpenCourseQuestionLogId;
Common.openDlg(url, "学生签到记录管理>" + data.teacherOpenCourseQuestionLogId + ">编辑");
}else if(obj.event === "del"){
layer.confirm('是否确定删除该信息?', function (index) {
// var ret = Common.postAjax("/jlw/teacherOpenCourseQuestionLog/delete.json",{ids:data.teacherOpenCourseQuestionLogId});
layer.msg(ret.code == 0?"删除成功!":ret.msg, {
if (event == 'show') {
if (isFalse) {
isFalse = false;
$(".isShow").hide();
} else {
isFalse = true;
$(".isShow").show();
}
} else if (event == 'add') {
layer.open({
type: 1,
title: '回复'
, content: $("#addCom")
, shadeClose: true
, btn: ['确定', '关闭']
, area: ['500px','300px']
, yes: function (index, layero) {
param.chatContent = '<p>'+$("#chatContentNew").val()+'</p>';
var url = '/api/teacherOpenCourseChatLog/add.do';
var ret = Common.postAjax(url,param);
layer.msg(ret.code == 0 ? "成功回复!" : ret.msg, {
offset: ['50%'],
icon: ret.code == 0?1:2,
icon: ret.code == 0 ? 1 : 2,
time: 1500 //2秒关闭如果不配置默认是3秒
},function (){
if(ret.code == 0){
Lib.tableRefresh();
}, function () {
layer.closeAll("loading");
if (ret.code == 0) {
parent.Lib.tableRefresh();
Lib.closeFrame();
}
});
});
}
})
};
function getParam_s(){
var param = {
"classId":$("#studentForm select[name='classId']").val(),
"studentName":$("#studentForm input[name='studentOrName']").val(),
'teacherOpenCourseId': teacherOpenCourseId
};
}
, btn2: function (index, layero) {
layer.close(index);
}
});
} else if (event == 'del') {
var url = '/jlw/teacherOpenCourseChatLog/delete.json';
var ret = Common.postAjax(url,{ids:ids});
layer.msg(ret.code == 0 ? "删除成功!" : ret.msg, {
offset: ['50%'],
icon: ret.code == 0 ? 1 : 2,
time: 1500 //2秒关闭如果不配置默认是3秒
}, function (index) {
layer.closeAll("loading");
if (ret.code == 0) {
window.location.reload()
}
});
}
});
return param
function commentHtml(data) {
var htm = '<li style="margin-top: 10px;">' +
' <div class="layui-col-md1">' +
' <div class="layui-row"><img src="${ctxPath}' + (!$.isEmpty(data.chatFiles) ? data.chatFiles : '/plugins/head_img.jpg') + '" class="layui-nav-img" style="float: left" ></div>' +
' <div class="layui-row" style="float: left">' + data.teacherIdText + '</div>' +
' </div>' +
' <div class="layui-col-md11"><div class="layui-row" style="margin-bottom: 10px">' +
data.chatContent +
' <div class="layui-row" style="margin-top: 20px">' +
' <div class="layui-inline" style="float: left">发布时间:' + data.teacherOpenCourseChatLogAddTime + '</div>' +
' <div class="layui-inline" style="float: right">' +
' <a class="layui-table-link" style="color: red;margin-right: 30px;cursor: pointer;" event="show">讨论数(' + data.children.length + ')</a>' +
' <a class="layui-table-link" style="color: red;cursor: pointer;" event="del">删除</a>' +
' </div>' +
' </div>' +
' </div>' +
'</li><hr>';
for (var j = 0; j < data.children.length; j++) {
htm = htm + '<li style="margin-top:20px;" class="isShow">' +
' <div class="layui-col-md1 layui-col-md-offset1">' +
' <div class="layui-row"><img src="${ctxPath}' + (!$.isEmpty(data.children[j].chatFiles) ? data.children[j].chatFiles : '/plugins/head_img.jpg') + '" class="layui-nav-img" style="float: left" ></div>' +
' <div class="layui-row" style="float: left">' + (!$.isEmpty(data.children[j].studentIdText) ? data.children[j].studentIdText : '') + '</div>' +
' </div>' +
' <div class="layui-col-md10" ><div class="layui-row" style="margin-bottom: 10px">' + (!$.isEmpty(data.children[j].chatContent) ? data.children[j].chatContent : '') +
' <div class="layui-row" style="margin-top: 20px">' +
' <div class="layui-inline" style="float: left">' + (!$.isEmpty(data.children[j].teacherOpenCourseChatLogAddTime) ? data.children[j].teacherOpenCourseChatLogAddTime : '') + '</div>' +
' <div class="layui-inline" style="float: right">' +
' <a class="layui-table-link " style="color: red;margin-right: 30px;cursor: pointer;" event="add" data-value=' + j + '>回复</a>' +
' <a class="layui-table-link ab" style="color: red;cursor: pointer;" event="del">删除</a>' +
' </div>' +
' </div>' +
' </div>' +
'</li>';
}
$("#LAY_demo2").html(htm)
}
form.render();
view.init();
});
});
</script>

@ -224,7 +224,7 @@ layui.use(['form','laydate','table','laytpl'], function(){
form.render();
view.init();
function getParam(checkStatus) {
param = $("#searchForm").serializeJson();
var param = $("#searchForm").serializeJson();
param.teacherOpenCourseId = teacherOpenCourseId;
param.chatLogSendType = "student_ask";

Loading…
Cancel
Save