基于jeecgboot-vue3的Flowable流程支持bpmn流程设计器与仿钉钉流程设计器-编辑多版本处理
创始人
2025-01-10 05:33:04
0

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

1、前端编辑带有仿钉钉流程的处理

/** 编辑流程设计弹窗页面 */   const handleLoadXml = (row) => {     console.log("handleLoadXml row",row)     const params = {       flowKey: row.key,       version: row.version     }      queryByKeyAndVersion(params).then(res => {       console.log("queryByKeyAndVersion res",res)       if (res.code === 200 && res.result.hasOwnProperty("id")) {         ddDesignerData.id = res.result.flowKey         ddDesignerData.name = res.result.name         flowJsonData.value = JSON.parse(res.result.flowJson)         flowJsonData.value.category = row.category         flowJsonData.value.appType = row.appType         ddDesignerData.version = res.result.version         designerData.form.processType.push({id: row.category,appType: row.appType})         ddDesignerOpen.value = true       }       else {         designerData.title = "流程设计 - " + row.name;         designerData.deploymentId = row.deploymentId;         designerData.form = {           processType: [],           processName: row.name,           processKey: row.key         }         if (row &&row.deploymentId) {           const selectItem = categorys.value.find(item => item.id == row.category);           modelForm.processType = selectItem; //以便编辑保存的时候获取到processType           designerData.form.processType.push(selectItem);           designerData.loading = true;           console.log("designerData",designerData)           handleReadImage(row.deploymentId);           designerData.title = "编辑流程图";           }         xmlFrame.width = '90%'       }     })     }

2、后端检查是否有相应的仿钉钉flowKey和版本号相同的仿钉钉数据

     

3、前端编辑后保存

const ddSave = (data: any) => {     console.log("ddSave data",data)     saveXmlJson(data).then(res => {       if(res.code === 200) {         createMessage.success(res.message);         ddDesignerData.loading = false;         ddDesignerOpen.value = false;         getList();       }       })   }  

其中前端数据如下:

const save = () => {   const processModel = {     code: pCode.value,     name: pName.value,     icon: {       name: 'el:HomeFilled',       color: '#409EFF'     },     process: props.process,     flowJson: JSON.stringify(props.process),     category: props.processType[0].id,     appType: props.processType[0].appType,     enable: true,     version: props.version,     sort: 0,     groupId: '',     remark: ''   }   emit('save', processModel); }

4、后端保存跟原来差不多

@Override 	@Transactional(rollbackFor = Exception.class) 	public Result saveDdModel(ProcessModel processModel) { 		try { 			FlowSaveXmlVo vo = new FlowSaveXmlVo(); 	        BpmnModel bpmnModel = processModel.toBpmnModel(); 	        FlowDd flowDd = new FlowDd(); 	        flowDd.setId(processModel.getId()); 	        flowDd.setName(processModel.getName()); 	        flowDd.setFlowKey(processModel.getCode()); 	        flowDd.setVersion(processModel.getVersion()+1); 	        //String flowJson = JSON.toJSONString(processModel);//有问题,会转换成大写的问题 	        String flowJson = processModel.getFlowJson(); 	        flowDd.setFlowJson(flowJson); 	        flowDdService.save(flowDd); 	        String xml = new String(new BpmnXMLConverter().convertToXML(bpmnModel)); 	        vo.setAppType(processModel.getAppType()); 	        vo.setCategory(processModel.getCategory()); 	        vo.setXml(xml); 	        vo.setDesignerType("DingDing"); 	        return this.saveXmlMode(vo);     	} catch (Exception e) {             e.printStackTrace();             throw new RuntimeException("创建失败: e=" + e.getMessage());         } 	}

5、效果图

上面是v2版本了,对应bpmn图

编辑仿钉钉界面

仿钉钉保存后数据

相关内容

热门资讯

一秒了解新全游房卡领取码/新猴... 一秒了解新全游房卡领取码/新猴王大厅房卡在哪里购买!游戏中心打开微信,添加客服【113857776】...
全攻略普及,微信链接金花房卡怎... 大圣大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:44346008许多玩家在游戏中会购买房卡来...
ia攻略/如何购买金花房卡雷霆... 微信游戏中心:雷霆大厅房卡在哪里买打开微信,添加客服微信【88355042】,进入游戏中心或相关小程...
推荐一款!金花房卡怎么购买雷霆... 雷霆大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
终于发现!微信牛牛房卡如何购买... 微信游戏中心:牛牛房卡,添加微信【71319951】,进入游戏中心或相关小程序,搜索“微信牛牛房卡”...
秒懂百科新西楚房卡多少米/天蝎... 第二也可以在游戏内商城:在游戏界面中找到 “微信金花,斗牛链接房卡”“商城”选项,选择房卡的购买选项...
正版授权!金花房卡专卖店宝马系... 今 日消息,宝马系列/随意玩房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更...
玩家推荐,购买斗牛房卡联系方式... 斗牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:15984933许多玩家在游戏中会购买房卡来享受...
IA解析/牛牛房卡官网天蝎大厅... 天蝎大厅房卡更多详情添加微:33549083、 2、在商城页面中选择房卡选项。 3、根...
终于发现!炸金花从哪里买房卡,... 微信游戏中心:炸金花房卡,添加微信【56001354】,进入游戏中心或相关小程序,搜索“微信炸金花房...
一秒了解新云游房卡到哪里买/天... 一秒了解新云游房卡到哪里买/天蝎大厅房卡客服!微信房卡充值 添加房卡批售商:微【113857776】...
正版授权!游戏推荐牛牛房卡出售... 玄灵大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:【3329006910】或QQ:332900...
玩家必备攻略,微信斗牛房卡怎么... 微信斗牛是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:160470940许多玩家在游戏中会购买房卡...
终于发现!微信牛牛房卡购买联系... 微信游戏中心:牛牛房卡,添加微信【66336574】,进入游戏中心或相关小程序,搜索“微信牛牛房卡”...
玩家须知新荣耀房卡怎么弄/新猴... 玩家须知新荣耀房卡怎么弄/新猴王大厅房卡在哪里购买! 微信牛牛房卡客服微信号微信游戏中心打开微信,添...
科技实测!牛牛房卡哪里有卖的新... 今 日消息,新神兽/青龙大厅房卡添加微信33549083 苹果今日发布了 iOS 16.1 正式版更...
推荐一款!金花微信链接市场价格... 推荐一款!金花微信链接市场价格表战皇大厅/微信链接房卡价格一览表战皇大厅是一款非常受欢迎的游戏,咨询...
居家必备,牛牛链接房卡那里有卡... 卡贝大厅是一款非常受欢迎的棋牌游戏,咨询房/卡添加微信:15984933许多玩家在游戏中会购买房卡来...
实测分享美人房卡怎么得/王者大... 第二也可以在游戏内商城:在游戏界面中找到 “微信金花,斗牛链接房卡”“商城”选项,选择房卡的购买选项...
终于发现!微信里面炸金花链接房... 微信游戏中心:炸金花房卡,添加微信【71319951】,进入游戏中心或相关小程序,搜索“微信炸金花房...