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.

282 lines
14 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;
var laydate = layui.laydate;
var table = layui.table;
var resourcesQuestionTable = null;
var isAdmin = $("#isAdmin").val() === "true"?true:false;
var view = {
init: function () {
this.initTable();
this.initSearchForm();
this.initToolBar();
window.dataReload = function () {
Lib.doSearchForm($("#searchForm"), resourcesQuestionTable)
}
},
initTable: function () {
resourcesQuestionTable = table.render({
elem: '#resourcesQuestionTable',
height: Lib.getTableHeight(),
cellMinWidth: 100,
method: 'post',
even: true,
size: "lg",
url: Common.ctxPath + '/jlw/resourcesQuestion/testItemManageList.json' // 数据接口
, page: Lib.tablePage // 开启分页
, limit: 10,
cols: [[ // 表头
{
type: 'checkbox', align: "center"
},
{
field: 'questionStem', width: 320,
title: '题干', align: "center"
},
{
field: 'questionType', align: "center", width: 80,
title: '题型', templet: function (d) {//(1单选 2多选 3判断 4填空 5分析)
return d.questionType == 1 ? '单选' : d.questionType == 2 ? '多选' : d.questionType == 3 ? '判断' : '-';
}
},
{
field: 'courseInfoParentName',
title: '归属课程', align: "center"
},
{
field: 'courseInfoName',
title: '归属章节', align: "center"
},
{
field: 'addTypeText',
title: '题库来源', align: "center"
},
/*{
field: 'orgIdText',
title: '上传院校', align: "center"
},*/
{
field: 'questionStatus', width: 80,
title: '状态', align: "center", templet: function (d) {
return d.questionStatus === 1
? '<span class="layui-badge layui-bg-green" style="background-color: #abd5ff !important; color: #088eed!important">已上架</span>'
: '<span class="layui-badge layui-bg-gray" style="background-color: #dadada !important; color: #6c6c6c!important">已下架</span>'
}
},
{
field: 'userId', title: '操作', align: "center", width: 220, style:"text-align: left", templet: function (d) {
let htm = "";
/*if((d.sourceType == '2' && isAdmin) || (d.sourceType == '1' && !isAdmin)){
htm +='<a class="layui-table-link" lay-event="up" data-item="${JSON.stringify(d)}" >上架</a>\n'
+'<a class="layui-table-link" lay-event="down" data-item="${JSON.stringify(d)}" style="color: #bebebe!important">下架</a>'
+'<a class="layui-table-link" lay-event="edit">编辑</a>\n'
+'<a class="layui-table-link" lay-event="del">删除</a>';
}else{
htm += '<a class="layui-table-link" lay-event="edit">查看</a>';
}*/
if((d.addType == 'ADMIN_ADD' && isAdmin)){
htm +='<a class="layui-table-link" lay-event="up" data-item="${JSON.stringify(d)}" >上架</a>\n'
+'<a class="layui-table-link" lay-event="down" data-item="${JSON.stringify(d)}" style="color: #bebebe!important">下架</a>'
+'<a class="layui-table-link" lay-event="edit">编辑</a>\n'
+'<a class="layui-table-link" lay-event="del">删除</a>';
}else if((d.addType == 'ADMIN_ADD' && !isAdmin)){
htm += '<a class="layui-table-link" lay-event="edit">查看</a>';
}
// TODO 上下架前端逻辑待开发
return htm;
}
}
]]
});
table.on('checkbox(resourcesQuestionTable)', function (obj) {
var resourcesQuestion = obj.data;
if (obj.checked) {
//按钮逻辑Lib.buttonEnable()
} else {
}
})
},
initSearchForm: function () {
Lib.initSearchForm($("#searchForm"), resourcesQuestionTable, form);
},
initToolBar: function () {
toolbar = {
add: function () { // 获取选中数据
var url = "/jlw/resourcesQuestion/add.do";
Common.openDlg(url, "题库管理/新增题目");
},
refresh: function () {//刷新
searchForm.reset();
Lib.doSearchForm($("#searchForm"), resourcesQuestionTable, 1);
},
up: function () {
var data = Common.getMoreDataFromTable(table, "handsOnTable");
var ids = Common.concatBatchId(data, "handsOnId");
upDrown(1, data.resourcesQuestionId,data.sourceType);
},
down: function () {
var data = Common.getMoreDataFromTable(table, "handsOnTable");
var ids = Common.concatBatchId(data, "handsOnId");
upDrown(2, data.resourcesQuestionId,data.sourceType);
},
search: function () {
Lib.doSearchForm($("#searchForm"), resourcesQuestionTable, 1);
}, import: function () {
var url = "/jlw/resourcesQuestion/importPage.do";
Common.openDlg(url, "");
}, allDel: function () {
var checkStatus = table.checkStatus('resourcesQuestionTable').data;
if (checkStatus.length <= 0) {
layer.msg("请选择需要删除的题目!", {
offset: ['50%'],
icon: 2,
time: 2000 //2秒关闭如果不配置默认是3秒
});
return;
}
var ids = "";
for (var i = 0; i < checkStatus.length; i++) {
ids += checkStatus[i].resourcesQuestionId;
if (i < checkStatus.length - 1) {
ids += ",";
}
}
allDelete(ids);
}, chapter: function () { //批量章节调整
$("select[name='courseInfoIds_1'],select[name='courseInfoIds_2']").val("");
$("select[name='courseInfoId_1'],select[name='courseInfoId_2']").html("<option value=\"\">请选择</option>");
form.render();
layer.open({
type: 1,
offset: 'auto',
title: '批量章节调整',
shadeClose: 'true',
area: ['800px', '300px'],
scrollbar: 'false',
btnAlign: 'c',
content: $("#chapter_dialog"),
btn: ['确定', '取消'],
yes: function (index, layero) {
var oldCourseInfoId = $("#chapter_dialog select[name='courseInfoId_1']").val(),
newCourseInfoId = $("#chapter_dialog select[name='courseInfoId_2']").val();
if ($.isEmpty(oldCourseInfoId)) {
layer.msg("请选择题目来源章节!", {
offset: ['50%'],
icon: 2,
time: 1500 //2秒关闭如果不配置默认是3秒
});
return;
}
if ($.isEmpty(newCourseInfoId)) {
layer.msg("请选择题去向源章节!", {
offset: ['50%'],
icon: 2,
time: 1500 //2秒关闭如果不配置默认是3秒
});
return;
}
layer.confirm('是否确定调整该章节信息?', function (index1) {
layer.close(index1);
layer.load(3);
setTimeout(function () {
var ret = Common.postAjax("/jlw/resourcesQuestion/changAll.json", {
oldCourseInfoId: oldCourseInfoId,
newCourseInfoId: newCourseInfoId
})
layer.closeAll("loading");
layer.msg(ret.msg, {
offset: ['50%'],
icon: ret.code == 0 ? 1 : 2,
time: 1500 //2秒关闭如果不配置默认是3秒
}, function () {
if (ret.code == 0) {
layer.close(index);
Lib.tableRefresh();
}
});
}, 200);
});
}
});
}
};
$('.ext-toolbar').on('click', function () {
var type = $(this).data('type');
toolbar[type] ? toolbar[type].call(this) : '';
});
}, initTableTool: table.on('tool(resourcesQuestionTable)', function (obj) {
var data = obj.data;
if (obj.event === 'edit') {
var url = "/jlw/resourcesQuestion/add.do?resourcesQuestionId=" + data.resourcesQuestionId;
Common.openDlg(url, "题库管理/编辑题目");
} else if (obj.event === "del") {
allDelete(data.resourcesQuestionId);
} else if (obj.event === "up") {
upDrown(1, data.resourcesQuestionId,data.sourceType);
} else if (obj.event === "down") {
upDrown(2, data.resourcesQuestionId,data.sourceType);
}
})
}
//删除
function allDelete(ids) {
layer.confirm('是否确定删除该信息?', function (index) {
var ret = Common.postAjax("/jlw/resourcesQuestion/delete.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 upDrown(status, ids ,sourceType) {
layer.confirm(status == 1 ? '是否确定上架该试题?' : '是否确定下架该试题?', function (index) {
var ret = Common.postAjax("/jlw/resourcesQuestion/putOnShelves.json", {
resourcesQuestionId: ids,
questionStatus: status,
sourceType:sourceType
});
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();
}
});
});
};
//选择归属课程 并且根据选择的课程查询章节 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_)', function (obj) {
let sourceType = $("select[name='courseInfoId_0']").find('option:selected').attr("status");
let courseInfoType = 3;
Lib.getCourseInfo($("select[name='courseInfoId_2']"), obj.value,courseInfoType,sourceType);
});
exports('index', view);
});