xml地图|网站地图|网站标签 [设为首页] [加入收藏]

php写流程管理,审批流程管理

来源:http://www.ccidsi.com 作者:最新解决方案 人气:112 发布时间:2019-05-05
摘要:流程序调节制即有些人发起一个流水生产线,通过1层1层审核,通过后,落成全部流程,若有一层审核未经过,中断全体工艺流程。即甘休! 一.流程管制的用法是何许的? 譬如说请假

流程序调节制即有些人发起一个流水生产线,通过1层1层审核,通过后,落成全部流程,若有一层审核未经过,中断全体工艺流程。即甘休!

一.流程管制的用法是何许的?

譬如说请假流程:

二.怎么发起想要的流程?

某一职工发起多个请假流程,那么那一个流程的节点人士即她的上司,上上级,上上上级......若上级领导未通过,即甘休全体工艺流程

叁.审查批准的人固然怎么审查批准通过?

一.数据库中的内容:

图片 1图片 2图片 3图片 4

 

用户职员和工人表,流程表,用户编写的流程表,还有审核职员

4.流程审核是或不是要挨个走过?

二.新建流程页面,即发起流程页面:

 

 

<div>
  请选择节点人员:

 <?php
    session_start();   //开启session
    include("DBDA.class.php");   //调用封装好的数据库
    $db = new DBDA();  //造新对象

    $suser = "select * from users";  //查询用户表中的所有值
    $auser = $db->Query($suser);  //执行查询语句
    foreach($auser as $v)
    {
        echo "<input class='ck' type='radio' value='{$v[0]}' name='ck' />{$v[2]} ";  //输出单选按钮,数组中的索引2,也就是用户名,但是它的值是代号
    }
    ?>

 

</div>

1、要有数据库的开始和结果的

 

 

自然会有表的,首先正是用户表了,然后就是流程表,用户编写的流程表,还有审核职员的表

 

图片 5

在把加多节点的开关加上:

 

<input type="button" value="添加节点" id="jd" /> 

 

 

 

图:

图片 6

开关点击事件:

 

  $("#jd").click(function(){
        var uid = $("#user").val();   //点击添加节点,是要把select里面的value值添加过来,那么我们就要先取出它的value值
        $.ajax({
            url:"chuli.php",
            data:{uid:uid},
            type:"POST",
            dataType:"TEXT",
            success: function(data){
                window.location.href="main.php"; //刷新页面即可
            }
        });
    })

 

 

 

 

来处理:

 

 <?php
  session_start(); //首先要开启session

  $uid = $_POST["uid"];
  if(empty($_SESSION["user"]))//如果节点里面没有内容 需要先建一个数组,然后把uid放到里面 存一下
  {
      $arr = array($uid);
      $_SESSION["user"] = $arr;
  }
 else            //如果里面已经有内容了,那么就把数组里面的内容存一下
 {
     $arr = $_SESSION["user"];
     array_push($arr,$uid);
     $_SESSION["user"] = $arr;
 }

 

 

 

图:

图片 7

去除开关的风浪

 

    $(".del").click(function(){
          var key=$(this).attr("key"); //删除里面取key值写起来是非常方便的
          $.ajax({
              url:"shanchu.php",
              data:{key:key},
              type:"POST",
              dataType:"TEXT",
              success:function(aa)
             {
                 window.location.href="main.php";
            }
         })
     })

 

 

 

来处理:

 

<?php
session_start();
$arr=$_SESSION["user"];  //把之前的节点内容存一下 给$arr
$key=$_POST["key"];  //取出索引值

unset($arr[$key]);  //把选中的删除

$arr = array_values($arr); //把现有的节点的顺序重新排

$_SESSION["user"]=$arr;

 

 

 

输入流程名称:

 

<div>请输入流程名称:<input type="text" id="name" /></div><di>input type="button" value="保存" id="save" /></div> 

 

 

 

封存开关的风浪:

 

 $("#btn").click(function(){
var nr=$("#nr").val();  
$.ajax({
url:"baocun.php",
data:{nr:nr},
type:"POST",
dataType:"TEXT",
success:function(bc){
alert("保存成功");
} })
})

 

 

 

封存流程管理:

 

<?php
session_start();
include("DADB.class.php");
$db=new DADB();
$nr=$_POST["nr"];
$code=time();
$sql="insert into liucheng VALUES ('{$code}','{$nr}')"; //在liucheng表中添加内容
$db->Query($sql,0);

//在liucheng表中添加完之后还要保存节点  节点是在flowpath表中的

$arr = $_SESSION["user"];
foreach($arr as $k=>$v)
{
    $sqn="insert into flowpath VALUES ('','{$code}','{$v}','{$k}')";
    $db->Query($sqn,0);
}

 

 

 

图:

图片 8

 保存成功!

图片 9   图片 10   图片 11   图片 12

三.登陆写过不少,不再一小点敲了:

 

肆.节点人士分界面:

 

<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
    session_start();

    $uid=$_SESSION["uid"];
    echo $uid;
    include("DADB.class.php");
    $db=new DADB();
    //查找登录者参与的所有流程
    $sql = "select * from userflow where code in(select code from flowpath where uids='{$uid}')";
    $arr = $db->Query($sql);
    //显示在页面
    foreach($arr as $v)
    {
         $dh=$v[1];//查出代号
        $where=$v[6]; //查出流程到哪里了

        $sqn="select orders from flowpath where code='{$dh}' and uids='{$uid}'";
        $orders=$db->StrQuery($sqn);//查出在流程中的次序

        if($where>=$orders)
        {
            $caozuo = "";
            if($where==$orders)
            {
                $caozuo="<a href='tongguo.php?code={$v[0]}'>通过</a>";
            }
            else
            {
                $caozuo="已通过";
            }
            echo "<tr>
        <td>{$v[1]}</td>
        <td>{$v[2]}</td>
        <td>{$v[3]}</td>
        <td>{$v[4]}</td>
        <td>{$v[5]}</td>
        <td>{$caozuo}</td>
    </tr>";
        }

    }
    ?>

</table>

 

 

 

看一下终极点击后的拍卖页面:

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

//流程往下走
$code = $_GET["code"];
$sql = "update userflow set towhere=towhere 1 where ids='{$code}'";
$db->Query($sql,0);

//判断流程是否结束
$sql = "select * from userflow where ids='{$code}'";
$arr = $db->Query($sql);

$lcdh = $arr[0][1]; //流程代号
$tw = $arr[0][6]; //流程走到哪

$sql = "select count(*) from flowpath where code='{$lcdh}'";
$count = $db->StrQuery($sql); //该流程节点人数
if($tw>=$count)
{
    $sql = "update userflow set isok=1 where ids='{$code}'";
    $db->Query($sql,0);
}


header("location:shenhe.php");

 

其壹根本是逻辑麻烦,没有错!

 

 

 

 

贰、数据库截止后,就是新建流程的页面,那页面会有甄别人士,还有流程的名字还有提交的开关

(一)加多节点的人口,那几个是要遍历数据库来查阅都怎么管理人士

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<div>
  请选择节点人员:
     
    <?php
    session_start();   //开启session
    include("DBDA.class.php");   //调用封装好的数据库
    $db = new DBDA();  //造新对象
     
    $suser = "select * from users";  //查询用户表中的所有值
    $auser = $db->Query($suser);  //执行查询语句
    foreach($auser as $v)
    {
        echo "<input class='ck' type='radio' value='{$v[0]}' name='ck' />{$v[2]} ";  //输出单选按钮,数组中的索引2,也就是用户名,但是它的值是代号
    }
    ?>
</div>

翻开一下显得结果:

图片 13

(②)既然后选取审核人士,那么正是有加上的按钮

1
<input type="button" value="添加节点" id="insert" />  //起个名字,便于给它添加单击按钮

图片 14

(三)对这些开关加多点击事件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$("#insert").click(function(){
    var ck = $(".ck");  //找到项
    var uid = "";
    for(var i=0;i<ck.length;i )
    {
        if(ck.eq(i).prop("checked"))  //单选按钮的选中状态
        {
          uid = ck.eq(i).val();  //单选按钮的值
        }
    }
         
    $.ajax({
        url:"addjd.php",  //添加节点的处理页面
        data:{uid:uid},  //将单选按钮的值传过去
        type:"POST",  //传值方式
        dataType:"TEXT",  //值的返回状态
        success: function(data){
            window.location.href="liucheng_gaunli.php";  //执行处理页面成功后会刷新页面
          }
        });
})

(四)增多节点的处理页面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
session_start();  //开启session
$uid $_POST["uid"];  //接收传过来的值
 
if(empty($_SESSION["jiedian"]))
{
    $attr array($uid);  //定义一个数组放用户
    $_SESSION["jiedian"] = $attr//将第一个用户放入数组中
}
else
{
    $attr $_SESSION["jiedian"]; //数组中有值
    $attr[] = $uid;  //放入数组中值
    $_SESSION["jiedian"] = $attr;   //将值再交给session
}

(伍)在主页面中突显加多的那些节点

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
if(empty($_SESSION["jiedian"]))   //如果没有节点值
{
    echo "<div>还没有添加节点</div>";  //输出这句话
}
else
{
    $attr $_SESSION["jiedian"];  //数组中有了值
    foreach($attr as $k=>$v)  //循环遍历,$v只是名字,还有有所以所以用$k
    {
        $sname "select name from users where uid='{$v}'";  //编写查询语句
        $name $db->StrQuery($sname);  //执行查询语句<br>          //输出索引号还有名字,加一个删除按钮吧,可以吧这个节点删除
        echo "<div>{$k}--{$name}--<input type='button' value='删除' sy='{$k}' class='sc' /></div>"
    }
}
?>

增多节点看下效果:

一.还未有增加节点的效果图:  

图片 15

二.随意增加几个审查批准人员:人士早已显得出来了

图片 16

(陆)这样之后便是对其的删除开关增加单击事件了

1
2
3
4
5
6
7
8
9
10
11
12
$(".sc").click(function(){
    var sy = $(this).attr("sy");  //点击这个按钮,选中这个的索引号
    $.ajax({
        url:"shanchu.php",   //删除按钮的处理页面
        data:{sy:sy},  //把索引号传到处理页面
        type:"POST",  //传值方式
        dataType:"TEXT",
        success:function(data){
            window.location.href="liucheng_gaunli.php";  //执行处理页面成功后会刷新页面
        }
    });
})

(7)删除按键的管理页面

1
2
3
4
5
6
7
8
<?php
session_start();  //开启session
$attr $_SESSION["jiedian"];  //节点的数组
$sy $_POST["sy"];  //接收穿过来的索引号
 
unset($attr[$sy]); //删除数据
$attr array_values($attr); //重新索引
$_SESSION["jiedian"] = $attr;

查阅下删除节点的意义

一.未有删除在此之前

图片 17

二.删减一个节点之后

图片 18

(八)节点的操作已经终止以后,那么便是流程的称谓了,这一个轻便,写名称的文本框:首要的正是对这一个流程的保存了,那么也要有保留按键

1
<div>请输入流程名称:<input type="text" id="name" /></div>    //起个名字,下面保存的写个单击事件有用
1
<div><input type="button" value="保存" id="save" /></div>  //保存按钮要有单击事件的

那样全体的效劳图就出去了:  

图片 19

(玖)最后正是保存开关的单击事件了

1
2
3
4
5
6
7
8
9
10
11
$("#save").click(function(){
  var name = $("#name").val();  //取到文本框的值
  $.ajax({
    url:"baocun.php",  //保存的处理页面
    data:{name:name},  //将文本框的值传到处理页面
    type:"POST",  //传值方式
    dataType:"TEXT",
    success: function(data){
        alert("添加成功!");  //执行处理页面成功后会弹出提示框
      }
  });<br>})

(十)保存流程的拍卖页面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
session_start();  //开启session
include("DBDA.class.php");  //调用封装的数据库类
$db new DBDA();  //造新对象
 
$name $_POST["name"];  //接收传过来的值
$code = time();  //代号是时间
 
$sflow "insert into flow values('{$code}','{$name}')"//修改流程表中的值:代号和名字
$db->Query($sflow,0);  //执行语句
 
$attr $_SESSION["jiedian"]; 
foreach($attr as $k=>$v)
{
    $spath "insert into flowpath values('','{$code}','{$v}','{$k}')";  //修改流程节点的数值
    $db->Query($spath,0);  //执行语句
}

看下保存效果:

图片 20

本文由68399皇家赌场发布于最新解决方案,转载请注明出处:php写流程管理,审批流程管理

关键词: 68399皇家赌场

最火资讯