⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dir_tree.asp

📁 OFFICE办公自动化
💻 ASP
📖 第 1 页 / 共 2 页
字号:
<%
'功能:档案目录树(档案管理用)
'作者:展亮
'日期: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="&lt";}
   if (x==">")
   { x="&gt";}

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