Files
foton-laws-system-front/public/static/pdf/web/add.js
T
2021-05-25 18:06:45 +08:00

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
}