首页 > 其他分享 >代码片段

代码片段

时间:2023-09-05 18:34:46浏览次数:39  
标签:片段 return workflow indexOf 代码 interceptEnable url data

去掉多文档超链接(ecode)

  • 没有 href 属性是如何完成跳转的

  • 使用 window.location.hash.indexOf() 判断是哪个页面

  • 通过 WfForm.getBaseInfo 可以获取当前流程中的信息

  • 通过节点信息的html鼠标聚集,可以看到对应节点id

ecodeSDK.overwritePropsFnQueueMapSet('WeaBrowser', {
    fn: function(newProps, name){
        if (window.location.hash.indexOf('#/main/workflow/req')==0) {
            console.log(3,newProps.linkUrl)
            var workflowid =  WfForm.getBaseInfo().workflowid;
            if(workflowid != 66){
              return newProps;
            }
            var nodeid = WfForm.getBaseInfo().nodeid;
            if(nodeid != 1238){
              newProps.linkUrl='';
            }           
        }
        return newProps;
    }
});

隐藏流程的保存按钮(ecode)

  • 在这里面用 querySelectorAll 拿不到按钮数据
  • 不能通过 display = 'none' 或者 opcity = 1.0 隐藏按钮
  • 成功实现代码案例如下:register.js 需要前置加载
// 通过组件复写的方式隐藏指定流程的保存按钮
//利用组件复写作为代码块执行钩子,这种方案可以支持覆盖到所有流程,也可以判断到指定流程指定节点
ecodeSDK.overwritePropsFnQueueMapSet('Button',{
  fn:(newProps)=>{
    if(!window.location.hash.startsWith('#/main/workflow/req')) return ; //判断页面地址
    if(!ecCom.WeaTools.Base64) return ; //完整组件库加载完成
    if(!WfForm) return ; //表单sdk加载完成
    if(WfForm.getBaseInfo().workflowid!==46) return ; //判断流程id
    // 页面加载完成
    jQuery().ready(function(){
      $("button[title='保存']").hide(); // 调用 show 方法显示
    });
  }
});
// 通过拦截组件,删除所有流程的保存按钮
let interceptEnable = true;

ecodeSDK.rewriteApiDataQueueSet({
  fn: (url, params, data) => {
    if(!interceptEnable) return data; // 限制条件
    if (window.location.hash.indexOf('#/main/workflow/req') < 0 || url.indexOf('/api/workflow/reqform/rightMenu') < 0) return data;
    data.rightMenus.splice(1, 1);
    return data;
  },
  desc: '拦截接口参数,同一个接口会在多个页面请求,需注意路径的判断'
});
// 上面的案例适用于已知按钮的索引,如果索引未知,可以根据按钮名称过滤
let interceptEnable = true;
ecodeSDK.rewriteApiDataQueueSet({
  fn: (url, params, data) => {
    if(!interceptEnable) return data; // 限制条件
    if (window.location.hash.indexOf('#/main/workflow/req') < 0 || url.indexOf('/api/workflow/reqform/rightMenu') < 0) return data;
    // data.rightMenus.splice(1, 1); 
    let res = data.rightMenus.filter(item => {
      return item.menuName !== '保存';
    });
    data.rightMenus = res;
    return data;
  },
  desc: '拦截接口参数,同一个接口会在多个页面请求,需注意路径的判断'
});  

修改出生人员信息的出生日期字段

// 拦截组件响应体,然后修改对应dom对象的内容
let interceptEnable = true;

ecodeSDK.rewriteApiDataQueueSet({
  fn: (url, params, data) => {
    if(!interceptEnable) return data; // 限制条件
    if (window.location.hash.indexOf('#/main/hrm/card/cardPersonal') < 0 || url.indexOf('api/hrm/usericon/getHasRight') < 0) return data;
    document.querySelector('.wea-form-item-label').innerHTML = '日期出生';
    return data;
  },
  desc: '拦截接口参数,同一个接口会在多个页面请求,需注意路径的判断'
});

将流程中的直角文本框替换成圆角的

  • 对于我发使用 style 属性的问题,在添加根据 url 过滤之后就能使用了
// 前置加载 register.js
let interceptEnable = true;

ecodeSDK.rewriteApiDataQueueSet({
  fn: (url, params, data) => {
    if(!interceptEnable) return data; // 限制条件
    if (window.location.hash.indexOf('#/main/workflow/req') < 0  || url.indexOf('/api/workflow/reqform/rightMenu') < 0) return data;
    const inputs = document.querySelectorAll("[type='text']");
    inputs.forEach(function(item,index,input){
      // input[index].style.borderRadius = '10px';
      item.style.borderRadius = '10px';
    })
    return data;
  },
  desc: '拦截接口参数,同一个接口会在多个页面请求,需注意路径的判断'
});

标签:片段,return,workflow,indexOf,代码,interceptEnable,url,data
From: https://www.cnblogs.com/20200109-zwh/p/17677112.html

相关文章

  • 随机森林算法如何用代码实现
    随机森林是一种集成学习算法,通过组合多个决策树来进行分类和回归任务,从而提高预测的稳定性和准确性。以下是使用Python中的sklearn库实现随机森林算法的基本示例:fromsklearn.datasetsimportload_irisfromsklearn.model_selectionimporttrain_test_splitfromsklearn.ensemb......
  • 将git远程代码拉取到本地
    1.打开命令行终端(如Windows中的命令提示符或macOS/Linux中的终端);2.切换到您想要保存代码的本地目录,在命令行中输入:```cd/path/to/your/local/folder```其中`/path/to/your/local/folder`是您想要保存代码的本地文件夹路径。3.输入以下命令来从Git上的......
  • 代码审计入门之XHCMS
    啥是xhcms熊海CMS是由熊海开发的一款可广泛应用于个人博客,个人网站,企业网站的一套网站综合管理系统,采用了前后端整套,只需要环境Apapche+Mysql+PHP5即可开箱即用。现在好像停止维护了工具准备seay源代码审计系统环境安装环境下载:https://www.lanzoux.com/izeFjfxbxah......
  • IIncrementalGenerator 增量 Source Generator 生成代码入门 从语法到语义 获取类型完
    本文告诉大家如何在使用IIncrementalGenerator进行增量的SourceGenerator生成代码时,如何从语法分析过程,将获取的语法Token转换到语义分析上,比如获取类型完全限定名。一个使用的例子是在拿到一个Token表示某个类型时,本文将演示通过语义分析获取到拿到的Token的Type类......
  • 解决代码使用CompletableFuture做异步时spring-cloud-starter-sleuth的日志追踪号为空
    产生问题原因就是异步调用,导致spanId和traceId丢失了@Async注解的异步调用是没问题的前提使用spring-cloud-starter-sleuthjar包版本2.2.8.RELEASE关于追踪号的xml配置为<pattern>%yellow(%date{yyyy-MM-ddHH:mm:ss.SSS})[%X{X-B3-TraceId:-},%X{X-B3-SpanId:-},%X{X-B......
  • dotnet 读 WPF 源代码笔记 渲染层是如何将字符 GlyphRun 画出来的
    从业务代码构建出来GlyphRun对象,在WPF的渲染层里,如何利用GlyphRun提供的数据将字符在界面呈现出来。本文将和大家聊聊从WPF的渲染层获取到GlyphRun数据,到调用DirectX的各个渲染相关方法的过程,也就是WPF绘制文本字符的原理或者实现方法大家印象中的绘制一段文本是调......
  • dotnet 读 WPF 源代码笔记 聊聊 HwndWrapper
    我在阅读WPF源代码,在HwndWrapper的静态构造函数看到了申请了HwndWrapper.GetGCMemMessage这个Windows消息,好奇这个消息是什么功能的。通过阅读WPF源代码和写测试应用,了解到这是一个完全用来内部测试或调试的消息,没有任何业务上的功能在WPF的HwndWrapper的静态构造......
  • dotnet 读 WPF 源代码笔记 GlyphRun 的 DeviceFontName 的功能是什么
    在WPF里面的GlyphRun里,有一个令人迷惑的DeviceFontName属性,似乎给这个属性传入什么值,结果都不会有变更。通过阅读源代码,可以了解到,这是一个没什么用途的属性。本文将告诉大家这个属性的细节逻辑在上一篇博客WPF简单聊聊如何使用DrawGlyphRun绘制文本里面就提到如何创......
  • 代码源:序列删除
    有n个数字a1,a2,…,an,我们要把除了a1,an之外的其他数字删除,删除一个数字的代价是它乘上它相邻两个还没有被删除的数字的值,请求出最小代价是多少。输入格式第一行一个整数n。接下来一行n个整数a1,a2,…,an。输出格式一个整数,表示答案。样例输入556427样例......
  • git-cz 代码提交统一规范配置
    主要插件commitizen:代码提交辅助工具commitlint:代码校验工具husky:githook插件lint-staged:前端文件过滤工具,只检测暂存区代码cz-customizable:自定义提交配置安装步骤1.环境准备git版本,笔者使用gitforwin2.27.0相关钩子无发现问题,也建议>=2.27.0版本,低版......