流程(0529)
流 程:
一、
登录页面:login.php
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <style> 6 #dl{ 7 width:300px; 8 height:400px; 9 margin-left:500px; 10 } 11 12 </style> 13 <title>登录</title> 14 </head> 15 16 <body> 17 <br /> 18 <div id="dl"> 19 <h1>登录页面</h1> 20 <br /> 21 <form action="loginchu.php" method="post"> 22 <div>用户名:<input type="text" name="uid" /></div><br /><br /> 23 <div>密 码:<input type="text" name="psw" /></div><br /> <br /> 24 <div><input type="submit" value="登录" /></div> 25 </form> 26 </div> 27 </body> 28 </html>
登录页面处理:loginchu.php
1 <?php 2 session_start(); 3 include("../DBDA.class.php"); 4 $db=new DBDA(); 5 6 $uid=$_POST["uid"]; 7 $psw=$_POST["psw"]; 8 9 $sql="select count(*) from users where username='{$uid}' and password='{$psw}'"; 10 $r=$db->StrQuery($sql); 11 12 if($r==1) 13 { 14 $_SESSION["uid"]=$uid; 15 header("location:main.php"); 16 } 17 else 18 { 19 header("location:login.php"); 20 }
运行登录页面:
二、
新建流程主页面:xjlc.php
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title>新建流程</title> 6 <script src="../jquery-1.11.2.min.js"></script> 7 <style type="text/css"> 8 #aa{ 9 10 width:500px; 11 height:500px; 12 margin:10px 100px 0px 300px;} 13 14 </style> 15 16 </head> 17 18 <body> 19 <br /> 20 <?php 21 session_start(); 22 include("../DBDA.class.php"); 23 $db=new DBDA(); 24 //获取添加的节点 25 $attr=array(); 26 if(!empty($_SESSION["jiedian"])) 27 { 28 $attr=$_SESSION["jiedian"]; 29 } 30 ?> 31 32 <div id="aa"> 33 <h1>新建流程</h1><br /> 34 <!--选择节点人员 --> 35 <div>请选择节点人员: 36 <?php 37 $sql="select * from users"; 38 $ary=$db->Query($sql); 39 foreach($ary as $v) 40 { 41 echo "<input type='radio' value='{$v[0]}' name='ry' class='ry' />{$v[2]} "; 42 } 43 ?> 44 </div><br /> 45 46 <!--添加节点 --> 47 <div> 48 <input type="button" id="tianjia" value="添加节点" /> 49 </div><br /> 50 51 <div> 52 <?php 53 if(is_array($attr)) 54 { 55 foreach($attr as $k=>$v) 56 { 57 $sname="select Name from Users where username='{$v}'"; 58 $name=$db->StrQuery($sname); 59 echo "<div>{$k}--{$name}--<input type='button' value='删除' bs='{$k}' class='del' /></div>"; 60 } 61 } 62 ?> 63 </div><br /> 64 65 <!--新建流程 --> 66 <div> 67 请输入新建流程名称: 68 <input type="text" id="lcmc"> 69 </div><br /> 70 <div> 71 <input type="button" value="新建" id="xinjian"> 72 <a href="main.php">返回</a> 73 </div> 74 </div> 75 76 </body> 77 78 <script type="text/javascript"> 79 $(document).ready(function(e) { 80 81 //设置默认选中第一个人 82 $(".ry").eq(0).prop("checked",true); 83 //1.点击添加按钮添加节点人员 84 $("#tianjia").click(function(){ 85 86 //取选中的人员名 87 var ry=$(".ry"); 88 var uid=""; 89 for(var i=0;i<ry.length;i++) 90 { 91 if(ry.eq(i).prop("checked")) 92 { 93 uid=ry.eq(i).val(); 94 } 95 } 96 97 $.ajax({ 98 99 url:"tianjiacl.php", 100 data:{uid:uid}, 101 type:"POST", 102 dataType:"TEXT", 103 success: function(data){ 104 window.location="xjlc.php"; 105 } 106 107 }); 108 109 }) 110 111 //2.删除节点 112 $(".del").click(function(){ 113 var id=$(this).attr("bs"); 114 $.ajax({ 115 url:"scjd.php", 116 data:{id:id}, 117 type:"POST", 118 dataType:"TEXT", 119 success: function(data){ 120 window.location="xjlc.php"; 121 } 122 123 }); 124 125 }) 126 127 128 //3.点击新建流程 129 $("#xinjian").click(function(){ 130 131 //取文本框的值 132 var name=$("#lcmc").val(); 133 134 $.ajax({ 135 url:"addlc.php", 136 data:{name:name}, 137 type:"POST", 138 dataType:"TEXT", 139 success: function(data){ 140 141 if(data.trim()=="OK") 142 { 143 alert("添加成功"); 144 } 145 else 146 { 147 alert("添加失败!"); 148 } 149 150 } 151 152 }); 153 154 }) 155 156 157 }); 158 159 </script> 160 161 </html>
添加节点人员:tianjiacl.php
1 <?php 2 3 session_start(); 4 5 $uid=$_POST["uid"]; 6 7 8 //判断是否是第一次添加 9 if(empty($_SESSION["jiedian"]))//如果是第一次 10 { 11 //新建一个数组来储存节点 12 $attr=array($uid); 13 $_SESSION["jiedian"]=$attr; 14 } 15 16 else 17 { 18 $attr=$_SESSION["jiedian"]; 19 array_push($attr,$uid); 20 $_SESSION["jiedian"]=$attr; 21 }
删除节点:scjd.php
1 <?php 2 session_start(); 3 4 $id = $_POST["id"]; 5 $attr = $_SESSION["jiedian"]; 6 unset($attr[$id]); 7 $attr = array_values($attr); 8 9 $_SESSION["jiedian"] = $attr;
新建流程处理页面:addlc.php
1 <?php 2 3 session_start(); 4 5 include("../DBDA.class.php"); 6 $db = new DBDA(); 7 8 $attr = array(); 9 if(!empty($_SESSION["jiedian"])) 10 { 11 $attr = $_SESSION["jiedian"]; 12 } 13 14 $name = $_POST["name"]; 15 16 //向流程表添加数据 17 $code = date("YmdHis"); 18 $slc = "insert into LiuCheng values('{$code}','{$name}')"; 19 //判断是否执行成功的变量 20 $isok = true; 21 if($db->Query($slc,1)) 22 { 23 foreach($attr as $k=>$v) 24 { 25 //向流程对应节点表添加数据 26 $sfl = "insert into FlowPath values('','{$code}','{$v}',{$k})"; 27 $isok = $isok && $db->Query($sfl,1); 28 } 29 } 30 if($isok) 31 { 32 echo "OK"; 33 } 34 else 35 { 36 echo "NO"; 37 }
运行新建流程主页面:
三、
发起流程页面:fqlc.php
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title>发起流程</title> 6 <script type="text/javascript" src="../jquery-1.11.2.min.js"></script> 7 <style type="text/css"> 8 #aa{ 9 10 width:500px; 11 height:500px; 12 margin:10px 100px 0px 400px;} 13 14 </style> 15 16 </head> 17 18 <body> 19 <div id="aa"><br /> 20 <br /> 21 22 <h1>发起流程</h1> 23 <div>请选择流程: 24 <select id="select" style="width:100px;"> 25 <?php 26 include("../DBDA.class.php"); 27 $db=new DBDA(); 28 $sql="select * from LiuCheng"; 29 $attr=$db->Query($sql); 30 foreach($attr as $v) 31 { 32 echo "<option value='{$v[0]}'>{$v[1]}</option>"; 33 } 34 ?> 35 </select> 36 </div><br /> 37 <br /> 38 39 <div>请输入内容: 40 <textarea rows="7" cols="40" id="nr" ></textarea> 41 </div><br /> 42 <br /> 43 <div> 44 <input type="button" value="发起" id="faqi" /> 45 <a href="main.php">返回</a> 46 </div> 47 </div> 48 </body> 49 <script type="text/javascript"> 50 $(document).ready(function(e) { 51 52 $("#faqi").click(function(){ 53 54 var name=$("#select").val(); 55 var nr=$("#nr").val(); 56 $.ajax({ 57 url:"fqcl.php", 58 data:{name:name,nr:nr}, 59 type:"POST", 60 dataType:"TEXT", 61 success: function(data){ 62 63 if(data.trim()=="OK") 64 { 65 alert("发起成功!"); 66 } 67 else 68 { 69 alert("发起失败!"); 70 } 71 } 72 73 }); 74 75 }) 76 77 }); 78 79 </script> 80 81 </html>
发起流程处理页面:fqcl.php
1 <?php 2 session_start(); 3 include("../DBDA.class.php"); 4 $db=new DBDA(); 5 6 $code=$_POST["name"]; 7 $uid=$_SESSION["uid"]; 8 $nr=$_POST["nr"]; 9 $time=date("Y-m-d H:i:s"); 10 11 $sql="insert into UserFlow values ('','{$code}','{$uid}','{$nr}',false,'{$time}',0)"; 12 13 if($db->Query($sql,1)) 14 { 15 echo "OK"; 16 } 17 else 18 { 19 echo "NO"; 20 }
运行发起流程页面:
四、
审核流程页面:shlc.php
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title>审核流程</title> 6 </head> 7 8 <body> 9 <?php 10 session_start(); 11 $uid=$_SESSION["uid"]; 12 include("../DBDA.class.php"); 13 $db=new DBDA(); 14 ?> 15 <br /> 16 <br /> 17 <h1>审核流程</h1> 18 <br /> 19 <table width="70%" border="1" cellspacing="2" cellpadding="2"> 20 <tr> 21 <td>流程名称</td> 22 <td>发起者</td> 23 <td>内容</td> 24 <td>是否结束</td> 25 <td>发起时间</td> 26 <td>操作</td> 27 </tr> 28 <?php 29 $sql="select * from UserFlow order by RiQi desc"; 30 $r=$db->Query($sql); 31 foreach($r as $v) 32 { 33 //$v[1]流程代号 34 //$v[6]流程到哪 35 36 ////根据流程代号到flowpath表查该登录者在该流程中的次序 37 $sqlcx="select code, orders from FlowPath where code='{$v[1]}'and uids='{$uid}'"; 38 39 $cx=$db->Query($sqlcx); 40 if($cx) 41 { 42 $ucode=$cx[0][0];//流程代号 43 $ucx=$cx[0][1];//次序 44 45 //判断该流程是否走到了该用户 46 if($v[1]==$ucode && $v[6]>=$ucx) 47 { 48 $lcname=Lname($db,$v[1]); 49 $fqname=Fname($db,$v[2]); 50 51 //处理是否结束 52 $isok=$v[4]?"<span style='background-color:#FF3737'>已结束</span>":"<span style='background-color:#80FFFF'>处理中</span>"; 53 54 //处理操作 55 $cz=""; 56 if($v[6]==$ucx) 57 { 58 $cz="<a href='shcl.php?id={$v[0]}'>审核</a>"; 59 } 60 else 61 { 62 $cz="<span style='color:red'>已通过</span>"; 63 } 64 65 echo "<tr> 66 <td>{$lcname}</td> 67 <td>{$fqname}</td> 68 <td>{$v[3]}</td> 69 <td>{$isok}</td> 70 <td>{$v[5]}</td> 71 <td>{$cz}</td> 72 </tr>"; 73 74 } 75 76 } 77 78 } 79 80 //处理流程名 81 function Lname($db,$code) 82 { 83 $sql1 = "select Name from LiuCheng where Code = 84 85 '{$code}'"; 86 return $db->StrQuery($sql1); 87 88 } 89 90 //处理发起者名称 91 function Fname($db,$uid) 92 { 93 $sql2 = "select Name from Users where username = '{$uid}'"; 94 return $db->StrQuery($sql2); 95 96 } 97 98 ?> 99 </table> 100 </body> 101 </html>
审核处理页面:shcl.php
1 <?php 2 include("../DBDA.class.php"); 3 $db=new DBDA(); 4 5 $id=$_GET["id"]; 6 7 $sql = "update UserFlow set ToWhere = ToWhere+1 where Ids='{$id}'"; 8 echo $sql; 9 10 if($db->Query($sql,1)) 11 { 12 //查询流程走到哪了 13 $stw = "select Code,ToWhere from UserFlow where Ids='{$id}'"; 14 $atw = $db->Query($stw); 15 $code = $atw[0][0];//流程代号 16 $tw = $atw[0][1];//流程到哪了 17 18 //查询该流程下的节点数 19 $sfp = "select count(*) from FlowPath where Code = '{$code}'"; 20 $sl = $db->StrQuery($sfp); 21 22 //如果流程走到位置大于等于了该流程中节点的总数 23 if($tw>=$sl) 24 { 25 $isok = "update UserFlow set IsOk = true where 26 27 Ids='{$id}'"; 28 $db->Query($isok,1); 29 } 30 31 header("location:shlc.php"); 32 } 33 else 34 { 35 echo "审核失败!"; 36 }
运行审核流程页面:
五、
主页面:main.php
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <style type="text/css"> 6 #zhu{ 7 width:70%; 8 height:40px; 9 background:#8080FF; 10 margin:10px 100px 0 200px; 11 } 12 .a{ 13 width:300px; 14 height:40px; 15 color:#FFF; 16 text-align:center; 17 line-height:40px; 18 vertical-align:central; 19 float:left;} 20 21 </style> 22 <title>主页面</title> 23 </head> 24 25 <body> 26 <?php 27 session_start(); 28 if(empty($_SESSION["uid"])) 29 { 30 header("location:login.php"); 31 } 32 $uid=$_SESSION["uid"]; 33 ?> 34 <center><h1>主页面</h1></center> 35 <div id="zhu"> 36 <div class="a"><a href="xjlc.php">新建流程</a></div> 37 <div class="a"><a href="fqlc.php">发起流程</a></div> 38 <div class="a"><a href="shlc.php">审核流程</a></div> 39 </div> 40 41 </body> 42 </html>
运行主页面: