Sharepoint文档库文档的菜单是一个标准的Callouts,他有标题、内容主体、和工具栏组成,我们都可以定义:
今天我们来定义工具栏,activebar
点击申请打印等就可实现相应功能:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 | var KeyPrint = false; var KeyDown = false; var renderECB = false; var webUrl; window.onload = function () { webUrl = "http://" + window.location.host + "/docmentcenter"; onGetUserSuccess(); } function sharePointReady() { context = new SP.ClientContext.get_current(); web = context.get_web(); getUser(); } function getUser() { user = web.get_currentUser(); context.load(user); context.executeQueryAsync(onGetUserSuccess, onGetUserFail); } function onGetUserSuccess() { //var userID=user.get_id(); var userID = 1; if (userID == 1073741823 || userID == 2) { renderECB = true; } $.get(webUrl + "/_layouts/15/ManagementSystem.Form/PrintData.ashx?" + Math.random(), { Action: "post", act: "getData", ID: userID }, function (data, textStatus) { if (data.KeyPrint == "True") { KeyPrint = true; } if (data.KeyDown == "True") { KeyDown = true; } SP.SOD.executeOrDelayUntilScriptLoaded(registerCallout, "callout.js"); }); } function onGetUserFail(sender, args) { //alert('Failed to get user name. Error:' + args.get_message()); } /* *Callout */ var registerCallout = function () { var itemCtx = {}; itemCtx.Templates = {}; itemCtx.BaseViewID = "Callout"; itemCtx.ListTemplateType = 101; itemCtx.Templates.Footer = function (itemCtx) { return CalloutRenderFooterTemplate(itemCtx, AddCustomAction, renderECB); }; SPClientTemplates.TemplateManager.RegisterTemplateOverrides(itemCtx); } var AddCustomAction = function (renderCtx, calloutActionMenu) { var listItem = renderCtx.CurrentItem; var lookupId = listItem["FK_ID"]; if (!lookupId) {} else { var lookupUrl = "/docmentcenter/Lists/ManagementSystemApproval/Item/displayifs.aspx?ID=" + lookupId[0].lookupId; calloutActionMenu.addAction(new CalloutAction({ text: "审批记录", tooltip: "查看审批记录", onClickCallback: function () { window.open(lookupUrl); } })); } if (KeyDown || listItem["Title"] == "流程表格") { var fileUrl = "/docmentcenter/DocLib/Forms/newdisp.aspx?ID=" + listItem.ID; calloutActionMenu.addAction(new CalloutAction({ text: "下载文档", tooltip: "选择相应Logo版本", onClickCallback: function () { window.open(fileUrl); } })); } if (KeyPrint) { var printUrl = "/docmentcenter/ManagementSystemForm/PrintAdd.aspx?ID=" + listItem.ID; calloutActionMenu.addAction(new CalloutAction({ text: "申请打印", tooltip: "申请打印", onClickCallback: function () { window.open(printUrl); } })); } } RegisterRenderView(); function RegisterRenderView() { var overrideCtx = {}; overrideCtx.Templates = {}; overrideCtx.Templates.Fields = { 'FK_ID': { 'View': renderFK_ID } }; SPClientTemplates.TemplateManager.RegisterTemplateOverrides(overrideCtx); } function renderFK_ID(ctx) { var lookupId; var field = ctx.CurrentItem[ctx.CurrentFieldSchema.Name]; if (field.length > 0) { lookupId = field[0].lookupId; } var url = "/docmentcenter/Lists/ManagementSystemApproval/Item/displayifs.aspx?ID=" + lookupId; var ret; if (lookupId) { ret = "<a href=" + url + " title='点击查看' class='btn btn-success btn-xs' target='_blank'><i class='fa fa-eye mg-r-xs'></i>查看审批记录</a>"; } else { ret = ""; } return ret; } |