通过脚本隐藏Netsuite界面上的内容

在Netsuite界面上,无法通过Form的设置来隐藏一些字段或者内容,则可以通过脚本来实现

/*
*隐藏BODY上的信息 hiddenBodyInfo(scriptContext,needHiddenIdList)
*隐藏List上的信息 hiddenSublietInfo
*/

define([],

    function() {

        return {
            hiddenBodyInfo:hiddenBodyInfo,                  //隐藏BODY上的信息
            hiddenSublietInfo:hiddenSublietInfo,            //隐藏List上的信息
        };

        //隐藏BODY上的信息
        function hiddenBodyInfo(scriptContext,needHiddenIdList) {
            //获取隐藏Body信息的HTML
            var hiddenBodyHtmlString = getHiddenBodyHtmlString(needHiddenIdList);
            try {
                scriptContext.form.addField({
                    type : 'inlinehtml',
                    label : '   ',
                    id : 'custpage_hidden_body_info'
                }).defaultValue = hiddenBodyHtmlString;
            } catch (ex) {
                log.error({
                    title : 'hide view elements error',
                    details : ex
                });
            }

            return true;
        }
        //隐藏List上的信息
        /*
        *
        * needHiddenInfo = {
        * 'sublistId':{
        *       'sublistId':sublistId,
        *       'classID':classID,
        *       'fieldName':[],
        * },
        *
        * }
        *
        * */
        function hiddenSublietInfo(scriptContext,needHiddenInfo) {
            //获取HTML
            var hiddenString = getHiddenListHtmlString(needHiddenInfo);
            try {
                scriptContext.form.addField({
                    type : 'inlinehtml',
                    label : '   ',
                    id : 'custpage_hidden_sublist_info'
                }).defaultValue = hiddenString;
            } catch (ex) {
                log.error({
                    title : 'hide view elements error',
                    details : ex
                });
            }
            return true;
        }

        //获取HTML
        function getHiddenListHtmlString(needHiddenInfo){
            var hiddenString = '';
            hiddenString += '<script>';

            var line = 1;

            for(var sublistId in needHiddenInfo) {
                var thisSublistId = sublistId + '_layer';
                hiddenString += 'window.addEventListener("load",';
                hiddenString += 'function(e){jQuery("#'+thisSublistId+'").on("DOMNodeInserted",function(e){hideIregulaFields'+line+'()});hideIregulaFields'+line+'()}';
                hiddenString += ');';
                line++;
            }
            line = 1;
            for(var sublistId in needHiddenInfo){
                var thisSublistId = sublistId + '_layer';
                var oneSublistInfo = needHiddenInfo[sublistId];
                var oneSublistClass = oneSublistInfo.classID;
                var oneSublistFieldList = oneSublistInfo.fieldName;
                hiddenString += 'function hideIregulaFields'+line+'(){';
                hiddenString += 'var projectTable=jQuery("#'+thisSublistId+'");';
                for (var i = 0; i < oneSublistFieldList.length; i++) {
                    if(oneSublistClass){
                        hiddenString += 'var startDateIndex=projectTable.find(".'+oneSublistClass+' td[data-label='+oneSublistFieldList[i]+']").index();';
                        hiddenString += 'if(startDateIndex!=-1){startDateIndex++;projectTable.find("td:nth-child( "+startDateIndex+" )").hide()}';
                    }else{
                        hiddenString += 'var startDateIndex=projectTable.find(".uir-list-headerrow td[data-label='+oneSublistFieldList[i]+']").index();';
                        hiddenString += 'if(startDateIndex!=-1){startDateIndex++;projectTable.find("td:nth-child( "+startDateIndex+" )").hide()}';
                        hiddenString += 'var startDateIndex=projectTable.find(".uir-machine-headerrow td[data-label='+oneSublistFieldList[i]+']").index();';
                        hiddenString += 'if(startDateIndex!=-1){startDateIndex++;projectTable.find("td:nth-child( "+startDateIndex+" )").hide()}';
                    }
                }
                hiddenString += '}';
                line++;
            }
            hiddenString += '</script>';

            return hiddenString;

        }

        //获取隐藏Body信息的HTML
        function getHiddenBodyHtmlString(needHiddenIdList){
            var htmlString = '';
            for (var i = 0; i < needHiddenIdList.length; i++) {
                htmlString += '<style type="text/css">#'+needHiddenIdList[i]+' {display:none !important;}</style>';
            }
            return htmlString;
        }


    });

 

posted @ 2020-08-25 15:24  糖醋排骨26  阅读(173)  评论(0编辑  收藏  举报