123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- /**
- * 在这个js中,集中处理来自OA的传入参数
- *
- */
- /**
- * web页面调用WPS的方法入口
- * * info参数结构
- * info:[
- * {
- * '方法名':'方法参数',需要执行的方法
- * },
- * ...
- * ]
- * @param {*} info
- */
- function dispatcher(info) {
- var funcs = info.funcs
- if (info.dotime && funcs.length)
- loginfo('接受到请求,请求时间' + GetCNTimeString(new Date(info.dotime)))
- // if (funcs.length > 0) wps.Application.Visible = true
- //执行web页面传递的方法
- setTimeout(function () {
- for (var index = 0; index < funcs.length; index++) {
- var func = funcs[index]
- for (var key in func) {
- var params = func[key]
- initAuthParams(params)
- if (!IsSilentMode()) wps.Application.Visible = true
- toggleBeforeOAfterLoading('处理中', true, true)
- loginfo('系统操作:' + key)
- switch (key) {
- case 'OpenDoc':
- case 'QingGao':
- case 'UpdateRegion':
- case 'PrintDocument':
- case 'DOCConvertToPDF':
- case 'DOCConvertToOFD':
- case 'SaveFileToLocal':
- OpenFile(params)
- break
- case 'TaoDa': {
- var tmp = params.fileName
- params.fileName = params.ModelUrl
- params.ModelUrl = tmp
- }
- case 'GaiZhang':
- let fileName = GetFileNameByParams(params)
- if (params.action == 'taoda' && !!params.oldDocName)
- fileName = params.oldDocName
- //下载红头文件盖章文件
- DownloadFile(params.ModelUrl, '模板', true)
- .then((filepath) => {
- wps.PluginStorage.setItem('ModelUrl', filepath)
- wps.PluginStorage.setItem(
- 'ContentFieldName',
- params.ContentFieldName
- )
- OpenFile(params)
- })
- .catch((code) => {
- OAWebNotice(fileName)
- ShowMessage(`下载文件[模板]失败!错误代码:H${code}`, 'error', 5)
- })
- break
- case 'ExitWPS':
- ExitWPS(params)
- break
- default:
- break
- }
- }
- }
- }, 100)
- //兼容处理心跳
- Heart && Heart.OASystemOnLine() //Date.now() + 10e3);
- return { message: 'ok', app: wps.WpsApplication().Name }
- }
- /**
- * 获取活动文档的状态
- */
- function GetDocStatus() {
- let l_doc = wps.WpsApplication().ActiveDocument
- if (l_doc && pCheckIfOADoc()) {
- //此方法还可根据需要进行扩展
- return {
- message: 'GetDocStatus',
- docstatus: {
- words: l_doc.Words.Count,
- saved: l_doc.Saved,
- pages: l_doc.ActiveWindow.Panes.Item(1).Pages.Count,
- },
- }
- }
- }
- /**
- * 关闭WPS活动文档并退出WPS进程
- */
- function ExitWPS() {
- let l_doc = wps.WpsApplication().ActiveDocument
- if (l_doc && pCheckIfOADoc()) {
- //此方法还可根据需要进行扩展
- l_doc.Close()
- }
- if (
- // TODO 为替换showConfirm 因为未使用此函数
- wps.confirm(
- '要关闭WPS软件,请确认文档都已保存。\n点击确定后关闭WPS,点击取消继续编辑。'
- )
- ) {
- wps.WpsApplication().Quit()
- }
- }
|