分割部分问题解决
continuous-integration/drone/push Build is passing Details

uat_us
wangxiaoshuang 2026-04-16 11:32:48 +08:00
parent 7c71a6d342
commit 8724eeeafb
25 changed files with 379 additions and 584 deletions

View File

@ -1,11 +1,7 @@
<template> <template>
<div class="adReview_wrapper"> <div class="adReview_wrapper">
<el-card <el-card v-if="isReadingShowSubjectInfo" shadow="never" :body-style="{ padding: '10px' }"
v-if="isReadingShowSubjectInfo" style="margin-bottom: 10px">
shadow="never"
:body-style="{ padding: '10px' }"
style="margin-bottom: 10px"
>
<h4> <h4>
<!-- 受试者 --> <!-- 受试者 -->
{{ $t("trials:adReview:title:subject") }} {{ $t("trials:adReview:title:subject") }}
@ -17,14 +13,11 @@
<!-- <div slot="header" class="clearfix"> <!-- <div slot="header" class="clearfix">
<span style="font-weight: bold;">评估结果</span> <span style="font-weight: bold;">评估结果</span>
</div> --> </div> -->
<div <div slot="header" style="
slot="header"
style="
display: flex; display: flex;
flex-direction: row; flex-direction: row;
justify-content: space-between; justify-content: space-between;
" ">
>
<!-- 评估结果 --> <!-- 评估结果 -->
<div style="font-weight: bold"> <div style="font-weight: bold">
{{ $t("trials:adReview:title:result") }} {{ $t("trials:adReview:title:result") }}
@ -39,62 +32,45 @@
<el-table :data="adInfo.VisitInfoList" style="width: 100%"> <el-table :data="adInfo.VisitInfoList" style="width: 100%">
<!-- 访视名称 --> <!-- 访视名称 -->
<el-table-column <el-table-column prop="VisitName" :label="$t('trials:adReview:table:visitName')" show-overflow-tooltip
prop="VisitName" width="150" />
:label="$t('trials:adReview:table:visitName')"
show-overflow-tooltip
width="150"
/>
<!-- 评估结果 --> <!-- 评估结果 -->
<el-table-column <el-table-column v-for="j in judgeQuestion" :key="j.armEnum" :label="j.armEnum === 1
v-for="j in judgeQuestion" ? $t('trials:adReview:table:viewR1')
:key="j.armEnum" : j.armEnum === 2
:label=" ? $t('trials:adReview:table:viewR2')
j.armEnum === 1 : $fd('ArmEnum', j.armEnum)
? $t('trials:adReview:table:viewR1') " align="center" prop="">
: j.armEnum === 2
? $t('trials:adReview:table:viewR2')
: $fd('ArmEnum', j.armEnum)
"
align="center"
prop=""
>
<template> <template>
<el-table-column <el-table-column v-for="(qs, i) in j.judgeQuestionList" :key="i" prop="" :label="qs" show-overflow-tooltip
v-for="(qs, i) in j.judgeQuestionList" width="150">
:key="i"
prop=""
:label="qs"
show-overflow-tooltip
width="150"
>
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].QuestionType === 1"> <div v-if="scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].QuestionType === 1">
<span v-if="scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].DictionaryCode"> <span v-if="scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].DictionaryCode">
{{ $fd(scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].DictionaryCode,parseInt(scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].Answer)) {{
$fd(scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].DictionaryCode,
parseInt(scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].Answer))
}} }}
</span> </span>
<span v-else> <span v-else>
{{ scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].Answer }} {{ scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].Answer }}
</span> </span>
<span v-if="scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].Unit && !isNaN(parseFloat(scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].Answer))">{{ $fd('ValueUnit', parseInt(scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].Unit)) }}</span> <span
v-if="scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].Unit && !isNaN(parseFloat(scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].Answer))">{{
$fd('ValueUnit', parseInt(scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].Unit)) }}</span>
</div> </div>
<div v-else-if="scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].QuestionType === 2"> <div v-else-if="scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].QuestionType === 2">
<div v-if="scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].Answer"> <div v-if="scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].Answer">
<span> <span>
{{ $fd("YesOrNo",scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].Answer) }} {{ $fd("YesOrNo", scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].Answer) }}
</span> </span>
<!-- 查看详情 --> <!-- 查看详情 -->
<el-button <el-button type="text" style="margin-left: 5px" @click="
type="text" handleViewDetail(
style="margin-left: 5px" scope.row.VisitTaskInfoList[j.index].GlobalVisitTaskId
@click=" )
handleViewDetail( ">
scope.row.VisitTaskInfoList[j.index].GlobalVisitTaskId
)
"
>
{{ $t("trials:adReview:table:view") }} {{ $t("trials:adReview:table:view") }}
</el-button> </el-button>
</div> </div>
@ -119,60 +95,34 @@
</el-table-column> </el-table-column>
<!-- 查看详情 --> <!-- 查看详情 -->
<el-table-column <el-table-column :label="criterionType === 10
:label=" ? $t('trials:adReview:table:visitInfoview')
criterionType === 10 : $t('trials:adReview:table:view')
? $t('trials:adReview:table:visitInfoview') " width="200" :fixed="isFixed ? 'right' : false">
: $t('trials:adReview:table:view')
"
width="200"
:fixed="isFixed ? 'right' : false"
>
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 查看R1详情 --> <!-- 查看R1详情 -->
<el-button <el-button type="text" :title="$t('trials:adReview:table:viewR1')" @click="handleView(scope.row, 1)">
type="text"
:title="$t('trials:adReview:table:viewR1')"
@click="handleView(scope.row, 1)"
>
R1 R1
</el-button> </el-button>
<!-- 查看R2详情 --> <!-- 查看R2详情 -->
<el-button <el-button type="text" :title="$t('trials:adReview:table:viewR2')" @click="handleView(scope.row, 2)">
type="text"
:title="$t('trials:adReview:table:viewR2')"
@click="handleView(scope.row, 2)"
>
R2 R2
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
<!-- 全局详情 PCWG --> <!-- 全局详情 PCWG -->
<el-table-column <el-table-column v-if="criterionType === 10" prop="VisitName" :label="$t('trials:adReview:table:glInfo')"
v-if="criterionType === 10" show-overflow-tooltip width="150">
prop="VisitName"
:label="$t('trials:adReview:table:glInfo')"
show-overflow-tooltip
width="150"
>
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 查看R1详情 --> <!-- 查看R1详情 -->
<el-button <el-button v-if="scope.$index === adInfo.VisitInfoList.length - 1" type="text"
v-if="scope.$index === adInfo.VisitInfoList.length - 1" :title="$t('trials:adReview:table:viewR1')" @click="handleViewGl(scope.row, 1)">
type="text"
:title="$t('trials:adReview:table:viewR1')"
@click="handleViewGl(scope.row, 1)"
>
R1 R1
</el-button> </el-button>
<!-- 查看R2详情 --> <!-- 查看R2详情 -->
<el-button <el-button v-if="scope.$index === adInfo.VisitInfoList.length - 1" type="text"
v-if="scope.$index === adInfo.VisitInfoList.length - 1" :title="$t('trials:adReview:table:viewR2')" @click="handleViewGl(scope.row, 2)">
type="text"
:title="$t('trials:adReview:table:viewR2')"
@click="handleViewGl(scope.row, 2)"
>
R2 R2
</el-button> </el-button>
</template> </template>
@ -186,120 +136,64 @@
$t("trials:adReview:title:adResult") $t("trials:adReview:title:adResult")
}}</span> }}</span>
</div> </div>
<el-form <el-form ref="adForm" v-loading="loading" :model="adForm" style="width: 800px" label-width="100">
ref="adForm"
v-loading="loading"
:model="adForm"
style="width: 800px"
label-width="100"
>
<!-- 选择阅片人 --> <!-- 选择阅片人 -->
<el-form-item <el-form-item :label="$t('trials:adReview:title:choseReader')" prop="judgeResultTaskId" :rules="[
:label="$t('trials:adReview:title:choseReader')" { required: true, message: this.$t('common:ruleMessage:select') },
prop="judgeResultTaskId" ]">
:rules="[ <el-radio-group v-model="adForm.judgeResultTaskId" :disabled="adInfo.ReadingTaskState >= 2">
{ required: true, message: this.$t('common:ruleMessage:select') }, <el-radio v-for="t in visitTaskArmList" :key="t.VisitTaskId" :label="t.VisitTaskId"
]" @change="handleVisitTaskArmChange">
>
<el-radio-group
v-model="adForm.judgeResultTaskId"
:disabled="adInfo.ReadingTaskState >= 2"
>
<el-radio
v-for="t in visitTaskArmList"
:key="t.VisitTaskId"
:label="t.VisitTaskId"
@change="handleVisitTaskArmChange"
>
{{ $fd("ArmEnum", t.ArmEnum) }} {{ $fd("ArmEnum", t.ArmEnum) }}
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- 裁判原因 --> <!-- 裁判原因 -->
<el-form-item <el-form-item :label="$t('trials:adReview:title:adReason')" prop="judgeResultRemark" :rules="[
:label="$t('trials:adReview:title:adReason')" { required: true, message: this.$t('common:ruleMessage:specify') },
prop="judgeResultRemark" {
:rules="[ max: 500,
{ required: true, message: this.$t('common:ruleMessage:specify') }, message: `${this.$t('common:ruleMessage:maxLength')} 500`,
{ trigger: ['blur', 'change'],
max: 500, },
message: `${this.$t('common:ruleMessage:maxLength')} 500`, ]">
trigger: ['blur', 'change'],
},
]"
>
<div style="position: relative"> <div style="position: relative">
<div <div style="
style="
position: absolute; position: absolute;
left: 0; left: 0;
top: 30px; top: 30px;
color: #606266; color: #606266;
font-size: 13px; font-size: 13px;
" ">
>
{{ remark }} {{ remark }}
</div> </div>
<el-input <el-input v-model="adForm.judgeResultRemark" type="textarea" :autosize="{ minRows: 4, maxRows: 6 }"
v-model="adForm.judgeResultRemark" :disabled="adInfo.ReadingTaskState >= 2" style="margin-top: 25px" />
type="textarea"
:autosize="{ minRows: 4, maxRows: 6 }"
:disabled="adInfo.ReadingTaskState >= 2"
style="margin-top: 25px"
/>
</div> </div>
</el-form-item> </el-form-item>
<!-- 截图说明 --> <!-- 截图说明 -->
<el-form-item :label="$t('trials:adReview:title:screenShot')"> <el-form-item :label="$t('trials:adReview:title:screenShot')">
<el-upload <el-upload action :accept="accept" :on-preview="handlePictureCardPreview" :before-upload="handleBeforeUpload"
action :http-request="uploadScreenshot" list-type="picture-card" :on-remove="handleRemove" :file-list="fileList"
:accept="accept" :class="{ disabled: adInfo.ReadingTaskState >= 2 }" :disabled="adInfo.ReadingTaskState >= 2">
:on-preview="handlePictureCardPreview"
:before-upload="handleBeforeUpload"
:http-request="uploadScreenshot"
list-type="picture-card"
:on-remove="handleRemove"
:file-list="fileList"
:class="{ disabled: adInfo.ReadingTaskState >= 2 }"
:disabled="adInfo.ReadingTaskState >= 2"
>
<i slot="default" class="el-icon-plus" /> <i slot="default" class="el-icon-plus" />
<div <div slot="file" slot-scope="{ file }" style="width: 100%; height: 100%">
slot="file" <viewer :ref="file.url" :images="images" style="
slot-scope="{ file }"
style="width: 100%; height: 100%"
>
<viewer
:ref="file.url"
:images="images"
style="
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
width: 100%; width: 100%;
height: 100%; height: 100%;
" ">
> <img class="el-upload-list__item-thumbnail" :src="OSSclientConfig.basePath + file.url" alt=""
<img crossorigin="anonymous" style="max-width: 100%; max-height: 100%">
class="el-upload-list__item-thumbnail"
:src="OSSclientConfig.basePath + file.url"
alt=""
crossorigin="anonymous"
style="max-width: 100%; max-height: 100%"
>
<span class="el-upload-list__item-actions"> <span class="el-upload-list__item-actions">
<span <span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)">
class="el-upload-list__item-preview"
@click="handlePictureCardPreview(file)"
>
<i class="el-icon-zoom-in" /> <i class="el-icon-zoom-in" />
</span> </span>
<span <span v-if="adInfo.ReadingTaskState < 2" class="el-upload-list__item-delete"
v-if="adInfo.ReadingTaskState < 2" @click="handleRemove(file)">
class="el-upload-list__item-delete"
@click="handleRemove(file)"
>
<i class="el-icon-delete" /> <i class="el-icon-delete" />
</span> </span>
</span> </span>
@ -324,10 +218,7 @@
</div> </div>
</el-card> </el-card>
<el-card <el-card v-if="isReadingShowPreviousResults" :body-style="{ padding: '10px' }">
v-if="isReadingShowPreviousResults"
:body-style="{ padding: '10px' }"
>
<div slot="header" class="clearfix"> <div slot="header" class="clearfix">
<!-- 既往裁判评估 --> <!-- 既往裁判评估 -->
<span style="font-weight: bold">{{ <span style="font-weight: bold">{{
@ -335,24 +226,12 @@
}}</span> }}</span>
</div> </div>
<el-table <el-table v-loading="priorLoading" :data="priorADList" style="width: 100%">
v-loading="priorLoading"
:data="priorADList"
style="width: 100%"
>
<!-- 裁判阅片 --> <!-- 裁判阅片 -->
<el-table-column <el-table-column prop="TaskBlindName" :label="$t('trials:adReview:table:adReading')" show-overflow-tooltip
prop="TaskBlindName" width="200" />
:label="$t('trials:adReview:table:adReading')" <el-table-column prop="JudgeResultArm" :label="$t('trials:adReview:table:adResult')" show-overflow-tooltip
show-overflow-tooltip width="200">
width="200"
/>
<el-table-column
prop="JudgeResultArm"
:label="$t('trials:adReview:table:adResult')"
show-overflow-tooltip
width="200"
>
<template slot-scope="scope"> <template slot-scope="scope">
{{ $fd("ArmEnum", scope.row.JudgeResultArm) }} {{ $fd("ArmEnum", scope.row.JudgeResultArm) }}
</template> </template>
@ -360,35 +239,22 @@
<el-table-column :label="$t('common:action:action')" width="200"> <el-table-column :label="$t('common:action:action')" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 查看详情 --> <!-- 查看详情 -->
<el-button <el-button circle :title="$t('trials:adReview:table:view')" icon="el-icon-view"
circle @click="handleViewDetail(scope.row.VisitTaskId)" />
:title="$t('trials:adReview:table:view')"
icon="el-icon-view"
@click="handleViewDetail(scope.row.VisitTaskId)"
/>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-card> </el-card>
<!-- 签名框 --> <!-- 签名框 -->
<el-dialog <el-dialog v-if="signVisible" :visible.sync="signVisible" :close-on-click-modal="false" width="600px"
v-if="signVisible" custom-class="base-dialog-wrapper">
:visible.sync="signVisible"
:close-on-click-modal="false"
width="600px"
custom-class="base-dialog-wrapper"
>
<div slot="title"> <div slot="title">
<span style="font-size: 18px">{{ $t("common:dialogTitle:sign") }}</span> <span style="font-size: 18px">{{ $t("common:dialogTitle:sign") }}</span>
<span style="font-size: 12px; margin-left: 5px">{{ <span style="font-size: 12px; margin-left: 5px">{{
`(${$t("common:label:sign")}${currentUser})` `(${$t("common:label:sign")}${currentUser})`
}}</span> }}</span>
</div> </div>
<SignForm <SignForm ref="signForm" :sign-code-enum="signCode" @closeDialog="closeSignDialog" />
ref="signForm"
:sign-code-enum="signCode"
@closeDialog="closeSignDialog"
/>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
@ -729,18 +595,14 @@ export default {
this.$router.currentRoute.query.TrialReadingCriterionId this.$router.currentRoute.query.TrialReadingCriterionId
var path = '' var path = ''
if (readingTool === 0 || readingTool === 2 ) { if (readingTool === 0 || readingTool === 2 || readingTool === 3) {
path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${ path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.trialId
this.trialId }&subjectCode=${this.subjectCode}&subjectId=${this.subjectId
}&subjectCode=${this.subjectCode}&subjectId=${ }&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`
this.subjectId
}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${ path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.trialId
this.trialId }&subjectCode=${this.subjectCode}&subjectId=${this.subjectId
}&subjectCode=${this.subjectCode}&subjectId=${ }&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`
this.subjectId
}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`
} }
var routeData = this.$router.resolve({ path }) var routeData = this.$router.resolve({ path })
this.openWindow = window.open(routeData.href, '_blank') this.openWindow = window.open(routeData.href, '_blank')
@ -766,22 +628,16 @@ export default {
this.$router.currentRoute.query.TrialReadingCriterionId this.$router.currentRoute.query.TrialReadingCriterionId
var path = '' var path = ''
if (readingTool === 0 || readingTool === 2 ) { if (readingTool === 0 || readingTool === 2 || readingTool === 3) {
path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${ path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.trialId
this.trialId }&subjectCode=${this.subjectCode}&subjectId=${this.subjectId
}&subjectCode=${this.subjectCode}&subjectId=${ }&visitTaskId=${task.VisitTaskId
this.subjectId }&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`
}&visitTaskId=${
task.VisitTaskId
}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${ path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.trialId
this.trialId }&subjectCode=${this.subjectCode}&subjectId=${this.subjectId
}&subjectCode=${this.subjectCode}&subjectId=${ }&visitTaskId=${task.VisitTaskId
this.subjectId }&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`
}&visitTaskId=${
task.VisitTaskId
}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`
} }
var routeData = this.$router.resolve({ path }) var routeData = this.$router.resolve({ path })
this.openWindow = window.open(routeData.href, '_blank') this.openWindow = window.open(routeData.href, '_blank')
@ -801,22 +657,16 @@ export default {
this.$router.currentRoute.query.TrialReadingCriterionId this.$router.currentRoute.query.TrialReadingCriterionId
var path = '' var path = ''
if (readingTool === 0 || readingTool === 2 ) { if (readingTool === 0 || readingTool === 2 || readingTool === 3) {
path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${ path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.trialId
this.trialId }&subjectCode=${this.subjectCode}&subjectId=${this.subjectId
}&subjectCode=${this.subjectCode}&subjectId=${ }&visitTaskId=${task.GlobalVisitTaskId
this.subjectId }&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`
}&visitTaskId=${
task.GlobalVisitTaskId
}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${ path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.trialId
this.trialId }&subjectCode=${this.subjectCode}&subjectId=${this.subjectId
}&subjectCode=${this.subjectCode}&subjectId=${ }&visitTaskId=${task.GlobalVisitTaskId
this.subjectId }&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`
}&visitTaskId=${
task.GlobalVisitTaskId
}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`
} }
var routeData = this.$router.resolve({ path }) var routeData = this.$router.resolve({ path })
this.openWindow = window.open(routeData.href, '_blank') this.openWindow = window.open(routeData.href, '_blank')
@ -932,17 +782,21 @@ export default {
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow-y: auto; overflow-y: auto;
.box-mr { .box-mr {
margin: 10px 0; margin: 10px 0;
} }
.disabled { .disabled {
::v-deep .el-upload--picture-card { ::v-deep .el-upload--picture-card {
display: none; display: none;
} }
} }
::v-deep .el-upload-list__item { ::v-deep .el-upload-list__item {
transition: none !important; transition: none !important;
} }
::v-deep .el-upload-list__item-thumbnail { ::v-deep .el-upload-list__item-thumbnail {
/* 图片在方框内显示长边 */ /* 图片在方框内显示长边 */
object-fit: scale-down !important; object-fit: scale-down !important;

View File

@ -14,8 +14,8 @@
<div v-for="s in visitTaskList" v-show="activeTaskId === s.VisitTaskId" :key="s.VisitTaskId" <div v-for="s in visitTaskList" v-show="activeTaskId === s.VisitTaskId" :key="s.VisitTaskId"
style="height:100%;"> style="height:100%;">
<study-list v-if="selectArr.includes(s.VisitTaskId) && s.StudyList.length > 0" :ref="s.VisitTaskId" <study-list v-if="selectArr.includes(s.VisitTaskId) && s.StudyList.length > 0" :ref="s.VisitTaskId"
:visit-task-info="s" :marked-series-ids="markedSeriesIds" @activeSeries="activeSeries" :visit-task-info="s" :marked-series-ids="markedSeriesIds" :readingTool="readingTool"
@showMultiFrame="showMultiFrame" /> @activeSeries="activeSeries" @showMultiFrame="showMultiFrame" />
</div> </div>
</div> </div>
@ -1633,9 +1633,9 @@ export default {
getTextLines: this.getEllipticalROIToolTextLines getTextLines: this.getEllipticalROIToolTextLines
}) })
toolGroup.addTool(FixedRadiusCircleROITool.toolName, { toolGroup.addTool(FixedRadiusCircleROITool.toolName, {
radius: Number.isFinite(this.taskInfo.CircleRadius) ? this.taskInfo.CircleRadius : 1, radius: Number.isFinite(this.taskInfo.CircleRadius) ? this.taskInfo.CircleRadius : 1,
getTextLines: this.getCircleROIToolTextLines getTextLines: this.getCircleROIToolTextLines
}) })
toolGroup.addTool(AngleTool.toolName, { toolGroup.addTool(AngleTool.toolName, {
getTextLines: this.getAngleToolTextLines getTextLines: this.getAngleToolTextLines
}) })
@ -2581,7 +2581,7 @@ export default {
const a = viewport?.getFrameOfReferenceUID?.() const a = viewport?.getFrameOfReferenceUID?.()
const b = otherViewport?.getFrameOfReferenceUID?.() const b = otherViewport?.getFrameOfReferenceUID?.()
if (a && b && a === b) return true if (a && b && a === b) return true
} catch (e) {} } catch (e) { }
return original ? original(viewport, otherViewport) : true return original ? original(viewport, otherViewport) : true
} }
} }
@ -2841,6 +2841,7 @@ export default {
this.fullScreenIndex = null this.fullScreenIndex = null
this.layout = v this.layout = v
const series = this.$refs[`${this.viewportKey}-${this.activeViewportIndex}`][0].series const series = this.$refs[`${this.viewportKey}-${this.activeViewportIndex}`][0].series
let index = series.SliceIndex
const seriesArr = [] const seriesArr = []
if (v === 1) { if (v === 1) {
this.rows = 1 this.rows = 1
@ -2853,6 +2854,7 @@ export default {
this.rows = 1 this.rows = 1
this.cols = 2 this.cols = 2
this.activeViewportIndex = 1 this.activeViewportIndex = 1
series.curIndex = index
if (typeof series === 'object') { if (typeof series === 'object') {
seriesArr.push(series) seriesArr.push(series)
seriesArr.push(series) seriesArr.push(series)
@ -2902,6 +2904,7 @@ export default {
} else if (v === 4) { } else if (v === 4) {
this.rows = 2 this.rows = 2
this.cols = 2 this.cols = 2
series.curIndex = index
if (typeof series === 'object') { if (typeof series === 'object') {
seriesArr.push(series) seriesArr.push(series)
seriesArr.push(series) seriesArr.push(series)
@ -3447,13 +3450,15 @@ export default {
if (i === -1) return if (i === -1) return
const studyList = this.visitTaskList[i].StudyList const studyList = this.visitTaskList[i].StudyList
let series = null let series = null
let curSeriesId = this.$refs[`${this.viewportKey}-${this.activeViewportIndex}`][0].series.Id
if (obj.segment) { if (obj.segment) {
let study = studyList.find(item => item.StudyId === obj.segmentGroup.StudyId) let study = studyList.find(item => item.StudyId === obj.segmentGroup.StudyId)
series = study.SeriesList.find(item => item.Id === obj.segmentGroup.SeriesId) let Series = study.SeriesList.find(item => item.Id === obj.segmentGroup.SeriesId)
series.SliceIndex = 0 Series.SliceIndex = 0
series.segment = obj.segment series = Object.assign(Series, { segment: obj.segment })
} else { } else {
series = this.getMarkedSeries(studyList, obj.annotation, true) series = this.getMarkedSeries(studyList, obj.annotation, true)
delete series.segment
} }
if (series) { if (series) {
@ -3496,7 +3501,7 @@ export default {
} }
} }
} }
this.$refs[`${this.viewportKey}-${this.activeViewportIndex}`][0].setSeriesInfo(series, obj.segment ? false : true) this.$refs[`${this.viewportKey}-${this.activeViewportIndex}`][0].setSeriesInfo(series, series.segment || curSeriesId !== series.Id ? false : true)
this.$refs[series.TaskInfo.VisitTaskId][0].setSeriesActive(series.StudyIndex, series.SeriesIndex) this.$refs[series.TaskInfo.VisitTaskId][0].setSeriesActive(series.StudyIndex, series.SeriesIndex)
} }
}, },

View File

@ -10,95 +10,99 @@
</div> </div>
<div class="ps"> <div class="ps">
<el-collapse v-model="activeNames"> <el-collapse v-model="activeNames">
<el-collapse-item v-for="(study, index) in studyList" :key="`${study.StudyId}`" :name="`${study.StudyId}`"> <template v-for="(study, index) in studyList">
<template slot="title"> <el-collapse-item :key="`${study.StudyId}`" :name="`${study.StudyId}`" v-if="!study.IsCriticalSequence">
<div v-if="!study.IsCriticalSequence" class="dicom-desc"> <template slot="title">
<template v-if="taskInfo && taskInfo.IsShowStudyName"> <div v-if="readingTool !== 3 || !study.IsCriticalSequence" class="dicom-desc">
<div style="text-overflow: ellipsis;overflow: hidden;"> <template v-if="taskInfo && taskInfo.IsShowStudyName">
<span :title="study.StudyCode">{{ study.StudyCode }}</span> <div style="text-overflow: ellipsis;overflow: hidden;">
<span v-if="study.StudyName" :title="study.StudyName" style="margin-left: 5px;">{{ study.StudyName <span :title="study.StudyCode">{{ study.StudyCode }}</span>
}}</span> <span v-if="study.StudyName" :title="study.StudyName" style="margin-left: 5px;">{{ study.StudyName
<span v-else :title="study.Modalities" style="margin-left: 5px;">{{ `${study.Modalities} }}</span>
(${study.SeriesCount})` }}</span> <span v-else :title="study.Modalities" style="margin-left: 5px;">{{ `${study.Modalities}
</div> (${study.SeriesCount})` }}</span>
<div v-if="study.StudyName" style="text-overflow: ellipsis;overflow: hidden;"> </div>
<span :title="study.Modalities">{{ `${study.Modalities} (${study.SeriesCount})` }}</span> <div v-if="study.StudyName" style="text-overflow: ellipsis;overflow: hidden;">
</div> <span :title="study.Modalities">{{ `${study.Modalities} (${study.SeriesCount})` }}</span>
</template> </div>
<template v-else-if="taskInfo && !taskInfo.IsShowStudyName"> </template>
<div style="text-overflow: ellipsis;overflow: hidden;"> <template v-else-if="taskInfo && !taskInfo.IsShowStudyName">
<span :title="study.StudyCode">{{ study.StudyCode }}</span> <div style="text-overflow: ellipsis;overflow: hidden;">
<span :title="study.Modalities">{{ `${study.Modalities} (${study.SeriesCount})` }}</span> <span :title="study.StudyCode">{{ study.StudyCode }}</span>
</div> <span :title="study.Modalities">{{ `${study.Modalities} (${study.SeriesCount})` }}</span>
</template> </div>
</template>
</div>
<div v-else>
<!-- 关键序列 -->
{{ $t('trials:reading:title:keySeries') }}
</div>
</template>
<div class="dicom-list-container">
<div v-for="(series, i) in study.SeriesList" :key="series.Id" style="position:relative;margin-top:1px;"
@click="activeSeries(series, i, index)">
<div :class="{ 'series-active': index === activeStudyIndex && i === activeSeriesIndex }"
class="series-wrapper">
<div class="series-image">
<el-image style="width: 100%;height: 100%;"
:src="`${OSSclientConfig.basePath}${series.ImageResizePath || series.NoneDicomFileFirstFile}`"
fit="fill" crossorigin="anonymous" />
</div>
<div class="series-text">
<div v-if="series.IsExistMutiFrames && series.InstanceCount > 1"
style="position: absolute;right: 0;top: 0;">
<el-popover placement="right" trigger="hover" popper-class="instance_frame_wrapper">
<div class="frame_list">
<div v-for="(instance, idx) in series.InstanceInfoList" :key="instance.Id"
class="frame_content"
:style="{ 'margin-bottom': idx < series.InstanceInfoList.length - 1 ? '5px' : '0px' }"
@click.stop="showMultiFrames(index, series, i, instance)">
<div>
<div>{{ instance.InstanceNumber }}</div>
<div>{{ `${instance.NumberOfFrames > 0 ? instance.KeyFramesList.length > 0 ?
instance.KeyFramesList.length : instance.NumberOfFrames : 1} frame` }}</div>
</div>
</div>
<div v-else>
<!-- 关键序列 -->
{{ $t('trials:reading:title:keySeries') }}
</div>
</template>
<div class="dicom-list-container">
<div v-for="(series, i) in study.SeriesList" :key="series.Id" style="position:relative;margin-top:1px;"
@click="activeSeries(series, i, index)">
<div :class="{ 'series-active': index === activeStudyIndex && i === activeSeriesIndex }"
class="series-wrapper">
<div class="series-image">
<el-image style="width: 100%;height: 100%;"
:src="`${OSSclientConfig.basePath}${series.ImageResizePath || series.NoneDicomFileFirstFile}`"
fit="fill" crossorigin="anonymous" />
</div>
<div class="series-text">
<div v-if="series.IsExistMutiFrames && series.InstanceCount > 1"
style="position: absolute;right: 0;top: 0;">
<el-popover placement="right" trigger="hover" popper-class="instance_frame_wrapper">
<div class="frame_list">
<div v-for="(instance, idx) in series.InstanceInfoList" :key="instance.Id" class="frame_content"
:style="{ 'margin-bottom': idx < series.InstanceInfoList.length - 1 ? '5px' : '0px' }"
@click.stop="showMultiFrames(index, series, i, instance)">
<div>
<div>{{ instance.InstanceNumber }}</div>
<div>{{ `${instance.NumberOfFrames > 0 ? instance.KeyFramesList.length > 0 ?
instance.KeyFramesList.length : instance.NumberOfFrames : 1} frame` }}</div>
</div> </div>
</div> </div>
</div> <i slot="reference" class="el-icon-connection"
<i slot="reference" class="el-icon-connection" style="font-size: 15px;cursor: pointer;color: #ffeb3b;" />
style="font-size: 15px;cursor: pointer;color: #ffeb3b;" /> </el-popover>
</el-popover> </div>
</div> <div v-if="!study.IsCriticalSequence" class="text-desc" :title="series.SeriesNumber">
<div v-if="!study.IsCriticalSequence" class="text-desc" :title="series.SeriesNumber"> #{{ series.SeriesNumber }}
#{{ series.SeriesNumber }}
</div> </div>
<div v-if="series.Description" class="text-desc" :title="series.Description"> <div v-if="series.Description" class="text-desc" :title="series.Description">
{{ series.Description }} {{ series.Description }}
</div> </div>
<div v-if="series.SliceThickness && !study.IsCriticalSequence" class="text-desc"> <div v-if="series.SliceThickness && !study.IsCriticalSequence" class="text-desc">
T: {{ parseFloat(series.SliceThickness).toFixed(digitPlaces) }} T: {{ parseFloat(series.SliceThickness).toFixed(digitPlaces) }}
</div> </div>
<div class="text-desc"> <div class="text-desc">
<span v-show="series.LoadedImageCount < series.InstanceCount"> <span v-show="series.LoadedImageCount < series.InstanceCount">
{{ series.Modality }}: {{ series.LoadedImageCount }}/{{ series.InstanceCount }} image {{ series.Modality }}: {{ series.LoadedImageCount }}/{{ series.InstanceCount }} image
</span> </span>
<span v-show="series.LoadedImageCount >= series.InstanceCount">{{ series.Modality }}: {{ <span v-show="series.LoadedImageCount >= series.InstanceCount">{{ series.Modality }}: {{
series.InstanceCount series.InstanceCount
}} image</span> }} image</span>
</div> </div>
<div style="line-height: 12px;"> <div style="line-height: 12px;">
<i v-show="series.IsBeMark || markedSeriesIds.includes(series.Id)" class="el-icon-star-on" <i v-show="series.IsBeMark || markedSeriesIds.includes(series.Id)" class="el-icon-star-on"
style="font-size: 12px;color: #ff5722;" /> style="font-size: 12px;color: #ff5722;" />
</div>
</div> </div>
</div> </div>
</div> <div v-if="series.LoadedImageCount > 0 && series.LoadedImageCount < series.InstanceCount"
<div v-if="series.LoadedImageCount > 0 && series.LoadedImageCount < series.InstanceCount" style="width: 100%;">
style="width: 100%;"> <el-progress :percentage="parseInt((series.LoadedImageProgress / series.InstanceCount).toFixed(2))" />
<el-progress :percentage="parseInt((series.LoadedImageProgress / series.InstanceCount).toFixed(2))" /> </div>
</div> </div>
</div> </div>
</div> </el-collapse-item>
</el-collapse-item> </template>
</el-collapse> </el-collapse>
</div> </div>
</div> </div>
@ -119,6 +123,10 @@ export default {
default() { default() {
return [] return []
} }
},
readingTool: {
type: Number,
default: 2
} }
}, },
data() { data() {
@ -248,7 +256,8 @@ export default {
background-color: #607d8b !important; background-color: #607d8b !important;
border: 1px solid #607d8b !important; border: 1px solid #607d8b !important;
} }
::v-deep .el-progress__text{
::v-deep .el-progress__text {
color: #ccc; color: #ccc;
font-size: 12px; font-size: 12px;
} }
@ -299,7 +308,8 @@ export default {
} }
} }
::v-deep .el-collapse{
::v-deep .el-collapse {
border: none; border: none;
.el-collapse-item { .el-collapse-item {

View File

@ -59,10 +59,10 @@
<div v-if="series" class="right-bottom-text"> <div v-if="series" class="right-bottom-text">
<div v-show="imageInfo.location">Location: {{ <div v-show="imageInfo.location">Location: {{
`${Number(imageInfo.location).toFixed(digitPlaces)} mm` `${Number(imageInfo.location).toFixed(digitPlaces)} mm`
}}</div> }}</div>
<div v-show="imageInfo.sliceThickness">Slice Thickness: {{ <div v-show="imageInfo.sliceThickness">Slice Thickness: {{
`${Number(imageInfo.sliceThickness).toFixed(digitPlaces)} mm` `${Number(imageInfo.sliceThickness).toFixed(digitPlaces)} mm`
}}</div> }}</div>
<div v-show="imageInfo.wwwc">WW/WL: {{ imageInfo.wwwc }}</div> <div v-show="imageInfo.wwwc">WW/WL: {{ imageInfo.wwwc }}</div>
</div> </div>
<div class="orientation-top"> <div class="orientation-top">
@ -676,6 +676,7 @@ export default {
} }
await renderSegmentation(this.series, this.series.TaskInfo, this.viewportId, this.SegmentConfig, this.renderingEngineId, data.segment, this.actionConfiguration) await renderSegmentation(this.series, this.series.TaskInfo, this.viewportId, this.SegmentConfig, this.renderingEngineId, data.segment, this.actionConfiguration)
DicomEvent.$emit('SegmentationLoading', this.viewportId) DicomEvent.$emit('SegmentationLoading', this.viewportId)
if (this.series.hasOwnProperty('curIndex')) this.setFullScreen(this.series.curIndex)
} catch (e) { } catch (e) {
console.log(e) console.log(e)
} }

View File

@ -327,8 +327,11 @@ function viewBidirectional(arr, viewportId) {
let item = arr[j] let item = arr[j]
let bidirectional = annotation.state.getAllAnnotations().find(i => i.metadata.segmentationId === item.segmentationId && i.metadata.segmentIndex === item.segmentIndex && i.metadata.toolName === "SegmentBidirectional"); let bidirectional = annotation.state.getAllAnnotations().find(i => i.metadata.segmentationId === item.segmentationId && i.metadata.segmentIndex === item.segmentIndex && i.metadata.toolName === "SegmentBidirectional");
// item.bidirectionalView = view // item.bidirectionalView = view
console.log(bidirectional, viewportId, item.view, 'bidirectional')
if (!bidirectional) continue if (!bidirectional) continue
annotation.visibility.setAnnotationVisibility(bidirectional.annotationUID, item.view) let view = item.view
if (item.hasOwnProperty('bidirectionalView')) view = item.bidirectionalView
annotation.visibility.setAnnotationVisibility(bidirectional.annotationUID, view)
} }
resetViewport(viewportId) resetViewport(viewportId)
} }

View File

@ -302,7 +302,7 @@ export default {
var isReadingTaskViewInOrder = this.$router.currentRoute.query.isReadingTaskViewInOrder var isReadingTaskViewInOrder = this.$router.currentRoute.query.isReadingTaskViewInOrder
var trialReadingCriterionId = this.$router.currentRoute.query.TrialReadingCriterionId var trialReadingCriterionId = this.$router.currentRoute.query.TrialReadingCriterionId
var path = '' var path = ''
if (readingTool === 0 || readingTool === 2 ) { if (readingTool === 0 || readingTool === 2|| readingTool === 3 ) {
path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}` path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}` path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`

View File

@ -358,7 +358,7 @@ export default {
var isReadingTaskViewInOrder = this.$router.currentRoute.query.isReadingTaskViewInOrder var isReadingTaskViewInOrder = this.$router.currentRoute.query.isReadingTaskViewInOrder
var trialReadingCriterionId = this.$router.currentRoute.query.TrialReadingCriterionId var trialReadingCriterionId = this.$router.currentRoute.query.TrialReadingCriterionId
var path = '' var path = ''
if (readingTool === 0 || readingTool === 2 ) { if (readingTool === 0 || readingTool === 2 || readingTool === 3) {
path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}` path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}` path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`

View File

@ -276,7 +276,7 @@ export default {
var isReadingTaskViewInOrder = this.$router.currentRoute.query.isReadingTaskViewInOrder var isReadingTaskViewInOrder = this.$router.currentRoute.query.isReadingTaskViewInOrder
var trialReadingCriterionId = this.$router.currentRoute.query.TrialReadingCriterionId var trialReadingCriterionId = this.$router.currentRoute.query.TrialReadingCriterionId
var path = '' var path = ''
if (readingTool === 0 || readingTool === 2) { if (readingTool === 0 || readingTool === 2|| readingTool === 3) {
path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}` path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`
} else { } else {
path = `/noneDicomReading?trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}` path = `/noneDicomReading?trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`

View File

@ -290,7 +290,7 @@ export default {
var isReadingTaskViewInOrder = this.$router.currentRoute.query.isReadingTaskViewInOrder var isReadingTaskViewInOrder = this.$router.currentRoute.query.isReadingTaskViewInOrder
var trialReadingCriterionId = this.$router.currentRoute.query.TrialReadingCriterionId var trialReadingCriterionId = this.$router.currentRoute.query.TrialReadingCriterionId
var path = '' var path = ''
if (readingTool === 0 || readingTool === 2) { if (readingTool === 0 || readingTool === 2 || readingTool === 3) {
path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}` path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`
} else { } else {
path = `/noneDicomReading?trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}` path = `/noneDicomReading?trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`

View File

@ -1,31 +1,14 @@
<template> <template>
<el-form v-if="globalForm.taskList.length > 0" ref="globalRuleForm" :model="globalForm" class="global-form"> <el-form v-if="globalForm.taskList.length > 0" ref="globalRuleForm" :model="globalForm" class="global-form">
<el-table <el-table v-loading="loading" :data="globalForm.taskList">
v-loading="loading"
:data="globalForm.taskList"
>
<!-- 访视名称 --> <!-- 访视名称 -->
<el-table-column <el-table-column prop="BlindName" :label="$t('trials:globalReview:table:visitName')" show-overflow-tooltip
prop="BlindName" width="150" />
:label="$t('trials:globalReview:table:visitName')"
show-overflow-tooltip
width="150"
/>
<!-- 评估结果 --> <!-- 评估结果 -->
<el-table-column <el-table-column :label="$t('trials:globalReview:table:evaluationRes')" align="center" prop="">
:label="$t('trials:globalReview:table:evaluationRes')"
align="center"
prop=""
>
<template> <template>
<el-table-column <el-table-column v-for="(qs, index) in globalInfo.evaluationQsList" :key="index" prop="" :label="qs"
v-for="(qs,index) in globalInfo.evaluationQsList" show-overflow-tooltip width="150">
:key="index"
prop=""
:label="qs"
show-overflow-tooltip
width="150"
>
<!-- <template slot-scope="scope"> <!-- <template slot-scope="scope">
<div v-if="scope.row.BeforeQuestionList.length>index && scope.row.BeforeQuestionList[index].Answer" :style="{color: scope.row.BeforeQuestionList[index].IsGlobalAnswer ? '#f66' : null}"> <div v-if="scope.row.BeforeQuestionList.length>index && scope.row.BeforeQuestionList[index].Answer" :style="{color: scope.row.BeforeQuestionList[index].IsGlobalAnswer ? '#f66' : null}">
<span v-if="scope.row.BeforeQuestionList[index].DictionaryCode"> <span v-if="scope.row.BeforeQuestionList[index].DictionaryCode">
@ -35,225 +18,163 @@
</div> </div>
</template> --> </template> -->
<template slot-scope="scope"> <template slot-scope="scope">
<template v-if="(scope.row.IsBaseLine && (scope.row.BeforeQuestionList[index].GlobalReadingShowType ===1 || scope.row.BeforeQuestionList[index].GlobalReadingShowType ===5)) || (!scope.row.IsBaseLine && (scope.row.BeforeQuestionList[index].GlobalReadingShowType ===2 || scope.row.BeforeQuestionList[index].GlobalReadingShowType ===6)) || (scope.row.BeforeQuestionList[index].GlobalReadingShowType ===0 || scope.row.BeforeQuestionList[index].GlobalReadingShowType ===4)"> <template
<div v-if="scope.row.BeforeQuestionList.length>index && scope.row.BeforeQuestionList[index].Answer" :style="{color: scope.row.BeforeQuestionList[index].IsGlobalAnswer ? '#f66' : null}"> v-if="(scope.row.IsBaseLine && (scope.row.BeforeQuestionList[index].GlobalReadingShowType === 1 || scope.row.BeforeQuestionList[index].GlobalReadingShowType === 5)) || (!scope.row.IsBaseLine && (scope.row.BeforeQuestionList[index].GlobalReadingShowType === 2 || scope.row.BeforeQuestionList[index].GlobalReadingShowType === 6)) || (scope.row.BeforeQuestionList[index].GlobalReadingShowType === 0 || scope.row.BeforeQuestionList[index].GlobalReadingShowType === 4)">
<span v-if="scope.row.BeforeQuestionList[index].DictionaryCode"> <div v-if="scope.row.BeforeQuestionList.length > index && scope.row.BeforeQuestionList[index].Answer"
{{ $fd(scope.row.BeforeQuestionList[index].DictionaryCode,parseInt(scope.row.BeforeQuestionList[index].Answer)) }} :style="{ color: scope.row.BeforeQuestionList[index].IsGlobalAnswer ? '#f66' : null }">
</span> <span v-if="scope.row.BeforeQuestionList[index].DictionaryCode">
<span v-else>{{ scope.row.BeforeQuestionList[index].Answer }}</span> {{
</div> $fd(scope.row.BeforeQuestionList[index].DictionaryCode, parseInt(scope.row.BeforeQuestionList[index].Answer))
}}
</span>
<span v-else>{{ scope.row.BeforeQuestionList[index].Answer }}</span>
</div>
</template> </template>
</template> </template>
</el-table-column> </el-table-column>
</template> </template>
</el-table-column> </el-table-column>
<!-- 是否同意访视结果 --> <!-- 是否同意访视结果 -->
<el-table-column <el-table-column prop="" :label="$t('trials:globalReview:table:isAgreeEvaluationRes')" show-overflow-tooltip
prop="" width="170">
:label="$t('trials:globalReview:table:isAgreeEvaluationRes')"
show-overflow-tooltip
width="170"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-form-item <el-form-item v-if="readingTaskState < 2" :prop="`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`"
v-if="readingTaskState<2" label="" :rules="[
:prop="`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`" { required: true, message: $t('common:ruleMessage:select'), trigger: ['change', 'blur'] },
label="" ]" class="form-item">
:rules="[ <el-radio-group v-model="globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]"
{ required: true,message: $t('common:ruleMessage:select'), trigger: ['change','blur']}, @change="handleAgreeOrNotChange(scope.$index, scope.row.AgreeOrNot[0].GlobalAnswerType)">
]" <el-radio v-for="item of $d.ReadingYesOrNo" :key="'AgreeOrNot' + item.value" :label="String(item.value)">
class="form-item"
>
<el-radio-group
v-model="globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]"
@change="handleAgreeOrNotChange(scope.$index,scope.row.AgreeOrNot[0].GlobalAnswerType)"
>
<el-radio
v-for="item of $d.ReadingYesOrNo"
:key="'AgreeOrNot' + item.value"
:label="String(item.value)"
>
{{ item.label }} {{ item.label }}
</el-radio> </el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-tag v-else-if="scope.row.AgreeOrNot.length > 0 && parseInt(scope.row.AgreeOrNot[0].Answer) === 1" type="primary"> <el-tag v-else-if="scope.row.AgreeOrNot.length > 0 && parseInt(scope.row.AgreeOrNot[0].Answer) === 1"
{{ $fd('ReadingYesOrNo',parseInt(scope.row.AgreeOrNot[0].Answer)) }} type="primary">
{{ $fd('ReadingYesOrNo', parseInt(scope.row.AgreeOrNot[0].Answer)) }}
</el-tag> </el-tag>
<el-tag v-else-if="scope.row.AgreeOrNot.length > 0 && parseInt(scope.row.AgreeOrNot[0].Answer) === 0" type="danger"> {{ $fd('ReadingYesOrNo',parseInt(scope.row.AgreeOrNot[0].Answer)) }}</el-tag> <el-tag v-else-if="scope.row.AgreeOrNot.length > 0 && parseInt(scope.row.AgreeOrNot[0].Answer) === 0"
type="danger"> {{ $fd('ReadingYesOrNo', parseInt(scope.row.AgreeOrNot[0].Answer)) }}</el-tag>
<span v-else /> <span v-else />
</template> </template>
</el-table-column> </el-table-column>
<!-- 调整后结果 --> <!-- 调整后结果 -->
<el-table-column <el-table-column :label="$t('trials:globalReview:table:adjustedRes')" align="center" prop="">
:label="$t('trials:globalReview:table:adjustedRes')" <template v-for="(qs, index) in globalInfo.adjustedQsList">
align="center" <el-table-column v-if="qs.isShow" :key="index" prop="" :label="qs.questionName" show-overflow-tooltip
prop="" :min-width="index === 3 ? '200' : '200'">
>
<template v-for="(qs,index) in globalInfo.adjustedQsList">
<el-table-column
v-if="qs.isShow"
:key="index"
prop=""
:label="qs.questionName"
show-overflow-tooltip
:min-width="index === 3 ? '200' : '200'"
>
<template slot-scope="scope"> <template slot-scope="scope">
<div v-if="readingTaskState<2 && (scope.row.AfterQuestionList[index].GlobalReadingShowType === 0 || (scope.row.IsBaseLine && scope.row.AfterQuestionList[index].GlobalReadingShowType === 1) || (!scope.row.IsBaseLine && scope.row.AfterQuestionList[index].GlobalReadingShowType === 2))"> <div
v-if="readingTaskState < 2 && (scope.row.AfterQuestionList[index].GlobalReadingShowType === 0 || (scope.row.IsBaseLine && scope.row.AfterQuestionList[index].GlobalReadingShowType === 1) || (!scope.row.IsBaseLine && scope.row.AfterQuestionList[index].GlobalReadingShowType === 2))">
<!-- <span v-if="(scope.row.IsBaseLine && scope.row.AfterQuestionList[index].LimitEdit === 2) || (!scope.row.IsBaseLine && scope.row.AfterQuestionList[index].LimitEdit === 1)"> <!-- <span v-if="(scope.row.IsBaseLine && scope.row.AfterQuestionList[index].LimitEdit === 2) || (!scope.row.IsBaseLine && scope.row.AfterQuestionList[index].LimitEdit === 1)">
{{ $fd(scope.row.AfterQuestionList[index].DictionaryCode, parseInt(scope.row.AfterQuestionList[index].VisitAnswer)) }} {{ $fd(scope.row.AfterQuestionList[index].DictionaryCode, parseInt(scope.row.AfterQuestionList[index].VisitAnswer)) }}
</span> --> </span> -->
<el-form-item <el-form-item style="margin-bottom: 0;"
style="margin-bottom: 0;" :prop="`${scope.$index}${scope.row.AfterQuestionList[index].QuestionId ? scope.row.AfterQuestionList[index].QuestionId : scope.row.AfterQuestionList[index].GlobalAnswerType}`"
:prop="`${scope.$index}${scope.row.AfterQuestionList[index].QuestionId?scope.row.AfterQuestionList[index].QuestionId:scope.row.AfterQuestionList[index].GlobalAnswerType}`" label="" :rules="[
label="" { required: parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) === 0, message: $t('common:ruleMessage:specify'), trigger: ['change', 'blur'] },
:rules="[ ]">
{ required:parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) === 0,message: $t('common:ruleMessage:specify'), trigger: ['change','blur']}, <label
]" v-if="parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) === 0" />
>
<label v-if="parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) === 0" />
<!-- 裁判问题 --> <!-- 裁判问题 -->
<template v-if="scope.row.AfterQuestionList[index].GlobalAnswerType === 0 "> <template v-if="scope.row.AfterQuestionList[index].GlobalAnswerType === 0">
<el-tooltip v-if="getText(globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].QuestionId?scope.row.AfterQuestionList[index].QuestionId:String(scope.row.AfterQuestionList[index].GlobalAnswerType)}`], scope.row.AfterQuestionList[index])" class="item" effect="dark" :content="getText(globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].QuestionId?scope.row.AfterQuestionList[index].QuestionId:String(scope.row.AfterQuestionList[index].GlobalAnswerType)}`], scope.row.AfterQuestionList[index])" placement="top-start"> <el-tooltip
v-if="getText(globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].QuestionId ? scope.row.AfterQuestionList[index].QuestionId : String(scope.row.AfterQuestionList[index].GlobalAnswerType)}`], scope.row.AfterQuestionList[index])"
class="item" effect="dark"
:content="getText(globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].QuestionId ? scope.row.AfterQuestionList[index].QuestionId : String(scope.row.AfterQuestionList[index].GlobalAnswerType)}`], scope.row.AfterQuestionList[index])"
placement="top-start">
<el-select <el-select
v-model="globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].QuestionId?scope.row.AfterQuestionList[index].QuestionId:String(scope.row.AfterQuestionList[index].GlobalAnswerType)}`]" v-model="globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].QuestionId ? scope.row.AfterQuestionList[index].QuestionId : String(scope.row.AfterQuestionList[index].GlobalAnswerType)}`]"
style="width:90%;" style="width:90%;"
:disabled="parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) !== 0" :disabled="parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) !== 0">
>
<template v-if="scope.row.AfterQuestionList[index].TypeValue"> <template v-if="scope.row.AfterQuestionList[index].TypeValue">
<el-option <el-option v-for="val in scope.row.AfterQuestionList[index].TypeValue.split('|')" :key="val"
v-for="val in scope.row.AfterQuestionList[index].TypeValue.split('|')" :label="val" :value="val" />
:key="val"
:label="val"
:value="val"
/>
</template> </template>
<template v-else-if="scope.row.AfterQuestionList[index].DictionaryCode && scope.row.AfterQuestionList[index].QuestionType === 13"> <template
<el-option v-else-if="scope.row.AfterQuestionList[index].DictionaryCode && scope.row.AfterQuestionList[index].QuestionType === 13">
v-for="item of $d[scope.row.AfterQuestionList[index].DictionaryCode]" <el-option v-for="item of $d[scope.row.AfterQuestionList[index].DictionaryCode]"
v-show="item.value!==-1" v-show="item.value !== -1" :key="item.id" :value="String(item.value)" :label="item.label"
:key="item.id" :disabled="String(getBeforeAnswer(scope.row.AfterQuestionList[index].QuestionName, scope.row)) === String(item.value)" />
:value="String(item.value)"
:label="item.label"
:disabled="String(getBeforeAnswer(scope.row.AfterQuestionList[index].QuestionName,scope.row)) === String(item.value)"
/>
</template> </template>
<template v-else-if="scope.row.AfterQuestionList[index].DictionaryCode"> <template v-else-if="scope.row.AfterQuestionList[index].DictionaryCode">
<el-option <el-option v-for="item of $d[scope.row.AfterQuestionList[index].DictionaryCode]"
v-for="item of $d[scope.row.AfterQuestionList[index].DictionaryCode]" :key="item.id" :value="String(item.value)"
:key="item.id" :disabled="String(getBeforeAnswer(scope.row.AfterQuestionList[index].QuestionName, scope.row)) === String(item.value)"
:value="String(item.value)" :label="item.label" />
:disabled="String(getBeforeAnswer(scope.row.AfterQuestionList[index].QuestionName,scope.row)) === String(item.value)"
:label="item.label"
/>
</template> </template>
</el-select> </el-select>
</el-tooltip> </el-tooltip>
<el-select <el-select v-else
v-else v-model="globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].QuestionId ? scope.row.AfterQuestionList[index].QuestionId : String(scope.row.AfterQuestionList[index].GlobalAnswerType)}`]"
v-model="globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].QuestionId?scope.row.AfterQuestionList[index].QuestionId:String(scope.row.AfterQuestionList[index].GlobalAnswerType)}`]"
style="width:90%;" style="width:90%;"
:disabled="parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) !== 0" :disabled="parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) !== 0">
>
<template v-if="scope.row.AfterQuestionList[index].TypeValue"> <template v-if="scope.row.AfterQuestionList[index].TypeValue">
<el-option <el-option v-for="val in scope.row.AfterQuestionList[index].TypeValue.split('|')" :key="val"
v-for="val in scope.row.AfterQuestionList[index].TypeValue.split('|')" :label="val" :value="val" />
:key="val"
:label="val"
:value="val"
/>
</template> </template>
<template v-else-if="scope.row.AfterQuestionList[index].DictionaryCode && scope.row.AfterQuestionList[index].QuestionType === 13"> <template
<template v-if="getLesionCount(scope.row.LesionCountList,0)"> v-else-if="scope.row.AfterQuestionList[index].DictionaryCode && scope.row.AfterQuestionList[index].QuestionType === 13">
<el-option <template v-if="getLesionCount(scope.row.LesionCountList, 0)">
v-for="item of $d[scope.row.AfterQuestionList[index].DictionaryCode]" <el-option v-for="item of $d[scope.row.AfterQuestionList[index].DictionaryCode]"
v-show="item.value!==-1 && item.value !== 1 && item.value !== 3" v-show="item.value !== -1 && item.value !== 1 && item.value !== 3" :key="item.id"
:key="item.id" :value="String(item.value)" :label="item.label"
:value="String(item.value)" :disabled="String(getBeforeAnswer(scope.row.AfterQuestionList[index].QuestionName, scope.row)) === String(item.value)" />
:label="item.label"
:disabled="String(getBeforeAnswer(scope.row.AfterQuestionList[index].QuestionName,scope.row)) === String(item.value)"
/>
</template> </template>
<template v-else-if="getLesionCount(scope.row.LesionCountList,1)"> <template v-else-if="getLesionCount(scope.row.LesionCountList, 1)">
<el-option <el-option v-for="item of $d[scope.row.AfterQuestionList[index].DictionaryCode]"
v-for="item of $d[scope.row.AfterQuestionList[index].DictionaryCode]" v-show="item.value !== -1 && item.value !== 1 && item.value !== 6" :key="item.id"
v-show="item.value!==-1 && item.value !== 1 && item.value !== 6" :value="String(item.value)" :label="item.label"
:key="item.id" :disabled="String(getBeforeAnswer(scope.row.AfterQuestionList[index].QuestionName, scope.row)) === String(item.value)" />
:value="String(item.value)"
:label="item.label"
:disabled="String(getBeforeAnswer(scope.row.AfterQuestionList[index].QuestionName,scope.row)) === String(item.value)"
/>
</template> </template>
<template v-else> <template v-else>
<el-option <el-option v-for="item of $d[scope.row.AfterQuestionList[index].DictionaryCode]"
v-for="item of $d[scope.row.AfterQuestionList[index].DictionaryCode]" v-show="item.value === 1 || item.value === 2 || item.value === 4" :key="item.id"
v-show="item.value === 1 || item.value === 2 || item.value === 4" :value="String(item.value)" :label="item.label"
:key="item.id" :disabled="String(getBeforeAnswer(scope.row.AfterQuestionList[index].QuestionName, scope.row)) === String(item.value)" />
:value="String(item.value)"
:label="item.label"
:disabled="String(getBeforeAnswer(scope.row.AfterQuestionList[index].QuestionName,scope.row)) === String(item.value)"
/>
</template> </template>
</template> </template>
<template v-else-if="scope.row.AfterQuestionList[index].DictionaryCode"> <template v-else-if="scope.row.AfterQuestionList[index].DictionaryCode">
<el-option <el-option v-for="item of $d[scope.row.AfterQuestionList[index].DictionaryCode]"
v-for="item of $d[scope.row.AfterQuestionList[index].DictionaryCode]" v-show="item.value !== 6" :key="item.id" :value="String(item.value)"
v-show="item.value !== 6" :disabled="String(getBeforeAnswer(scope.row.AfterQuestionList[index].QuestionName, scope.row)) === String(item.value)"
:key="item.id" :label="item.label" />
:value="String(item.value)"
:disabled="String(getBeforeAnswer(scope.row.AfterQuestionList[index].QuestionName,scope.row)) === String(item.value)"
:label="item.label"
/>
</template> </template>
</el-select> </el-select>
</template> </template>
<!-- 评估更新类型 GlobalAnswerType:3 --> <!-- 评估更新类型 GlobalAnswerType:3 -->
<template v-if="scope.row.AfterQuestionList[index].GlobalAnswerType === 3"> <template v-if="scope.row.AfterQuestionList[index].GlobalAnswerType === 3">
<el-tooltip v-if="getText(globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].GlobalAnswerType}`], scope.row.AfterQuestionList[index], scope.row.AfterQuestionList[index].GlobalAnswerType)" class="item" effect="dark" :content="getText(globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].GlobalAnswerType}`], scope.row.AfterQuestionList[index], scope.row.AfterQuestionList[index].GlobalAnswerType)" placement="top-start"> <el-tooltip
v-if="getText(globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].GlobalAnswerType}`], scope.row.AfterQuestionList[index], scope.row.AfterQuestionList[index].GlobalAnswerType)"
class="item" effect="dark"
:content="getText(globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].GlobalAnswerType}`], scope.row.AfterQuestionList[index], scope.row.AfterQuestionList[index].GlobalAnswerType)"
placement="top-start">
<el-select <el-select
v-model="globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].GlobalAnswerType}`]" v-model="globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].GlobalAnswerType}`]"
style="width:90%;" style="width:90%;"
:disabled="parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) !== 0" :disabled="parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) !== 0">
> <el-option v-for="val in globalInfo.assessTypeList"
<el-option
v-for="val in globalInfo.assessTypeList"
v-show="(scope.row.IsBaseLine && val.IsBaseLineUse) || (!scope.row.IsBaseLine && val.IsFollowVisitUse)" v-show="(scope.row.IsBaseLine && val.IsBaseLineUse) || (!scope.row.IsBaseLine && val.IsFollowVisitUse)"
:key="val.Code" :key="val.Code" :label="language === 'en' ? val.Value : val.ValueCN" :value="val.Code" />
:label="language === 'en'?val.Value:val.ValueCN"
:value="val.Code"
/>
</el-select> </el-select>
</el-tooltip> </el-tooltip>
<el-select <el-select v-else
v-else
v-model="globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].GlobalAnswerType}`]" v-model="globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].GlobalAnswerType}`]"
style="width:90%;" style="width:90%;"
:disabled="parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) !== 0" :disabled="parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) !== 0">
> <el-option v-for="val in globalInfo.assessTypeList"
<el-option
v-for="val in globalInfo.assessTypeList"
v-show="(scope.row.IsBaseLine && val.IsBaseLineUse) || (!scope.row.IsBaseLine && val.IsFollowVisitUse)" v-show="(scope.row.IsBaseLine && val.IsBaseLineUse) || (!scope.row.IsBaseLine && val.IsFollowVisitUse)"
:key="val.Code" :key="val.Code" :label="language === 'en' ? val.Value : val.ValueCN" :value="val.Code" />
:label="language === 'en'?val.Value:val.ValueCN"
:value="val.Code"
/>
</el-select> </el-select>
</template> </template>
<el-input <el-input v-if="scope.row.AfterQuestionList[index].GlobalAnswerType === 1"
v-if="scope.row.AfterQuestionList[index].GlobalAnswerType === 1" v-model="globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].QuestionId ? scope.row.AfterQuestionList[index].QuestionId : String(scope.row.AfterQuestionList[index].GlobalAnswerType)}`]"
v-model="globalForm[`${scope.$index}${scope.row.AfterQuestionList[index].QuestionId?scope.row.AfterQuestionList[index].QuestionId:String(scope.row.AfterQuestionList[index].GlobalAnswerType)}`]" type="textarea" maxlength="100" show-word-limit style="width:90%;" :autosize="{ minRows: 2 }"
type="textarea" :disabled="parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) !== 0" />
maxlength="100"
show-word-limit
style="width:90%;"
:autosize="{ minRows: 2 }"
:disabled="parseInt(globalForm[`${scope.$index}${scope.row.AgreeOrNot[0].GlobalAnswerType}`]) !== 0"
/>
</el-form-item> </el-form-item>
</div> </div>
<div v-else> <div v-else>
@ -262,7 +183,9 @@
{{ getAssessType(scope.row.AfterQuestionList[index].Answer) }} {{ getAssessType(scope.row.AfterQuestionList[index].Answer) }}
</span> </span>
<span v-else-if="scope.row.AfterQuestionList[index].DictionaryCode"> <span v-else-if="scope.row.AfterQuestionList[index].DictionaryCode">
{{ $fd(scope.row.AfterQuestionList[index].DictionaryCode,parseInt(scope.row.AfterQuestionList[index].Answer)) }} {{
$fd(scope.row.AfterQuestionList[index].DictionaryCode, parseInt(scope.row.AfterQuestionList[index].Answer))
}}
</span> </span>
<span v-else>{{ scope.row.AfterQuestionList[index].Answer }}</span> <span v-else>{{ scope.row.AfterQuestionList[index].Answer }}</span>
</div> </div>
@ -270,17 +193,10 @@
</el-table-column> </el-table-column>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column :label="$t('common:action:action')" width="100">
:label="$t('common:action:action')"
width="100"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button circle :title="$t('trials:globalReview:table:view')" icon="el-icon-view"
circle @click="handleView(scope.row)" />
:title="$t('trials:globalReview:table:view')"
icon="el-icon-view"
@click="handleView(scope.row)"
/>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -348,7 +264,7 @@ export default {
var isReadingTaskViewInOrder = this.$router.currentRoute.query.isReadingTaskViewInOrder var isReadingTaskViewInOrder = this.$router.currentRoute.query.isReadingTaskViewInOrder
var trialReadingCriterionId = this.$router.currentRoute.query.TrialReadingCriterionId var trialReadingCriterionId = this.$router.currentRoute.query.TrialReadingCriterionId
var path = '' var path = ''
if (readingTool === 0 || readingTool === 2 ) { if (readingTool === 0 || readingTool === 2 || readingTool === 3) {
path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}` path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}` path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`
@ -375,16 +291,18 @@ export default {
if (i.QuestionId) { if (i.QuestionId) {
obj.questionId = i.QuestionId obj.questionId = i.QuestionId
obj.globalAnswerType = i.GlobalAnswerType obj.globalAnswerType = i.GlobalAnswerType
obj.answer = this.globalForm[ `${index}${i.QuestionId}`] obj.answer = this.globalForm[`${index}${i.QuestionId}`]
} else { } else {
obj.questionId = '' obj.questionId = ''
obj.globalAnswerType = i.GlobalAnswerType obj.globalAnswerType = i.GlobalAnswerType
obj.answer = this.globalForm[ `${index}${i.GlobalAnswerType}`] obj.answer = this.globalForm[`${index}${i.GlobalAnswerType}`]
} }
answerList.push(obj) answerList.push(obj)
}) })
answerList.push({ questionId: '', globalAnswerType: item.AgreeOrNot[0].GlobalAnswerType, answerList.push({
answer: this.globalForm[ `${index}${item.AgreeOrNot[0].GlobalAnswerType}`] }) questionId: '', globalAnswerType: item.AgreeOrNot[0].GlobalAnswerType,
answer: this.globalForm[`${index}${item.AgreeOrNot[0].GlobalAnswerType}`]
})
visitTaskAnswerList.push({ visitTaskId: item.VisitTaskId, answerList: answerList }) visitTaskAnswerList.push({ visitTaskId: item.VisitTaskId, answerList: answerList })
}) })
@ -401,17 +319,17 @@ export default {
} }
this.$emit('getGlInfo') this.$emit('getGlInfo')
resolve(true) resolve(true)
} else { } else {
resolve(false) resolve(false)
} }
} catch(e) { } catch (e) {
console.log(e) console.log(e)
this.loading = false this.loading = false
resolve(false) resolve(false)
} }
}) })
}, },
getBeforeAnswer(qsId, row) { getBeforeAnswer(qsId, row) {
@ -458,22 +376,26 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
::v-deep .el-form-item label:before { ::v-deep .el-form-item label:before {
content: '*'; content: '*';
color: #F56C6C; color: #F56C6C;
margin-right: 4px; margin-right: 4px;
} }
::v-deep .el-textarea .el-input__count{
background: rgba(0,0,0,0); ::v-deep .el-textarea .el-input__count {
background: rgba(0, 0, 0, 0);
line-height: normal; line-height: normal;
} }
::v-deep .el-form-item{
::v-deep .el-form-item {
margin-bottom: 0px; margin-bottom: 0px;
} }
.global-form{
::v-deep .el-form-item__content{ .global-form {
::v-deep .el-form-item__content {
padding-bottom: 10px; padding-bottom: 10px;
} }
::v-deep .form-item .el-form-item__error{
::v-deep .form-item .el-form-item__error {
top: 60%; top: 60%;
} }
} }

View File

@ -355,7 +355,7 @@ export default {
var isReadingTaskViewInOrder = this.$router.currentRoute.query.isReadingTaskViewInOrder var isReadingTaskViewInOrder = this.$router.currentRoute.query.isReadingTaskViewInOrder
var trialReadingCriterionId = this.$router.currentRoute.query.TrialReadingCriterionId var trialReadingCriterionId = this.$router.currentRoute.query.TrialReadingCriterionId
var path = '' var path = ''
if (readingTool === 0 || readingTool === 2 ) { if (readingTool === 0 || readingTool === 2 || readingTool === 3) {
path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}` path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}` path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`

View File

@ -349,7 +349,7 @@ export default {
var isReadingTaskViewInOrder = this.$router.currentRoute.query.isReadingTaskViewInOrder var isReadingTaskViewInOrder = this.$router.currentRoute.query.isReadingTaskViewInOrder
var trialReadingCriterionId = this.$router.currentRoute.query.TrialReadingCriterionId var trialReadingCriterionId = this.$router.currentRoute.query.TrialReadingCriterionId
var path = '' var path = ''
if (readingTool === 0 || readingTool === 2 ) { if (readingTool === 0 || readingTool === 2 || readingTool === 3) {
path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}` path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}` path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.globalInfo.trialId}&subjectCode=${this.globalInfo.subjectCode}&subjectId=${this.globalInfo.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`

View File

@ -404,7 +404,7 @@ export default {
readingTool = isNaN(parseInt(readingTool)) ? null : parseInt(readingTool) readingTool = isNaN(parseInt(readingTool)) ? null : parseInt(readingTool)
var isReadingTaskViewInOrder = this.$router.currentRoute.query.isReadingTaskViewInOrder var isReadingTaskViewInOrder = this.$router.currentRoute.query.isReadingTaskViewInOrder
var path = '' var path = ''
if (readingTool === 0 || readingTool === 2) { if (readingTool === 0 || readingTool === 2|| readingTool === 3) {
path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${this.subjectCode}&subjectId=${this.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}` path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${this.subjectCode}&subjectId=${this.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${this.subjectCode}&subjectId=${this.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}` path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${this.subjectCode}&subjectId=${this.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`

View File

@ -250,7 +250,7 @@ export default {
var trialReadingCriterionId = this.rowData.TrialReadingCriterionId; var trialReadingCriterionId = this.rowData.TrialReadingCriterionId;
var path = ""; var path = "";
if (readingTool === 0 || readingTool === 2) { if (readingTool === 0 || readingTool === 2|| readingTool === 3) {
path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${this.rowData.SubjectCode path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${this.rowData.SubjectCode
}&subjectId=${this.rowData.SubjectId }&subjectId=${this.rowData.SubjectId
}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`; }&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`;
@ -273,7 +273,7 @@ export default {
var trialReadingCriterionId = this.rowData.TrialReadingCriterionId; var trialReadingCriterionId = this.rowData.TrialReadingCriterionId;
var path = ""; var path = "";
if (readingTool === 0 || readingTool === 2) { if (readingTool === 0 || readingTool === 2|| readingTool === 3) {
path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${this.rowData.SubjectCode path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${this.rowData.SubjectCode
}&subjectId=${this.rowData.SubjectId}&visitTaskId=${task.VisitTaskId }&subjectId=${this.rowData.SubjectId}&visitTaskId=${task.VisitTaskId
}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`; }&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`;

View File

@ -258,7 +258,7 @@ export default {
var isReadingTaskViewInOrder = this.rowData.IsReadingTaskViewInOrder var isReadingTaskViewInOrder = this.rowData.IsReadingTaskViewInOrder
var trialReadingCriterionId = this.rowData.TrialReadingCriterionId var trialReadingCriterionId = this.rowData.TrialReadingCriterionId
var path = '' var path = ''
if (readingTool === 0 || readingTool === 2) { if (readingTool === 0 || readingTool === 2|| readingTool === 3) {
path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${this.rowData.SubjectCode}&subjectId=${this.rowData.SubjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}` path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${this.rowData.SubjectCode}&subjectId=${this.rowData.SubjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${this.rowData.SubjectCode}&subjectId=${this.rowData.SubjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}` path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${this.rowData.SubjectCode}&subjectId=${this.rowData.SubjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`

View File

@ -146,7 +146,7 @@ export default {
var trialReadingCriterionId = this.rowData.TrialReadingCriterionId var trialReadingCriterionId = this.rowData.TrialReadingCriterionId
var path = '' var path = ''
if (readingTool === 0 || readingTool === 2) { if (readingTool === 0 || readingTool === 2|| readingTool === 3) {
path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${this.rowData.SubjectCode}&subjectId=${this.rowData.SubjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}` path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${this.rowData.SubjectCode}&subjectId=${this.rowData.SubjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${this.rowData.SubjectCode}&subjectId=${this.rowData.SubjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}` path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${this.rowData.SubjectCode}&subjectId=${this.rowData.SubjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`

View File

@ -164,7 +164,7 @@ export default {
var trialReadingCriterionId = this.rowData.TrialReadingCriterionId var trialReadingCriterionId = this.rowData.TrialReadingCriterionId
var path = '' var path = ''
if (readingTool === 0 || readingTool === 2) { if (readingTool === 0 || readingTool === 2 || readingTool === 3) {
path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${this.rowData.SubjectCode}&subjectId=${this.rowData.SubjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}` path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${this.rowData.SubjectCode}&subjectId=${this.rowData.SubjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${this.rowData.SubjectCode}&subjectId=${this.rowData.SubjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}` path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${this.rowData.SubjectCode}&subjectId=${this.rowData.SubjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`

View File

@ -795,7 +795,7 @@ export default {
var trialReadingCriterionId = row.TrialReadingCriterionId var trialReadingCriterionId = row.TrialReadingCriterionId
var path = '' var path = ''
if (readingTool === 0 || readingTool === 2 ) { if (readingTool === 0 || readingTool === 2 || readingTool === 3) {
path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}` path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}` path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`

View File

@ -452,7 +452,7 @@ export default {
var isReadingTaskViewInOrder = this.$router.currentRoute.query.isReadingTaskViewInOrder var isReadingTaskViewInOrder = this.$router.currentRoute.query.isReadingTaskViewInOrder
var trialReadingCriterionId = this.$router.currentRoute.query.TrialReadingCriterionId var trialReadingCriterionId = this.$router.currentRoute.query.TrialReadingCriterionId
var path = '' var path = ''
if (readingTool === 0 || readingTool === 2) { if (readingTool === 0 || readingTool === 2 || readingTool === 3) {
path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${this.subjectCode}&subjectId=${this.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}` path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${this.subjectCode}&subjectId=${this.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${this.subjectCode}&subjectId=${this.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}` path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${this.subjectCode}&subjectId=${this.subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}`

View File

@ -953,7 +953,7 @@ export default {
lookReadingResults(row) { lookReadingResults(row) {
var token = getToken() var token = getToken()
var path var path
if (row.ReadingTool === 0 || row.ReadingTool === 2) { if (row.ReadingTool === 0 || row.ReadingTool === 2|| row.ReadingTool === 3) {
path = `/readingDicoms?trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}` path = `/readingDicoms?trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}`
} else { } else {
path = `/noneDicomReading?trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}` path = `/noneDicomReading?trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}`

View File

@ -435,7 +435,7 @@ export default {
window.localStorage.setItem('TrialReadingCriterionId', this.TrialReadingCriterionId) window.localStorage.setItem('TrialReadingCriterionId', this.TrialReadingCriterionId)
var token = getToken() var token = getToken()
var path = '' var path = ''
if (row.ReadingTool === 0 || row.ReadingTool === 2) { if (row.ReadingTool === 0 || row.ReadingTool === 2 || row.ReadingTool === 3) {
path = `/readingDicoms?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}` path = `/readingDicoms?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}`
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}` path = `/noneDicomReading?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}`

View File

@ -32,7 +32,7 @@ export default {
var isReadingTaskViewInOrder = this.$router.currentRoute.query.isReadingTaskViewInOrder var isReadingTaskViewInOrder = this.$router.currentRoute.query.isReadingTaskViewInOrder
var criterionType = this.$router.currentRoute.query.criterionType var criterionType = this.$router.currentRoute.query.criterionType
var path = '' var path = ''
if (this.readingTool === 0 || this.readingTool === 2 ) { if (this.readingTool === 0 || this.readingTool === 2 || this.readingTool === 3) {
path = `/readingDicoms?TrialReadingCriterionId=${TrialReadingCriterionId}&trialId=${trialId}&subjectCode=${subjectCode}&subjectId=${subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${this.readingTool}&TokenKey=${this.token}` path = `/readingDicoms?TrialReadingCriterionId=${TrialReadingCriterionId}&trialId=${trialId}&subjectCode=${subjectCode}&subjectId=${subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${this.readingTool}&TokenKey=${this.token}`
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${TrialReadingCriterionId}&trialId=${trialId}&subjectCode=${subjectCode}&subjectId=${subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${this.readingTool}&TokenKey=${this.token}` path = `/noneDicomReading?TrialReadingCriterionId=${TrialReadingCriterionId}&trialId=${trialId}&subjectCode=${subjectCode}&subjectId=${subjectId}&visitTaskId=${visitTaskId}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${this.readingTool}&TokenKey=${this.token}`

View File

@ -368,7 +368,7 @@ export default {
) )
var token = getToken() var token = getToken()
var path = '' var path = ''
if (this.readingTool === 0 || this.readingTool === 2) { if (this.readingTool === 0 || this.readingTool === 2|| this.readingTool === 3) {
path = `/readingDicoms?TrialReadingCriterionId=${this.TrialReadingCriterionId}&trialId=${this.trialId}&isReadingTaskViewInOrder=${this.isReadingTaskViewInOrder}&criterionType=${this.criterionType}&readingTool=${this.readingTool}&TokenKey=${token}` path = `/readingDicoms?TrialReadingCriterionId=${this.TrialReadingCriterionId}&trialId=${this.trialId}&isReadingTaskViewInOrder=${this.isReadingTaskViewInOrder}&criterionType=${this.criterionType}&readingTool=${this.readingTool}&TokenKey=${token}`
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${this.TrialReadingCriterionId}&trialId=${this.trialId}&isReadingTaskViewInOrder=${this.isReadingTaskViewInOrder}&criterionType=${this.criterionType}&readingTool=${this.readingTool}&TokenKey=${token}` path = `/noneDicomReading?TrialReadingCriterionId=${this.TrialReadingCriterionId}&trialId=${this.trialId}&isReadingTaskViewInOrder=${this.isReadingTaskViewInOrder}&criterionType=${this.criterionType}&readingTool=${this.readingTool}&TokenKey=${token}`

View File

@ -614,7 +614,7 @@ export default {
} }
var token = getToken() var token = getToken()
var path var path
if (row.ReadingTool === 0 || row.ReadingTool === 2) { if (row.ReadingTool === 0 || row.ReadingTool === 2|| row.ReadingTool === 3) {
path = `/readingDicoms?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}` path = `/readingDicoms?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}`
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}` path = `/noneDicomReading?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}`

View File

@ -1202,7 +1202,7 @@ export default {
} }
var token = getToken() var token = getToken()
var path var path
if (row.ReadingTool === 0 || row.ReadingTool === 2) { if (row.ReadingTool === 0 || row.ReadingTool === 2 || row.ReadingTool === 3) {
path = `/readingDicoms?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}` path = `/readingDicoms?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}`
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}` path = `/noneDicomReading?TrialReadingCriterionId=${row.TrialReadingCriterionId}&trialId=${this.trialId}&subjectCode=${row.SubjectCode}&subjectId=${row.SubjectId}&visitTaskId=${row.Id}&isReadingTaskViewInOrder=${row.IsReadingTaskViewInOrder}&criterionType=${row.CriterionType}&readingTool=${row.ReadingTool}&TokenKey=${token}`