当前位置:   article > 正文

ruoyi-nbcio-plus基于ruoyi vue3的flowable前端支持自定义表单组件的自动获取方法_若依 自定义表单组件 适配vue3

若依 自定义表单组件 适配vue3

更多ruoyi-nbcio功能请看演示系统

gitee源代码地址

前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio

演示地址:RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/

更多nbcio-boot功能请看演示系统 

gitee源代码地址

后端代码: https://gitee.com/nbacheng/nbcio-boot

前端代码:https://gitee.com/nbacheng/nbcio-vue.git

在线演示(包括H5) : http://218.75.87.38:9888

1、基于vue3 vite的ruoyi-nbcio-plus的动态组件加载跟原先vue2的还是有些区别,原先vue2的代码运行会出现下面的错误

Reason: Error: Cannot find module '@/views/workflow/demo/wf.vue'

类似就是找不到这样的模块,但实际上这个页面就是上面的路径,原因不知道,可能vite解析问题吧。

2、所以useFlowable.ts修改代码如下:
 

  1. import { listCustomForm } from "@/api/workflow/customForm";
  2. export const useFlowable = () => {
  3. const customformList = ref<any>([]);
  4. const formQueryParams = reactive<any>({
  5. pageNum: 1,
  6. pageSize: 1000
  7. });
  8. const allFormComponent = computed(() => {
  9. return customformList.value;
  10. })
  11. /* 挂载自定义业务表单列表 */
  12. const ListCustomForForm = async () => {
  13. listCustomForm(formQueryParams).then(res => {
  14. let  cfList = res.rows;
  15.         cfList.forEach((item, index) => {
  16.           let cms = {
  17.               text:item.flowName,
  18.               routeName:item.routeName,
  19. component: markRaw(defineAsyncComponent( () => import(/* @vite-ignore */`../../${item.routeName}.vue`))),
  20.               businessTable:'wf_demo'
  21.           }
  22.           customformList.value.push(cms);
  23.         })
  24. })
  25. }
  26. const getFormComponent = (routeName) => {
  27. return allFormComponent.value.find((item) => item.routeName === routeName) || {}
  28. }
  29. onMounted(() => {
  30. ListCustomForForm();
  31. });
  32. return {
  33. allFormComponent,
  34. getFormComponent
  35. }
  36. }

主要修改动态组件的目录与名称

3、这样调整后,就可以正常显示了

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/888564
推荐阅读
相关标签
  

闽ICP备14008679号