双屏问题修复
continuous-integration/drone/push Build is running Details

uat_us
wangxiaoshuang 2026-04-22 13:37:57 +08:00
parent 838ab975cc
commit 06959b4465
3 changed files with 26 additions and 35 deletions

View File

@ -52,22 +52,22 @@ function getScreen() {
})
}
export async function openWindow(url, name, Skip = false, Currently = false) {
export async function openWindow(url, name, Skip = false, noreferrer = false) {
// 判断浏览器是否兼容
// 高版本的谷歌edge不支持跨屏需要降低浏览器版本86.0版
if (Currently) {
let fulls = 'left=0,top=0,isPrimary=true,isInternal=true'
return window.open(url, name, fulls);
let fulls = ''
if (noreferrer) {
fulls = 'noopener,noreferrer'
}
if (!window.getScreens && !window.getScreenDetails) {
console.log('你的浏览器版本不支持多屏展示功能!');
return window.open(url, name);
return window.open(url, name, fulls);
}
let permission = await getPermission()
if (!permission) {
// alert('使用多屏功能请先进行授权')
if (Skip) {
return window.open(url, name);
return window.open(url, name, fulls);
}
return false
}
@ -76,14 +76,13 @@ export async function openWindow(url, name, Skip = false, Currently = false) {
// 判断是否2个屏幕
if (multiScreen.length < 2) {
console.log('请接入多个显示屏!');
return window.open(url, name);
return window.open(url, name, fulls);
}
console.log(screen, 'screen')
// 获取当前屏幕availLeft信息和所有信息比对取另一个屏幕数据
let currentAvailLeft = screen.availLeft ? screen.availLeft : '0'
let newCurr = multiScreen.find((t) => t.availLeft != currentAvailLeft)
console.log(newCurr, 'newCurr')
let fulls = ''
for (let key in newCurr) {
fulls += `${key}=${(newCurr[key] || newCurr[key] === 0) ? newCurr[key] : 0},`
}

View File

@ -209,7 +209,9 @@
style="width: 140px;padding:0 2px;white-space: normal;word-break: break-all;word-wrap: break-word;"
>
{{ $t('trials:readingReport:title:sysEvaluationRes') }}
<span style="color:red">
<span
style="color:red"
>
{{
$fd('ExistDisease', isExistDisease) }}
</span>
@ -961,22 +963,14 @@ export default {
var readingTool = this.$router.currentRoute.query.readingTool
var path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${subjectCode}&subjectId=${subjectId}&visitTaskId=${task.VisitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`
const routeData = this.$router.resolve({ path })
let a = document.createElement('a')
a.href = routeData.href
a.target = '_blank'
a.rel = 'noopener noreferrer'
document.body.appendChild(a)
a.click()
document.body.removeChild(a)
return false
const res = await getAutoCutNextTask()
let IsDoubleScreen = false
if (res.IsSuccess) {
IsDoubleScreen = res.Result.IsDoubleScreen
}
if (IsDoubleScreen) {
this.openWindow = await openWindow(routeData.href)
if (!this.openWindow) {
this.openWindow = await openWindow(routeData.href, '', false, true)
if (this.openWindow === false) {
let html = `<div><span>${this.$t(
'trials:reading:tip:MultiScreen2'
)}</span><a style="color:#409EFF"
@ -988,12 +982,15 @@ export default {
dangerouslyUseHTMLString: true,
})
if (!confirm) return false
this.openWindow = await openWindow(routeData.href, '', true)
this.openWindow = await openWindow(routeData.href, '', true, true)
}
} else {
this.openWindow = await openWindow(routeData.href, '', true, true)
this.openWindow = window.open(
routeData.href,
'_blank',
'noopener,noreferrer'
)
}
// this.openWindow = window.open(routeData.href, '_blank')
},
handleSave(isPrompt) {
return new Promise(async (resolve, reject) => {

View File

@ -1031,22 +1031,14 @@ export default {
var readingTool = this.$router.currentRoute.query.readingTool
var path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${subjectCode}&subjectId=${subjectId}&visitTaskId=${task.VisitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`
const routeData = this.$router.resolve({ path })
let a = document.createElement('a')
a.href = routeData.href
a.target = '_blank'
a.rel = 'noopener noreferrer'
document.body.appendChild(a)
a.click()
document.body.removeChild(a)
return false
const res = await getAutoCutNextTask()
let IsDoubleScreen = false
if (res.IsSuccess) {
IsDoubleScreen = res.Result.IsDoubleScreen
}
if (IsDoubleScreen) {
this.openWindow = await openWindow(routeData.href)
if (!this.openWindow) {
this.openWindow = await openWindow(routeData.href, '', false, true)
if (this.openWindow === false) {
let html = `<div><span>${this.$t(
'trials:reading:tip:MultiScreen2'
)}</span><a style="color:#409EFF"
@ -1058,11 +1050,14 @@ export default {
dangerouslyUseHTMLString: true,
})
if (!confirm) return false
this.openWindow = await openWindow(routeData.href, '', true)
this.openWindow = await openWindow(routeData.href, '', true, true)
}
} else {
// this.openWindow = await openWindow(routeData.href, '', true, true)
// this.openWindow = window.open(routeData.href, '_blank')
this.openWindow = window.open(
routeData.href,
'_blank',
'noopener,noreferrer'
)
}
},
handleSave(isPrompt) {