【医学审核】医学审核页面数据需要显示单位,包括访视、裁判、全局、肿瘤学任务类型
continuous-integration/drone/push Build encountered an error Details

uat v1.12.2
wangxiaoshuang 2025-12-26 10:47:52 +08:00
parent 17b1cc476f
commit 47594536f1
5 changed files with 273 additions and 484 deletions

View File

@ -1,82 +1,53 @@
<template>
<div class="ad_review_wrapper">
<div style="text-align: left">
<el-button
v-if="auditInfo.IsExistsClinicalData"
type="text"
@click="previewCD"
>
<el-button v-if="auditInfo.IsExistsClinicalData" type="text" @click="previewCD">
{{ $t("trials:adReview:title:clinicalData") }}
</el-button>
</div>
<el-table :data="adInfo.VisitInfoList" style="width: 100%">
<!-- 访视名称 -->
<el-table-column
prop="VisitName"
:label="$t('trials:adReview:table:visitName')"
show-overflow-tooltip
width="150"
/>
<el-table-column prop="VisitName" :label="$t('trials:adReview:table:visitName')" show-overflow-tooltip
width="150" />
<!-- 评估结果 -->
<el-table-column
v-for="j in judgeQuestion"
:key="j.armEnum"
:label="$fd('ArmEnum', j.armEnum)"
align="center"
prop=""
show-overflow-tooltip
>
<el-table-column v-for="j in judgeQuestion" :key="j.armEnum" :label="$fd('ArmEnum', j.armEnum)" align="center"
prop="" show-overflow-tooltip>
<template>
<el-table-column
v-for="(qs, i) in j.judgeQuestionList"
:key="i"
prop=""
:label="qs"
show-overflow-tooltip
width="150"
>
<el-table-column v-for="(qs, i) in j.judgeQuestionList" :key="i" prop="" :label="qs" show-overflow-tooltip
width="150">
<template slot-scope="scope">
<div
v-if="
<span v-if="
scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i]
.QuestionType === 1
">
<span v-if="
scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i]
.QuestionType === 1
"
>
<span
v-if="
.DictionaryCode
">{{
$fd(
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
)
.DictionaryCode,
parseInt(
scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[
i
].Answer
)
}}</span
>
)
}}</span>
<span v-else>{{
scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i]
.Answer
}}</span>
</div>
<div
v-else-if="
</span>
<span v-else-if="
scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i]
.QuestionType === 2
">
<div v-if="
scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i]
.QuestionType === 2
"
>
<div
v-if="
scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i]
.Answer
"
>
.Answer
">
<span>{{
$fd(
"YesOrNo",
@ -85,15 +56,11 @@
)
}}</span>
<!-- 查看详情 -->
<el-button
type="text"
style="margin-left: 5px"
@click="
handleViewDetail(
scope.row.VisitTaskInfoList[j.index].GlobalVisitTaskId
)
"
>
<el-button type="text" style="margin-left: 5px" @click="
handleViewDetail(
scope.row.VisitTaskInfoList[j.index].GlobalVisitTaskId
)
">
{{ $t("trials:adReview:table:view") }}
</el-button>
</div>
@ -107,115 +74,70 @@
)
}}
</div>
</div>
<div v-else>
</span>
<span v-else>
{{
scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i]
.Answer
}}
</div>
</span>
<span>
{{
scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].ValueType == 2 ? '%' :
scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].CustomUnit ?
scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].CustomUnit :
scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].Unit ? $fd("Unit",
scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i].Unit) : ''
}}
</span>
</template>
</el-table-column>
</template>
</el-table-column>
<!-- 查看详情 -->
<el-table-column
:label="$t('trials:adReview:table:view')"
width="200"
:fixed="isFixed ? 'right' : false"
>
<el-table-column :label="$t('trials:adReview:table:view')" width="200" :fixed="isFixed ? 'right' : false">
<template slot-scope="scope">
<!-- 查看R1详情 -->
<el-button
type="text"
:title="$t('trials:adReview:table:viewR1')"
@click="handleView(scope.row, 1)"
>
<el-button type="text" :title="$t('trials:adReview:table:viewR1')" @click="handleView(scope.row, 1)">
R1
</el-button>
<!-- 查看R2详情 -->
<el-button
type="text"
:title="$t('trials:adReview:table:viewR2')"
@click="handleView(scope.row, 2)"
>
<el-button type="text" :title="$t('trials:adReview:table:viewR2')" @click="handleView(scope.row, 2)">
R2
</el-button>
</template>
</el-table-column>
</el-table>
<h3>{{ $t("trials:adReview:title:adResult") }}</h3>
<el-form
ref="adForm"
:model="adForm"
style="width: 800px"
label-width="100"
>
<el-form ref="adForm" :model="adForm" style="width: 800px" label-width="100">
<!-- 选择阅片人 -->
<el-form-item
:label="$t('trials:adReview:title:choseReader')"
prop="judgeResultTaskId"
>
<el-form-item :label="$t('trials:adReview:title:choseReader')" prop="judgeResultTaskId">
<el-radio-group v-model="adForm.judgeResultTaskId" disabled>
<el-radio
v-for="t in visitTaskArmList"
:key="t.VisitTaskId"
:label="t.VisitTaskId"
>
<el-radio v-for="t in visitTaskArmList" :key="t.VisitTaskId" :label="t.VisitTaskId">
{{ $fd("ArmEnum", t.ArmEnum) }}
</el-radio>
</el-radio-group>
</el-form-item>
<!-- 裁判原因 -->
<el-form-item
:label="$t('trials:adReview:title:adReason')"
prop="judgeResultRemark"
>
<el-input
v-model="adForm.judgeResultRemark"
type="textarea"
:autosize="{ minRows: 4, maxRows: 6 }"
disabled
/>
<el-form-item :label="$t('trials:adReview:title:adReason')" prop="judgeResultRemark">
<el-input v-model="adForm.judgeResultRemark" type="textarea" :autosize="{ minRows: 4, maxRows: 6 }" disabled />
</el-form-item>
<!-- 截图说明 -->
<el-form-item :label="$t('trials:adReview:title:screenShot')">
<el-upload
action=".png,.jpg,.jpeg"
list-type="picture-card"
:file-list="fileList"
disabled
class="disabled"
>
<el-upload action=".png,.jpg,.jpeg" list-type="picture-card" :file-list="fileList" disabled class="disabled">
<i slot="default" class="el-icon-plus" />
<div
slot="file"
slot-scope="{ file }"
style="width: 100%; height: 100%"
>
<viewer
:ref="file.url"
:images="images"
style="
<div slot="file" slot-scope="{ file }" style="width: 100%; height: 100%">
<viewer :ref="file.url" :images="images" style="
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
"
>
<img
class="el-upload-list__item-thumbnail"
:src="OSSclientConfig.basePath + file.url"
alt=""
crossorigin="anonymous"
style="max-width: 100%; max-height: 100%"
/>
">
<img 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-preview"
@click="handlePictureCardPreview(file)"
>
<span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)">
<i class="el-icon-zoom-in" />
</span>
</span>
@ -329,17 +251,13 @@ export default {
var path = "";
if (readingTool === 0 || readingTool === 2) {
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 {
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()}`;
}
var routeData = this.$router.resolve({ path });
window.open(routeData.href, "_blank");
@ -356,17 +274,13 @@ export default {
var path = "";
if (readingTool === 0 || readingTool === 2) {
path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${
this.rowData.SubjectCode
}&subjectId=${this.rowData.SubjectId}&visitTaskId=${
task.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=${task.VisitTaskId
}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`;
} else {
path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${
this.rowData.SubjectCode
}&subjectId=${this.rowData.SubjectId}&visitTaskId=${
task.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=${task.VisitTaskId
}&isReadingTaskViewInOrder=${isReadingTaskViewInOrder}&criterionType=${criterionType}&readingTool=${readingTool}&TokenKey=${token}&key=${new Date().getTime()}`;
}
var routeData = this.$router.resolve({ path });
window.open(routeData.href, "_blank");
@ -389,9 +303,11 @@ export default {
display: none;
}
}
::v-deep .el-upload-list__item {
transition: none !important;
}
::v-deep .el-upload-list__item-thumbnail {
/* 图片在方框内显示长边 */
object-fit: scale-down !important;

View File

@ -5,54 +5,50 @@
<el-button v-if="auditInfo.IsExistsClinicalData" type="text" @click="previewCD">
{{ $t('trials:adReview:title:clinicalData') }}
</el-button>
<el-button v-if="auditInfo.GlobalInfo.OtherGlobalTaskId" type="text" @click="handleView(auditInfo.GlobalInfo.OtherGlobalTaskId)">{{ $t('trials:medicalFeedback:title:otherReader') }}</el-button>
<el-button v-if="auditInfo.GlobalInfo.OtherGlobalTaskId" type="text"
@click="handleView(auditInfo.GlobalInfo.OtherGlobalTaskId)">{{ $t('trials:medicalFeedback:title:otherReader')
}}</el-button>
<!-- 关联裁判任务 -->
<el-button v-if="auditInfo.GlobalInfo.JudgeTaskName" type="text" @click="handleView(auditInfo.GlobalInfo.JudgeTaskId)">{{ auditInfo.GlobalInfo.JudgeTaskName }}</el-button>
<el-button v-if="auditInfo.GlobalInfo.JudgeTaskName" type="text"
@click="handleView(auditInfo.GlobalInfo.JudgeTaskId)">{{ auditInfo.GlobalInfo.JudgeTaskName }}</el-button>
</div>
<el-table
v-if="rowData.CriterionType === 10"
:data="taskList"
>
<el-table-column
prop="BlindName"
:label="$t('trials:medicalFeedback:table:taskBlindName')"
show-overflow-tooltip
width="150"
>
<el-table v-if="rowData.CriterionType === 10" :data="taskList">
<el-table-column prop="BlindName" :label="$t('trials:medicalFeedback:table:taskBlindName')" show-overflow-tooltip
width="150">
<template slot-scope="scope">
<el-button
type="text"
@click="handleView(scope.row.VisitTaskId)"
>
<el-button type="text" @click="handleView(scope.row.VisitTaskId)">
{{ scope.row.BlindName }}
</el-button>
</template>
</el-table-column>
<!-- 访视点计数 -->
<el-table-column
:label="$t('trials:medicalFeedback:table:visitPointCount')"
align="center"
prop=""
show-overflow-tooltip
>
<el-table-column :label="$t('trials:medicalFeedback:table:visitPointCount')" align="center" prop=""
show-overflow-tooltip>
<template>
<el-table-column
v-for="(qs,index) in evaluationQsList"
:key="index"
prop=""
:label="qs"
show-overflow-tooltip
width="150"
>
<el-table-column v-for="(qs, index) in evaluationQsList" :key="index" prop="" :label="qs"
show-overflow-tooltip width="150">
<template slot-scope="scope">
<div v-if="scope.row.BeforeQuestionList.length>index && scope.row.BeforeQuestionList[index].Answer">
<div v-if="scope.row.BeforeQuestionList.length > index && scope.row.BeforeQuestionList[index].Answer">
<span v-if="scope.row.BeforeQuestionList[index].DictionaryCode">
{{ $fd(scope.row.BeforeQuestionList[index].DictionaryCode,parseInt(scope.row.BeforeQuestionList[index].Answer)) }}
{{
$fd(scope.row.BeforeQuestionList[index].DictionaryCode,
parseInt(scope.row.BeforeQuestionList[index].Answer))
}}
</span>
<span v-else-if="scope.row.BeforeQuestionList[index].QuestionType === 22">{{ scope.row.BeforeQuestionList[index].Answer === '-1' ? $t('trials:medicalFeedback:table:unKnow') : scope.row.BeforeQuestionList[index].Answer }}</span>
<span v-else-if="scope.row.BeforeQuestionList[index].QuestionType === 22">{{
scope.row.BeforeQuestionList[index].Answer === '-1' ? $t('trials:medicalFeedback:table:unKnow') :
scope.row.BeforeQuestionList[index].Answer }}</span>
<span v-else>{{ scope.row.BeforeQuestionList[index].Answer }}</span>
<span>
{{
scope.row.BeforeQuestionList[index].ValueType == 2 ? '%' :
scope.row.BeforeQuestionList[index].CustomUnit ?
scope.row.BeforeQuestionList[index].CustomUnit :
scope.row.BeforeQuestionList[index].Unit ? $fd("Unit", scope.row.BeforeQuestionList[index].Unit) : ''
}}
</span>
</div>
</template>
</el-table-column>
@ -60,48 +56,36 @@
</el-table-column>
<!-- 是否同意访视结果 -->
<el-table-column
v-for="(qs, index) in agreeOrNotList"
:key="index"
prop=""
:label="$t('trials:medicalFeedback:table:agreeToVisitPointCount')"
show-overflow-tooltip
width="170"
>
<el-table-column v-for="(qs, index) in agreeOrNotList" :key="index" prop=""
:label="$t('trials:medicalFeedback:table:agreeToVisitPointCount')" show-overflow-tooltip width="170">
<template slot-scope="scope">
<el-tag v-if="parseInt(scope.row.AgreeOrNot[0].Answer) === 1" type="primary">
{{ $fd('ReadingYesOrNo',parseInt(scope.row.AgreeOrNot[0].Answer)) }}
{{ $fd('ReadingYesOrNo', parseInt(scope.row.AgreeOrNot[0].Answer)) }}
</el-tag>
<el-tag v-else-if="parseInt(scope.row.AgreeOrNot[0].Answer) === 0" type="danger"> {{ $fd('ReadingYesOrNo',parseInt(scope.row.AgreeOrNot[0].Answer)) }}</el-tag>
<el-tag v-else-if="parseInt(scope.row.AgreeOrNot[0].Answer) === 0" type="danger"> {{
$fd('ReadingYesOrNo', parseInt(scope.row.AgreeOrNot[0].Answer)) }}</el-tag>
<span v-else />
</template>
</el-table-column>
<!-- 评估结果 -->
<el-table-column
:label="$t('trials:medicalFeedback:table:assessmentResults')"
align="center"
prop=""
show-overflow-tooltip
>
<el-table-column :label="$t('trials:medicalFeedback:table:assessmentResults')" align="center" prop=""
show-overflow-tooltip>
<template>
<el-table-column
v-for="(qs,index) in adjustedQsList"
:key="index"
prop=""
:label="qs"
show-overflow-tooltip
width="150"
>
<el-table-column v-for="(qs, index) in adjustedQsList" :key="index" prop="" :label="qs" show-overflow-tooltip
width="150">
<template slot-scope="scope">
<!-- {{ scope.row.AfterQuestionList.length>index?scope.row.AfterQuestionList[index].Answer:'' }} -->
<div v-if="scope.row.AfterQuestionList.length>index && scope.row.AfterQuestionList[index].Answer">
<div v-if="scope.row.AfterQuestionList.length > index && scope.row.AfterQuestionList[index].Answer">
<span v-if="scope.row.AfterQuestionList[index].GlobalAnswerType === 3">
{{ getAssessType(scope.row.AfterQuestionList[index].Answer) }}
</span>
<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 v-else>{{ scope.row.AfterQuestionList[index].Answer }}</span>
</div>
@ -110,60 +94,36 @@
</template>
</el-table-column>
<el-table-column
:label="$t('common:action:action')"
width="100"
>
<el-table-column :label="$t('common:action:action')" width="100">
<template slot-scope="scope">
<el-button
circle
:title="$t('trials:medicalFeedback:table:view')"
icon="el-icon-view"
@click="handleView(scope.row.VisitTaskId)"
/>
<el-button circle :title="$t('trials:medicalFeedback:table:view')" icon="el-icon-view"
@click="handleView(scope.row.VisitTaskId)" />
</template>
</el-table-column>
</el-table>
<el-table
v-else
:data="taskList"
>
<el-table v-else :data="taskList">
<!-- 访视名称 -->
<el-table-column
prop="BlindName"
:label="$t('trials:globalReview:table:visitName')"
show-overflow-tooltip
width="150"
>
<el-table-column prop="BlindName" :label="$t('trials:globalReview:table:visitName')" show-overflow-tooltip
width="150">
<template slot-scope="scope">
<el-button
type="text"
@click="handleView(scope.row.VisitTaskId)"
>
<el-button type="text" @click="handleView(scope.row.VisitTaskId)">
{{ scope.row.BlindName }}
</el-button>
</template>
</el-table-column>
<!-- 评估结果 -->
<el-table-column
:label="$t('trials:globalReview:table:evaluationRes')"
align="center"
prop=""
>
<el-table-column :label="$t('trials:globalReview:table:evaluationRes')" align="center" prop="">
<template>
<el-table-column
v-for="(qs,index) in evaluationQsList"
:key="index"
prop=""
:label="qs"
show-overflow-tooltip
width="150"
>
<el-table-column v-for="(qs, index) in evaluationQsList" :key="index" prop="" :label="qs"
show-overflow-tooltip width="150">
<template slot-scope="scope">
<div v-if="scope.row.BeforeQuestionList.length>index && scope.row.BeforeQuestionList[index].Answer">
<div v-if="scope.row.BeforeQuestionList.length > index && scope.row.BeforeQuestionList[index].Answer">
<span v-if="scope.row.BeforeQuestionList[index].DictionaryCode">
{{ $fd(scope.row.BeforeQuestionList[index].DictionaryCode,parseInt(scope.row.BeforeQuestionList[index].Answer)) }}
{{
$fd(scope.row.BeforeQuestionList[index].DictionaryCode,
parseInt(scope.row.BeforeQuestionList[index].Answer))
}}
</span>
<span v-else>{{ scope.row.BeforeQuestionList[index].Answer }}</span>
</div>
@ -172,46 +132,34 @@
</template>
</el-table-column>
<!-- 是否同意访视结果 -->
<el-table-column
v-for="(qs,index) in agreeOrNotList"
:key="index"
prop=""
:label="$t('trials:globalReview:table:isAgreeEvaluationRes')"
show-overflow-tooltip
width="170"
>
<el-table-column v-for="(qs, index) in agreeOrNotList" :key="index" prop=""
:label="$t('trials:globalReview:table:isAgreeEvaluationRes')" show-overflow-tooltip width="170">
<template slot-scope="scope">
<el-tag v-if="parseInt(scope.row.AgreeOrNot[0].Answer) === 1" type="primary">
{{ $fd('ReadingYesOrNo',parseInt(scope.row.AgreeOrNot[0].Answer)) }}
{{ $fd('ReadingYesOrNo', parseInt(scope.row.AgreeOrNot[0].Answer)) }}
</el-tag>
<el-tag v-else-if="parseInt(scope.row.AgreeOrNot[0].Answer) === 0" type="danger"> {{ $fd('ReadingYesOrNo',parseInt(scope.row.AgreeOrNot[0].Answer)) }}</el-tag>
<el-tag v-else-if="parseInt(scope.row.AgreeOrNot[0].Answer) === 0" type="danger"> {{
$fd('ReadingYesOrNo', parseInt(scope.row.AgreeOrNot[0].Answer)) }}</el-tag>
<span v-else />
</template>
</el-table-column>
<!-- 调整后结果 -->
<el-table-column
:label="$t('trials:globalReview:table:adjustedRes')"
align="center"
prop=""
>
<el-table-column :label="$t('trials:globalReview:table:adjustedRes')" align="center" prop="">
<template>
<el-table-column
v-for="(qs,index) in adjustedQsList"
:key="index"
prop=""
:label="qs"
show-overflow-tooltip
width="150"
>
<el-table-column v-for="(qs, index) in adjustedQsList" :key="index" prop="" :label="qs" show-overflow-tooltip
width="150">
<template slot-scope="scope">
<div v-if="scope.row.AfterQuestionList.length>index && scope.row.AfterQuestionList[index].Answer">
<div v-if="scope.row.AfterQuestionList.length > index && scope.row.AfterQuestionList[index].Answer">
<span v-if="scope.row.AfterQuestionList[index].GlobalAnswerType === 3">
{{ getAssessType(scope.row.AfterQuestionList[index].Answer) }}
</span>
<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 v-else>{{ scope.row.AfterQuestionList[index].Answer }}</span>
</div>
@ -220,18 +168,11 @@
</template>
</el-table-column>
<el-table-column
:label="$t('common:action:action')"
width="120"
:fixed="adjustedQsList.length > 4 ? 'right' : false"
>
<el-table-column :label="$t('common:action:action')" width="120"
:fixed="adjustedQsList.length > 4 ? 'right' : false">
<template slot-scope="scope">
<el-button
circle
:title="$t('trials:globalReview:table:view')"
icon="el-icon-view"
@click="handleView(scope.row.VisitTaskId)"
/>
<el-button circle :title="$t('trials:globalReview:table:view')" icon="el-icon-view"
@click="handleView(scope.row.VisitTaskId)" />
</template>
</el-table-column>
</el-table>
@ -320,7 +261,7 @@ export default {
var isReadingTaskViewInOrder = this.rowData.IsReadingTaskViewInOrder
var trialReadingCriterionId = this.rowData.TrialReadingCriterionId
var path = ''
if (readingTool === 0 || readingTool === 2 ) {
if (readingTool === 0 || readingTool === 2) {
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 {
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

@ -5,109 +5,65 @@
{{ $t('trials:adReview:title:clinicalData') }}
</el-button>
</div>
<el-table
:data="oncologyInfo.OncologyVisits"
style="width: 100%"
>
<el-table :data="oncologyInfo.OncologyVisits" style="width: 100%">
<!-- 访视名称 -->
<el-table-column
prop="VisitName"
:label="$t('trials:oncologyReview:title:visitName')"
show-overflow-tooltip
width="150"
/>
<el-table-column prop="VisitName" :label="$t('trials:oncologyReview:title:visitName')" show-overflow-tooltip
width="150" />
<!-- 影像学阅片结果 -->
<el-table-column
:label="$t('trials:oncologyReview:title:readingRes')"
align="center"
prop=""
show-overflow-tooltip
>
<el-table-column :label="$t('trials:oncologyReview:title:readingRes')" align="center" prop=""
show-overflow-tooltip>
<template>
<el-table-column
v-for="(qs,index) in questionCols"
:key="qs"
prop=""
:label="qs"
show-overflow-tooltip
width="150"
>
<el-table-column v-for="(qs, index) in questionCols" :key="qs" prop="" :label="qs" show-overflow-tooltip
width="150">
<template slot-scope="scope">
<span v-if="scope.row.QuestionList[index].DictionaryCode">
{{ $fd(scope.row.QuestionList[index].DictionaryCode,parseInt(scope.row.QuestionList[index].Answer)) }}
{{ $fd(scope.row.QuestionList[index].DictionaryCode, parseInt(scope.row.QuestionList[index].Answer))
}}
</span>
<span v-else>
{{ scope.row.QuestionList.length>index?scope.row.QuestionList[index].Answer:'' }}
{{ scope.row.QuestionList.length > index ? scope.row.QuestionList[index].Answer : '' }}
</span>
<span>
{{
scope.row.QuestionList[index].ValueType == 2 ? '%' : scope.row.QuestionList[index].CustomUnit ?
scope.row.QuestionList[index].CustomUnit :
scope.row.QuestionList[index].Unit ? $fd("Unit", scope.row.QuestionList[index].Unit) : ''
}}
</span>
</template>
</el-table-column>
<!-- 全局是否有更新 -->
<el-table-column
v-if="oncologyInfo.IsShowDetail"
prop="IsHaveChange"
:label="$t('trials:oncologyReview:title:isGlobalUpdate')"
show-overflow-tooltip
width="150"
>
<el-table-column v-if="oncologyInfo.IsShowDetail" prop="IsHaveChange"
:label="$t('trials:oncologyReview:title:isGlobalUpdate')" show-overflow-tooltip width="150">
<template slot-scope="scope">
<span>{{ $fd('YesOrNo', scope.row.IsHaveChange ) }}</span>
<span>{{ $fd('YesOrNo', scope.row.IsHaveChange) }}</span>
<!-- 查看详情 -->
<el-button
v-if="scope.row.IsHaveChange && !!oncologyInfo.GlobalTaskId"
type="text"
style="margin-left:5px;"
@click="handleViewDetail(oncologyInfo.GlobalTaskId)"
>
<el-button v-if="scope.row.IsHaveChange && !!oncologyInfo.GlobalTaskId" type="text"
style="margin-left:5px;" @click="handleViewDetail(oncologyInfo.GlobalTaskId)">
{{ $t('trials:oncologyReview:title:view') }}
</el-button>
</template>
</el-table-column>
<!-- 访视点注释 -->
<el-table-column
v-if="oncologyInfo.IsShowDetail"
prop="VisitRemark"
:label="$t('trials:oncologyReview:title:visitRemark')"
show-overflow-tooltip
width="150"
/>
<el-table-column v-if="oncologyInfo.IsShowDetail" prop="VisitRemark"
:label="$t('trials:oncologyReview:title:visitRemark')" show-overflow-tooltip width="150" />
</template>
</el-table-column>
<!-- 肿瘤学阅片结果 -->
<el-table-column
:label="$t('trials:oncologyReview:title:oReviewRes')"
align="center"
prop=""
>
<el-table-column :label="$t('trials:oncologyReview:title:oReviewRes')" align="center" prop="">
<template>
<!-- 结论 -->
<el-table-column
prop="EvaluationResult"
:label="$t('trials:oncologyReview:title:findings')"
show-overflow-tooltip
width="150"
>
<el-table-column prop="EvaluationResult" :label="$t('trials:oncologyReview:title:findings')"
show-overflow-tooltip width="150">
<template slot-scope="scope">
<el-select
v-if="oncologyInfo.ReadingTaskState < 2"
v-model="scope.row.EvaluationResult"
:placeholder="$t('common:ruleMessage:select')"
>
<el-option
v-for="item in assessTypeList"
:key="item.Id"
:label="item.Value"
:value="item.Code"
/>
<el-select v-if="oncologyInfo.ReadingTaskState < 2" v-model="scope.row.EvaluationResult"
:placeholder="$t('common:ruleMessage:select')">
<el-option v-for="item in assessTypeList" :key="item.Id" :label="item.Value" :value="item.Code" />
</el-select>
<span v-else>{{ getAssessType(scope.row.EvaluationResult) }}</span>
</template>
</el-table-column>
<el-table-column
prop="EvaluationReason"
show-overflow-tooltip
width="250"
>
<el-table-column prop="EvaluationReason" show-overflow-tooltip width="250">
<template slot="header">
<el-tooltip placement="top">
@ -123,29 +79,18 @@
</el-tooltip>
</template>
<template slot-scope="scope">
<el-input
v-if="oncologyInfo.ReadingTaskState < 2"
v-model="scope.row.EvaluationReason"
/>
<el-input v-if="oncologyInfo.ReadingTaskState < 2" v-model="scope.row.EvaluationReason" />
<span v-else>{{ scope.row.EvaluationReason }}</span>
</template>
</el-table-column>
</template>
</el-table-column>
<el-table-column
v-if="oncologyInfo.IsShowDetail"
:label="$t('common:action:action')"
width="120"
>
<el-table-column v-if="oncologyInfo.IsShowDetail" :label="$t('common:action:action')" width="120">
<template slot-scope="scope">
<!-- 查看详情 -->
<el-button
circle
:title="$t('trials:oncologyReview:title:view')"
icon="el-icon-view"
@click="handleViewDetail(scope.row.VisitTaskId)"
/>
<el-button circle :title="$t('trials:oncologyReview:title:view')" icon="el-icon-view"
@click="handleViewDetail(scope.row.VisitTaskId)" />
</template>
</el-table-column>
</el-table>
@ -201,7 +146,7 @@ export default {
var trialReadingCriterionId = this.rowData.TrialReadingCriterionId
var path = ''
if (readingTool === 0 || readingTool === 2 ) {
if (readingTool === 0 || readingTool === 2) {
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 {
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

@ -1,48 +1,42 @@
<template>
<el-table
ref="taskTbl"
:data="taskList"
:row-class-name="rowClass"
class="historicAssess_wrapper"
>
<el-table ref="taskTbl" :data="taskList" :row-class-name="rowClass" class="historicAssess_wrapper">
<!-- 访视/阅片期名称 -->
<el-table-column
prop="VisitTaskNum"
:label="$t('trials:medicalFeedback:table:taskName')"
width="200"
sortable="custom"
show-overflow-tooltip
>
<el-table-column prop="VisitTaskNum" :label="$t('trials:medicalFeedback:table:taskName')" width="200"
sortable="custom" show-overflow-tooltip>
<template slot-scope="scope">
{{ scope.row.TaskName }}
</template>
</el-table-column>
<!-- 盲态任务标识 -->
<el-table-column
prop="TaskBlindName"
:label="$t('trials:medicalFeedback:table:taskBlindName')"
width="200"
sortable="custom"
show-overflow-tooltip
/>
<el-table-column prop="TaskBlindName" :label="$t('trials:medicalFeedback:table:taskBlindName')" width="200"
sortable="custom" show-overflow-tooltip />
<template v-if="judgeQuestion && judgeQuestion.length > 0">
<el-table-column
v-for="(qs,index) in judgeQuestion"
:key="qs"
prop=""
:label="qs"
show-overflow-tooltip
width="150"
>
<el-table-column v-for="(qs, index) in judgeQuestion" :key="qs" prop="" :label="qs" show-overflow-tooltip
width="150">
<template slot-scope="scope">
<span v-if="scope.row.JudgeQuestionAnswerInfoList[index] && scope.row.JudgeQuestionAnswerInfoList[index].QuestionGenre === 3 && scope.row.JudgeQuestionAnswerInfoList[index].DictionaryCode">
{{ scope.row.JudgeQuestionAnswerInfoList[index].Answer?$fd(scope.row.JudgeQuestionAnswerInfoList[index].DictionaryCode,parseInt(scope.row.JudgeQuestionAnswerInfoList[index].Answer)):'' }}
<span
v-if="scope.row.JudgeQuestionAnswerInfoList[index] && scope.row.JudgeQuestionAnswerInfoList[index].QuestionGenre === 3 && scope.row.JudgeQuestionAnswerInfoList[index].DictionaryCode">
{{
scope.row.JudgeQuestionAnswerInfoList[index].Answer ?
$fd(scope.row.JudgeQuestionAnswerInfoList[index].DictionaryCode,
parseInt(scope.row.JudgeQuestionAnswerInfoList[index].Answer)):''
}}
</span>
<span v-else>
{{ scope.row.JudgeQuestionAnswerInfoList.length>index?scope.row.JudgeQuestionAnswerInfoList[index].Answer:'' }}
{{ scope.row.JudgeQuestionAnswerInfoList.length > index ?
scope.row.JudgeQuestionAnswerInfoList[index].Answer : ''
}}
</span>
<span>
{{
scope.row.JudgeQuestionAnswerInfoList[index].ValueType == 2 ? '%' :
scope.row.JudgeQuestionAnswerInfoList[index].CustomUnit ?
scope.row.JudgeQuestionAnswerInfoList[index].CustomUnit :
scope.row.JudgeQuestionAnswerInfoList[index].Unit ? $fd("Unit",
scope.row.JudgeQuestionAnswerInfoList[index].Unit) : ''
}}
</span>
</template>
</el-table-column>
</template>
@ -59,73 +53,65 @@
</template>
</el-table-column> -->
<!-- 当前阅片人 -->
<el-table-column
prop="ArmEnum"
:label="$t('trials:medicalFeedback:title:currentReader')"
show-overflow-tooltip
width="120"
>
<el-table-column prop="ArmEnum" :label="$t('trials:medicalFeedback:title:currentReader')" show-overflow-tooltip
width="120">
<template slot-scope="scope">
<el-button
v-if="scope.row.TaskId"
type="text"
@click="handleView(scope.row,scope.row.TaskId)"
>
<el-button v-if="scope.row.TaskId" type="text" @click="handleView(scope.row, scope.row.TaskId)">
{{ $fd('ArmEnum', scope.row.ArmEnum) }}
</el-button>
</template>
</el-table-column>
<!-- 关联阅片人 -->
<!-- <el-table-column-->
<!-- prop="OtherArmEnum"-->
<!-- :label="$t('trials:medicalFeedback:title:otherReader')"-->
<!-- show-overflow-tooltip-->
<!-- width="100"-->
<!-- >-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- v-if="scope.row.OtherTaskId"-->
<!-- type="text"-->
<!-- @click="handleView(scope.row,scope.row.OtherTaskId)"-->
<!-- >-->
<!-- {{ $fd('ArmEnum', scope.row.OtherArmEnum) }}-->
<!-- </el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- &lt;!&ndash; 关联全局任务 &ndash;&gt;-->
<!-- <el-table-column-->
<!-- prop="GlobalTaskName"-->
<!-- :label="$t('trials:medicalFeedback:title:relatedGlobalTask')"-->
<!-- show-overflow-tooltip-->
<!-- width="120"-->
<!-- >-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- v-if="scope.row.GlobalTaskId"-->
<!-- type="text"-->
<!-- @click="handleView(scope.row,scope.row.GlobalTaskId)"-->
<!-- >-->
<!-- {{ scope.row.GlobalTaskName }}-->
<!-- </el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- &lt;!&ndash; 关联裁判任务 &ndash;&gt;-->
<!-- <el-table-column-->
<!-- prop="JudgeTaskName"-->
<!-- :label="$t('trials:medicalFeedback:title:relatedadjudicationTask')"-->
<!-- show-overflow-tooltip-->
<!-- width="120"-->
<!-- >-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- v-if="scope.row.JudgeTaskId"-->
<!-- type="text"-->
<!-- @click="handleView(scope.row,scope.row.JudgeTaskId)"-->
<!-- >-->
<!-- {{ scope.row.JudgeTaskName }}-->
<!-- </el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- prop="OtherArmEnum"-->
<!-- :label="$t('trials:medicalFeedback:title:otherReader')"-->
<!-- show-overflow-tooltip-->
<!-- width="100"-->
<!-- >-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- v-if="scope.row.OtherTaskId"-->
<!-- type="text"-->
<!-- @click="handleView(scope.row,scope.row.OtherTaskId)"-->
<!-- >-->
<!-- {{ $fd('ArmEnum', scope.row.OtherArmEnum) }}-->
<!-- </el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- &lt;!&ndash; 关联全局任务 &ndash;&gt;-->
<!-- <el-table-column-->
<!-- prop="GlobalTaskName"-->
<!-- :label="$t('trials:medicalFeedback:title:relatedGlobalTask')"-->
<!-- show-overflow-tooltip-->
<!-- width="120"-->
<!-- >-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- v-if="scope.row.GlobalTaskId"-->
<!-- type="text"-->
<!-- @click="handleView(scope.row,scope.row.GlobalTaskId)"-->
<!-- >-->
<!-- {{ scope.row.GlobalTaskName }}-->
<!-- </el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- &lt;!&ndash; 关联裁判任务 &ndash;&gt;-->
<!-- <el-table-column-->
<!-- prop="JudgeTaskName"-->
<!-- :label="$t('trials:medicalFeedback:title:relatedadjudicationTask')"-->
<!-- show-overflow-tooltip-->
<!-- width="120"-->
<!-- >-->
<!-- <template slot-scope="scope">-->
<!-- <el-button-->
<!-- v-if="scope.row.JudgeTaskId"-->
<!-- type="text"-->
<!-- @click="handleView(scope.row,scope.row.JudgeTaskId)"-->
<!-- >-->
<!-- {{ scope.row.JudgeTaskName }}-->
<!-- </el-button>-->
<!-- </template>-->
<!-- </el-table-column>-->
</el-table>
</template>
<script>
@ -178,7 +164,7 @@ export default {
var trialReadingCriterionId = this.rowData.TrialReadingCriterionId
var path = ''
if (readingTool === 0 || readingTool === 2 ) {
if (readingTool === 0 || readingTool === 2) {
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 {
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()}`
@ -195,11 +181,12 @@ export default {
}
</script>
<style lang="scss">
.historicAssess_wrapper{
.highlight_row{
.historicAssess_wrapper {
.highlight_row {
color: #000;
background-color: #ffde7b;
}
.highlight_row:hover>td {
background-color: #ffde7b !important;
}

View File

@ -52,8 +52,8 @@ module.exports = defineConfig({
},
'/api': {
target: 'http://106.14.89.110:30000',
// target: 'http://101.132.253.119:7010', // uat
// target: 'http://106.14.89.110:30000',
target: 'http://101.132.253.119:7010', // uat
changeOrigin: true,
secure: false,
pathRewrite: {