列表优化

uat_us
caiyiling 2024-05-15 16:32:26 +08:00
parent 35abb4d573
commit 960acf2007
18 changed files with 619 additions and 346 deletions

View File

@ -3,6 +3,12 @@
<BaseContainer> <BaseContainer>
<template slot="search-container"> <template slot="search-container">
<el-form :inline="true"> <el-form :inline="true">
<!-- 是否加急 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:consistencyAnalysis:table:isUrgent')">
<el-select v-model="searchData.IsUrgent" clearable style="width:120px;">
<el-option v-for="item of $d.YesOrNo" :key="'IsUrgent' + item.label" :value="item.value" :label="item.label" />
</el-select>
</el-form-item>
<el-form-item :label="$t('trials:consistencyCheck:table:siteId')"> <el-form-item :label="$t('trials:consistencyCheck:table:siteId')">
<!-- 中心编号 --> <!-- 中心编号 -->
<el-select v-model="searchData.TrialSiteCode" clearable filterable style="width:120px;"> <el-select v-model="searchData.TrialSiteCode" clearable filterable style="width:120px;">
@ -26,10 +32,10 @@
clearable clearable
/> />
</el-form-item> </el-form-item>
<!-- 角色 --> <!-- 任务类型 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:consistencyAnalysis:table:role')"> <el-form-item style="margin-bottom:10px" :label="$t('trials:consistencyAnalysis:table:taskType')">
<el-select v-model="searchData.ArmEnum" clearable style="width:120px;"> <el-select v-model="searchData.ReadingCategory" clearable style="width:120px;">
<el-option v-for="item of $d.ArmEnum" :key="'ArmEnum' + item.label" :value="item.value" :label="item.label" /> <el-option v-for="item of $d.ReadingCategory" :key="'ReadingCategory' + item.label" :value="item.value" :label="item.label" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 阅片人 --> <!-- 阅片人 -->
@ -38,16 +44,29 @@
<el-option v-for="item of DoctorUserList" :key="'DoctorUserId' + item.DoctorUserId" :value="item.DoctorUserId" :label="`${item.UserName}(${item.FullName})`" /> <el-option v-for="item of DoctorUserList" :key="'DoctorUserId' + item.DoctorUserId" :value="item.DoctorUserId" :label="`${item.UserName}(${item.FullName})`" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 角色 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:consistencyAnalysis:table:role')">
<el-select v-model="searchData.ArmEnum" clearable style="width:120px;">
<el-option v-for="item of $d.ArmEnum" :key="'ArmEnum' + item.label" :value="item.value" :label="item.label" />
</el-select>
</el-form-item>
<!-- 阅片标准 --> <!-- 阅片标准 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:consistencyAnalysis:table:criterionName')"> <el-form-item style="margin-bottom:10px" :label="$t('trials:consistencyAnalysis:table:criterionName')">
<el-select v-model="searchData.TrialReadingCriterionId" clearable style="width:120px;"> <el-select v-model="searchData.TrialReadingCriterionId" clearable style="width:120px;">
<el-option v-for="item of trialCriterionList" :key="'TrialReadingCriterionId' + item.TrialReadingCriterionId" :value="item.TrialReadingCriterionId" :label="item.TrialReadingCriterionName" /> <el-option v-for="item of trialCriterionList" :key="'TrialReadingCriterionId' + item.TrialReadingCriterionId" :value="item.TrialReadingCriterionId" :label="item.TrialReadingCriterionName" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 是否加急 --> <!-- 一致性分析类别 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:consistencyAnalysis:table:isUrgent')"> <el-form-item style="margin-bottom:10px" :label="$t('trials:consistencyAnalysis:table:category')">
<el-select v-model="searchData.IsUrgent" clearable style="width:120px;"> <el-select v-model="searchData.IsSelfAnalysis" clearable style="width:120px;">
<el-option v-for="item of $d.YesOrNo" :key="'IsUrgent' + item.label" :value="item.value" :label="item.label" /> <el-option v-for="item of $d.IsSelfAnalysis" :key="'IsSelfAnalysis' + item.label" :value="item.value" :label="item.label" />
</el-select>
</el-form-item>
<!-- 阅片状态 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:consistencyAnalysis:table:reviewStatus')">
<el-select v-model="searchData.ReadingTaskState" clearable style="width:120px;">
<el-option v-for="item of $d.ReadingTaskState" :key="'ReadingTaskState' + item.label" :value="item.value" :label="item.label" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 任务状态 --> <!-- 任务状态 -->
@ -56,18 +75,8 @@
<el-option v-for="item of $d.TaskState" :key="'TaskState' + item.label" :value="item.value" :label="item.label" /> <el-option v-for="item of $d.TaskState" :key="'TaskState' + item.label" :value="item.value" :label="item.label" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 任务类型 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:consistencyAnalysis:table:taskType')">
<el-select v-model="searchData.ReadingCategory" clearable style="width:120px;">
<el-option v-for="item of $d.ReadingCategory" :key="'ReadingCategory' + item.label" :value="item.value" :label="item.label" />
</el-select>
</el-form-item>
<!-- 一致性分析类别 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:consistencyAnalysis:table:category')">
<el-select v-model="searchData.IsSelfAnalysis" clearable style="width:120px;">
<el-option v-for="item of $d.IsSelfAnalysis" :key="'IsSelfAnalysis' + item.label" :value="item.value" :label="item.label" />
</el-select>
</el-form-item>
<!-- 分配状态 --> <!-- 分配状态 -->
<!-- <el-form-item style="margin-bottom:10px" label="分配状态"> <!-- <el-form-item style="margin-bottom:10px" label="分配状态">
<el-select v-model="searchData.TaskAllocationState" clearable style="width:120px;"> <el-select v-model="searchData.TaskAllocationState" clearable style="width:120px;">
@ -84,6 +93,16 @@
@change="changeTimeList" @change="changeTimeList"
/> />
</el-form-item> </el-form-item>
<!-- 完成时间 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:consistencyAnalysis:table:signTime')">
<el-date-picker
v-model="timeList2"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
:default-time="['00:00:00', '23:59:59']"
@change="changeTimeList2"
/>
</el-form-item>
<el-form-item style="margin-bottom:10px"> <el-form-item style="margin-bottom:10px">
<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') }}
@ -138,14 +157,6 @@
<el-tag v-else type="primary">{{ $fd('YesOrNo', scope.row.IsUrgent) }}</el-tag> <el-tag v-else type="primary">{{ $fd('YesOrNo', scope.row.IsUrgent) }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<!-- 任务编号 -->
<el-table-column
prop="TaskCode"
:label="$t('trials:consistencyAnalysis:table:taskCode')"
width="120"
sortable="custom"
show-overflow-tooltip
/>
<!-- 中心编号 --> <!-- 中心编号 -->
<el-table-column <el-table-column
prop="TrialSiteCode" prop="TrialSiteCode"
@ -163,13 +174,24 @@
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.SubjectCode}} <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>
<span v-if="scope.row.IsReReadingOrBackInfluenceAnalysis" class="status-primary-circle"> <span v-if="scope.row.IsReReadingOrBackInfluenceAnalysis" class="status-primary-circle">
<!-- --> <!-- -->
{{$t('trials:consistencyAnalysis:table:impact')}} {{$t('trials:consistencyAnalysis:table:impact')}}
</span> </span>
</template> </template>
</el-table-column> </el-table-column>
<!-- 任务编号 -->
<!-- <el-table-column
prop="TaskCode"
:label="$t('trials:consistencyAnalysis:table:taskCode')"
width="120"
sortable="custom"
show-overflow-tooltip
/> -->
<!-- 任务名称 --> <!-- 任务名称 -->
<el-table-column <el-table-column
prop="VisitTaskNum" prop="VisitTaskNum"
@ -179,17 +201,20 @@
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.TaskName}} <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> </template>
</el-table-column> </el-table-column>
<!-- 盲态任务标识 --> <!-- 盲态任务标识 -->
<el-table-column <!-- <el-table-column
prop="TaskBlindName" prop="TaskBlindName"
:label="$t('trials:consistencyAnalysis:table:taskBlindName')" :label="$t('trials:consistencyAnalysis:table:taskBlindName')"
width="160" width="160"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
/> /> -->
<!-- 任务类型 --> <!-- 任务类型 -->
<el-table-column <el-table-column
prop="ReadingCategory" prop="ReadingCategory"
@ -205,17 +230,16 @@
<el-tag v-if="scope.row.ReadingCategory === 5" type="warning">{{ $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> </template>
</el-table-column> </el-table-column>
<!-- 一致性分析类别 --> <!-- 阅片人 -->
<el-table-column <el-table-column
prop="IsSelfAnalysis" prop="UserName"
:label="$t('trials:consistencyAnalysis:table:category')" :label="$t('trials:consistencyAnalysis:table:reader')"
width="160" width="120"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.IsSelfAnalysis" type="primary">{{ $fd('IsSelfAnalysis', scope.row.IsSelfAnalysis) }}</el-tag> {{scope.row.UserName}}({{scope.row.FullName}})
<el-tag v-else type="warning">{{ $fd('IsSelfAnalysis', scope.row.IsSelfAnalysis) }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<!-- 角色 --> <!-- 角色 -->
@ -235,18 +259,6 @@
<el-tag v-if="scope.row.ArmEnum === 8" style="border-color: #4c2791;color:#4c2791;">{{$fd('ArmEnum', scope.row.ArmEnum)}}</el-tag> <el-tag v-if="scope.row.ArmEnum === 8" style="border-color: #4c2791;color:#4c2791;">{{$fd('ArmEnum', scope.row.ArmEnum)}}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<!-- 阅片人 -->
<el-table-column
prop="UserName"
:label="$t('trials:consistencyAnalysis:table:reader')"
width="120"
sortable="custom"
show-overflow-tooltip
>
<template slot-scope="scope">
{{scope.row.UserName}}({{scope.row.FullName}})
</template>
</el-table-column>
<!-- 阅片标准 --> <!-- 阅片标准 -->
<el-table-column <el-table-column
prop="TrialReadingCriterionName" prop="TrialReadingCriterionName"
@ -255,6 +267,59 @@
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 一致性分析类别 -->
<el-table-column
prop="IsSelfAnalysis"
:label="$t('trials:consistencyAnalysis:table:category')"
width="170"
sortable="custom"
show-overflow-tooltip
>
<template slot-scope="scope">
<el-tag v-if="scope.row.IsSelfAnalysis" type="primary">{{ $fd('IsSelfAnalysis', scope.row.IsSelfAnalysis) }}</el-tag>
<el-tag v-else type="warning">{{ $fd('IsSelfAnalysis', scope.row.IsSelfAnalysis) }}</el-tag>
</template>
</el-table-column>
<!-- 阅片状态 -->
<el-table-column
prop="ReadingTaskState"
:label="$t('trials:consistencyAnalysis:table:reviewStatus')"
width="140"
sortable="custom"
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="AllocateTime"
:label="$t('trials:consistencyAnalysis:table:auditTime')"
width="160"
sortable="custom"
show-overflow-tooltip
>
</el-table-column>
<!-- 建议完成时间 -->
<!-- <el-table-column
prop="SuggesteFinishedTime"
:label="$t('trials:consistencyAnalysis:table:suggesteFinishedTime')"
width="140"
sortable="custom"
show-overflow-tooltip
/>
-->
<!-- 阅片完成时间 -->
<el-table-column
prop="SignTime"
:label="$t('trials:consistencyAnalysis:table:signTime')"
width="160"
sortable="custom"
show-overflow-tooltip
/>
<!-- 任务状态 --> <!-- 任务状态 -->
<el-table-column <el-table-column
prop="TaskState" prop="TaskState"
@ -271,46 +336,8 @@
<el-tag v-if="scope.row.TaskState === 5" type="danger">{{ $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> </template>
</el-table-column> </el-table-column>
<!-- 分配时间 -->
<el-table-column
prop="AllocateTime"
:label="$t('trials:consistencyAnalysis:table:auditTime')"
width="160"
sortable="custom"
show-overflow-tooltip
>
</el-table-column>
<!-- 建议完成时间 -->
<el-table-column
prop="SuggesteFinishedTime"
:label="$t('trials:consistencyAnalysis:table:suggesteFinishedTime')"
width="140"
sortable="custom"
show-overflow-tooltip
/>
<!-- 阅片状态 -->
<el-table-column
prop="ReadingTaskState"
:label="$t('trials:consistencyAnalysis:table:reviewStatus')"
width="140"
sortable="custom"
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="SignTime"
:label="$t('trials:consistencyAnalysis:table:signTime')"
width="140"
sortable="custom"
show-overflow-tooltip
/>
<!-- 申请状态 --> <!-- 申请状态 -->
<el-table-column <!-- <el-table-column
prop="ReReadingApplyState" prop="ReReadingApplyState"
:label="$t('trials:consistencyAnalysis:table:applyStatus')" :label="$t('trials:consistencyAnalysis:table:applyStatus')"
width="180" width="180"
@ -322,9 +349,9 @@
<el-tag v-if="scope.row.ReReadingApplyState === 2" type="primary">{{ $fd('ReReadingApplyState', scope.row.ReReadingApplyState) }}</el-tag> <el-tag v-if="scope.row.ReReadingApplyState === 2" type="primary">{{ $fd('ReReadingApplyState', scope.row.ReReadingApplyState) }}</el-tag>
<el-tag v-if="scope.row.ReReadingApplyState === 3" type="warning">{{ $fd('ReReadingApplyState', scope.row.ReReadingApplyState) }}</el-tag> <el-tag v-if="scope.row.ReReadingApplyState === 3" type="warning">{{ $fd('ReReadingApplyState', scope.row.ReReadingApplyState) }}</el-tag>
</template> </template>
</el-table-column> </el-table-column> -->
<!-- 是否受到退回影响 --> <!-- 是否受到退回影响 -->
<el-table-column <!-- <el-table-column
prop="IsReReadingOrBackInfluenceAnalysis" prop="IsReReadingOrBackInfluenceAnalysis"
:label="$t('trials:consistencyAnalysis:table:impactInfluence')" :label="$t('trials:consistencyAnalysis:table:impactInfluence')"
width="160" width="160"
@ -334,7 +361,7 @@
<el-tag v-if="!scope.row.IsReReadingOrBackInfluenceAnalysis" type="danger">{{ $fd('YesOrNo', scope.row.IsReReadingOrBackInfluenceAnalysis) }}</el-tag> <el-tag v-if="!scope.row.IsReReadingOrBackInfluenceAnalysis" type="danger">{{ $fd('YesOrNo', scope.row.IsReReadingOrBackInfluenceAnalysis) }}</el-tag>
<el-tag v-if="scope.row.IsReReadingOrBackInfluenceAnalysis" type="primary">{{ $fd('YesOrNo', scope.row.IsReReadingOrBackInfluenceAnalysis) }}</el-tag> <el-tag v-if="scope.row.IsReReadingOrBackInfluenceAnalysis" type="primary">{{ $fd('YesOrNo', scope.row.IsReReadingOrBackInfluenceAnalysis) }}</el-tag>
</template> </template>
</el-table-column> </el-table-column> -->
<el-table-column <el-table-column
fixed="right" fixed="right"
:label="$t('common:action:action')" :label="$t('common:action:action')"
@ -674,7 +701,9 @@ const searchDataDefault = () => {
TaskAllocationState: null, TaskAllocationState: null,
BeginAllocateDate: null, BeginAllocateDate: null,
EndAllocateDate: null, EndAllocateDate: null,
TrialReadingCriterionId: null TrialReadingCriterionId: null,
BeginSignTime: null,
EndSignTime: null
} }
} }
export default { export default {
@ -707,6 +736,7 @@ export default {
ReaderRulesFormVisible: false, ReaderRulesFormVisible: false,
IsSelfAnalysis: true, IsSelfAnalysis: true,
timeList: [], timeList: [],
timeList2: [],
ApplyforReasonVisible: false, ApplyforReasonVisible: false,
ApplyforReasonForm: { ApplyforReasonForm: {
Type: null, Type: null,
@ -790,6 +820,15 @@ export default {
this.searchData.EndAllocateDate = null this.searchData.EndAllocateDate = null
} }
}, },
changeTimeList2() {
if (this.timeList2) {
this.searchData.BeginSignTime = this.timeList2[0]
this.searchData.EndSignTime = this.timeList2[1]
} else {
this.searchData.BeginSignTime = null
this.searchData.EndSignTime = null
}
},
// //
reReadingHistory(row) { reReadingHistory(row) {
this.$router.push({ path: `/trials/trials-panel/reading/reReadingTracking?trialId=${this.$route.query.trialId}&trialCode=${this.$route.query.trialCode}&researchProgramNo=${this.$route.query.researchProgramNo}&SiteId=${row.SiteId}&SubjectCode=${row.SubjectCode}&TaskName=${row.TaskName}&DoctorUserId=${row.DoctorUserId}` }) this.$router.push({ path: `/trials/trials-panel/reading/reReadingTracking?trialId=${this.$route.query.trialId}&trialCode=${this.$route.query.trialCode}&researchProgramNo=${this.$route.query.researchProgramNo}&SiteId=${row.SiteId}&SubjectCode=${row.SubjectCode}&TaskName=${row.TaskName}&DoctorUserId=${row.DoctorUserId}` })
@ -981,6 +1020,7 @@ export default {
}, },
handleReset() { handleReset() {
this.timeList = null this.timeList = null
this.timeList2 = null
this.searchData = searchDataDefault() this.searchData = searchDataDefault()
this.getList() this.getList()
}, },

View File

@ -32,7 +32,7 @@
/> />
</el-form-item> </el-form-item>
<!-- 盲态任务标识 --> <!-- 盲态任务标识 -->
<el-form-item <!-- <el-form-item
style="margin-bottom:10px" style="margin-bottom:10px"
:label="$t('trials:medicalFeedback:table:taskBlindName')" :label="$t('trials:medicalFeedback:table:taskBlindName')"
> >
@ -41,7 +41,7 @@
style="width:100px;" style="width:100px;"
clearable clearable
/> />
</el-form-item> </el-form-item> -->
<!-- 任务类型 --> <!-- 任务类型 -->
<el-form-item <el-form-item
style="margin-bottom:10px" style="margin-bottom:10px"
@ -78,8 +78,26 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 医学审核建议 --> <!-- 审核结论 -->
<el-form-item <el-form-item
style="margin-bottom:10px"
:label="$t('trials:medicalFeedback:button:isQuestions')"
>
<el-select
v-model="searchData.IsHaveQuestion"
clearable
style="width:120px;"
>
<el-option
v-for="item of $d.IsPass"
:key="'IsPass' + item.label"
:value="item.value"
:label="item.label"
/>
</el-select>
</el-form-item>
<!-- 医学审核建议 -->
<!-- <el-form-item
style="margin-bottom:10px" style="margin-bottom:10px"
:label="$t('trials:medicalFeedback:table:auditAdvice')" :label="$t('trials:medicalFeedback:table:auditAdvice')"
> >
@ -95,7 +113,7 @@
:label="item.label" :label="item.label"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item> -->
<!-- 是否认可 --> <!-- 是否认可 -->
<el-form-item <el-form-item
@ -371,6 +389,7 @@ const searchDataDefault = () => {
AuditState: null, AuditState: null,
AuditAdviceEnum: null, AuditAdviceEnum: null,
DoctorUserIdeaEnum: null, DoctorUserIdeaEnum: null,
IsHaveQuestion: null,
PageIndex: 1, PageIndex: 1,
PageSize: 20 PageSize: 20
} }

View File

@ -58,7 +58,7 @@
/> />
</el-form-item> </el-form-item>
<!-- 盲态任务标识 --> <!-- 盲态任务标识 -->
<el-form-item <!-- <el-form-item
style="margin-bottom:10px" style="margin-bottom:10px"
:label="$t('trials:medicalFeedback:table:taskBlindName')" :label="$t('trials:medicalFeedback:table:taskBlindName')"
> >
@ -67,22 +67,22 @@
style="width:100px;" style="width:100px;"
clearable clearable
/> />
</el-form-item> </el-form-item> -->
<!-- 阅片角色 --> <!-- 任务类型 -->
<el-form-item <el-form-item
style="margin-bottom:10px" style="margin-bottom:10px"
:label="$t('trials:medicalFeedback:table:armEnum')" :label="$t('trials:medicalFeedback:table:readingCategory')"
> >
<el-select <el-select
v-model="searchData.ArmEnum" v-model="searchData.ReadingCategory"
clearable clearable
style="width:120px;" style="width:120px;"
> >
<el-option <el-option
v-for="arm of $d.ArmEnum" v-for="r of $d.ReadingCategory"
:key="'ArmEnum' + arm.label" :key="'ReadingCategory' + r.label"
:value="arm.value" :value="r.value"
:label="arm.label" :label="r.label"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
@ -104,39 +104,64 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item style="margin-bottom:10px" :label="$t('trials:medicalFeedback:table:taskState')"> <!-- 阅片角色 -->
<el-select v-model="searchData.TaskState" clearable style="width:120px;">
<el-option v-for="i of $d.TaskState" :key="'TaskState' + i.label" :value="i.value" :label="i.label" />
</el-select>
</el-form-item>
<!-- 任务类型 -->
<el-form-item <el-form-item
style="margin-bottom:10px" style="margin-bottom:10px"
:label="$t('trials:medicalFeedback:table:readingCategory')" :label="$t('trials:medicalFeedback:table:armEnum')"
> >
<el-select <el-select
v-model="searchData.ReadingCategory" v-model="searchData.ArmEnum"
clearable clearable
style="width:120px;" style="width:120px;"
> >
<el-option <el-option
v-for="r of $d.ReadingCategory" v-for="arm of $d.ArmEnum"
:key="'ReadingCategory' + r.label" :key="'ArmEnum' + arm.label"
:value="r.value" :value="arm.value"
:label="r.label" :label="arm.label"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 审核状态 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:medicalFeedback:table:auditState')"> <el-form-item style="margin-bottom:10px" :label="$t('trials:medicalFeedback:table:auditState')">
<el-select v-model="searchData.AuditState" clearable style="width:120px;"> <el-select v-model="searchData.AuditState" clearable style="width:120px;">
<el-option v-for="i of $d.MedicalReviewAuditState" :key="'AuditState' + i.label" :value="i.value" :label="i.label" /> <el-option v-for="i of $d.MedicalReviewAuditState" :key="'AuditState' + i.label" :value="i.value" :label="i.label" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 任务状态 -->
<!-- <el-form-item style="margin-bottom:10px" :label="$t('trials:medicalFeedback:table:taskState')">
<el-select v-model="searchData.TaskState" clearable style="width:120px;">
<el-option v-for="i of $d.TaskState" :key="'TaskState' + i.label" :value="i.value" :label="i.label" />
</el-select>
</el-form-item> -->
<!-- 审核结论 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:medicalFeedback:table:IsHaveQuestion')">
<el-select v-model="searchData.IsHaveQuestion" clearable style="width:120px;">
<el-option v-for="item of $d.IsPass" :key="'IsHaveQuestion' + item.label" :value="item.value" :label="item.label" />
</el-select>
</el-form-item>
<!-- 审核建议 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:medicalFeedback:table:auditAdvice')">
<el-select v-model="searchData.AuditAdviceEnum" clearable style="width:120px;">
<el-option v-for="item of $d.AuditAdvice" :key="'AuditAdvice' + item.label" :value="item.value" :label="item.label" />
</el-select>
</el-form-item>
<!-- 阅片人是否认同 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:medicalFeedback:table:DoctorUserIdeaEnum')"> <el-form-item style="margin-bottom:10px" :label="$t('trials:medicalFeedback:table:DoctorUserIdeaEnum')">
<el-select v-model="searchData.DoctorUserIdeaEnum" clearable style="width:120px;"> <el-select v-model="searchData.DoctorUserIdeaEnum" clearable style="width:120px;">
<el-option v-for="i of $d.MedicalReviewDoctorUserIdea" :key="'DoctorUserIdeaEnum' + i.label" :value="i.value" :label="i.label" /> <el-option v-for="i of $d.MedicalReviewDoctorUserIdea" :key="'DoctorUserIdeaEnum' + i.label" :value="i.value" :label="i.label" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 审核分配时间 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:medicalFeedback:table:allocateTime')">
<el-date-picker
v-model="timeList"
value-format="yyyy-MM-dd HH:mm:ss"
type="datetimerange"
:default-time="['00:00:00', '23:59:59']"
@change="changeTimeList"
/>
</el-form-item>
<el-form-item style="margin-bottom:10px"> <el-form-item style="margin-bottom:10px">
<el-button <el-button
type="primary" type="primary"
@ -210,7 +235,14 @@
width="140" width="140"
sortable="custom" sortable="custom"
show-overflow-tooltip 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 <el-table-column
prop="TaskName" prop="TaskName"
@ -218,15 +250,22 @@
width="160" width="160"
sortable="custom" sortable="custom"
show-overflow-tooltip 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 <!-- <el-table-column
prop="TaskBlindName" prop="TaskBlindName"
:label="$t('trials:medicalFeedback:table:taskBlindName')" :label="$t('trials:medicalFeedback:table:taskBlindName')"
width="180" width="180"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
/> /> -->
<!-- 任务类型 --> <!-- 任务类型 -->
<el-table-column <el-table-column
prop="ReadingCategory" prop="ReadingCategory"
@ -262,20 +301,16 @@
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
<!-- 阅片任务状态 --> <!-- 阅片 -->
<el-table-column <el-table-column
prop="TaskState" prop="UserName"
:label="$t('trials:medicalFeedback:table:taskState')" :label="$t('trials:medicalFeedback:table:reader')"
width="160" width="120"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template v-if="scope.row.DoctorUser" slot-scope="scope">
<el-tag v-if="scope.row.TaskState === 0" type="primary">{{ $fd('TaskState', scope.row.TaskState) }}</el-tag> {{ scope.row.DoctorUser.UserName }}({{ scope.row.DoctorUser.FullName }})
<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> </template>
</el-table-column> </el-table-column>
<!-- 阅片角色 --> <!-- 阅片角色 -->
@ -318,51 +353,22 @@
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
<!-- 阅片 --> <!-- 阅片任务状态 -->
<el-table-column <!-- <el-table-column
prop="UserName" prop="TaskState"
:label="$t('trials:medicalFeedback:table:reader')" :label="$t('trials:medicalFeedback:table:taskState')"
width="120" width="160"
sortable="custom" sortable="custom"
show-overflow-tooltip 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-column
prop="SignTime"
:label="$t('trials:medicalFeedback:table:signTime')"
width="180"
sortable="custom"
show-overflow-tooltip
/>
<!-- 审核分配时间 -->
<el-table-column
prop="AllocateTime"
:label="$t('trials:medicalFeedback:table:allocateTime')"
width="180"
sortable="custom"
show-overflow-tooltip
/>
<!-- 任务状态 -->
<el-table-column
prop="IsInvalid"
width="120"
:label="$t('trials:medicalFeedback:table:isInvalid')"
show-overflow-tooltip
sortable="custom"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.IsInvalid" type="danger"> <el-tag v-if="scope.row.TaskState === 0" type="primary">{{ $fd('TaskState', scope.row.TaskState) }}</el-tag>
{{ $fd('IsTakeEffect', scope.row.IsInvalid) }} <el-tag v-if="scope.row.TaskState === 1" type="info">{{ $fd('TaskState', scope.row.TaskState) }}</el-tag>
</el-tag> <el-tag v-if="scope.row.TaskState === 3" type="danger">{{ $fd('TaskState', scope.row.TaskState) }}</el-tag>
<el-tag v-else type="primary"> <el-tag v-if="scope.row.TaskState === 4" type="warning">{{ $fd('TaskState', scope.row.TaskState) }}</el-tag>
{{ $fd('IsTakeEffect', scope.row.IsInvalid) }} <el-tag v-if="scope.row.TaskState === 5" type="danger">{{ $fd('TaskState', scope.row.TaskState) }}</el-tag>
</el-tag>
</template> </template>
</el-table-column> </el-table-column> -->
<!-- 审核状态 --> <!-- 审核状态 -->
<el-table-column <el-table-column
prop="AuditState" prop="AuditState"
@ -383,6 +389,18 @@
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
<!-- 审核结论 -->
<el-table-column
prop="IsHaveQuestion"
:label="$t('trials:medicalFeedback:table:IsHaveQuestion')"
width="130"
sortable="custom"
show-overflow-tooltip
>
<template slot-scope="scope">
{{ $fd('IsPass',scope.row.IsHaveQuestion) }}
</template>
</el-table-column>
<!-- 审核建议 --> <!-- 审核建议 -->
<el-table-column <el-table-column
prop="AuditAdviceEnum" prop="AuditAdviceEnum"
@ -398,8 +416,8 @@
<!-- 阅片人是否认同 --> <!-- 阅片人是否认同 -->
<el-table-column <el-table-column
prop="DoctorUserIdeaEnum" prop="DoctorUserIdeaEnum"
:label="$t('trials:medicalFeedback:table:doctorUserIdea')" :label="$t('trials:medicalFeedback:table:DoctorUserIdeaEnum')"
width="150" width="170"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
> >
@ -407,6 +425,41 @@
{{ $fd('MedicalReviewDoctorUserIdea',scope.row.DoctorUserIdeaEnum) }} {{ $fd('MedicalReviewDoctorUserIdea',scope.row.DoctorUserIdeaEnum) }}
</template> </template>
</el-table-column> </el-table-column>
<!-- 阅片签名时间 -->
<!-- <el-table-column
prop="SignTime"
:label="$t('trials:medicalFeedback:table:signTime')"
width="180"
sortable="custom"
show-overflow-tooltip
/> -->
<!-- 审核分配时间 -->
<el-table-column
prop="AllocateTime"
:label="$t('trials:medicalFeedback:table:allocateTime')"
width="180"
sortable="custom"
show-overflow-tooltip
/>
<!-- 任务状态 -->
<!-- <el-table-column
prop="IsInvalid"
width="120"
:label="$t('trials:medicalFeedback:table:isInvalid')"
show-overflow-tooltip
sortable="custom"
>
<template slot-scope="scope">
<el-tag v-if="scope.row.IsInvalid" type="danger">
{{ $fd('IsTakeEffect', scope.row.IsInvalid) }}
</el-tag>
<el-tag v-else type="primary">
{{ $fd('IsTakeEffect', scope.row.IsInvalid) }}
</el-tag>
</template>
</el-table-column> -->
<!-- 审核签名时间 --> <!-- 审核签名时间 -->
<el-table-column <el-table-column
prop="AuditSignTime" prop="AuditSignTime"
@ -561,7 +614,10 @@ const searchDataDefault = () => {
ReadingTaskState: null, ReadingTaskState: null,
AuditState: null, AuditState: null,
TaskState: null, TaskState: null,
DoctorUserIdeaEnum: null DoctorUserIdeaEnum: null,
BeginAllocateDate: null,
EndAllocateDate: null,
IsEffect: true
} }
} }
export default { export default {
@ -682,6 +738,15 @@ export default {
} }
}) })
}, },
changeTimeList() {
if (this.timeList) {
this.searchData.BeginAllocateDate = this.timeList[0]
this.searchData.EndAllocateDate = this.timeList[1]
} else {
this.searchData.BeginAllocateDate = null
this.searchData.EndAllocateDate = null
}
},
handleView(row) { handleView(row) {
this.currentRow = { ...row } this.currentRow = { ...row }
this.auditVisible = true this.auditVisible = true

View File

@ -3,6 +3,12 @@
<BaseContainer> <BaseContainer>
<template slot="search-container"> <template slot="search-container">
<el-form :inline="true"> <el-form :inline="true">
<!-- 是否加急 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:pmMedicalReview:select:isUrgent')">
<el-select v-model="searchData.IsUrgent" clearable style="width:120px;">
<el-option v-for="item of $d.YesOrNo" :key="'IsUrgent' + item.label" :value="item.value" :label="item.label" />
</el-select>
</el-form-item>
<!-- 中心编号 --> <!-- 中心编号 -->
<el-form-item :label="$t('trials:pmMedicalReview:select:siteCode')"> <el-form-item :label="$t('trials:pmMedicalReview:select:siteCode')">
<el-select v-model="searchData.SiteId" clearable filterable style="width:120px;"> <el-select v-model="searchData.SiteId" clearable filterable style="width:120px;">
@ -26,48 +32,54 @@
clearable clearable
/> />
</el-form-item> </el-form-item>
<!-- 任务类型 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:pmMedicalReview:select:taskType')">
<el-select v-model="searchData.ReadingCategory" clearable style="width:120px;">
<el-option v-for="item of $d.ReadingCategory" :key="'ReadingCategory' + item.label" :value="item.value" :label="item.label" />
</el-select>
</el-form-item>
<!-- 阅片人 --> <!-- 阅片人 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:pmMedicalReview:select:reader')"> <el-form-item style="margin-bottom:10px" :label="$t('trials:pmMedicalReview:select:reader')">
<el-select v-model="searchData.DoctorUserId" clearable style="width:120px;"> <el-select v-model="searchData.DoctorUserId" clearable style="width:120px;">
<el-option v-for="item of DoctorUserList" :key="'DoctorUserId' + item.DoctorUserId" :value="item.DoctorUserId" :label="item.UserName" /> <el-option v-for="item of DoctorUserList" :key="'DoctorUserId' + item.DoctorUserId" :value="item.DoctorUserId" :label="item.UserName" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 角色 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:pmMedicalReview:select:role')">
<el-select v-model="searchData.ArmEnum" clearable style="width:120px;">
<el-option v-for="item of $d.ArmEnum" :key="'ArmEnum' + item.label" :value="item.value" :label="item.label" />
</el-select>
</el-form-item>
<!-- 阅片标准 --> <!-- 阅片标准 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:pmMedicalReview:select:criterionName')"> <el-form-item style="margin-bottom:10px" :label="$t('trials:pmMedicalReview:select:criterionName')">
<el-select v-model="searchData.TrialReadingCriterionId" clearable style="width:120px;"> <el-select v-model="searchData.TrialReadingCriterionId" clearable style="width:120px;">
<el-option v-for="item of trialCriterionList" :key="'TrialReadingCriterionId' + item.TrialReadingCriterionId" :value="item.TrialReadingCriterionId" :label="item.TrialReadingCriterionName" /> <el-option v-for="item of trialCriterionList" :key="'TrialReadingCriterionId' + item.TrialReadingCriterionId" :value="item.TrialReadingCriterionId" :label="item.TrialReadingCriterionName" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 是否加急 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:pmMedicalReview:select:isUrgent')">
<el-select v-model="searchData.IsUrgent" clearable style="width:120px;">
<el-option v-for="item of $d.YesOrNo" :key="'IsUrgent' + item.label" :value="item.value" :label="item.label" />
</el-select>
</el-form-item>
<!-- 任务状态 --> <!-- 任务状态 -->
<!-- <el-form-item style="margin-bottom:10px" label="任务状态"> <!-- <el-form-item style="margin-bottom:10px" label="任务状态">
<el-select v-model="searchData.TaskState" clearable style="width:120px;"> <el-select v-model="searchData.TaskState" clearable style="width:120px;">
<el-option v-for="item of $d.TaskState" :key="'TaskState' + item.label" :value="item.value" :label="item.label" /> <el-option v-for="item of $d.TaskState" :key="'TaskState' + item.label" :value="item.value" :label="item.label" />
</el-select> </el-select>
</el-form-item> --> </el-form-item> -->
<!-- 任务类型 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:pmMedicalReview:select:taskType')">
<el-select v-model="searchData.ReadingCategory" clearable style="width:120px;">
<el-option v-for="item of $d.ReadingCategory" :key="'ReadingCategory' + item.label" :value="item.value" :label="item.label" />
</el-select>
</el-form-item>
<!-- 是否产生裁判 --> <!-- 是否产生裁判 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:pmMedicalReview:select:isGeneratedJudge')"> <el-form-item style="margin-bottom:10px" :label="$t('trials:pmMedicalReview:select:isGeneratedJudge')">
<el-select v-model="searchData.IsGeneratedJudge" clearable style="width:120px;"> <el-select v-model="searchData.IsGeneratedJudge" clearable style="width:120px;">
<el-option v-for="item of $d.YesOrNo" :key="'IsGeneratedJudge' + item.label" :value="item.value" :label="item.label" /> <el-option v-for="item of $d.YesOrNo" :key="'IsGeneratedJudge' + item.label" :value="item.value" :label="item.label" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- &lt;!&ndash; 全局阅片是否有更新 &ndash;&gt;--> <!-- 阅片时间 -->
<!-- <el-form-item style="margin-bottom:10px" :label="$t('trials:pmMedicalReview:select:globalReadingChanged')">--> <el-form-item style="margin-bottom:10px" :label="$t('trials:pmMedicalReview:select:signTime')">
<!-- <el-select v-model="searchData.IsGeneratedJudge" clearable style="width:120px;">--> <el-date-picker
<!-- <el-option v-for="item of $d.YesOrNo" :key="'ReadingCategory' + item.label" :value="item.value" :label="item.label" />--> v-model="timeList"
<!-- </el-select>--> value-format="yyyy-MM-dd HH:mm:ss"
<!-- </el-form-item>--> type="datetimerange"
:default-time="['00:00:00', '23:59:59']"
@change="changeTimeList"
/>
</el-form-item>
<el-form-item style="margin-bottom:10px"> <el-form-item style="margin-bottom:10px">
<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') }}
@ -107,13 +119,13 @@
</template> </template>
</el-table-column> </el-table-column>
<!-- 任务编号 --> <!-- 任务编号 -->
<el-table-column <!-- <el-table-column
prop="TaskCode" prop="TaskCode"
:label="$t('trials:pmMedicalReview:select:taskCode')" :label="$t('trials:pmMedicalReview:select:taskCode')"
width="120" width="120"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
/> /> -->
<!-- 中心编号 --> <!-- 中心编号 -->
<el-table-column <el-table-column
prop="TrialSiteCode" prop="TrialSiteCode"
@ -129,15 +141,22 @@
width="120" width="120"
sortable="custom" sortable="custom"
show-overflow-tooltip 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 <!-- <el-table-column
prop="SubjectCode" prop="SubjectCode"
:label="$t('trials:pmMedicalReview:select:subjectSecondCode')" :label="$t('trials:pmMedicalReview:select:subjectSecondCode')"
width="120" width="120"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
/> /> -->
<!-- 任务名称 --> <!-- 任务名称 -->
<el-table-column <el-table-column
prop="VisitTaskNum" prop="VisitTaskNum"
@ -147,17 +166,20 @@
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.TaskName}} <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> </template>
</el-table-column> </el-table-column>
<!-- 盲态任务标识 --> <!-- 盲态任务标识 -->
<el-table-column <!-- <el-table-column
prop="TaskBlindName" prop="TaskBlindName"
:label="$t('trials:pmMedicalReview:select:taskBlindName')" :label="$t('trials:pmMedicalReview:select:taskBlindName')"
width="160" width="160"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
/> /> -->
<!-- 任务类型 --> <!-- 任务类型 -->
<el-table-column <el-table-column
prop="ReadingCategory" prop="ReadingCategory"
@ -173,6 +195,18 @@
<el-tag v-if="scope.row.ReadingCategory === 5" type="warning">{{ $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> </template>
</el-table-column> </el-table-column>
<!-- 阅片人 -->
<el-table-column
prop="DoctorUser.UserName"
:label="$t('trials:pmMedicalReview:select:reader')"
width="120"
sortable="custom"
show-overflow-tooltip
>
<template slot-scope="scope">
{{ scope.row.DoctorUser.UserName }}({{ scope.row.DoctorUser.FullName }})
</template>
</el-table-column>
<!-- 角色 --> <!-- 角色 -->
<el-table-column <el-table-column
prop="ArmEnum" prop="ArmEnum"
@ -189,18 +223,7 @@
<el-tag v-if="scope.row.ArmEnum === 5" type="warning">{{ $fd('ArmEnum', scope.row.ArmEnum) }}</el-tag> <el-tag v-if="scope.row.ArmEnum === 5" type="warning">{{ $fd('ArmEnum', scope.row.ArmEnum) }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<!-- 阅片人 -->
<el-table-column
prop="DoctorUser.UserName"
:label="$t('trials:pmMedicalReview:select:reader')"
width="120"
sortable="custom"
show-overflow-tooltip
>
<template slot-scope="scope">
{{ scope.row.DoctorUser.UserName }}({{ scope.row.DoctorUser.FullName }})
</template>
</el-table-column>
<!-- 阅片标准 --> <!-- 阅片标准 -->
<el-table-column <el-table-column
prop="TrialReadingCriterionName" prop="TrialReadingCriterionName"
@ -209,6 +232,21 @@
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
/> />
<!-- 是否产生裁判 -->
<el-table-column
prop="IsGeneratedJudge"
:label="$t('trials:pmMedicalReview:select:isGeneratedJudge')"
width="140"
sortable="custom"
show-overflow-tooltip
>
<template slot-scope="scope">
<div>
<el-tag v-if="!scope.row.IsGeneratedJudge" type="danger">{{ $fd('YesOrNo', scope.row.IsGeneratedJudge) }}</el-tag>
<el-tag v-else type="primary">{{ $fd('YesOrNo', scope.row.IsGeneratedJudge) }}</el-tag>
</div>
</template>
</el-table-column>
<!-- 阅片完成时间 --> <!-- 阅片完成时间 -->
<el-table-column <el-table-column
prop="SignTime" prop="SignTime"
@ -228,47 +266,17 @@
{{scope.row.ReadingDuration}} {{scope.row.ReadingDuration}}
</template> </template>
</el-table-column> </el-table-column>
<!-- 是否产生裁判 -->
<el-table-column
prop="IsGeneratedJudge"
:label="$t('trials:pmMedicalReview:select:isGeneratedJudge')"
width="140"
sortable="custom"
show-overflow-tooltip
>
<template slot-scope="scope">
<div>
<el-tag v-if="!scope.row.IsGeneratedJudge" type="danger">{{ $fd('YesOrNo', scope.row.IsGeneratedJudge) }}</el-tag>
<el-tag v-else type="primary">{{ $fd('YesOrNo', scope.row.IsGeneratedJudge) }}</el-tag>
</div>
</template>
</el-table-column>
<!-- &lt;!&ndash; 全局阅片是否有校正 &ndash;&gt;-->
<!-- <el-table-column-->
<!-- prop="IsGlobalHaveUpdate"-->
<!-- :label="$t('trials:pmMedicalReview:select:globalReadingChanged')"-->
<!-- width="180"-->
<!-- sortable="custom"-->
<!-- show-overflow-tooltip-->
<!-- >-->
<!-- <template slot-scope="scope">-->
<!-- <div>-->
<!-- <el-tag v-if="scope.row.IsGlobalHaveUpdate" type="primary">{{ $fd('YesOrNo', scope.row.IsGlobalHaveUpdate) }}</el-tag>-->
<!-- </div>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- 审核次数 -->
<el-table-column <el-table-column
prop="GeneratedMedicalReviewCount" prop="GeneratedMedicalReviewCount"
:label="$t('trials:pmMedicalReview:select:auditCount')" :label="$t('trials:pmMedicalReview:select:auditCount')"
width="150" width="130"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
/> />
<el-table-column <el-table-column
fixed="right" fixed="right"
:label="$t('common:action:action')" :label="$t('common:action:action')"
width="100" min-width="100"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -291,7 +299,7 @@
append-to-body append-to-body
:close-on-click-modal="false" :close-on-click-modal="false"
> >
<AssignMedicalReviewTask :data="rowData" :select-list="SelectList" :doctor-user-list="MIMOptions" @close="() => {AssignMedicalReviewTaskVisible = false}" @getList="getList" /> <AssignMedicalReviewTask :data="rowData" :select-list="SelectList" :doctor-user-list="MIMOptions" @close="() => {AssignMedicalReviewTaskVisible = false}" @getList="refreshList" />
</el-dialog> </el-dialog>
</template> </template>
</BaseContainer> </BaseContainer>
@ -322,7 +330,9 @@ const searchDataDefault = () => {
BeginAllocateDate: null, BeginAllocateDate: null,
EndAllocateDate: null, EndAllocateDate: null,
RootReReadingTaskId: null, RootReReadingTaskId: null,
IsGeneratedJudge: null IsGeneratedJudge: null,
BeginSignTime: null,
EndSignTime: null
} }
} }
export default { export default {
@ -416,11 +426,11 @@ export default {
}, },
changeTimeList() { changeTimeList() {
if (this.timeList) { if (this.timeList) {
this.searchData.BeginAllocateDate = this.timeList[0] this.searchData.BeginSignTime = this.timeList[0]
this.searchData.EndAllocateDate = this.timeList[1] this.searchData.EndSignTime = this.timeList[1]
} else { } else {
this.searchData.BeginAllocateDate = null this.searchData.BeginSignTime = null
this.searchData.EndAllocateDate = null this.searchData.EndSignTime = null
} }
}, },
// //
@ -452,12 +462,15 @@ export default {
getGenerateMedicalReviewTaskList(this.searchData).then(res => { getGenerateMedicalReviewTaskList(this.searchData).then(res => {
this.loading = false this.loading = false
this.OtherInfo = res.OtherInfo this.OtherInfo = res.OtherInfo
this.$emit('getList')
this.AssignMedicalReviewTaskVisible = false this.AssignMedicalReviewTaskVisible = false
this.list = res.Result.CurrentPageData this.list = res.Result.CurrentPageData
this.total = res.Result.TotalCount this.total = res.Result.TotalCount
}).catch(() => { this.loading = false }) }).catch(() => { this.loading = false })
}, },
refreshList() {
this.getList()
this.$emit('getList')
},
handleSearch() { handleSearch() {
this.searchData.PageIndex = 1 this.searchData.PageIndex = 1
this.getList() this.getList()

View File

@ -76,6 +76,15 @@
</el-select> </el-select>
</el-form-item> --> </el-form-item> -->
<!-- 申请原因 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:rereadTrack:table:applyReason')">
<el-input
v-model="searchData.RequestReReadingReason"
style="width:100px;"
clearable
/>
</el-form-item>
<!-- 审批结果 --> <!-- 审批结果 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:rereadTrack:table:approvalResult')"> <el-form-item style="margin-bottom:10px" :label="$t('trials:rereadTrack:table:approvalResult')">
<el-select v-model="searchData.RequestReReadingResultEnum" clearable style="width:120px;"> <el-select v-model="searchData.RequestReReadingResultEnum" clearable style="width:120px;">
@ -441,7 +450,14 @@
:label="$t('trials:reviewTrack:table:subjectCode')" :label="$t('trials:reviewTrack:table:subjectCode')"
min-width="120" min-width="120"
show-overflow-tooltip 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 <el-table-column
prop="VisitTaskNum" prop="VisitTaskNum"
@ -450,16 +466,19 @@
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.TaskName }} <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> </template>
</el-table-column> </el-table-column>
<!-- 盲态任务标识 --> <!-- 盲态任务标识 -->
<el-table-column <!-- <el-table-column
prop="TaskBlindName" prop="TaskBlindName"
:label="$t('trials:reviewTrack:table:blindName')" :label="$t('trials:reviewTrack:table:blindName')"
min-width="120" min-width="120"
show-overflow-tooltip show-overflow-tooltip
/> /> -->
<!-- 阅片标准 --> <!-- 阅片标准 -->
<el-table-column <el-table-column
prop="TrialReadingCriterionName" prop="TrialReadingCriterionName"
@ -598,7 +617,8 @@ const searchDataDefault = () => {
CompleteClinicalDataEnum: null, CompleteClinicalDataEnum: null,
ArmEnum: null, ArmEnum: null,
BeginRequestReReadingTime: null, BeginRequestReReadingTime: null,
EndRequestReReadingTime: null EndRequestReReadingTime: null,
RequestReReadingReason: null
} }
} }
export default { export default {

View File

@ -5,6 +5,12 @@
<div v-if="TrialReadingCriterionId === item.TrialReadingCriterionId"> <div v-if="TrialReadingCriterionId === item.TrialReadingCriterionId">
<div slot="search-container" style="position:relative;"> <div slot="search-container" style="position:relative;">
<el-form :inline="true"> <el-form :inline="true">
<!-- 是否加急 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:readTask:form:IsUrgent')">
<el-select v-model="searchData.IsUrgent" clearable style="width:120px;">
<el-option v-for="i of $d.YesOrNo" :key="'IsUrgent' + i.label" :value="i.value" :label="i.label" />
</el-select>
</el-form-item>
<!-- 受试者编号 --> <!-- 受试者编号 -->
<el-form-item :label="$t('trials:readTask:table:subjectCode')"> <el-form-item :label="$t('trials:readTask:table:subjectCode')">
<el-input <el-input
@ -25,12 +31,7 @@
<el-option v-for="i of $d.ReadingCategory" :key="'ReadingCategory' + i.label" :value="i.value" :label="i.label" /> <el-option v-for="i of $d.ReadingCategory" :key="'ReadingCategory' + i.label" :value="i.value" :label="i.label" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 是否加急 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:readTask:form:IsUrgent')">
<el-select v-model="searchData.IsUrgent" clearable style="width:120px;">
<el-option v-for="i of $d.YesOrNo" :key="'IsUrgent' + i.label" :value="i.value" :label="i.label" />
</el-select>
</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">

View File

@ -74,6 +74,12 @@
<el-option v-show="item.value === 3 || item.value === 4" v-for="item of $d.TaskState" :key="'TaskState' + item.label" :value="item.value" :label="item.label" /> <el-option v-show="item.value === 3 || item.value === 4" v-for="item of $d.TaskState" :key="'TaskState' + item.label" :value="item.value" :label="item.label" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 重阅 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:reviewTrack:table:applyStatus')">
<el-select v-model="searchData.ReReadingApplyState" clearable style="width:120px;">
<el-option v-for="item of $d.ReReadingApplyState" :key="'ReReadingApplyState' + item.label" :value="item.value" :label="item.label" />
</el-select>
</el-form-item>
<!-- 分配时间 --> <!-- 分配时间 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:reviewTrack:table:assignTime')"> <el-form-item style="margin-bottom:10px" :label="$t('trials:reviewTrack:table:assignTime')">
<el-date-picker <el-date-picker
@ -227,7 +233,7 @@
</template> </template>
</el-table-column> </el-table-column>
<!-- 角色 --> <!-- 角色 -->
<el-table-column <!-- <el-table-column
prop="ArmEnum" prop="ArmEnum"
:label="$t('trials:reviewTrack:table:role')" :label="$t('trials:reviewTrack:table:role')"
width="100" width="100"
@ -242,7 +248,7 @@
<el-tag v-if="scope.row.ArmEnum === 4" type="danger">{{ $fd('ArmEnum', scope.row.ArmEnum) }}</el-tag> <el-tag v-if="scope.row.ArmEnum === 4" type="danger">{{ $fd('ArmEnum', scope.row.ArmEnum) }}</el-tag>
<el-tag v-if="scope.row.ArmEnum === 5" type="warning">{{ $fd('ArmEnum', scope.row.ArmEnum) }}</el-tag> <el-tag v-if="scope.row.ArmEnum === 5" type="warning">{{ $fd('ArmEnum', scope.row.ArmEnum) }}</el-tag>
</template> </template>
</el-table-column> </el-table-column> -->
<!-- 阅片标准 --> <!-- 阅片标准 -->
<el-table-column <el-table-column
prop="TrialReadingCriterionName" prop="TrialReadingCriterionName"
@ -379,6 +385,7 @@ const searchDataDefault = () => {
CompleteClinicalDataEnum: null, CompleteClinicalDataEnum: null,
BeginSignTime: null, BeginSignTime: null,
EndSignTime: null, EndSignTime: null,
ReReadingApplyState: null,
IsEffect: false IsEffect: false
// ArmEnum: null // ArmEnum: null
} }
@ -454,6 +461,8 @@ export default {
this.getList() this.getList()
}, },
handleReset() { handleReset() {
this.timeList = []
this.timeList2 = []
this.searchData = searchDataDefault() this.searchData = searchDataDefault()
this.getList() this.getList()
}, },

View File

@ -84,7 +84,7 @@
@change="changeTimeList" @change="changeTimeList"
/> />
</el-form-item> </el-form-item>
<!-- 分配时间 --> <!-- 完成时间 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:reviewTrack:table:signTime')"> <el-form-item style="margin-bottom:10px" :label="$t('trials:reviewTrack:table:signTime')">
<el-date-picker <el-date-picker
v-model="timeList2" v-model="timeList2"
@ -245,7 +245,7 @@
</template> </template>
</el-table-column> </el-table-column>
<!-- 角色 --> <!-- 角色 -->
<el-table-column <!-- <el-table-column
prop="ArmEnum" prop="ArmEnum"
:label="$t('trials:reviewTrack:table:role')" :label="$t('trials:reviewTrack:table:role')"
width="100" width="100"
@ -260,7 +260,7 @@
<el-tag v-if="scope.row.ArmEnum === 4" type="danger">{{ $fd('ArmEnum', scope.row.ArmEnum) }}</el-tag> <el-tag v-if="scope.row.ArmEnum === 4" type="danger">{{ $fd('ArmEnum', scope.row.ArmEnum) }}</el-tag>
<el-tag v-if="scope.row.ArmEnum === 5" type="warning">{{ $fd('ArmEnum', scope.row.ArmEnum) }}</el-tag> <el-tag v-if="scope.row.ArmEnum === 5" type="warning">{{ $fd('ArmEnum', scope.row.ArmEnum) }}</el-tag>
</template> </template>
</el-table-column> </el-table-column> -->
<!-- 阅片标准 --> <!-- 阅片标准 -->
<el-table-column <el-table-column
prop="TrialReadingCriterionName" prop="TrialReadingCriterionName"
@ -317,7 +317,7 @@
<el-table-column <el-table-column
prop="TaskState" prop="TaskState"
:label="$t('trials:reviewTrack:table:taskStatus')" :label="$t('trials:reviewTrack:table:taskStatus')"
width="140" width="160"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
> >
@ -703,7 +703,14 @@
:label="$t('trials:reviewTrack:table:subjectCode')" :label="$t('trials:reviewTrack:table:subjectCode')"
min-width="120" min-width="120"
show-overflow-tooltip 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 <el-table-column
prop="VisitTaskNum" prop="VisitTaskNum"
@ -712,16 +719,19 @@
show-overflow-tooltip show-overflow-tooltip
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.TaskName}} <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> </template>
</el-table-column> </el-table-column>
<!-- 盲态任务标识 --> <!-- 盲态任务标识 -->
<el-table-column <!-- <el-table-column
prop="TaskBlindName" prop="TaskBlindName"
:label="$t('trials:reviewTrack:table:blindName')" :label="$t('trials:reviewTrack:table:blindName')"
min-width="120" min-width="120"
show-overflow-tooltip show-overflow-tooltip
/> /> -->
<!-- 阅片标准 --> <!-- 阅片标准 -->
<el-table-column <el-table-column
prop="TrialReadingCriterionName" prop="TrialReadingCriterionName"

View File

@ -5,6 +5,24 @@
<div v-if="TrialReadingCriterionId === item.TrialReadingCriterionId"> <div v-if="TrialReadingCriterionId === item.TrialReadingCriterionId">
<div slot="search-container"> <div slot="search-container">
<el-form :inline="true"> <el-form :inline="true">
<!-- 是否加急 -->
<el-form-item
style="margin-bottom:10px"
:label="$t('trials:rereadTask:table:isUrgent')"
>
<el-select
v-model="searchData.IsUrgent"
clearable
style="width:120px;"
>
<el-option
v-for="item of $d.YesOrNo"
:key="'IsUrgent' + item.label"
:value="item.value"
:label="item.label"
/>
</el-select>
</el-form-item>
<!-- 中心编号 --> <!-- 中心编号 -->
<el-form-item :label="$t('trials:rereadTask:table:siteCode')"> <el-form-item :label="$t('trials:rereadTask:table:siteCode')">
<el-select v-model="searchData.SiteId" clearable filterable style="width:120px;"> <el-select v-model="searchData.SiteId" clearable filterable style="width:120px;">
@ -28,13 +46,13 @@
/> />
</el-form-item> --> </el-form-item> -->
<!-- 任务编号 --> <!-- 任务编号 -->
<el-form-item :label="$t('trials:rereadTask:table:taskCode')"> <!-- <el-form-item :label="$t('trials:rereadTask:table:taskCode')">
<el-input <el-input
v-model="searchData.TaskCode" v-model="searchData.TaskCode"
style="width:130px;" style="width:130px;"
clearable clearable
/> />
</el-form-item> </el-form-item> -->
<el-form-item :label="$t('trials:rereadTask:table:taskState')"> <el-form-item :label="$t('trials:rereadTask:table:taskState')">
<el-select v-model="searchData.TaskState" clearable style="width:120px;"> <el-select v-model="searchData.TaskState" clearable style="width:120px;">
<el-option v-for="i of $d.TaskState" :key="'TaskState' + i.label" :value="i.value" :label="i.label" /> <el-option v-for="i of $d.TaskState" :key="'TaskState' + i.label" :value="i.value" :label="i.label" />
@ -218,13 +236,13 @@
</template> </template>
</el-table-column> </el-table-column>
<!-- 新任务编号 --> <!-- 新任务编号 -->
<el-table-column <!-- <el-table-column
prop="ReReadingNewTaskCode" prop="ReReadingNewTaskCode"
:label="$t('trials:rereadTask:table:reReadingNewTaskCode')" :label="$t('trials:rereadTask:table:reReadingNewTaskCode')"
min-width="120" min-width="120"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
/> /> -->
</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" />
@ -283,6 +301,7 @@ import Pagination from '@/components/Pagination'
import { changeURLStatic } from '@/utils/history.js' import { changeURLStatic } from '@/utils/history.js'
const searchDataDefault = () => { const searchDataDefault = () => {
return { return {
IsUrgent: null,
SubjectCode: '', SubjectCode: '',
TaskCode: '', TaskCode: '',
PageIndex: 1, PageIndex: 1,

View File

@ -62,7 +62,7 @@
> >
<el-option <el-option
v-for="item of userTypeOptions" v-for="item of userTypeOptions"
v-if="item.UserTypeEnum !== 1 && item.UserTypeEnum !== 20" v-show="item.UserTypeEnum !== 1 && item.UserTypeEnum !== 8 && item.UserTypeEnum !== 20 && item.UserTypeEnum !== 31"
:key="item.Id" :key="item.Id"
:label="item.UserTypeShortName" :label="item.UserTypeShortName"
:value="item.Id" :value="item.Id"

View File

@ -21,6 +21,7 @@
<el-form-item :label="$t('trials:attachment:table:fileName')"> <el-form-item :label="$t('trials:attachment:table:fileName')">
<el-input v-model="searchData.Name" style="width:100px;" /> <el-input v-model="searchData.Name" style="width:100px;" />
</el-form-item> </el-form-item>
<!-- 培训状态 -->
<el-form-item :label="$t('trials:attachment:table:isDeleted')"> <el-form-item :label="$t('trials:attachment:table:isDeleted')">
<el-select <el-select
clearable clearable
@ -28,13 +29,32 @@
style="width:150px;" style="width:150px;"
> >
<el-option <el-option
v-for="item of $d.YesOrNo" v-for="item of $d.TrainingStatus"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="!item.value"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 培训角色 -->
<el-form-item :label="$t('trials:attachment:table:userType')">
<el-select
v-model="searchData.UserTypeId"
style="width:100%;"
>
<el-option
v-for="item of userTypeOptions"
v-show="item.UserTypeEnum !== 1 && item.UserTypeEnum !== 8 && item.UserTypeEnum !== 20 && item.UserTypeEnum !== 31"
:key="item.Id"
:label="item.UserTypeShortName"
:value="item.Id"
>
<span>{{ item.UserType }}</span>
</el-option>
</el-select>
</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">
@ -202,7 +222,7 @@
</template> </template>
<script> <script>
import { getTrialDocumentList, userAbandonDoc } from '@/api/trials' import { getTrialDocumentList, userAbandonDoc, getTrialUserTypeList } from '@/api/trials'
import BoxContent from '@/components/BoxContent' import BoxContent from '@/components/BoxContent'
import Pagination from '@/components/Pagination' import Pagination from '@/components/Pagination'
import AttachmentForm from './components/attachmentForm' import AttachmentForm from './components/attachmentForm'
@ -215,7 +235,8 @@ const searchDataDefault = () => {
PageSize: 20, PageSize: 20,
SortField: '', SortField: '',
Asc: false, Asc: false,
IsDeleted: null IsDeleted: null,
UserTypeId: null
} }
} }
export default { export default {
@ -234,13 +255,14 @@ export default {
currentRow: {}, currentRow: {},
currentPath: '', currentPath: '',
currentType: '', currentType: '',
trialId: '' trialId: '',
userTypeOptions: []
} }
}, },
mounted() { mounted() {
console.log(this.$d.Trial_Document)
this.trialId = this.$route.query.trialId this.trialId = this.$route.query.trialId
this.getList() this.getList()
this.getUserType()
}, },
methods: { methods: {
// //
@ -264,6 +286,15 @@ export default {
this.loading = false this.loading = false
}) })
}, },
//
getUserType() {
getTrialUserTypeList().then(res => {
this.userTypeOptions = res.Result
if (this.form.Id) {
this.form.NeedConfirmedUserTypeIdList = this.data.NeedConfirmedUserTypeeIds
}
}).catch(() => { this.loading = false })
},
// //
handleAdd() { handleAdd() {
this.title = this.$t('common:button:add') this.title = this.$t('common:button:add')

View File

@ -6,10 +6,14 @@
<el-form-item :label="$t('trials:sitesList:table:siteId')"> <el-form-item :label="$t('trials:sitesList:table:siteId')">
<el-input v-model="listQuery.TrialSiteCode" class="mr" clearable /> <el-input v-model="listQuery.TrialSiteCode" class="mr" clearable />
</el-form-item> </el-form-item>
<!-- 中心--> <!-- 中心 -->
<el-form-item :label="$t('trials:sitesList:table:siteAliasName')"> <el-form-item :label="$t('trials:sitesList:table:siteName')">
<el-input v-model="listQuery.TrialSiteAliasName" class="mr" clearable /> <el-input v-model="listQuery.Site" class="mr" clearable />
</el-form-item> </el-form-item>
<!-- 中心别名 -->
<!-- <el-form-item :label="$t('trials:sitesList:table:siteAliasName')">
<el-input v-model="listQuery.TrialSiteAliasName" class="mr" clearable />
</el-form-item> -->
<!-- 关键词 --> <!-- 关键词 -->
<el-form-item :label="$t('trials:sitesList:form:keyWord')"> <el-form-item :label="$t('trials:sitesList:form:keyWord')">
<el-input <el-input
@ -111,7 +115,7 @@
:label="$t('trials:sitesList:table:siteName')" :label="$t('trials:sitesList:table:siteName')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
min-width="240" min-width="120"
/> />
<!-- 中心别名 --> <!-- 中心别名 -->
<el-table-column <el-table-column
@ -119,30 +123,30 @@
:label="$t('trials:sitesList:table:siteAliasName')" :label="$t('trials:sitesList:table:siteAliasName')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
min-width="240" min-width="120"
/> />
<!-- 城市 --> <!-- 城市 -->
<el-table-column <!-- <el-table-column
prop="City" prop="City"
:label="$t('trials:sitesList:table:city')" :label="$t('trials:sitesList:table:city')"
sortable="custom" sortable="custom"
show-overflow-tooltip show-overflow-tooltip
width="100" width="100"
/> /> -->
<!-- 国家 --> <!-- 国家 -->
<el-table-column <!-- <el-table-column
prop="Country" prop="Country"
:label="$t('trials:sitesList:table:country')" :label="$t('trials:sitesList:table:country')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
width="120" width="120"
/> /> -->
<!-- 参与者 --> <!-- 参与者 -->
<el-table-column <el-table-column
prop="UserNameList" prop="UserNameList"
:label="$t('trials:sitesList:table:staff')" :label="$t('trials:sitesList:table:staff')"
show-overflow-tooltip show-overflow-tooltip
width="140" min-width="100"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-if="scope.row.UserCount > 0" size="small" type="text" @click="getCrcList(scope.row)"> <el-button v-if="scope.row.UserCount > 0" size="small" type="text" @click="getCrcList(scope.row)">
@ -150,13 +154,29 @@
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
<!-- Subjects -->
<el-table-column
prop="SubjectCount"
min-width="100"
:label="$t('trials:site:table:subjects')"
show-overflow-tooltip
sortable="custom"
/>
<!-- Visits -->
<el-table-column
prop="VisitCount"
min-width="100"
:label="$t('trials:site:table:visits')"
show-overflow-tooltip
sortable="custom"
/>
<!-- 状态 --> <!-- 状态 -->
<el-table-column <el-table-column
prop="IsDeleted" prop="IsDeleted"
:label="$t('trials:sitesList:table:status')" :label="$t('trials:sitesList:table:status')"
show-overflow-tooltip show-overflow-tooltip
sortable sortable
width="100" min-width="100"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-if="scope.row.IsDeleted" type="danger">{{ $fd('IsSiteDisable', scope.row.IsDeleted) }}</el-tag> <el-tag v-if="scope.row.IsDeleted" type="danger">{{ $fd('IsSiteDisable', scope.row.IsDeleted) }}</el-tag>
@ -169,27 +189,27 @@
:label="$t('trials:sitesList:table:timeAdded')" :label="$t('trials:sitesList:table:timeAdded')"
show-overflow-tooltip show-overflow-tooltip
sortable sortable
width="210" min-width="150"
/> />
<!-- 禁用时间 --> <!-- 禁用时间 -->
<el-table-column <!-- <el-table-column
prop="DeletedTime" prop="DeletedTime"
:label="$t('trials:sitesList:table:timeDeleted')" :label="$t('trials:sitesList:table:timeDeleted')"
show-overflow-tooltip show-overflow-tooltip
sortable sortable
width="210" width="210"
/> /> -->
<el-table-column <!-- <el-table-column
prop="CreateTime" prop="CreateTime"
:label="$t('trials:internalStaff:table:CreateTime')" :label="$t('trials:internalStaff:table:CreateTime')"
show-overflow-tooltip show-overflow-tooltip
sortable sortable
width="210" width="210"
/> /> -->
<el-table-column <el-table-column
v-if="hasPermi(['trials:trials-panel:setting:personnel-manage:edit-site','trials:trials-panel:setting:personnel-manage:remove-site'])" v-if="hasPermi(['trials:trials-panel:setting:personnel-manage:edit-site','trials:trials-panel:setting:personnel-manage:remove-site'])"
:label="$t('common:action:action')" :label="$t('common:action:action')"
width="150" min-width="120"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<!-- Assign --> <!-- Assign -->

View File

@ -4,7 +4,7 @@
<template slot="search-container"> <template slot="search-container">
<el-form :inline="true"> <el-form :inline="true">
<!-- Site --> <!-- Site -->
<el-form-item :label="$t('trials:studyList:table:siteId')"> <el-form-item :label="$t('trials:studyList:table:site')">
<el-select <el-select
v-model="searchData.SiteId" v-model="searchData.SiteId"
clearable clearable

View File

@ -43,6 +43,10 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 任务名称 -->
<el-form-item :label="$t('trials:auditRecord:table:taskName')">
<el-input v-model="searchData.TaskName" />
</el-form-item>
<!-- 阅片标准 --> <!-- 阅片标准 -->
<el-form-item :label="$t('trials:auditRecord:table:criterion')"> <el-form-item :label="$t('trials:auditRecord:table:criterion')">
<el-select v-model="searchData.TrialReadingCriterionId" clearable filterable> <el-select v-model="searchData.TrialReadingCriterionId" clearable filterable>
@ -68,9 +72,23 @@
<el-option v-for="item of DescriptionOptions" :value="item" :label="item" :key="item"/> <el-option v-for="item of DescriptionOptions" :value="item" :label="item" :key="item"/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 是否签名 -->
<el-form-item :label="$t('trials:auditRecord:table:isSign')">
<el-select v-model="searchData.IsSign" style="width:120px" clearable>
<el-option v-for="item of $d.YesOrNo" v-show="item.raw.ValueCN !== ''" :label="item.label" :value="item.value" :key="`IsSign${item.value}`"/>
</el-select>
</el-form-item>
<!-- 操作人 --> <!-- 操作人 -->
<el-form-item :label="$t('trials:auditRecord:table:operator')"> <el-form-item :label="$t('trials:auditRecord:table:operator')">
<el-input v-model="searchData.OpByUserName" style="width:120px" /> <el-input v-model="searchData.CreateUserRealName" style="width:120px" />
</el-form-item>
<!-- 角色 -->
<el-form-item :label="$t('trials:auditRecord:table:role')">
<el-select v-model="searchData.RoleName" style="width:120px" clearable>
<el-option v-for="item of $d.UserType" :label="item.label" :value="item.label" :key="`RoleName${item.value}`"/>
</el-select>
<!-- <el-input v-model="searchData.RoleName" clearable/>-->
<!-- RoleName-->
</el-form-item> </el-form-item>
<!-- 操作时间 --> <!-- 操作时间 -->
<el-form-item :label="$t('trials:auditRecord:table:operateTime')"> <el-form-item :label="$t('trials:auditRecord:table:operateTime')">
@ -87,20 +105,8 @@
<!--<el-option v-for="item of dict.type.ModuleType" :value="item.label" :label="item.raw.ValueCN"></el-option>--> <!--<el-option v-for="item of dict.type.ModuleType" :value="item.label" :label="item.raw.ValueCN"></el-option>-->
<!--</el-select>--> <!--</el-select>-->
<!--</el-form-item>--> <!--</el-form-item>-->
<!-- 是否签名 -->
<el-form-item :label="$t('trials:auditRecord:table:isSign')">
<el-select v-model="searchData.IsSign" style="width:120px" clearable>
<el-option v-for="item of $d.YesOrNo" v-show="item.raw.ValueCN !== ''" :label="item.label" :value="item.value" :key="`IsSign${item.value}`"/>
</el-select>
</el-form-item>
<!-- 角色 -->
<el-form-item :label="$t('trials:auditRecord:table:role')">
<el-select v-model="searchData.RoleName" style="width:120px" clearable>
<el-option v-for="item of $d.UserType" :label="item.label" :value="item.label" :key="`RoleName${item.value}`"/>
</el-select>
<!-- <el-input v-model="searchData.RoleName" clearable/>-->
<!-- RoleName-->
</el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" @click="handleSearch"> {{ $t('common:button:search') }}</el-button> <el-button type="primary" icon="el-icon-search" @click="handleSearch"> {{ $t('common:button:search') }}</el-button>
<el-button type="primary" icon="el-icon-refresh-left" @click="handleReset"> {{ $t('common:button:reset') }}</el-button> <el-button type="primary" icon="el-icon-refresh-left" @click="handleReset"> {{ $t('common:button:reset') }}</el-button>
@ -164,16 +170,23 @@
fixed="left" fixed="left"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> >
<template slot-scope="scope">
<span v-if="scope.row.BlindName && scope.row.TaskName !== scope.row.BlindName">
{{ `${scope.row.TaskName}/${scope.row.BlindName}` }}
</span>
<span v-else>{{scope.row.TaskName}}</span>
</template>
</el-table-column>
<!-- 盲态任务标识 --> <!-- 盲态任务标识 -->
<el-table-column <!-- <el-table-column
prop="BlindName" prop="BlindName"
min-width="170" min-width="170"
:label="$t('trials:auditRecord:table:taskBlindName')" :label="$t('trials:auditRecord:table:taskBlindName')"
fixed="left" fixed="left"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> /> -->
<!-- 阅片标准 --> <!-- 阅片标准 -->
<el-table-column <el-table-column
prop="TrialReadingCriterionName" prop="TrialReadingCriterionName"
@ -491,15 +504,22 @@
:label="$t('trials:auditRecord:table:taskName')" :label="$t('trials:auditRecord:table:taskName')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> >
<template slot-scope="scope">
<span v-if="scope.row.BlindName && scope.row.TaskName !== scope.row.BlindName">
{{ `${scope.row.TaskName}/${scope.row.BlindName}` }}
</span>
<span v-else>{{scope.row.TaskName}}</span>
</template>
</el-table-column>
<!-- 盲态任务标识 --> <!-- 盲态任务标识 -->
<el-table-column <!-- <el-table-column
prop="BlindName" prop="BlindName"
min-width="150" min-width="150"
:label="$t('trials:auditRecord:table:taskBlindName')" :label="$t('trials:auditRecord:table:taskBlindName')"
show-overflow-tooltip show-overflow-tooltip
sortable="custom" sortable="custom"
/> /> -->
<!-- 阅片标准 --> <!-- 阅片标准 -->
<el-table-column <el-table-column
prop="TrialReadingCriterionName" prop="TrialReadingCriterionName"
@ -826,7 +846,8 @@ export default {
OpByUserName: null, OpByUserName: null,
BatchId: null, BatchId: null,
TrialReadingCriterionId: null, TrialReadingCriterionId: null,
RoleName:null RoleName:null,
TaskName: null
} }
} }
return { return {

View File

@ -74,15 +74,17 @@
</el-button> </el-button>
</el-form> </el-form>
<!-- 上传 --> <!-- 上传 -->
<el-button <span style="margin-left:auto;">
v-hasPermi="['trials:trials-panel:visit:consistency-check:upload']" <el-button
type="primary" v-hasPermi="['trials:trials-panel:visit:consistency-check:upload']"
icon="el-icon-upload2" type="primary"
style="margin-left:auto;" icon="el-icon-upload2"
@click="handleOpenUploadDialog" @click="handleOpenUploadDialog"
> >
{{ $t('trials:consistencyCheck:button:upload') }} {{ $t('trials:consistencyCheck:button:upload') }}
</el-button> </el-button>
</span>
</template> </template>
<!-- 一致性核查列表 --> <!-- 一致性核查列表 -->

View File

@ -223,7 +223,7 @@
prop="ReUploadedTime" prop="ReUploadedTime"
:label="$t('trials:crcQuestion:table:reuploadTime')" :label="$t('trials:crcQuestion:table:reuploadTime')"
show-overflow-tooltip show-overflow-tooltip
min-width="150" width="140"
sortable="custom" sortable="custom"
/> />
<el-table-column <el-table-column

View File

@ -3,6 +3,12 @@
<!-- 搜索框 --> <!-- 搜索框 -->
<template slot="search-container"> <template slot="search-container">
<el-form :inline="true" class="base-search-form"> <el-form :inline="true" class="base-search-form">
<!-- 质疑状态 -->
<el-form-item style="margin-bottom: 10px" :label="$t('trials:crcUpload:table:challengeState')">
<el-select v-model="searchData.ChallengeState" clearable style="width:120px">
<el-option v-for="item of $d.CheckIsClosedEnum" :value="item.value" :key="item.label" :label="item.label" />
</el-select>
</el-form-item>
<!-- 中心编号 --> <!-- 中心编号 -->
<el-form-item style="margin-bottom: 10px" :label="$t('trials:crcUpload:table:siteId')"> <el-form-item style="margin-bottom: 10px" :label="$t('trials:crcUpload:table:siteId')">
<el-select v-model="searchData.SiteId" clearable filterable style="width:120px;"> <el-select v-model="searchData.SiteId" clearable filterable style="width:120px;">
@ -41,12 +47,7 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 质疑状态 -->
<el-form-item style="margin-bottom: 10px" :label="$t('trials:crcUpload:table:challengeState')">
<el-select v-model="searchData.ChallengeState" clearable style="width:120px">
<el-option v-for="item of $d.CheckIsClosedEnum" :value="item.value" :key="item.label" :label="item.label" />
</el-select>
</el-form-item>
<!-- 提交状态 --> <!-- 提交状态 -->
<el-form-item style="margin-bottom: 10px" :label="$t('trials:crcUpload:table:submitState')"> <el-form-item style="margin-bottom: 10px" :label="$t('trials:crcUpload:table:submitState')">
<el-select v-model="searchData.SubmitState" clearable style="width:120px"> <el-select v-model="searchData.SubmitState" clearable style="width:120px">
@ -311,6 +312,7 @@
v-if="hasPermi(['trials:trials-panel:visit:crc-upload:upload', 'trials:trials-panel:visit:crc-upload:submit','trials:trials-panel:visit:crc-upload:edit','trials:trials-panel:visit:crc-upload:delete'], '||')" v-if="hasPermi(['trials:trials-panel:visit:crc-upload:upload', 'trials:trials-panel:visit:crc-upload:submit','trials:trials-panel:visit:crc-upload:edit','trials:trials-panel:visit:crc-upload:delete'], '||')"
:label="$t('common:action:action')" :label="$t('common:action:action')"
width="250" width="250"
fixed="right"
> >
<template slot-scope="scope"> <template slot-scope="scope">
<!-- 上传 --> <!-- 上传 -->

View File

@ -57,12 +57,7 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!-- 是否重传 -->
<el-form-item :label="$t('trials:qcQuality:table:ReuploadEnum')">
<el-select v-model="searchData.ReuploadEnum" clearable style="width:120px">
<el-option v-for="item of $d.ReuploadEnum" :value="item.value" :label="item.label" :key="item.id"/>
</el-select>
</el-form-item>
<!-- 是否超限 --> <!-- 是否超限 -->
<el-form-item :label="$t('trials:qcQuality:table:isOverTime')"> <el-form-item :label="$t('trials:qcQuality:table:isOverTime')">
<el-select v-model="searchData.IsOverTime" clearable style="width:120px"> <el-select v-model="searchData.IsOverTime" clearable style="width:120px">
@ -74,6 +69,12 @@
<el-select v-model="searchData.IsClosed" clearable style="width:120px"> <el-select v-model="searchData.IsClosed" clearable style="width:120px">
<el-option v-for="item of $d.YesOrNo" :value="item.value" :label="item.label" :key="item.id"/> <el-option v-for="item of $d.YesOrNo" :value="item.value" :label="item.label" :key="item.id"/>
</el-select> </el-select>
</el-form-item>
<!-- 是否重传 -->
<el-form-item :label="$t('trials:qcQuality:table:ReuploadEnum')">
<el-select v-model="searchData.ReuploadEnum" clearable style="width:120px">
<el-option v-for="item of $d.ReuploadEnum" :value="item.value" :label="item.label" :key="item.id"/>
</el-select>
</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">