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> |