irc_web/.svn/pristine/52/52563beeb2123399a7e66e0899f...

220 lines
5.9 KiB
Plaintext

<template>
<el-form
ref="selectSubjectForm"
size="small"
label-width="130px"
:inline="true"
>
<div class="base-dialog-body">
<el-divider content-position="left">筛选规则</el-divider>
<el-form-item
label="评估影像检查部位"
prop="IsJoinEvaluation"
>
脑部
</el-form-item>
<el-divider content-position="left">待处理访视列表</el-divider>
<el-table
ref="subjectList"
v-loading="btnLoading"
:data="list"
stripe
>
<el-table-column
prop="VisitName"
label="访视"
sortable="custom"
show-overflow-tooltip
width="120"
/>
<el-table-column
prop="EarliestScanDate"
label="最早拍片日期"
sortable="custom"
show-overflow-tooltip
/>
<el-table-column
prop="LatestScanDate"
label="最晚拍片日期"
sortable="custom"
show-overflow-tooltip
/>
<el-table-column
prop="ImageFilterState"
label="影像筛选状态"
sortable="custom"
show-overflow-tooltip
>
<template slot-scope="scope">
{{ $fd('ImageFilterState', scope.row.ImageFilterState) }}
</template>
</el-table-column>
<el-table-column
:label="$t('common:action:action')"
width="120"
fixed="right"
>
<template slot-scope="scope">
<!-- 影像筛选 -->
<el-button
circle
title="影像筛选"
icon="el-icon-picture-outline"
@click="handleImageScreening(scope.row)"
/>
<!-- 生成任务 -->
<el-button
circle
:disabled="scope.row.ImageFilterState !== 2"
title="生成任务"
icon="el-icon-success"
@click="handleCreateTask(scope.row)"
/>
</template>
</el-table-column>
</el-table>
<el-divider content-position="left">已生成任务访视列表</el-divider>
<el-table
ref="subjectList"
v-loading="btnLoading"
:data="list2"
stripe
>
<el-table-column
prop="VisitName"
label="访视"
sortable="custom"
show-overflow-tooltip
width="120"
/>
<el-table-column
prop="TaskCode"
label="任务Id"
sortable="custom"
show-overflow-tooltip
width="120"
/>
<el-table-column
prop="TaskBlindName"
label="盲态任务名称"
sortable="custom"
show-overflow-tooltip
/>
<el-table-column
prop="CreateTime"
label="任务创建时间"
sortable="custom"
show-overflow-tooltip
/>
</el-table>
</div>
<div class="base-dialog-footer" style="text-align:right;margin-top:10px;">
<el-form-item>
<!-- 取消 -->
<el-button
:disabled="btnLoading"
size="small"
type="primary"
@click="close"
>
{{ $t('common:button:cancel') }}
</el-button>
</el-form-item>
</div>
<el-dialog
v-if="selectSubjectImage.visible"
:title="selectSubjectImage.title"
:visible.sync="selectSubjectImage.visible"
:fullscreen="true"
:append-to-body="true"
>
<subject-study :data="rowData" @close="selectSubjectImage.visible = false" @getList="getList"></subject-study>
</el-dialog>
</el-form>
</template>
<script>
import { getSubjectCriteriaEvaluationList, batchAddOrUpdateSubjectCriteriaEvaluation, getSubjectCriteriaEvaluationVisitFilterList, getHaveGeneratedTaskList, batchGenerateTask, getVisitStudyAndSeriesList, batchAddSubjectCriteriaEvaluationVisitStudyFilter } from '@/api/trials/subject'
import subjectStudy from "./subjectStudy";
export default {
name: 'selectSubjectImage',
components: { subjectStudy },
props: {
data: {
type: Object,
default: () => {}
}
},
data() {
return {
trialId: this.$route.query.trialId,
btnLoading: false,
list: [],
list2: [],
selectSubjectImage: { visible: false, title: '筛选影像' },
rowData: null
}
},
mounted() {
this.getList()
},
methods: {
close() {
this.$emit('close')
},
getHaveGeneratedTaskList() {
var params = {
TrialReadingCriterionId: this.data.TrialReadingCriterionId,
SubjectId: this.data.SubjectId
}
this.btnLoading = true
getHaveGeneratedTaskList(params).then(res => {
this.list2 = res.Result
this.btnLoading = false
}).catch(() => {
this.btnLoading = false
})
},
handleImageScreening(row) {
this.rowData = row
this.selectSubjectImage.visible = true
},
handleCreateTask(row) {
var params = {
TrialReadingCriterionId: row.TrialReadingCriterionId,
TrialId: this.trialId,
SubjectId: row.SubjectId,
SubjectVisitIdList: [row.SubjectVisitId],
}
this.btnLoading = true
batchGenerateTask(params).then(res => {
this.$message.success('生成成功')
this.getList()
this.btnLoading = false
}).catch(() => {
this.btnLoading = false
})
},
getList() {
var params = {
IsGeneratedTask: false,
TrialReadingCriterionId: this.data.TrialReadingCriterionId,
SubjectId: this.data.SubjectId
}
this.btnLoading = true
getSubjectCriteriaEvaluationVisitFilterList(params).then(res => {
this.btnLoading = false
this.list = res.Result
this.getHaveGeneratedTaskList()
}).catch(() => {
this.btnLoading = false
})
}
}
}
</script>
<style scoped>
</style>