当前位置: 首页 > news >正文

山西成宁做的网站青岛建网站公司哪家专业

山西成宁做的网站,青岛建网站公司哪家专业,网站管理模板,wordpress中文问答模块到目前为止,虽然基础的formdesigner部分已经完成,但流程用formdesigner提交与审批过程中的显示还有问题。 1、后端部分 其中FormConf修改如下: package com.ruoyi.flowable.core;import lombok.Data;import java.util.List; import java.uti…

        到目前为止,虽然基础的formdesigner部分已经完成,但流程用formdesigner提交与审批过程中的显示还有问题。

         1、后端部分

         其中FormConf修改如下:

package com.ruoyi.flowable.core;import lombok.Data;import java.util.List;
import java.util.Map;/*** 表单属性类** @author KonBAI* @createTime 2022/8/6 18:54*/
@Data
public class FormConf {/*** 标题*/private String title;/*** 表单列表*/private List<Map<String, Object>> list;/*** 表单配置名*/private Map<String, Object> config;/*** 表单列表实际值*/private Map<String, Object> formValues;}

   获取流程历史信息修改如下:

/*** 获取历史流程表单信息*/private List<FormConf> processFormList(BpmnModel bpmnModel, HistoricProcessInstance historicProcIns) {List<FormConf> procFormList = new ArrayList<>();List<HistoricActivityInstance> activityInstanceList = historyService.createHistoricActivityInstanceQuery().processInstanceId(historicProcIns.getId()).finished().activityTypes(CollUtil.newHashSet(BpmnXMLConstants.ELEMENT_EVENT_START, BpmnXMLConstants.ELEMENT_TASK_USER)).orderByHistoricActivityInstanceStartTime().asc().list();List<String> processFormKeys = new ArrayList<>();for (HistoricActivityInstance activityInstance : activityInstanceList) {// 获取当前节点流程元素信息FlowElement flowElement = ModelUtils.getFlowElementById(bpmnModel, activityInstance.getActivityId());// 获取当前节点表单KeyString formKey = ModelUtils.getFormKey(flowElement);if (formKey == null) {continue;}boolean localScope = Convert.toBool(ModelUtils.getElementAttributeValue(flowElement, ProcessConstants.PROCESS_FORM_LOCAL_SCOPE), false);Map<String, Object> variables;if (localScope) {// 查询任务节点参数,并转换成Mapvariables = historyService.createHistoricVariableInstanceQuery().processInstanceId(historicProcIns.getId()).taskId(activityInstance.getTaskId()).list().stream().collect(Collectors.toMap(HistoricVariableInstance::getVariableName, HistoricVariableInstance::getValue));} else {if (processFormKeys.contains(formKey)) {continue;}variables = historicProcIns.getProcessVariables();processFormKeys.add(formKey);}  Map<String, Object> formvariables = new HashedMap<String, Object>();//遍历Mapif(variables.containsKey("variables")) {formvariables = (Map<String, Object>)((Map<String, Object>) variables.get("variables")).get("formValue");}// 非节点表单此处查询结果可能有多条,只获取第一条信息List<WfDeployFormVo> formInfoList = deployFormMapper.selectVoList(new LambdaQueryWrapper<WfDeployForm>().eq(WfDeployForm::getDeployId, historicProcIns.getDeploymentId()).eq(WfDeployForm::getFormKey, formKey).eq(localScope, WfDeployForm::getNodeKey, flowElement.getId()));//@update by Brath:避免空集合导致的NULL空指针WfDeployFormVo formInfo = formInfoList.stream().findFirst().orElse(null);if (ObjectUtil.isNotNull(formInfo)) {// 旧数据 formInfo.getFormName() 为 nullString formName = Optional.ofNullable(formInfo.getFormName()).orElse(StringUtils.EMPTY);String title = localScope ? formName.concat("(" + flowElement.getName() + ")") : formName;FormConf formConf = JsonUtils.parseObject(formInfo.getContent(), FormConf.class);if (null != formConf) {//ProcessFormUtils.fillFormData(formConf, variables);formConf.setTitle(title);formConf.setFormValues(formvariables);procFormList.add(formConf);}}}return procFormList;}

2、前端部分

 表单信息修改如下:

<el-tab-pane label="表单信息" name="form"><div v-if="formOpen"><!--<el-card class="box-card" shadow="never" v-for="(formInfo, index) in processFormList" :key="index"><div slot="header" class="clearfix"><span>{{ formInfo.title }}</span></div><el-col :span="20" :offset="2"><parser :form-conf="formInfo"/></el-col></el-card>--><el-card class="box-card" shadow="never" v-for="(formInfo, index) in formViewData" :key="index"><!--<div slot="header" class="clearfix"><span>{{ formInfo.title }}</span></div>--><!--流程处理表单模块--><el-col :span="20" :offset="2"><!-- <parser :form-conf="formInfo"/> --><form-viewer ref="formViewer" v-model="formVal[index]" :buildData="formInfo" /></el-col></el-card></div></el-tab-pane >

流程详细信息修改如下:

getProcessDetails(procInsId, taskId) {const params = {procInsId: procInsId, taskId: taskId}detailProcess(params).then(res => {console.log("detailProcess res=",res);const data = res.data;this.xmlData = data.bpmnXml;this.processFormList = data.processFormList;this.processFormList.forEach((item, index) => {this.formVal[index] = JSON.stringify(item.formValues);this.formViewData[index] = JSON.stringify(item);});this.taskFormOpen = data.existTaskForm;if (this.taskFormOpen) {this.taskFormData = data.taskFormData;}this.historyProcNodeList = data.historyProcNodeList;this.finishedInfo = data.flowViewer;this.formOpen = true})},

3、效果图如下:

http://www.yayakq.cn/news/173473/

相关文章:

  • 做网站需要购买网站空间吗百度 手机网站 收录
  • 在济南什么人想做网站微信公众号运营策划书范文
  • 百度网站排名优化工具社交网站 建站
  • 省通信管理局 网站备案制度流程中国建筑查询平台
  • 网站输入字符 显示出来怎么做网站兼容性
  • 企业建站wordpress网站建设站长之家
  • 网站推广的步骤eclipse与jsp网站开发
  • 微信后台网站建设网站开发如何盈利
  • 拖拽建站模板c 网站开发htnl
  • 如何制作自己的网站链接视频无聊的网站
  • 开通网站申请网页设计与制作教程第四版课后答案
  • 计算机大二建设网站永久免费建个人主页
  • 做网站常用代码怎么做关注网站
  • 珠海市网站建设制作设计平台做网络推广被骗了去哪里投诉
  • 如何给网站更换域名建立网站的链接结构有哪几种形式
  • dns网站建设订制电子商务网站 价格
  • 网站主机免费申请模板网站建设公司电话
  • 做高档衣服的网站淄博公益网站建设
  • 怎样做销售水蜜桃网站怎么做响应式网站
  • 个人免费网站创建展示网站多少钱一个
  • 网站开发方向 英语翻译学校网站建设的难点
  • 哈尔滨专业做网站如何建设一个文件分享网站
  • 企业快速建站免费模板做国际网站有补贴吗
  • 家用网络建网站海市科技网站建设
  • 金川做网站公司购物中心网站模板
  • 品牌高端网站制作公司微信怎么做推广
  • 网站需要什么百度账户安全中心
  • 广州技术网站建设贺州网站seo
  • 织梦cms怎么更改网站的路径如何制作企业内部网站
  • 网站建设找好景科技建网站需要注意什么