影像库增加查看所有影像
continuous-integration/drone/push Build is passing Details

main
wangxiaoshuang 2025-09-17 16:09:58 +08:00
parent fc0533c7d9
commit 71d9dbccd1
3 changed files with 99 additions and 10 deletions

View File

@ -82,7 +82,7 @@
<!-- <el-button circle disabled icon="el-icon-view" :title="$t('trials:inspection:button:image')"
@click.stop="image(scope.row)" /> -->
<el-button circle icon="el-icon-info" :title="$t('trials:inspection:button:detail')"
@click.stop="view(scope.row)" />
:disabled="!row.UploadJsonStr" @click.stop="view(scope.row)" />
</template>
</el-table-column>
</el-table>

View File

@ -1,11 +1,41 @@
<template>
<el-dialog :visible.sync="visible" :close-on-click-modal="false" :fullscreen="true" custom-class="upload-dialog"
:before-close="beforeCloseStudyDig">
<span slot="title">{{ $t('trials:inspection:message:viewStudy') }}{{
<span slot="title" v-if="!isAll">{{ $t('trials:inspection:message:viewStudy') }}{{
$t('trials:uploadDicomList:table:patientInfo')
}}{{ Patient.PatientIdStr }}{{ Patient.PatientName }}</span>
<div class="search">
<el-form :inline="true" class="base-search-form">
<template v-if="isAll">
<!-- 患者ID/患者姓名 -->
<el-form-item :label="$t('trials:uploadDicomList:table:pId')">
<el-input v-model="searchData.PatientIdStr" style="width: 100px" clearable />
</el-form-item>
<el-form-item :label="$t('trials:uploadDicomList:table:patientName')">
<el-input v-model="searchData.PatientName" style="width: 100px" clearable />
</el-form-item>
<!-- Called AE -->
<el-form-item class="my_multiple" :label="$t('trials:inspection:search:CalledAE')">
<el-select v-model="searchData.CalledAEList" clearable multiple style="width: 140px">
<el-option v-for="(item, index) of calledAeList" :key="index" :label="item" :value="item">
</el-option>
</el-select>
</el-form-item>
<!-- Calling AE -->
<el-form-item class="my_multiple" :label="$t('trials:inspection:search:CallingAE')">
<el-select v-model="searchData.callingAE" clearable style="width: 140px">
<el-option v-for="(item, index) of callingAeList" :key="index" :label="item" :value="item">
</el-option>
</el-select>
</el-form-item>
<!-- 课题组 -->
<el-form-item :label="$t('trials:trials-myinfo:form:StudyHospitalGroupList')">
<el-select v-model="searchData.HospitalGroupIdList" clearable multiple style="width: 140px">
<el-option v-for="(item) of hospitalGroupList" :key="item.Id" :label="item.Name" :value="item.Id">
</el-option>
</el-select>
</el-form-item>
</template>
<!-- 检查类型 -->
<el-form-item :label="$t('trials:audit:table:modality')">
<el-select v-model="searchData.Modalities" clearable style="width: 140px">
@ -30,7 +60,7 @@
{{ $t('common:button:reset') }}
</el-button>
<!-- 选择课题组 -->
<el-button type="primary" v-hasPermi="['trials:trialsInspection:addGroup']"
<el-button type="primary" v-hasPermi="['trials:trialsInspection:addGroup']" v-if="!isAll"
:disabled="multipleSelection.length <= 0" @click="openGroup({})">
{{ $t('trials:inspection:button:checkGroupId') }}
</el-button>
@ -41,8 +71,26 @@
<el-table ref="viewStudyList" v-loading="loading" v-adaptive="{ bottomOffset: 60 }" :data="list" stripe height="100"
@sort-change="handleSortByColumn" :default-sort="{ prop: 'StudyTime', order: 'descending' }"
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" v-if="hasPermi(['trials:trialsInspection:editGroup'])" />
<el-table-column type="selection" width="55" v-if="hasPermi(['trials:trialsInspection:editGroup']) && !isAll" />
<el-table-column type="index" width="40" v-else />
<template v-if="isAll">
<!--患者ID-->
<el-table-column prop="PatientIdStr" :label="$t('trials:uploadDicomList:table:pId')" show-overflow-tooltip
min-width="120" sortable="custom"></el-table-column>
<!--患者姓名-->
<el-table-column prop="PatientName" :label="$t('trials:uploadDicomList:table:patientName')"
show-overflow-tooltip min-width="120" sortable="custom"></el-table-column>
<!--出生日期-->
<el-table-column prop="PatientBirthDate" :label="$t('trials:inspection:table:birthdate')" show-overflow-tooltip
min-width="120" sortable="custom"></el-table-column>
<!--性别-->
<el-table-column prop="PatientSex" :label="$t('trials:trials-myinfo:form:gender')" show-overflow-tooltip
min-width="100" sortable="custom">
<template slot-scope="scope">
<span>{{ $fd('Sex', scope.row.PatientSex) }}</span>
</template>
</el-table-column>
</template>
<!--检查申请号-->
<el-table-column align="center" prop="AccessionNumber" :label="$t('trials:inspection:table:AccessionNumber')"
show-overflow-tooltip min-width="120" sortable="custom"></el-table-column>
@ -85,10 +133,10 @@
<el-button circle icon="el-icon-view" :title="$t('trials:inspection:button:image')"
@click.stop="image(scope.row)" />
<!-- 修改课题组 -->
<el-button circle icon="el-icon-edit-outline" :title="$t('trials:inspection:button:editGroup')"
<el-button circle icon="el-icon-edit-outline" :title="$t('trials:inspection:button:editGroup')" v-if="!isAll"
v-hasPermi="['trials:trialsInspection:editGroup']" @click.stop="openGroup(scope.row, 3)" />
<!--删除-->
<el-button circle v-hasPermi="['trials:trialsInspection:delStudy']" icon="el-icon-delete"
<el-button circle v-hasPermi="['trials:trialsInspection:delStudy']" icon="el-icon-delete" v-if="!isAll"
:title="$t('trials:inspection:button:delete')" @click.stop="deletePatientStudy(scope.row)" />
<!-- 诊断报告 -->
<el-button circle icon="el-icon-document" @click.stop="report(scope.row)"
@ -137,6 +185,12 @@ import { getToken } from '@/utils/auth'
import BaseModel from '@/components/BaseModel'
const defaultSearchData = () => {
return {
PatientIdStr: null,
PatientName: null,
CalledAEList: [],
callingAE: null,
ExperimentName: null,
HospitalGroupIdList: [],
Modalities: null,
EarliestStudyTime: null,
LatestStudyTime: null,
@ -161,6 +215,28 @@ export default {
return {}
},
},
isAll: {
required: true,
default: false,
},
calledAeList: {
type: Array,
default: () => {
return []
},
},
callingAeList: {
type: Array,
default: () => {
return []
},
},
hospitalGroupList: {
type: Array,
default: () => {
return []
},
},
},
data() {
return {
@ -298,7 +374,9 @@ export default {
Object.keys(this.searchData).forEach((key) => {
data[key] = this.searchData[key]
})
data.PatientId = this.Patient.PatientId
if (!this.isAll) {
data.PatientId = this.Patient.PatientId
}
if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
data.EarliestStudyTime = this.$moment(this.dateValue[0]).format(
'YYYY-MM-DD HH:mm:ss'

View File

@ -66,6 +66,12 @@
{{ $t('common:button:pull') }}
</el-button>
</el-form-item>
<el-form-item>
<!-- 查看所有检查 -->
<el-button type="primary" @click="handleOpenDialog({}, 'study', true)">
{{ $t('common:button:viewAllStudy') }}
</el-button>
</el-form-item>
</el-form>
</template>
@ -178,7 +184,8 @@
@handleOpenDialog="handleOpenDialog" />
<!--查看检查列表-->
<viewStudyList v-if="studyTrialsVisible" :visible.sync="studyTrialsVisible" :Patient="selectPatient"
@getList="getList" />
:isAll="studyAll" :calledAeList="calledAeList" :callingAeList="callingAeList"
:hospitalGroupList="hospitalGroupList" @getList="getList" />
<!--推送记录列表-->
<pushRecordList v-if="pushTrialsVisible" :visible.sync="pushTrialsVisible" :calledAeList="calledAeList"
:callingAeList="callingAeList" />
@ -248,7 +255,8 @@ export default {
pushTrialsVisible: false,
// pacs
pullTrialsVisible: false,
hospitalGroupList: []
hospitalGroupList: [],
studyAll: false
}
},
created() {
@ -365,7 +373,10 @@ export default {
this.getList()
},
//
handleOpenDialog(item, key) {
handleOpenDialog(item, key, isAll = false) {
if (key === 'study') {
this[`${key}All`] = isAll
}
this[`${key}TrialsVisible`] = true
this.selectPatient = item
},