Merge branch 'main' of https://gitea.frp.extimaging.com/XCKJ/irc_web into main
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
commit
d117bac7f6
|
@ -209,11 +209,11 @@ export default {
|
||||||
this.$message.success(
|
this.$message.success(
|
||||||
this.$t('common:message:savedSuccessfully')
|
this.$t('common:message:savedSuccessfully')
|
||||||
)
|
)
|
||||||
this.getNoneDicomList()
|
file.IsReading = !file.IsReading
|
||||||
|
// this.getNoneDicomList()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
file.IsReading = !file.IsReading
|
|
||||||
this.loading = false
|
this.loading = false
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
@ -254,15 +254,18 @@ export default {
|
||||||
this.$message.success(
|
this.$message.success(
|
||||||
this.$t('common:message:savedSuccessfully')
|
this.$t('common:message:savedSuccessfully')
|
||||||
)
|
)
|
||||||
this.getNoneDicomList()
|
file.IsDeleted = !file.IsDeleted
|
||||||
|
// this.getNoneDicomList()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(() => {
|
.catch(() => {
|
||||||
file.IsDeleted = !file.IsDeleted
|
// file.IsDeleted = !file.IsDeleted
|
||||||
this.loading = false
|
this.loading = false
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
.catch(() => {})
|
.catch(() => {
|
||||||
|
// file.IsDeleted = !file.IsDeleted
|
||||||
|
})
|
||||||
},
|
},
|
||||||
getBodyPart(bodyPart) {
|
getBodyPart(bodyPart) {
|
||||||
if (!bodyPart) return ''
|
if (!bodyPart) return ''
|
||||||
|
@ -495,7 +498,7 @@ export default {
|
||||||
min-height: 48px;
|
min-height: 48px;
|
||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
::v-deep .el-collapse-item__content{
|
::v-deep .el-collapse-item__content {
|
||||||
padding-bottom: 0;
|
padding-bottom: 0;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -1,15 +1,27 @@
|
||||||
<template>
|
<template>
|
||||||
<BaseContainer class="reading-period">
|
<BaseContainer class="reading-period">
|
||||||
<el-tabs v-model="TrialReadingCriterionId" type="border-card">
|
<el-tabs v-model="TrialReadingCriterionId" type="border-card">
|
||||||
<el-tab-pane v-for="criterion of trialCriterionList" :key="criterion.TrialReadingCriterionId" :label="criterion.TrialReadingCriterionName" :name="criterion.TrialReadingCriterionId">
|
<el-tab-pane
|
||||||
<div v-if="TrialReadingCriterionId === criterion.TrialReadingCriterionId">
|
v-for="criterion of trialCriterionList"
|
||||||
|
:key="criterion.TrialReadingCriterionId"
|
||||||
|
:label="criterion.TrialReadingCriterionName"
|
||||||
|
:name="criterion.TrialReadingCriterionId"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
v-if="TrialReadingCriterionId === criterion.TrialReadingCriterionId"
|
||||||
|
>
|
||||||
<div slot="search-container">
|
<div slot="search-container">
|
||||||
<el-form :inline="true">
|
<el-form :inline="true">
|
||||||
<el-form-item :label="$t('trials:readingPeriod:table:siteCode')">
|
<el-form-item :label="$t('trials:readingPeriod:table:siteCode')">
|
||||||
<!-- 中心编号 -->
|
<!-- 中心编号 -->
|
||||||
<el-select v-model="searchData.TrialSiteCode" clearable filterable style="width:120px;">
|
<el-select
|
||||||
|
v-model="searchData.TrialSiteCode"
|
||||||
|
clearable
|
||||||
|
filterable
|
||||||
|
style="width: 120px"
|
||||||
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="(site,index) of siteOptions"
|
v-for="(site, index) of siteOptions"
|
||||||
:key="index"
|
:key="index"
|
||||||
:label="site.TrialSiteCode"
|
:label="site.TrialSiteCode"
|
||||||
:value="site.TrialSiteCode"
|
:value="site.TrialSiteCode"
|
||||||
|
@ -17,16 +29,24 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 受试者编号 -->
|
<!-- 受试者编号 -->
|
||||||
<el-form-item :label="$t('trials:readingPeriod:table:subjectCode')">
|
<el-form-item
|
||||||
|
:label="$t('trials:readingPeriod:table:subjectCode')"
|
||||||
|
>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="searchData.SubjectCode"
|
v-model="searchData.SubjectCode"
|
||||||
style="width:100px;"
|
style="width: 100px"
|
||||||
clearable
|
clearable
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 阅片类型 -->
|
<!-- 阅片类型 -->
|
||||||
<el-form-item :label="$t('trials:readingPeriod:table:readingType')">
|
<el-form-item
|
||||||
<el-select v-model="searchData.ModuleType" clearable style="width:120px">
|
:label="$t('trials:readingPeriod:table:readingType')"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="searchData.ModuleType"
|
||||||
|
clearable
|
||||||
|
style="width: 120px"
|
||||||
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item of $d.ModuleTypeEnum"
|
v-for="item of $d.ModuleTypeEnum"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
|
@ -36,8 +56,14 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 进度 -->
|
<!-- 进度 -->
|
||||||
<el-form-item :label="$t('trials:readingPeriod:table:readingSchedule')">
|
<el-form-item
|
||||||
<el-select v-model="searchData.ReadingStatus" clearable style="width:120px">
|
:label="$t('trials:readingPeriod:table:readingSchedule')"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="searchData.ReadingStatus"
|
||||||
|
clearable
|
||||||
|
style="width: 120px"
|
||||||
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item of $d.ReadModuleEnum"
|
v-for="item of $d.ReadModuleEnum"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
|
@ -47,16 +73,24 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 阅片名称 -->
|
<!-- 阅片名称 -->
|
||||||
<el-form-item :label="$t('trials:readingPeriod:table:readingName')">
|
<el-form-item
|
||||||
|
:label="$t('trials:readingPeriod:table:readingName')"
|
||||||
|
>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="searchData.Name"
|
v-model="searchData.Name"
|
||||||
style="width:100px;"
|
style="width: 100px"
|
||||||
clearable
|
clearable
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item :label="$t('trials:readingPeriod:table:completeClinicalData')">
|
<el-form-item
|
||||||
<el-select v-model="searchData.CompleteClinicalData" clearable style="width:120px">
|
:label="$t('trials:readingPeriod:table:completeClinicalData')"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="searchData.CompleteClinicalData"
|
||||||
|
clearable
|
||||||
|
style="width: 120px"
|
||||||
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item of $d.CompleteClinicalDataEnum"
|
v-for="item of $d.CompleteClinicalDataEnum"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
|
@ -66,24 +100,45 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" icon="el-icon-search" @click="handleSearch">
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-search"
|
||||||
|
@click="handleSearch"
|
||||||
|
>
|
||||||
{{ $t('common:button:search') }}
|
{{ $t('common:button:search') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-button type="primary" icon="el-icon-refresh-left" @click="handleReset">
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-refresh-left"
|
||||||
|
@click="handleReset"
|
||||||
|
>
|
||||||
{{ $t('common:button:reset') }}
|
{{ $t('common:button:reset') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<!--导出受试者进展表-->
|
<!--导出受试者进展表-->
|
||||||
<el-button type="primary" icon="el-icon-download" @click="handleExportSubject">
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-download"
|
||||||
|
@click="handleExportSubject"
|
||||||
|
>
|
||||||
{{ $t('trials:readingPeriod:buttton:exportSubjectTbl') }}
|
{{ $t('trials:readingPeriod:buttton:exportSubjectTbl') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<!--导出阅片期信息表-->
|
<!--导出阅片期信息表-->
|
||||||
<el-button type="primary" icon="el-icon-download" @click="handleExportPeriod">
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-download"
|
||||||
|
@click="handleExportPeriod"
|
||||||
|
>
|
||||||
{{ $t('trials:readingPeriod:buttton:exportPeriodTbl') }}
|
{{ $t('trials:readingPeriod:buttton:exportPeriodTbl') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- 阅片期管理 -->
|
<!-- 阅片期管理 -->
|
||||||
<el-button
|
<el-button
|
||||||
v-if="ReadingInfoSignTime && (otherInfo.IsClinicalReading || otherInfo.IsReadingPeriod)"
|
v-if="
|
||||||
v-hasPermi="['trials:trials-panel:subject:readingPeriod:edit']"
|
ReadingInfoSignTime &&
|
||||||
|
(otherInfo.IsClinicalReading || otherInfo.IsReadingPeriod)
|
||||||
|
"
|
||||||
|
v-hasPermi="[
|
||||||
|
'trials:trials-panel:subject:readingPeriod:edit',
|
||||||
|
]"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="el-icon-edit-outline"
|
icon="el-icon-edit-outline"
|
||||||
@click="handleReadingPeriod"
|
@click="handleReadingPeriod"
|
||||||
|
@ -96,7 +151,7 @@
|
||||||
<div slot="main-container">
|
<div slot="main-container">
|
||||||
<el-table
|
<el-table
|
||||||
ref="myTable"
|
ref="myTable"
|
||||||
v-adaptive="{bottomOffset:135}"
|
v-adaptive="{ bottomOffset: 135 }"
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
:data="list"
|
:data="list"
|
||||||
stripe
|
stripe
|
||||||
|
@ -133,80 +188,229 @@
|
||||||
<el-table-column
|
<el-table-column
|
||||||
v-for="i in maxLength"
|
v-for="i in maxLength"
|
||||||
:key="`${i}`"
|
:key="`${i}`"
|
||||||
:prop="`Plan${i-1}`"
|
:prop="`Plan${i - 1}`"
|
||||||
label=""
|
label=""
|
||||||
width="240"
|
width="240"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div v-if="i<=scope.row.Data.length">
|
<div v-if="i <= scope.row.Data.length">
|
||||||
<!-- <div style="">-->
|
<!-- <div style="">-->
|
||||||
<div style="border-bottom: 1px solid #d9d9d9;margin-bottom: 8px;padding-bottom: 8px;display: flex;justify-content: space-between;">
|
<div
|
||||||
<div style="font-size: 16px;font-weight: 900">
|
style="
|
||||||
{{ scope.row.Data[i-1].Name }}
|
border-bottom: 1px solid #d9d9d9;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
padding-bottom: 8px;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<div style="font-size: 16px; font-weight: 900">
|
||||||
|
{{ scope.row.Data[i - 1].Name }}
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<span v-if="scope.row.Data[i-1].IsEnrollmentConfirm">
|
<span
|
||||||
|
v-if="scope.row.Data[i - 1].IsEnrollmentConfirm"
|
||||||
|
>
|
||||||
| {{ $t('trials:readingPeriod:table:enroll') }}
|
| {{ $t('trials:readingPeriod:table:enroll') }}
|
||||||
</span>
|
</span>
|
||||||
<span v-if="scope.row.Data[i-1].PDState">
|
<span v-if="scope.row.Data[i - 1].PDState">
|
||||||
| {{ $t('trials:readingPeriod:table:pd') }}
|
| {{ $t('trials:readingPeriod:table:pd') }}
|
||||||
</span>
|
</span>
|
||||||
<span v-if="scope.row.Data[i-1].IsUrgent">
|
<span v-if="scope.row.Data[i - 1].IsUrgent">
|
||||||
| {{ $t('trials:readingPeriod:table:urgent') }}
|
| {{ $t('trials:readingPeriod:table:urgent') }}
|
||||||
</span>
|
</span>
|
||||||
<span v-if="scope.row.Data[i-1].IsFinalVisit">
|
<span v-if="scope.row.Data[i - 1].IsFinalVisit">
|
||||||
| {{ $t('trials:readingPeriod:table:finalVisit') }}
|
| {{ $t('trials:readingPeriod:table:finalVisit') }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div style="display: flex;justify-content: space-between;border-bottom: 1px solid #d9d9d9;margin-bottom: 8px;padding-bottom: 8px">
|
<div
|
||||||
<div>{{ $fd('ModuleTypeEnum',scope.row.Data[i-1].ModuleType) }}</div>
|
style="
|
||||||
<div style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;width: 110px;text-align: right;" :title="$fd('ReadModuleEnum',scope.row.Data[i-1].ReadingStatus)">
|
display: flex;
|
||||||
{{ $fd('ReadModuleEnum',scope.row.Data[i-1].ReadingStatus) }}
|
justify-content: space-between;
|
||||||
|
border-bottom: 1px solid #d9d9d9;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
padding-bottom: 8px;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<div>
|
||||||
|
{{
|
||||||
|
$fd(
|
||||||
|
'ModuleTypeEnum',
|
||||||
|
scope.row.Data[i - 1].ModuleType
|
||||||
|
)
|
||||||
|
}}
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
width: 110px;
|
||||||
|
text-align: right;
|
||||||
|
"
|
||||||
|
:title="
|
||||||
|
$fd(
|
||||||
|
'ReadModuleEnum',
|
||||||
|
scope.row.Data[i - 1].ReadingStatus
|
||||||
|
)
|
||||||
|
"
|
||||||
|
>
|
||||||
|
{{
|
||||||
|
$fd(
|
||||||
|
'ReadModuleEnum',
|
||||||
|
scope.row.Data[i - 1].ReadingStatus
|
||||||
|
)
|
||||||
|
}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="scope.row.Data[i-1].ModuleType === 1" style="display: flex;justify-content: space-between;border-bottom: 1px solid #d9d9d9;margin-bottom: 8px;padding-bottom: 8px">
|
<div
|
||||||
|
v-if="scope.row.Data[i - 1].ModuleType === 1"
|
||||||
|
style="
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
border-bottom: 1px solid #d9d9d9;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
padding-bottom: 8px;
|
||||||
|
"
|
||||||
|
>
|
||||||
<!-- 上一访视 -->
|
<!-- 上一访视 -->
|
||||||
<div>{{ $t('trials:readingPeriod:table:lastVisit') }}</div>
|
<div>
|
||||||
<div>{{ scope.row.Data[i-1].OutPlanPreviousVisitName }} </div>
|
{{ $t('trials:readingPeriod:table:lastVisit') }}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
{{ scope.row.Data[i - 1].OutPlanPreviousVisitName }}
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="scope.row.Data[i-1].ModuleType === 2 || scope.row.Data[i-1].ModuleType ===3 || scope.row.Data[i-1].ModuleType ===5" style="display: flex;justify-content: space-between;border-bottom: 1px solid #d9d9d9;margin-bottom: 8px;padding-bottom: 8px">
|
<div
|
||||||
|
v-if="
|
||||||
|
scope.row.Data[i - 1].ModuleType === 2 ||
|
||||||
|
scope.row.Data[i - 1].ModuleType === 3 ||
|
||||||
|
scope.row.Data[i - 1].ModuleType === 5
|
||||||
|
"
|
||||||
|
style="
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
border-bottom: 1px solid #d9d9d9;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
padding-bottom: 8px;
|
||||||
|
"
|
||||||
|
>
|
||||||
<!-- 截止访视: -->
|
<!-- 截止访视: -->
|
||||||
<div>{{ $t('trials:readingPeriod:table:deadlineVisit') }}</div>
|
<div>
|
||||||
<div>{{ scope.row.Data[i-1].CutOffVisitName }}</div>
|
{{ $t('trials:readingPeriod:table:deadlineVisit') }}
|
||||||
|
</div>
|
||||||
|
<div>{{ scope.row.Data[i - 1].CutOffVisitName }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="scope.row.Data[i-1].ModuleType ===4 " style="display: flex;justify-content: space-between;border-bottom: 1px solid #d9d9d9;margin-bottom: 8px;padding-bottom: 8px">
|
<div
|
||||||
|
v-if="scope.row.Data[i - 1].ModuleType === 4"
|
||||||
|
style="
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
border-bottom: 1px solid #d9d9d9;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
padding-bottom: 8px;
|
||||||
|
"
|
||||||
|
>
|
||||||
<!-- 对应阅片期: -->
|
<!-- 对应阅片期: -->
|
||||||
<div>{{ $t('trials:readingPeriod:table:correspondVisit2') }}</div>
|
<div>
|
||||||
<div>{{ scope.row.Data[i-1].ReadModuleName }}</div>
|
{{
|
||||||
|
$t('trials:readingPeriod:table:correspondVisit2')
|
||||||
|
}}
|
||||||
|
</div>
|
||||||
|
<div>{{ scope.row.Data[i - 1].ReadModuleName }}</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-if="otherInfo.ExistClinicalData" style="display: flex;justify-content: space-between;border-bottom: 1px solid #d9d9d9;margin-bottom: 8px;padding-bottom: 8px">
|
<div
|
||||||
<div style="display: flex;justify-content: space-between;width: 100%">
|
v-if="otherInfo.ExistClinicalData"
|
||||||
|
style="
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
border-bottom: 1px solid #d9d9d9;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
padding-bottom: 8px;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
width: 100%;
|
||||||
|
"
|
||||||
|
>
|
||||||
<!-- 临床资料 -->
|
<!-- 临床资料 -->
|
||||||
<div>
|
<div>
|
||||||
<el-tooltip v-if="scope.row.Data[i-1].CompleteClinicalData===0" class="item" effect="dark" :content="$t('trials:readingPeriod:table:clinicalDataNotComplete')" placement="bottom">
|
<el-tooltip
|
||||||
<i class="el-icon-warning" style="color:red" />
|
v-if="
|
||||||
|
scope.row.Data[i - 1].CompleteClinicalData === 0
|
||||||
|
"
|
||||||
|
class="item"
|
||||||
|
effect="dark"
|
||||||
|
:content="
|
||||||
|
$t(
|
||||||
|
'trials:readingPeriod:table:clinicalDataNotComplete'
|
||||||
|
)
|
||||||
|
"
|
||||||
|
placement="bottom"
|
||||||
|
>
|
||||||
|
<i class="el-icon-warning" style="color: red" />
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
{{ $t('trials:readingPeriod:table:clinicalInfo2') }}
|
{{ $t('trials:readingPeriod:table:clinicalInfo2') }}
|
||||||
</div>
|
</div>
|
||||||
<el-link type="danger" v-if="(scope.row.Data[i-1].IsVisit && otherInfo.IsExistsSubjectClinicalData && scope.row.Data[i-1].IsBaseLine) ||(scope.row.Data[i-1].IsVisit && otherInfo.IsExistsVisitClinicalData) || (scope.row.Data[i-1].IsVisit && otherInfo.IsExistsStudyClinicalData) || (!scope.row.Data[i-1].IsVisit && otherInfo.IsExistsReadingClinicalData && scope.row.Data[i-1].ModuleType === 3) || (!scope.row.Data[i-1].IsVisit && otherInfo.IsExistsOncologyReadClinicalData && scope.row.Data[i-1].ModuleType === 5)" @click="handleView(scope.row,scope.row.Data[i-1])">
|
<el-link
|
||||||
|
type="danger"
|
||||||
|
v-if="
|
||||||
|
(scope.row.Data[i - 1].IsVisit &&
|
||||||
|
otherInfo.IsExistsSubjectClinicalData &&
|
||||||
|
scope.row.Data[i - 1].IsBaseLine) ||
|
||||||
|
(scope.row.Data[i - 1].IsVisit &&
|
||||||
|
otherInfo.IsExistsVisitClinicalData) ||
|
||||||
|
(scope.row.Data[i - 1].IsVisit &&
|
||||||
|
otherInfo.IsExistsStudyClinicalData) ||
|
||||||
|
(!scope.row.Data[i - 1].IsVisit &&
|
||||||
|
otherInfo.IsExistsReadingClinicalData &&
|
||||||
|
scope.row.Data[i - 1].ModuleType === 3) ||
|
||||||
|
(!scope.row.Data[i - 1].IsVisit &&
|
||||||
|
otherInfo.IsExistsOncologyReadClinicalData &&
|
||||||
|
scope.row.Data[i - 1].ModuleType === 5)
|
||||||
|
"
|
||||||
|
@click="
|
||||||
|
handleView(scope.row, scope.row.Data[i - 1])
|
||||||
|
"
|
||||||
|
>
|
||||||
{{ $t('trials:readingPeriod:button:view') }}
|
{{ $t('trials:readingPeriod:button:view') }}
|
||||||
</el-link>
|
</el-link>
|
||||||
<span v-else>{{ $t('trials:readingPeriod:table:noCD') }}</span>
|
<span v-else>{{
|
||||||
|
$t('trials:readingPeriod:table:noCD')
|
||||||
|
}}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<el-link style="color:#428bca;margin-right: 5px" @click="handleDetail(scope.row,scope.row.Data[i-1])">
|
<el-link
|
||||||
|
style="color: #428bca; margin-right: 5px"
|
||||||
|
@click="
|
||||||
|
handleDetail(scope.row, scope.row.Data[i - 1])
|
||||||
|
"
|
||||||
|
>
|
||||||
{{ $t('trials:readingPeriod:button:detail') }}
|
{{ $t('trials:readingPeriod:button:detail') }}
|
||||||
</el-link>
|
</el-link>
|
||||||
<el-link style="color:#428bca;margin-right: 5px" v-if="scope.row.Data[i - 1].IsCanChangeCutOffVisit" @click="handleEdit(scope.row,scope.row.Data[i-1])">
|
<el-link
|
||||||
|
style="color: #428bca; margin-right: 5px"
|
||||||
|
v-if="scope.row.Data[i - 1].IsCanChangeCutOffVisit"
|
||||||
|
@click="handleEdit(scope.row, scope.row.Data[i - 1])"
|
||||||
|
>
|
||||||
{{ $t('common:button:edit') }}
|
{{ $t('common:button:edit') }}
|
||||||
</el-link>
|
</el-link>
|
||||||
<el-link
|
<el-link
|
||||||
style="color:#428bca;margin-right: 5px"
|
style="color: #428bca; margin-right: 5px"
|
||||||
v-if="(scope.row.Data[i-1].ModuleType === 3 || scope.row.Data[i-1].ModuleType === 5) && scope.row.Data[i-1].ReadingStatus < 4"
|
v-if="
|
||||||
v-hasPermi="['trials:trials-panel:subject:readingPeriod:edit']"
|
(scope.row.Data[i - 1].ModuleType === 3 ||
|
||||||
@click="handleDelete(scope.row.Data[i-1])"
|
scope.row.Data[i - 1].ModuleType === 5) &&
|
||||||
|
scope.row.Data[i - 1].ReadingStatus < 4
|
||||||
|
"
|
||||||
|
v-hasPermi="[
|
||||||
|
'trials:trials-panel:subject:readingPeriod:edit',
|
||||||
|
]"
|
||||||
|
@click="handleDelete(scope.row.Data[i - 1])"
|
||||||
>
|
>
|
||||||
{{ $t('trials:readingPeriod:button:delete') }}
|
{{ $t('trials:readingPeriod:button:delete') }}
|
||||||
</el-link>
|
</el-link>
|
||||||
|
@ -216,31 +420,63 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
v-if="hasPermi(['trials:trials-panel:subject:readingPeriod:edit'])"
|
v-if="
|
||||||
:fixed="(otherInfo.IsReadingPeriod || otherInfo.IsClinicalReading) && ReadingInfoSignTime && hasPermi(['trials:trials-panel:subject:readingPeriod:edit']) ? 'right':false"
|
hasPermi([
|
||||||
:label="(otherInfo.IsReadingPeriod || otherInfo.IsClinicalReading) && ReadingInfoSignTime && hasPermi(['trials:trials-panel:subject:readingPeriod:edit']) ? $t('common:action:action') : ''"
|
'trials:trials-panel:subject:readingPeriod:edit',
|
||||||
:width="(otherInfo.IsReadingPeriod || otherInfo.IsClinicalReading) && ReadingInfoSignTime && hasPermi(['trials:trials-panel:subject:readingPeriod:edit']) ? '150px' : '80px' "
|
]) && ReadingInfoSignTime
|
||||||
|
"
|
||||||
|
:fixed="
|
||||||
|
(otherInfo.IsReadingPeriod || otherInfo.IsClinicalReading) &&
|
||||||
|
ReadingInfoSignTime &&
|
||||||
|
hasPermi(['trials:trials-panel:subject:readingPeriod:edit'])
|
||||||
|
? 'right'
|
||||||
|
: false
|
||||||
|
"
|
||||||
|
:label="
|
||||||
|
(otherInfo.IsReadingPeriod || otherInfo.IsClinicalReading) &&
|
||||||
|
ReadingInfoSignTime &&
|
||||||
|
hasPermi(['trials:trials-panel:subject:readingPeriod:edit'])
|
||||||
|
? $t('common:action:action')
|
||||||
|
: ''
|
||||||
|
"
|
||||||
|
:width="
|
||||||
|
(otherInfo.IsReadingPeriod || otherInfo.IsClinicalReading) &&
|
||||||
|
ReadingInfoSignTime &&
|
||||||
|
hasPermi(['trials:trials-panel:subject:readingPeriod:edit'])
|
||||||
|
? '150px'
|
||||||
|
: '80px'
|
||||||
|
"
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-button
|
||||||
v-if="otherInfo.IsReadingPeriod"
|
v-if="otherInfo.IsReadingPeriod"
|
||||||
circle
|
circle
|
||||||
:title="$t('trials:readingPeriod:buttton:addSubjectImageRP')"
|
:title="
|
||||||
|
$t('trials:readingPeriod:buttton:addSubjectImageRP')
|
||||||
|
"
|
||||||
icon="el-icon-plus"
|
icon="el-icon-plus"
|
||||||
@click="handleAdd(scope.row,0)"
|
@click="handleAdd(scope.row, 0)"
|
||||||
/>
|
/>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="isClinicalReading"
|
v-if="isClinicalReading"
|
||||||
circle
|
circle
|
||||||
:title="$t('trials:readingPeriod:buttton:addSubjectOncologyRP')"
|
:title="
|
||||||
|
$t('trials:readingPeriod:buttton:addSubjectOncologyRP')
|
||||||
|
"
|
||||||
icon="el-icon-plus"
|
icon="el-icon-plus"
|
||||||
@click="handleAdd(scope.row,1)"
|
@click="handleAdd(scope.row, 1)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
<!-- 分页组件 -->
|
<!-- 分页组件 -->
|
||||||
<pagination class="page" :total="total" :page.sync="searchData.PageIndex" :limit.sync="searchData.PageSize" @pagination="getList" />
|
<pagination
|
||||||
|
class="page"
|
||||||
|
:total="total"
|
||||||
|
:page.sync="searchData.PageIndex"
|
||||||
|
:limit.sync="searchData.PageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
<!-- 详情 -->
|
<!-- 详情 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-if="dialogVisible"
|
v-if="dialogVisible"
|
||||||
|
@ -251,18 +487,24 @@
|
||||||
>
|
>
|
||||||
<el-descriptions :column="2" border>
|
<el-descriptions :column="2" border>
|
||||||
<!-- 阅片期名称 -->
|
<!-- 阅片期名称 -->
|
||||||
<el-descriptions-item :label="$t('trials:readingPeriod:table:readingName')">
|
<el-descriptions-item
|
||||||
|
:label="$t('trials:readingPeriod:table:readingName')"
|
||||||
|
>
|
||||||
{{ currentData.Name }}
|
{{ currentData.Name }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<!-- 阅片期类型 -->
|
<!-- 阅片期类型 -->
|
||||||
<el-descriptions-item :label="$t('trials:readingPeriod:table:readingType')">
|
<el-descriptions-item
|
||||||
{{ $fd('ModuleTypeEnum',currentData.ModuleType) }}
|
:label="$t('trials:readingPeriod:table:readingType')"
|
||||||
|
>
|
||||||
|
{{ $fd('ModuleTypeEnum', currentData.ModuleType) }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<!-- 是否加急 -->
|
<!-- 是否加急 -->
|
||||||
<!-- <el-descriptions-item label="是否加急"> <el-tag size="small">{{ $fd('YesOrNo',currentData.IsUrgent) }}</el-tag></el-descriptions-item> -->
|
<!-- <el-descriptions-item label="是否加急"> <el-tag size="small">{{ $fd('YesOrNo',currentData.IsUrgent) }}</el-tag></el-descriptions-item> -->
|
||||||
<!-- 进度 -->
|
<!-- 进度 -->
|
||||||
<el-descriptions-item :label="$t('trials:readingPeriod:table:readingSchedule')">
|
<el-descriptions-item
|
||||||
{{ $fd('ReadModuleEnum',currentData.ReadingStatus) }}
|
:label="$t('trials:readingPeriod:table:readingSchedule')"
|
||||||
|
>
|
||||||
|
{{ $fd('ReadModuleEnum', currentData.ReadingStatus) }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item
|
<el-descriptions-item
|
||||||
v-if="currentData.CutOffVisitName"
|
v-if="currentData.CutOffVisitName"
|
||||||
|
@ -283,16 +525,34 @@
|
||||||
{{ currentData.ReadModuleName }}
|
{{ currentData.ReadModuleName }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<!-- 临床资料 -->
|
<!-- 临床资料 -->
|
||||||
<el-descriptions-item v-if="otherInfo.ExistClinicalData" :label="$t('trials:readingPeriod:table:clinicalInfo')">
|
<el-descriptions-item
|
||||||
<template v-if="(currentData.IsVisit && otherInfo.IsExistsSubjectClinicalData && currentData.IsBaseLine) ||(currentData.IsVisit && otherInfo.IsExistsVisitClinicalData) || (!currentData.IsVisit && otherInfo.IsExistsReadingClinicalData)">
|
v-if="otherInfo.ExistClinicalData"
|
||||||
<el-link @click="view">{{ $t('trials:readingPeriod:button:view') }}</el-link>
|
:label="$t('trials:readingPeriod:table:clinicalInfo')"
|
||||||
|
>
|
||||||
|
<template
|
||||||
|
v-if="
|
||||||
|
(currentData.IsVisit &&
|
||||||
|
otherInfo.IsExistsSubjectClinicalData &&
|
||||||
|
currentData.IsBaseLine) ||
|
||||||
|
(currentData.IsVisit &&
|
||||||
|
otherInfo.IsExistsVisitClinicalData) ||
|
||||||
|
(!currentData.IsVisit &&
|
||||||
|
otherInfo.IsExistsReadingClinicalData)
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<el-link @click="view">{{
|
||||||
|
$t('trials:readingPeriod:button:view')
|
||||||
|
}}</el-link>
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<span>{{ $t('trials:readingPeriod:table:noCD') }}</span>
|
<span>{{ $t('trials:readingPeriod:table:noCD') }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<!-- 当前干系人 -->
|
<!-- 当前干系人 -->
|
||||||
<el-descriptions-item :label="$t('trials:readingPeriod:table:stakeholder')" :span="2">
|
<el-descriptions-item
|
||||||
|
:label="$t('trials:readingPeriod:table:stakeholder')"
|
||||||
|
:span="2"
|
||||||
|
>
|
||||||
{{ currentData.Stakeholders }}
|
{{ currentData.Stakeholders }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
|
@ -318,13 +578,22 @@
|
||||||
<!-- 临床资料 -->
|
<!-- 临床资料 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-if="clinicalDataVisible"
|
v-if="clinicalDataVisible"
|
||||||
:title="`${$t('trials:readingPeriod:dialogTitle:clinicalData')}(${currentData.SubjectCode}|${currentData.Name}|${currentData.CriterionName})`"
|
:title="`${$t(
|
||||||
|
'trials:readingPeriod:dialogTitle:clinicalData'
|
||||||
|
)}(${currentData.SubjectCode}|${currentData.Name}|${
|
||||||
|
currentData.CriterionName
|
||||||
|
})`"
|
||||||
:visible.sync="clinicalDataVisible"
|
:visible.sync="clinicalDataVisible"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
append-to-body
|
append-to-body
|
||||||
width="70%"
|
width="70%"
|
||||||
>
|
>
|
||||||
<ClinicalData :trial-reading-criterion-id="TrialReadingCriterionId" :trial-id="trialId" :data="currentData" @getList="getList"/>
|
<ClinicalData
|
||||||
|
:trial-reading-criterion-id="TrialReadingCriterionId"
|
||||||
|
:trial-id="trialId"
|
||||||
|
:data="currentData"
|
||||||
|
@getList="getList"
|
||||||
|
/>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<!-- 添加受试者阅片期 -->
|
<!-- 添加受试者阅片期 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
|
@ -335,7 +604,13 @@
|
||||||
custom-class="base-dialog-wrapper"
|
custom-class="base-dialog-wrapper"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
>
|
>
|
||||||
<SubjectPR :trial-reading-criterion-id="TrialReadingCriterionId" :trial-id="trialId" :data="param" @close="subjectPeriod.visible = false" @getList="getList" />
|
<SubjectPR
|
||||||
|
:trial-reading-criterion-id="TrialReadingCriterionId"
|
||||||
|
:trial-id="trialId"
|
||||||
|
:data="param"
|
||||||
|
@close="subjectPeriod.visible = false"
|
||||||
|
@getList="getList"
|
||||||
|
/>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
<!-- 编辑受试者阅片期 -->
|
<!-- 编辑受试者阅片期 -->
|
||||||
<el-dialog
|
<el-dialog
|
||||||
|
@ -346,7 +621,14 @@
|
||||||
custom-class="base-dialog-wrapper"
|
custom-class="base-dialog-wrapper"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
>
|
>
|
||||||
<SubjectPR :type="'edit'" :trial-reading-criterion-id="TrialReadingCriterionId" :trial-id="trialId" :data="param" @close="subjectPeriodEdit.visible = false" @getList="getList" />
|
<SubjectPR
|
||||||
|
:type="'edit'"
|
||||||
|
:trial-reading-criterion-id="TrialReadingCriterionId"
|
||||||
|
:trial-id="trialId"
|
||||||
|
:data="param"
|
||||||
|
@close="subjectPeriodEdit.visible = false"
|
||||||
|
@getList="getList"
|
||||||
|
/>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -355,8 +637,17 @@
|
||||||
</BaseContainer>
|
</BaseContainer>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import { getReadModuleList, deleteReadModule, getReadModule, getTrialSiteSelect, getTrialCriterionList } from '@/api/trials'
|
import {
|
||||||
import { getReadingPeriodList_Export, getSubjectProgress_Export } from '@/api/export'
|
getReadModuleList,
|
||||||
|
deleteReadModule,
|
||||||
|
getReadModule,
|
||||||
|
getTrialSiteSelect,
|
||||||
|
getTrialCriterionList,
|
||||||
|
} from '@/api/trials'
|
||||||
|
import {
|
||||||
|
getReadingPeriodList_Export,
|
||||||
|
getSubjectProgress_Export,
|
||||||
|
} from '@/api/export'
|
||||||
import BaseContainer from '@/components/BaseContainer'
|
import BaseContainer from '@/components/BaseContainer'
|
||||||
import Pagination from '@/components/Pagination'
|
import Pagination from '@/components/Pagination'
|
||||||
import ReadingPeriod from './components/RPList'
|
import ReadingPeriod from './components/RPList'
|
||||||
|
@ -371,13 +662,19 @@ const searchDataDefault = () => {
|
||||||
Name: '',
|
Name: '',
|
||||||
CompleteClinicalData: '',
|
CompleteClinicalData: '',
|
||||||
PageIndex: 1,
|
PageIndex: 1,
|
||||||
PageSize: 20
|
PageSize: 20,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const MinPlanCount = 10
|
const MinPlanCount = 10
|
||||||
export default {
|
export default {
|
||||||
name: 'TrialsNotice',
|
name: 'TrialsNotice',
|
||||||
components: { BaseContainer, Pagination, ReadingPeriod, ClinicalData, SubjectPR },
|
components: {
|
||||||
|
BaseContainer,
|
||||||
|
Pagination,
|
||||||
|
ReadingPeriod,
|
||||||
|
ClinicalData,
|
||||||
|
SubjectPR,
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
searchData: searchDataDefault(),
|
searchData: searchDataDefault(),
|
||||||
|
@ -388,8 +685,14 @@ export default {
|
||||||
dialogVisible: false,
|
dialogVisible: false,
|
||||||
readPeriodVisible: false,
|
readPeriodVisible: false,
|
||||||
clinicalDataVisible: false,
|
clinicalDataVisible: false,
|
||||||
subjectPeriod: { visible: false, title: this.$t('trials:readingPeriod:dialogTitle:addSubjectPR') },
|
subjectPeriod: {
|
||||||
subjectPeriodEdit: { visible: false, title: this.$t('trials:readingPeriod:dialogTitle:EditSubjectPR') },
|
visible: false,
|
||||||
|
title: this.$t('trials:readingPeriod:dialogTitle:addSubjectPR'),
|
||||||
|
},
|
||||||
|
subjectPeriodEdit: {
|
||||||
|
visible: false,
|
||||||
|
title: this.$t('trials:readingPeriod:dialogTitle:EditSubjectPR'),
|
||||||
|
},
|
||||||
trialId: this.$route.query.trialId,
|
trialId: this.$route.query.trialId,
|
||||||
currentData: {},
|
currentData: {},
|
||||||
param: {},
|
param: {},
|
||||||
|
@ -398,43 +701,49 @@ export default {
|
||||||
otherInfo: {},
|
otherInfo: {},
|
||||||
trialCriterionList: [],
|
trialCriterionList: [],
|
||||||
TrialReadingCriterionId: '0',
|
TrialReadingCriterionId: '0',
|
||||||
ReadingInfoSignTime: null
|
ReadingInfoSignTime: null,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
TrialReadingCriterionId(v) {
|
TrialReadingCriterionId(v) {
|
||||||
if (v) {
|
if (v) {
|
||||||
this.getList()
|
this.getList()
|
||||||
this.ReadingInfoSignTime = this.trialCriterionList.find(v => {
|
this.ReadingInfoSignTime = this.trialCriterionList.find((v) => {
|
||||||
return v.TrialReadingCriterionId === this.TrialReadingCriterionId
|
return v.TrialReadingCriterionId === this.TrialReadingCriterionId
|
||||||
}).ReadingInfoSignTime
|
}).ReadingInfoSignTime
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getSite()
|
this.getSite()
|
||||||
this.getTrialCriterionList()
|
this.getTrialCriterionList()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
||||||
getList() {
|
getList() {
|
||||||
this.searchData.TrialId = this.$route.query.trialId
|
this.searchData.TrialId = this.$route.query.trialId
|
||||||
this.searchData.TrialReadingCriterionId = this.TrialReadingCriterionId
|
this.searchData.TrialReadingCriterionId = this.TrialReadingCriterionId
|
||||||
this.loading = true
|
this.loading = true
|
||||||
getReadModuleList(this.searchData).then(res => {
|
getReadModuleList(this.searchData)
|
||||||
this.loading = false
|
.then((res) => {
|
||||||
this.list = res.Result.CurrentPageData
|
this.loading = false
|
||||||
this.total = res.Result.TotalCount
|
this.list = res.Result.CurrentPageData
|
||||||
this.maxLength = res.OtherInfo.MaxLength > MinPlanCount ? res.OtherInfo.MaxLength : MinPlanCount
|
this.total = res.Result.TotalCount
|
||||||
this.isClinicalReading = res.OtherInfo.IsClinicalReading
|
this.maxLength =
|
||||||
this.otherInfo = res.OtherInfo
|
res.OtherInfo.MaxLength > MinPlanCount
|
||||||
this.$nextTick(() => {
|
? res.OtherInfo.MaxLength
|
||||||
// myTable是表格的ref属性值
|
: MinPlanCount
|
||||||
if (this.$refs.myTable && this.$refs.myTable.doLayout) {
|
this.isClinicalReading = res.OtherInfo.IsClinicalReading
|
||||||
this.$refs.myTable.doLayout()
|
this.otherInfo = res.OtherInfo
|
||||||
}
|
this.$nextTick(() => {
|
||||||
|
// myTable是表格的ref属性值
|
||||||
|
if (this.$refs.myTable && this.$refs.myTable.doLayout) {
|
||||||
|
this.$refs.myTable.doLayout()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
this.loading = false
|
||||||
})
|
})
|
||||||
}).catch(() => { this.loading = false })
|
|
||||||
},
|
},
|
||||||
handleAdd(row, type) {
|
handleAdd(row, type) {
|
||||||
this.param = {}
|
this.param = {}
|
||||||
|
@ -446,29 +755,36 @@ export default {
|
||||||
this.param.IsClinicalReading = this.isClinicalReading
|
this.param.IsClinicalReading = this.isClinicalReading
|
||||||
this.param.ReadingSetType = type
|
this.param.ReadingSetType = type
|
||||||
this.subjectPeriod.visible = true
|
this.subjectPeriod.visible = true
|
||||||
this.subjectPeriod.title = type === 0 ? this.$t('trials:readingPeriod:dialogTitle:addSubjectPR') : this.$t('trials:readingPeriod:dialogTitle:addSubjectTumorPR')
|
this.subjectPeriod.title =
|
||||||
|
type === 0
|
||||||
|
? this.$t('trials:readingPeriod:dialogTitle:addSubjectPR')
|
||||||
|
: this.$t('trials:readingPeriod:dialogTitle:addSubjectTumorPR')
|
||||||
},
|
},
|
||||||
handleEdit(row, type) {
|
handleEdit(row, type) {
|
||||||
this.param = {...type}
|
this.param = { ...type }
|
||||||
this.param.VisitStageId = this.param.CutOffVisitId
|
this.param.VisitStageId = this.param.CutOffVisitId
|
||||||
this.subjectPeriodEdit.visible = true
|
this.subjectPeriodEdit.visible = true
|
||||||
},
|
},
|
||||||
handleDelete(row) {
|
handleDelete(row) {
|
||||||
this.$confirm(this.$t('trials:readingPeriod:message:sureToDelete'), {
|
this.$confirm(this.$t('trials:readingPeriod:message:sureToDelete'), {
|
||||||
type: 'warning',
|
type: 'warning',
|
||||||
distinguishCancelAndClose: true
|
distinguishCancelAndClose: true,
|
||||||
|
}).then(() => {
|
||||||
|
this.loading = true
|
||||||
|
deleteReadModule(row.Id)
|
||||||
|
.then((res) => {
|
||||||
|
this.loading = false
|
||||||
|
if (res.IsSuccess) {
|
||||||
|
this.getList()
|
||||||
|
this.$message.success(
|
||||||
|
this.$t('common:message:deletedSuccessfully')
|
||||||
|
)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
})
|
})
|
||||||
.then(() => {
|
|
||||||
this.loading = true
|
|
||||||
deleteReadModule(row.Id)
|
|
||||||
.then(res => {
|
|
||||||
this.loading = false
|
|
||||||
if (res.IsSuccess) {
|
|
||||||
this.getList()
|
|
||||||
this.$message.success(this.$t('common:message:deletedSuccessfully'))
|
|
||||||
}
|
|
||||||
}).catch(() => { this.loading = false })
|
|
||||||
})
|
|
||||||
},
|
},
|
||||||
handleReadingPeriod() {
|
handleReadingPeriod() {
|
||||||
this.readPeriodVisible = true
|
this.readPeriodVisible = true
|
||||||
|
@ -487,37 +803,46 @@ export default {
|
||||||
id: ReadingPlan.Id,
|
id: ReadingPlan.Id,
|
||||||
TrialReadingCriterionId: this.TrialReadingCriterionId,
|
TrialReadingCriterionId: this.TrialReadingCriterionId,
|
||||||
// subjectId: row.SubjectId
|
// subjectId: row.SubjectId
|
||||||
subjectId: ReadingPlan.SubjectId
|
subjectId: ReadingPlan.SubjectId,
|
||||||
}
|
}
|
||||||
getReadModule(param).then(res => {
|
getReadModule(param)
|
||||||
this.currentData = Object.assign({}, ReadingPlan)
|
.then((res) => {
|
||||||
// this.currentData.SubjectId = row.SubjectId
|
this.currentData = Object.assign({}, ReadingPlan)
|
||||||
// this.currentData.SiteId = row.SiteId
|
// this.currentData.SubjectId = row.SubjectId
|
||||||
// this.currentData.TrialId = this.trialId
|
// this.currentData.SiteId = row.SiteId
|
||||||
this.currentData.Stakeholders = res.Result.StakeholderNames.join(', ')
|
// this.currentData.TrialId = this.trialId
|
||||||
this.dialogVisible = true
|
this.currentData.Stakeholders = res.Result.StakeholderNames.join(', ')
|
||||||
this.loading = false
|
this.dialogVisible = true
|
||||||
}).catch(() => { this.loading = false })
|
this.loading = false
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
},
|
},
|
||||||
// 获取site下拉框数据
|
// 获取site下拉框数据
|
||||||
getSite() {
|
getSite() {
|
||||||
getTrialSiteSelect(this.trialId).then(res => {
|
getTrialSiteSelect(this.trialId).then((res) => {
|
||||||
this.siteOptions = res.Result
|
this.siteOptions = res.Result
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
handleExportSubject() {
|
handleExportSubject() {
|
||||||
getSubjectProgress_Export(this.searchData).then(res => {
|
getSubjectProgress_Export(this.searchData)
|
||||||
}).catch(() => {})
|
.then((res) => {})
|
||||||
|
.catch(() => {})
|
||||||
},
|
},
|
||||||
handleExportPeriod() {
|
handleExportPeriod() {
|
||||||
getReadingPeriodList_Export(this.searchData).then(res => {
|
getReadingPeriodList_Export(this.searchData)
|
||||||
}).catch(() => {})
|
.then((res) => {})
|
||||||
|
.catch(() => {})
|
||||||
},
|
},
|
||||||
getTrialCriterionList() {
|
getTrialCriterionList() {
|
||||||
getTrialCriterionList(this.trialId, false).then(res => {
|
getTrialCriterionList(this.trialId, false)
|
||||||
this.trialCriterionList = res.Result
|
.then((res) => {
|
||||||
this.TrialReadingCriterionId = this.trialCriterionList[0].TrialReadingCriterionId
|
this.trialCriterionList = res.Result
|
||||||
}).catch(() => {})
|
this.TrialReadingCriterionId =
|
||||||
|
this.trialCriterionList[0].TrialReadingCriterionId
|
||||||
|
})
|
||||||
|
.catch(() => {})
|
||||||
},
|
},
|
||||||
handleSearch() {
|
handleSearch() {
|
||||||
this.searchData.PageIndex = 1
|
this.searchData.PageIndex = 1
|
||||||
|
@ -546,7 +871,11 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
cellStyle({ row, column, rowIndex, columnIndex }) {
|
cellStyle({ row, column, rowIndex, columnIndex }) {
|
||||||
if (columnIndex > 2 && (row.Data.length >= columnIndex - 2) && column.property) {
|
if (
|
||||||
|
columnIndex > 2 &&
|
||||||
|
row.Data.length >= columnIndex - 2 &&
|
||||||
|
column.property
|
||||||
|
) {
|
||||||
const index = column.property.substring(4) * 1
|
const index = column.property.substring(4) * 1
|
||||||
// 0 计划内访视; 1 计划外访视; 2 阅片期; 3 全局阅片; 4 裁判; 5肿瘤学
|
// 0 计划内访视; 1 计划外访视; 2 阅片期; 3 全局阅片; 4 裁判; 5肿瘤学
|
||||||
const type = row.Data[index].ModuleType
|
const type = row.Data[index].ModuleType
|
||||||
|
@ -557,44 +886,59 @@ export default {
|
||||||
return { 'vertical-align': 'top' }
|
return { 'vertical-align': 'top' }
|
||||||
} else if ((type === 0 || type === 1) && status === 1) {
|
} else if ((type === 0 || type === 1) && status === 1) {
|
||||||
// 计划访视 影像质控 (蓝色)
|
// 计划访视 影像质控 (蓝色)
|
||||||
return { 'background-color': 'rgb(189,215,238)', 'vertical-align': 'top' }
|
return {
|
||||||
|
'background-color': 'rgb(189,215,238)',
|
||||||
|
'vertical-align': 'top',
|
||||||
|
}
|
||||||
} else if ((type === 0 || type === 1) && status === 2) {
|
} else if ((type === 0 || type === 1) && status === 2) {
|
||||||
// 计划访视 一致性核查 (黄色)
|
// 计划访视 一致性核查 (黄色)
|
||||||
return { 'background-color': 'rgb(255,217,102)', 'vertical-align': 'top' }
|
return {
|
||||||
|
'background-color': 'rgb(255,217,102)',
|
||||||
|
'vertical-align': 'top',
|
||||||
|
}
|
||||||
} else if ((type === 0 || type === 1) && status === 3) {
|
} else if ((type === 0 || type === 1) && status === 3) {
|
||||||
// 计划访视 任务分配 (绿色)
|
// 计划访视 任务分配 (绿色)
|
||||||
return { 'background-color': 'rgb(169,208,142)', 'vertical-align': 'top' }
|
return {
|
||||||
|
'background-color': 'rgb(169,208,142)',
|
||||||
|
'vertical-align': 'top',
|
||||||
|
}
|
||||||
} else if ((type === 0 || type === 1) && status === 4) {
|
} else if ((type === 0 || type === 1) && status === 4) {
|
||||||
// 计划访视 影像阅片 (绿色)
|
// 计划访视 影像阅片 (绿色)
|
||||||
return { 'background-color': 'rgb(169,208,142)', 'vertical-align': 'top' }
|
return {
|
||||||
|
'background-color': 'rgb(169,208,142)',
|
||||||
|
'vertical-align': 'top',
|
||||||
|
}
|
||||||
} else if ((type === 0 || type === 1) && status === 5) {
|
} else if ((type === 0 || type === 1) && status === 5) {
|
||||||
// 计划访视 阅片完成 (橙色)
|
// 计划访视 阅片完成 (橙色)
|
||||||
return { 'background-color': 'rgb(244,176,132)', 'vertical-align': 'top' }
|
return {
|
||||||
|
'background-color': 'rgb(244,176,132)',
|
||||||
|
'vertical-align': 'top',
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.reading-period{
|
.reading-period {
|
||||||
::v-deep.search {
|
::v-deep.search {
|
||||||
padding: 0px !important;
|
padding: 0px !important;
|
||||||
}
|
|
||||||
}
|
|
||||||
::v-deep .hidden-row{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
::v-deep .el-dialog__body {
|
|
||||||
padding: 0px 20px;
|
|
||||||
}
|
|
||||||
::v-deep .el-dialog__header {
|
|
||||||
padding: 10px 20px;
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
::v-deep .hidden-row {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
::v-deep .el-dialog__body {
|
||||||
|
padding: 0px 20px;
|
||||||
|
}
|
||||||
|
::v-deep .el-dialog__header {
|
||||||
|
padding: 10px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
::v-deep .el-tag--danger.el-tag--dark {
|
::v-deep .el-tag--danger.el-tag--dark {
|
||||||
// background-color: #f56c6c!important;
|
// background-color: #f56c6c!important;
|
||||||
border-color: none!important;
|
border-color: none !important;
|
||||||
// color: #fff!important;
|
// color: #fff!important;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
v-if="isManage && hasEdit && !viewStatus"
|
v-if="isManage && hasEdit && !viewStatus"
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="rowData.IsConfirmRecord"
|
v-model="DATA.IsConfirmRecord"
|
||||||
:disabled="rowBtnStatus === 'edit'"
|
:disabled="rowBtnStatus === 'edit'"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
v-if="isManage && hasEdit && !viewStatus"
|
v-if="isManage && hasEdit && !viewStatus"
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="rowData.IsEnable"
|
v-model="DATA.IsEnable"
|
||||||
:disabled="rowBtnStatus === 'edit'"
|
:disabled="rowBtnStatus === 'edit'"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
|
@ -54,7 +54,7 @@
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div class="line"></div>
|
<div class="line" v-if="!viewStatus"></div>
|
||||||
<!-- 搜索框 -->
|
<!-- 搜索框 -->
|
||||||
<div class="search" style="position: relative">
|
<div class="search" style="position: relative">
|
||||||
<el-form :inline="true" class="base-search-form">
|
<el-form :inline="true" class="base-search-form">
|
||||||
|
@ -421,6 +421,8 @@ export default {
|
||||||
uploadPath: null,
|
uploadPath: null,
|
||||||
faccept: ['.pdf'],
|
faccept: ['.pdf'],
|
||||||
limitLength: 0,
|
limitLength: 0,
|
||||||
|
|
||||||
|
DATA: {},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
@ -710,7 +712,7 @@ export default {
|
||||||
async saveRowData() {
|
async saveRowData() {
|
||||||
try {
|
try {
|
||||||
this.rowBtnLoading = true
|
this.rowBtnLoading = true
|
||||||
let res = await addOrUpdateTrialFileType(this.rowData)
|
let res = await addOrUpdateTrialFileType(this.DATA)
|
||||||
this.rowBtnLoading = false
|
this.rowBtnLoading = false
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
this.rowBtnStatus = 'edit'
|
this.rowBtnStatus = 'edit'
|
||||||
|
@ -757,10 +759,17 @@ export default {
|
||||||
watch: {
|
watch: {
|
||||||
Id: {
|
Id: {
|
||||||
handler() {
|
handler() {
|
||||||
|
this.rowBtnStatus = 'edit'
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
immediate: true,
|
immediate: true,
|
||||||
},
|
},
|
||||||
|
rowData: {
|
||||||
|
handler() {
|
||||||
|
this.DATA = Object.assign({}, this.rowData)
|
||||||
|
},
|
||||||
|
immediate: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
let typeArr = ['', 'Report', 'Doc', 'Record', 'Reviewer', 'Template']
|
let typeArr = ['', 'Report', 'Doc', 'Record', 'Reviewer', 'Template']
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<i class="el-icon-folder-opened"></i>
|
<i class="el-icon-folder-opened"></i>
|
||||||
<span>{{ $fd('ArchiveType', item.ArchiveTypeEnum) }}</span>
|
<span>{{ $fd('ArchiveType', item.ArchiveTypeEnum) }}</span>
|
||||||
<i
|
<i
|
||||||
class="el-icon-circle-plus menuAdd"
|
class="el-icon-circle-plus menuAdd"
|
||||||
:title="$t('trials:trialDocument:menu:add')"
|
:title="$t('trials:trialDocument:menu:add')"
|
||||||
@click.stop="addMenu(item.ArchiveTypeEnum)"
|
@click.stop="addMenu(item.ArchiveTypeEnum)"
|
||||||
v-if="isManage && hasAdd && !viewStatus && item.ArchiveTypeEnum !== 5"
|
v-if="isManage && hasAdd && !viewStatus && item.ArchiveTypeEnum !== 5"
|
||||||
|
@ -18,7 +18,9 @@
|
||||||
@click.stop="handleSelect(data, item.ArchiveTypeEnum)"
|
@click.stop="handleSelect(data, item.ArchiveTypeEnum)"
|
||||||
>
|
>
|
||||||
<i class="el-icon-s-order" style="margin-left: 5px"></i>
|
<i class="el-icon-s-order" style="margin-left: 5px"></i>
|
||||||
<span class="menuItem">{{ isEN ? data.Name : data.NameCN }}</span>
|
<span class="menuItem" :title="isEN ? data.Name : data.NameCN">{{
|
||||||
|
isEN ? data.Name : data.NameCN
|
||||||
|
}}</span>
|
||||||
<div
|
<div
|
||||||
@click="NATIVE"
|
@click="NATIVE"
|
||||||
class="menuBtnBox"
|
class="menuBtnBox"
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
>
|
>
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
:disabled="!isManage || rowBtnStatus === 'edit'"
|
:disabled="!isManage || rowBtnStatus === 'edit'"
|
||||||
v-model="rowData.FirstFinalDate"
|
v-model="DATA.FirstFinalDate"
|
||||||
type="date"
|
type="date"
|
||||||
value-format="yyyy-MM-dd"
|
value-format="yyyy-MM-dd"
|
||||||
format="yyyy-MM-dd"
|
format="yyyy-MM-dd"
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
v-if="isManage && hasEdit && !viewStatus"
|
v-if="isManage && hasEdit && !viewStatus"
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="rowData.IsConfirmRecord"
|
v-model="DATA.IsConfirmRecord"
|
||||||
:disabled="rowBtnStatus === 'edit'"
|
:disabled="rowBtnStatus === 'edit'"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
|
@ -38,7 +38,7 @@
|
||||||
v-if="isManage && hasEdit && !viewStatus"
|
v-if="isManage && hasEdit && !viewStatus"
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="rowData.IsEnable"
|
v-model="DATA.IsEnable"
|
||||||
:disabled="rowBtnStatus === 'edit'"
|
:disabled="rowBtnStatus === 'edit'"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
|
@ -494,6 +494,7 @@ export default {
|
||||||
upload: null,
|
upload: null,
|
||||||
},
|
},
|
||||||
selectData: {},
|
selectData: {},
|
||||||
|
DATA: {},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
@ -736,7 +737,7 @@ export default {
|
||||||
async saveRowData() {
|
async saveRowData() {
|
||||||
try {
|
try {
|
||||||
this.rowBtnLoading = true
|
this.rowBtnLoading = true
|
||||||
let res = await addOrUpdateTrialFileType(this.rowData)
|
let res = await addOrUpdateTrialFileType(this.DATA)
|
||||||
this.rowBtnLoading = false
|
this.rowBtnLoading = false
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
this.rowBtnStatus = 'edit'
|
this.rowBtnStatus = 'edit'
|
||||||
|
@ -764,10 +765,17 @@ export default {
|
||||||
watch: {
|
watch: {
|
||||||
Id: {
|
Id: {
|
||||||
handler() {
|
handler() {
|
||||||
|
this.rowBtnStatus = 'edit'
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
immediate: true,
|
immediate: true,
|
||||||
},
|
},
|
||||||
|
rowData: {
|
||||||
|
handler() {
|
||||||
|
this.DATA = Object.assign({}, this.rowData)
|
||||||
|
},
|
||||||
|
immediate: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
isEN() {
|
isEN() {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
v-if="isManage && hasEdit && !viewStatus"
|
v-if="isManage && hasEdit && !viewStatus"
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="rowData.IsEnable"
|
v-model="DATA.IsEnable"
|
||||||
:disabled="rowBtnStatus === 'edit'"
|
:disabled="rowBtnStatus === 'edit'"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
|
@ -243,7 +243,7 @@
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<viewer
|
<viewer
|
||||||
:ref="scope.row.TrialFileRecord.FilePath"
|
:ref="scope.row.TrialFileRecord.FilePath"
|
||||||
style="margin: 0 10px;display: inline-block;"
|
style="margin: 0 10px; display: inline-block"
|
||||||
:images="[
|
:images="[
|
||||||
`${OSSclientConfig.basePath}${scope.row.TrialFileRecord.FilePath}`,
|
`${OSSclientConfig.basePath}${scope.row.TrialFileRecord.FilePath}`,
|
||||||
]"
|
]"
|
||||||
|
@ -376,6 +376,8 @@ export default {
|
||||||
uploadPath: null,
|
uploadPath: null,
|
||||||
faccept: ['.pdf'],
|
faccept: ['.pdf'],
|
||||||
limitLength: 0,
|
limitLength: 0,
|
||||||
|
|
||||||
|
DATA: {},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
@ -654,7 +656,7 @@ export default {
|
||||||
async saveRowData() {
|
async saveRowData() {
|
||||||
try {
|
try {
|
||||||
this.rowBtnLoading = true
|
this.rowBtnLoading = true
|
||||||
let res = await addOrUpdateTrialFileType(this.rowData)
|
let res = await addOrUpdateTrialFileType(this.DATA)
|
||||||
this.rowBtnLoading = false
|
this.rowBtnLoading = false
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
this.rowBtnStatus = 'edit'
|
this.rowBtnStatus = 'edit'
|
||||||
|
@ -715,10 +717,17 @@ export default {
|
||||||
watch: {
|
watch: {
|
||||||
Id: {
|
Id: {
|
||||||
handler() {
|
handler() {
|
||||||
|
this.rowBtnStatus = 'edit'
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
immediate: true,
|
immediate: true,
|
||||||
},
|
},
|
||||||
|
rowData: {
|
||||||
|
handler() {
|
||||||
|
this.DATA = Object.assign({}, this.rowData)
|
||||||
|
},
|
||||||
|
immediate: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
let typeArr = ['', 'Report', 'Doc', 'Record', 'Reviewer', 'Template']
|
let typeArr = ['', 'Report', 'Doc', 'Record', 'Reviewer', 'Template']
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
v-if="isManage && hasEdit && !viewStatus"
|
v-if="isManage && hasEdit && !viewStatus"
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="rowData.IsConfirmRecord"
|
v-model="DATA.IsConfirmRecord"
|
||||||
:disabled="rowBtnStatus === 'edit'"
|
:disabled="rowBtnStatus === 'edit'"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
v-if="isManage && hasEdit && !viewStatus"
|
v-if="isManage && hasEdit && !viewStatus"
|
||||||
>
|
>
|
||||||
<el-radio-group
|
<el-radio-group
|
||||||
v-model="rowData.IsEnable"
|
v-model="DATA.IsEnable"
|
||||||
:disabled="rowBtnStatus === 'edit'"
|
:disabled="rowBtnStatus === 'edit'"
|
||||||
>
|
>
|
||||||
<el-radio
|
<el-radio
|
||||||
|
@ -54,7 +54,7 @@
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<div class="line"></div>
|
<div class="line" v-if="!viewStatus"></div>
|
||||||
<!-- 搜索框 -->
|
<!-- 搜索框 -->
|
||||||
<div class="search" style="position: relative">
|
<div class="search" style="position: relative">
|
||||||
<el-form :inline="true" class="base-search-form">
|
<el-form :inline="true" class="base-search-form">
|
||||||
|
@ -504,6 +504,7 @@ export default {
|
||||||
status: 'add',
|
status: 'add',
|
||||||
upload: null,
|
upload: null,
|
||||||
},
|
},
|
||||||
|
DATA: {},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
@ -802,7 +803,7 @@ export default {
|
||||||
async saveRowData() {
|
async saveRowData() {
|
||||||
try {
|
try {
|
||||||
this.rowBtnLoading = true
|
this.rowBtnLoading = true
|
||||||
let res = await addOrUpdateTrialFileType(this.rowData)
|
let res = await addOrUpdateTrialFileType(this.DATA)
|
||||||
this.rowBtnLoading = false
|
this.rowBtnLoading = false
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
this.rowBtnStatus = 'edit'
|
this.rowBtnStatus = 'edit'
|
||||||
|
@ -852,10 +853,17 @@ export default {
|
||||||
watch: {
|
watch: {
|
||||||
Id: {
|
Id: {
|
||||||
handler() {
|
handler() {
|
||||||
|
this.rowBtnStatus = 'edit'
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
immediate: true,
|
immediate: true,
|
||||||
},
|
},
|
||||||
|
rowData: {
|
||||||
|
handler() {
|
||||||
|
this.DATA = Object.assign({}, this.rowData)
|
||||||
|
},
|
||||||
|
immediate: true,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
let typeArr = ['', 'Report', 'Doc', 'Record', 'Reviewer', 'Template']
|
let typeArr = ['', 'Report', 'Doc', 'Record', 'Reviewer', 'Template']
|
||||||
|
|
|
@ -432,6 +432,16 @@
|
||||||
@click="getCRCUploadedStudyInfo('noneDicom')"
|
@click="getCRCUploadedStudyInfo('noneDicom')"
|
||||||
>
|
>
|
||||||
{{ $t('trials:audit:button:downLoadAllNonDiocms') }}
|
{{ $t('trials:audit:button:downLoadAllNonDiocms') }}
|
||||||
|
</el-button>
|
||||||
|
<!-- 预览 -->
|
||||||
|
<el-button
|
||||||
|
size="small"
|
||||||
|
:disabled="noneDicomStudyList.length === 0"
|
||||||
|
type="primary"
|
||||||
|
style="margin-left: 10px"
|
||||||
|
@click="handleViewAllNoneDicoms(false)"
|
||||||
|
>
|
||||||
|
{{ $t('trials:audit:tip:nonDicomsPreviewAll') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- 预览阅片 -->
|
<!-- 预览阅片 -->
|
||||||
<el-button
|
<el-button
|
||||||
|
@ -443,16 +453,6 @@
|
||||||
>
|
>
|
||||||
{{ $t('trials:audit:tip:nonDicomsPreviewAllReading') }}
|
{{ $t('trials:audit:tip:nonDicomsPreviewAllReading') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- 预览 -->
|
|
||||||
<el-button
|
|
||||||
size="small"
|
|
||||||
:disabled="noneDicomStudyList.length === 0"
|
|
||||||
type="primary"
|
|
||||||
style="margin-left: 10px"
|
|
||||||
@click="handleViewAllNoneDicoms(false)"
|
|
||||||
>
|
|
||||||
{{ $t('trials:audit:tip:nonDicomsPreviewAll') }}
|
|
||||||
</el-button>
|
|
||||||
</div>
|
</div>
|
||||||
<el-table
|
<el-table
|
||||||
:data="noneDicomStudyList"
|
:data="noneDicomStudyList"
|
||||||
|
|
Loading…
Reference in New Issue