129 lines
3.8 KiB
JavaScript
129 lines
3.8 KiB
JavaScript
let DEFAULT_URL = ''
|
|
let url = decodeURIComponent(window.location.search)
|
|
let attIdIndex = url.indexOf('&fileId=')
|
|
let typeIndex = url.indexOf('?sarType=')
|
|
let numberIndex = url.indexOf('&pageNumber=')
|
|
let attId = ''
|
|
let sarType = 'INLAND_STAND'
|
|
let pageNumber = 1
|
|
let pageCount = 1
|
|
let fileId = ''
|
|
let queryAttUrl = '/api/lawss/sarStandFile/queryConvertAtt'
|
|
if (attIdIndex > -1) {
|
|
attId = url.substring(attIdIndex + 8, url.length)
|
|
pageNumber = url.substring(numberIndex + 12, attIdIndex)
|
|
sarType = url.substring(typeIndex + 9, numberIndex)
|
|
if (sarType === 'INLAND_LAWS' || sarType === 'FOREIGN_LAWS') {
|
|
queryAttUrl = '/api/lawss/sarLawsFile/queryConvertAtt'
|
|
} else if (sarType === 'BUSS') {
|
|
queryAttUrl = '/api/lawss/sarBussStandFile/queryConvertAtt'
|
|
}
|
|
$.ajax({
|
|
url: queryAttUrl,
|
|
async: false,
|
|
type: 'GET',
|
|
data: {
|
|
attId: attId
|
|
},
|
|
success: function (res) {
|
|
// res = JSON.parse(res)
|
|
if (res.data != null) {
|
|
pageCount = res.data.pageCount
|
|
if (res.data.fileOldName !== null && res.data.fileOldName !== undefined) {
|
|
document.title = res.data.fileOldName + '-在线查看'
|
|
}
|
|
// $('#pageCount').html(res.data.pageCount)
|
|
fileId = res.data.id
|
|
getFileInfo()
|
|
} else {
|
|
alert('文档未转换成功或本地读取不到该文档')
|
|
}
|
|
},
|
|
error: function (data) {
|
|
alert('文档未转换成功或本地读取不到该文档')
|
|
}
|
|
})
|
|
}
|
|
|
|
// document.onkeydown = function () {
|
|
// var e = window.event || arguments[0]
|
|
// if (e.keyCode === 123) {
|
|
// return false
|
|
// } else if (e.ctrlKey || e.keyCode === 73) {
|
|
// return false
|
|
// }
|
|
// }
|
|
// document.oncontextmenu = function () {
|
|
// return false
|
|
// }
|
|
|
|
function getFileInfo () {
|
|
$.ajax({
|
|
url: '/api/lawss/sarFileInfo/getPdfFileInfo',
|
|
async: false,
|
|
type: 'GET',
|
|
data: {
|
|
sarFileId: fileId,
|
|
filePageNumber: pageNumber
|
|
},
|
|
success: function (res) {
|
|
res = JSON.parse(res)
|
|
if (res.data != null) {
|
|
if (res.data.fileInfo != null) {
|
|
let data = res.data.fileInfo
|
|
let resultFileMsg = data.substring(30, data.length - 50)
|
|
resultFileMsg = resultFileMsg.replace(/\*/g, 'A')
|
|
let password = res.data.filePwd
|
|
sessionStorage.setItem('fileInfoSteam', password)
|
|
writeFile(resultFileMsg)
|
|
}
|
|
}
|
|
},
|
|
error: function (data) {
|
|
alert('文档未转换成功或本地读取不到该文档')
|
|
}
|
|
})
|
|
}
|
|
|
|
function writeFile (data) {
|
|
var BASE64_MARKER = ';base64,' // 声明文件流编码格式
|
|
var pdfAsDataUri = data
|
|
var pdfAsArray = convertDataURIToBinary(pdfAsDataUri)
|
|
DEFAULT_URL = pdfAsArray
|
|
if (Number(pageCount) > 1) {
|
|
if (Number(pageNumber) === 1 && Number(pageNumber) !== Number(pageCount)) {
|
|
$('#upLoadingFile').hide()
|
|
$('#downLoadingFile').show()
|
|
} else if (Number(pageNumber) !== 1 && Number(pageNumber) !== Number(pageCount)) {
|
|
$('#upLoadingFile').show()
|
|
$('#downLoadingFile').show()
|
|
} else {
|
|
$('#upLoadingFile').hide()
|
|
$('#downLoadingFile').hide()
|
|
}
|
|
} else {
|
|
$('#upLoadingFile').hide()
|
|
$('#downLoadingFile').hide()
|
|
}
|
|
}
|
|
|
|
function clickLoadFile (type) {
|
|
if (type === 'up') {
|
|
pageNumber = Number(pageNumber) - Number(1)
|
|
} else {
|
|
pageNumber = Number(pageNumber) + Number(1)
|
|
}
|
|
window.location.href = '/static/pdf/web/viewer.html?sarType=' + sarType + '&pageNumber=' + pageNumber + '&fileId=' + encodeURIComponent(attId)
|
|
}
|
|
|
|
function convertDataURIToBinary (dataURI) {
|
|
var raw = window.atob(dataURI) // 这个方法在ie内核下无法正常解析。
|
|
var rawLength = raw.length
|
|
// 转换成pdf.js能直接解析的Uint8Array类型
|
|
var array = new Uint8Array(new ArrayBuffer(rawLength))
|
|
for (let i = 0; i < rawLength; i++) {
|
|
array[i] = raw.charCodeAt(i)
|
|
}
|
|
return array
|
|
}
|