You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

479 lines
22 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

layui.define(['form', 'laydate', 'table'], function (exports) {
var form = layui.form,
laydate = layui.laydate,
table = layui.table,
resourcesInfoTable = null,
courseInfoMap = {},//课程map
zjMap = {},//章节map
selectMap = {},//已经生成过select的map
htmY = '<optgroup label="应用课程类">',
htmL = '<optgroup label="理论课程类">',
htmK = '<optgroup label="考证课程类">',
htmO = '<optgroup label="开课课程类">',
currentAuthCourseInfoDetails = Common.getAjax("/jlw/universitiesCollegesJurisdictionCurriculumResources/getCourseSystemOAndUniversities.json").data;
/*// 应用课程类
var applicationCourseList = currentAuthCourseInfoDetails.applicationCourseList || [];
// 理论课程类
var theoryCourseList = currentAuthCourseInfoDetails.theoryCourseList || [];
// 考证课程类
var textualResearchCourseList = currentAuthCourseInfoDetails.textualResearchCourseList || [];*/
// 应用课程类
var applicationCourseList = [];
// 理论课程类
var theoryCourseList = [];
// 考证课程类
var textualResearchCourseList = [];
// 理论课程类+开课课程
var openCourseList = [];
function childCourseList(courseInfoId,courseInfoType,sourceType){
var data = Common.getAjax("/jlw/courseInfo/getChapterSystemOAndUniversities.json", {
courseInfoParentId: courseInfoId,
courseInfoType:courseInfoType,
sourceType:sourceType
}).data;//获取课程数据
return data
}
currentAuthCourseInfoDetails.forEach(function(e,i){
if(e.sourceType == 2){
if(e.courseLabelType == '考证课程类'){
textualResearchCourseList.push(e);
}else if(e.courseLabelType == '理论课程类'){
theoryCourseList.push(e);
}else if(e.courseLabelType == '应用课程类'){
applicationCourseList.push(e);
}
}else if(e.sourceType == 1){
openCourseList.push(e)
}
});
var selectList ="<select lay-filter='select_courseInfoIds_'><option value=''>请选择</option>";
for (let currentAuthCourseInfoDetail of applicationCourseList) {
htmY += '<option value="' + (currentAuthCourseInfoDetail.courseInfoId || '-1')+'" status="'+currentAuthCourseInfoDetail.sourceType+'">' + (currentAuthCourseInfoDetail.courseInfoName || '未查询到数据') + '</option>';
}
for (let currentAuthCourseInfoDetail of theoryCourseList) {
htmL += '<option value="'+ (currentAuthCourseInfoDetail.courseInfoId || '-1')+'" status="'+currentAuthCourseInfoDetail.sourceType+'">'+ (currentAuthCourseInfoDetail.courseInfoName || '未查询到数据') +'</option>';
}
for (let currentAuthCourseInfoDetail of textualResearchCourseList) {
htmK += '<option value="'+ (currentAuthCourseInfoDetail.courseInfoId || '-1') + '" status="'+currentAuthCourseInfoDetail.sourceType+'">'+ (currentAuthCourseInfoDetail.courseInfoName || '未查询到数据') +'</option>';
}
for (let currentAuthCourseInfoDetail of openCourseList) {
htmO += '<option value="'+ (currentAuthCourseInfoDetail.courseInfoId || '-1') +'" status="'+currentAuthCourseInfoDetail.sourceType+'">'+ (currentAuthCourseInfoDetail.courseInfoName || '未查询到数据') +'</option>';
}
if($("#isUser").val() === "true"){
selectList += htmY + '</optgroup>' + htmK + '</optgroup>' + htmL + '</optgroup>' + htmO + '</optgroup>' + "</select>";
//console.log($("#isUser").val())
}else {
selectList+= htmL + '</optgroup>' + htmO + '</optgroup>' + "</select>";
}
/*$.each(courseLabelTypes, function (key, value) {
courseInfoMap[value.courseInfoId] = {courseInfoName: value.courseInfoName, children: value.children};
$.each(value.children, function (k, v) {
zjMap[v.courseInfoId] = {courseInfoName: v.courseInfoName, children: v.children};
});
});*/
var view = {
init: function () {
this.initTable();
this.initSearchForm();
this.initToolBar();
window.dataReload = function () {
Lib.doSearchForm($("#searchForm"), resourcesInfoTable);
}
},
initTable: function () {
resourcesInfoTable = table.render({
elem: '#resourcesInfoTable',
height: Lib.getTableHeight(),
cellMinWidth: 100,
method: 'post',
even: true,
size: "lg",
url: Common.ctxPath + '/jlw/resourcesInfo/getCurriculumResourceManagementList.json' // 数据接口
, page: Lib.tablePage // 开启分页
, limit: 10,
cols: [[ // 表头
{
type: 'checkbox'
},
{
field: 'resourcesInfoName', title: '资源名称', align: "center", style: "text-align: left;"
},
{
field: 'courseInfoParentParentName',
title: '归属课程',
templet: function (d) {
return selectList; //一级
}
},
{
field: 'courseInfoParentName',
title: '归属章节',
align: "center",
templet: function (d) {
var htm = "<select lay-filter='select_courseInfoIds_1'><option value=''>请选择</option>";
if (!$.isEmpty(d.courseInfoParentId)) {
if ($.isEmpty(selectMap[d.courseInfoParentParentId])) {
var h = htm;
var courseInfoChildtList = childCourseList(d.courseInfoParentParentId,2,d.sourceType);
if (!$.isEmpty(courseInfoChildtList)) {
courseInfoMap[d.courseInfoParentParentId] = courseInfoChildtList;
$.each(courseInfoChildtList, function (key, v) {
h += "<option value='" + v.courseInfoId + "'>" + v.courseInfoName + "</option>";
});
}
selectMap[d.courseInfoParentParentId] = h + "</select>";
return h;
} else {
return selectMap[d.courseInfoParentParentId];
}
} else {
return htm + "</select>"; //二级
}
}
},
{
field: 'courseInfoName', title: '归属小节', align: "center", width: 200, templet: function (d) {
var htm = "<select lay-filter='select_courseInfoIds_2'><option value=''>请选择</option>";
if (!$.isEmpty(d.courseInfoId)) {
if ($.isEmpty(selectMap[d.courseInfoParentId])) {
var h = htm;
var courseInfoChildtChildList = childCourseList(d.courseInfoParentId,3,d.sourceType);
if (!$.isEmpty(courseInfoChildtChildList)) {
zjMap[d.courseInfoParentId] = courseInfoChildtChildList;
$.each(courseInfoChildtChildList, function (key, v) {
h += "<option value='" + v.courseInfoId + "'>" + v.courseInfoName + "</option>";
});
}
selectMap[d.courseInfoParentId] = h + "</select>";
return h;
} else {
return selectMap[d.courseInfoParentId];
}
} else {
return htm + "</select>"; //三级
}
}
},
{
field: 'addTypeText', title: '来源', align: "center"
},
/*{
field: 'orgIdText', title: '上传院校', align: "center"
},*/
{
field: 'resourcesInfoType', title: '资源类型', align: "center", templet: function (d) {//(1视频 2PPT 3PDF)
var text = d.resourcesInfoType == 1 ? "视频" : d.resourcesInfoType == 2 ? "PPT" : d.resourcesInfoType == 3 ? "PDF" : d.resourcesInfoType == 4 ? "链接" : d.resourcesInfoType == 5 ? "图文" : '-';
return '<span class="textType">' + text + '</span>';
}
},
{
field: 'userId', title: '操作', align: "center", field: 'right', templet: function (d) {
var htm = '<a class="layui-table-link" lay-event="edit">编辑</a>';
// htm += '<a class="layui-table-link" lay-event="previewPage" >' + (d.resourcesInfoType == 3 ? '下载' : '预览') + '</a>';
if(d.resourcesInfoType == 4){
htm += '<a class="layui-table-link" href="'+d.resourcesInfoContent+'" target="_blank" >预览</a>';
}else {
htm += '<a class="layui-table-link" lay-event="previewPage" >预览</a>';
}
htm += '<a class="layui-table-link" lay-event="del">删除</a>';
return htm;
}
}
]], done: function (res, curr, count) {
$.each(res.data, function (k, v) {
$("div[lay-id='resourcesInfoTable'] tbody tr:eq(" + k + ")").find("select:eq(0)").val(v.courseInfoParentParentId);
$("div[lay-id='resourcesInfoTable'] tbody tr:eq(" + k + ")").find("select:eq(1)").val(v.courseInfoParentId);
$("div[lay-id='resourcesInfoTable'] tbody tr:eq(" + k + ")").find("select:eq(2)").val(v.courseInfoId);
});
form.render();
$.each($("td[data-field='courseInfoName']"), function (k, v) {
$(this).find("input").val($(this).find("input").context.dataset.content);
});
}
});
table.on('checkbox(resourcesInfoTable)', function (obj) {
var resourcesInfo = obj.data;
if (obj.checked) {
//按钮逻辑Lib.buttonEnable()
} else {
}
})
},
initSearchForm: function () {
Lib.initSearchForm($("#searchForm"), resourcesInfoTable, form);
},
initToolBar: function () {
toolbar = {
add: function () { // 获取选中数据
var url = "/jlw/resourcesInfo/add.do";
Common.openDlg(url, "资源管理/新增资源");
},
refresh: function () {//刷新
searchForm.reset();
Lib.doSearchForm($("#searchForm"), resourcesInfoTable, 1);
},
search: function () {
Lib.doSearchForm($("#searchForm"), resourcesInfoTable, 1);
},
allDel: function () {//批量删除
var checkStatus = table.checkStatus('resourcesInfoTable')
, data = checkStatus.data, ids = "";
for (var i = 0; i < data.length; i++) {
ids += data[i].resourcesInfoId;
if (i < data.length - 1) {
ids += ",";
}
}
if ($.isEmpty(ids)) {
layer.msg("请选择需要删除的数据!", {
offset: ['50%'],
icon: 2,
time: 1500 //2秒关闭如果不配置默认是3秒
});
return;
}
deleteInfo(ids);
},
bindingCourseInfo: function () {//批量绑定课程
var checkStatus = table.checkStatus('resourcesInfoTable')
, data = checkStatus.data, ids = "";
for (var i = 0; i < data.length; i++) {
ids += data[i].resourcesInfoId;
if (i < data.length - 1) {
ids += ",";
}
}
if ($.isEmpty(ids)) {
layer.msg("请选择需要绑定章节的数据!", {
offset: ['50%'],
icon: 2,
time: 1500 //2秒关闭如果不配置默认是3秒
});
return;
}
bindingCourseInfo(ids);
}
};
$('.ext-toolbar').on('click', function () {
var type = $(this).data('type');
toolbar[type] ? toolbar[type].call(this) : '';
});
}, initTableTool: table.on('tool(resourcesInfoTable)', function (obj) {
var data = obj.data;
if (obj.event === 'edit') {
var url = "/jlw/resourcesInfo/add.do?resourcesInfoId=" + data.resourcesInfoId;
Common.openDlg(url, "资源管理/编辑资源");
} else if (obj.event === "del") {
deleteInfo(data.resourcesInfoId);
} else if (obj.event === "previewPage") {
Lib.downloadFile(data);
}else if(obj.event === "look"){
var url = data.resourcesInfoContent;
var name = data.resourcesInfoName;
Lib.downloadFile2(url,name);
}
})
}
function deleteInfo(ids) {
layer.confirm('是否确定删除数据?', function (index) {
var ret = Common.postAjax("/jlw/resourcesInfo/deleteCourseSystemOAndUniversities.json", {ids: ids});
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.tableRefresh();
}
});
});
}
//批量绑定章节
function bindingCourseInfo(ids) {
layer.open({
type: 1,
title: "批量绑定章节",
shadeClose: true,
btn: ['确定', '关闭'],
btnAlign: 'c',
area: ['620px', '360px'],
content: $("#bindingCourseInfo_dialog"),
success: function (layero, index) {
$("#bindingCourseInfo_dialog select").val("");
$("#bindingCourseInfo_dialog .layui-input-inline").css("width", "400px");
form.render();
}, yes: function (index) {
var courseInfoId = $("#bindingCourseInfo_dialog select[name='courseInfoId']").val();
if ($.isEmpty(courseInfoId)) {
layer.msg("请选择归属小结!");
return;
}
var ret = Common.postAjax("/jlw/resourcesInfo/setCourseInfoId.json", {
courseInfoId: courseInfoId,
resourcesInfoIds: ids
});
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.tableRefresh();
layer.close(index);
}
});
}, btn2: function (index, layero) {
layer.close(index);
}
});
}
//选择归属课程 并且根据选择的课程查询章节 resourcesQuestionIdsIsNotNull:查询题目不为空的章节
form.on('select(select_courseInfoIds)', function (obj) {
let sourceType = $("select[name='courseInfoId_0']").find('option:selected').attr("status");
let courseInfoType = 2;//courseInfoType2 章节3 节)
Lib.getCourseInfo($("select[name='courseInfoId_1']"), obj.value,courseInfoType,sourceType, 1);
$("select[name='courseInfoId_2']").empty();
layui.form.render();
});
//选择归属课程 并且根据选择的课程查询章节
form.on('select(select_courseInfoIds_Node)', function (obj) {
let sourceType = $("select[name='courseInfoId_0']").find('option:selected').attr("status");
let courseInfoType = 3;//courseInfoType2 章节3 节)
Lib.getCourseInfo($("select[name='courseInfoId_2']"), obj.value,courseInfoType,sourceType);
});
//选择归属课程 并且根据选择的课程查询章节
form.on('select(select_courseId)', function (obj) {
var this_ = $("#bindingCourseInfo_dialog select[name='chapterId']");
var this_1 = $("#bindingCourseInfo_dialog select[name='courseInfoId']");
this_.empty();
this_.append("<option value=''>请选择</option>");
this_1.empty();
this_1.append("<option value=''>请选择</option>");
if (!$.isEmpty(obj.value)) {
$.each(courseInfoMap[obj.value].children, function (key, v) {
this_.append("<option value='" + v.courseInfoId + "'>" + v.courseInfoName + "</option>");
});
}
form.render();
});
//选择归属课程 并且根据选择的课程查询章节
form.on('select(select_chapterId)', function (obj) {
var this_ = $("#bindingCourseInfo_dialog select[name='courseInfoId']");
this_.empty();
this_.append("<option value=''>请选择</option>");
if (!$.isEmpty(obj.value)) {
$.each(zjMap[obj.value].children, function (key, v) {
this_.append("<option value='" + v.courseInfoId + "'>" + v.courseInfoName + "</option>");
});
}
form.render();
});
//选择归属课程 并且根据选择的课程查询章节
form.on('select(select_courseInfoIds_)', function (obj) {
var this_ = $(this).parents("td").next().find("select");
this_.empty();
this_.append("<option value=''>请选择</option>");
$(this).parents("td").next().next().find("select").empty();
$(this).parents("td").next().next().find("select").append("<option value=''>请选择</option>");
if (!$.isEmpty(obj.value)) {
if(!$.isEmpty(courseInfoMap[obj.value])){
$.each(courseInfoMap[obj.value], function (key, v) {
this_.append("<option value='" + v.courseInfoId + "'>" + v.courseInfoName + "</option>");
});
}else {
let sourceType = $(obj.elem).find("option:selected").attr("status");
var courseInfoChildtList = childCourseList(obj.value,2,sourceType);
if (!$.isEmpty(courseInfoChildtList)) {
courseInfoMap[obj.value] = courseInfoChildtList;
$.each(courseInfoChildtList, function (key, v) {
this_.append("<option value='" + v.courseInfoId + "'>" + v.courseInfoName + "</option>");
});
}
selectMap[obj.value] = this_.html();
}
}
form.render();
});
//选择归属课程 并且根据选择的课程查询章节
form.on('select(select_courseInfoIds_1)', function (obj) {
var this_ = $(this).parents("td").next().find("select");
this_.empty();
this_.append("<option value=''>请选择</option>");
if (!$.isEmpty(obj.value)) {
if(!$.isEmpty(zjMap[obj.value])){
$.each(zjMap[obj.value], function (key, v) {
this_.append("<option value='" + v.courseInfoId + "'>" + v.courseInfoName + "</option>");
});
}else{
let sourceType = $(obj.elem).parents("td").prevAll('td').find("option:selected").attr("status");;
var courseInfoChildtChildList = childCourseList(obj.value,3,sourceType);
if (!$.isEmpty(courseInfoChildtChildList)) {
zjMap[obj.value] = courseInfoChildtChildList;
$.each(courseInfoChildtChildList, function (key, v) {
this_.append("<option value='" + v.courseInfoId + "'>" + v.courseInfoName + "</option>");
});
}
selectMap[obj.value] = this_.html();
}
}
form.render();
});
//选择归属课程 并且根据选择的课程查询章节
form.on('select(select_courseInfoIds_2)', function (obj) {
var r = $(this).parents("td").find("input").context.innerHTML.replace(/&nbsp;/g, "");
$(this).parents("td").find("input").val(r);
var resourcesInfoId = table.cache['resourcesInfoTable'][$(this).parents("tr").attr("data-index")].resourcesInfoId;
var sourceType = table.cache['resourcesInfoTable'][$(this).parents("tr").attr("data-index")].sourceType;
if (!$.isEmpty(resourcesInfoId)) {
var ret = Common.postAjax("/jlw/resourcesInfo/edit.json", {
resourcesInfoId: resourcesInfoId,
courseInfoId: obj.value,
sourceType:sourceType
});
layer.msg(ret.code == 0 ? "绑定成功!" : ret.msg, {
offset: ['50%'],
icon: ret.code == 0 ? 1 : 2,
time: 1000 //2秒关闭如果不配置默认是3秒
}, function () {
if (ret.code == 0) {
Lib.tableRefresh();
layer.close(index);
}
});
}
});
exports('index', view);
});