Examination_system/Examination_system-1/.svn/pristine/f8/f8fdd7a60d8ca59e08c5644349a...

346 lines
11 KiB
Plaintext
Raw Normal View History

2023-10-30 13:10:40 +08:00
<%@ page contentType="text/html;charset=UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fns" uri="/WEB-INF/tlds/fns.tld" %>
<!DOCTYPE html>
<html>
<head>
<%@include file="../baseset.jsp" %>
<%@include file="../systemset.jsp" %>
<link rel="stylesheet" href="${bonuspath}/static/plugins/zTree/3.5/zTreeStyle.css" />
<script src="${bonuspath}/static/plugins/zTree/3.5/jquery.ztree.core-3.5.min.js"></script>
<title></title>
<style type="text/css">
.p{
margin:1% 2% 0 1%;
}
.flag{
width:15%;
text-align: right;
}
.flag>span{
padding-right:1em;
}
.con{
width:35%;
text-align: left;
}
.lang{
valign:middle;
width:80%;
text-align: left;
}
.inp{
width:80%;
}
.linp{
width:91.5%;
}
</style>
</head>
<body>
<div class="p">
<form id="gradeForm" method="POST" onsubmit="return false;" >
<table id="baseTable" cellspacing="0" cellpadding="0" border="0" style="margin: 2em 1em;" class="customTable">
<tbody>
<tr class="FormData">
<td class="flag"><span><font color="red">*</font>试卷名称:</span></td>
<td class="con">
<input maxlength="20" class="inp" jyValidate="required" value="${bean.examName}" name="examName" type="text" />
</td>
<td class="hide">
<input type="text" class="inp" name="examId" value="${bean.examId }"/>
</td>
<td class="flag"><span><font color="red">*</font>考试场次:</span></td>
<td class="con">
<input oninput="if( this.value.length > 4 ) this.value = this.value.slice(0,4)" type="number" jyValidate="required" class="inp" name="examCount" value="${bean.examCount }"/>
</td>
</tr>
<tr class="FormData">
<td class="flag"><span><font color="red">*</font>发布人:</span></td>
<td class="con">
<input class="inp" jyValidate="required" readonly="readonly" value="${sessionUser.name}" type="text" />
<input class="inp" jyValidate="required" hidden="hidden" readonly="readonly" value="${sessionUser.id}" name="fabuUserid" type="text" />
</td>
<td class="flag"><span><font color="red">*</font>考试时长(分钟)</span></td>
<td class="con">
<input oninput="if( this.value.length > 4 ) this.value = this.value.slice(0,4)" type="number" jyValidate="required" class="inp" name="examTime" value="${bean.examTime }"/>
</td>
</tr>
<tr class="FormData">
<td class="flag"><span><font color="red"></font> </span></td>
<td class="con">
<input class="inp" id="orgName" readonly="readonly" value="点击进行专业选择" jyValidate="required" type="text" onclick="showRole(); return false;" />
<input type="hidden" id="orgId" name="questionType" value="">
<div id='orgContent' class="menuContent ztreeMC" style="display: none;width:25%; position: absolute;z-index: 999;background-color: #e7e7e7;">
<ul id="orgTree" class="ztree accountOrgTree"></ul>
</div>
</td>
<td class="flag"><span><font color="red">*</font>考生查看成绩:</span></td>
<td class="con">
<select name="viewGrade" jyValidate="required" class="js-example-basic-single form-control inp" >
<option value="1" <c:if test="${bean.viewGrade eq 1}">selected="selected"</c:if>>允许</option>
<option value="0" <c:if test="${bean.viewGrade eq 0}">selected="selected"</c:if>>不允许</option>
</select>
</td>
</tr>
</tbody>
</table>
</form>
<form id="gradeForminfo" method="POST" onsubmit="return false;" >
<table id="baseTable1" cellspacing="0" cellpadding="0" border="0" style="margin: 2em 1em;" class="customTable">
<tr>
<td colspan="4">
<table id="machineTable" class="table table-striped table-bordered table-hover">
<thead>
<tr>
<th style="width:5%" class="center hidden-480">序号</th>
<th style="width:10%" class="center">专业类型</th>
<!-- <th style="width:10%" class="center">难易程度</th> -->
<th style="width:5%" class="center">操作</th>
</tr>
</thead>
<tbody id="list">
</tbody>
</table>
</td>
</tr>
</table>
</from>
</div>
<script type="text/javascript">
var machines = new Set(); //专业容器
var size = 1; //序号
var map =[];
var mapinfo={};
$(function () {
loadOrgTree();
var type = "${type}";
if(type == "edit") {
var pro = "${profess}";
var profess = pro.split(',');
var pna = "${pName}";
var pName = pna.split(',');
for(var i = 0; i < profess.length - 1; i++) {
machines.add(profess[i] + "");
$("#list").append(renderData(profess[i], size, pName[i]));
size++;
}
}
/* var type = "${type}";
if(type == "edit") {
var profess = ${profess};
var difficult = ${difficult};
if(profess != null && profess != "") {
for(var i = 0; i < profess.length; i++) {
var index = i + 1;
}
}
} */
});
function loadOrgTree(){
JY.Ajax.doRequest(null,bonuspath +'/backstage/user/orgTree',null,function(data){
$.fn.zTree.init($("#orgTree"),{view:{dblClickExpand:true,selectedMulti:false,nameIsHTML:true},data:{simpleData:{enable: true}},
callback:{onClick:clickRole
}},data.obj);
});
}
/**
* 专业的选择
*/
var preisShow=false;//窗口是否显示
function showRole() {
if(preisShow){
hideRole();
}else{
var obj = $("#orgName");
var offpos = $("#orgName").position();
$("#orgContent").css({width:offpos.width+"px",left:offpos.left+"px",top:offpos.top+obj.heigth+"px"}).slideDown("fast");
preisShow=true;
}
}
function hideRole(){
$("#orgContent").fadeOut("fast");
preisShow=false;
}
function clickRole(e, treeId, treeNode) {
if(!treeNode.isParent){
var check = (treeNode);
if(check){
var zTree = $.fn.zTree.getZTreeObj("orgTree"),
nodes = zTree.getSelectedNodes(),v ="",n ="",o="",p="";
for (var i=0, l=nodes.length; i<l; i++) {
v += nodes[i].name + ",";//获取name值
n += nodes[i].id + ",";//获取id值
o += nodes[i].other + ",";//获取自定义值
var pathNodes=nodes[i].getPath();
for(var y=0;y<pathNodes.length;y++){
p+=pathNodes[y].name+"/";//获取path/name值
}
}
if (v.length > 0 ) v = v.substring(0, v.length-1);
if (n.length > 0 ) n = n.substring(0, n.length-1);
if (o.length > 0 ) o = o.substring(0, o.length-1);
if (p.length > 0 ) p = p.substring(0, p.length-1);
$("#orgId").val(n);
saveMaInfo(treeNode.id, p);
hideRole();
}
}
}
function saveMaInfo(nodeId, pName){
if(machines.has(nodeId)) {
var indexMsg = layer.confirm("<h4 style='color:red;'>已经选择了该专业类型!</h4>", {btn: ['关闭']},function(){
layer.close(indexMsg);
});
} else {
machines.add(nodeId + "");
$("#list").append(renderData(nodeId, size, pName));
size++;
}
}
/* function validPartIsSelected(obj){
if(machines[obj.id]){
return true;
}
return false;
} */
/**
* @author
* @date
* @function 渲染数据
* @returns
*/
function renderData(nodeId, size, pName){
var html = "";
html += "<tr class='pa"+size+"'>";
html += "<td class='center'>"+size+"</td>";
html += "<td class='center'>"+pName+"</td>";
html += "<td class='hide'><input mame='examPerfession' value="+nodeId+"></td>";
/* html += "<td class='filed1'><select name='difficultId'><option>请选择难易程度</option><option value=1>简单</option><<option value=2>普通</option>/<option value=3>困难</option>select></td>"; */
html += "<td class='center'><a onclick='delPartData("+nodeId+",this)'>删除</a></td></tr>";
return html;
}
function delPartData(id,that){
var indexMsg = layer.confirm("<h4 style='color:red'>您确定删除此项专业类型吗?</h4>", {btn: ['确定','取消']},function(){
layer.close(indexMsg);
$(that).parent().parent().remove();
machines.delete(id + "");
});
}
/**
* @author
* @date 2020-12-17
* @function 回调子页面函数
* @returns dc
*/
/* function invokeSubPageFunction(obj,p){
machines[obj.id] = obj;
var size = Object.getOwnPropertyNames(machines).length
$("#list").append(renderData(obj,size,p));
} */
var gradeList = '${examCounts}';
function getInfo(type, examId, examCount){
var m = [];
if(JY.Validate.newForm("baseTable")){
var data1 = paramConversionToObjOfForm("baseTable"); //获取Form表单数据项
console.log("data1====",data1.examCount);
}
console.log(gradeList);
var gradeLists = gradeList.split(";");
var flage = false;
for (var info of gradeLists){
if(data1.examCount == info){
flage = true;
break;
}
}
if(type == 2 && data1.examCount == examCount) { //修改操作时考试场次为原来的场次,去除限制
flage = false;
}
if(flage){
var indexMsgs = layer.confirm("<h4 style='color:red'>考试场次为"+data1.examCount+"的考试还未结束或已发布,请不要选择重复场次!!!</h4>", {btn: ['关闭']},function(){
layer.close(indexMsgs);
});
}else{
//var trlength= $("#machineTable").find("tr").length; //行数
for(var i = 1; i <= size; i++) {
var examPerfession= $("#list").find(".pa"+i+"").find(".hide").find("input").val();
if(examPerfession != null) {
var difficultId= 1; //固定为1
let obj = {'examPerfession':examPerfession,'difficultId':difficultId};
m.push(obj);
}
}
/* for(var i=1;i<trlength;i++){
var examPerfession= $("#list").find(".pa"+i+"").find(".hide").find("input").val();
var difficultId= 1; //固定为1
let obj = {'examPerfession':examPerfession,'difficultId':difficultId};
m.push(obj);
} */
var idx = layer.msg('正在提交保存,请稍等...', {
icon: 16
,shade: 0.01
,time:'-1'
});
var data = {} ;
data["createArr"] = m;
data["modifyArr"] = data1;
if(type == 1) { //新增
data["type"] = 1;
}
if(type == 2) { //修改
data["type"] = 2;
data["examId"] = examId;
}
console.log(JSON.stringify(data))
$.ajax({
type:"POST",
url:bonuspath +'/backstage/grade/FormPageinfo',
data:JSON.stringify(data),
dataType:"json",
contentType : "application/json;charsetset=UTF-8",//必须
success:function(data){
layer.close(idx);
if(data.res == 1){
var i = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
parent.layer.close(i);
parent.showMsgAndReload(data.resMsg);
}
else{
var indexMsg = layer.confirm("<h3 style='color:red'>"+data.resMsg+"</h3>", {btn: ['关闭']},function(){
layer.close(indexMsg);
});
}
},
error:function(data){
layer.msg("数据加载失败!",{icon:2,time:2000})
layer.close(idx);
}
}) ;
}
}
function formValid(){
return JY.Validate.form("gradeForm");
}
</script>