zoukankan      html  css  js  c++  java
  • 工作流编写教程

    介绍

    ONES中使用了flowchart.js作为前端展示,并且扩展了flowchart.js的流程描述语言。
    flowchart.js 参见: https://github.com/adrai/flowchart.js

    描述语言分为三部分,使用 (空一行)作为分割,分别是节点定义执行流程描述节点权限描述

    节点定义

    eg:
    make_stockout=>operation: 生成出库单:> m:Sale/Orders::convert_to_stock_out

    必填项目:

    • make_stockout 定义的是一个别名叫做 make_stockout的节点
    • =>是节点和其设置的分隔符,这部分是和flowchart一致的
    • operation表示的是节点的类型,和flowchart一致,比如start, end, operation, condition等。: (注意冒号后面的空格)是标识节点类型的结束
    • 生成出库单 表示的是节点的显示名称,如果表示为 生成出库单:正在出库,则冒号前面是节点的按钮名称,后面是节点的状态名称。后面的:>(注意冒号后面的空格)表示的是节点的显示名称描述结束

    非必填项目

    • m:Sale/Orders::convert_to_stock_out 这部分是一个整体,m:表示的是执行一个服务接口的方法(M ethod),Sale/Orders代表的是所执行的服务,命名方式参照ThinkPHP的D()方法参数,convert_to_stock_out为服务提供的方法。
    • 也可以通过此处直接修改当前流程的数据,比如:u:status=1,表示为更新(U pdate)status为1

    流程描述

    eg:

    start(right)->save_bill(right)->confirm->check_if_all_out
    check_if_all_out(yes)->response->end
    check_if_all_out(no)->continue_out->confirm(right)
    
    • 流程描述以->为分隔符,分隔符两端分别为执行节点的上下文关系
    • (right)是flowchart.js的描述方法,标识在前端显示中,会将下一节点置于上一节点右侧
    • (yes) or (no) 是condition类型节点专用的,分别标识条件判断执行结果为真或者假的情况下的后续操作

    权限描述

    权限描述可以通过在前端双击工作流节点进行设置,也可以手动填写,默认的eg:

    end=>auto:auto
    response=>auto:waiting
    save_bill=>auto:owner
    

    注意这三个特殊的执行者身份

    • auto:auto 代表节点会自动执行
    • auto:wait 代表当前流程会和其他流程有交叉,并且会等待其他流程的响应
    • auto:owner 代表当前流程数据的创建者
  • 相关阅读:
    程序员修炼之道阅读笔记02
    第十五周课堂练习-查找最长单词链
    文件读写总结
    第十五周
    暑假总结1
    软件工程课程总结
    第十六周总结
    用户场景分析
    学期课后个人总结
    第十五周总结
  • 原文地址:https://www.cnblogs.com/h2zZhou/p/5362606.html
Copyright © 2011-2022 走看看