YJ.startup的函数改进

本文介绍YJ.startup函数的重构过程,通过引入钩子函数简化了代码,并提高了复用性和可维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

YJ.startup的函数改进

旧代码有一段在每个模块都调用,现进行重构,提供两个钩子函数来代替。

YJ.startup旧代码中重复代码情况1:

YJ.startup(function(){
    var YJ=window.YJ;
    var ei=YJ.EventInterfaces;          
    function init() {               
        YJ.CURBUSOBJ.setConditionParam({doResource:{VIDEO_TYPE:"WK",RES_STATUS:"UA"}})  
        YJ.CURBUSOBJ.enquiry();
    } 
    function initSearchFrame() {
        if (YJ.element("searchFrame")) {
            YJ.openWindow('searchFrame');
        } else {
            YJ.initSmart(init, YJ.win, true);                   
        }
    }
    YJ.ready(initSearchFrame);                                          
}); 

新代码YJ.startup 改为如下:

YJ.startup(function(){
    var YJ=window.YJ;
    var ei=YJ.EventInterfaces;
    ei.busObj_init = function(){
        this.setConditionParam({doResource:{VIDEO_TYPE:"WK",RES_STATUS:"UA"}})  
    }
}); 

YJ.startup旧代码中重复代码情况2:

YJ.startup(function() {
    var YJ=window.YJ;   
    function initSearchFrame() {
        if(YJ.userId=="superadmin"){
            YJ.element("gridItemComCde").removeAttribute("editableInNew")
        }
        YJ.openWindow('searchFrame');   
    }
    YJ.ready(initSearchFrame);
}); 

新代码YJ.startup 改为如下:

YJ.startup(function() {
    var YJ=window.YJ;   
    var ei = YJ.EventInterfaces;
    ei.onRender = function(){
        if(YJ.userId=="superadmin"){
            YJ.element("gridItemComCde").removeAttribute("editableInNew")
        }
        YJ.openWindow('searchFrame');
    }   
});

YJ.startup旧代码中重复代码情况3:

YJ.startup(function() {
    var YJ=window.YJ;       
    function initSearchFrame() {
        YJ.initSmart(null, YJ.win, true);       
    }
    var ei = YJ.EventInterfaces;    
    YJ.ready(initSearchFrame);  
}); 

新代码YJ.startup 改为如下:

YJ.startup(function() {
    var YJ=window.YJ;   
    var ei = YJ.EventInterfaces;    
    ei.onDataRender = function(){
    }               
});

YJ.startup旧代码中重复代码情况4:

    YJ.startup(function(){
            var YJ=window.YJ;
            var ei=YJ.EventInterfaces;
            function proExcel(){
                var subject=YJ.CURBUSOBJ.getSubject();
                if(subject){
                    var title=YJ.control("title");
                    title.TITLE="批量导入"+subject+"成绩";
                }
                var fn=YJ.PARENTPARAMS.passParam && YJ.PARENTPARAMS.passParam.file;
                if(fn){
                    var count=YJ.CURBUSOBJ.proExcel(fn);
                    YJ.html("totalRecord",count.length);
                    var doExamCtrl = YJ.control("doExam");
                    doExamCtrl.$noSelectedRows = true;
                    doExamCtrl.sort(0,"asc")    
                }
            }
            YJ.onLoading = function(){
                YJ.includeJs('js/hiddenExamResult.js');
            }   
            function initSearchFrame() {                
                YJ.initSmart(proExcel, YJ.win, true);   
            }           
            YJ.ready(initSearchFrame);

    var buttonEvents = YJ.includeJs("Smart.ButtonEvents")
        ei.busObj_afterSave = function(){                   
            YJ.sessionData.set("refreshExamsMgr",1);
        }       
        ei.cancelOnExit_onControlClicking=function(evnet){
            if(YJ.sessionData.get("refreshExamsMgr")){
                YJ.sessionData.set("refreshExamsMgr",2);
            }   
        }   
    });

新代码YJ.startup 改为如下:

YJ.startup(function(){
    var YJ=window.YJ;
    var ei=YJ.EventInterfaces;
    YJ.require("js/hiddenExamResult.js");           
    ei.onDataRender = function(){
        var subject=YJ.CURBUSOBJ.getSubject();
        if(subject){
            var title=YJ.control("title");
            title.TITLE="批量导入"+subject+"成绩";
        }
        var fn=YJ.PARENTPARAMS.passParam && YJ.PARENTPARAMS.passParam.file;
        if(fn){
            var count=YJ.CURBUSOBJ.proExcel(fn);
            YJ.html("totalRecord",count.length);
            var doExamCtrl = YJ.control("doExam");                  
            doExamCtrl.sort(0,"asc")    
        }
    }   
    ei.busObj_afterSave = function(){                   
        YJ.sessionData.set("refreshExamsMgr",1);
    }

    ei.cancelOnExit_onControlClicking=function(evnet){
        if(YJ.sessionData.get("refreshExamsMgr")){
            YJ.sessionData.set("refreshExamsMgr",2);
        }   
    }   
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值