Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
commit
7e8af2b4e5
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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{
|
||||||
|
|
|
@ -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{
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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>
|
||||||
|
|
Loading…
Reference in New Issue