You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1431 lines
51 KiB
Plaintext

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

var EnumOAFlag = {
DocFromOA: 1,
DocFromNoOA: 0
}
//记录是否用户点击OA文件的保存按钮
var EnumDocSaveFlag = {
OADocSave: 1,
NoneOADocSave: 0
}
//标识文档的落地模式 本地文档落地 0 ,不落地 1
var EnumDocLandMode = {
DLM_LocalDoc: 0,
DLM_OnlineDoc: 1
}
//加载时会执行的方法
function OnWPSWorkTabLoad(ribbonUI) {
wps.ribbonUI = ribbonUI;
if (typeof(wps.Enum) == "undefined") { // 如果没有内置枚举值
wps.Enum = WPS_Enum;
}
OnJSWorkInit(); //初始化文档事件(全局参数,挂载监听事件)
// setTimeout(activeTab,2000); // 激活OA助手菜单
OpenTimerRun(OnDocSaveByAutoTimer); //启动定时备份过程
return true;
}
//文档各类初始化工作WPS Js环境
function OnJSWorkInit() {
pInitParameters(); //OA助手环境的所有配置控制的初始化过程
AddDocumentEvent(); //挂接文档事件处理函数
}
//初始化全局参数
function pInitParameters() {
wps.PluginStorage.setItem(constStrEnum.OADocUserSave, EnumDocSaveFlag.NoneOADocSave); //初始化,没有用户点击保存按钮
var l_wpsUserName = wps.WpsApplication().UserName;
wps.PluginStorage.setItem(constStrEnum.WPSInitUserName, l_wpsUserName); //在OA助手加载前先保存用户原有的WPS应用用户名称
wps.PluginStorage.setItem(constStrEnum.OADocCanSaveAs, false); //默认OA文档不能另存为本地
wps.PluginStorage.setItem(constStrEnum.AllowOADocReOpen, false); //设置是否允许来自OA的文件再次被打开
wps.PluginStorage.setItem(constStrEnum.ShowOATabDocActive, false); //设置新打开文档是否默认显示OA助手菜单Tab 默认为false
wps.PluginStorage.setItem(constStrEnum.DefaultUploadFieldName, "file"); //针对UploadFile方法设置上载字段名称
wps.PluginStorage.setItem(constStrEnum.AutoSaveToServerTime, "10"); //自动保存回OA服务端的时间间隔。如果设置0则关闭最小设置3分钟
wps.PluginStorage.setItem(constStrEnum.TempTimerID, "0"); //临时值用于保存计时器ID的临时值
// 以下是一些临时状态参数,用于打开文档等的状态判断
wps.PluginStorage.setItem(constStrEnum.IsInCurrOADocOpen, false); //用于执行来自OA端的新建或打开文档时的状态
wps.PluginStorage.setItem(constStrEnum.IsInCurrOADocSaveAs, false); //用于执行来自OA端的文档另存为本地的状态
wps.PluginStorage.setItem(constStrEnum.RevisionEnableFlag, false) //按钮的标记控制
wps.PluginStorage.setItem(constStrEnum.Save2OAShowConfirm, true); //弹出上传成功后的提示信息
}
//挂载WPS的文档事件
function AddDocumentEvent() {
wps.ApiEvent.AddApiEventListener("WindowActivate", OnWindowActivate);
wps.ApiEvent.AddApiEventListener("DocumentBeforeSave", OnDocumentBeforeSave);
wps.ApiEvent.AddApiEventListener("DocumentBeforeClose", OnDocumentBeforeClose);
wps.ApiEvent.AddApiEventListener("DocumentAfterClose", OnDocumentAfterClose);
wps.ApiEvent.AddApiEventListener("DocumentBeforePrint", OnDocumentBeforePrint);
wps.ApiEvent.AddApiEventListener("DocumentOpen", OnDocumentOpen);
wps.ApiEvent.AddApiEventListener("DocumentNew", OnDocumentNew);
// wps.ApiEvent.AddApiEventListener("NewDocument", OnDocumentNew);
console.log("AddDocumentEvent");
}
/**
* 打开插入书签页面
*/
function OnInsertBookmarkToDoc() {
if (!wps.WpsApplication().ActiveDocument) {
return;
}
OnShowDialog("selectBookmark.html", "自定义书签", 700, 440, false);
}
/**
* 作用:打开当前文档的页面设置对话框
*/
function OnPageSetupClicked() {
var wpsApp = wps.WpsApplication();
var doc = wpsApp.ActiveDocument;
if (!doc) {
return;
}
wpsApp.Dialogs.Item(wps.Enum&&wps.Enum.wdDialogFilePageSetup||178).Show();
}
/**
* 作用:打开当前文档的打印设置对话框
*/
function OnPrintDocBtnClicked() {
var wpsApp = wps.WpsApplication();
var doc = wpsApp.ActiveDocument;
if (!doc) {
return;
}
wpsApp.Dialogs.Item(wps.Enum&&wps.Enum.wdDialogFilePrint||88).Show();
}
/**
* 作用:接受所有修订内容
*
*/
function OnAcceptAllRevisions() {
//获取当前文档对象
var l_Doc = wps.WpsApplication().ActiveDocument;
if (!l_Doc) {
return;
}
if (l_Doc.Revisions.Count >= 1) {
if (!wps.confirm("目前有" + l_Doc.Revisions.Count + "个修订信息,是否全部接受?")) {
return;
}
l_Doc.AcceptAllRevisions();
}
}
/**
* 作用:拒绝当前文档的所有修订内容
*/
function OnRejectAllRevisions() {
var l_Doc = wps.WpsApplication().ActiveDocument;
if (!l_Doc) {
return;
}
if (l_Doc.Revisions.Count >= 1) {
l_Doc.RejectAllRevisions();
}
}
/**
* 作用:把当前文档修订模式关闭
*/
function OnCloseRevisions() {
//获取当前文档对象
var l_Doc = wps.WpsApplication().ActiveDocument;
OnRevisionsSwitch(l_Doc, false);
}
/**
* 作用:把当前文档修订模式打开
*/
function OnOpenRevisions() {
//获取当前文档对象
var l_Doc = wps.WpsApplication().ActiveDocument;
OnRevisionsSwitch(l_Doc, true);
}
function OnRevisionsSwitch(doc, openRevisions) {
if (!doc) {
return;
}
var l_activeWindow = doc.ActiveWindow;
if (l_activeWindow) {
var v = l_activeWindow.View;
if (v) {
//WPS 显示使用“修订”功能对文档所作的修订和批注
v.ShowRevisionsAndComments = openRevisions;
//WPS 显示从文本到修订和批注气球之间的连接线
v.RevisionsBalloonShowConnectingLines = openRevisions;
}
if (openRevisions == true) {
//去掉修改痕迹信息框中的接受修订和拒绝修订勾叉,使其不可用
wps.WpsApplication().CommandBars.ExecuteMso("KsoEx_RevisionCommentModify_Disable");
}
//RevisionsMode:
//wdBalloonRevisions 0 在左边距或右边距的气球中显示修订。
//wdInLineRevisions 1 在正文中显示修订,使用删除线表示删除,使用下划线表示插入。
// 这是 Word 早期版本的默认设置。
//wdMixedRevisions 2 不支持。
doc.TrackRevisions = openRevisions; // 开关修订
l_activeWindow.ActivePane.View.RevisionsMode = 2; //2为不支持气球显示。
}
}
/**
* 作用:打开扫描仪
*/
function OnOpenScanBtnClicked() {
var doc = wps.WpsApplication().ActiveDocument;
if (!doc) {
return;
}
//打开扫描仪
try {
wps.WpsApplication().WordBasic.InsertImagerScan(); //打开扫描仪
} catch (err) {
alert("打开扫描仪的过程遇到问题。");
}
}
/**
* 作用:在文档的当前光标处插入从前端传递来的图片
* OA参数中 picPath 是需要插入的图片路径
* 图片插入的默认版式是在浮于文档上方
*/
function DoInsertPicToDoc() {
console.log("DoInsertPicToDoc...");
var l_doc; //文档对象
l_doc = wps.WpsApplication().ActiveDocument;
if (!l_doc) {
return;
}
//获取当前文档对象对应的OA参数
var l_picPath = GetDocParamsValue(l_doc, constStrEnum.picPath); // 获取OA参数传入的图片路径
if (l_picPath == "") {
// alert("未获取到系统传入的图片URL路径不能正常插入图片");
// return;
//如果没有传,则默认写一个图片地址
l_picPath="http://127.0.0.1:3888/file/OA模板公章.png"
}
var l_picHeight = GetDocParamsValue(l_doc, constStrEnum.picHeight); //图片高
var l_picWidth = GetDocParamsValue(l_doc, constStrEnum.picWidth); //图片宽
if (l_picHeight == "") { //设定图片高度
l_picHeight = 39.117798; //13.8mm=39.117798磅
}
if (l_picWidth == "") { //设定图片宽度
l_picWidth = 72; //49.7mm=140.880768磅
}
var l_shape = l_doc.Shapes.AddPicture(l_picPath, false, true);
l_shape.Select();
// l_shape.WrapFormat.Type = wps.Enum&&wps.Enum.wdWrapBehind||5; //图片的默认版式为浮于文字上方,可通过此设置图片环绕模式
}
/**
* 作用:模拟插入签章图片
* @param {*} doc 文档对象
* @param {*} picPath 图片路径
* @param {*} picWidth 图片宽度
* @param {*} picHeight 图片高度
*/
function OnInsertPicToDoc(doc, picPath, picWidth, picHeight,callBack) {
// alert("图片路径:"+picPath);
if (!doc) {
return;
}
if (typeof picPath == "undefined" || picPath == null || picPath == "") {
alert("未获取到系统传入的图片URL路径不能正常插入印章");
return;
}
if (!picWidth) { //设定图片宽度
picWidth = 95; //49.7mm=140.880768磅
}
if (!picHeight) { //设定图片高度
picHeight = 40; //13.8mm=39.117798磅
}
var selection = doc.ActiveWindow.Selection; // 活动窗口选定范围或插入点
var pagecount = doc.BuiltInDocumentProperties.Item(wps.Enum&&wps.Enum.wdPropertyPages||14); //获取文档页数
selection.GoTo(wps.Enum&&wps.Enum.wdGoToPage||1, wps.Enum&&wps.Enum.wdGoToPage||1, pagecount.Value); //将光标指向文档最后一页
DownloadFile(picPath,function(url){
selection.ParagraphFormat.LineSpacing = 12 //防止文档设置了固定行距
var picture = selection.InlineShapes.AddPicture(url, true, true); //插入图片
wps.FileSystem.Remove(url) //删除本地的图片
picture.LockAspectRatio = 0; //在调整形状大小时可分别改变其高度和宽度
picture.Height = picHeight; //设定图片高度
picture.Width = picWidth; //设定图片宽度
picture.LockAspectRatio = 0;
picture.Select(); //当前图片为焦点
//定义印章图片对象
var seal_shape = picture.ConvertToShape(); //类型转换:嵌入型图片->粘贴版型图片
seal_shape.RelativeHorizontalPosition = wps.Enum&&wps.Enum.wdRelativeHorizontalPositionPage||1;
seal_shape.RelativeVerticalPosition = wps.Enum&&wps.Enum.wdRelativeVerticalPositionPage||1;
seal_shape.Left = 315; //设置指定形状或形状范围的垂直位置(以磅为单位)。
seal_shape.Top = 630; //指定形状或形状范围的水平位置(以磅为单位)。
callBack&&callBack()
})
}
/**
* 作用: 把当前文档保存为其他格式的文档并上传
* @param {*} p_FileSuffix 输出的目标格式后缀名,支持:.pdf .uof .uot .ofd
* @param {*} pShowPrompt 是否弹出用户确认框
*/
function OnDoChangeToOtherDocFormat(p_FileSuffix, pShowPrompt) {
var l_suffix = p_FileSuffix; // params.suffix;
if (!l_suffix) {
return;
}
//获取当前执行格式转换操作的文档
var l_doc = wps.WpsApplication().ActiveDocument;
if (!l_doc) {
return;
}
console.log(pShowPrompt)
if (typeof(pShowPrompt) == "undefined") {
pShowPrompt = true; //默认设置为弹出用户确认框
}
//默认设置为以当前文件的显示模式输出,即当前为修订则输出带有修订痕迹的
pDoChangeToOtherDocFormat(l_doc, l_suffix, pShowPrompt, true);
}
/**
* 作用获取文档的Path或者临时文件路径
* @param {*} doc
*/
function getDocSavePath(doc) {
if (!doc) {
return;
}
if (doc.Path == "") { //对于不落地文档,文档路径为空
return wps.Env.GetTempPath();
} else {
return doc.Path
}
}
/**
* 作用:把当前文档输出为另外的格式保存
* @param {*} p_Doc 文档对象
* @param {*} p_Suffix 另存为的目标文件格式
* @param {*} pShowPrompt 是否弹出用户确认框
* @param {*} p_ShowRevision :是否强制关闭修订如果是False则强制关闭痕迹显示。如果为true则不做控制输出。
*/
function pDoChangeToOtherDocFormat(p_Doc, p_Suffix, pShowPrompt, p_ShowRevision) {
if (!p_Doc) {
return;
}
var l_suffix = p_Suffix;
//获取该文档对应OA参数的上载路径
var l_uploadPath = GetDocParamsValue(p_Doc, constStrEnum.uploadAppendPath);
if (l_uploadPath == "" || l_uploadPath == null) {
l_uploadPath = GetDocParamsValue(p_Doc, constStrEnum.uploadPath);
}
var l_FieldName = GetDocParamsValue(p_Doc, constStrEnum.uploadFieldName);
if (l_FieldName == "") {
l_FieldName = wps.PluginStorage.getItem(constStrEnum.DefaultUploadFieldName); //默认是'file'
}
if (l_uploadPath == "" && pShowPrompt == true) {
alert("系统未传入有效上载文件路径!不能继续转换操作。"); //如果OA未传入上载路径则给予提示
return;
}
if (pShowPrompt == true) {
if (!wps.confirm("当前文档将另存一份" + l_suffix + " 格式的副本,并上传到系统后台,请确认 ")) {
return;
}
}
// 先把文档输出保存为指定的文件格式,再上传到后台
wps.PluginStorage.setItem(constStrEnum.OADocUserSave, true); //设置一个临时变量用于在BeforeSave事件中判断
if (p_ShowRevision == false) { // 强制关闭痕迹显示
var l_SourceName = p_Doc.Name;
var l_NewName="";
var docPath=getDocSavePath(p_Doc);
if(docPath.indexOf("\\")>0){
l_NewName = docPath + "\\B_" + p_Doc.Name;
}else{
l_NewName = docPath + "/B_" + p_Doc.Name;
}
if(docPath.indexOf("\\")>0){
l_SourceName = docPath + "\\" + l_SourceName;
}else{
l_SourceName = docPath + "/" + l_SourceName;
}
p_Doc.SaveAs2($FileName = l_NewName, $AddToRecentFiles = false);
p_Doc.SaveAs2($FileName = l_SourceName, $AddToRecentFiles = false);
//以下以隐藏模式打开另一个文档
var l_textEncoding = wps.WpsApplication().Options.DefaultTextEncoding; //默认 936
var l_Doc = wps.WpsApplication().Documents.Open(l_NewName, false, false, false, "", "", false, "", "", 0, l_textEncoding, false);
l_Doc.TrackRevisions = false; //关闭修订模式
l_Doc.ShowRevisions = false; //隐含属性,隐藏修订模式
l_Doc.AcceptAllRevisions();
l_Doc.Save();
handleFileAndUpload(l_suffix, l_Doc, l_uploadPath, l_FieldName);
l_Doc.Close();
wps.FileSystem.Remove(l_NewName); //删除临时文档
} else {
handleFileAndUpload(l_suffix, p_Doc, l_uploadPath, l_FieldName);
}
wps.PluginStorage.setItem(constStrEnum.OADocUserSave, false);
return;
}
/**
* 把文档转换成UOT在上传
*/
function OnDoChangeToUOF() {}
/**
* 打开WPS云文档的入口
*/
function pDoOpenWPSCloundDoc() {
wps.TabPages.Add("https://www.kdocs.cn");
}
/**
* 执行另存为本地文件操作
*/
function OnBtnSaveAsLocalFile() {
//初始化临时状态值
wps.PluginStorage.setItem(constStrEnum.OADocUserSave, false);
wps.PluginStorage.setItem(constStrEnum.IsInCurrOADocSaveAs, false);
//检测是否有文档正在处理
var l_doc = wps.WpsApplication().ActiveDocument;
if (!l_doc) {
alert("WPS当前没有可操作文档");
return;
}
// 设置WPS文档对话框 2 FileDialogType:=msoFileDialogSaveAs
var l_ksoFileDialog = wps.WpsApplication().FileDialog(2);
l_ksoFileDialog.InitialFileName = l_doc.Name; //文档名称
if (l_ksoFileDialog.Show() == -1) { // -1 代表确认按钮
//alert("确认");
wps.PluginStorage.setItem(constStrEnum.OADocUserSave, true); //设置保存为临时状态在Save事件中避免OA禁止另存为对话框
l_ksoFileDialog.Execute(); //会触发保存文档的监听函数
pSetNoneOADocFlag(l_doc);
wps.ribbonUI.Invalidate(); //刷新Ribbon的状态
};
}
//
/**
* 作用:执行清稿按钮操作
* 业务功能:清除所有修订痕迹和批注
*/
function OnBtnClearRevDoc() {
var doc = wps.WpsApplication().ActiveDocument;
if (!doc) {
alert("尚未打开文档,请先打开文档再进行清稿操作!");
}
//执行清稿操作前,给用户提示
if (!wps.confirm("清稿操作将接受所有的修订内容,关闭修订显示。请确认执行清稿操作?")) {
return;
}
//接受所有修订
if (doc.Revisions.Count >= 1) {
doc.AcceptAllRevisions();
}
//去除所有批注
if (doc.Comments.Count >= 1) {
doc.RemoveDocumentInformation(wps.Enum&&wps.Enum.wdRDIComments||1);
}
//删除所有ink墨迹对象
pDeleteAllInkObj(doc);
doc.TrackRevisions = false; //关闭修订模式
wps.ribbonUI.InvalidateControl("btnOpenRevision");
return;
}
/**
* 作用:删除当前文档的所有墨迹对象
* @param {*} p_Doc
*/
function pDeleteAllInkObj(p_Doc) {
var l_Count = 0;
var l_IsInkObjExist = true;
while (l_IsInkObjExist == true && l_Count < 20) {
l_IsInkObjExist = pDeleteInkObj(p_Doc);
l_Count++;
}
return;
}
/**
* 删除墨迹对象
*/
function pDeleteInkObj(p_Doc) {
var l_IsInkObjExist = false;
if (p_Doc) {
for (var l_Index = 1; l_Index <= p_Doc.Shapes.Count; l_Index++) {
var l_Item = p_Doc.Shapes.Item(l_Index);
if (l_Item.Type == 23) {
l_Item.Delete();
//只要有一次找到Ink类型就标识一下
if (l_IsInkObjExist == false) {
l_IsInkObjExist = true;
}
}
}
}
return l_IsInkObjExist;
}
/**
*
*/
function pSaveAnotherDoc(p_Doc) {
if (!p_Doc) {
return;
}
var l_SourceDocName = p_Doc.Name;
var l_NewName = "BK_" + l_SourceDocName;
p_Doc.SaveAs2(l_NewName);
wps.WpsApplication().Documents.Open();
}
//保存到OA后台服务器
function OnBtnSaveToServer() {
// console.log('SaveToServer');
var l_doc = wps.WpsApplication().ActiveDocument;
if (!l_doc) {
alert("空文档不能保存!");
return;
}
//非OA文档不能上传到OA
if (pCheckIfOADoc() == false) {
alert("非系统打开的文档,不能直接上传到系统!");
return;
}
//如果是OA打开的文档并且设置了保护的文档则不能再上传到OA服务器
if (pISOADocReadOnly(l_doc)) {
wps.alert("系统设置了保护的文档,不能再提交到系统后台。");
return;
}
/**
* 参数定义OAAsist.UploadFile(name, path, url, field, "OnSuccess", "OnFail")
* 上传一个文件到远程服务器。
* name为上传后的文件名称
* path是文件绝对路径
* url为上传地址
* field为请求中name的值
* 最后两个参数为回调函数名称;
*/
var l_uploadPath = GetDocParamsValue(l_doc, constStrEnum.uploadPath); // 文件上载路径
if (l_uploadPath == "") {
wps.alert("系统未传入文件上载路径,不能执行上传操作!");
return;
}
var l_showConfirm = wps.PluginStorage.getItem(constStrEnum.Save2OAShowConfirm)
if (l_showConfirm) {
if (!wps.confirm("先保存文档,并开始上传到系统后台,请确认?")) {
return;
}
}
var l_FieldName = GetDocParamsValue(l_doc, constStrEnum.uploadFieldName); //上载到后台的业务方自定义的字段名称
if (l_FieldName == "") {
l_FieldName = wps.PluginStorage.getItem(constStrEnum.DefaultUploadFieldName); // 默认为file
}
var l_UploadName = GetDocParamsValue(l_doc, constStrEnum.uploadFileName); //设置OA传入的文件名称参数
if (l_UploadName == "") {
l_UploadName = l_doc.Name; //默认文件名称就是当前文件编辑名称
}
var l_DocPath = l_doc.FullName; // 文件所在路径
if (pIsOnlineOADoc(l_doc) == false) {
//对于本地磁盘文件上传OA先用Save方法保存后再上传
//设置用户保存按钮标志避免出现禁止OA文件保存的干扰信息
wps.PluginStorage.setItem(constStrEnum.OADocUserSave, EnumDocSaveFlag.OADocSave);
if (l_doc.Path == "") { //对于不落地文档,文档路径为空
l_doc.SaveAs2(wps.Env.GetTempPath() + "/" + l_doc.Name, undefined, undefined, undefined, false);
} else {
l_doc.Save();
}
//执行一次保存方法
//设置用户保存按钮标志
wps.PluginStorage.setItem(constStrEnum.OADocUserSave, EnumDocSaveFlag.NoneOADocSave);
//落地文档调用UploadFile方法上传到OA后台
l_DocPath = l_doc.FullName;
try {
//调用OA助手的上传方法
UploadFile(l_UploadName, l_DocPath, l_uploadPath, l_FieldName, OnUploadToServerSuccess, OnUploadToServerFail);
} catch (err) {
alert("上传文件失败!请检查系统上传参数及网络环境!");
}
} else {
// 不落地的文档,调用 Document 对象的不落地上传方法
wps.PluginStorage.setItem(constStrEnum.OADocUserSave, EnumDocSaveFlag.OADocSave);
try {
//调用不落地上传方法
l_doc.SaveAsUrl(l_UploadName, l_uploadPath, l_FieldName, "OnUploadToServerSuccess", "OnUploadToServerFail");
} catch (err) {
alert("上传文件失败!请检查系统上传参数及网络环境,重新上传。");
}
wps.PluginStorage.setItem(constStrEnum.OADocUserSave, EnumDocSaveFlag.NoneOADocSave);
}
//获取OA传入的 转其他格式上传属性
var l_suffix = GetDocParamsValue(l_doc, constStrEnum.suffix);
if (l_suffix == "") {
console.log("上传需转换的文件后缀名错误,无法进行转换上传!");
return;
}
//判断是否同时上传PDF等格式到OA后台
var l_uploadWithAppendPath = GetDocParamsValue(l_doc, constStrEnum.uploadWithAppendPath); //标识是否同时上传suffix格式的文档
if (l_uploadWithAppendPath == "1") {
//调用转pdf格式函数强制关闭转换修订痕迹不弹出用户确认的对话框
pDoChangeToOtherDocFormat(l_doc, l_suffix, false, false);
}
return;
}
/**
* 作用:套红头
* 所有与OA系统相关的业务功能都放在oabuss 子目录下
*/
function OnInsertRedHeaderClick() {
var l_Doc = wps.WpsApplication().ActiveDocument;
if (!l_Doc) {
return;
}
var l_insertFileUrl = GetDocParamsValue(l_Doc, constStrEnum.insertFileUrl); //插入文件的位置
var l_BkFile = GetDocParamsValue(l_Doc, constStrEnum.bkInsertFile);
if (l_BkFile == "" || l_insertFileUrl == "") {
var height = 250;
var width = 400;
OnShowDialog("redhead.html", "OA助手", width, height);
return;
}
InsertRedHeadDoc(l_Doc);
}
/**
* 插入时间
* params参数结构
* params:{
*
* }
*/
function OnInsertDateClicked() {
var l_Doc = wps.WpsApplication().ActiveDocument;
if (l_Doc) {
//打开插入日期对话框
wps.WpsApplication().Dialogs.Item(wps.Enum&&wps.Enum.wdDialogInsertDateTime||165).Show();
}
}
/**
* 调用文件上传到OA服务端时
* @param {*} resp
*/
function OnUploadToServerSuccess(resp) {
console.log("成功上传服务端后的回调:" + resp)
console.log(resp)
var l_doc = wps.WpsApplication().ActiveDocument;
var l_showConfirm = wps.PluginStorage.getItem(constStrEnum.Save2OAShowConfirm);
if (l_showConfirm) {
if (wps.confirm("文件上传成功!继续编辑请确认,取消关闭文档。") == false) {
if (l_doc) {
console.log("OnUploadToServerSuccess: before Close");
l_doc.Close(-1); //保存文档后关闭
console.log("OnUploadToServerSuccess: after Close");
}
}
}
var l_NofityURL = GetDocParamsValue(l_doc, constStrEnum.notifyUrl);
if (l_NofityURL != "") {
l_NofityURL = l_NofityURL.replace("{?}", "2"); //约定参数为2则文档被成功上传
NotifyToServer(l_NofityURL);
}
}
function OnUploadToServerFail(resp) {
alert("文件上传失败!");
}
function OnbtnTabClick() {
alert("OnbtnTabClick");
}
//判断当前文档是否是OA文档
function pCheckIfOADoc() {
var doc = wps.WpsApplication().ActiveDocument;
if (!doc)
return false;
return CheckIfDocIsOADoc(doc);
}
//根据传入的doc对象判断当前文档是否是OA文档
function CheckIfDocIsOADoc(doc) {
if (!doc) {
return false;
}
var l_isOA = GetDocParamsValue(doc, constStrEnum.isOA);
if (l_isOA == "") {
return false
};
return l_isOA == EnumOAFlag.DocFromOA ? true : false;
}
//获取文件来源标识
function pGetDocSourceLabel() {
return pCheckIfOADoc() ? "OA文件" : "非OA文件";
}
/**
* 作用:设置用户名称标签
*/
function pSetUserNameLabelControl() {
var l_doc = wps.WpsApplication().ActiveDocument;
if (!l_doc) return "";
var l_strUserName = "";
if (pCheckIfOADoc() == true) { // OA文档获取OA用户名
var userName = GetDocParamsValue(l_doc, constStrEnum.userName);
l_strUserName = userName == "" ? "未设置" : userName;
} else {
//非OA传来的文档则按WPS安装后设置的用户名显示
l_strUserName = "" + wps.PluginStorage.getItem(constStrEnum.WPSInitUserName);
}
return l_strUserName;
}
/**
* 作用:判断是否是不落地文档
* 参数doc 文档对象
* 返回值: 布尔值
*/
function pIsOnlineOADoc(doc) {
var l_LandMode = GetDocParamsValue(doc, constStrEnum.OADocLandMode); //获取文档落地模式
if (l_LandMode == "") { //用户本地打开的文档
return false;
}
return l_LandMode == EnumDocLandMode.DLM_OnlineDoc;
}
/**
* 作用返回OA文档落地模式标签
*/
function pGetOADocLabel() {
var l_Doc = wps.WpsApplication().ActiveDocument;
if (!l_Doc) {
return "";
}
var l_strLabel = ""; //初始化
if (pIsOnlineOADoc(l_Doc) == true) { // 判断是否为不落地文档
l_strLabel = "文档状态:不落地";
} else {
l_strLabel = l_Doc.Path != "" ? "文档状态:落地" : "文档状态:未保存";
}
//判断OA文档是否是受保护
if (pISOADocReadOnly(l_Doc) == true) {
l_strLabel = l_strLabel + "(保护)";
}
return l_strLabel;
}
//返回是否可以点击OA保存按钮的状态
function OnSetSaveToOAEnable() {
return pCheckIfOADoc();
}
/**
* 作用根据OA传入参数设置是否显示Ribbob按钮组
* 参数CtrlID 是OnGetVisible 传入的Ribbob控件的ID值
*/
function pShowRibbonGroupByOADocParam(CtrlID) {
var l_Doc = wps.WpsApplication().ActiveDocument;
if (!l_Doc) {
return false; //如果未装入文档则设置OA助手按钮组不可见
}
//获取OA传入的按钮组参数组
var l_grpButtonParams = GetDocParamsValue(l_Doc, constStrEnum.buttonGroups); //disableBtns
l_grpButtonParams = l_grpButtonParams + "," + GetDocParamsValue(l_Doc, constStrEnum.disableBtns);
// 要求OA传入控制自定义按钮显示的参数为字符串 中间用 , 分隔开
if (typeof(l_grpButtonParams) == "string") {
var l_arrayGroup = new Array();
l_arrayGroup = l_grpButtonParams.split(",");
//console.log(l_grpButtonParams);
// 判断当前按钮是否存在于数组
if (l_arrayGroup.indexOf(CtrlID) >= 0) {
return false;
}
}
// 添加OA菜单判断
if (CtrlID == "WPSWorkExtTab") {
if(wps.WpsApplication().ActiveDocument){
let l_value=GetDocParamsValue(wps.WpsApplication().ActiveDocument,"isOA");
return l_value?true:false;
}
var l_value = wps.PluginStorage.getItem(constStrEnum.ShowOATabDocActive);
wps.PluginStorage.setItem(constStrEnum.ShowOATabDocActive, false); //初始化临时状态变量
console.log("菜单:" + l_value);
return l_value;
}
return true;
}
/**
* 根据传入Document对象获取OA传入的参数的某个Key值的Value
* @param {*} Doc
* @param {*} Key
* 返回值:返回指定 Key的 Value
*/
function GetDocParamsValue(Doc, Key) {
if (!Doc) {
return "";
}
var l_Params = wps.PluginStorage.getItem(Doc.DocID);
if (!l_Params) {
return "";
}
var l_objParams = JSON.parse(l_Params);
if (typeof(l_objParams) == "undefined") {
return "";
}
var l_rtnValue = l_objParams[Key];
if (typeof(l_rtnValue) == "undefined" || l_rtnValue == null) {
return "";
}
return l_rtnValue;
}
/**
* 获取对象中指定属性的值
* @param {*} params
* @param {*} Key
*/
function GetParamsValue(Params, Key) {
if (typeof(Params) == "undefined") {
return "";
}
var l_rtnValue = Params[Key];
return l_rtnValue;
}
/**
* 作用:插入二维码图片
*/
function OnInsertQRCode() {
OnShowDialog("QRCode.html", "插入二维码", 400, 400);
}
/**
* 打开本地文档并插入到当前文档中指定位置(导入文档)
*/
function OnOpenLocalFile() {
OpenLocalFile();
}
/**
* 插入水印
*/
function DoInsertWaterToDoc(){
    var app, shapeRange;
    try {
        // app = wpsFrame.Application;
        var app=wps.WpsApplication();
        var doc = app.ActiveDocument;
        var selection = doc.ActiveWindow.Selection;
        var pageCount = app.ActiveWindow.ActivePane.Pages.Count;
        for(var i=1;i<=pageCount;i++){
            selection.GoTo(1, 1, i);
app.ActiveWindow.ActivePane.View.SeekView=9;
            app.ActiveDocument.Sections.Item(1).Headers.Item(1).Shapes.AddTextEffect(0, "公司绝密", "华文新魏", 36, false, false, 0, 0).Select();
            shapeRange = app.Selection.ShapeRange;
            shapeRange.TextEffect.NormalizedHeight = false;
            shapeRange.Line.Visible = false;
            shapeRange.Fill.Visible = true;
            shapeRange.Fill.Solid();
            shapeRange.Fill.ForeColor.RGB = 12632256;       /* WdColor枚举 wdColorGray25 代表颜色值 */
            shapeRange.Fill.Transparency = 0.5;             /* 填充透明度值为0.0~1.0 */
            shapeRange.LockAspectRatio = true;
            shapeRange.Height = 4.58 * 28.346;
            shapeRange.Width = 28.07 * 28.346;
            shapeRange.Rotation = 315;                      /* 图形按照Z轴旋转度数正值为顺时针旋转负值为逆时针旋转 */
            shapeRange.WrapFormat.AllowOverlap = true;
            shapeRange.WrapFormat.Side = 3;                 /* WdWrapSideType枚举 wdWrapLargest 形状距离页边距最远的一侧 */
            shapeRange.WrapFormat.Type = 3;                 
            shapeRange.RelativeHorizontalPosition = 0;      
            shapeRange.RelativeVerticalPosition = 0;        
            shapeRange.Left = '-999995';                   
            shapeRange.Top = '-999995';                     
           
        }                  /* WdShapePosition枚举 wdShapeCenter 形状的位置在中央 */
        selection.GoTo(1, 1, 1);
app.ActiveWindow.ActivePane.View.SeekView=0;
    } catch (error) {
        alert(error.message);
    }
}
/**
* 插入电子印章的功能
*/
function OnInsertSeal() {
OnShowDialog("selectSeal.html", "印章", 730, 500);
}
/**
* 导入模板到文档中
*/
function OnImportTemplate() {
OnShowDialog("importTemplate.html", "导入模板", 560, 400);
}
//自定义菜单按钮的点击执行事件
function OnAction(control) {
var eleId;
if (typeof control == "object" && arguments.length == 1) { //针对Ribbon的按钮的
eleId = control.Id;
} else if (typeof control == "undefined" && arguments.length > 1) { //针对idMso的
eleId = arguments[1].Id;
console.log(eleId)
} else if (typeof control == "boolean" && arguments.length > 1) { //针对checkbox的
eleId = arguments[1].Id;
} else if (typeof control == "number" && arguments.length > 1) { //针对combox的
eleId = arguments[2].Id;
}
switch (eleId) {
case "btnOpenWPSYUN": //打开WPS云文档入口
pDoOpenWPSCloundDoc();
break;
case "btnOpenLocalWPSYUN": //打开本地文档并插入到文档中
OnOpenLocalFile();
break;
case "WPSWorkExtTab":
OnbtnTabClick();
break;
case "btnSaveToServer": //保存到OA服务器
wps.PluginStorage.setItem(constStrEnum.Save2OAShowConfirm, true)
OnBtnSaveToServer();
break;
case "btnSaveAsFile": //另存为本地文件
OnBtnSaveAsLocalFile();
break;
case "btnChangeToPDF": //转PDF文档并上传
OnDoChangeToOtherDocFormat(".pdf");
break;
case "btnChangeToUOT": //转UOF文档并上传
OnDoChangeToOtherDocFormat(".uof");
break;
case "btnChangeToOFD": //转OFD文档并上传
OnDoChangeToOtherDocFormat(".ofd");
break;
//------------------------------------
case "btnInsertRedHeader": //插入红头
OnInsertRedHeaderClick(); //套红头功能
break;
case "btnUploadOABackup": //文件备份
OnUploadOABackupClicked();
break;
case "btnInsertSeal": //插入印章
OnInsertSeal();
break;
//------------------------------------
//修订按钮组
case "btnClearRevDoc": //执行 清稿 按钮
OnBtnClearRevDoc();
break;
case "btnOpenRevision": //打开修订
{
let bFlag = wps.PluginStorage.getItem(constStrEnum.RevisionEnableFlag)
wps.PluginStorage.setItem(constStrEnum.RevisionEnableFlag, !bFlag)
//通知wps刷新以下几个按钮的状态
wps.ribbonUI.InvalidateControl("btnOpenRevision")
wps.ribbonUI.InvalidateControl("btnCloseRevision")
OnOpenRevisions(); //
break;
}
case "btnCloseRevision": //关闭修订
{
let bFlag = wps.PluginStorage.getItem(constStrEnum.RevisionEnableFlag)
wps.PluginStorage.setItem(constStrEnum.RevisionEnableFlag, !bFlag)
//通知wps刷新以下几个按钮的状态
wps.ribbonUI.InvalidateControl("btnOpenRevision")
wps.ribbonUI.InvalidateControl("btnCloseRevision")
OnCloseRevisions();
break;
}
case "btnShowRevision":
break;
case "btnAcceptAllRevisions": //接受所有修订功能
OnAcceptAllRevisions();
break;
case "btnRejectAllRevisions": //拒绝修订
OnRejectAllRevisions();
break;
//------------------------------------
case "btnInsertPic": //插入图片
DoInsertPicToDoc();
break;
case "btnInsertWater":
DoInsertWaterToDoc()
case "btnInsertDate": //插入日期
OnInsertDateClicked();
break;
case "btnOpenScan": //打开扫描仪
OnOpenScanBtnClicked();
break;
case "btnPageSetup": //打开页面设置
OnPageSetupClicked();
break;
case "btnQRCode": //插入二维码
OnInsertQRCode(); //
break;
case "btnPrintDOC": // 打开打印设置
OnPrintDocBtnClicked();
break;
case "lblDocSourceValue": //OA公文提示
OnOADocInfo();
break;
case "btnUserName": //点击用户
OnUserNameSetClick();
break;
case "btnInsertBookmark": //插入书签
OnInsertBookmarkToDoc();
break;
case "btnImportTemplate": //导入模板
OnImportTemplate();
break;
case "FileSaveAsMenu": //通过idMso进行「另存为」功能的自定义
case "FileSaveAs":
{
if (pCheckIfOADoc()) { //文档来源是业务系统的,做自定义
alert("这是OA文档将Ctrl+S动作做了重定义可以调用OA的保存文件流到业务系统的接口。")
OnBtnSaveToServer();
} else { //本地的文档期望不做自定义通过转调idMso的方法实现
wps.WpsApplication().CommandBars.ExecuteMso("FileSaveAsWordDocx");
//此处一定不能去调用与重写idMso相同的ID否则就是个无线递归了即在这个场景下不可调用FileSaveAs和FileSaveAsMenu这两个方法
}
break;
}
case "FileSave": //通过idMso进行「保存」功能的自定义
{
if (pCheckIfOADoc()) { //文档来源是业务系统的,做自定义
alert("这是OA文档将Ctrl+S动作做了重定义可以调用OA的保存文件流到业务系统的接口。")
OnBtnSaveToServer();
} else { //本地的文档期望不做自定义通过转调idMso的方法实现
// wps.WpsApplication().CommandBars.ExecuteMso("FileSave");
wps.WpsApplication().CommandBars.ExecuteMso("SaveAll");
//此处一定不能去调用与重写idMso相同的ID否则就是个无线递归了即在这个场景下不可调用FileSaveAs和FileSaveAsMenu这两个方法
}
break;
}
case "FileNew":
case "FileNewMenu":
case "WindowNew":
case "FileNewBlankDocument":
{
if (pCheckIfOADoc()) { //文档来源是业务系统的,做自定义
alert("这是OA文档将Ctrl+N动作做了禁用")
}
}
break
case "ShowAlert_ContextMenuText":
{
let selectText = wps.WpsApplication().Selection.Text;
alert("您选择的内容是:\n" + selectText);
break;
}
case "btnSendMessage1":
{
/**
* 内部封装了主动响应前端发送的请求的方法
*/
//参数自定义这里只是负责传递参数在WpsInvoke.RegWebNotify方法的回调函数中去做接收自行解析参数
let params={
type:'executeFunc1',
message:"当前时间为:" + currentTime()
}
/**
* WebNotify:
* 参数1发送给业务系统的消息
* 参数2是否将消息加入队列是否防止丢失消息都需要设置为true
*/
wps.OAAssist.WebNotify(JSON.stringify(params),true); //如果想传一个对象则使用JSON.stringify方法转成对象字符串。
break;
}
case "btnSendMessage2":
{
/**
* 内部封装了主动响应前端发送的请求的方法
*/
let msgInfo =
{
id: 1,
name: 'kingsoft',
since: "1988"
}
//参数自定义这里只是负责传递参数在WpsInvoke.RegWebNotify方法的回调函数中去做接收自行解析参数
let params={
type:'executeFunc2',
message:"当前时间为:" + currentTime(),
msgInfoStr: JSON.stringify(msgInfo)
}
/**
* WebNotify:
* 参数1发送给业务系统的消息
* 参数2是否将消息加入队列是否防止丢失消息都需要设置为true
*/
wps.OAAssist.WebNotify(JSON.stringify(params),true); //如果想传一个对象则使用JSON.stringify方法转成对象字符串。
break;
}
case "btnAddWebShape":
{
let l_doc = wps.WpsApplication().ActiveDocument;
l_doc.Shapes.AddWebShape("https://www.wps.cn");
break;
}
default:
break;
}
return true;
}
/**
* 作用:重新设置当前用户名称
*/
function OnUserNameSetClick() {
var l_UserPageUrl = "setUserName.html"
OnShowDialog(l_UserPageUrl, "OA助手用户名称设置", 500, 300);
}
/**
* 作用展示当前文档被OA助手打开后的操作记录及相关附加信息
*/
function OnOADocInfo() {
return;
}
/**
* 作用:自定义菜单按钮的图标
*/
function GetImage(control) {
var eleId;
if (typeof control == "object" && arguments.length == 1) { //针对Ribbon的按钮的
eleId = control.Id;
} else if (typeof control == "undefined" && arguments.length > 1) { //针对idMso的
eleId = arguments[1].Id;
} else if (typeof control == "boolean" && arguments.length > 1) { //针对checkbox的
eleId = arguments[1].Id;
} else if (typeof control == "number" && arguments.length > 1) { //针对combox的
eleId = arguments[2].Id;
}
switch (eleId) {
case "btnOpenWPSYUN":
return "./icon/w_WPSCloud.png"; //打开WPS云文档
case "btnOpenLocalWPSYUN": //导入文件
return "./icon/w_ImportDoc.png"
case "btnSaveToServer": //保存到OA后台服务端
return "./icon/w_Save.png";
case "btnSaveAsFile": //另存为本地文件
return "./icon/w_SaveAs.png";
case "btnChangeToPDF": //输出为PDF格式
return "./icon/w_PDF.png";
case "btnChangeToUOT": //
return "./icon/w_DocUOF.png";
case "btnChangeToOFD": //转OFD上传
return "./icon/w_DocOFD.png"; //
case "btnInsertRedHeader": //套红头
return "./icon/w_GovDoc.png";
case "btnInsertSeal": //印章
return "./icon/c_seal.png";
case "btnClearRevDoc": //清稿
return "./icon/w_DocClear.png"
case "btnUploadOABackup": //备份正文
return "./icon/w_BackDoc.png";
case "btnOpenRevision": //打开 修订
case "btnShowRevision": //
return "./icon/w_OpenRev.png";
case "btnCloseRevision": //关闭修订
return "./icon/w_CloseRev.png";
case "btnAcceptAllRevisions": // 接受修订
return "./icon/w_AcceptRev.png";
case "btnRejectAllRevisions": // 拒绝修订
return "./icon/w_RejectRev.png";
case "btnSaveAsFile":
return "";
case "btnInsertWater":
case "btnInsertPic": //插入图片
return "./icon/w_InsPictures.png";
case "btnOpenScan": //打开扫描仪
return "./icon/w_Scanner16.png"; //
case "btnPageSetup": //打开页面设置
return "./icon/w_PageGear.png";
case "btnInsertDate": //插入日期
return "./icon/w_InsDate.png";
case "btnQRCode": //二维码
return "./icon/w_DocQr.png";
case "btnPrintDOC": // 打印设置
return "./icon/c_printDoc.png";
case "btnInsertBookmark":
return "./icon/c_bookmark.png";
case "btnImportTemplate":
return "./icon/w_ImportDoc.png";
case "btnSendMessage1":
return "./icon/3.svg"
case "btnSendMessage2":
return "./icon/3.svg"
default:
;
}
return "./icon/c_default.png";
}
function pGetOpenRevisionButtonLabel() {
return "打开修订";
}
function pGetShowRevisionButtonLabel() {
return "显示修订";
}
//xml文件中自定义按钮的文字处理函数
function OnGetLabel(control) {
var eleId;
if (typeof control == "object" && arguments.length == 1) { //针对Ribbon的按钮的
eleId = control.Id;
} else if (typeof control == "undefined" && arguments.length > 1) { //针对idMso的
eleId = arguments[1].Id;
} else if (typeof control == "boolean" && arguments.length > 1) { //针对checkbox的
eleId = arguments[1].Id;
} else if (typeof control == "number" && arguments.length > 1) { //针对combox的
eleId = arguments[2].Id;
}
switch (eleId) {
case "btnOpenWPSYUN": //打开WPS云文档
return "WPS云文档";
case "btnOpenLocalWPSYUN": //打开本地云文档目录
return "导入文档";
case "btnSaveAsFile":
return "另存为本地";
case "btnChangeToPDF": //转PDF并上传
return "转PDF上传";
case "btnChangeToUOT": //转UOF并上传
return "转UOF上传";
case "btnChangeToOFD": //转OFD格式并上传
return "转OFD上传";
case "lblDocSourceValue": //文件来源标签:
return pGetDocSourceLabel();
case "lblUserName": //用户名lableControl 控件
return "编辑人:"; //pSetUserNameLabelControl();
case "btnUserName":
return pSetUserNameLabelControl();
//======================================================
case "btnInsertRedHeader": //套红头
return "套红头";
case "btnInsertSeal": //插入印章
return "印章";
case "btnUploadOABackup": //文件备份
return "文件备份";
//======================================================
case "btnOpenRevision": //打开修订按钮
return pGetOpenRevisionButtonLabel();
case "btnShowRevision": //显示修订按钮
return pGetShowRevisionButtonLabel();
case "btnCloseRevision": //关闭修订按钮
return "关闭修订";
case "btnClearRevDoc": //显示 清稿
return "清稿";
case "btnAcceptAllRevisions": //显示 接受修订
return "接受修订";
case "btnRejectAllRevisions": //显示 拒绝修订
return "拒绝修订";
case "lblDocLandMode": //显示 文档落地方式 :不落地还是本地,包括是否受保护
return pGetOADocLabel();
//---------------------------------------------
case "btnInsertPic": //插入图片
return "插图片";
case "btnInsertDate": //插入日期
return "插日期";
case "btnOpenScan": //打开扫描仪
return "扫描仪";
case "btnInsertWater":
return "插入水印"
case "btnPageSetup": //打开页面设置
return "页面设置";
case "btnPrintDOC": //打开页面设置
return "打印设置";
case "btnInsertBookmark":
return "导入书签";
case "btnImportTemplate":
return "导入模板";
default:
;
}
return "";
}
/**
* 作用处理Ribbon按钮的是否可显示
* @param {*} control Ribbon 的按钮控件
*/
function OnGetVisible(control) {
var eleId;
if (typeof control == "object" && arguments.length == 1) { //针对Ribbon的按钮的
eleId = control.Id;
} else if (typeof control == "undefined" && arguments.length > 1) { //针对idMso的
eleId = arguments[1].Id;
} else if (typeof control == "boolean" && arguments.length > 1) { //针对checkbox的
eleId = arguments[1].Id;
} else if (typeof control == "number" && arguments.length > 1) { //针对combox的
eleId = arguments[2].Id;
}
var l_value = false;
//关闭一些测试中的功能
switch (eleId) {
case "lblDocLandMode": //文档落地标签
return true;
case "btnOpenScan":
return false;
case "btnAddWebShape":
{
if (wps.WpsApplication().Build.toString().indexOf("11.1") != -1){
return true;
}
return false;
}
break;
default:
}
//按照 OA文档传递过来的属性进行判断
l_value = pShowRibbonGroupByOADocParam(eleId);
return l_value;
}
/**
* 作用处理Ribbon按钮的是否可用
* @param {*} control Ribbon 的按钮控件
*/
function OnGetEnabled(control) {
var eleId;
if (typeof control == "object" && arguments.length == 1) { //针对Ribbon的按钮的
eleId = control.Id;
} else if (typeof control == "undefined" && arguments.length > 1) { //针对idMso的
eleId = arguments[1].Id;
} else if (typeof control == "boolean" && arguments.length > 1) { //针对checkbox的
eleId = arguments[1].Id;
} else if (typeof control == "number" && arguments.length > 1) { //针对combox的
eleId = arguments[2].Id;
}
switch (eleId) {
case "btnSaveToServer": //保存到OA服务器的相关按钮。判断如果非OA文件禁止点击
case "btnChangeToPDF": //保存到PDF格式再上传
case "btnChangeToUOT": //保存到UOT格式再上传
case "btnChangeToOFD": //保存到OFD格式再上传
case "SaveAll": //保存所有文档
//以下四个idMso的控制是关于文档新建的
case "FileNew":
case "FileNewMenu":
case "WindowNew":
case "FileNewBlankDocument":
return OnSetSaveToOAEnable();
case "btnCloseRevision":
{
let bFlag = wps.PluginStorage.getItem(constStrEnum.RevisionEnableFlag)
return bFlag
}
case "btnOpenRevision":
{
let bFlag = wps.PluginStorage.getItem(constStrEnum.RevisionEnableFlag)
return !bFlag
}
case "PictureInsert":
return false;
case "TabInsert"://WPS自身tab插入
case "TabDeveloper": //WPS自身tab开发工具
// case "TabPageLayoutWord": //WPS自身tab页面布局
// case "TabReferences": //WPS自身tab引用
// case "TabReviewWord": //WPS自身tab审阅
// case "TabView": //WPS自身tab视图
{
if(pCheckIfOADoc()){
return false;//如果是OA打开的文档把这个几个tab不可用/隐藏
}else{
return true;
}
}
default:
;
}
return true;
}