• Project Online JS 添加Ribbon按钮


    var Projects = Projects || {};
    (function () {
        Projects.ribbonButtonClick = function (name) {
            var projectIds = projectCenterComponent.get_GridSatellite().GetJsGridControlInstance().GetSelectedRecordKeys();
            if (projectIds.length === 1 && projectIds[0].length === 36) {
                var projectId = projectIds[0];
                var url = '';
                switch (name) {
                    case "项目报表":
                        url = "/sites/ppm/_layouts/15/ReportServer/RSViewerPage.aspx?rv:RelativeReportUrl=/sites/ppm/Reports/Project%20Detail%20Report.rdl&RP:ProjectUID=" + projectId;
                        break;
                    case "吊装规划":
                        url = "/sites/ppm/_layouts/15/ReportServer/RSViewerPage.aspx?rv:RelativeReportUrl=/sites/ppm/Reports/ProjectDemandReport.rdl&RP:ProjectUID=" + projectId
                        break;
                    case "项目资源":
                        url = '/sites/ppm/_layouts/15/ReportServer/RSViewerPage.aspx?rv:RelativeReportUrl=/sites/ppm/Reports/ProjectResourceReport.rdl&RP:ProjectUID=' + projectId;
                        break;
                    case "项目问题":
                        url = '/sites/ppm/_layouts/15/ReportServer/RSViewerPage.aspx?rv:RelativeReportUrl=/sites/ppm/Reports/ProjectIssueReport.rdl&RP:ProjectUID=' + projectId;
                        break;
                    case "项目风险":
                        url = '/sites/ppm/_layouts/15/ReportServer/RSViewerPage.aspx?rv:RelativeReportUrl=/sites/ppm/Reports/ProjectRiskReport.rdl&RP:ProjectUID=' + projectId;
                        break;
                }
                window.open(url);
            } else {
                alert('请选择一个项目');
            }
        };
    
        Projects.viewOrganization = function () {
            ExecuteOrDelayUntilScriptLoaded(function () { //Wait for sp.ribbon.js to be loaded
                var pm = SP.Ribbon.PageManager.get_instance();
                SelectRibbonTab('Ribbon.ContextualTabs.ProjectCenter.Home', true);
                pm.add_ribbonInited(ribbon_init);
            }, 'sp.ribbon.js');
        };
    
    
        function ribbon_init() {
            var ribbon = (SP.Ribbon.PageManager.get_instance()).get_ribbon();
            var tab = ribbon.getChild('Ribbon.ContextualTabs.ProjectCenter.Home');
            var group = new CUI.Group(ribbon, 'CustomReport.Group', '项目报表', '项目报表', 'ProjectCenterHomeTab', "CustomReport");
            tab.addChild(group);
            var layout = new CUI.Layout(ribbon, 'CustomReport.Layout', 'CustomReport.Layout');
            group.addChild(layout);
            group.selectLayout(layout.get_title());
            var section = new CUI.Section(ribbon, 'CustomReport.Section', 2, 'Top'); //2==OneRow
            layout.addChild(section);
            var row1 = section.getRow(1);
    
            //项目立项
            var create_controlProperties = new CUI.ControlProperties();
            create_controlProperties.Command = 'ProjectCenterHomeTab';
            create_controlProperties.TemplateAlias = 'o1';
            create_controlProperties.ToolTipDescription = '项目报表';
            create_controlProperties.Image32by32 = '/_layouts/15/2052/images/formatmap32x32.png';
            create_controlProperties.Image32by32Top = '-204';
            create_controlProperties.Image32by32Left = "-238";
            create_controlProperties.ToolTipTitle = '项目报表';
            create_controlProperties.LabelText = '项目报表';
            var create_button = new CUI.Controls.Button(ribbon, 'BPM.Button.ViewOrg', create_controlProperties);
            //create_button.set_enabled(true);
            var create_controlComponent = create_button.createComponentForDisplayMode('Large');
            row1.addChild(create_controlComponent);
    
            //暂停
            var stop_controlProperties = new CUI.ControlProperties();
            stop_controlProperties.Command = 'ProjectCenterHomeTab';
            stop_controlProperties.TemplateAlias = 'o1';
            stop_controlProperties.ToolTipDescription = '吊装规划';
            stop_controlProperties.Image32by32 = '/_layouts/15/2052/images/formatmap32x32.png';
            stop_controlProperties.Image32by32Top = '-272';
            stop_controlProperties.Image32by32Left = "-442";
            stop_controlProperties.ToolTipTitle = '吊装规划';
            stop_controlProperties.LabelText = '吊装规划';
            var stop_button = new CUI.Controls.Button(ribbon, 'BPM.Button.stop', stop_controlProperties);
            //stop_button.set_enabled(true);
            var stop_controlComponent = stop_button.createComponentForDisplayMode('Large');
            row1.addChild(stop_controlComponent);
    
            //重启
            var restart_controlProperties = new CUI.ControlProperties();
            restart_controlProperties.Command = 'ProjectCenterHomeTab';
            restart_controlProperties.TemplateAlias = 'o1';
            restart_controlProperties.ToolTipDescription = '项目资源';
            restart_controlProperties.Image32by32 = '/_layouts/15/2052/images/formatmap32x32.png';
            restart_controlProperties.Image32by32Top = '-68';
            restart_controlProperties.Image32by32Left = "-272";
            restart_controlProperties.ToolTipTitle = '项目资源';
            restart_controlProperties.LabelText = '项目资源';
            var restart_button = new CUI.Controls.Button(ribbon, 'BPM.Button.restart', restart_controlProperties);
            //restart_button.set_enabled(true);
            var restart_controlComponent = restart_button.createComponentForDisplayMode('Large');
            row1.addChild(restart_controlComponent);
    
            //变更
            var change_controlProperties = new CUI.ControlProperties();
            change_controlProperties.Command = 'ProjectCenterHomeTab';
            change_controlProperties.TemplateAlias = 'o1';
            change_controlProperties.ToolTipDescription = '项目问题';
            change_controlProperties.Image32by32 = '/_layouts/15/2052/images/formatmap32x32.png';
            change_controlProperties.Image32by32Top = '-170';
            change_controlProperties.Image32by32Left = "-136";
            change_controlProperties.ToolTipTitle = '项目问题';
            change_controlProperties.LabelText = '项目问题';
            var change_button = new CUI.Controls.Button(ribbon, 'BPM.Button.change', change_controlProperties);
            //change_button.set_enabled(true);
            var change_controlComponent = change_button.createComponentForDisplayMode('Large');
            row1.addChild(change_controlComponent);
    
            //关闭
            var close_controlProperties = new CUI.ControlProperties();
            close_controlProperties.Command = 'ProjectCenterHomeTab';
            close_controlProperties.TemplateAlias = 'o1';
            close_controlProperties.ToolTipDescription = '项目风险';
            close_controlProperties.Image32by32 = '/_layouts/15/2052/images/formatmap32x32.png';
            close_controlProperties.Image32by32Top = '0';
            close_controlProperties.Image32by32Left = "0";
            close_controlProperties.ToolTipTitle = '项目风险';
            close_controlProperties.LabelText = '项目风险';
            var close_button = new CUI.Controls.Button(ribbon, 'BPM.Button.close', close_controlProperties);
            //close_button.set_enabled(true);
            var close_controlComponent = close_button.createComponentForDisplayMode('Large');
            row1.addChild(close_controlComponent);
    
            create_button.getDOMElementForDisplayMode("Large").onclick = function () {
                Projects.ribbonButtonClick("项目报表");
            };
    
            stop_button.getDOMElementForDisplayMode("Large").onclick = function () {
                Projects.ribbonButtonClick("吊装规划");
            };
    
            restart_button.getDOMElementForDisplayMode("Large").onclick = function () {
                Projects.ribbonButtonClick("项目资源");
            };
    
            change_button.getDOMElementForDisplayMode("Large").onclick = function () {
                Projects.ribbonButtonClick("项目问题");
            };
    
            close_button.getDOMElementForDisplayMode("Large").onclick = function () {
                Projects.ribbonButtonClick("项目风险");
            };
        }
    })();
    

      

  • 相关阅读:
    restFul接口设计规范[仅供参考]
    Vue的router路由跳转传参——实现跳转时url不显示参数
    vue-cli(vue脚手架)搭建超详细教程
    Vue面试常见问题
    Ubuntu18.04安装时的一些问题
    仿BBS项目
    前端常用正则校验
    orm数据库查询优化及数据库三大设计范式总结
    SpringBoot+Git+Jenkins+Docker实现CI/CD
    Jenkins Pipeline+Maven+Gitlab持续集成构建问题集锦
  • 原文地址:https://www.cnblogs.com/systemnet123/p/10139246.html
Copyright © 2020-2023  润新知