新建流程隐藏指定流程(建模+api+ecode)

news/2024/11/8 11:22:34/文章来源:https://www.cnblogs.com/LiliDEtoy/p/18534727

ecode代码
`// 功能总开关
let enable = true;

let list=[];
$.ajax({
type:'GET',
url:'/api/xiangxin/Multiple/HideProcess',
success:function(res){
res.data.map((i)=>{
// console.log('lc :', i.lc);
list.push(i.lc);
})
}
})
let pd;
//判断是否是新建流程页面
ecodeSDK.overwritePropsFnQueueMapSet('WeaTop',{
fn:(newProps,name)=>{
// console.log("WeaTop",newProps);
let title=newProps.title;
console.log("title",title);
if(title=="新建流程"){
pd=1;
}else{
pd=2;
}
// console.log("pd",pd);

}
})

ecodeSDK.overwritePropsFnQueueMapSet('Card',{

fn:(newProps,name) => {
// console.log('Card :', newProps);
if(pd!=1)return;
if(!enable) return ;
const {hash} = window.location;
if(!hash.startsWith('#/main/workflow/add')) return ;
// flag为true的情况时修改逻辑去适配另一个新建流程视图的情况,为false时维持原逻辑
const flag = newProps.className === 'clearfix' ? true : false;
const ch = flag ? newProps.children.props.children[1].props.children.props.children : newProps.children;
if((!newProps.id && ch&&ch[1]&&ch[1].length>0 ) || flag) {
const arr = flag ? ch : ch[1]
for(let i=0;i<arr.length;i++) {
const obj = arr[i]||{};
const wfbean = flag ? obj.props.children.props.wfbean 😦(obj.props?obj.props.wfbean:{})||{});
// console.log('list :', list);
if(list.some(l => l == wfbean.id)) {
let arr1 = "";
try {
arr1=flag ? newProps.children.props.children[0].props.children.props.children.props.children.props.children[1].props.children[1] :newProps.children[0].props.children.props.children[1].props.children[1];
} catch(e) {
continue;
}
let arr2=arr1.replace("(","");
arr2=arr2.replace(")","");
arr2=arr2-1;
if(flag){
newProps.children.props.children[0].props.children.props.children.props.children.props.children[1].props.children[1]="("+arr2+")";//流程数减一
newProps.children.props.children[1].props.children.props.children.splice(i,1);//删除不需要显示的流程
}else {
newProps.children[0].props.children.props.children[1].props.children[1]="("+arr2+")";//流程数减一
newProps.children[1].splice(i,1);//删除不需要显示的流程
}
i--;
}
}
} else if(newProps.id && ch&&ch[1]&&ch[1].length>0) {
let workflowList = ch[1];
workflowList = workflowList.filter(workflow => {
const id = workflow.props && workflow.props.wfbean && workflow.props.wfbean.id;
return !id || !list.some(l => l == id);
})
newProps.children[1] = workflowList;
}
return newProps;

},
order: 1,
desc: ''
});

ecodeSDK.overwritePropsFnQueueMapSet('Card',{
fn:(newProps,name) => {
if(pd!=1)return;
// console.log('Card 2:', newProps);

const {hash} = window.location;    
if(!hash.startsWith('#/main/workflow/add')) return ; 
const qb=newProps.ecId;
let lc;
const str='_Route@lyk3w3_OLinkCard@1a9lpd_Card@xqy2c3';
if(qb.includes(str)){// lc=="0";let lc2=newProps.children.props.children[0].props.children.props.children.props.children.props.children[1].props.children[1];lc=lc2;
}else{let lc2=newProps.children[0].props.children.props.children[1].props.children[1];lc=lc2;
}
if(lc=="(0)"){let style={display:'none'}newProps.style=style;
}

},
order: 2,
desc: ''

});
`

api接口

package com.api.xiangxinAPI;import com.alibaba.fastjson.JSONObject;
import weaver.conn.RecordSet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;/*
查询需要隐藏的流程,搭配ecode使用*/
@Path("/xiangxin/Multiple")
public class HideProcess {@GET@Path("/HideProcess")@Produces({MediaType.APPLICATION_JSON})public JSONObject TestMethod(@Context HttpServletRequest request, @Context HttpServletResponse response) {RecordSet rs = new RecordSet();int ycdlc;String sql = "select ycdlc from uf_yclc";rs.execute(sql);Map<String, Object> map;List<Map<String, Object>> list = new ArrayList<>();while (rs.next()) {map =new HashMap();ycdlc = rs.getInt("ycdlc");map.put("lc",ycdlc);list.add(map);}JSONObject result = new JSONObject();result.put("data", list);return result;}
}


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/828747.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式事物传递 NetMQ测试

using NetMQ; using NetMQ.Sockets; using System; using System.Threading; namespace 消息传递库_NetMQ服务端 {internal class Program{public static void Main(){using (var publisher = new PublisherSocket()){// 绑定到一个端口,等待订阅者连接publisher.Bind("t…

Java实现身份证OCR识别API

近年来,随着业务量的不断增加,人工录入方式越来越难以满足高效办理业务的需求,而且越来越多的移动 APP涉及到个人身份证信息的实名认证,为了提高在移动终端上输入身份证信息的速度和准确性,一种可以识别并提取身份证上文字信息的技术接口应运而生,即身份证 OCR 识别 API …

调试优科R750 无线AP

最近项目上用到几个优科的R750设备,头一次整 一头雾水,还是英文太差了。其实官网上有许多手册,也有社区。 先是打了RUCKUS官网上的400电话,全是英文,没有办法找集成商要了销售的微信,他们介绍了一个技术,用微信给我传了一个升级固件(R750-200.9.10.4.233.bl7);后来我…

LeetCode 2544[交替数字和]

LeetCode 2544[交替数字和]题目 链接 LeetCode 2544[交替数字和] 详情实例提示题解 思路 依次求出各位数字,然后进行计算 循环找出各位数字:(循环体如下)将数字对10取余得到对应位数的数字,加入到容器 numVec数字除以10,得到新的数字,此数字是不包含已获取数字的位数 循…

Ubuntu系统下载

推荐LTS长期支持版本 下载地址 Ubuntu Releases至于下边这个网站,不推荐用,很可能下载到beta之类的版本 Index of /releases

人工智能入门

确定性计算,符号主义(早期人工智能) 不确定性计算:建模、机器学习(世界的随机性、不确定性和动态性 - 需要模式识别(学习)的能力,从数据中总结规律)智能即学习。人类的学习,是有类比思维的,得出方法论、哲学;机器的学习,只是在训练特征参数,没有灵性。机器学习常…

iOS-Tagent上新了,iOS17的wda的部署小技巧你get了吗

iOS17以上设备的wda安装小技巧来啦!快来get这个小技巧吧!感兴趣的同学可以戳推文详细阅读~此文章来源于项目官方公众号:“AirtestProject” 版权声明:允许转载,但转载必须保留原链接;请勿用作商业或者非法用途一、前言 之前有很多同学一直在问如何在iOS17的设备上安装wda…

antd Select下拉项数据过多,偶现下拉面板空白

问题 如下,偶现点击选择框,下拉面板空白(数据确定已返回)解决 查看github中的issues发现其他人也有同样的问题,大概是和 virtual list 有关 https://github.com/ant-design/ant-design/issues/26116修改代码如下: <Select...其他属性virtual={false} />

Qt 窗口强制禁用系统阴影(自定义菜单)

解决方法 当只使用Qt::FramelessWindowHint时,不会显示系统阴影,因为自定义菜单一般都会添加Qt::Popup,添加Qt::Popup后系统会默认添加阴影效果。 在添加Qt::Popup后,继续添加Qt::NoDropShadowWindowHint枚举解决。最小复现代码:QDialog *dia = new QDialog();dia->set…

CJ/T188 调试工具介绍

官网下载地址:CJ/T 188 主站模拟器 功能介绍 #可用于任何厂商生产的符合 CJ/T188 标准的电能表。 支持通过串口和 TCP 连接 CJ/T188 设备。 支持 CJ/T188-2004/2018 协议。 同时与多个水表通信。 快速读取与写入数据,以表格形式展示,包含数据标识描述。 完善且人性化的界面设…

OpenHarmony4.1蓝牙芯片如何适配?触觉智能RK3568主板SBC3568演示

当打开蓝牙后没有反应时,需要排查蓝牙节点是否对应、固件是否加载成功,本文介绍开源鸿蒙OpenHarmony4.1系统下适配蓝牙的方法,触觉智能SBC3568主板演示,搭载了瑞芯微RK3568芯片,应用可覆盖边缘计算、人工智能、工业HMI、工业网关、智慧医疗、自助终端、智能零售、能源电力…

信创化浪潮下的ARM镜像构建指南

前言:在当今科技蓬勃发展的浪潮中,有一股神秘的力量如同幕后的巨擘,强力推动着信创化的进程。这股力量恰似一只无形却力大无穷的巨手,其影响范围广泛,涵盖了从操作系统、形形色色的中间件、数据库,一直到容器平台等诸多领域。 伴随着技术架构的深刻变革,docker 镜像也迎…