感谢于以恒提供本节教程

一、准备工作

  • 创建园区套件
  • 创建后端工程
  • 创建前端工程

二、 操作流程

1. 进入应用套件

  • 进入开发者后台->应用套件->创建的园区套件


2. 进入数据库管理

  • 进入工程管理->创建的后端工程->数据库管理


3. 添加请假表


4. 新建请假表单

  • 进入表单建模->新建请假表单


5. 编辑表单


6. 生成表单

  • 通过数据库表字段生成表单页面


7. 保存并导出vue文件


8. 修改表单代码

  • 打开前端工程修改表单代码
  • 查找目录 :static/form
  • copy form-test文件夹并修改名称为form-leave
  • 复制表单id 至meta.json 文件中的 formId
  • 打开导出的vue文件 ,复制内容覆盖进 form-leave/web/index.vue 文件里面
  • 修改static/data-form.json文件,将name改为form-leave


9. 编译及发布表单

  • 新建终端
  • 进入到我的前端项目路径
  • 执行命令 npm run build:form 编译表单
  • 执行命令 pai form deploy -n form-leave 部署表单
yyh@192 pai-yyh-park-ui % npm run build:form-web 
> pai-yyh-park-ui@1.0.0 build:form-web /usr/local/web-projects/pai/pai-yyh-park-ui
> cross-env BUILD_TYPE=form CLIENT_TYPE=web node build-widget/index.js
#------------- PAI-FORM -------------#
⠋ Building for pai-form-web...
yyh@yuyihengdeMacBook-Pro pai-yyh-park-ui % pai form deploy -n form-leave
Found /usr/local/pai-cli/.pai/wrapper/pai-wrapper.jar
表单form-leave发布成功
yyh@yuyihengdeMacBook-Pro pai-yyh-park-ui % 

10. 添加请假流程

  • 点击流程服务并添加请假流程


11. 编辑流程


12. 设计流程并保存

  • 设计流程节点并选择对应表单


13. 安装套件

  • 在开发沙箱中安装套件


14. 登陆控制台搜索套件


15. 配置流程节点

  • 进入套件配置流程节点执行信息


16. 发布流程

  • 保存后发布流程(需要刷新页面)


17. 进入流程中心

  • 进入工作台打开我的事项->智慧审批->流程中心->创建的套件


18. 发起请假流程


三、错误解决

  • 执行npm run build:form报错,提示如下需降低npm版本至6,执行命令npm install npm@6.14 -g 降低版本
#------------- PAI-FORM -------------#

undefined:1
undefined
^

SyntaxError: Unexpected token u in JSON at position 0
    at JSON.parse (<anonymous>)
    at Object.<anonymous> (/usr/local/web-projects/pai/pai-yyh-park-ui/node_modules/@flyriselink/pai-build-widget/build-widget/webpack-pai-form-conf.js:22:28)

四、开放接口

  • 预计规划 通过流程标识获取当前任务的状态。
  • 预计规划 办理后通过消息传递任务进度
  • 预计规划 一个节点一个表单
  • 预计规划 子流程

五、流程消息订阅

  • 消息订阅参考订阅配置
    消息订阅功能配置

  • 引入依赖pom.xml

          <dependency>
              <groupId>cn.flyrise</groupId>
              <artifactId>pai-common-mq</artifactId>
              <version>1.6.0</version>
          </dependency>
  • 代码

    @Service
    public class PulsarConsumer {
    
        @PaiMqListener (suiteCode = "zhsp",topic = "flow_change")
        public void consumer3(PulsarMessage<String> string) {
            System.out.println("PulsarConsumer Listener3: !!! msg:"+string.getValue());
        }
    }

六、参考资源

文档更新时间: 2023-02-28 11:11   作者:欧阳少海