第一版

This commit is contained in:
2026-03-18 10:19:33 +08:00
commit 0fae39b1ee
371 changed files with 49831 additions and 0 deletions

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,175 @@

$(function(){
InitLeftMenu();
tabClose();
tabCloseEven();
})
//初始化左侧
function InitLeftMenu() {
$("#nav").accordion({animate:false});
$.each(_menus.menus, function(i, n) {
var menulist ='';
menulist +='<ul>';
$.each(n.menus, function(j, o) {
menulist += '<li><div><a ref="'+o.menuid+'" href="#" rel="' + o.url + '" ><span class="icon '+o.icon+'" >&nbsp;</span><span class="nav">' + o.menuname + '</span></a></div></li> ';
})
menulist += '</ul>';
$('#nav').accordion('add', {
title: n.menuname,
content: menulist,
iconCls: 'icon ' + n.icon
});
});
$('.easyui-accordion li a').click(function(){
var tabTitle = $(this).children('.nav').text();
var url = $(this).attr("rel");
var menuid = $(this).attr("ref");
var icon = getIcon(menuid,icon);
addTab(tabTitle,url,icon);
$('.easyui-accordion li div').removeClass("selected");
$(this).parent().addClass("selected");
}).hover(function(){
$(this).parent().addClass("hover");
},function(){
$(this).parent().removeClass("hover");
});
//选中第一个
var panels = $('#nav').accordion('panels');
var t = panels[0].panel('options').title;
$('#nav').accordion('select', t);
}
//获取左侧导航的图标
function getIcon(menuid){
var icon = 'icon ';
$.each(_menus.menus, function(i, n) {
$.each(n.menus, function(j, o) {
if(o.menuid==menuid){
icon += o.icon;
}
})
})
return icon;
}
function addTab(subtitle,url,icon){
if(!$('#tabs').tabs('exists',subtitle)){
$('#tabs').tabs('add',{
title:subtitle,
content:createFrame(url),
closable:true,
icon:icon
});
}else{
$('#tabs').tabs('select',subtitle);
$('#mm-tabupdate').click();
}
tabClose();
}
function createFrame(url)
{
var s = '<iframe scrolling="auto" frameborder="0" src="'+url+'" style="width:100%;height:100%;"></iframe>';
return s;
}
function tabClose()
{
/*双击关闭TAB选项卡*/
$(".tabs-inner").dblclick(function(){
var subtitle = $(this).children(".tabs-closable").text();
$('#tabs').tabs('close',subtitle);
})
/*为选项卡绑定右键*/
$(".tabs-inner").bind('contextmenu',function(e){
$('#mm').menu('show', {
left: e.pageX,
top: e.pageY
});
var subtitle =$(this).children(".tabs-closable").text();
$('#mm').data("currtab",subtitle);
$('#tabs').tabs('select',subtitle);
return false;
});
}
//绑定右键菜单事件
function tabCloseEven()
{
//刷新
$('#mm-tabupdate').click(function(){
var currTab = $('#tabs').tabs('getSelected');
var url = $(currTab.panel('options').content).attr('src');
$('#tabs').tabs('update',{
tab:currTab,
options:{
content:createFrame(url)
}
})
})
//关闭当前
$('#mm-tabclose').click(function(){
var currtab_title = $('#mm').data("currtab");
$('#tabs').tabs('close',currtab_title);
})
//全部关闭
$('#mm-tabcloseall').click(function(){
$('.tabs-inner span').each(function(i,n){
var t = $(n).text();
$('#tabs').tabs('close',t);
});
});
//关闭除当前之外的TAB
$('#mm-tabcloseother').click(function(){
$('#mm-tabcloseright').click();
$('#mm-tabcloseleft').click();
});
//关闭当前右侧的TAB
$('#mm-tabcloseright').click(function(){
var nextall = $('.tabs-selected').nextAll();
if(nextall.length==0){
//msgShow('系统提示','后边没有啦~~','error');
alert('后边没有啦~~');
return false;
}
nextall.each(function(i,n){
var t=$('a:eq(0) span',$(n)).text();
$('#tabs').tabs('close',t);
});
return false;
});
//关闭当前左侧的TAB
$('#mm-tabcloseleft').click(function(){
var prevall = $('.tabs-selected').prevAll();
if(prevall.length==0){
alert('到头了,前边没有啦~~');
return false;
}
prevall.each(function(i,n){
var t=$('a:eq(0) span',$(n)).text();
$('#tabs').tabs('close',t);
});
return false;
});
//退出
$("#mm-exit").click(function(){
$('#mm').menu('hide');
})
}
//弹出信息窗口 title:标题 msgString:提示信息 msgType:信息类型 [error,info,question,warning]
function msgShow(title, msgString, msgType) {
$.messager.alert(title, msgString, msgType);
}

View File

@@ -0,0 +1,180 @@
/**
* 扩展easyui表单的验证
*/
$.extend($.fn.validatebox.defaults.rules, {
//验证汉字
CHS: {
validator: function (value) {
return /^[\u0391-\uFFE5]+$/.test(value);
},
message: '只能输入汉字'
},
//移动手机号码验证
mobile: {//value值为文本框中的值
validator: function (value) {
var reg = /^1[3|4|5|8|9]\d{9}$/;
return reg.test(value);
},
message: '13/14/15/18/19开头,且11位的手机号'
},
//只能为数字
number: {//value值为文本框中的值
validator: function (value) {
var reg = /^[0-9]*$/;
return reg.test(value);
},
message: '只能为数字格式'
},
//验证账号不能重复
repeat: {
validator: function (value) {
var flag = true;
$.ajax({
type: "post",
async: false,
url: "SystemServlet?method=AllAccount&t="+new Date().getTime(),
success: function(data){//在验证函数里加载数据,加载过来后判断输入的值
var account = $.parseJSON(data);
for(var i=0;i < account.length;i++){
if(value == account[i]){
flag = false;
break;
}
}
}
});
return flag;
},
message: '用户已存在'
},
//验证课程不能重复
repeat_course: {
validator: function (value) {
var flag = true;
$.ajax({
type: "post",
async: false,
url: "CourseServlet?method=CourseList&t="+new Date().getTime(),
success: function(data){//在验证函数里加载数据,加载过来后判断输入的值
var course = $.parseJSON(data);
for(var i=0;i < course.length;i++){
if(value == course[i].name){
flag = false;
break;
}
}
}
});
return flag;
},
message: '课程名称已存在'
},
//验证年级不能重复
repeat_grade: {
validator: function (value) {
var flag = true;
$.ajax({
type: "post",
async: false,
url: "GradeServlet?method=GradeList&t="+new Date().getTime(),
success: function(data){//在验证函数里加载数据,加载过来后判断输入的值
var grade = $.parseJSON(data);
for(var i=0;i < grade.length;i++){
if(value == grade[i].name){
flag = false;
break;
}
}
}
});
return flag;
},
message: '年级名称已存在'
},
//验证班级不能重复
repeat_clazz: {
validator: function (value, param) {
var gradeid = $(param[0]).combobox("getValue");
var flag = true;
$.ajax({
type: "post",
async: false,
data: {gradeid: gradeid},
url: "ClazzServlet?method=ClazzList&t="+new Date().getTime(),
success: function(data){//在验证函数里加载数据,加载过来后判断输入的值
var clazz = $.parseJSON(data);
for(var i=0;i < clazz.length;i++){
if(value == clazz[i].name){
flag = false;
break;
}
}
}
});
return flag;
},
message: '该年级下已存在同名班级'
},
//验证两个值是否相同
equals: {//param的值为[]中值
validator: function (value, param) {
if($(param[0]).val() != value){
return false;
} else{
return true;
}
}, message: '两次密码不同.'
},
//密码规则
password: {
validator: function (value) {
var reg = /^[a-zA-Z0-9]{6,16}$/;
return reg.test(value);
}, message: '密码6-16位且只能为英文、数字'
},
//验证输入密码是否正确
oldPassword: {
validator: function (value, param) {
if(param != value){
return false;
} else{
return true;
}
}, message: '密码不正确'
},
//国内邮编验证
zipcode: {
validator: function (value) {
var reg = /^[1-9]\d{5}$/;
return reg.test(value);
},
message: '邮编必须是非0开始的6位数字.'
},
//用户账号验证(只能包括 _ 数字 字母)
account: {//param的值为[]中值
validator: function (value, param) {
if (value.length < param[0] || value.length > param[1]) {
$.fn.validatebox.defaults.rules.account.message = '用户名长度必须在' + param[0] + '至' + param[1] + '范围';
return false;
} else {
if (!/^[\w]+$/.test(value)) {
$.fn.validatebox.defaults.rules.account.message = '用户名只能数字、字母、下划线组成.';
return false;
} else {
return true;
}
}
}, message: ''
}
})