来自云龙湖轮廓分明的月亮 发表于 2024-6-13 21:14:15

企业信息化目睹之怪现状 - 低代码实现串行流程

串行流程

串行流程属于业务中比较简朴的场景,直线审批到底。
实现一个IT报修的流程,包含节点:1、直接负责人审批;2、IT人员修复(审批)创建模板
创建一个名为itrepair的申请模板,填写的流程编码默认作为申请单号的前缀,如:itrepair-20220210-0001,点创建,进入下一步
http://101.43.138.169/wfhtml/pages/imgs/demo_simple_flow_design1.png
模型界说
点配置模型,填写模型标识(表名)、形貌;点添加数据增加模型字段,默认自带的3个字段不能修改,
字段ID(字段名)、形貌、是否必填(表单提交时验证);点击生存数据,该流程的关联的模型创建乐成。
可增加多个模型,完成后点下一步进入表单筹划。
http://101.43.138.169/wfhtml/pages/imgs/demo_simple_flow_design2.png
http://101.43.138.169/wfhtml/pages/imgs/demo_simple_flow_design3.png
表单筹划
点配置表单,填写表单标识:itApply(表单名)、形貌;选择表单上需要显示的按钮(申请有:生存、提交;审批有:同意、拒绝、前加签、转派、协办等),
点生存并筹划表单,会创建这个表单并跳转到表单筹划器,加入控件并绑定模型字段到控件,生存后能在流程中使用
http://101.43.138.169/wfhtml/pages/imgs/demo_simple_flow_design4.png
http://101.43.138.169/wfhtml/pages/imgs/demo_simple_flow_design5.png
布局,控件绑定字段(必填项必须有对应控件,字段不能重复绑定);高级控件设置数据源,见控件API
控件配置:

申请单号:IT报修主表/申请单编号 (数据接口 http://101.43.138.169:8880/api/common/billcode_gen/itrepair)
申请人:IT报修主表/申请人ID (数据接口 http://101.43.138.169:8880/api/user)
所在部门:IT报修主表/所在部门编码 (数据接口 http://101.43.138.169:8880/api/user_dept_select)
手机:IT报修主表/报修人电话
工位位置:IT报修主表/报修人座位
问题描述:IT报修主表/问题http://101.43.138.169/wfhtml/pages/imgs/demo_simple_flow_design6.png
http://101.43.138.169/wfhtml/pages/imgs/demo_simple_flow_design7.png
点击生存,(以上是创建申请单,照此步骤原样再创建一个itApprove的表单,选择同意、拒绝按钮供审批使用)点下一步进入流程筹划
流程筹划
点编辑流程图跳转到流程筹划器页面,开始画流程图:
1、必须有开始、竣事节点; 2、开始节点一般会毗连一个自动提交的任务节点; 3、绑定任务节点上的表单(上一步创建的); 4、编写候选人脚本,返回候选人(之后的脚本都类似,可以封装公共脚本或者拷贝现有的); 5、可以构造测试数据,点BUG按钮测试返回的字符串(脚本目标是返回审批人ID),确认无误后生存脚本;
筹划完成后点击生存流程图。
http://101.43.138.169/wfhtml/pages/imgs/demo_simple_flow_design8.png
http://101.43.138.169/wfhtml/pages/imgs/demo_simple_flow_design9.png
http://101.43.138.169/wfhtml/pages/imgs/demo_simple_flow_design10.png
http://101.43.138.169/wfhtml/pages/imgs/demo_simple_flow_design11.png
assigneeDriectLeader_v1.0脚本内容:
let TaskCall=fn(ctx){
    let dept=ctx["args"]["fm_itrepair_info$dept_code"]
    let db=DbOpen(UC_DB_CONN_SELF);
    let rows=db.select("select * from ou_user_dept_post udp left join ou_post_info pi on udp.post_code=pi.code where pi.flag='leader' and dept_id=?",dept);
    if(type(rows)=="ERROR"){
      return "";
    }else{
      if(ctx["creator"] == rows["user_id"].tostring()){
            let rows=db.select("select * from ou_user_dept_post udp left join ou_post_info pi on udp.post_code=pi.code where pi.flag='leader' and dept_id=(select parent_id from ou_dept_info where id=?)",dept);
            return rows["user_id"].tostring();
      }else{
            return rows["user_id"].tostring();
      }
    }
}

测试数据
{"creator":"7","args":{"fm_itrepair_info$dept_code":"7"}}注:任务候选人脚本约定阐明参考候选人脚本约定
http://101.43.138.169/wfhtml/pages/imgs/demo_simple_flow_design12.png
http://101.43.138.169/wfhtml/pages/imgs/demo_simple_flow_design13.png
http://101.43.138.169/wfhtml/pages/imgs/demo_simple_flow_design14.png
assigneeItOperator_v1.0脚本内容:
let TaskCall=fn(ctx){
    let db=DbOpen(UC_DB_CONN_SELF);
    let rows=db.select("select * from ou_user_dept_post udp left join ou_post_info pi on udp.post_code=pi.code where pi.flag='it'");
    if(type(rows)=="ERROR"){
      return "";
    }else{
      return rows["user_id"].tostring();
    }
}

测试数据
{}注:任务候选人脚本约定阐明参考候选人脚本约定
发布流程
表单、流程审计完成后点击发布流程,流程将以新版本发布,itrepair就能在流程申请中可用了。
http://101.43.138.169/wfhtml/pages/imgs/demo_simple_flow_design15.png
http://101.43.138.169/wfhtml/pages/imgs/demo_simple_flow_design16.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 企业信息化目睹之怪现状 - 低代码实现串行流程