pacs接收修改
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
1dd21911e5
commit
3c15561485
|
@ -29,7 +29,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss">
|
<style lang="scss" scoped>
|
||||||
.box-body{
|
.box-body{
|
||||||
.search{
|
.search{
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
:visible.sync="visible"
|
:visible.sync="visible"
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
:title="title"
|
:title="title"
|
||||||
width="500px"
|
width="600px"
|
||||||
custom-class="base-dialog-wrapper"
|
custom-class="base-dialog-wrapper"
|
||||||
append-to-body
|
append-to-body
|
||||||
:before-close="handleCancel"
|
:before-close="handleCancel"
|
||||||
|
@ -14,7 +14,7 @@
|
||||||
:model="form"
|
:model="form"
|
||||||
:rules="rules"
|
:rules="rules"
|
||||||
size="small"
|
size="small"
|
||||||
label-width="100px"
|
label-width="150px"
|
||||||
>
|
>
|
||||||
<div class="base-dialog-body">
|
<div class="base-dialog-body">
|
||||||
<!--PacsTypeEnum-->
|
<!--PacsTypeEnum-->
|
||||||
|
@ -48,8 +48,46 @@
|
||||||
<el-input v-model.number="form.Port" type="number" clearable />
|
<el-input v-model.number="form.Port" type="number" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!--Modality-->
|
<!--Modality-->
|
||||||
<el-form-item :label="$t('system:dicom:form:Modality')" prop="Modality">
|
<el-form-item
|
||||||
<el-input v-model="form.Modality" clearable />
|
:label="$t('system:dicom:form:Modality')"
|
||||||
|
prop="ModalityList"
|
||||||
|
>
|
||||||
|
<el-select
|
||||||
|
v-model="form.ModalityList"
|
||||||
|
placeholder=""
|
||||||
|
style="width: 100%"
|
||||||
|
clearable
|
||||||
|
multiple
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in $d.modalType"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.label"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<!--影像时间范围-->
|
||||||
|
<el-form-item
|
||||||
|
:label="$t('system:dicom:form:timeFrame')"
|
||||||
|
prop="PacsSearchMaxDays"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
v-model.number="form.PacsSearchMaxDays"
|
||||||
|
type="number"
|
||||||
|
clearable
|
||||||
|
/>
|
||||||
|
</el-form-item>
|
||||||
|
<!--最大拉取数量-->
|
||||||
|
<el-form-item
|
||||||
|
:label="$t('system:dicom:form:MaxStudyCount')"
|
||||||
|
prop="MaxStudyCount"
|
||||||
|
>
|
||||||
|
<el-input
|
||||||
|
v-model.number="form.MaxStudyCount"
|
||||||
|
type="number"
|
||||||
|
clearable
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!--Description-->
|
<!--Description-->
|
||||||
<el-form-item
|
<el-form-item
|
||||||
|
@ -111,10 +149,12 @@ export default {
|
||||||
CalledAE: null,
|
CalledAE: null,
|
||||||
IP: null,
|
IP: null,
|
||||||
Port: null,
|
Port: null,
|
||||||
Modality: null,
|
ModalityList: null,
|
||||||
Description: null,
|
Description: null,
|
||||||
Id: null,
|
Id: null,
|
||||||
PacsTypeEnum: null,
|
PacsTypeEnum: null,
|
||||||
|
PacsSearchMaxDays: null,
|
||||||
|
MaxStudyCount: null,
|
||||||
},
|
},
|
||||||
rules: {
|
rules: {
|
||||||
PacsTypeEnum: [
|
PacsTypeEnum: [
|
||||||
|
@ -124,6 +164,22 @@ export default {
|
||||||
trigger: 'blur',
|
trigger: 'blur',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
ModalityList: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t('common:ruleMessage:select'),
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
validator: (rule, value, callback) => {
|
||||||
|
if (!value || (Array.isArray(value) && value.length <= 0)) {
|
||||||
|
callback(new Error(this.$t('common:ruleMessage:select')))
|
||||||
|
} else {
|
||||||
|
callback()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
CalledAE: [
|
CalledAE: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
|
@ -170,6 +226,61 @@ export default {
|
||||||
trigger: 'blur',
|
trigger: 'blur',
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
PacsSearchMaxDays: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: this.$t('common:ruleMessage:PacsSearchMaxDaysPattern'),
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
type: 'number',
|
||||||
|
min: 0,
|
||||||
|
max: 365,
|
||||||
|
message: this.$t('common:ruleMessage:PacsSearchMaxDaysPattern'),
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
validator: (rule, value, callback) => {
|
||||||
|
if (
|
||||||
|
value &&
|
||||||
|
(String(value).includes('.') ||
|
||||||
|
new RegExp(/\D/g).test(String(value)))
|
||||||
|
) {
|
||||||
|
callback(
|
||||||
|
new Error(
|
||||||
|
this.$t('common:ruleMessage:PacsSearchMaxDaysPattern')
|
||||||
|
)
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
callback()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
MaxStudyCount: [
|
||||||
|
// {
|
||||||
|
// required: true,
|
||||||
|
// message: this.$t('common:ruleMessage:MaxStudyCountPattern'),
|
||||||
|
// trigger: 'blur',
|
||||||
|
// },
|
||||||
|
{
|
||||||
|
validator: (rule, value, callback) => {
|
||||||
|
if (
|
||||||
|
value &&
|
||||||
|
(String(value).includes('.') ||
|
||||||
|
new RegExp(/\D/g).test(String(value)))
|
||||||
|
) {
|
||||||
|
callback(
|
||||||
|
new Error(this.$t('common:ruleMessage:MaxStudyCountPattern'))
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
callback()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
trigger: 'blur',
|
||||||
|
},
|
||||||
|
],
|
||||||
Port: [
|
Port: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
|
|
|
@ -69,7 +69,7 @@
|
||||||
<el-table-column
|
<el-table-column
|
||||||
:label="$t('system:dicom:table:AETitle')"
|
:label="$t('system:dicom:table:AETitle')"
|
||||||
prop="CalledAE"
|
prop="CalledAE"
|
||||||
min-width="120"
|
min-width="100"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
@ -77,7 +77,7 @@
|
||||||
<el-table-column
|
<el-table-column
|
||||||
:label="$t('system:dicom:table:IP')"
|
:label="$t('system:dicom:table:IP')"
|
||||||
prop="IP"
|
prop="IP"
|
||||||
min-width="120"
|
min-width="100"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
@ -85,7 +85,7 @@
|
||||||
<el-table-column
|
<el-table-column
|
||||||
:label="$t('system:dicom:table:Port')"
|
:label="$t('system:dicom:table:Port')"
|
||||||
prop="Port"
|
prop="Port"
|
||||||
min-width="120"
|
min-width="80"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
@ -104,16 +104,36 @@
|
||||||
<!--Modality-->
|
<!--Modality-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
:label="$t('system:dicom:table:Modality')"
|
:label="$t('system:dicom:table:Modality')"
|
||||||
prop="Modality"
|
prop="ModalityList"
|
||||||
min-width="120"
|
min-width="120"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ scope.row.ModalityList.join(', ') }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!--PacsSearchMaxDays-->
|
||||||
|
<el-table-column
|
||||||
|
:label="$t('system:dicom:table:PacsSearchMaxDays')"
|
||||||
|
prop="PacsSearchMaxDays"
|
||||||
|
min-width="140"
|
||||||
|
show-overflow-tooltip
|
||||||
|
sortable="custom"
|
||||||
|
/>
|
||||||
|
<!--MaxStudyCount-->
|
||||||
|
<el-table-column
|
||||||
|
:label="$t('system:dicom:table:MaxStudyCount')"
|
||||||
|
prop="MaxStudyCount"
|
||||||
|
min-width="110"
|
||||||
|
show-overflow-tooltip
|
||||||
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
<!--Description-->
|
<!--Description-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
:label="$t('system:dicom:table:Description')"
|
:label="$t('system:dicom:table:Description')"
|
||||||
prop="Description"
|
prop="Description"
|
||||||
min-width="120"
|
min-width="100"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
@ -121,7 +141,7 @@
|
||||||
<el-table-column
|
<el-table-column
|
||||||
:label="$t('system:dicom:table:IsTestOK')"
|
:label="$t('system:dicom:table:IsTestOK')"
|
||||||
prop="IsTestOK"
|
prop="IsTestOK"
|
||||||
min-width="120"
|
min-width="80"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
sortable="custom"
|
sortable="custom"
|
||||||
>
|
>
|
||||||
|
@ -185,6 +205,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<editDicom
|
<editDicom
|
||||||
|
v-if="editDicomVisible"
|
||||||
:visible.sync="editDicomVisible"
|
:visible.sync="editDicomVisible"
|
||||||
:title="editDicomTitle"
|
:title="editDicomTitle"
|
||||||
:dicom="DICOM"
|
:dicom="DICOM"
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
<el-select
|
<el-select
|
||||||
v-model="searchData.PacsDicomAEId"
|
v-model="searchData.PacsDicomAEId"
|
||||||
style="width: 140px"
|
style="width: 140px"
|
||||||
@change="getList"
|
@change="pacsDicomAEIdChange"
|
||||||
>
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="(item, index) of AElist"
|
v-for="(item, index) of AElist"
|
||||||
|
@ -36,6 +36,7 @@
|
||||||
<el-input
|
<el-input
|
||||||
v-model="searchData.PatientID"
|
v-model="searchData.PatientID"
|
||||||
clearable
|
clearable
|
||||||
|
style="width: 100px"
|
||||||
:maxlength="400"
|
:maxlength="400"
|
||||||
></el-input>
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -47,11 +48,12 @@
|
||||||
<el-input
|
<el-input
|
||||||
v-model="searchData.PatientName"
|
v-model="searchData.PatientName"
|
||||||
clearable
|
clearable
|
||||||
|
style="width: 100px"
|
||||||
:maxlength="400"
|
:maxlength="400"
|
||||||
></el-input>
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- patientSex -->
|
<!-- patientSex -->
|
||||||
<el-form-item
|
<!-- <el-form-item
|
||||||
class="my_multiple"
|
class="my_multiple"
|
||||||
:label="$t('trials:inspection:pullImage:search:patientSex')"
|
:label="$t('trials:inspection:pullImage:search:patientSex')"
|
||||||
>
|
>
|
||||||
|
@ -68,9 +70,9 @@
|
||||||
>
|
>
|
||||||
</el-option>
|
</el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item> -->
|
||||||
<!-- patientBirthDate -->
|
<!-- patientBirthDate -->
|
||||||
<el-form-item
|
<!-- <el-form-item
|
||||||
:label="$t('trials:inspection:pullImage:search:patientBirthDate')"
|
:label="$t('trials:inspection:pullImage:search:patientBirthDate')"
|
||||||
>
|
>
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
|
@ -82,7 +84,7 @@
|
||||||
value-format="yyyyMMDD"
|
value-format="yyyyMMDD"
|
||||||
>
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item> -->
|
||||||
<!-- studyID -->
|
<!-- studyID -->
|
||||||
<!-- <el-form-item
|
<!-- <el-form-item
|
||||||
class="my_multiple"
|
class="my_multiple"
|
||||||
|
@ -95,7 +97,7 @@
|
||||||
></el-input>
|
></el-input>
|
||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
<!-- AccessionNumber -->
|
<!-- AccessionNumber -->
|
||||||
<el-form-item
|
<!-- <el-form-item
|
||||||
class="my_multiple"
|
class="my_multiple"
|
||||||
:label="$t('trials:inspection:pullImage:search:AccessionNumber')"
|
:label="$t('trials:inspection:pullImage:search:AccessionNumber')"
|
||||||
>
|
>
|
||||||
|
@ -104,17 +106,25 @@
|
||||||
clearable
|
clearable
|
||||||
:maxlength="400"
|
:maxlength="400"
|
||||||
></el-input>
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item> -->
|
||||||
<!-- modalitiesInStudy -->
|
<!-- modalitiesInStudy -->
|
||||||
<el-form-item
|
<el-form-item
|
||||||
class="my_multiple"
|
|
||||||
:label="$t('trials:inspection:pullImage:search:modalitiesInStudy')"
|
:label="$t('trials:inspection:pullImage:search:modalitiesInStudy')"
|
||||||
>
|
>
|
||||||
<el-input
|
<el-select
|
||||||
v-model="searchData.ModalitiesInStudy"
|
v-model="searchData.ModalitiesInStudy"
|
||||||
|
placeholder=""
|
||||||
clearable
|
clearable
|
||||||
:maxlength="400"
|
multiple
|
||||||
></el-input>
|
collapse-tags
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in ModalityList"
|
||||||
|
:key="item"
|
||||||
|
:label="item"
|
||||||
|
:value="item"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- studyDate -->
|
<!-- studyDate -->
|
||||||
<el-form-item
|
<el-form-item
|
||||||
|
@ -127,11 +137,12 @@
|
||||||
start-placeholder="开始日期"
|
start-placeholder="开始日期"
|
||||||
end-placeholder="结束日期"
|
end-placeholder="结束日期"
|
||||||
value-format="yyyyMMDD"
|
value-format="yyyyMMDD"
|
||||||
|
:picker-options="pickerOptions"
|
||||||
>
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- studyTime -->
|
<!-- studyTime -->
|
||||||
<el-form-item
|
<!-- <el-form-item
|
||||||
:label="$t('trials:inspection:pullImage:search:studyTime')"
|
:label="$t('trials:inspection:pullImage:search:studyTime')"
|
||||||
>
|
>
|
||||||
<el-time-picker
|
<el-time-picker
|
||||||
|
@ -144,9 +155,9 @@
|
||||||
placeholder="选择时间范围"
|
placeholder="选择时间范围"
|
||||||
>
|
>
|
||||||
</el-time-picker>
|
</el-time-picker>
|
||||||
</el-form-item>
|
</el-form-item> -->
|
||||||
<!-- bodyPartExamined -->
|
<!-- bodyPartExamined -->
|
||||||
<el-form-item
|
<!-- <el-form-item
|
||||||
class="my_multiple"
|
class="my_multiple"
|
||||||
:label="$t('trials:inspection:pullImage:search:bodyPartExamined')"
|
:label="$t('trials:inspection:pullImage:search:bodyPartExamined')"
|
||||||
>
|
>
|
||||||
|
@ -155,9 +166,9 @@
|
||||||
clearable
|
clearable
|
||||||
:maxlength="400"
|
:maxlength="400"
|
||||||
></el-input>
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item> -->
|
||||||
<!-- studyDescription -->
|
<!-- studyDescription -->
|
||||||
<el-form-item
|
<!-- <el-form-item
|
||||||
class="my_multiple"
|
class="my_multiple"
|
||||||
:label="$t('trials:inspection:pullImage:search:studyDescription')"
|
:label="$t('trials:inspection:pullImage:search:studyDescription')"
|
||||||
>
|
>
|
||||||
|
@ -166,9 +177,9 @@
|
||||||
clearable
|
clearable
|
||||||
:maxlength="400"
|
:maxlength="400"
|
||||||
></el-input>
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item> -->
|
||||||
<!-- studyInstanceUID -->
|
<!-- studyInstanceUID -->
|
||||||
<el-form-item
|
<!-- <el-form-item
|
||||||
class="my_multiple"
|
class="my_multiple"
|
||||||
:label="$t('trials:inspection:pullImage:search:studyInstanceUID')"
|
:label="$t('trials:inspection:pullImage:search:studyInstanceUID')"
|
||||||
>
|
>
|
||||||
|
@ -177,7 +188,7 @@
|
||||||
clearable
|
clearable
|
||||||
:maxlength="400"
|
:maxlength="400"
|
||||||
></el-input>
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item> -->
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<!-- 查询 -->
|
<!-- 查询 -->
|
||||||
<el-button type="primary" icon="el-icon-search" @click="handleSearch">
|
<el-button type="primary" icon="el-icon-search" @click="handleSearch">
|
||||||
|
@ -207,21 +218,21 @@
|
||||||
ref="viewStudyList"
|
ref="viewStudyList"
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
v-adaptive="{ bottomOffset: 60 }"
|
v-adaptive="{ bottomOffset: 60 }"
|
||||||
:data="list"
|
:data="PageList"
|
||||||
stripe
|
stripe
|
||||||
height="100"
|
height="100"
|
||||||
@sort-change="handleSortByColumn"
|
@sort-change="handleSortByColumn"
|
||||||
:default-sort="{ prop: 'StartTime', order: 'descending' }"
|
|
||||||
@selection-change="handleSelectionChange"
|
@selection-change="handleSelectionChange"
|
||||||
>
|
>
|
||||||
<el-table-column type="selection" width="55" />
|
<el-table-column type="selection" width="55" />
|
||||||
<!-- <el-table-column type="index" width="40" /> -->
|
<el-table-column type="index" width="40" />
|
||||||
<!--patientID-->
|
<!--patientID-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="PatientID"
|
prop="PatientID"
|
||||||
:label="$t('trials:inspection:pullImage:table:patientID')"
|
:label="$t('trials:inspection:pullImage:table:patientID')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="120"
|
min-width="120"
|
||||||
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
<!--patientName-->
|
<!--patientName-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -229,6 +240,7 @@
|
||||||
:label="$t('trials:inspection:pullImage:table:patientName')"
|
:label="$t('trials:inspection:pullImage:table:patientName')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="120"
|
min-width="120"
|
||||||
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
<!--patientSex-->
|
<!--patientSex-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -236,13 +248,19 @@
|
||||||
:label="$t('trials:inspection:pullImage:table:patientSex')"
|
:label="$t('trials:inspection:pullImage:table:patientSex')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="120"
|
min-width="120"
|
||||||
/>
|
sortable="custom"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ $fd('Sex', scope.row.PatientSex) }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<!--patientBirthDate-->
|
<!--patientBirthDate-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
prop="PatientBirthDate"
|
prop="PatientBirthDate"
|
||||||
:label="$t('trials:inspection:pullImage:table:patientBirthDate')"
|
:label="$t('trials:inspection:pullImage:table:patientBirthDate')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="120"
|
min-width="120"
|
||||||
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
<!--studyID-->
|
<!--studyID-->
|
||||||
<!-- <el-table-column
|
<!-- <el-table-column
|
||||||
|
@ -257,6 +275,7 @@
|
||||||
:label="$t('trials:inspection:pullImage:table:AccessionNumber')"
|
:label="$t('trials:inspection:pullImage:table:AccessionNumber')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="120"
|
min-width="120"
|
||||||
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
<!--modalitiesInStudy-->
|
<!--modalitiesInStudy-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -264,6 +283,7 @@
|
||||||
:label="$t('trials:inspection:pullImage:table:modalitiesInStudy')"
|
:label="$t('trials:inspection:pullImage:table:modalitiesInStudy')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="120"
|
min-width="120"
|
||||||
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
<!--studyDate-->
|
<!--studyDate-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -271,6 +291,7 @@
|
||||||
:label="$t('trials:inspection:pullImage:table:studyDate')"
|
:label="$t('trials:inspection:pullImage:table:studyDate')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="120"
|
min-width="120"
|
||||||
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
<!--studyTime-->
|
<!--studyTime-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -278,6 +299,7 @@
|
||||||
:label="$t('trials:inspection:pullImage:table:studyTime')"
|
:label="$t('trials:inspection:pullImage:table:studyTime')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="120"
|
min-width="120"
|
||||||
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
<!--bodyPartExamined-->
|
<!--bodyPartExamined-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -285,6 +307,7 @@
|
||||||
:label="$t('trials:inspection:pullImage:table:bodyPartExamined')"
|
:label="$t('trials:inspection:pullImage:table:bodyPartExamined')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="120"
|
min-width="120"
|
||||||
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
<!--studyDescription-->
|
<!--studyDescription-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -292,6 +315,7 @@
|
||||||
:label="$t('trials:inspection:pullImage:table:studyDescription')"
|
:label="$t('trials:inspection:pullImage:table:studyDescription')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="120"
|
min-width="120"
|
||||||
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
<!--studyInstanceUID-->
|
<!--studyInstanceUID-->
|
||||||
<el-table-column
|
<el-table-column
|
||||||
|
@ -299,6 +323,7 @@
|
||||||
:label="$t('trials:inspection:pullImage:table:studyInstanceUID')"
|
:label="$t('trials:inspection:pullImage:table:studyInstanceUID')"
|
||||||
show-overflow-tooltip
|
show-overflow-tooltip
|
||||||
min-width="120"
|
min-width="120"
|
||||||
|
sortable="custom"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<!--操作-->
|
<!--操作-->
|
||||||
|
@ -315,13 +340,13 @@
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<!-- 分页组件 -->
|
<!-- 分页组件 -->
|
||||||
<!-- <pagination
|
<pagination
|
||||||
class="page"
|
class="page"
|
||||||
:total="total"
|
:total="total"
|
||||||
:page.sync="searchData.PageIndex"
|
:page.sync="PageIndex"
|
||||||
:limit.sync="searchData.PageSize"
|
:limit.sync="PageSize"
|
||||||
@pagination="getList"
|
@pagination="paging"
|
||||||
/> -->
|
/>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
|
@ -337,11 +362,12 @@ const defaultSearchData = () => {
|
||||||
PacsDicomAEId: null,
|
PacsDicomAEId: null,
|
||||||
PatientID: null,
|
PatientID: null,
|
||||||
PatientName: null,
|
PatientName: null,
|
||||||
|
ModalitiesInStudy: null,
|
||||||
|
StudyDate: null,
|
||||||
|
|
||||||
PatientSex: null,
|
PatientSex: null,
|
||||||
PatientBirthDate: null,
|
PatientBirthDate: null,
|
||||||
StudyID: null,
|
StudyID: null,
|
||||||
ModalitiesInStudy: null,
|
|
||||||
StudyDate: null,
|
|
||||||
StudyTime: null,
|
StudyTime: null,
|
||||||
BodyPartExamined: null,
|
BodyPartExamined: null,
|
||||||
StudyDescription: null,
|
StudyDescription: null,
|
||||||
|
@ -374,25 +400,111 @@ export default {
|
||||||
return {
|
return {
|
||||||
// 查询
|
// 查询
|
||||||
searchData: defaultSearchData(),
|
searchData: defaultSearchData(),
|
||||||
|
ModalityList: [],
|
||||||
|
timeFrame: null,
|
||||||
|
MaxStudyCount: null,
|
||||||
PatientBirthDate: [],
|
PatientBirthDate: [],
|
||||||
StudyDate: [new Date(), new Date()],
|
StudyDate: [],
|
||||||
// StudyTime: [
|
// StudyTime: [
|
||||||
// new Date(2016, 9, 10, 0, 0, 0),
|
// new Date(2016, 9, 10, 0, 0, 0),
|
||||||
// new Date(2016, 9, 10, 23, 59, 59),
|
// new Date(2016, 9, 10, 23, 59, 59),
|
||||||
// ],
|
// ],
|
||||||
StudyTime: [new Date(new Date().getTime() - 10800000), new Date()],
|
// StudyTime: [new Date(new Date().getTime() - 10800000), new Date()],
|
||||||
// 可加入项目列表
|
// 可加入项目列表
|
||||||
loading: false,
|
loading: false,
|
||||||
list: [],
|
list: [],
|
||||||
|
PageList: [],
|
||||||
total: 0,
|
total: 0,
|
||||||
|
PageIndex: 1,
|
||||||
|
PageSize: 50,
|
||||||
AElist: [],
|
AElist: [],
|
||||||
multipleSelection: [],
|
multipleSelection: [],
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
pickerOptions() {
|
||||||
|
return {
|
||||||
|
shortcuts: [
|
||||||
|
{
|
||||||
|
text: this.$t('trials:inspection:pullImage:picker:today'),
|
||||||
|
onClick: (picker) => {
|
||||||
|
const end = new Date()
|
||||||
|
const start = new Date()
|
||||||
|
// picker.$emit('pick', [start, end])
|
||||||
|
this.StudyDate = [start, end]
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: this.$t('trials:inspection:pullImage:picker:week'),
|
||||||
|
onClick: (picker) => {
|
||||||
|
const end = new Date()
|
||||||
|
const start = new Date()
|
||||||
|
if (!this.timeFrame || this.timeFrame > 3) {
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 2)
|
||||||
|
} else {
|
||||||
|
start.setTime(
|
||||||
|
start.getTime() - 3600 * 1000 * 24 * (this.timeFrame - 1)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// picker.$emit('pick', [start, end])
|
||||||
|
this.StudyDate = [start, end]
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: this.$t('trials:inspection:pullImage:picker:month'),
|
||||||
|
onClick: (picker) => {
|
||||||
|
const end = new Date()
|
||||||
|
const start = new Date()
|
||||||
|
if (!this.timeFrame || this.timeFrame > 30) {
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 29)
|
||||||
|
} else {
|
||||||
|
start.setTime(
|
||||||
|
start.getTime() - 3600 * 1000 * 24 * (this.timeFrame - 1)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
// picker.$emit('pick', [start, end])
|
||||||
|
this.StudyDate = [start, end]
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: this.$t('trials:inspection:pullImage:picker:trimester'),
|
||||||
|
onClick: (picker) => {
|
||||||
|
const end = new Date()
|
||||||
|
const start = new Date()
|
||||||
|
if (!this.timeFrame || this.timeFrame > 90) {
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 89)
|
||||||
|
} else {
|
||||||
|
start.setTime(
|
||||||
|
start.getTime() - 3600 * 1000 * 24 * (this.timeFrame - 1)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
// picker.$emit('pick', [start, end])
|
||||||
|
this.StudyDate = [start, end]
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
disabledDate: (time) => {
|
||||||
|
if (!this.timeFrame) return false
|
||||||
|
let curDate = new Date().getTime()
|
||||||
|
let three = this.timeFrame * 24 * 3600 * 1000
|
||||||
|
let threeMonths = curDate - three
|
||||||
|
return time.getTime() >= Date.now() || time.getTime() <= threeMonths
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
created() {
|
created() {
|
||||||
this.getAEList()
|
this.getAEList()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
pacsDicomAEIdChange(val) {
|
||||||
|
let pacs = this.AElist.find((item) => item.Id === val)
|
||||||
|
this.ModalityList = pacs.ModalityList
|
||||||
|
this.timeFrame = pacs.PacsSearchMaxDays
|
||||||
|
this.MaxStudyCount = pacs.MaxStudyCount
|
||||||
|
this.handleReset()
|
||||||
|
},
|
||||||
// 验证pacs
|
// 验证pacs
|
||||||
async cMoveVerify(data) {
|
async cMoveVerify(data) {
|
||||||
try {
|
try {
|
||||||
|
@ -415,35 +527,44 @@ export default {
|
||||||
Object.keys(this.searchData).forEach((key) => {
|
Object.keys(this.searchData).forEach((key) => {
|
||||||
data[key] = this.searchData[key]
|
data[key] = this.searchData[key]
|
||||||
})
|
})
|
||||||
if (
|
// if (
|
||||||
this.PatientBirthDate &&
|
// this.PatientBirthDate &&
|
||||||
this.PatientBirthDate[0] &&
|
// this.PatientBirthDate[0] &&
|
||||||
this.PatientBirthDate[1]
|
// this.PatientBirthDate[1]
|
||||||
) {
|
// ) {
|
||||||
data.PatientBirthDate =
|
// data.PatientBirthDate =
|
||||||
this.PatientBirthDate[0] + '-' + this.PatientBirthDate[1]
|
// this.PatientBirthDate[0] + '-' + this.PatientBirthDate[1]
|
||||||
} else {
|
// } else {
|
||||||
data.PatientBirthDate = null
|
// data.PatientBirthDate = null
|
||||||
}
|
// }
|
||||||
if (this.StudyDate && this.StudyDate[0] && this.StudyDate[1]) {
|
if (this.StudyDate && this.StudyDate[0] && this.StudyDate[1]) {
|
||||||
data.StudyDate = this.StudyDate[0] + '-' + this.StudyDate[1]
|
data.StudyDate = this.StudyDate[0] + '-' + this.StudyDate[1]
|
||||||
} else {
|
} else {
|
||||||
data.StudyDate = null
|
data.StudyDate = null
|
||||||
}
|
}
|
||||||
if (this.StudyTime && this.StudyTime[0] && this.StudyTime[1]) {
|
// if (this.StudyTime && this.StudyTime[0] && this.StudyTime[1]) {
|
||||||
data.StudyTime =
|
// data.StudyTime =
|
||||||
this.$moment(this.StudyTime[0]).format('HHmmss') +
|
// this.$moment(this.StudyTime[0]).format('HHmmss') +
|
||||||
'-' +
|
// '-' +
|
||||||
this.$moment(this.StudyTime[1]).format('HHmmss')
|
// this.$moment(this.StudyTime[1]).format('HHmmss')
|
||||||
} else {
|
// } else {
|
||||||
data.StudyTime = null
|
// data.StudyTime = null
|
||||||
}
|
// }
|
||||||
try {
|
try {
|
||||||
this.loading = true
|
this.loading = true
|
||||||
let res = await getCFindStudyList(data)
|
let res = await getCFindStudyList(data)
|
||||||
this.loading = false
|
this.loading = false
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
this.list = res.Result
|
this.list = res.Result
|
||||||
|
this.total = res.Result.length
|
||||||
|
this.paging()
|
||||||
|
let MaxStudyCount = this.MaxStudyCount || 50
|
||||||
|
if (this.total >= MaxStudyCount) {
|
||||||
|
let message = this.$t(
|
||||||
|
'trials:inspection:pullImage:confirm:limit50'
|
||||||
|
).replace('xx', MaxStudyCount)
|
||||||
|
this.$confirm(message)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.loading = false
|
this.loading = false
|
||||||
|
@ -456,7 +577,7 @@ export default {
|
||||||
CalledAE: null,
|
CalledAE: null,
|
||||||
IP: null,
|
IP: null,
|
||||||
Port: null,
|
Port: null,
|
||||||
PacsTypeEnum: 2,
|
// PacsTypeEnum: 2,
|
||||||
PageIndex: 1,
|
PageIndex: 1,
|
||||||
PageSize: 1000,
|
PageSize: 1000,
|
||||||
SortField: 'CreateTime',
|
SortField: 'CreateTime',
|
||||||
|
@ -470,6 +591,9 @@ export default {
|
||||||
this.AElist = res.Result.CurrentPageData
|
this.AElist = res.Result.CurrentPageData
|
||||||
if (this.AElist.length > 0) {
|
if (this.AElist.length > 0) {
|
||||||
this.searchData.PacsDicomAEId = this.AElist[0].Id
|
this.searchData.PacsDicomAEId = this.AElist[0].Id
|
||||||
|
this.ModalityList = this.AElist[0].ModalityList
|
||||||
|
this.timeFrame = this.AElist[0].PacsSearchMaxDays
|
||||||
|
this.MaxStudyCount = this.AElist[0].MaxStudyCount
|
||||||
this.getList()
|
this.getList()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -477,6 +601,15 @@ export default {
|
||||||
console.log(err)
|
console.log(err)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
// 分页
|
||||||
|
paging() {
|
||||||
|
this.PageList = []
|
||||||
|
if (!this.list || this.list.length <= 0) return false
|
||||||
|
this.PageList = this.list.slice(
|
||||||
|
(this.PageIndex - 1) * this.PageSize,
|
||||||
|
this.PageIndex * this.PageSize
|
||||||
|
)
|
||||||
|
},
|
||||||
// 查询
|
// 查询
|
||||||
handleSearch() {
|
handleSearch() {
|
||||||
// this.searchData.PageIndex = 1
|
// this.searchData.PageIndex = 1
|
||||||
|
@ -495,17 +628,19 @@ export default {
|
||||||
this.searchData[key] = null
|
this.searchData[key] = null
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
this.PatientBirthDate = []
|
// this.PatientBirthDate = []
|
||||||
this.StudyDate = [new Date(), new Date()]
|
this.StudyDate = []
|
||||||
this.StudyTime = [new Date(new Date().getTime() - 10800000), new Date()]
|
// this.StudyTime = [new Date(new Date().getTime() - 10800000), new Date()]
|
||||||
},
|
},
|
||||||
// 表格排序
|
// 表格排序
|
||||||
handleSortByColumn(sort) {
|
handleSortByColumn(sort) {
|
||||||
this.searchData.SortField = sort.prop
|
if (sort.order === 'ascending') {
|
||||||
if (sort.order === 'ascending') this.searchData.Asc = true
|
this.list.sort((a, b) => a[sort.prop] - b[sort.prop])
|
||||||
if (sort.order === 'descending') this.searchData.Asc = false
|
}
|
||||||
if (!sort.order) this.searchData.SortField = null
|
if (sort.order === 'descending') {
|
||||||
this.getList()
|
this.list.sort((a, b) => b[sort.prop] - a[sort.prop])
|
||||||
|
}
|
||||||
|
this.paging()
|
||||||
},
|
},
|
||||||
beforeCloseStudyDig() {
|
beforeCloseStudyDig() {
|
||||||
this.$setOpenWindow()
|
this.$setOpenWindow()
|
||||||
|
|
|
@ -6,22 +6,33 @@
|
||||||
custom-class="upload-dialog"
|
custom-class="upload-dialog"
|
||||||
:before-close="beforeCloseStudyDig"
|
:before-close="beforeCloseStudyDig"
|
||||||
>
|
>
|
||||||
<div class="top">
|
<span slot="title">
|
||||||
<p>
|
|
||||||
<span
|
<span
|
||||||
>{{ $t("trials:uploadDicomList:table:patientInfo") }}({{
|
>{{ $t('trials:uploadDicomList:table:patientInfo') }}({{
|
||||||
Patient.PatientIdStr
|
Patient.PatientIdStr
|
||||||
}},{{ Patient.PatientName }})</span
|
}},{{ Patient.PatientName }})</span
|
||||||
>|<span>
|
>|<span>
|
||||||
{{
|
{{
|
||||||
$t("trials:inspection:research-trials-list:table:joinTrialsNumber")
|
$t('trials:inspection:research-trials-list:table:joinTrialsNumber')
|
||||||
|
}}({{ total }})</span
|
||||||
|
></span
|
||||||
|
>
|
||||||
|
<!-- <div class="top">
|
||||||
|
<p>
|
||||||
|
<span
|
||||||
|
>{{ $t('trials:uploadDicomList:table:patientInfo') }}({{
|
||||||
|
Patient.PatientIdStr
|
||||||
|
}},{{ Patient.PatientName }})</span
|
||||||
|
>|<span>
|
||||||
|
{{
|
||||||
|
$t('trials:inspection:research-trials-list:table:joinTrialsNumber')
|
||||||
}}({{ total }})</span
|
}}({{ total }})</span
|
||||||
>
|
>
|
||||||
</p>
|
</p>
|
||||||
<!-- <el-button type="primary" @click="addTrials">
|
<el-button type="primary" @click="addTrials">
|
||||||
{{ $t("trials:inspection:button:addTrials") }}
|
{{ $t("trials:inspection:button:addTrials") }}
|
||||||
</el-button> -->
|
</el-button>
|
||||||
</div>
|
</div> -->
|
||||||
<!--参与项目列表-->
|
<!--参与项目列表-->
|
||||||
<el-table
|
<el-table
|
||||||
ref="researchTrialsList"
|
ref="researchTrialsList"
|
||||||
|
@ -30,6 +41,7 @@
|
||||||
:data="list"
|
:data="list"
|
||||||
stripe
|
stripe
|
||||||
height="100"
|
height="100"
|
||||||
|
@sort-change="handleSortByColumn"
|
||||||
:default-sort="{ prop: 'CreateTime', order: 'descending' }"
|
:default-sort="{ prop: 'CreateTime', order: 'descending' }"
|
||||||
>
|
>
|
||||||
<el-table-column type="index" width="40" />
|
<el-table-column type="index" width="40" />
|
||||||
|
@ -90,7 +102,7 @@
|
||||||
sortable
|
sortable
|
||||||
>
|
>
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span>{{ $fd("Sex", scope.row.Sex) }}</span>
|
<span>{{ $fd('Sex', scope.row.Sex) }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<!--状态-->
|
<!--状态-->
|
||||||
|
@ -110,7 +122,7 @@
|
||||||
)
|
)
|
||||||
]
|
]
|
||||||
"
|
"
|
||||||
>{{ $fd("TrialStatusEnum", scope.row.TrialStatusStr) }}</el-tag
|
>{{ $fd('TrialStatusEnum', scope.row.TrialStatusStr) }}</el-tag
|
||||||
>
|
>
|
||||||
</template></el-table-column
|
</template></el-table-column
|
||||||
>
|
>
|
||||||
|
@ -145,23 +157,31 @@
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<!-- 分页组件 -->
|
<!-- 分页组件 -->
|
||||||
<!-- <pagination
|
<pagination
|
||||||
class="page"
|
class="page"
|
||||||
:total="total"
|
:total="total"
|
||||||
:page.sync="searchData.PageIndex"
|
:page.sync="searchData.PageIndex"
|
||||||
:limit.sync="searchData.PageSize"
|
:limit.sync="searchData.PageSize"
|
||||||
@pagination="getList"
|
@pagination="getList"
|
||||||
/> -->
|
/>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import Pagination from "@/components/Pagination";
|
import Pagination from '@/components/Pagination'
|
||||||
import {
|
import {
|
||||||
getPatientJoinedTrialList,
|
getPatientJoinedTrialList,
|
||||||
deleteSubjectPatientBinding,
|
deleteSubjectPatientBinding,
|
||||||
} from "@/api/inspection.js";
|
} from '@/api/inspection.js'
|
||||||
|
const defaultSearchData = () => {
|
||||||
|
return {
|
||||||
|
PageIndex: 1,
|
||||||
|
PageSize: 20,
|
||||||
|
Asc: false,
|
||||||
|
SortField: 'CreateTime',
|
||||||
|
}
|
||||||
|
}
|
||||||
export default {
|
export default {
|
||||||
name: "researchTrialsList",
|
name: 'researchTrialsList',
|
||||||
components: { Pagination },
|
components: { Pagination },
|
||||||
props: {
|
props: {
|
||||||
visible: {
|
visible: {
|
||||||
|
@ -171,95 +191,105 @@ export default {
|
||||||
Patient: {
|
Patient: {
|
||||||
required: true,
|
required: true,
|
||||||
default: () => {
|
default: () => {
|
||||||
return {};
|
return {}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.getList();
|
this.getList()
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// 参与项目列表
|
// 参与项目列表
|
||||||
|
searchData: defaultSearchData(),
|
||||||
total: 0,
|
total: 0,
|
||||||
loading: false,
|
loading: false,
|
||||||
list: [],
|
list: [],
|
||||||
};
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 关闭弹框
|
// 关闭弹框
|
||||||
beforeCloseStudyDig() {
|
beforeCloseStudyDig() {
|
||||||
this.$emit("update:visible", false);
|
this.$emit('update:visible', false)
|
||||||
},
|
},
|
||||||
// 加入项目
|
// 加入项目
|
||||||
addTrials() {
|
addTrials() {
|
||||||
this.$emit("update:visible", false);
|
this.$emit('update:visible', false)
|
||||||
this.$emit("handleOpenDialog", this.Patient, "add");
|
this.$emit('handleOpenDialog', this.Patient, 'add')
|
||||||
},
|
},
|
||||||
// 获取列表
|
// 获取列表
|
||||||
async getList() {
|
async getList() {
|
||||||
let data = {
|
let data = {
|
||||||
PatientId: this.Patient.PatientId,
|
PatientId: this.Patient.PatientId,
|
||||||
};
|
...this.searchData,
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
this.loading = true;
|
this.loading = true
|
||||||
let res = await getPatientJoinedTrialList(data);
|
let res = await getPatientJoinedTrialList(data)
|
||||||
this.loading = false;
|
this.loading = false
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
this.list = res.Result;
|
this.list = res.Result.CurrentPageData
|
||||||
this.total = this.list.length;
|
this.total = res.Result.TotalCount
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.loading = false;
|
this.loading = false
|
||||||
console.log(err);
|
console.log(err)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 详情
|
// 详情
|
||||||
detail(item) {
|
detail(item) {
|
||||||
this.$emit("update:visible", false);
|
this.$emit('update:visible', false)
|
||||||
let query = {
|
let query = {
|
||||||
trialId: item.TrialId,
|
trialId: item.TrialId,
|
||||||
trialCode: item.Code,
|
trialCode: item.Code,
|
||||||
researchProgramNo: item.ResearchProgramNo,
|
researchProgramNo: item.ResearchProgramNo,
|
||||||
};
|
}
|
||||||
this.$router.push({
|
this.$router.push({
|
||||||
path: "/trials/trials-panel/subject/subject-list",
|
path: '/trials/trials-panel/subject/subject-list',
|
||||||
query,
|
query,
|
||||||
});
|
})
|
||||||
|
},
|
||||||
|
// 表格排序
|
||||||
|
handleSortByColumn(sort) {
|
||||||
|
this.searchData.SortField = sort.prop
|
||||||
|
if (sort.order === 'ascending') this.searchData.Asc = true
|
||||||
|
if (sort.order === 'descending') this.searchData.Asc = false
|
||||||
|
if (!sort.order) this.searchData.SortField = null
|
||||||
|
this.getList()
|
||||||
},
|
},
|
||||||
// 移除项目
|
// 移除项目
|
||||||
async remove(item) {
|
async remove(item) {
|
||||||
try {
|
try {
|
||||||
let confirm = await this.$confirm(
|
let confirm = await this.$confirm(
|
||||||
this.$t("trials:sitesList:message:removeSite"),
|
this.$t('trials:sitesList:message:removeSite'),
|
||||||
{
|
{
|
||||||
type: "warning",
|
type: 'warning',
|
||||||
distinguishCancelAndClose: true,
|
distinguishCancelAndClose: true,
|
||||||
confirmButtonText: this.$t("common:button:confirm"),
|
confirmButtonText: this.$t('common:button:confirm'),
|
||||||
cancelButtonText: this.$t("recompose:button:cancel"),
|
cancelButtonText: this.$t('recompose:button:cancel'),
|
||||||
}
|
}
|
||||||
);
|
)
|
||||||
if (confirm !== "confirm") return;
|
if (confirm !== 'confirm') return
|
||||||
let params = {
|
let params = {
|
||||||
PatientId: this.Patient.PatientId,
|
PatientId: this.Patient.PatientId,
|
||||||
SubjectId: item.SubjectId,
|
SubjectId: item.SubjectId,
|
||||||
TrialId: item.TrialId,
|
TrialId: item.TrialId,
|
||||||
};
|
}
|
||||||
this.loading = true;
|
this.loading = true
|
||||||
let res = await deleteSubjectPatientBinding(params);
|
let res = await deleteSubjectPatientBinding(params)
|
||||||
this.loading = false;
|
this.loading = false
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
this.getList();
|
this.getList()
|
||||||
this.$message.success(this.$t("common:message:removedSuccessfully"));
|
this.$message.success(this.$t('common:message:removedSuccessfully'))
|
||||||
this.$emit("getList");
|
this.$emit('getList')
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.loading = false;
|
this.loading = false
|
||||||
console.log(err);
|
console.log(err)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.top {
|
.top {
|
||||||
|
|
|
@ -7,8 +7,8 @@
|
||||||
:before-close="beforeCloseStudyDig"
|
:before-close="beforeCloseStudyDig"
|
||||||
>
|
>
|
||||||
<span slot="title"
|
<span slot="title"
|
||||||
>{{ $t("trials:inspection:message:viewStudy") }}({{
|
>{{ $t('trials:inspection:message:viewStudy') }}({{
|
||||||
$t("trials:uploadDicomList:table:patientInfo")
|
$t('trials:uploadDicomList:table:patientInfo')
|
||||||
}}:{{ Patient.PatientIdStr }},{{ Patient.PatientName }})</span
|
}}:{{ Patient.PatientIdStr }},{{ Patient.PatientName }})</span
|
||||||
>
|
>
|
||||||
<div class="search">
|
<div class="search">
|
||||||
|
@ -44,7 +44,7 @@
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<!-- 查询 -->
|
<!-- 查询 -->
|
||||||
<el-button type="primary" icon="el-icon-search" @click="handleSearch">
|
<el-button type="primary" icon="el-icon-search" @click="handleSearch">
|
||||||
{{ $t("common:button:search") }}
|
{{ $t('common:button:search') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- 重置 -->
|
<!-- 重置 -->
|
||||||
<el-button
|
<el-button
|
||||||
|
@ -52,7 +52,7 @@
|
||||||
icon="el-icon-refresh-left"
|
icon="el-icon-refresh-left"
|
||||||
@click="handleReset"
|
@click="handleReset"
|
||||||
>
|
>
|
||||||
{{ $t("common:button:reset") }}
|
{{ $t('common:button:reset') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
@ -161,19 +161,19 @@
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<!-- 分页组件 -->
|
<!-- 分页组件 -->
|
||||||
<!-- <pagination
|
<pagination
|
||||||
class="page"
|
class="page"
|
||||||
:total="total"
|
:total="total"
|
||||||
:page.sync="searchData.PageIndex"
|
:page.sync="searchData.PageIndex"
|
||||||
:limit.sync="searchData.PageSize"
|
:limit.sync="searchData.PageSize"
|
||||||
@pagination="getList"
|
@pagination="getList"
|
||||||
/> -->
|
/>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
import Pagination from "@/components/Pagination";
|
import Pagination from '@/components/Pagination'
|
||||||
import { getPatientStudyList, deletePatientStudy } from "@/api/inspection.js";
|
import { getPatientStudyList, deletePatientStudy } from '@/api/inspection.js'
|
||||||
import { getToken } from "@/utils/auth";
|
import { getToken } from '@/utils/auth'
|
||||||
|
|
||||||
const defaultSearchData = () => {
|
const defaultSearchData = () => {
|
||||||
return {
|
return {
|
||||||
|
@ -182,11 +182,13 @@ const defaultSearchData = () => {
|
||||||
LatestStudyTime: null,
|
LatestStudyTime: null,
|
||||||
PatientId: null,
|
PatientId: null,
|
||||||
Asc: false,
|
Asc: false,
|
||||||
SortField: "StudyTime",
|
SortField: 'StudyTime',
|
||||||
};
|
PageIndex: 1,
|
||||||
};
|
PageSize: 20,
|
||||||
|
}
|
||||||
|
}
|
||||||
export default {
|
export default {
|
||||||
name: "viewStudyList",
|
name: 'viewStudyList',
|
||||||
components: { Pagination },
|
components: { Pagination },
|
||||||
props: {
|
props: {
|
||||||
visible: {
|
visible: {
|
||||||
|
@ -196,7 +198,7 @@ export default {
|
||||||
Patient: {
|
Patient: {
|
||||||
required: true,
|
required: true,
|
||||||
default: () => {
|
default: () => {
|
||||||
return {};
|
return {}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -208,111 +210,113 @@ export default {
|
||||||
// 可加入项目列表
|
// 可加入项目列表
|
||||||
loading: false,
|
loading: false,
|
||||||
list: [],
|
list: [],
|
||||||
};
|
total: 0,
|
||||||
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
this.getList();
|
this.getList()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 删除检查
|
// 删除检查
|
||||||
async deletePatientStudy(item) {
|
async deletePatientStudy(item) {
|
||||||
try {
|
try {
|
||||||
let confirm = await this.$confirm(
|
let confirm = await this.$confirm(
|
||||||
this.$t("trials:inspection:message:remove"),
|
this.$t('trials:inspection:message:remove'),
|
||||||
{
|
{
|
||||||
type: "warning",
|
type: 'warning',
|
||||||
distinguishCancelAndClose: true,
|
distinguishCancelAndClose: true,
|
||||||
confirmButtonText: this.$t("common:button:confirm"),
|
confirmButtonText: this.$t('common:button:confirm'),
|
||||||
cancelButtonText: this.$t("common:button:cancel"),
|
cancelButtonText: this.$t('common:button:cancel'),
|
||||||
}
|
}
|
||||||
);
|
)
|
||||||
if (confirm !== "confirm") return;
|
if (confirm !== 'confirm') return
|
||||||
let params = {
|
let params = {
|
||||||
PatiendId: item.PatientId,
|
PatiendId: item.PatientId,
|
||||||
ScpStudyId: item.SCPStudyId,
|
ScpStudyId: item.SCPStudyId,
|
||||||
};
|
}
|
||||||
let res = await deletePatientStudy(params);
|
let res = await deletePatientStudy(params)
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
this.getList();
|
this.getList()
|
||||||
this.$emit("getList");
|
this.$emit('getList')
|
||||||
this.$message.success(this.$t("common:message:deletedSuccessfully"));
|
this.$message.success(this.$t('common:message:deletedSuccessfully'))
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log(err);
|
console.log(err)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 关闭弹框
|
// 关闭弹框
|
||||||
beforeCloseStudyDig() {
|
beforeCloseStudyDig() {
|
||||||
this.$setOpenWindow();
|
this.$setOpenWindow()
|
||||||
this.$emit("update:visible", false);
|
this.$emit('update:visible', false)
|
||||||
},
|
},
|
||||||
// 获取列表
|
// 获取列表
|
||||||
async getList() {
|
async getList() {
|
||||||
let data = {};
|
let data = {}
|
||||||
Object.keys(this.searchData).forEach((key) => {
|
Object.keys(this.searchData).forEach((key) => {
|
||||||
data[key] = this.searchData[key];
|
data[key] = this.searchData[key]
|
||||||
});
|
})
|
||||||
data.PatientId = this.Patient.PatientId;
|
data.PatientId = this.Patient.PatientId
|
||||||
if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
|
if (this.dateValue && this.dateValue[0] && this.dateValue[1]) {
|
||||||
data.EarliestStudyTime = this.$moment(this.dateValue[0]).format(
|
data.EarliestStudyTime = this.$moment(this.dateValue[0]).format(
|
||||||
"YYYY-MM-DD HH:mm:ss"
|
'YYYY-MM-DD HH:mm:ss'
|
||||||
);
|
)
|
||||||
data.LatestStudyTime = this.$moment(this.dateValue[1]).format(
|
data.LatestStudyTime = this.$moment(this.dateValue[1]).format(
|
||||||
"YYYY-MM-DD HH:mm:ss"
|
'YYYY-MM-DD HH:mm:ss'
|
||||||
);
|
)
|
||||||
} else {
|
} else {
|
||||||
data.EarliestStudyTime = null;
|
data.EarliestStudyTime = null
|
||||||
data.LatestStudyTime = null;
|
data.LatestStudyTime = null
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
this.loading = true;
|
this.loading = true
|
||||||
let res = await getPatientStudyList(data);
|
let res = await getPatientStudyList(data)
|
||||||
this.loading = false;
|
this.loading = false
|
||||||
if (res.IsSuccess) {
|
if (res.IsSuccess) {
|
||||||
this.list = res.Result;
|
this.list = res.Result.CurrentPageData
|
||||||
|
this.total = res.Result.TotalCount
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
this.loading = false;
|
this.loading = false
|
||||||
console.log(err);
|
console.log(err)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 查询
|
// 查询
|
||||||
handleSearch() {
|
handleSearch() {
|
||||||
this.searchData.PageIndex = 1;
|
this.searchData.PageIndex = 1
|
||||||
this.getList();
|
this.getList()
|
||||||
},
|
},
|
||||||
// 重置
|
// 重置
|
||||||
handleReset() {
|
handleReset() {
|
||||||
this.reset();
|
this.reset()
|
||||||
this.getList();
|
this.getList()
|
||||||
},
|
},
|
||||||
// 初始化
|
// 初始化
|
||||||
reset() {
|
reset() {
|
||||||
this.searchData = defaultSearchData();
|
this.searchData = defaultSearchData()
|
||||||
this.dateValue = [];
|
this.dateValue = []
|
||||||
},
|
},
|
||||||
// 查看影像
|
// 查看影像
|
||||||
image(item) {
|
image(item) {
|
||||||
let token = getToken();
|
let token = getToken()
|
||||||
const routeData = this.$router.resolve({
|
const routeData = this.$router.resolve({
|
||||||
path: `/showdicom?studyId=${item.SCPStudyId}&TokenKey=${token}&type=Patient`,
|
path: `/showdicom?studyId=${item.SCPStudyId}&TokenKey=${token}&type=Patient`,
|
||||||
});
|
})
|
||||||
let newWindow = window.open(routeData.href, "_blank");
|
let newWindow = window.open(routeData.href, '_blank')
|
||||||
this.$setOpenWindow(newWindow);
|
this.$setOpenWindow(newWindow)
|
||||||
},
|
},
|
||||||
// 查看报告
|
// 查看报告
|
||||||
report() {},
|
report() {},
|
||||||
// 表格排序
|
// 表格排序
|
||||||
handleSortByColumn(sort) {
|
handleSortByColumn(sort) {
|
||||||
this.searchData.SortField = sort.prop;
|
this.searchData.SortField = sort.prop
|
||||||
if (sort.order === "ascending") this.searchData.Asc = true;
|
if (sort.order === 'ascending') this.searchData.Asc = true
|
||||||
if (sort.order === "descending") this.searchData.Asc = false;
|
if (sort.order === 'descending') this.searchData.Asc = false
|
||||||
if (!sort.order) this.searchData.SortField = null;
|
if (!sort.order) this.searchData.SortField = null
|
||||||
this.getList();
|
this.getList()
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
};
|
}
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
</style>
|
</style>
|
|
@ -100,7 +100,11 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<!-- pacs拉取 -->
|
<!-- pacs拉取 -->
|
||||||
<el-button type="primary" @click="handleOpenDialog({}, 'pull')">
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
@click="handleOpenDialog({}, 'pull')"
|
||||||
|
v-hasPermi="['trials:trialsInspection:pullPACS']"
|
||||||
|
>
|
||||||
{{ $t('common:button:pull') }}
|
{{ $t('common:button:pull') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
Loading…
Reference in New Issue