微信小程序> php审批流程管理-审批流程管理-小程序审核流程

php审批流程管理-审批流程管理-小程序审核流程

浏览量:1712 时间: 来源:weixin_30378623
1.

1.流程管理的用法是什么样的?

2.

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

3.

3.审批的人要是怎么审批通过?

4.

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

5.

一、要有数据库的内容的

6.

肯定会有表的,首先就是用户表了,然后就是流程表,用户编写的流程表,还有审核人员的表

7.

二、数据库结束后,就是新建流程的页面,这页面会有审核人员,还有流程的名字还有提交的按钮

8.

(1)添加节点的人员,这个是要遍历数据库来查看都什么管理人员

12345678910111213141516div  请选择节点人员:?phpsession_start();//开启sessioninclude("DBDA.class.php");//调用封装好的数据库$dbnewDBDA();//造新对象$suser"select*fromusers";//查询用户表中的所有值$auser$db-Query($suser);//执行查询语句foreach($auseras$v){echo"inputclass'ck'type'radio'value'{$v[0]}'name'ck'/{$v[2]}";//输出单选按钮,数组中的索引2,也就是用户名,但是它的值是代号}?/div9.

查看一下显示结果:

10.

(2)既然后选择审核人员,那么就是有添加的按钮

1inputtype"button"value"添加节点"id"insert"///起个名字,便于给它添加单击按钮11.

(3)对这个按钮添加点击事件

123456789101112131415161718192021$("#insert").click(function(){varck$(".ck");//找到项varuid"";for(vari0;ick.length;i++){if(ck.eq(i).prop("checked"))//单选按钮的选中状态{  uidck.eq(i).val();//单选按钮的值}}$.ajax({url:"addjd.php",//添加节点的处理页面data:{uid:uid},//将单选按钮的值传过去type:"POST",//传值方式dataType:"TEXT",//值的返回状态success:function(data){window.location.href"liucheng_gaunli.php";//执行处理页面成功后会刷新页面  }});})12.

(4)添加节点的处理页面

123456789101112131415?phpsession_start();//开启session$uid$_POST["uid"];//接收传过来的值if(empty($_SESSION["jiedian"])){$attrarray($uid);//定义一个数组放用户$_SESSION["jiedian"]$attr;//将第一个用户放入数组中}else{$attr$_SESSION["jiedian"];//数组中有值$attr[]$uid;//放入数组中值$_SESSION["jiedian"]$attr;//将值再交给session}13.

(5)在主页面中显示添加的这些节点

12345678910111213141516?phpif(empty($_SESSION["jiedian"]))//如果没有节点值{echo"div还没有添加节点/div";//输出这句话}else{$attr$_SESSION["jiedian"];//数组中有了值foreach($attras$k$v)//循环遍历,$v只是名字,还有有所以所以用$k{$sname"selectnamefromuserswhereuid'{$v}'";//编写查询语句$name$db-StrQuery($sname);//执行查询语句br          //输出索引号还有名字,加一个删除按钮吧,可以吧这个节点删除echo"div{$k}--{$name}--inputtype'button'value'删除'sy'{$k}'class'sc'//div";}}?14.

添加节点看下效果:

15.

1.还没有添加节点的效果图:  

16.

2.随便添加几个审核人员:人员已经显示出来了

17.

(6)这样之后就是对其的删除按钮添加单击事件了

123456789101112$(".sc").click(function(){varsy$(this).attr("sy");//点击这个按钮,选中这个的索引号$.ajax({url:"shanchu.php",//删除按钮的处理页面data:{sy:sy},//把索引号传到处理页面type:"POST",//传值方式dataType:"TEXT",success:function(data){window.location.href"liucheng_gaunli.php";//执行处理页面成功后会刷新页面}});})18.

(7)删除按钮的处理页面

12345678?phpsession_start();//开启session$attr$_SESSION["jiedian"];//节点的数组$sy$_POST["sy"];//接收穿过来的索引号unset($attr[$sy]);//删除数据$attrarray_values($attr);//重新索引$_SESSION["jiedian"]$attr;19.

查看下删除节点的效果

20.

1.没有删除之前

21.

2.删除一个节点之后

22.

(8)节点的操作已经结束之后,那么就是流程的名称了,这个简单,写名称的文本框:重要的就是对这个流程的保存了,那么也要有保存按钮

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

这样整体的效果图就出来了:  

24.

(9)最后就是保存按钮的单击事件了

1234567891011$("#save").click(function(){  varname$("#name").val();//取到文本框的值  $.ajax({url:"baocun.php",//保存的处理页面data:{name:name},//将文本框的值传到处理页面type:"POST",//传值方式dataType:"TEXT",success:function(data){alert("添加成功!");//执行处理页面成功后会弹出提示框  }  });br})25.

(10)保存流程的处理页面

1234567891011121314151617?phpsession_start();//开启sessioninclude("DBDA.class.php");//调用封装的数据库类$dbnewDBDA();//造新对象$name$_POST["name"];//接收传过来的值$codetime();//代号是时间$sflow"insertintoflowvalues('{$code}','{$name}')";//修改流程表中的值:代号和名字$db-Query($sflow,0);//执行语句$attr$_SESSION["jiedian"];foreach($attras$k$v){$spath"insertintoflowpathvalues('','{$code}','{$v}','{$k}')";//修改流程节点的数值$db-Query($spath,0);//执行语句}26.

看下保存效果:

27.

看下数据库,内容也保存数据库了

28.

三、新建流程页面已经结束了,那么就是用户登录页面了,这个页面写了很多遍了,不多说了,直接上代码

29.

(1)登录的基本显示:都是些基本语句

1234h1用户登录/h1div账号:inputtype"text"id"uid"//divdiv密码:inputtype"password"id"pwd"//divdivinputtype"button"value"登录"id"btn"//div30.

(2)这里登录,我们也用ajax进行登录吧

123456789101112131415161718192021$("#btn").click(function(){//对登录按钮添加单击事件  varuid$("#uid").val();//获取用户的值  varpwd$("#pwd").val();//获取密码的值  $.ajax({url:"logincl.php",//编写登录的处理页面data:{uid:uid,pwd:pwd},//将用户和密码传到处理页面type:"POST",dataType:"text",success:function(data){  if(data.trim()"OK")  {    window.location.href"main.php";//处理页面执行成功后,跳转到主页面  }  else  {    alert("用户名密码输入错误");//否则就提示错误  }}  })})31.

(3)看下处理页面的编写

1234567891011121314151617181920?phpsession_start();//开启sessioninclude("DBDA.class.php");//调用封装的类$dbnewDBDA();//造新对象//传过来的值$uid$_POST["uid"];$pwd$_POST["pwd"];br//查询语句$sql"selectpwdfromuserswhereuid'{$uid}'andpwd'{$pwd}'";//执行语句$attr$db-Query($sql);if(!empty($pwd)!empty($attr)$attr[0][0]$pwd){$_SESSION["uid"]$uid;//session接收用户值echo"OK";}else{echo"ON";}?32.

最后,我们看下最后结果,登录成功就会进入主页,登录失败会提示错误

33.

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

34.

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

35.

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

12345678trtd流程代号/tdtd发起者/tdtd发起内容/tdtd是否结束/tdtd发起时间/tdtd操作/td/tr36.

先看下表头的显示:

37.

(2)开启一下session这样登录者的信息就会保存下来

123456789101112session_start();include("DBDA.class.php");//会用到数据库,所以可以调用一下数据库的类$dbnewDBDA();//造新对象$uid"";if(empty($_SESSION["uid"]))//判断保存的session值是不是为空{  header("location:login.php");//为空就返回登录页面}else{  $uid$_SESSION["uid"];//不为空就输保存一下用户}38.

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

12345678910111213141516171819202122232425262728293031//查询登录者参与的所有流程$su_flow"select*fromuserflowwherecodein(selectcodefromflowpathwhereuids'{$uid}')";$au_flow$db-Query($su_flow);//执行查询语句foreach($au_flowas$vu_flow){  $towhere$vu_flow[6];//流程走到哪里了  //找到登录者在该流程中的位置  $s_weizhi"selectordersfromflowpathwherecode'{$vu_flow[1]}'anduids'{$uid}'";  $wezhi$db-StrQuery($s_weizhi);//该人员在流程中的位置  if($towhere$wezhi)  {    $caozuo"";    if($towhere$wezhi)    {  //流程正好走到登录者位置  $caozuo"ahref'tongguo.php?ids{$vu_flow[0]}'通过/a";//get方式传过处理页面    }    else    {  //流程走过登录者  $caozuo"spanstyle'background-color:green;color:white'已通过/span";    }    echo"trtd{$vu_flow[1]}/tdtd{$vu_flow[2]}/tdtd{$vu_flow[3]}/tdtd{$vu_flow[4]}/tdtd{$vu_flow[5]}/tdtd{$caozuo}/td/tr";  }  elsebr  {    //流程未走到登录者  }}39.

(4)通过的处理页面

1234567891011121314151617181920?phpinclude("DBDA.class.php");//调用封装好的数据库类$dbnewDBDA();//造新对象br$ids$_GET["ids"];//将代号传过来$sql"updateuserflowsettowheretowhere+1whereids'{$ids}'";//修改towhere的值看已经执行到哪了$db-Query($sql,0);//执行修改语句$swhere"select*fromuserflowwhereids'{$ids}'";$attr$db-Query($swhere);$towhere$attr[0][6];//走到哪了$code$attr[0][1];//流程代号$ssl"selectcount(*)fromflowpathwherecode'{$code}'";//查询总数$pcount$db-StrQuery($ssl);//该流程节点人员数量if($towhere$pcount){br  $sql"updateuserflowsetisoktruewhereids'{$ids}'";//修改是不是已经通过了  $db-Query($sql,0);}header("location:main.php");40.

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

41.

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

42.

看下结点还有流程名称来看下数据库中结点的表

43.

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

44.

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

45.

第一个人是李四:

46.

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

47.

第二个人是马七,我们不点通过,看下下一个人员(王五)有没有这个通过的操作:是没有这个操作的

48.

我们让马七通过审核,再看下王五的界面

49.

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

50.

最后审核人员张三

51.

看下结果是否会结束:

52.

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

53.

这个就剩下发起流程的步骤了,可以先看下效果:

54.

(1)发起流程有个链接页面,单击这个,可以链接到发起流程页面

55.

(2)这个及时发起流程的页面了

56.

至此,这个流程管理就结束了。

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎