irc_web/.svn/pristine/d5/d59328dcbcbe04b1ead3ca056da...

263 lines
9.0 KiB
Plaintext

<template>
<BaseContainer>
<template slot="search-container">
<el-form :inline="true">
<!-- 受试者编号 -->
<el-form-item label="受试者编号">
<el-input
v-model="searchData.SubjectCode"
style="width:130px;"
clearable
/>
</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>
</el-form-item>
</el-form>
</template>
<template slot="main-container">
<el-table
v-adaptive="{bottomOffset:60}"
v-loading="loading"
:data="list"
stripe
height="100"
>
<el-table-column type="index" width="40" align="left" />
<!-- 是否加急 -->
<el-table-column
prop="IsUrgent"
:label="$t('trials:consistencyCheck:table:isUrgent')"
show-overflow-tooltip
min-width="100"
sortable="custom"
>
<template slot-scope="scope">
<el-tag v-if="scope.row.IsUrgent" type="danger">{{ $fd('YesOrNo', scope.row.IsUrgent) }}</el-tag>
<el-tag v-else type="primary">{{ $fd('YesOrNo', scope.row.IsUrgent) }}</el-tag>
</template>
</el-table-column>
<!-- 受试者编号 -->
<el-table-column
prop="SubjectCode"
min-width="100"
label="受试者编号"
show-overflow-tooltip
/>
<!-- 盲态访视名称 -->
<el-table-column
prop="TaskBlindName"
min-width="100"
label="盲态访视名称"
show-overflow-tooltip
/>
<el-table-column
prop="TaskState"
label="任务状态"
min-width="100"
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>
</template>
</el-table-column>
<!-- 阅片类别 -->
<el-table-column
prop="ReadingCategory"
min-width="100"
label="阅片类别"
show-overflow-tooltip
>
<template slot-scope="scope">
<el-tag v-if="scope.row.ReadingCategory === 1" type="primary">{{ $fd('ReadingCategory', scope.row.ReadingCategory) }}</el-tag>
<el-tag v-if="scope.row.ReadingCategory === 2" type="info">{{ $fd('ReadingCategory', scope.row.ReadingCategory) }}</el-tag>
<el-tag v-if="scope.row.ReadingCategory === 4" type="danger">{{ $fd('ReadingCategory', scope.row.ReadingCategory) }}</el-tag>
<el-tag v-if="scope.row.ReadingCategory === 5" type="warning">{{ $fd('ReadingCategory', scope.row.ReadingCategory) }}</el-tag>
</template>
</el-table-column>
<!-- 阅片状态 -->
<el-table-column
prop="TaskAllocationState"
min-width="100"
label="阅片状态"
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"
min-width="100"
label="完成阅片时间"
show-overflow-tooltip
/>
<!-- 重阅申请类型 -->
<el-table-column
prop="RequestReReadingType"
min-width="100"
label="重阅申请类型"
show-overflow-tooltip
>
<div v-if="scope.row.RequestReReadingType">
<el-tag v-if="scope.row.RequestReReadingType === 2" type="danger">{{ $fd('RequestReReadingType', scope.row.RequestReReadingType) }}</el-tag>
<el-tag v-else type="primary">{{ $fd('RequestReReadingType', scope.row.RequestReReadingType) }}</el-tag>
</div>
</el-table-column>
<!-- 申请退回时间 -->
<el-table-column
prop="RequestReReadingTime"
min-width="100"
label="申请退回时间"
show-overflow-tooltip
/>
<!-- 申请退回原因 -->
<el-table-column
prop="RequestReReadingReason"
min-width="100"
label="申请退回原因"
show-overflow-tooltip
/>
<!-- 审批结果 -->
<el-table-column
prop="RequestReReadingResultEnum"
min-width="100"
label="审批结果"
show-overflow-tooltip
>
<div v-if="scope.row.RequestReReadingResultEnum">
<el-tag v-if="scope.row.RequestReReadingResultEnum === 2" type="danger">{{ $fd('RequestReReadingResult', scope.row.RequestReReadingResultEnum) }}</el-tag>
<el-tag v-else type="primary">{{ $fd('RequestReReadingResult', scope.row.RequestReReadingResultEnum) }}</el-tag>
</div>
</el-table-column>
<el-table-column
:label="$t('common:action:action')"
width="250"
fixed="right"
>
<template slot-scope="scope">
<el-button
:disabled="scope.row.RequestReReadingResultEnum || scope.row.RequestReReadingType === 1"
circle
title="同意退回"
icon="el-icon-check"
@click="handleConfirmReReading(scope.row,1)"
/>
<el-button
:disabled="scope.row.RequestReReadingResultEnum || scope.row.RequestReReadingType === 1"
icon="el-icon-close"
circle
title="拒绝退回"
@click="handleConfirmReReading(scope.row,2)"
/>
</template>
</el-table-column>
</el-table>
<!-- 分页组件 -->
<pagination class="page" :total="total" :page.sync="searchData.PageIndex" :limit.sync="searchData.PageSize" @pagination="getList" />
</template>
</BaseContainer>
</template>
<script>
import { getIRReReadingTaskList } from '@/api/trials'
import { confirmReReading } from '@/api/trials/reading'
import BaseContainer from '@/components/BaseContainer'
import Pagination from '@/components/Pagination'
import { truncateText } from 'zrender/lib/contain/text'
const searchDataDefault = () => {
return {
SubjectCode: '',
PageIndex: 1,
PageSize: 20
}
}
export default {
name: 'RereadTask',
components: { BaseContainer, Pagination },
data() {
return {
searchData: searchDataDefault(),
list: [],
total: 0,
loading: false,
trialId: ''
}
},
mounted() {
this.trialId = this.$route.query.trialId
this.getList()
},
methods: {
getList() {
this.loading = true
this.searchData.TrialId = this.trialId
getIRReReadingTaskList(this.searchData).then(res => {
this.list = res.Result.CurrentPageData
this.total = res.Result.TotalCount
this.loading = false
}).catch(() => { this.loading = false })
},
handleSearch() {
this.searchData.PageIndex = 1
this.getList()
},
handleReset() {
this.searchData = searchDataDefault()
this.getList()
},
handleConfirmReReading(row, type) {
this.$confirm(`是否确认${type === 1 ? '同意' : '拒绝'}该重阅申请?`).then(() => {
var params = {
ConfirmReReadingList: [
{
Id: row.Id,
OriginalReReadingTaskId: row.OriginalReReadingTaskId,
NewReReadingTaskId: row.NewReReadingTaskId
}
],
TrialId: this.$route.query.trialId,
RequestReReadingResultEnum: type
}
this.loading = true
confirmReReading(params).then(res => {
this.loading = false
this.$message.success(`${type === 1 ? '同意' : '拒绝'}申请成功`)
this.getList()
}).catch(() => {
this.loading = false
})
}).catch(() => {})
},
// 排序
handleSortChange(column) {
if (column.order === 'ascending') {
this.searchData.Asc = true
} else {
this.searchData.Asc = false
}
this.searchData.SortField = column.prop
this.searchData.PageIndex = 1
this.getList()
}
}
}
</script>