页面保存后,过一会关闭页面原创
金蝶云社区-文馨莹
文馨莹
4人赞赏了该文章 1270次浏览 未经作者许可,禁止转载编辑于2021年11月01日 15:18:08

一、需求背景

1,需要在单据保存后,过1秒钟页面自动关闭


二、实现方案

1,可以通过倒计时控件来做,在保存后去开启倒计时控件,设置倒计时时间为1秒,然后在倒计时控件的触发事件中去执行关闭页面的操作


三、实现过程

1,在单据页面添加倒计时控件,然后在代码中动态的隐藏倒计时控件

@Override
public void beforeBindData(EventObject e) {
    super.beforeBindData(e);
    //隐藏倒计时控件
    this.getView().setVisible(false, "kdec_countdownap");
}

2,监听按钮,在itemclick事件里面去开启倒计时

@Override
public void itemClick(ItemClickEvent evt) {
    super.itemClick(evt);
    String key = evt.getItemKey();
    if ("bar_save".equals(key)) {
        CountDown countDown = this.getView().getControl("kdec_countdownap");
        countDown.setDuration(1);
        countDown.start();
    }
}

3,监听倒计时控件,在onCountDownEnd事件去关闭页面

@Override
public void onCountDownEnd(CountDownEvent evt) {
    CountDownListener.super.onCountDownEnd(evt);
    CountDown countDown = (CountDown) evt.getSource();
    if (countDown.getKey().equals("kdec_countdownap")) {
        this.getView().close();
    }
}

四、平台版本

 BOS_V3.0.006.0


大家如有任何建议和意见,欢迎在评论区留言,我将努力改进。创作不易,如能帮到大家,请动动您的金手指点赞鼓励一下,非常感谢~【emoji】【emoji】【emoji】

赞 4