流程管理就是最常见的就是请假如果你要请假需要申请然后经过上司的批准
一、要有数据库的内容的
肯定会有表的,首先就是用户表了,然后就是流程表,用户编写的流程表,还有审核人员的表(这个表在下一期的更新中会用到)
二、数据库结束后,就是新建流程的页面,这页面会有审核人员,还有流程的名字还有提交的按钮
(1)添加节点的人员,这个是要遍历数据库来查看都什么管理人员
<div>请选择节点: <select id="user"> <?php session_start(); require "DBDA.class.php"; $db=new DBDA(); $sql="select * from users"; $arr=$db->query($sql); foreach($arr as $v) { echo "<option value='{$v[0]}'>{$v[2]}</option>"; } ?> </select> </div>
效果:
(2)既然后选择审核人员,那么就是有添加的按钮
<input type="button" value="添加节点" id="jd" />
(3)对这个按钮添加点击事件
<script type="text/javascript"> $("#jd").click(function(){ var uid=$("#user").val(); $.ajax({ url:"addjd.php", data:{uid:uid}, type:"POST", dataType:"TEXT", success: function(data){ window.location.href="liucheng.php"; } }) }) </script>
(4)添加节点的处理页面
<?php session_start(); $uid=$_POST["uid"]; if(empty($_SESSION["jiedian"]))//判断是否为空 { $arr=array($uid);//如果为空就造一个数组放到session里 $_SESSION["jiedian"]=$arr; } else { $arr=$_SESSION["jiedian"]; $arr[]=$uid; $_SESSION["jiedian"]=$arr; }
(5)在主页面中显示添加的这些节点
<div> <?php if(empty($_SESSION["jiedian"]))//如果没有节点值 { echo "还未添加节点人员!"; } else { $arr=$_SESSION["jiedian"]; foreach($arr as $k=>$v)//循环遍历,$v只是名字,还有有所以所以用$k { $sql="select name from users where uid='{$v}'"; $name=$db->StrQuery($sql); echo "<div>{$k}--{$name}--<input type='button' value='移除' class='yichu' sy='{$k}' /></div>";//输出索引号还有名字,加一个删除按钮吧,可以吧这个节点删除 } } ?> </div>
添加节点看下效果:
添加几个人就出现了下面的效果:
(6)这样之后就是对其的删除按钮添加单击事件了
<?php $(".yichu").click(function(){ var sy = $(this).attr("sy"); $.ajax({ url:"yichu.php", data:{sy:sy}, type:"POST", dataType:"TEXT", success: function(data){ window.location.href="liucheng.php"; } }); })
(7)删除按钮的处理页面
<?php session_start(); $sy = $_POST["sy"]; $arr = $_SESSION["jiedian"]; unset($arr[$sy]); $arr = array_values($arr); $_SESSION["jiedian"] = $arr;
查看下删除节点的效果
1.没有删除之前
2.删除一个节点之后
(8)节点的操作已经结束之后,那么就是流程的名称了,这个简单,写名称的文本框:重要的就是对这个流程的保存了,那么也要有保存按钮
<div> 请输入流程名称:<input type="text" id="mingcheng" /> </div> <br /> <input type="button" value="保存" id="baocun" />
这样整体的效果图就出来了:
(9)最后就是保存按钮的单击事件了
<?php $("#baocun").click(function(){ var name = $("#mingcheng").val(); $.ajax({ url:"baocun.php", data:{name:name}, type:"POST", dataType:"TEXT", success: function(data){ alert("保存成功!"); } }); }) ?>
(10)保存流程的处理页面
<?php session_start(); require "DBDA.class.php"; $db = new DBDA(); $name = $_POST["name"]; $code = time(); $sql = "insert into liucheng values('{$code}','{$name}')";//修改流程表中的值:代号和名字 $db->query($sql,0); $arr = $_SESSION["jiedian"]; foreach($arr as $k=>$v) { $sql = "insert into jiedian values('','{$code}','{$v}','{$k}')";//修改流程节点的数值 $db->query($sql,0); }
看下保存效果:
看下数据库,内容也保存数据库了
请假后就是审核在下次更新。