irc_web/.svn/pristine/c4/c4b70922e4f0f5d620276820061...

229 lines
5.5 KiB
Plaintext

<template>
<el-table
v-adaptive="{bottomOffset:60}"
v-loading="loading"
:data="list"
stripe
height="100"
:span-method="objectSpanMethod"
>
<el-table-column
prop="UserType"
label="角色"
show-overflow-tooltip
width="120"
sortable="custom"
>
<template slot-scope="scope">
{{ $fd('UserType', scope.row.UserType) }}
</template>
</el-table-column>
<el-table-column
prop="UserName"
label="用户名"
show-overflow-tooltip
width="120"
sortable="custom"
/>
<el-table-column
prop="TrialSiteCode"
label="阅片人筛选"
show-overflow-tooltip
sortable="custom"
>
<el-table-column
prop="ReviewerSelect_SPM_ToBeApprovalCount"
label="阅片人待审批"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column
prop="ReviewerSelect_PM_ToBeConfirmCount"
label="阅片人待确认"
show-overflow-tooltip
sortable="custom"
/>
</el-table-column>
<el-table-column
label="上传影像"
show-overflow-tooltip
sortable="custom"
>
<el-table-column
prop="ImageUpload_CRC_ToBeReUploadCount"
label="影像待重传"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column
prop="ImageUpload_CRC_ToBeSubmitCount"
label="加急影像待提交"
show-overflow-tooltip
sortable="custom"
/>
</el-table-column>
<el-table-column
label="QC"
show-overflow-tooltip
sortable="custom"
>
<el-table-column
prop="QC_IQC_ToBeClaimedCount"
:label="$t('trials:trials-list:PendingDetails:PendingClaim')"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column
prop="QC_IQC_ToBeReviewedCount"
:label="$t('trials:trials-list:PendingDetails:Unfinished')"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column
prop="QC_IQC_ToBeDealedCount"
:label="$t('trials:trials-list:PendingDetails:QueryPendingIQC to-do')"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column
prop="QC_CRC_ToBeDealedCount"
label="质疑待CRC处理"
show-overflow-tooltip
sortable="custom"
/>
</el-table-column>
<el-table-column
prop="TrialSiteCode"
label="一致性核查"
show-overflow-tooltip
sortable="custom"
>
<el-table-column
prop="Check_CRC_ToBeDealedCount"
label="待CRC处理"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column
prop="Check_PM_ToBeDealedCount"
label="待PM处理"
show-overflow-tooltip
sortable="custom"
/>
</el-table-column>
<el-table-column
prop="TrialSiteCode"
label="阅片"
show-overflow-tooltip
sortable="custom"
>
<el-table-column
prop="Reading_IR_UnReadCount"
:label="$t('trials:tab:pendingReadingTasks')"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column
prop="Reading_PM_ToBeApprovalCount"
label="重阅待审批"
show-overflow-tooltip
sortable="custom"
>
<template slot-scope="scope">
{{ scope.row.Reading_PM_ToBeApprovalCount + scope.row.Reading_SPM_ToBeApprovalCount }}
</template>
</el-table-column>
</el-table-column>
<el-table-column
prop="TrialSiteCode"
label="医学审核"
show-overflow-tooltip
sortable="custom"
>
<el-table-column
prop="TrialSiteCode"
:label="$t('trials:trials-list:PendingDetails:PedingReview')"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column
prop="Medical_MIM_ToBeDealedCount"
:label="'MIM' + $t('trials:sysDocBeSigned:table:padding')"
show-overflow-tooltip
sortable="custom"
/>
<el-table-column
prop="Medical_IR_ToBeDealedCount"
:label="$t('trials:trials-list:PendingDetails:PendingIRResponse')"
show-overflow-tooltip
sortable="custom"
/>
</el-table-column>
</el-table>
</template>
<script>
import { getTrialUserToBeDoneList } from '@/api/trials'
export default {
name: 'DoneList',
props: {
trialId: {
type: String,
default: ''
}
},
data() {
return {
list: [],
UserTypeList: [],
spanArr: [],
pos: 0,
loading: false
}
},
mounted() {
this.loading = true
getTrialUserToBeDoneList({
TrialId: this.trialId
}).then(res => {
this.list = res.Result
this.getSpanArr(this.list)
this.loading = false
})
},
methods: {
getSpanArr(data) {
for (var i = 0; i < data.length; i++) {
if (i === 0) {
this.spanArr.push(1)
this.pos = 0
} else {
// 判断当前元素与上一个元素是否相同
if (data[i].UserType === data[i - 1].UserType) {
this.spanArr[this.pos] += 1
this.spanArr.push(0)
} else {
this.spanArr.push(1)
this.pos = i
}
}
}
},
objectSpanMethod({ row, column, rowIndex, columnIndex }) {
if (columnIndex === 0) {
const _row = this.spanArr[rowIndex]
const _col = _row > 0 ? 1 : 0
return {
rowspan: _row,
colspan: _col
}
}
}
}
}
</script>
<style scoped>
</style>