Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web
continuous-integration/drone/push Build is passing Details

uat_us
DESKTOP-6C3NK6N\WXS 2024-09-26 13:43:09 +08:00
commit 7e8af2b4e5
10 changed files with 233 additions and 136 deletions

View File

@ -434,71 +434,70 @@
</div> </div>
</div> </div>
<div ref="form-container" class="form-container"> <div ref="form-container" class="form-container">
<!-- 激活canvas测量数据 --> <div class="form-wrapper">
<RecistBMQuestionList
v-if="CriterionType === 17"
ref="measurementList"
:question-form-change-state="questionFormChangeState"
:question-form-change-num="questionFormChangeNum"
:is-show="isShow"
:is-reading-show-subject-info="isReadingShowSubjectInfo"
/>
<IRecistQuestionList
v-else-if="CriterionType === 3"
ref="measurementList"
:question-form-change-state="questionFormChangeState"
:question-form-change-num="questionFormChangeNum"
:is-show="isShow"
:is-reading-show-subject-info="isReadingShowSubjectInfo"
/>
<PCWGQuestionList
v-else-if="CriterionType === 10"
ref="measurementList"
:question-form-change-state="questionFormChangeState"
:question-form-change-num="questionFormChangeNum"
:is-show="isShow"
:is-reading-show-subject-info="isReadingShowSubjectInfo"
/>
<LuganoQuestionList
v-else-if="CriterionType === 2"
ref="measurementList"
:question-form-change-state="questionFormChangeState"
:question-form-change-num="questionFormChangeNum"
:is-show="isShow"
:is-reading-show-subject-info="isReadingShowSubjectInfo"
/>
<RecistBMQuestionList <RecistQuestionList
v-if="CriterionType === 17" v-else-if="CriterionType === 1"
ref="measurementList" ref="measurementList"
:question-form-change-state="questionFormChangeState" :question-form-change-state="questionFormChangeState"
:question-form-change-num="questionFormChangeNum" :question-form-change-num="questionFormChangeNum"
:is-show="isShow" :is-show="isShow"
:is-reading-show-subject-info="isReadingShowSubjectInfo" :is-reading-show-subject-info="isReadingShowSubjectInfo"
/> />
<IRecistQuestionList
v-else-if="CriterionType === 3"
ref="measurementList"
:question-form-change-state="questionFormChangeState"
:question-form-change-num="questionFormChangeNum"
:is-show="isShow"
:is-reading-show-subject-info="isReadingShowSubjectInfo"
/>
<PCWGQuestionList
v-else-if="CriterionType === 10"
ref="measurementList"
:question-form-change-state="questionFormChangeState"
:question-form-change-num="questionFormChangeNum"
:is-show="isShow"
:is-reading-show-subject-info="isReadingShowSubjectInfo"
/>
<LuganoQuestionList
v-else-if="CriterionType === 2"
ref="measurementList"
:question-form-change-state="questionFormChangeState"
:question-form-change-num="questionFormChangeNum"
:is-show="isShow"
:is-reading-show-subject-info="isReadingShowSubjectInfo"
/>
<RecistQuestionList <IVUSList
v-else-if="CriterionType === 1" v-else-if="CriterionType === 19"
ref="measurementList" ref="measurementList"
:question-form-change-state="questionFormChangeState" :question-form-change-state="questionFormChangeState"
:question-form-change-num="questionFormChangeNum" :question-form-change-num="questionFormChangeNum"
:is-show="isShow" :is-show="isShow"
:is-reading-show-subject-info="isReadingShowSubjectInfo" :is-reading-show-subject-info="isReadingShowSubjectInfo"
/> />
<OCTList
<IVUSList v-else-if="CriterionType === 20"
v-else-if="CriterionType === 19" ref="measurementList"
ref="measurementList" :question-form-change-state="questionFormChangeState"
:question-form-change-state="questionFormChangeState" :question-form-change-num="questionFormChangeNum"
:question-form-change-num="questionFormChangeNum" :is-show="isShow"
:is-show="isShow" :is-reading-show-subject-info="isReadingShowSubjectInfo"
:is-reading-show-subject-info="isReadingShowSubjectInfo" />
/> <h2 v-else style="color:#ddd">
<OCTList Developing...
v-else-if="CriterionType === 20" </h2>
ref="measurementList" </div>
:question-form-change-state="questionFormChangeState" <div v-if="iseCRFShowInDicomReading && currentReadingTaskState < 2" class="form-footer">
:question-form-change-num="questionFormChangeNum"
:is-show="isShow"
:is-reading-show-subject-info="isReadingShowSubjectInfo"
/>
<h2 v-else style="color:#ddd">
Developing...
</h2>
<!-- iseCRFShowInDicomReading && currentReadingTaskState < 2 -->
<div v-if="false">
<el-button <el-button
type="primary" type="primary"
size="small" size="small"
@ -738,8 +737,8 @@
:subject-code="uploadSubjectCode" :subject-code="uploadSubjectCode"
:criterion="uploadTrialCriterion" :criterion="uploadTrialCriterion"
:visible.sync="uploadImageVisible" :visible.sync="uploadImageVisible"
:VisitTaskId="taskId" :visit-task-id="taskId"
:isReadingTaskViewInOrder="isReadingTaskViewInOrder" :is-reading-task-view-in-order="isReadingTaskViewInOrder"
/> />
<download-dicom-and-nonedicom <download-dicom-and-nonedicom
v-if="downloadImageVisible" v-if="downloadImageVisible"
@ -749,6 +748,20 @@
:task-id="taskId" :task-id="taskId"
:visible.sync="downloadImageVisible" :visible.sync="downloadImageVisible"
/> />
<!-- 签名框 -->
<el-dialog
v-if="signVisible"
:visible.sync="signVisible"
:close-on-click-modal="false"
width="600px"
custom-class="base-dialog-wrapper"
>
<div slot="title">
<span style="font-size:18px;">{{ $t('common:dialogTitle:sign') }}</span>
<span style="font-size:12px;margin-left:5px">{{ `(${$t('common:label:sign')}${ currentUser })` }}</span>
</div>
<SignForm ref="signForm" :sign-code-enum="signCode" @closeDialog="closeSignDialog" />
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
@ -782,7 +795,12 @@ import DicomEvent from './DicomEvent'
import html2canvas from 'html2canvas' import html2canvas from 'html2canvas'
import uploadDicomAndNonedicom from '@/components/uploadDicomAndNonedicom' import uploadDicomAndNonedicom from '@/components/uploadDicomAndNonedicom'
import downloadDicomAndNonedicom from '@/components/downloadDicomAndNonedicom' import downloadDicomAndNonedicom from '@/components/downloadDicomAndNonedicom'
import { getCriterionReadingInfo } from '@/api/trials' import SignForm from '@/views/trials/components/newSignForm'
import { getCriterionReadingInfo, verifyVisitTaskQuestions, submitDicomVisitTask } from '@/api/trials'
import { setSkipReadingCache } from '@/api/reading'
import { getAutoCutNextTask } from '@/api/user'
import const_ from '@/const/sign-code'
import { changeURLStatic } from '@/utils/history.js'
export default { export default {
name: 'DicomViewer', name: 'DicomViewer',
components: { components: {
@ -801,7 +819,8 @@ export default {
IVUSList, IVUSList,
OCTList, OCTList,
'download-dicom-and-nonedicom': downloadDicomAndNonedicom, 'download-dicom-and-nonedicom': downloadDicomAndNonedicom,
'upload-dicom-and-nonedicom': uploadDicomAndNonedicom 'upload-dicom-and-nonedicom': uploadDicomAndNonedicom,
SignForm
}, },
props: { props: {
isShow: { isShow: {
@ -956,7 +975,10 @@ export default {
uploadSubjectCode: null, uploadSubjectCode: null,
uploadTrialCriterion: {}, uploadTrialCriterion: {},
uploadStatus: 'upload', uploadStatus: 'upload',
taskId: '' taskId: '',
signVisible: false,
signCode: null,
currentUser: zzSessionStorage.getItem('userName')
} }
}, },
@ -2213,8 +2235,108 @@ export default {
this.isFullscreen = false this.isFullscreen = false
this.manualsDialog.visible = true this.manualsDialog.visible = true
}, },
skipTask(){}, async skipTask() {
submit(){}, //
const confirm = await this.$confirm(
this.$t('trials:readingReport:message:skipConfirm'),
{
type: 'warning',
distinguishCancelAndClose: true
}
)
if (confirm !== 'confirm') return
// const loading = this.$loading({ fullscreen: true })
try {
const idx = this.visitTaskList.findIndex(i => i.IsCurrentTask)
if (idx > -1) {
var visitTaskId = this.visitTaskList[idx].VisitTaskId
const res = await setSkipReadingCache({ visitTaskId: visitTaskId })
if (res.IsSuccess) {
window.location.reload()
}
}
// loading.close()
} catch (e) {
// loading.close()
console.log(e)
}
},
async submit() {
const loading = this.$loading({ fullscreen: true })
try {
const idx = this.visitTaskList.findIndex(i => i.IsCurrentTask)
if (idx > -1) {
var visitTaskId = this.visitTaskList[idx].VisitTaskId
this.taskId = visitTaskId
await verifyVisitTaskQuestions({ visitTaskId: visitTaskId })
const { ImageAssessmentReportConfirmation } = const_.processSignature
this.signCode = ImageAssessmentReportConfirmation
this.signVisible = true
}
loading.close()
} catch (e) {
loading.close()
}
},
//
closeSignDialog(isSign, signInfo) {
if (isSign) {
this.signConfirm(signInfo)
} else {
this.signVisible = false
}
},
//
async signConfirm(signInfo) {
this.loading = true
try {
var params = {
data: {
visitTaskId: this.taskId
},
signInfo: signInfo
}
const res = await submitDicomVisitTask(params)
if (res.IsSuccess) {
this.$message.success(this.$t('common:message:savedSuccessfully'))
if (this.$refs['signForm']) {
this.$refs['signForm'].btnLoading = false
}
this.signVisible = false
//
this.readingTaskState = 2
await store.dispatch('reading/setVisitTaskReadingTaskState', { visitTaskId: this.visitTaskId, readingTaskState: 2 })
await store.dispatch('reading/setCurrentReadingTaskState', 2)
const res = await getAutoCutNextTask()
var isAutoTask = res.Result.AutoCutNextTask
if (isAutoTask) {
window.location.reload()
} else {
// ''
this.$confirm(this.$t('trials:readingReport:message:msg4'), {
type: 'warning',
distinguishCancelAndClose: true
})
.then(() => {
window.location.reload()
})
.catch(action => {
changeURLStatic('visitTaskId', this.visitTaskId)
})
}
window.opener.postMessage('refreshTaskList', window.location)
}
this.loading = false
} catch (e) {
this.loading = false
if (this.$refs['signForm'] && this.$refs['signForm'].btnLoading) {
this.$refs['signForm'].btnLoading = false
}
}
},
handleFusion() { handleFusion() {
// https // https
// if (!window.isSecureContext) { // if (!window.isSecureContext) {
@ -2545,10 +2667,22 @@ export default {
.form-container{ .form-container{
// box-sizing: border-box; // box-sizing: border-box;
width: 350px; width: 350px;
height: 100%; // height: 100vh;
border: 1px solid #727272; border: 1px solid #727272;
position: relative; // position: relative;
// overflow-y: auto; display: flex;
flex-direction: column;
}
.form-wrapper{
flex-grow: 1;
height: 0;
overflow: hidden;
}
.form-footer{
background: #000;
padding: 10px 0;
text-align: center;
} }
.viewer-container{ .viewer-container{
box-sizing: border-box; box-sizing: border-box;

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="measurement-wrapper" :style="{'height':height+10+'px'}"> <div class="measurement-wrapper">
<div class="container" :style="{'height':height+'px'}"> <div class="container">
<div class="basic-info"> <div class="basic-info">
<h3 v-if="isReadingShowSubjectInfo"> <h3 v-if="isReadingShowSubjectInfo">
<span v-if="subjectCode">{{ subjectCode }} </span> <span v-if="subjectCode">{{ subjectCode }} </span>
@ -203,7 +203,6 @@ export default {
}, },
data() { data() {
return { return {
height: window.innerHeight - 140,
questions: [], questions: [],
activeName: '', activeName: '',
activeItem: { activeItem: {
@ -269,8 +268,6 @@ export default {
DicomEvent.$on('split', measureData => { DicomEvent.$on('split', measureData => {
this.handleSplit(measureData.RowId, measureData.QuestionId) this.handleSplit(measureData.RowId, measureData.QuestionId)
}) })
window.addEventListener('resize', this.setHeight)
}, },
beforeDestroy() { beforeDestroy() {
DicomEvent.$off('setCollapseActive') DicomEvent.$off('setCollapseActive')
@ -457,9 +454,6 @@ export default {
} catch (e) { console.log(e) } } catch (e) { console.log(e) }
}) })
}, },
setHeight() {
this.height = window.innerHeight - 140
},
getQuestionAnswer(questions, questionMark, answers) { getQuestionAnswer(questions, questionMark, answers) {
var idx = questions.findIndex(i => i.QuestionMark === questionMark) var idx = questions.findIndex(i => i.QuestionMark === questionMark)
if (idx > -1) { if (idx > -1) {
@ -1183,6 +1177,7 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.measurement-wrapper{ .measurement-wrapper{
height: 100%;
overflow-y: auto; overflow-y: auto;
// overflow: hidden; // overflow: hidden;

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="measurement-wrapper" :style="{'height':height+10+'px'}"> <div class="measurement-wrapper">
<div class="container" :style="{'height':height+'px'}"> <div class="container">
<div class="basic-info"> <div class="basic-info">
<h3 v-if="isReadingShowSubjectInfo"> <h3 v-if="isReadingShowSubjectInfo">
<span v-if="subjectCode">{{ subjectCode }} </span> <span v-if="subjectCode">{{ subjectCode }} </span>
@ -88,7 +88,7 @@
{{ `${$fd(q.DictionaryCode, parseInt(scope.row[q.Id]))}` }} {{ `${$fd(q.DictionaryCode, parseInt(scope.row[q.Id]))}` }}
</span> </span>
<span v-else> <span v-else>
{{`${scope.row[q.Id]}`}} {{ `${scope.row[q.Id]}` }}
</span> </span>
</template> </template>
</el-table-column> </el-table-column>
@ -266,7 +266,6 @@ export default {
}, },
data() { data() {
return { return {
height: window.innerHeight - 140,
questions: [], questions: [],
visitTaskId: '', visitTaskId: '',
isCurrentTask: false, isCurrentTask: false,
@ -327,8 +326,6 @@ export default {
DicomEvent.$on('refreshQuestions', _ => { DicomEvent.$on('refreshQuestions', _ => {
this.refreshQuestions() this.refreshQuestions()
}) })
window.addEventListener('resize', this.setHeight)
}, },
beforeDestroy() { beforeDestroy() {
DicomEvent.$off('setCollapseActive') DicomEvent.$off('setCollapseActive')
@ -443,9 +440,6 @@ export default {
} catch (e) { console.log(e) } } catch (e) { console.log(e) }
}) })
}, },
setHeight() {
this.height = window.innerHeight - 140
},
getQuestionAnswer(questions, questionMark, answers) { getQuestionAnswer(questions, questionMark, answers) {
var idx = questions.findIndex(i => i.QuestionMark === questionMark) var idx = questions.findIndex(i => i.QuestionMark === questionMark)
if (idx > -1) { if (idx > -1) {
@ -736,9 +730,8 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.measurement-wrapper{ .measurement-wrapper{
height: 100%;
overflow-y: auto; overflow-y: auto;
// overflow: hidden;
.container{ .container{
padding: 10px; padding: 10px;
.basic-info{ .basic-info{

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="measurement-wrapper" :style="{'height':height+10+'px'}"> <div class="measurement-wrapper">
<div class="container" :style="{'height':height+'px'}"> <div class="container">
<div class="basic-info"> <div class="basic-info">
<h3 v-if="isReadingShowSubjectInfo"> <h3 v-if="isReadingShowSubjectInfo">
<span v-if="subjectCode">{{ subjectCode }} </span> <span v-if="subjectCode">{{ subjectCode }} </span>
@ -262,7 +262,6 @@ export default {
}, },
data() { data() {
return { return {
height: window.innerHeight - 140,
questions: [], questions: [],
activeName: '', activeName: '',
activeItem: { activeItem: {
@ -359,8 +358,6 @@ export default {
} }
callback(true) callback(true)
}) })
window.addEventListener('resize', this.setHeight)
}, },
beforeDestroy() { beforeDestroy() {
DicomEvent.$off('setCollapseActive') DicomEvent.$off('setCollapseActive')
@ -573,9 +570,6 @@ export default {
} catch (e) { console.log(e) } } catch (e) { console.log(e) }
}) })
}, },
setHeight() {
this.height = window.innerHeight - 140
},
getQuestionAnswer(questions, questionMark, answers) { getQuestionAnswer(questions, questionMark, answers) {
var idx = questions.findIndex(i => i.QuestionMark === questionMark) var idx = questions.findIndex(i => i.QuestionMark === questionMark)
if (idx > -1) { if (idx > -1) {
@ -1347,9 +1341,8 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.measurement-wrapper{ .measurement-wrapper{
height: 100%;
overflow-y: auto; overflow-y: auto;
// overflow: hidden;
.container{ .container{
padding: 10px; padding: 10px;
.basic-info{ .basic-info{

View File

@ -1,7 +1,6 @@
<template> <template>
<div class="measurement-wrapper" :style="{'height':height+10+'px'}"> <div class="measurement-wrapper">
<div class="container">
<div class="container" :style="{'height':height+'px'}">
<div class="basic-info"> <div class="basic-info">
<h3 v-if="isReadingShowSubjectInfo"> <h3 v-if="isReadingShowSubjectInfo">
<span v-if="subjectCode">{{ subjectCode }} </span> <span v-if="subjectCode">{{ subjectCode }} </span>
@ -85,7 +84,7 @@
<span v-if="q.Unit > 0"> <span v-if="q.Unit > 0">
{{ `${scope.row[q.Id]}${$fd('ValueUnit', parseInt(q.Unit))}` }} {{ `${scope.row[q.Id]}${$fd('ValueUnit', parseInt(q.Unit))}` }}
</span> </span>
<span v-else-if="q.DictionaryCode"> <span v-else-if="q.DictionaryCode">
{{ `${$fd(q.DictionaryCode, parseInt(scope.row[q.Id]))}` }} {{ `${$fd(q.DictionaryCode, parseInt(scope.row[q.Id]))}` }}
</span> </span>
<span v-else> <span v-else>
@ -267,7 +266,6 @@ export default {
}, },
data() { data() {
return { return {
height: window.innerHeight - 140,
questions: [], questions: [],
visitTaskId: '', visitTaskId: '',
isCurrentTask: false, isCurrentTask: false,
@ -329,8 +327,6 @@ export default {
DicomEvent.$on('refreshQuestions', _ => { DicomEvent.$on('refreshQuestions', _ => {
this.refreshQuestions() this.refreshQuestions()
}) })
window.addEventListener('resize', this.setHeight)
}, },
beforeDestroy() { beforeDestroy() {
DicomEvent.$off('setCollapseActive') DicomEvent.$off('setCollapseActive')
@ -445,9 +441,6 @@ export default {
} catch (e) { console.log(e) } } catch (e) { console.log(e) }
}) })
}, },
setHeight() {
this.height = window.innerHeight - 140
},
getQuestionAnswer(questions, questionMark, answers) { getQuestionAnswer(questions, questionMark, answers) {
var idx = questions.findIndex(i => i.QuestionMark === questionMark) var idx = questions.findIndex(i => i.QuestionMark === questionMark)
if (idx > -1) { if (idx > -1) {
@ -748,6 +741,7 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.measurement-wrapper{ .measurement-wrapper{
height: 100%;
overflow-y: auto; overflow-y: auto;
// overflow: hidden; // overflow: hidden;

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="measurement-wrapper" :style="{'height':height+10+'px'}"> <div class="measurement-wrapper">
<div class="container" :style="{'height':height+'px'}"> <div class="container">
<div class="basic-info"> <div class="basic-info">
<h3 v-if="isReadingShowSubjectInfo"> <h3 v-if="isReadingShowSubjectInfo">
<span v-if="subjectCode">{{ subjectCode }} </span> <span v-if="subjectCode">{{ subjectCode }} </span>
@ -147,7 +147,6 @@ export default {
}, },
data() { data() {
return { return {
height: window.innerHeight - 140,
questions: [], questions: [],
activeName: '', activeName: '',
activeItem: { activeItem: {
@ -212,8 +211,6 @@ export default {
callback(list) callback(list)
console.log('getAllUnSaveLesions') console.log('getAllUnSaveLesions')
}) })
window.addEventListener('resize', this.setHeight)
}, },
beforeDestroy() { beforeDestroy() {
DicomEvent.$off('setCollapseActive') DicomEvent.$off('setCollapseActive')
@ -802,6 +799,7 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.measurement-wrapper{ .measurement-wrapper{
height: 100%;
overflow-y: auto; overflow-y: auto;
// overflow: hidden; // overflow: hidden;

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="measurement-wrapper" :style="{'height':height+10+'px'}"> <div class="measurement-wrapper">
<div class="container" :style="{'height':height+'px'}"> <div class="container">
<div class="basic-info"> <div class="basic-info">
<h3 v-if="isReadingShowSubjectInfo"> <h3 v-if="isReadingShowSubjectInfo">
<span v-if="subjectCode">{{ subjectCode }} </span> <span v-if="subjectCode">{{ subjectCode }} </span>
@ -169,7 +169,6 @@ export default {
}, },
data() { data() {
return { return {
height: window.innerHeight - 140,
questions: [], questions: [],
activeName: '', activeName: '',
activeItem: { activeItem: {
@ -234,8 +233,6 @@ export default {
DicomEvent.$on('split', measureData => { DicomEvent.$on('split', measureData => {
this.handleSplit(measureData.RowId, measureData.QuestionId) this.handleSplit(measureData.RowId, measureData.QuestionId)
}) })
window.addEventListener('resize', this.setHeight)
}, },
beforeDestroy() { beforeDestroy() {
DicomEvent.$off('setCollapseActive') DicomEvent.$off('setCollapseActive')
@ -416,9 +413,6 @@ export default {
} catch (e) { console.log(e) } } catch (e) { console.log(e) }
}) })
}, },
setHeight() {
this.height = window.innerHeight - 140
},
getQuestionAnswer(questions, questionMark, answers) { getQuestionAnswer(questions, questionMark, answers) {
var idx = questions.findIndex(i => i.QuestionMark === questionMark) var idx = questions.findIndex(i => i.QuestionMark === questionMark)
if (idx > -1) { if (idx > -1) {
@ -1065,6 +1059,7 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.measurement-wrapper{ .measurement-wrapper{
height: 100%;
overflow-y: auto; overflow-y: auto;
// overflow: hidden; // overflow: hidden;

View File

@ -1,7 +1,7 @@
<template> <template>
<div class="measurement-wrapper" :style="{'height':height+10+'px'}"> <div class="measurement-wrapper">
<div class="container" :style="{'height':height+'px'}"> <div class="container">
<div class="basic-info"> <div class="basic-info">
<h3 v-if="isReadingShowSubjectInfo"> <h3 v-if="isReadingShowSubjectInfo">
<span v-if="subjectCode">{{ subjectCode }} </span> <span v-if="subjectCode">{{ subjectCode }} </span>
@ -165,7 +165,6 @@ export default {
}, },
data() { data() {
return { return {
height: window.innerHeight - 140,
questions: [], questions: [],
activeName: '', activeName: '',
activeItem: { activeItem: {
@ -229,8 +228,6 @@ export default {
DicomEvent.$on('split', measureData => { DicomEvent.$on('split', measureData => {
this.handleSplit(measureData.RowId, measureData.QuestionId) this.handleSplit(measureData.RowId, measureData.QuestionId)
}) })
window.addEventListener('resize', this.setHeight)
}, },
beforeDestroy() { beforeDestroy() {
DicomEvent.$off('loadMeasurementList') DicomEvent.$off('loadMeasurementList')
@ -409,9 +406,6 @@ export default {
} catch (e) { console.log(e) } } catch (e) { console.log(e) }
}) })
}, },
setHeight() {
this.height = window.innerHeight - 140
},
getQuestionAnswer(questions, questionMark, answers) { getQuestionAnswer(questions, questionMark, answers) {
var idx = questions.findIndex(i => i.QuestionMark === questionMark) var idx = questions.findIndex(i => i.QuestionMark === questionMark)
if (idx > -1) { if (idx > -1) {
@ -994,6 +988,7 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.measurement-wrapper{ .measurement-wrapper{
height: 100%;
overflow-y: auto; overflow-y: auto;
// overflow: hidden; // overflow: hidden;

View File

@ -440,7 +440,7 @@ export default {
const firstObj = this.getFirstMarkedSeries(this.visitTaskList[bsIdx].MeasureData, [...this.visitTaskList[bsIdx].StudyList]) const firstObj = this.getFirstMarkedSeries(this.visitTaskList[bsIdx].MeasureData, [...this.visitTaskList[bsIdx].StudyList])
seriesList.push(firstObj.series) seriesList.push(firstObj.series)
const secondObj = this.getSecondMarkedSeries(firstObj, { ...this.visitTaskList[idx] }) const secondObj = this.getSecondMarkedSeries(firstObj, { ...this.visitTaskList[idx] })
this.studyIndex = secondObj.studyIndex this.studyIndex = secondObj.studyIndex
this.seriesIndex = secondObj.seriesIndex this.seriesIndex = secondObj.seriesIndex

View File

@ -19,12 +19,12 @@
:is-exists-clinical-data="isExistsClinicalData" :is-exists-clinical-data="isExistsClinicalData"
:is-exists-no-dicom-file="isExistsNoDicomFile" :is-exists-no-dicom-file="isExistsNoDicomFile"
:is-exists-manual="isExistsManual" :is-exists-manual="isExistsManual"
:iseCRFShowInDicomReading="IseCRFShowInDicomReading" :ise-c-r-f-show-in-dicom-reading="IseCRFShowInDicomReading"
@previewCD="previewCD" @previewCD="previewCD"
/> />
</el-tab-pane> </el-tab-pane>
<!-- 报告 --> <!-- 报告 -->
<el-tab-pane :label="$t('trials:reading:tabTitle:report')" name="report"> <el-tab-pane v-if="!IseCRFShowInDicomReading" :label="$t('trials:reading:tabTitle:report')" name="report">
<ReportPage v-if="tabs.includes('report') && isShow" ref="reportPage" :question-form-change-state="questionFormChangeState" :visit-task-id="visitTaskId" /> <ReportPage v-if="tabs.includes('report') && isShow" ref="reportPage" :question-form-change-state="questionFormChangeState" :visit-task-id="visitTaskId" />
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>