346 lines
11 KiB
Plaintext
346 lines
11 KiB
Plaintext
|
|
<%@ 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>
|