列表优化

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>
<template slot="search-container">
<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-select v-model="searchData.TrialSiteCode" clearable filterable style="width:120px;">
@ -26,10 +32,10 @@
clearable
/>
</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-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>
<!-- 阅片人 -->
@ -38,16 +44,29 @@
<el-option v-for="item of DoctorUserList" :key="'DoctorUserId' + item.DoctorUserId" :value="item.DoctorUserId" :label="`${item.UserName}(${item.FullName})`" />
</el-select>
</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-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-select>
</el-form-item>
<!-- 是否加急 -->
<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-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="$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-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-select>
</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-select v-model="searchData.TaskAllocationState" clearable style="width:120px;">
@ -84,6 +93,16 @@
@change="changeTimeList"
/>
</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-button type="primary" icon="el-icon-search" @click="handleSearch">
{{ $t('common:button:search') }}
@ -138,14 +157,6 @@
<el-tag v-else type="primary">{{ $fd('YesOrNo', scope.row.IsUrgent) }}</el-tag>
</template>
</el-table-column>
<!-- 任务编号 -->
<el-table-column
prop="TaskCode"
:label="$t('trials:consistencyAnalysis:table:taskCode')"
width="120"
sortable="custom"
show-overflow-tooltip
/>
<!-- 中心编号 -->
<el-table-column
prop="TrialSiteCode"
@ -163,13 +174,24 @@
show-overflow-tooltip
>
<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">
<!-- -->
{{$t('trials:consistencyAnalysis:table:impact')}}
</span>
</template>
</el-table-column>
<!-- 任务编号 -->
<!-- <el-table-column
prop="TaskCode"
:label="$t('trials:consistencyAnalysis:table:taskCode')"
width="120"
sortable="custom"
show-overflow-tooltip
/> -->
<!-- 任务名称 -->
<el-table-column
prop="VisitTaskNum"
@ -179,17 +201,20 @@
show-overflow-tooltip
>
<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>
</el-table-column>
<!-- 盲态任务标识 -->
<el-table-column
<!-- <el-table-column
prop="TaskBlindName"
:label="$t('trials:consistencyAnalysis:table:taskBlindName')"
width="160"
sortable="custom"
show-overflow-tooltip
/>
/> -->
<!-- 任务类型 -->
<el-table-column
prop="ReadingCategory"
@ -205,17 +230,16 @@
<el-tag v-if="scope.row.ReadingCategory === 5" type="warning">{{ $fd('ReadingCategory', scope.row.ReadingCategory) }}</el-tag>
</template>
</el-table-column>
<!-- 一致性分析类别 -->
<!-- 阅片人 -->
<el-table-column
prop="IsSelfAnalysis"
:label="$t('trials:consistencyAnalysis:table:category')"
width="160"
prop="UserName"
:label="$t('trials:consistencyAnalysis:table:reader')"
width="120"
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>
{{scope.row.UserName}}({{scope.row.FullName}})
</template>
</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>
</template>
</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
prop="TrialReadingCriterionName"
@ -255,6 +267,59 @@
sortable="custom"
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
prop="TaskState"
@ -271,46 +336,8 @@
<el-tag v-if="scope.row.TaskState === 5" type="danger">{{ $fd('TaskState', scope.row.TaskState) }}</el-tag>
</template>
</el-table-column>
<!-- 分配时间 -->
<el-table-column
prop="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"
:label="$t('trials:consistencyAnalysis:table:applyStatus')"
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 === 3" type="warning">{{ $fd('ReReadingApplyState', scope.row.ReReadingApplyState) }}</el-tag>
</template>
</el-table-column>
</el-table-column> -->
<!-- 是否受到退回影响 -->
<el-table-column
<!-- <el-table-column
prop="IsReReadingOrBackInfluenceAnalysis"
:label="$t('trials:consistencyAnalysis:table:impactInfluence')"
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="primary">{{ $fd('YesOrNo', scope.row.IsReReadingOrBackInfluenceAnalysis) }}</el-tag>
</template>
</el-table-column>
</el-table-column> -->
<el-table-column
fixed="right"
:label="$t('common:action:action')"
@ -674,7 +701,9 @@ const searchDataDefault = () => {
TaskAllocationState: null,
BeginAllocateDate: null,
EndAllocateDate: null,
TrialReadingCriterionId: null
TrialReadingCriterionId: null,
BeginSignTime: null,
EndSignTime: null
}
}
export default {
@ -707,6 +736,7 @@ export default {
ReaderRulesFormVisible: false,
IsSelfAnalysis: true,
timeList: [],
timeList2: [],
ApplyforReasonVisible: false,
ApplyforReasonForm: {
Type: null,
@ -790,6 +820,15 @@ export default {
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) {
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() {
this.timeList = null
this.timeList2 = null
this.searchData = searchDataDefault()
this.getList()
},

View File

@ -32,7 +32,7 @@
/>
</el-form-item>
<!-- 盲态任务标识 -->
<el-form-item
<!-- <el-form-item
style="margin-bottom:10px"
:label="$t('trials:medicalFeedback:table:taskBlindName')"
>
@ -41,7 +41,7 @@
style="width:100px;"
clearable
/>
</el-form-item>
</el-form-item> -->
<!-- 任务类型 -->
<el-form-item
style="margin-bottom:10px"
@ -78,8 +78,26 @@
/>
</el-select>
</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"
:label="$t('trials:medicalFeedback:table:auditAdvice')"
>
@ -95,7 +113,7 @@
:label="item.label"
/>
</el-select>
</el-form-item>
</el-form-item> -->
<!-- 是否认可 -->
<el-form-item
@ -371,6 +389,7 @@ const searchDataDefault = () => {
AuditState: null,
AuditAdviceEnum: null,
DoctorUserIdeaEnum: null,
IsHaveQuestion: null,
PageIndex: 1,
PageSize: 20
}

View File

@ -58,7 +58,7 @@
/>
</el-form-item>
<!-- 盲态任务标识 -->
<el-form-item
<!-- <el-form-item
style="margin-bottom:10px"
:label="$t('trials:medicalFeedback:table:taskBlindName')"
>
@ -67,22 +67,22 @@
style="width:100px;"
clearable
/>
</el-form-item>
<!-- 阅片角色 -->
</el-form-item> -->
<!-- 任务类型 -->
<el-form-item
style="margin-bottom:10px"
:label="$t('trials:medicalFeedback:table:armEnum')"
:label="$t('trials:medicalFeedback:table:readingCategory')"
>
<el-select
v-model="searchData.ArmEnum"
v-model="searchData.ReadingCategory"
clearable
style="width:120px;"
>
<el-option
v-for="arm of $d.ArmEnum"
:key="'ArmEnum' + arm.label"
:value="arm.value"
:label="arm.label"
v-for="r of $d.ReadingCategory"
:key="'ReadingCategory' + r.label"
:value="r.value"
:label="r.label"
/>
</el-select>
</el-form-item>
@ -104,39 +104,64 @@
/>
</el-select>
</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:readingCategory')"
:label="$t('trials:medicalFeedback:table:armEnum')"
>
<el-select
v-model="searchData.ReadingCategory"
v-model="searchData.ArmEnum"
clearable
style="width:120px;"
>
<el-option
v-for="r of $d.ReadingCategory"
:key="'ReadingCategory' + r.label"
:value="r.value"
:label="r.label"
v-for="arm of $d.ArmEnum"
:key="'ArmEnum' + arm.label"
:value="arm.value"
:label="arm.label"
/>
</el-select>
</el-form-item>
<!-- 审核状态 -->
<el-form-item style="margin-bottom:10px" :label="$t('trials:medicalFeedback:table:auditState')">
<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-select>
</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-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-select>
</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-button
type="primary"
@ -210,7 +235,14 @@
width="140"
sortable="custom"
show-overflow-tooltip
/>
>
<template slot-scope="scope">
<span v-if="scope.row.MedicalNo && scope.row.MedicalNo !== scope.row.SubjectCode">
{{ `${scope.row.SubjectCode}/${scope.row.MedicalNo}` }}
</span>
<span v-else>{{scope.row.SubjectCode}}</span>
</template>
</el-table-column>
<!-- 访视/阅片期名称 -->
<el-table-column
prop="TaskName"
@ -218,15 +250,22 @@
width="160"
sortable="custom"
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"
:label="$t('trials:medicalFeedback:table:taskBlindName')"
width="180"
sortable="custom"
show-overflow-tooltip
/>
/> -->
<!-- 任务类型 -->
<el-table-column
prop="ReadingCategory"
@ -262,20 +301,16 @@
</el-tag>
</template>
</el-table-column>
<!-- 阅片任务状态 -->
<!-- 阅片 -->
<el-table-column
prop="TaskState"
:label="$t('trials:medicalFeedback:table:taskState')"
width="160"
prop="UserName"
:label="$t('trials:medicalFeedback:table:reader')"
width="120"
sortable="custom"
show-overflow-tooltip
>
<template slot-scope="scope">
<el-tag v-if="scope.row.TaskState === 0" type="primary">{{ $fd('TaskState', scope.row.TaskState) }}</el-tag>
<el-tag v-if="scope.row.TaskState === 1" type="info">{{ $fd('TaskState', scope.row.TaskState) }}</el-tag>
<el-tag v-if="scope.row.TaskState === 3" type="danger">{{ $fd('TaskState', scope.row.TaskState) }}</el-tag>
<el-tag v-if="scope.row.TaskState === 4" type="warning">{{ $fd('TaskState', scope.row.TaskState) }}</el-tag>
<el-tag v-if="scope.row.TaskState === 5" type="danger">{{ $fd('TaskState', scope.row.TaskState) }}</el-tag>
<template v-if="scope.row.DoctorUser" slot-scope="scope">
{{ scope.row.DoctorUser.UserName }}({{ scope.row.DoctorUser.FullName }})
</template>
</el-table-column>
<!-- 阅片角色 -->
@ -318,51 +353,22 @@
</el-tag>
</template>
</el-table-column>
<!-- 阅片 -->
<el-table-column
prop="UserName"
:label="$t('trials:medicalFeedback:table:reader')"
width="120"
<!-- 阅片任务状态 -->
<!-- <el-table-column
prop="TaskState"
:label="$t('trials:medicalFeedback:table:taskState')"
width="160"
sortable="custom"
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">
<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>
<el-tag v-if="scope.row.TaskState === 0" type="primary">{{ $fd('TaskState', scope.row.TaskState) }}</el-tag>
<el-tag v-if="scope.row.TaskState === 1" type="info">{{ $fd('TaskState', scope.row.TaskState) }}</el-tag>
<el-tag v-if="scope.row.TaskState === 3" type="danger">{{ $fd('TaskState', scope.row.TaskState) }}</el-tag>
<el-tag v-if="scope.row.TaskState === 4" type="warning">{{ $fd('TaskState', scope.row.TaskState) }}</el-tag>
<el-tag v-if="scope.row.TaskState === 5" type="danger">{{ $fd('TaskState', scope.row.TaskState) }}</el-tag>
</template>
</el-table-column>
</el-table-column> -->
<!-- 审核状态 -->
<el-table-column
prop="AuditState"
@ -383,6 +389,18 @@
</el-tag>
</template>
</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
prop="AuditAdviceEnum"
@ -398,8 +416,8 @@
<!-- 阅片人是否认同 -->
<el-table-column
prop="DoctorUserIdeaEnum"
:label="$t('trials:medicalFeedback:table:doctorUserIdea')"
width="150"
:label="$t('trials:medicalFeedback:table:DoctorUserIdeaEnum')"
width="170"
sortable="custom"
show-overflow-tooltip
>
@ -407,6 +425,41 @@
{{ $fd('MedicalReviewDoctorUserIdea',scope.row.DoctorUserIdeaEnum) }}
</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">
<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
prop="AuditSignTime"
@ -561,7 +614,10 @@ const searchDataDefault = () => {
ReadingTaskState: null,
AuditState: null,
TaskState: null,
DoctorUserIdeaEnum: null
DoctorUserIdeaEnum: null,
BeginAllocateDate: null,
EndAllocateDate: null,
IsEffect: true
}
}
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) {
this.currentRow = { ...row }
this.auditVisible = true

View File

@ -3,6 +3,12 @@
<BaseContainer>
<template slot="search-container">
<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-select v-model="searchData.SiteId" clearable filterable style="width:120px;">
@ -26,48 +32,54 @@
clearable
/>
</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-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-select>
</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-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-select>
</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-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-select>
</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-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-select>
</el-form-item>
<!-- &lt;!&ndash; 全局阅片是否有更新 &ndash;&gt;-->
<!-- <el-form-item style="margin-bottom:10px" :label="$t('trials:pmMedicalReview:select:globalReadingChanged')">-->
<!-- <el-select v-model="searchData.IsGeneratedJudge" clearable style="width:120px;">-->
<!-- <el-option v-for="item of $d.YesOrNo" :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:signTime')">
<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-button type="primary" icon="el-icon-search" @click="handleSearch">
{{ $t('common:button:search') }}
@ -107,13 +119,13 @@
</template>
</el-table-column>
<!-- 任务编号 -->
<el-table-column
<!-- <el-table-column
prop="TaskCode"
:label="$t('trials:pmMedicalReview:select:taskCode')"
width="120"
sortable="custom"
show-overflow-tooltip
/>
/> -->
<!-- 中心编号 -->
<el-table-column
prop="TrialSiteCode"
@ -129,15 +141,22 @@
width="120"
sortable="custom"
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"
:label="$t('trials:pmMedicalReview:select:subjectSecondCode')"
width="120"
sortable="custom"
show-overflow-tooltip
/>
/> -->
<!-- 任务名称 -->
<el-table-column
prop="VisitTaskNum"
@ -147,17 +166,20 @@
show-overflow-tooltip
>
<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>
</el-table-column>
<!-- 盲态任务标识 -->
<el-table-column
<!-- <el-table-column
prop="TaskBlindName"
:label="$t('trials:pmMedicalReview:select:taskBlindName')"
width="160"
sortable="custom"
show-overflow-tooltip
/>
/> -->
<!-- 任务类型 -->
<el-table-column
prop="ReadingCategory"
@ -173,6 +195,18 @@
<el-tag v-if="scope.row.ReadingCategory === 5" type="warning">{{ $fd('ReadingCategory', scope.row.ReadingCategory) }}</el-tag>
</template>
</el-table-column>
<!-- 阅片人 -->
<el-table-column
prop="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
prop="ArmEnum"
@ -189,18 +223,7 @@
<el-tag v-if="scope.row.ArmEnum === 5" type="warning">{{ $fd('ArmEnum', scope.row.ArmEnum) }}</el-tag>
</template>
</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
prop="TrialReadingCriterionName"
@ -209,6 +232,21 @@
sortable="custom"
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
prop="SignTime"
@ -228,47 +266,17 @@
{{scope.row.ReadingDuration}}
</template>
</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
prop="GeneratedMedicalReviewCount"
:label="$t('trials:pmMedicalReview:select:auditCount')"
width="150"
width="130"
sortable="custom"
show-overflow-tooltip
/>
<el-table-column
fixed="right"
:label="$t('common:action:action')"
width="100"
min-width="100"
>
<template slot-scope="scope">
<el-button
@ -291,7 +299,7 @@
append-to-body
: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>
</template>
</BaseContainer>
@ -322,7 +330,9 @@ const searchDataDefault = () => {
BeginAllocateDate: null,
EndAllocateDate: null,
RootReReadingTaskId: null,
IsGeneratedJudge: null
IsGeneratedJudge: null,
BeginSignTime: null,
EndSignTime: null
}
}
export default {
@ -416,11 +426,11 @@ export default {
},
changeTimeList() {
if (this.timeList) {
this.searchData.BeginAllocateDate = this.timeList[0]
this.searchData.EndAllocateDate = this.timeList[1]
this.searchData.BeginSignTime = this.timeList[0]
this.searchData.EndSignTime = this.timeList[1]
} else {
this.searchData.BeginAllocateDate = null
this.searchData.EndAllocateDate = null
this.searchData.BeginSignTime = null
this.searchData.EndSignTime = null
}
},
//
@ -452,12 +462,15 @@ export default {
getGenerateMedicalReviewTaskList(this.searchData).then(res => {
this.loading = false
this.OtherInfo = res.OtherInfo
this.$emit('getList')
this.AssignMedicalReviewTaskVisible = false
this.list = res.Result.CurrentPageData
this.total = res.Result.TotalCount
}).catch(() => { this.loading = false })
},
refreshList() {
this.getList()
this.$emit('getList')
},
handleSearch() {
this.searchData.PageIndex = 1
this.getList()

View File

@ -76,6 +76,15 @@
</el-select>
</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-select v-model="searchData.RequestReReadingResultEnum" clearable style="width:120px;">
@ -441,7 +450,14 @@
:label="$t('trials:reviewTrack:table:subjectCode')"
min-width="120"
show-overflow-tooltip
/>
>
<template slot-scope="scope">
<span v-if="scope.row.MedicalNo && scope.row.MedicalNo !== scope.row.SubjectCode">
{{ `${scope.row.SubjectCode}/${scope.row.MedicalNo}` }}
</span>
<span v-else>{{scope.row.SubjectCode}}</span>
</template>
</el-table-column>
<!-- 任务名称 -->
<el-table-column
prop="VisitTaskNum"
@ -450,16 +466,19 @@
show-overflow-tooltip
>
<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>
</el-table-column>
<!-- 盲态任务标识 -->
<el-table-column
<!-- <el-table-column
prop="TaskBlindName"
:label="$t('trials:reviewTrack:table:blindName')"
min-width="120"
show-overflow-tooltip
/>
/> -->
<!-- 阅片标准 -->
<el-table-column
prop="TrialReadingCriterionName"
@ -598,7 +617,8 @@ const searchDataDefault = () => {
CompleteClinicalDataEnum: null,
ArmEnum: null,
BeginRequestReReadingTime: null,
EndRequestReReadingTime: null
EndRequestReReadingTime: null,
RequestReReadingReason: null
}
}
export default {

View File

@ -5,6 +5,12 @@
<div v-if="TrialReadingCriterionId === item.TrialReadingCriterionId">
<div slot="search-container" style="position:relative;">
<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-input
@ -25,12 +31,7 @@
<el-option v-for="i of $d.ReadingCategory" :key="'ReadingCategory' + i.label" :value="i.value" :label="i.label" />
</el-select>
</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-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-select>
</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-date-picker
@ -227,7 +233,7 @@
</template>
</el-table-column>
<!-- 角色 -->
<el-table-column
<!-- <el-table-column
prop="ArmEnum"
:label="$t('trials:reviewTrack:table:role')"
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 === 5" type="warning">{{ $fd('ArmEnum', scope.row.ArmEnum) }}</el-tag>
</template>
</el-table-column>
</el-table-column> -->
<!-- 阅片标准 -->
<el-table-column
prop="TrialReadingCriterionName"
@ -379,6 +385,7 @@ const searchDataDefault = () => {
CompleteClinicalDataEnum: null,
BeginSignTime: null,
EndSignTime: null,
ReReadingApplyState: null,
IsEffect: false
// ArmEnum: null
}
@ -454,6 +461,8 @@ export default {
this.getList()
},
handleReset() {
this.timeList = []
this.timeList2 = []
this.searchData = searchDataDefault()
this.getList()
},

View File

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

View File

@ -5,6 +5,24 @@
<div v-if="TrialReadingCriterionId === item.TrialReadingCriterionId">
<div slot="search-container">
<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-select v-model="searchData.SiteId" clearable filterable style="width:120px;">
@ -28,13 +46,13 @@
/>
</el-form-item> -->
<!-- 任务编号 -->
<el-form-item :label="$t('trials:rereadTask:table:taskCode')">
<!-- <el-form-item :label="$t('trials:rereadTask:table:taskCode')">
<el-input
v-model="searchData.TaskCode"
style="width:130px;"
clearable
/>
</el-form-item>
</el-form-item> -->
<el-form-item :label="$t('trials:rereadTask: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" />
@ -218,13 +236,13 @@
</template>
</el-table-column>
<!-- 新任务编号 -->
<el-table-column
<!-- <el-table-column
prop="ReReadingNewTaskCode"
:label="$t('trials:rereadTask:table:reReadingNewTaskCode')"
min-width="120"
sortable="custom"
show-overflow-tooltip
/>
/> -->
</el-table>
<!-- 分页组件 -->
<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'
const searchDataDefault = () => {
return {
IsUrgent: null,
SubjectCode: '',
TaskCode: '',
PageIndex: 1,

View File

@ -62,7 +62,7 @@
>
<el-option
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"
:label="item.UserTypeShortName"
:value="item.Id"

View File

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

View File

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

View File

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

View File

@ -43,6 +43,10 @@
/>
</el-select>
</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-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-select>
</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-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 :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-select>-->
<!--</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-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>
@ -164,16 +170,23 @@
fixed="left"
show-overflow-tooltip
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"
min-width="170"
:label="$t('trials:auditRecord:table:taskBlindName')"
fixed="left"
show-overflow-tooltip
sortable="custom"
/>
/> -->
<!-- 阅片标准 -->
<el-table-column
prop="TrialReadingCriterionName"
@ -491,15 +504,22 @@
:label="$t('trials:auditRecord:table:taskName')"
show-overflow-tooltip
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"
min-width="150"
:label="$t('trials:auditRecord:table:taskBlindName')"
show-overflow-tooltip
sortable="custom"
/>
/> -->
<!-- 阅片标准 -->
<el-table-column
prop="TrialReadingCriterionName"
@ -826,7 +846,8 @@ export default {
OpByUserName: null,
BatchId: null,
TrialReadingCriterionId: null,
RoleName:null
RoleName:null,
TaskName: null
}
}
return {

View File

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

View File

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

View File

@ -3,6 +3,12 @@
<!-- 搜索框 -->
<template slot="search-container">
<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-select v-model="searchData.SiteId" clearable filterable style="width:120px;">
@ -41,12 +47,7 @@
/>
</el-select>
</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-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'], '||')"
:label="$t('common:action:action')"
width="250"
fixed="right"
>
<template slot-scope="scope">
<!-- 上传 -->

View File

@ -57,12 +57,7 @@
</el-option>
</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 :label="$t('trials:qcQuality:table:isOverTime')">
<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-option v-for="item of $d.YesOrNo" :value="item.value" :label="item.label" :key="item.id"/>
</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-button type="primary" icon="el-icon-search" @click="handleSearch">