• 流程审核处理


    在php常用流程中在前面写到有一个审核人员的表

    在这里就用到了

    一、新建流程页面在php常用流程中已经结束了,那么就是用户登录页面了,这个页面写了很多遍了。

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

     处理页面

    <?php
    session_start();
    $uid=$_POST["uid"];
    $pwd=$_POST["pwd"];
    require "../DBDA.class.php";
    $db=new DBDA();
    $sql="select pwd from users where uid='{$uid}'";
    $mm=$db->StrQuery($sql);
    
    if($mm=$pwd && !empty($pwd))
    {
    	$_SESSION["uid"]=$uid;
    	header("location:main.php");	
    }
    else
    {
    	echo "登录失败!";	
    }
    

      

    二、节点用户的审核处理界面了(对于这个审核界面有很多需要注意的地方)

    (1)登录成功界面的显示部分:并不是每个人登录成功界面是一样的,还有就是如果这个人员不参与审核的话,也应该是没有信息的才对

    想要显示的表头,也就是一行:我们可以用表来显示

    <?php
    session_start();
    $uid = $_SESSION["uid"];
    require "../DBDA.class.php";
    $db=new DBDA();
    $sql="select * from userflow a where code in(select code from jiedian where uid='{$uid}' and 
    towhere >=(select orders from jiedian b where b.code=a.code and b.uid='{$uid}'))";
    $arr=$db->query($sql);
    echo "<table width='100%' border='1px' cellpadding='0' cellspacing='0'>
    	<tr>
    		<td>流程代号</td>
    		<td>发起者</td>
    		<td>发起内容</td>
    		<td>是否结束</td>
    		<td>发起时间</td>
    		<td>操作</td>
    	</tr>";
    foreach($arr as $v)
    {
    	$zt="<a href='tongguo.php?code={$v[0]}'>通过</a>";
    	$sql="select orders from jiedian where code='{$v[1]}' and uid='{$uid}'";
    	$wz=$db->StrQuery($sql);
    	if($v[6]>$wz)//这里是分级上传的只有上一级通过后传到下一级,下一级才能查看审核,如果上一级没有通过审核那么下一级是不能看到审核的。
    	{
    		$zt = "<span style='color:green'>已通过</span>";
    	}
    	echo "<tr>
    		<td>{$v[1]}</td>
    		<td>{$v[2]}</td>
    		<td>{$v[3]}</td>
    		<td>{$v[4]}</td>
    		<td>{$v[5]}</td>
    		<td>{$zt}</td>
    	</tr>";	
    }
    
    
    
    echo "</table>";
    ?> 
    

      

    (2)接下来就是用户这是不是和流程有关系?流程走到哪了(分情况)?还有就是有没有通过

    <?php
    $ids = $_GET["code"];
    echo "{$ids}";
    require "../DBDA.class.php";
    $db = new DBDA();
    
    //让流程往下走
    $sql = "update userflow set towhere = towhere+1 where ids='{$ids}'";
    $db->query($sql,0);
    
    //判断流程是否结束
    $sql = "select max(orders) from jiedian where code =(select code from userflow where ids='{$ids}')";
    $maxsx = $db->StrQuery($sql);
    
    $sql = "select towhere from userflow where ids='{$ids}'";
    $towhere = $db->StrQuery($sql);
    
    if($towhere>$maxsx)
    {
    	//如果结束了,修改状态
    	$sql = "update userflow set isok = 1 where ids='{$ids}'";
    	$db->query($sql,0);
    }
    
    
    header("location:shenhe.php");
    

     

    因为还没有写发起流程界面,那么先从数据库中添加几条数据看看:

    (1)我们先要新建个流程,这是第一个页面,我们就用新建流程

      

    根据这些我们在流程表中自己先添加信息吧,等后来再通过发起流程添加,现在只看下效果

     

     

    登录审核人员的账号看下:

    第一个人是李四:

     

     

    我们点击通过,继续往下走

    第二个人是张豹,我们不点通过,看下下一个人员(牛牛)有没有这个通过的操作:是没有这个操作的

    我们让张豹通过审核,再看下牛牛的界面

        牛牛的界面就是: 就发现有了这个操作,继续下去,我们看下最后这个通过会不会变成1

    最后审核人员小雪

    看下结果是否会结束:

    再看下数据库中towhere中的数值是不是已经结束了:已经结束了。

  • 相关阅读:
    qiankun 报错:Target container with #container not existed while xxx mounting!
    promise加载队列实现
    promise 封装定时器
    关于promise
    节流防抖
    箭头函数特点
    this
    手写apply
    手写call
    手写bind函数
  • 原文地址:https://www.cnblogs.com/douchenchen/p/6906828.html
Copyright © 2020-2023  润新知