列表字段优化
continuous-integration/drone/push Build is passing Details

uat_us
caiyiling 2024-05-16 09:15:05 +08:00
parent 564d6e7764
commit 71073d749b
1 changed files with 166 additions and 3 deletions

View File

@ -338,7 +338,7 @@
<el-table-column
fixed="right"
:label="$t('common:action:action')"
width="260"
width="120"
>
<template slot-scope="scope">
<!-- 查看阅片结果 -->
@ -349,17 +349,168 @@
:title="$t('trials:reviewTrack:action:viewResults')"
@click="lookReadingResults(scope.row)"
/>
<!-- 退回已影响任务列表 -->
<el-button
:disabled="!scope.row.IsPMSetBack"
icon="el-icon-document-copy"
circle
:title="$t('trials:reviewTrack:action:backToTaskList')"
@click="getInfluencedTaskList(scope.row)"
/>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination class="page" :total="total" :page.sync="searchData.PageIndex" :limit.sync="searchData.PageSize" @pagination="getList" />
<!-- 退回影响任务列表/已影响任务列表 -->
<el-dialog
v-if="reReadingOrBackVisible"
:title="$t('trials:reviewTrack:dialog:impactList')"
:visible.sync="reReadingOrBackVisible"
width="1460px"
append-to-body
:close-on-click-modal="false"
custom-class="base-dialog-wrapper"
>
<div class="base-dialog-body">
<el-table
v-loading="loading2"
:data="influenceTaskList"
stripe
height="100"
style="min-height: 400px;"
>
<!-- 任务编号 -->
<el-table-column
prop="TaskCode"
:label="$t('trials:reviewTrack:table:taskCode')"
min-width="100"
show-overflow-tooltip
/>
<!-- 中心编号 -->
<el-table-column
prop="TrialSiteCode"
:label="$t('trials:reviewTrack:table:siteCode')"
min-width="100"
show-overflow-tooltip
/>
<!-- 受试者编号 -->
<el-table-column
prop="SubjectCode"
:label="$t('trials:reviewTrack:table:subjectCode')"
min-width="120"
show-overflow-tooltip
>
<template slot-scope="scope">
<span v-if="scope.row.MedicalNo && scope.row.MedicalNo !== scope.row.SubjectCode">
{{ `${scope.row.SubjectCode}/${scope.row.MedicalNo}` }}
</span>
<span v-else>{{scope.row.SubjectCode}}</span>
</template>
</el-table-column>
<!-- 任务名称 -->
<el-table-column
prop="VisitTaskNum"
:label="$t('trials:reviewTrack:table:taskName')"
min-width="120"
show-overflow-tooltip
>
<template slot-scope="scope">
<span v-if="scope.row.TaskBlindName && scope.row.TaskName !== scope.row.TaskBlindName">
{{ `${scope.row.TaskName}/${scope.row.TaskBlindName}` }}
</span>
<span v-else>{{scope.row.TaskName}}</span>
</template>
</el-table-column>
<!-- 盲态任务标识 -->
<!-- <el-table-column
prop="TaskBlindName"
:label="$t('trials:reviewTrack:table:blindName')"
min-width="120"
show-overflow-tooltip
/> -->
<!-- 阅片标准 -->
<el-table-column
prop="TrialReadingCriterionName"
:label="$t('trials:reviewTrack:table:criterionName')"
min-width="100"
show-overflow-tooltip
>
</el-table-column>
<!-- 任务状态 -->
<el-table-column
prop="TaskState"
:label="$t('trials:reviewTrack:table:taskStatus')"
min-width="100"
show-overflow-tooltip
>
<template slot-scope="scope">
<el-tag v-if="scope.row.TaskState === 0" type="primary">{{ $fd('TaskState', scope.row.TaskState) }}</el-tag>
<el-tag v-if="scope.row.TaskState === 1" type="info">{{ $fd('TaskState', scope.row.TaskState) }}</el-tag>
<el-tag v-if="scope.row.TaskState === 3" type="danger">{{ $fd('TaskState', scope.row.TaskState) }}</el-tag>
<el-tag v-if="scope.row.TaskState === 4" type="warning">{{ $fd('TaskState', scope.row.TaskState) }}</el-tag>
<el-tag v-if="scope.row.TaskState === 5" type="danger">{{ $fd('TaskState', scope.row.TaskState) }}</el-tag>
</template>
</el-table-column>
<!-- 任务类型 -->
<el-table-column
prop="ReadingCategory"
min-width="100"
:label="$t('trials:reviewTrack:table:taskType')"
show-overflow-tooltip
>
<template slot-scope="scope">
<el-tag v-if="scope.row.ReadingCategory === 1" type="primary">{{ $fd('ReadingCategory', scope.row.ReadingCategory) }}</el-tag>
<el-tag v-if="scope.row.ReadingCategory === 2" type="info">{{ $fd('ReadingCategory', scope.row.ReadingCategory) }}</el-tag>
<el-tag v-if="scope.row.ReadingCategory === 4" type="danger">{{ $fd('ReadingCategory', scope.row.ReadingCategory) }}</el-tag>
<el-tag v-if="scope.row.ReadingCategory === 5" type="warning">{{ $fd('ReadingCategory', scope.row.ReadingCategory) }}</el-tag>
</template>
</el-table-column>
<!-- 阅片状态 -->
<el-table-column
prop="ReadingTaskState"
:label="$t('trials:reviewTrack:table:readingStatus')"
min-width="100"
show-overflow-tooltip
>
<template slot-scope="scope">
<el-tag v-if="scope.row.ReadingTaskState === 2" type="primary">{{ $fd('ReadingTaskState', scope.row.ReadingTaskState) }}</el-tag>
<el-tag v-else type="danger">{{ $fd('ReadingTaskState', scope.row.ReadingTaskState) }}</el-tag>
</template>
</el-table-column>
<!-- 生效后影响 -->
<el-table-column
prop="OptType"
:label="$t('trials:reviewTrack:applyReread:title:postEffectiveImpacts')"
min-width="100"
show-overflow-tooltip
>
<template slot-scope="scope">
<el-tag v-if="scope.row.OptType === 0" type="primary">{{ $fd('ReReadingOrBackOptType', scope.row.OptType) }}</el-tag>
<el-tag v-if="scope.row.OptType === 1" type="danger">{{ $fd('ReReadingOrBackOptType', scope.row.OptType) }}</el-tag>
<el-tag v-if="scope.row.OptType === 2" type="warning">{{ $fd('ReReadingOrBackOptType', scope.row.OptType) }}</el-tag>
</template>
</el-table-column>
<!-- 阅片人 -->
<el-table-column
prop="UserName"
:label="$t('trials:reviewTrack:table:reader')"
min-width="160"
show-overflow-tooltip
>
<template v-if="scope.row.DoctorUser" slot-scope="scope">
{{ scope.row.DoctorUser.UserName }}({{ scope.row.DoctorUser.FullName }})
</template>
</el-table-column>
</el-table>
</div>
</el-dialog>
</template>
</BaseContainer>
</template>
<script>
import { getTrialSiteSelect } from '@/api/trials'
import { getTrialCriterionList, getReadingTaskList, getDoctorUserSelectList } from '@/api/trials/reading'
import { getTrialCriterionList, getReadingTaskList, getDoctorUserSelectList, getInfluencedTaskList } from '@/api/trials/reading'
import BaseContainer from '@/components/BaseContainer'
import Pagination from '@/components/Pagination'
@ -404,7 +555,10 @@ export default {
siteOptions: [],
doctorUserList: [],
trialCriterionList: [],
trialId: this.$route.query.trialId
trialId: this.$route.query.trialId,
reReadingOrBackVisible: false,
loading2: false,
influenceTaskList: []
}
},
mounted() {
@ -423,6 +577,15 @@ export default {
this.total = res.Result.TotalCount
}).catch(() => { this.loading = false })
},
getInfluencedTaskList(row) {
this.reReadingOrBackVisible = true
this.loading2 = true
this.rowData = { ...row }
getInfluencedTaskList(row.Id).then(res => {
this.influenceTaskList = res.Result
this.loading2 = false
})
},
getSite() {
getTrialSiteSelect(this.trialId).then(res => {
this.siteOptions = res.Result