zoukankan      html  css  js  c++  java
  • php流程控制(新建流程)

    流程控制,又是一个广泛应用于办公自动化等内部自定义流程及审核的功能。比如请假流程啊,申请办公用品经费,报销申请啊,等等,需要层层审批通过才能完成的(按规章办事,最好别越级,你说是吧)

    不习惯一篇博客太长,看不过来,这篇我们先实现流程的新建

    先看看效果图

    1.有个下拉选择用户,可以依次添加到流程的节点位置,

    2.下方显示流程的每个节点

    3.填写流程名称,点击保存即可完成流程的新建

    数据库中需要三张表,1.用户表2.流程表 3.流程节点表

     选择用户和添加节点按钮

    <div>
    请选择用户:
            <select id="sel">    
            <?php
                session_start();
                require "../DataBase.class.php";
                $db=new DataBase();
                $sql="select * from users";
                $arr=$db->Query($sql);
                foreach($arr as $v)
                {
                    echo "<option>{$v[2]}</option>";
                    }
            
            ?>
    
            </select>
    <input type="button" id="add"  value="添加至流程节点"/>
    
    </div><br />
    <div>

     为按钮添加事件

     1 $("#add").click(function (){
     2     var uid=$("#sel").val();
     3     $.ajax({
     4             url:"addjd.php",
     5             data:{uid:uid},
     6             type:"POST",
     7             dataType:"TEXT",
     8             success: function(data){
     9                 
    10                 
    11                 window.location.href="newbuild.php";
    12                 }
    13         
    14         
    15         
    16         })
    17 });

    处理页面addjd.php

     1 <?php
     2 session_start();
     3 $uid=$_POST["uid"];
     4 if(empty($_SESSION["uid"]))
     5 {
     6     $arr=array($uid);
     7     $_SESSION["uid"]=$arr;
     8     }
     9 else{
    10     
    11     $arr=$_SESSION["uid"];
    12     $arr[]=$uid;
    13     $_SESSION["uid"]=$arr;
    14     
    15     }
    16 
    17 ?>

    加载节点信息

    <div>
    <?php
    if(empty($_SESSION["uid"]))
    {
        echo "你还没有添加任何节点";
        }
    else
    {
        $arr2=$_SESSION["uid"];
        foreach($arr2 as $k=>$v)
        {
            $sql2="select name from users where uid='{$v}'";
            $name=$db->Query($sql2);
            echo "<div>{$k}----{$v}<input type='button' value='删除' sy='{$k}' class='yichu'/></div>";
            
            }
     
        }
    
    ?>
    </div>

     

     删除的触发事件

     1 $(".yichu").click(function (){
     2             var sy=$(this).attr("sy");
     3             $.ajax({
     4                     url:"removejd.php",
     5                     data:{sy:sy},
     6                     type:"POST",
     7                     dataType:"TEXT",
     8                     success: function(data){
     9                         window.location.href="newbuild.php";
    10                         
    11                         
    12                         }
    13                     
    14                 
    15                 
    16                 })
    17     
    18     
    19     
    20     
    21     });

    移除的处理页面

    <?php
    session_start();
    $sy=$_POST["sy"];
    $arr=$_SESSION["uid"];
    unset($arr[$sy]);        //移除数组元素
    $arr=array_values($arr); //重建索引
    $_SESSION["uid"]=$arr;
    
    
    ?>

    保存的页面和点击事件

     1 <div>
     2 请输入新建流程的名称:<input type="text" id="shuru"  /><br />
     3 
     4 <input type="button" value="保存" id="save" />
     5 
     6 </div>
     7 <script>
     8 $("#save").click(function (){
     9         var mingcheng=$("#shuru").val();
    10         $.ajax({
    11                 url:"save.php",
    12                 data:{mingcheng:mingcheng},
    13                 type:"POST",
    14                 dataType:"TEXT",
    15                 success: function(data)
    16                 {
    17                     alert("保存成功")
    18                     }
    19             
    20             
    21             
    22             })
    23     
    24     
    25     
    26     
    27     
    28     })
    29 
    30 
    31 
    32 </script>

    保存的处理页面

     1 <?php
     2 session_start();
     3 $name=$_POST["mingcheng"];
     4 $code=time();
     5 
     6 require "../DataBase.class.php";
     7 $db=new DataBase();
     8 $sql="insert into liucheng values('{$code}','{$name}')";
     9 $db->Query($sql,0);
    10 
    11 
    12 $arr=$_SESSION["uid"];
    13 foreach($arr as $k=>$v)
    14 {
    15     $sql2="insert into flowpath values('','{$code}','{$v}','{$k}')";
    16     $db->Query($sql2,0);
    17     }
    18 
    19 ?>
  • 相关阅读:
    PHP设计模式之----简单工厂模式
    PHP设计模式之----单例模式
    php排序算法
    PHP代码实现二分法查找
    Centos 7 下安装PHP7.2(与Apache搭配的安装方式)
    PHPSTORM Live-Templates变量速查表
    Centos 7 设置ip地址
    Centos 7下编译安装Apache
    Centos 7下编译安装Mysql
    apache配置Directory目录权限的一些配置
  • 原文地址:https://www.cnblogs.com/du892294464/p/6906221.html
Copyright © 2011-2022 走看看