批量导入
批量导入试题
需要用到批量导入这个功能的情况,一般都是在已经把想要录入的信息写好了,并保存在某个文件模板里面。录入的时候只需要直接上传文件,然后再检查试题是否符合录入的要求,如果格式不正确就要按照规则修改。为了使用户在录入的时候避免因为录入不规范导致的录入失败,就特地把需要注意的事项写好并放在右侧,便于用户查看。
还有值得注意的是考虑到有些上传的试题是已经存在数据库中的,如果继续保存就会在保存试题的时候出现重复。想到这一点,就多写了个提示对话框,提示用户若存在与数据库中一样的试题,则该试题不能被上传,请确认是否上传。所以必须要检查清楚上传到界面中的试题,在确认没有重复之后就可以保存上传的试题了。
//导入试题
function ImportTitles()
{
$("#frmUpWord input[type='file']").click();
}
//上传试题
function uploadWord()
{
//加载层
var layerIndex = layer.load();
//提交表单
$("#frmUpWord").ajaxSubmit(function (returnMsg) {
//关闭加载层
layer.close(layerIndex);
if (returnMsg.State) {
$("#titlesInfor").html(returnMsg.Text);
layer.msg("试题导入成功,请检查试题!", { icon: 1, skin: "layui-layer-molv" });
}
else {
layer.msg(message.Text, { icon: 0, skin: "layui-layer-molv" });
}
});
}
//保存试题
function saveImport() {
layer.confirm("上传的试题中若存在与数据库中一样的试题,则该试题不能被上传,请确认是否上传?", {
icon: 0,
title: "提示"
}, function (layerIndex) {
layer.close(layerIndex);
//获取题目信息
var SubjectID = $("#Subject").val();
var UnitID = $("#Unit").val();
var titlesInfor = $("#titlesInfor").html();
//console.log(titlesInfor);
//对题目信息进行编码,将字符串作为URI组件进行编码
titlesInfor = encodeURIComponent(titlesInfor);
//判断保存的题目信息是否完整
if (SubjectID > 0 && UnitID > 0 && titlesInfor != "" && titlesInfor != undefined) {
//加载层
var lay = layer.load();
$.post("SaveImport", { Content: titlesInfor, SubjectID: SubjectID, UnitID: UnitID }, function (returnMsg) {
layer.close(lay);
if (returnMsg.State) {
//弹出保存成功的对话框
layer.alert(returnMsg.Text, { icon: 1, skin: "layui-layer-molv" },
function (layerOpen) {
//关闭对话框
layer.close(layerOpen);
window.location.href = "/ExamQuesManagement/TitleBaseInfor/TitleBaseInfor";
});
} else {
layer.msg(returnMsg.Text, { icon: 0, skin: "layui-layer-molv" });
}
});
}
else {
layer.msg("请将题目信息填写完整!", { icon: 3, skin: "layui-layer-molv" });
}
});
}
效果图: