基于jeecgboot-vue3的Flowable流程-集成仿钉钉流程(四)支持json和xml的显示

因为这个项目license问题无法开源,更多技术支持与服务请加入我的知识星球。

1、相应的界面前端代码

javascript 复制代码
<template>
  <div class="formDesign">
    <FlowDesign :process="process" :fields="fields" :readOnly="readOnly">
    <el-switch
      inline-prompt
      size="large"
      active-text="正常模式"
      inactive-text="暗黑模式"
      @change="handleToggleDark"
      v-model="isDark"
    />
    <el-switch
      v-model="readOnly"
      size="large"
      active-text="只读模式"
      inactive-text="编辑模式"
      inline-prompt
      :active-value="true"
      :inactive-value="false"
    />
    <el-button-group>
      <el-button @click="viewJson" size="small" type="primary" round icon="View"> 查看Json</el-button>
    </el-button-group>
    <el-button-group>
      <el-button @click="viewXmlBpmn" size="small" type="primary" round icon="View"> 查看XML </el-button>
    </el-button-group>
    <el-button-group>
      <el-button @click="converterBpmn" size="small" type="primary" round icon="View"> 预览bpmn </el-button>
    </el-button-group>
  </FlowDesign>
  <el-dialog title="预览" width="60%" v-model="previewModelVisible" append-to-body destroy-on-close>
    <highlightjs :language="previewType" :code="previewResult" style="height: 80vh" />
  </el-dialog>
  <!-- Bpmn流程图 -->
  <el-dialog :title="processView.title" v-model="processView.open" width="70%" append-to-body>
    <process-viewer :key="`designer-${processView.title}`" :xml="processView.xmlData" :style="{height: '500px'}" />
  </el-dialog>
  </div>
  
</template>

2、相应的转换代码

javascript 复制代码
const viewJson = () => {
  const processJson = JSON.stringify(process.value,undefined, 2); 
  previewResult.value = processJson; 
  previewType.value = 'json'
  previewModelVisible.value = true
}
const viewXmlBpmn = () => {
  const processModel = {
    code: 'test',
    name: '测试',
    icon: {
      name: 'el:HomeFilled',
      color: '#409EFF'
    },
    process: process.value,
    enable: true,
    version: 1,
    sort: 0,
    groupId: '',
    remark: ''
  }
  const xmlData = viewXml(processModel)
  xmlData.then((result) => {
    previewResult.value = result
    previewType.value = 'xml'
    previewModelVisible.value = true
  })
  

3、效果图

相关推荐
ly768912 小时前
XML 从入门到实践:语法、命名空间、XPath、XSD 与 Java 安全解析
xml·java·python
RuoyiOffice1 天前
SpringBoot3+Vue3 代码生成器深拆:元数据 IR、模板编译与安全同步
spring boot·vue3·mybatis plus·代码生成器·spring boot 3·velocity·元数据驱动
sir.山2 天前
在 Vue 3 项目中使用 Mock 数据
前端·vue.js·vue3·vite
paopao_djshddhdj2 天前
钉钉智能OA高级版:企业数字化协同与智能管理新引擎
网络·钉钉
皮皮虾❀2 天前
钉钉服务商私有化部署+混合云架构+信创适配一体化实战:从“公有云单点部署”到“核心本地+弹性云端”的灵活部署方案
架构·钉钉
paopao_djshddhdj2 天前
钉钉智能绩效:功能解析与收费模式
科技·钉钉
皮皮虾❀2 天前
钉钉服务商选型+系统集成能力+数据安全合规一体化实战:从“考勤数据孤岛”到“ERP/薪资系统自动同步全链路打通”
钉钉
皮皮虾❀2 天前
钉钉服务商私有化部署+专属APP定制+品牌自主一体化实战:从“用别人的平台”到“打造企业自有数字化办公入口”的完整路径
钉钉
SL-staff3 天前
技术实践:HR如何用JVS-Logic可视化编排实现考勤数据同步(含节点配置与异常处理)
开发语言·python·低代码·钉钉·可视化编排·jvs-logic·hr技术
皮皮虾❀3 天前
钉钉服务商定制开发实战:基于典铭云赛平台的技术架构与实现
钉钉