泛微Ecology9.0流程Ecode实践:通过复写接口彻底隐藏流程明细表列数据实例

本文介绍了如何在泛微Ecology9.0中使用Ecode进行流程开发,包括隐藏新建流程页面的Tab页签、操作按钮和右键菜单,以及通过复写接口隐藏明细列。详细展示了实现方式和发布项目的步骤。
摘要由CSDN通过智能技术生成
一、相关资源:

泛微Ecology9.0流程二开演示:使用Ecode对流程浏览框进行赋值

泛微Ecology9.0流程二开亲测:隐藏新建流程页面中的Tab页签

泛微Ecology9.0流程Ecode实践:新建流程页面增加自定义页签简单实例

泛微Ecology9.0流程Ecode实践:新建流程页面隐藏操作按钮及右键菜单实例

泛微Ecology9.0流程Ecode实践:流程明细表重复检验,列内容重复禁止提交

泛微Ecology9.0流程Ecode实践:流程加载时调用后端接口返回数据实例

二、效果展示:

通过Ecode复写流程表单接口,拦截返回数据达到载入流程表单时隐藏明细列的功能,效果如图:

三、实现方式:
新建项目(详细步骤可参考相关资源中之前发布的文章链接)

1.新建项目文件夹;

2.在项目文件夹下新建js代码文件register.js,并设置前置加载;

const config = {//配置区
  enable: true, // 总开关
  hash: '#/main/workflow/req',
  workflowid: 4,
  fields:[5843,5844],//要隐藏的明细字段列数组,字段ID数据,不带行号
  nodeid:0,
};

const detail_hide_col={display: "none"}; //隐藏样式

const isTargetLocation = () => { //定位到要修改的位置
  //如果不是pc流程表单或移动端流程表单中,则不执行下面逻辑
  //if (!(ecodeSDK.hash('#/main/workflow/req') || ecodeSDK.checkLPath('/spa/workflow/static4mobileform/index.html#/req')))
  if (!config.enable) return;
  const {hash} = window.location;
  if (hash.indexOf(config.hash) < 0) return; //判断页面地址
  if(!ecCom.WeaTools.Base64) return ; //完整组件库加载完成
  return true;
}

ecodeSDK.rewriteApiDataQueueSet({
  fn: (url, params, data) => {
    if (!isTargetLocation()) return data; //定位流程
    if (!url.startsWith('/api/workflow/reqform/loadForm')) return data;
    if (!data) return data;
   
    const {workflowid,nodeid}=data.params;
    if (workflowid!=config.workflowid) return data;
    if (config.nodeid>0 && nodeid!=config.nodeid) return data;

    //修改API返回数据达到隐藏目的
    config.fields.map(fieldid=>{
      let detailsymbol=data.cellInfo.fieldCellInfo[fieldid].symbol
      if (!data.tableInfo[detailsymbol].fieldinfomap[fieldid]) return data;
      let {fieldinfomap} = data.tableInfo[detailsymbol];
      fieldinfomap=Object.fromEntries(Object.entries(fieldinfomap).filter(([key]) => key !== fieldid));
      data.tableInfo[detailsymbol].fieldinfomap =fieldinfomap;

      let {colid}=data.cellInfo.fieldCellInfo[fieldid];
      data.datajson.eformdesign.etables[detailsymbol].colattrs['col_'+colid]={class:'detail_hide_col'};
    });
    //console.log(data);
    return data;
  },
  order:1, //排序字段,如果存在同一个页面复写了同一个组件,控制顺序时使用
  desc:'通过复写接口彻底隐藏流程明细表列数据实例'
});
发布项目

1.选中新建的项目文件夹,右键点击【发布】,发布成功后文件夹显示为黄色。

2.<完>。

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水哥工坊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值