📄 dir_tree.asp
字号:
<%
'功能:档案目录树(档案管理用)
'作者:展亮
'日期:2004-6-12 10:15
%>
<!--#include file="../inc/Secure.asp"-->
<!--#include file="../inc/conn.asp"-->
<!--#include file="../inc/Const.asp"-->
<!--#include file="./inc/outcheck.asp"-->
<%
'response.buffer=false
'------------------------------------------------设置参数
LoginID=trim(session("LoginID")) : if LoginID="" then LoginID=0 '当前用户ID
'------------------------------------------------
'------------------------------------------------取记录
'取档案目录记录 (返回rs对象)
'
set rs=Server.CreateObject("ADODB.RecordSet")
sql="select * from tbioaDocument_Sort order by FLH"
rs.open sql,oConn,1,1
'------------------------------------------------
%>
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="../css/main.css" type=text/css>
<style>
a {behavior:url(include\TreeEvent.htc)}
</style>
<title>文档管理</title>
<script src="../js/Popup.js"></script>
<script LANGUAGE="JavaScript">
<!-- //to hide script contents from old browsers
var zhhId="0";
var szcd=8;
///////////////////////
var img_close1="../images/closedfolder.gif";
var img_open1="../images/openfolder.gif";
var img_close2="../images/closedfolder.gif";
var img_open2="../images/openfolder.gif";
//////////////////////
var img_close3="../images/closedfolder.gif";
var img_open3="../images/openfolder.gif";
////////////////////
var pubfolder;
var pubId;
var editflag=true;
function checktxt_w(i)
{var j,x,k
j=1
k=""
if (i!=""){
for(j=1;j<=i.length;j++)
{x=i.substring(j-1,j);
//document.write(x)
if (x=="<")
{ x="<";}
if (x==">")
{ x=">";}
k=k + x;
}
// document.write(k)
return k;
}
}
//each node in the tree is an Array with 4+szcd positions
//*******system define*************//
// node[0] is 0/1 when the node is closed/open
// node[1] is 0/1 when the folder is closed/open
// node[2] is 1 if the children of the node are documents
// node[3] is the name of the folder
// node[4] is bh
// node[5] is img open source
// node[6] is img close source
// node[7] is href url
//******* user define ***********88//
// node[10]...node[10+n] are the n children nodes
// ***************
// Building the data in the tree
function generateTree()
{
var aux1,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9,aux10,temp
url="dir_list.asp?FLH=0";
foldersTree = folderNode("文档分类目录","0",url,img_open1,img_close1);
<%if not rs.eof and not rs.bof then
do while not rs.eof
url="dir_list.asp?FLH="&rs("FLH")
if len(rs("FLH"))=2 then
response.write "temp="& "''" & "+" & "''" & replace(checktxt_w2(rs("LMMC")),"\","\\") &";"& chr(13)
response.write "aux1 = appendChild(foldersTree,folderNode(temp,'"&rs("FLH")&"','" & url & "',img_open1,img_close1));"&chr(13)
end if
if len(rs("FLH"))>2 then
response.write "temp="& "''" & "+" & "''" & replace(checktxt_w2(rs("LMMC")),"\","\\") & chr(13)
response.write "aux"&(len(rs("FLH"))/2)&" = appendChild(aux"&(len(rs("FLH"))/2-1)&",folderNode(temp,'"&rs("FLH")&"','" & url & "',img_open1,img_close1));"&chr(13)
end if
rs.movenext
loop
end if
%>
}
//-->
function appendChild(parent, child)//初始化
{
parent[parent.length] = child
return child
}
//-->
//each node in the tree is an Array with 4+szcd positions
//*******system define*************//
// node[0] is 0/1 when the node is closed/open
// node[1] is 0/1 when the folder is closed/open
// node[2] is 1 if the children of the node are documents
// node[3] is the name of the folder
// node[4] is bh
// node[5] is img open source
// node[6] is img close source
// node[7] is href url
//******* user define ***********88//
// node[8] is bmzg
// node[9] is bmrs
// node[10]...node[10+n] are the n children nodes
// ***************
// Building the data in the tree
function folderNode(name,FLH,surl,imgopen,imgclose)//枝节点结构
{
var arrayAux
arrayAux = new Array
arrayAux[0] = 0
arrayAux[1] = 0
arrayAux[2] = 0
arrayAux[3] = name
arrayAux[4] = FLH
arrayAux[5] = imgopen
arrayAux[6] = imgclose
arrayAux[7] = surl
return arrayAux
}
function leafNode(name)//叶节点
{
var arrayAux
arrayAux = new Array
arrayAux[0] = 0
arrayAux[1] = 0
arrayAux[2] = 1
arrayAux[3] = name
arrayAux[4] = FLH
return arrayAux
}
/***************** public Part ****************/
//页面初始化
function initializeTree()
{
generateTree()
openBranch("0",foldersTree)
}
//点击图片
function clickFun()
{var s
s=event.srcElement.id;
s=s.substring(3,s.length);
openBranch(s,foldersTree);
}
//打开下级目录主函数
function openBranch(branchName,foldersNode)
{
var i;
if ((foldersNode[4]!=branchName)&&(foldersNode[4].length<branchName.length) &&((foldersNode[4]==branchName.substring(0,foldersNode[4].length) ||(foldersNode[4]=="0"))))
{
if (!foldersNode[0])
clickOnFolderRec(foldersNode);
for (i=szcd;i< foldersNode.length; i++)
openBranch(branchName,foldersNode[i])
}
else if (foldersNode[4]==branchName)
clickOnFolderRec(foldersNode);
}
//修改所点击位置的图标
function changeThis(foldersNode)
{ var img_obj,imgId
img_obj=document.getElementById("img"+foldersNode[4]);
if (foldersNode[0])
{
img_obj.src=foldersNode[6];
}
else
{img_obj.src=foldersNode[5];
}
}
//展开或关闭节点
function clickOnFolderRec(foldersNode)
{
var i
var finalSign=false;
zhhId=foldersNode[4];
changeThis(foldersNode); //edit owner img src
//zhhId=foldersNode[4];
if (foldersNode[0])
{
for (i=szcd;i< foldersNode.length; i++)
{
closeFolders(foldersNode[i]);}
foldersNode[0] = 0;
foldersNode[1] = 0;
}
else
{
foldersNode[0] = 1;
foldersNode[1] = 1;
for (i=szcd; i< foldersNode.length; i++)
{ if (i==(foldersNode.length-1))
{finalSign=true;
}
nodeOpen(finalSign,foldersNode[i]);//参数:本节点是否是本级最后节点,节点本身
}
}
}
//左边是否连接与上级
function leftSide(foldersNode,obj)
{var i;
if (foldersNode[4].length>=4)
{ var brotherNode,lastNode,s;
brotherNode=foldersTree.length;
lastNode=0;
s=foldersNode[4].substring(0,(foldersNode[4].length-2));
//alert(s);
for(i=szcd;i<foldersTree.length;i++)
{ if(i==(foldersTree.length-1))
{ lastNode=1;//判断自己是否是父节点的最后一个子节点}
}
level(foldersTree[i],s,obj,brotherNode,lastNode);
}
}
}
function level(foldersNode,s,obj,brotherNode,lastNode)
{
var i,img_obj
if (foldersNode[4]==s.substring(0,foldersNode[4].length))
{
// alert(lastNode);
if ((brotherNode>szcd)&&(!lastNode))
{
img_obj=document.createElement("img");
img_obj.src="../images/vertline1.gif";
img_obj.width="16";
img_obj.height="22";
img_obj.border="0";
obj.appendChild(img_obj);
}
else
{ img_obj=document.createElement("img");
img_obj.src="../images/blank.gif";
img_obj.width="16";
img_obj.height="22";
img_obj.border="0";
obj.appendChild(img_obj);
}
brotherNode=foldersNode.length;
for(i=szcd;i<foldersNode.length;i++)
{ if(i==(foldersNode.length-1))
{ lastNode=1;//判断自己是否是父节点的最后一个子节点}
}
else
{lastNode=0;
}
level(foldersNode[i],s,obj,brotherNode,lastNode);
}
}
}
//展开节点
function nodeOpen(finalSign,foldersNode)
{ var i;
var thisobj=document.getElementById(foldersNode[4]);
if (foldersNode[0]==1)
{
if (thisobj==null)
{ folderOpen(finalSign,foldersNode);}
else
{ thisobj.style.display="block";}
for (i=szcd; i<foldersNode.length;i++)
{ if (i==(foldersNode.length-1))
{finalSign=true;
}
nodeOpen(finalSign,foldersNode[i]);//参数:本节点是否是本级最后节点,节点本身
}
}
else
{
if (thisobj==null)
{ folderOpen(finalSign,foldersNode);}
else
{ thisobj.style.display="block";}
}
thisobj=null;
}
//显示页面
//关闭本节点主程序
function closeFolders(foldersNode)
{
var i,j
var obj,obj1
var thisobj=document.getElementById(foldersNode[4])
if (thisobj!=null)
{thisobj.style.display="none";}
thisobj==null;
if (foldersNode[0]==1)
{
for (i=szcd;i<(foldersNode.length);i++)
{
closeFolders(foldersNode[i]);
}
}
}
//页面节点展开
function folderOpen(finalSign,foldersNode)
{
var tbody_obj,tr_obj,td_obj,tbl_obj1,imgNode_obj,imgfolder_obj,zt;
var ownerId
ownerId=foldersNode[4];
zt=foldersNode[0];
//获得前一节点
tbl_obj=document.getElementById(zhhId);
//建立本节点Table
tbl_obj1=document.createElement("table");
tbl_obj1.id=ownerId;
tbl_obj1.border="0";
tbl_obj1.cellSpacing="0";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -