泛微ECOLOGY9时间组件参数复写解决请假时间最少30分钟的需求

搭建公司请假流程,人资要求请假时间最少为30分钟,也就是不足30分钟按30分钟计算。正常情况下需要请假人员选择时间后,由系统根据30分钟为一个单位做四舍五入的计算,得出请假时长。

本着能简单绝不复杂的原则,直接将时间组件的分钟限制为只能选择 00 或者 30, 这样就不会出现 请假几分钟之类的问题,也就解决了 30分种为最小单位的需求。
实现思路

分析表单中所使用到的组件:PC端使用的是 WeaTimePicker 组件,移动端使用的是DatePicker 组件。
改造时间选择组件,将时间组件的参数步长默认为1 改为 30。
ecode编写代码,并改为前置加载。
代码如下:

 ecodeSDK.overwritePropsFnQueueMapSet('WeaTimePicker',{  //PC端组件
  fn:(newProps)=>{
           //如果不是pc流程表单或移动端流程表单中,则不执行下面逻辑
    if (!(ecodeSDK.checkLPath('/spa/workflow/static4form/index.html#/main/workflow/req') || ecodeSDK.checkLPath('/spa/workflow/static4mobileform/index.html#/req'))) return;
    let workflowid = "-1";
    if (WfForm.getBaseInfo()) {
      workflowid = WfForm.getBaseInfo().workflowid;
    }
    if (workflowid != 254) return;  //限制到指定流程
    newProps.minuteStep = 30; //组件参数中增加 时间步长为 30分钟
    return newProps;
  }
});

 ecodeSDK.overwriteMobilePropsFnQueueMapSet('DatePicker',{  //移动端组件
  fn:(newProps)=>{
           //如果不是pc流程表单或移动端流程表单中,则不执行下面逻辑
    if (!(ecodeSDK.checkLPath('/spa/workflow/static4form/index.html#/main/workflow/req') || ecodeSDK.checkLPath('/spa/workflow/static4mobileform/index.html#/req'))) return;
    let workflowid = "-1";
    if (WfForm.getBaseInfo()) {
      workflowid = WfForm.getBaseInfo().workflowid;
    }
    if (workflowid != 254) return; 
    newProps.minuteStep = 30; //时间步长改为 30分钟
    return newProps;
  }
});

  • 12
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值