220 lines
5.9 KiB
Plaintext
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>
|