📄 common.js
字号:
}
return temp;
}
//判断该值是否已经存在于数组中
function contains(arr,key){
for(var i=0;i<arr.length;i++){
if(arr[i].id==key) return true;
}
return false;
}
//对数组进行排序--冒泡
//criArr - 待排序数组
//type - 排序字段数据类型
//order - 按照升序还是降序排序
function sortArr(criArr,type,order){
for(var i=0;i<criArr.length;i++){
for(var j=0;j<criArr.length-i-1;j++){
if(type=="1"){
var v1 = criArr[j].value;
var v2 = criArr[j+1].value;
}else{
var v1 = parseFloat(criArr[j].value);
var v2 = parseFloat(criArr[j+1].value);
}
if(v1>v2){
var tmp = criArr[j];
criArr[j]=criArr[j+1];
criArr[j+1]=tmp;
}
}
}
if(order==1){
criArr = criArr.reverse()
}
}
function down(name,type){
//var el=event.srcElement;
var el=getEventElement();
resetAllOrderImg(el);
//var viewid = document.all("_view").value;
var viewid = getAllElements("_view")[0].value;
var unitid = getUnitId(el);
//得到标题行id
var titleId = getParentTr(el).id;
//得到触发事件对象的隐藏域名
var tn = unitid+"."+name;
//alert(el.parentElement.tagName)
var parentTD = el.parentElement;
parentTD.all("order2").style.display="";
parentTD.all("order1").style.display="none";
parentTD.all("order4").style.display="";
parentTD.all("order3").style.display="none";
//得到列表table对象
//var ltable = document.all(unitid+"_list");
var ltable = getAllElements(unitid+"_list")[0];
var trArr = ltable.getElementsByTagName("TR");
//初始化待排序数组
var criArr = initCriArr(trArr, tn, type,titleId);
//对数组进行排序
sortArr(criArr, type, 1);
paintList(ltable,criArr);
var t="";
for(var i=0;i<criArr.length;i++){
t+=criArr[i].id+" "+criArr[i].value+"\r";
}
//重新排序
order(unitid);
//alert(t);
}
//设置其他列名的排序图标
function resetAllOrderImg(obj){
var trobj = getParentTr(obj);
var o2 = trobj.all("order2");
for(var i=0;i<o2.length;i++){
o2[i].style.display="";
}
var o1 = trobj.all("order1");
for(var i=0;i<o1.length;i++){
o1[i].style.display="none";
}
var o4 = trobj.all("order4");
for(var i=0;i<o4.length;i++){
o4[i].style.display="none";
}
var o3 = trobj.all("order3");
for(var i=0;i<o3.length;i++){
o3[i].style.display="";
}
}
//建立tr对象
function trobjct(id,value) {
//tr的id
this.id = id;
//排序字段的值
this.value = value;
}
//显示排序后的列表
function paintList(table,criArr){
for(var i=0;i<criArr.length;i++){
var trArr = getAllTrByID(table,criArr[i].id);
for(var j=0;j<trArr.length;j++){
table.appendChild(trArr[j]);
}
}
//reset
table.parentElement.innerHTML = table.parentElement.innerHTML ;
}
//得到所有指定tr id 的行数组
function getAllTrByID(table,id){
var temp = new Array();
var trArr = table.getElementsByTagName("TR");
for(var i=0;i<trArr.length;i++){
if(trArr[i].id==id) temp.push(trArr[i]);
}
return temp;
}
//卡片类型单元--显示指定卡片
//allid -- 所有卡片id
//id - 卡片id
function showcard(allid,id){
//得到所有卡片id数组
var idArr = allid.split(',');
//var el=event.srcElement;
var el=getEventElement();
resetClass(el);
var tobj = getTable(el);
var tobj = getTable(tobj);
//隐藏其他卡片内容
for(var i=0;i<idArr.length;i++){
if(idArr[i]==id) continue;
var subArr = getAllTrByID(tobj,idArr[i]);
for(var j=0;j<subArr.length;j++){
subArr[j].style.display="none";
}
}
//显示指定卡片内容
var trArr = getAllTrByID(tobj,id);
for(var i=0;i<trArr.length;i++){
trArr[i].style.display="";
}
}
//重设卡片导航条的class
//obj -- 被触发事件的对象
function resetClass(obj){
var row = getRow(obj);
var tdArr = row.getElementsByTagName("TD");
for(var i=0;i<tdArr.length;i++){
//设置未选中
tdArr[i].className='title_card_unselected';
}
//设置选中
obj.className = 'title_card_selected';
}
//
function showDialog(url,obj,fea){
window.showModalDialog(getContextPath() + url,obj,fea);
}
//记录选中行对象
var pinRowArr=new Array();
//记录选中行class
var pinArrs=new Array();
//记录mouseover行class
var classArrs = new Array();
//响应onmouseover事件
function onMouse(){
//var el=event.srcElement;
var el=getEventElement();
if(el.tagName=='TD'){
var row = getRow(el);
//不处理标题行
if(row.id=='_g_0') return;
var rows =getAllTrByID(getTable(el),row.id);
for(var j =0; j<rows.length; j++){
for(var i =0; i<pinRowArr.length; i++){
//如果已经被选中,则不处理onmouseover事件
if(pinRowArr[i]==rows[j]) return;
}
}
classArrs = new Array();
for(var j =0; j<rows.length; j++){
var tclassArr = new Array();
for(var i =0; i<rows[j].cells.length; i++){
tclassArr.push(rows[j].cells[i].className);
rows[j].cells[i].className =rows[j].cells[i].className+ ' cell_select';
}
classArrs.push(tclassArr);
}
}
}
//响应onmouseout事件
function offMouse(){
//var el=event.srcElement;
var el=getEventElement();
if(el.tagName=='TD'){
var row = getRow(el);
//不处理标题行
if(row.id=='_g_0') return;
var rows =getAllTrByID(getTable(el),row.id);
for(var j =0; j<rows.length; j++){
for(var i =0; i<pinRowArr.length; i++){
//如果已经被选中,则不处理onmouseover事件
if(pinRowArr[i]==rows[j]) return;
}
}
for(var j =0; j<rows.length; j++){
for(var i =0; i<rows[j].cells.length; i++){
rows[j].cells[i].className=classArrs[j][i];
}
}
}
}
//响应onclick事件
function onPin(){
//var el=event.srcElement;
var el=getEventElement();
if(el.tagName=='TD'){
var row = getRow(el);
//不处理标题行
if(row.id=='_g_0') return;
var rows =getAllTrByID(getTable(el),row.id);
//for(var j =0; j<rows.length; j++){
// if(pinRowArr.length>0){
// for(var i =0; i<pinRowArr.length; i++){
//如果当前行已经被选中则不再次处理,直接返回
// if(pinRowArr[i]==rows[j]) return;
// }
// }
//}
if(pinRowArr.length>0){
//复原上一个选中行
for(var j =0; j<pinRowArr.length; j++){
if(pinRowArr[j].cells.length==0){
clearPinRow(getTable(el),'cell_pin');
}
for(var i =0; i<pinRowArr[j].cells.length; i++){
pinRowArr[j].cells[i].className =pinArrs[j][i];
}
}
}
for(var j =0; j<rows.length; j++){
for(var i =0; i<rows[j].cells.length; i++){
//设置新的选中显示
//rows[j].cells[i].className =rows[j].cells[i].className+ ' cell_pin';
rows[j].cells[i].className =classArrs[j][i]+ ' cell_pin';
}
}
//记录当前选中行class
pinArrs=classArrs;
//记录当前选中行对象
pinRowArr=rows;
}
}
//清空所有选中的行classname
//因为在执行insertRow时会丢失掉以保存的pinArrs数据,所以在pinArrs的cell为0时需要清空所有的pin行
function clearPinRow(table,clazz){
var temp = new Array();
var trArr = table.getElementsByTagName("TR");
for(var i=0;i<trArr.length;i++){
for(var j =0; j<trArr[i].cells.length; j++){
if(trArr[i].cells[j].className.lastIndexOf(clazz)>0){
trArr[i].cells[j].className=trArr[i].cells[j].className.replace(clazz,'');
}
}
}
return temp;
}
//导出当前单元的当前页数据
function exportc(arg){
//var el=event.srcElement;
var el=getEventElement();
var uid = getUnitId(el);
var aid = el.name;
//window.location='/xls?_u='+uid+'&_p=0&_a='+aid;
var orgAction = document.forms[0].action;
var newAction = getContextPath() + '/xls?_u='+uid+'&_p=0&_a='+aid;
if(arg!=null){
newAction = newAction + "&" + arg;
}
document.forms[0].action=newAction;
document.forms[0].submit();
document.forms[0].action = orgAction;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -