向导第三步自定义单元格样式拓展指导

栏目:s-hr cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-22浏览:1

向导第三步自定义单元格样式拓展指导

【适用版本】 

所有版本


【应用场景】 

针对向导第三步自定义单元格样式拓展指导参考


【详细说明】

针对现场二开咨询的拓展向导第三步针对不同场景可能需要更改单元格底色适配的问题本文档提供一些标品代码的参考思路


参考文件路径:eas安装目录下

eas\server\deploy\easweb.ear\shr_web.war\addon\compensation\web\js此路径下的

cmpTBDynamicList.js和cmpCalDynamicList.js



调用

1、第三步表格渲染,会调用到cmpTBDynamicList.js中gridLoadComplete方法

    renderGrid : function() {

        var it = this;

        var element = $('#dynamicGrid'), options = element.data('options');

        options.gridConfig = {};

        var gridConfig = it.currentListSetting.config;

        $.extend(true,options, {

            uipk : it.uipk,

            gridConfig : gridConfig,

            gridOption:{

                userDataOnFooter : true,

                //altRows : true,

                gridComplete : it.gridComplete,

                clientFooter: it.isSum,

                footerrow: it.isSum,

            },

            loadComplete : it.gridLoadComplete

        });

        it.setDefaultParamPlus(it.currentListSetting, options);

        it.setSchemeItems(options);//默认显示规则中的项目

        it.extendGridOptions(options);//自定义扩展options

        it.columnsToLowerCase(options)//将列配置name属性值改为小写

        it.gridOptions = options;//在前端和服务端缓存配置信息

        //console.log("renderGrid:",options);

        element.dynamicGrid(options).dynamicGrid('renderGrid');            

        it.initalizeGridEvent();//初始化表格事件

        it.afterRenderGrid(options);//表格render完成后操作

    },

2、该方法中,前几行逻辑调用renderCellEdited,此方法即是标品渲染第三步编辑后项目单元格底色为黄色标志的单元格处理,方法有继承js实现

/**

     * 表格加载完成

     */

    gridLoadComplete: function(ret) {

        var it = this;

        if(ret.rows && ret.rows.length > 0){

            jsBinder.renderCellEdited();

            //处理表格的pager

            if(ret.userdata && ret.userdata.page){

                jsBinder.renderPager(ret.userdata.page, ret.userdata.pageSize);

            }

        }

        var viewPage = shr.getCurrentViewPage();

        viewPage.initBreadcrumb();

        shr.setIframeHeight();

………省略

3、cmpCalDynamicList.js中该方法渲染调整过值的可编辑项目单元格

/**

     * 调整过的不能编辑的薪酬项目显示黄色

     */

    renderCellEdited : function(){

        var _self = this;

        var calTableIdArr = $('#grid').jqGrid('getDataIDs');

        shr.remoteCall({

            method : "getEditedItems",

            param : {

                handler : 'com.kingdee.shr.compensation.web.handler.CmpCalDynamicListHandler',

                calTableIds : calTableIdArr.toString()

            },

            success : function(response) {

                if(response.error){

                    shr.showError({

                        message : response.error

                    });

                }else{

                    var dataArr = response.data;

                    for(var i in dataArr){

                        var map = dataArr[i];

                        var calTableid = map.id;

                        if(!calTableid){

                            calTableid = map['calTable.calTableId'];

                        }

                        var field = map.field;

                        //渲染

                        var cellObject = $('#grid').jqGrid('getCellObject',calTableid,field);

                        if(cellObject){

                            cellObject.css('backgroundColor', 'yellow');

                        }

                        //渲染

                        //$('#grid').jqGrid('getCellObject',calTableid,field)[0].style.backgroundColor='yellow';

                    }

                }

            }

        });    

    },



总结: 现场如果需要针对性的二开调整前端单元格样式,可参考上面方法调用处理,但需要注意的是,逻辑上,现场需要有严谨的定位需要渲染的单元格范围,可以是整列,也可以是指定某行(即指定的行id,上图标品示例行idcalTableid)某列。


向导第三步自定义单元格样式拓展指导

【适用版本】 所有版本【应用场景】 针对向导第三步自定义单元格样式拓展指导参考【详细说明】针对现场二开咨询的拓展向导第三步,针对不同...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息