影像阅片时,支持双屏
continuous-integration/drone/push Build is passing Details

main
wangxiaoshuang 2025-08-25 15:40:27 +08:00
parent b5fbbbdfcc
commit 1280a5d23a
4 changed files with 54 additions and 18 deletions

View File

@ -3,15 +3,23 @@
<div class="base-dialog-body" style="height:380px;overflow-y: auto;">
<el-form ref="otherForm" :model="form">
<!-- 自动切换下一个任务不必提示 -->
<el-form-item
:label="$t('trials:reading:label:autoSwitch')"
prop="AutoCutNextTask"
:rules="[
{ required: true, message: $t('common:ruleMessage:select')}
]"
>
<el-form-item :label="$t('trials:reading:label:autoSwitch')" prop="AutoCutNextTask" :rules="[
{ required: true, message: $t('common:ruleMessage:select') }
]">
<el-switch v-model="form.AutoCutNextTask" />
</el-form-item>
<el-form-item :label="$t('trials:reading:label:MultiScreen')" prop="IsDoubleScreen" :rules="[
{ required: true, message: $t('common:ruleMessage:select') }
]">
<el-switch v-model="form.IsDoubleScreen" />
</el-form-item>
<el-form-item>
<div><span>{{ $t("trials:reading:tip:MultiScreen") }}</span><a style="color:#409EFF"
href="https://hir-oss.test.extimaging.com/hir-test/SupportDownload/ConfigurationDocumentation.pdf"
target="blank">{{
$t("trials:reading:tip:openFile")
}}</a></div>
</el-form-item>
</el-form>
</div>
<div class="base-dialog-footer" style="text-align:right;margin-top:10px;">
@ -27,7 +35,8 @@ export default {
data() {
return {
form: {
AutoCutNextTask: false
AutoCutNextTask: false,
IsDoubleScreen: false
},
loading: false
}
@ -42,6 +51,7 @@ export default {
const res = await getAutoCutNextTask()
if (res.IsSuccess) {
this.form.AutoCutNextTask = res.Result.AutoCutNextTask
this.form.IsDoubleScreen = res.Result.IsDoubleScreen
}
this.loading = false
} catch (e) {
@ -66,6 +76,4 @@ export default {
}
</script>
<style lang="scss">
</style>
<style lang="scss"></style>

View File

@ -717,7 +717,17 @@ 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 })
this.openWindow = await openWindow(routeData.href)
const res = await getAutoCutNextTask()
let IsDoubleScreen = false
if (res.IsSuccess) {
IsDoubleScreen = res.Result.IsDoubleScreen
}
if (IsDoubleScreen) {
this.openWindow = await openWindow(routeData.href)
} else {
this.openWindow = window.open(routeData.href, "_blank");
}
// this.openWindow = await openWindow(routeData.href)
// if (this.openWindow) {
// this.$setOpenWindow(this.openWindow);
// }

View File

@ -249,6 +249,7 @@ import SignForm from '@/views/trials/components/newSignForm'
import { getToken } from '@/utils/auth'
import store from '@/store'
import { openWindow } from "@/utils/splitScreen";
import { getAutoCutNextTask } from '@/api/user'
export default {
name: 'CustomizeReportPage',
components: { SignForm, CustomizeReportPageUpload },
@ -772,7 +773,16 @@ export default {
var trialReadingCriterionId = this.$router.currentRoute.query.TrialReadingCriterionId
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 })
this.openWindow = await openWindow(routeData.href)
const res = await getAutoCutNextTask()
let IsDoubleScreen = false
if (res.IsSuccess) {
IsDoubleScreen = res.Result.IsDoubleScreen
}
if (IsDoubleScreen) {
this.openWindow = await openWindow(routeData.href)
} else {
this.openWindow = window.open(routeData.href, "_blank");
}
},
handleSave(isPrompt) {
return new Promise((resolve, reject) => {

View File

@ -93,6 +93,7 @@ import {
} from "@/api/trials";
import { claimOrCancelSubject, clearSkipReadingCache } from "@/api/reading";
import BaseContainer from "@/components/BaseContainer";
import { getAutoCutNextTask } from '@/api/user'
import Pagination from "@/components/Pagination";
import { getToken } from "@/utils/auth";
import { openWindow } from "@/utils/splitScreen";
@ -223,12 +224,19 @@ export default {
path = `/noneDicomReading?TrialReadingCriterionId=${this.trialCriterionInfo.TrialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&isReadingTaskViewInOrder=${this.isReadingTaskViewInOrder}&criterionType=${this.criterionType}&criterionName=${criterionName}&readingTool=${this.readingTool}&TokenKey=${token}`;
}
var routeData = this.$router.resolve({ path });
// this.openWindow = window.open(routeData.href, "_blank");
this.openWindow = await openWindow(routeData.href)
if (this.openWindow) {
this.$setOpenWindow(this.openWindow);
const res = await getAutoCutNextTask()
let IsDoubleScreen = false
if (res.IsSuccess) {
IsDoubleScreen = res.Result.IsDoubleScreen
}
if (IsDoubleScreen) {
this.openWindow = await openWindow(routeData.href)
} else {
this.openWindow = window.open(routeData.href, "_blank");
}
// if (this.openWindow) {
// this.$setOpenWindow(this.openWindow);
// }
})
.catch(() => {
this.loading = false;