首页 > 技术文章 > 流程

wcc731546227 2016-07-11 09:49 原文

建立新的流程

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script src="../jquery-1.11.2.min.js"></script>
</head>

<body>
<?php
session_start();
include("../DBDA.php");
$db=new DBDA();
$sql="select * from users";
$zhi=$db->Query($sql);
?>
<h1>新建流程</h1>
<br />
<div>
  <div>请选择审批人员</div>
  <br />
  <div>
  <?php
   foreach($zhi as $v)
   {
	   echo"<input type='radio' class='ry' name='ry' value='{$v[0]}' />$v[2]";
   }
  ?>
  </div>
  <br />
  <div><input type="button" value="添加审批人员" id="add" /></div>
  
  <br />
  <div id="xianshi">
  <!--显示审批人员 -->
  <?php
  if(!empty($_SESSION["shenren"]))
  {
	  $shuzu=$_SESSION["shenren"];
	  foreach($shuzu as $k=> $v)
	  {
		  $rensql="select Name from users where uid='{$v}'";
		  $name=$db->StrQuery($rensql);
		  
		  echo"<div>{$k}<=>{$name}<=><input type='button' value='删除' class='shanchu' br='{$k}' /></div>";
	  }
  }
  ?>
  </div>
  
  <br />
  <div>输入流程名称</div>
  <br />
  <div><input type="text" id="name" /></div>
  <br />
  <input type="button" value="新建" class="xinjian" />
</div>

</body>
<script type="text/javascript">
$(document).ready(function(e) {
    
	$("#add").click(function(){
		//取出选中按钮的用户名
		var uid="";
		var ren=$(".ry");
		for(var i=0;i<ren.length;i++)
		{
			if(ren.eq(i).prop("checked"))
			{
				uid=ren.eq(i).val();
			}
		}
	
	     //调用ajax把选中单选按钮的用户名添加到SESSION中
		 $.ajax({
			 url:"chuli.php",
			 data:{uid:uid,type:0},
			 type:"POST",
			 dataType:"TEXT",
			 success: function(data){
				 window.location="Untitled-1.php";
				 }
			 });
			 
		})
		//删除审批人员
		$(".shanchu").click(function(){
			//取出存的索引值
			var k=$(this).attr("br")
			//调用ajax删除
			$.ajax({
				 url:"chuli.php",
			     data:{k:k,type:1},
			     type:"POST",
			     dataType:"TEXT",
			     success: function(data){
				 window.location="Untitled-1.php";
				 }
				});
			
			})
	  //新建 (添加信息)
	  $(".xinjian").click(function(){
		  //取到用户输入的流程名称
		  var name=$("#name").val();
		  //调用ajax
		  $.ajax({
			     url:"chuli.php",
			     data:{name:name,type:2},
			     type:"POST",
			     dataType:"TEXT",
			     success: function(data){
				 window.location="Untitled-1.php";
				 }
			  });
		  
		  })
});


</script>
</html>

  页面显示

处理页面

<?php
session_start();
include("../DBDA.php");
$db=new DBDA();
//先取出传过来的type值
$type=$_POST["type"];

//用switch..case来判断是哪一个ajax调用
switch($type)
{
	//把选中的用户名添加到session中
   case 0:
   $uid=$_POST["uid"];
   if(empty($_SESSION["shenren"]))
   {
	   if($uid!="")
	   {
	   $shuzu=array($uid);
	   $_SESSION["shenren"]=$shuzu;
	   }
	}
	else
	{
		if($uid!="")
		{
		$shuzu=$_SESSION["shenren"];
		$shuzu[]=$uid;
		$_SESSION["shenren"]=$shuzu;
		}
	}
   break;
   //删除session中的值,并重新排序
   case 1:
   $k=$_POST["k"];//取出传过来的k
   $shuzu=$_SESSION["shenren"];//取出session中的数组
   unset($shuzu[$k]);    //删除
   $shuzu=array_values($shuzu); //重新排序
   $_SESSION["shenren"]=$shuzu;
   break;
   
   //新建添加流程
   case 2:
   $name=$_POST["name"];
   $code=date("YmdHis");
   @$shuzu=$_SESSION["shenren"];
   //添加liucheng表
   $stianjia1="insert into liucheng values('{$code}','{$name}')";
   $db->Query($stianjia1,0);
   //添加flowpath表
   foreach($shuzu as $k=>$v)
   {
      $stianjia2="insert into flowpath values('','{$code}','{$v}','{$k}')";
	  $db->Query($stianjia2,0);
   }
   break;
}

  

 

登录页面

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<h1>登录页面</h1>
<form action="dlchuli.php" method="post">
<div>用户名:<input type="text" name="uid" /></div>
<div>密码:<input type="password" name="pwd" /></div>
<input type="submit" value="登录" />
</form>

</body>
</html>

  页面显示

登录处理页面

<?php
session_start();
include("../DBDA.php");
$db=new DBDA();
$uid=$_POST["uid"];
$pwd=$_POST["pwd"];

$sql="select pwd from users where uid='{$uid}'";
$mima=$db->StrQuery($sql);
if($pwd=$mima&&$uid!=""&&$pwd!="")
{
	$_SESSION["uid"]=$uid;
	header("location:faqi.php");
}
else
{
   echo"登录失败,请查看后登陆";	
}

  

由登录人发起流程

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<?php
session_start();
include("../DBDA.php");
$db=new DBDA();

if(empty($_SESSION["uid"]))
{
    header("location:denglu.php");
	exit;//退出程序	
}
$uid=$_SESSION["uid"];
$slc="select * from liucheng";
$lczhi=$db->Query($slc);
?>
<h1>用户发起流程</h1>

<form action="faqichuli.php" method="post">
<div>请选择一个流程:
    <select name="fqlc">
    <?php
	foreach($lczhi as $v)
	{
		echo"<option value='{$v[0]}'>{$v[1]}</option>";
	}
	?>
    </select>
</div>
<br />

<div>要发起的内容:
<textarea name="fqnr" style="width:150px; height:70px"></textarea>
</div>
<input type="submit" value="发起" />
</form>
<br /><br />
<a href="shenhe.php">审核页面</a>
</body>
</html>

  页面显示

发起处理页面

<?php
session_start();
include("../DBDA.php");
$db=new DBDA();

$code=$_POST["fqlc"];
$uid=$_SESSION["uid"];
$neirong=$_POST["fqnr"];
$riqi=date("Y-m-d H:i:s");

$sql="insert into userflow values('','{$code}','{$uid}','{$neirong}',0,'{$riqi}',0)";
if($db->Query($sql,0))
{
	header("location:faqi.php");
}

  流程走到谁,谁登录显示

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>

<body>
<?php
session_start();
include("../DBDA.php");
$db=new DBDA();

if(empty($_SESSION["uid"]))
{
    header("location:denglu.php");	
}
$uid=$_SESSION["uid"];
//查发起流程的所有信息
$alllc="select * from userflow order by riqi desc";
$allxx=$db->Query($alllc);
?>
<h1>审核流程</h1>
<table width="100%" border="1" cellpadding="0" cellspacing="0">
	<tr>
    	<td>流程名称</td>
        <td>发起者</td>
        <td>流程内容</td>
        <td>是否结束</td>
        <td>发起时间</td>
        <td>操作</td>
    </tr>
    <?php
	  foreach($allxx as $v)
	  {
		  $lccode=$v[1];//取出流程代号
		  $zdn=$v[6];  //流程走到哪
		  //找该用户在本流程中的序号
		  $sxuhao="select  orders from flowpath where code='{$lccode}' and uids='{$uid}'";
		  $axuhao=$db->StrQuery($sxuhao);
		  //用户在本流程中的序号是不是等于流程走到哪
		  if($zdn==$axuhao && $axuhao!="")
		  {
			//处理流程名称
			$slcname = "select name from liucheng where code='{$lccode}'";
			$alcname = $db->StrQuery($slcname); //流程名称
			//处理发起者名称
			$susername = "select name from users where uid='{$v[2]}'";
			$username = $db->StrQuery($susername); //发起者姓名
			
			//处理是否结束
			$jieshu = $v[4]?"<span style='background-color:red'>已结束</span>":"<span          
			style='background-color:green'>进行中</span>";
			
			echo "<tr>
    	    <td>{$alcname}</td>
            <td>{$username}</td>
            <td>{$v[3]}</td>
            <td>{$jieshu}</td>
            <td>{$v[5]}</td>
            <td><a href='tongguo.php?code={$v[0]}'>通过</a></td>
            </tr>";  
		  }
	  }
	?>
 </table>
</body>
</html>

  

所有流程人员走完 “进行中”改为结束

<?php
include("../DBDA.php");
$db = new DBDA();

$code = $_GET["code"];

$sql = "update userflow set towhere = towhere+1 where ids='{$code}'";

if($db->Query($sql,0))
{
	//判断流程是否结束
	$slccode = "select * from userflow where ids='{$code}'";
	$alc = $db->Query($slccode);
	
	$lccode = $alc[0][1]; //流程代号
	$zdn = $alc[0][6]; //走到哪了
	
	//根据流程代号查询该流程下人员的个数
	$sgeshu = "select count(*) from flowpath where code='{$lccode}'";
	$ageshu = $db->StrQuery($sgeshu); //人员个数
	
	if($zdn>=$ageshu)
	{
		$sok = "update userflow set isok=true where ids='{$code}'";
		$db->Query($sok,0);
	}
	
	
	header("location:shenhe.php");
}

  

 

推荐阅读