【医学审核】医学审核页面数据需要显示单位,包括访视、裁判、全局、肿瘤学任务类型
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,54 +1,30 @@
<template> <template>
<div class="ad_review_wrapper"> <div class="ad_review_wrapper">
<div style="text-align: left"> <div style="text-align: left">
<el-button <el-button v-if="auditInfo.IsExistsClinicalData" type="text" @click="previewCD">
v-if="auditInfo.IsExistsClinicalData"
type="text"
@click="previewCD"
>
{{ $t("trials:adReview:title:clinicalData") }} {{ $t("trials:adReview:title:clinicalData") }}
</el-button> </el-button>
</div> </div>
<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="$fd('ArmEnum', j.armEnum)" align="center"
v-for="j in judgeQuestion" prop="" show-overflow-tooltip>
:key="j.armEnum"
:label="$fd('ArmEnum', j.armEnum)"
align="center"
prop=""
show-overflow-tooltip
>
<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 <span v-if="
v-if="
scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i] scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i]
.QuestionType === 1 .QuestionType === 1
" ">
> <span v-if="
<span
v-if="
scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i] scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i]
.DictionaryCode .DictionaryCode
" ">{{
>{{
$fd( $fd(
scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i] scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i]
.DictionaryCode, .DictionaryCode,
@ -58,25 +34,20 @@
].Answer ].Answer
) )
) )
}}</span }}</span>
>
<span v-else>{{ <span v-else>{{
scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i] scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i]
.Answer .Answer
}}</span> }}</span>
</div> </span>
<div <span v-else-if="
v-else-if="
scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i] scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i]
.QuestionType === 2 .QuestionType === 2
" ">
> <div v-if="
<div
v-if="
scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i] scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i]
.Answer .Answer
" ">
>
<span>{{ <span>{{
$fd( $fd(
"YesOrNo", "YesOrNo",
@ -85,15 +56,11 @@
) )
}}</span> }}</span>
<!-- 查看详情 --> <!-- 查看详情 -->
<el-button <el-button type="text" style="margin-left: 5px" @click="
type="text"
style="margin-left: 5px"
@click="
handleViewDetail( handleViewDetail(
scope.row.VisitTaskInfoList[j.index].GlobalVisitTaskId scope.row.VisitTaskInfoList[j.index].GlobalVisitTaskId
) )
" ">
>
{{ $t("trials:adReview:table:view") }} {{ $t("trials:adReview:table:view") }}
</el-button> </el-button>
</div> </div>
@ -107,115 +74,70 @@
) )
}} }}
</div> </div>
</div> </span>
<div v-else> <span v-else>
{{ {{
scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i] scope.row.VisitTaskInfoList[j.index].JudgeQuestionList[i]
.Answer .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> </template>
</el-table-column> </el-table-column>
</template> </template>
</el-table-column> </el-table-column>
<!-- 查看详情 --> <!-- 查看详情 -->
<el-table-column <el-table-column :label="$t('trials:adReview:table:view')" width="200" :fixed="isFixed ? 'right' : false">
:label="$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>
</el-table> </el-table>
<h3>{{ $t("trials:adReview:title:adResult") }}</h3> <h3>{{ $t("trials:adReview:title:adResult") }}</h3>
<el-form <el-form ref="adForm" :model="adForm" style="width: 800px" label-width="100">
ref="adForm"
:model="adForm"
style="width: 800px"
label-width="100"
>
<!-- 选择阅片人 --> <!-- 选择阅片人 -->
<el-form-item <el-form-item :label="$t('trials:adReview:title:choseReader')" prop="judgeResultTaskId">
:label="$t('trials:adReview:title:choseReader')"
prop="judgeResultTaskId"
>
<el-radio-group v-model="adForm.judgeResultTaskId" disabled> <el-radio-group v-model="adForm.judgeResultTaskId" disabled>
<el-radio <el-radio v-for="t in visitTaskArmList" :key="t.VisitTaskId" :label="t.VisitTaskId">
v-for="t in visitTaskArmList"
:key="t.VisitTaskId"
:label="t.VisitTaskId"
>
{{ $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">
:label="$t('trials:adReview:title:adReason')" <el-input v-model="adForm.judgeResultRemark" type="textarea" :autosize="{ minRows: 4, maxRows: 6 }" disabled />
prop="judgeResultRemark"
>
<el-input
v-model="adForm.judgeResultRemark"
type="textarea"
:autosize="{ minRows: 4, maxRows: 6 }"
disabled
/>
</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=".png,.jpg,.jpeg" list-type="picture-card" :file-list="fileList" disabled class="disabled">
action=".png,.jpg,.jpeg"
list-type="picture-card"
:file-list="fileList"
disabled
class="disabled"
>
<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>
@ -329,16 +251,12 @@ export default {
var path = ""; var path = "";
if (readingTool === 0 || readingTool === 2) { if (readingTool === 0 || readingTool === 2) {
path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${ path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${this.rowData.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()}`;
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${ path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${this.rowData.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()}`;
} }
var routeData = this.$router.resolve({ path }); var routeData = this.$router.resolve({ path });
@ -356,16 +274,12 @@ export default {
var path = ""; var path = "";
if (readingTool === 0 || readingTool === 2) { if (readingTool === 0 || readingTool === 2) {
path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${ path = `/readingDicoms?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${this.rowData.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()}`;
} else { } else {
path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${ path = `/noneDicomReading?TrialReadingCriterionId=${trialReadingCriterionId}&trialId=${trialId}&subjectCode=${this.rowData.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()}`;
} }
var routeData = this.$router.resolve({ path }); var routeData = this.$router.resolve({ path });
@ -389,9 +303,11 @@ export default {
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

@ -5,54 +5,50 @@
<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') }} {{ $t('trials:adReview:title:clinicalData') }}
</el-button> </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> </div>
<el-table <el-table v-if="rowData.CriterionType === 10" :data="taskList">
v-if="rowData.CriterionType === 10" <el-table-column prop="BlindName" :label="$t('trials:medicalFeedback:table:taskBlindName')" show-overflow-tooltip
:data="taskList" width="150">
>
<el-table-column
prop="BlindName"
:label="$t('trials:medicalFeedback:table:taskBlindName')"
show-overflow-tooltip
width="150"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button type="text" @click="handleView(scope.row.VisitTaskId)">
type="text"
@click="handleView(scope.row.VisitTaskId)"
>
{{ scope.row.BlindName }} {{ scope.row.BlindName }}
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
<!-- 访视点计数 --> <!-- 访视点计数 -->
<el-table-column <el-table-column :label="$t('trials:medicalFeedback:table:visitPointCount')" align="center" prop=""
:label="$t('trials:medicalFeedback:table:visitPointCount')" show-overflow-tooltip>
align="center"
prop=""
show-overflow-tooltip
>
<template> <template>
<el-table-column <el-table-column v-for="(qs, index) in evaluationQsList" :key="index" prop="" :label="qs"
v-for="(qs,index) in 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"> <div v-if="scope.row.BeforeQuestionList.length > index && scope.row.BeforeQuestionList[index].Answer">
<span v-if="scope.row.BeforeQuestionList[index].DictionaryCode"> <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>
<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 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> </div>
</template> </template>
</el-table-column> </el-table-column>
@ -60,39 +56,24 @@
</el-table-column> </el-table-column>
<!-- 是否同意访视结果 --> <!-- 是否同意访视结果 -->
<el-table-column <el-table-column v-for="(qs, index) in agreeOrNotList" :key="index" prop=""
v-for="(qs, index) in agreeOrNotList" :label="$t('trials:medicalFeedback:table:agreeToVisitPointCount')" show-overflow-tooltip width="170">
:key="index"
prop=""
:label="$t('trials:medicalFeedback:table:agreeToVisitPointCount')"
show-overflow-tooltip
width="170"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="parseInt(scope.row.AgreeOrNot[0].Answer) === 1" type="primary"> <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>
<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 /> <span v-else />
</template> </template>
</el-table-column> </el-table-column>
<!-- 评估结果 --> <!-- 评估结果 -->
<el-table-column <el-table-column :label="$t('trials:medicalFeedback:table:assessmentResults')" align="center" prop=""
:label="$t('trials:medicalFeedback:table:assessmentResults')" show-overflow-tooltip>
align="center"
prop=""
show-overflow-tooltip
>
<template> <template>
<el-table-column <el-table-column v-for="(qs, index) in adjustedQsList" :key="index" prop="" :label="qs" show-overflow-tooltip
v-for="(qs,index) in adjustedQsList" width="150">
:key="index"
prop=""
:label="qs"
show-overflow-tooltip
width="150"
>
<template slot-scope="scope"> <template slot-scope="scope">
<!-- {{ scope.row.AfterQuestionList.length>index?scope.row.AfterQuestionList[index].Answer:'' }} --> <!-- {{ 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">
@ -101,7 +82,10 @@
{{ 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>
@ -110,60 +94,36 @@
</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:medicalFeedback:table:view')" icon="el-icon-view"
circle @click="handleView(scope.row.VisitTaskId)" />
:title="$t('trials:medicalFeedback:table:view')"
icon="el-icon-view"
@click="handleView(scope.row.VisitTaskId)"
/>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-table <el-table v-else :data="taskList">
v-else
:data="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"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button type="text" @click="handleView(scope.row.VisitTaskId)">
type="text"
@click="handleView(scope.row.VisitTaskId)"
>
{{ scope.row.BlindName }} {{ scope.row.BlindName }}
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
<!-- 评估结果 --> <!-- 评估结果 -->
<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 evaluationQsList" :key="index" prop="" :label="qs"
v-for="(qs,index) in 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"> <div v-if="scope.row.BeforeQuestionList.length > index && scope.row.BeforeQuestionList[index].Answer">
<span v-if="scope.row.BeforeQuestionList[index].DictionaryCode"> <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>
<span v-else>{{ scope.row.BeforeQuestionList[index].Answer }}</span> <span v-else>{{ scope.row.BeforeQuestionList[index].Answer }}</span>
</div> </div>
@ -172,38 +132,23 @@
</template> </template>
</el-table-column> </el-table-column>
<!-- 是否同意访视结果 --> <!-- 是否同意访视结果 -->
<el-table-column <el-table-column v-for="(qs, index) in agreeOrNotList" :key="index" prop=""
v-for="(qs,index) in agreeOrNotList" :label="$t('trials:globalReview:table:isAgreeEvaluationRes')" show-overflow-tooltip width="170">
:key="index"
prop=""
:label="$t('trials:globalReview:table:isAgreeEvaluationRes')"
show-overflow-tooltip
width="170"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="parseInt(scope.row.AgreeOrNot[0].Answer) === 1" type="primary"> <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>
<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 /> <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')"
align="center"
prop=""
>
<template> <template>
<el-table-column <el-table-column v-for="(qs, index) in adjustedQsList" :key="index" prop="" :label="qs" show-overflow-tooltip
v-for="(qs,index) in adjustedQsList" 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.AfterQuestionList.length > index && scope.row.AfterQuestionList[index].Answer"> <div v-if="scope.row.AfterQuestionList.length > index && scope.row.AfterQuestionList[index].Answer">
@ -211,7 +156,10 @@
{{ 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>
@ -220,18 +168,11 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column :label="$t('common:action:action')" width="120"
:label="$t('common:action:action')" :fixed="adjustedQsList.length > 4 ? 'right' : false">
width="120"
:fixed="adjustedQsList.length > 4 ? 'right' : false"
>
<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.VisitTaskId)" />
:title="$t('trials:globalReview:table:view')"
icon="el-icon-view"
@click="handleView(scope.row.VisitTaskId)"
/>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>

View File

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

View File

@ -1,48 +1,42 @@
<template> <template>
<el-table <el-table ref="taskTbl" :data="taskList" :row-class-name="rowClass" class="historicAssess_wrapper">
ref="taskTbl"
:data="taskList"
:row-class-name="rowClass"
class="historicAssess_wrapper"
>
<!-- 访视/阅片期名称 --> <!-- 访视/阅片期名称 -->
<el-table-column <el-table-column prop="VisitTaskNum" :label="$t('trials:medicalFeedback:table:taskName')" width="200"
prop="VisitTaskNum" sortable="custom" show-overflow-tooltip>
:label="$t('trials:medicalFeedback:table:taskName')"
width="200"
sortable="custom"
show-overflow-tooltip
>
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.TaskName }} {{ scope.row.TaskName }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 盲态任务标识 --> <!-- 盲态任务标识 -->
<el-table-column <el-table-column prop="TaskBlindName" :label="$t('trials:medicalFeedback:table:taskBlindName')" width="200"
prop="TaskBlindName" sortable="custom" show-overflow-tooltip />
:label="$t('trials:medicalFeedback:table:taskBlindName')"
width="200"
sortable="custom"
show-overflow-tooltip
/>
<template v-if="judgeQuestion && judgeQuestion.length > 0"> <template v-if="judgeQuestion && judgeQuestion.length > 0">
<el-table-column <el-table-column v-for="(qs, index) in judgeQuestion" :key="qs" prop="" :label="qs" show-overflow-tooltip
v-for="(qs,index) in judgeQuestion" width="150">
:key="qs"
prop=""
:label="qs"
show-overflow-tooltip
width="150"
>
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.JudgeQuestionAnswerInfoList[index] && scope.row.JudgeQuestionAnswerInfoList[index].QuestionGenre === 3 && scope.row.JudgeQuestionAnswerInfoList[index].DictionaryCode"> <span
{{ scope.row.JudgeQuestionAnswerInfoList[index].Answer?$fd(scope.row.JudgeQuestionAnswerInfoList[index].DictionaryCode,parseInt(scope.row.JudgeQuestionAnswerInfoList[index].Answer)):'' }} 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>
<span v-else> <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> </span>
</template> </template>
</el-table-column> </el-table-column>
</template> </template>
@ -59,18 +53,10 @@
</template> </template>
</el-table-column> --> </el-table-column> -->
<!-- 当前阅片人 --> <!-- 当前阅片人 -->
<el-table-column <el-table-column prop="ArmEnum" :label="$t('trials:medicalFeedback:title:currentReader')" show-overflow-tooltip
prop="ArmEnum" width="120">
:label="$t('trials:medicalFeedback:title:currentReader')"
show-overflow-tooltip
width="120"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button v-if="scope.row.TaskId" type="text" @click="handleView(scope.row, scope.row.TaskId)">
v-if="scope.row.TaskId"
type="text"
@click="handleView(scope.row,scope.row.TaskId)"
>
{{ $fd('ArmEnum', scope.row.ArmEnum) }} {{ $fd('ArmEnum', scope.row.ArmEnum) }}
</el-button> </el-button>
</template> </template>
@ -200,6 +186,7 @@ export default {
color: #000; color: #000;
background-color: #ffde7b; background-color: #ffde7b;
} }
.highlight_row:hover>td { .highlight_row:hover>td {
background-color: #ffde7b !important; background-color: #ffde7b !important;
} }

View File

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