From c85505c7b0ea6d9a6c7bf829688c6b8e85358d26 Mon Sep 17 00:00:00 2001
From: wangxiaoshuang <825034831@qq.com>
Date: Thu, 13 Aug 2026 15:45:40 +0800
Subject: [PATCH] =?UTF-8?q?=E4=B8=AD=E5=BF=83=E8=AE=BE=E5=A4=87=E3=80=81?=
=?UTF-8?q?=E4=B8=AD=E5=BF=83=E5=9F=BA=E6=9C=AC=E4=BF=A1=E6=81=AF=E5=AF=BC?=
=?UTF-8?q?=E5=87=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/export.js | 18 ++
.../site-research/components/Equipments.vue | 285 ++++++++----------
.../site-research/components/Questions.vue | 183 +++++------
3 files changed, 239 insertions(+), 247 deletions(-)
diff --git a/src/api/export.js b/src/api/export.js
index 777ae1ab..12ccf939 100644
--- a/src/api/export.js
+++ b/src/api/export.js
@@ -325,3 +325,21 @@ export function getTrialSiteSurveyList_Export(data) {
data
})
}
+// 导出中心设备
+export function getSiteSurveyEquipmentList_Export(data) {
+ return requestDownload({
+ url: `/ExcelExport/getSiteSurveyEquipmentList_Export`,
+ responseType: 'blob',
+ method: 'post',
+ data
+ })
+}
+// 导出中心调研基本信息
+export function getSiteSurveyInfoList_Export(data) {
+ return requestDownload({
+ url: `/ExcelExport/getSiteSurveyInfoList_Export`,
+ responseType: 'blob',
+ method: 'post',
+ data
+ })
+}
diff --git a/src/views/trials/trials-panel/attachments/site-research/components/Equipments.vue b/src/views/trials/trials-panel/attachments/site-research/components/Equipments.vue
index c0006718..eecef642 100644
--- a/src/views/trials/trials-panel/attachments/site-research/components/Equipments.vue
+++ b/src/views/trials/trials-panel/attachments/site-research/components/Equipments.vue
@@ -6,12 +6,8 @@
-
+
@@ -32,11 +28,7 @@
-
+
{{ $t('common:button:export') }}
@@ -44,150 +36,132 @@
-
+
-
+
-
+
-
-
-
- {{ scope.row.OtherEquipmentType ? scope.row.OtherEquipmentType :
- $fd('SiteSurvey_ScanEquipmentType', scope.row.EquipmentTypeEnum) }}
-
-
-
-
-
-
-
- {{ scope.row.ManufacturerName ? scope.row.ManufacturerName : $fd('ManufacturerType',
- scope.row.ManufacturerType) }}
-
-
-
-
-
-
-
- {{ $fd('MagneticFieldStrengthType', scope.row.MagneticFieldStrengthType) }}
-
-
-
-
-
- {{ $fd('BodyCoilChannelCount', scope.row.BodyCoilChannelCount) }}
-
-
-
-
-
- {{ $fd('YesOrNo', scope.row.HasDedicatedPdfFatQuantificationSequence) }}
-
-
-
-
-
- {{ scope.row.OtherSequenceSpecification ? scope.row.OtherSequenceSpecification :
- $fd('PdfFatQuantificationSequenceType', scope.row.PdfFatQuantificationSequenceType) }}
-
-
-
-
-
- {{ $fd('YesOrNo', scope.row.HasT2R2Correction) }}
-
-
-
-
-
- {{ $fd('YesOrNo', scope.row.CanFullyExportPdfParameterMapsAndRawDicom) }}
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.OtherEquipmentType ? scope.row.OtherEquipmentType :
+ $fd('SiteSurvey_ScanEquipmentType', scope.row.EquipmentTypeEnum) }}
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ scope.row.ManufacturerName ? scope.row.ManufacturerName : $fd('ManufacturerType',
+ scope.row.ManufacturerType) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $fd('MagneticFieldStrengthType', scope.row.MagneticFieldStrengthType) }}
+
+
+
+
+
+
+
+
+ {{ $fd('BodyCoilChannelCount', scope.row.BodyCoilChannelCount) }}
+
+
+
+
+
+
+
+
+ {{ $fd('YesOrNo', scope.row.HasDedicatedPdfFatQuantificationSequence) }}
+
+
+
+
+
+
+
+
+ {{ scope.row.OtherSequenceSpecification ? scope.row.OtherSequenceSpecification :
+ $fd('PdfFatQuantificationSequenceType', scope.row.PdfFatQuantificationSequenceType) }}
+
+
+
+
+
+
+
+
+ {{ $fd('YesOrNo', scope.row.HasT2R2Correction) }}
+
+
+
+
+
+
+
+
+ {{ $fd('YesOrNo', scope.row.CanFullyExportPdfParameterMapsAndRawDicom) }}
+
+
+
+
+
+
+
+
+
-
+
@@ -196,6 +170,7 @@ import { getTrialSiteSelect } from '@/api/trials'
import { getSiteSurveyEquipmentList } from '@/api/research'
import BaseContainer from '@/components/BaseContainer'
import Pagination from '@/components/Pagination'
+import { getSiteSurveyEquipmentList_Export } from '@/api/export'
const searchDataDefault = () => {
return {
SortField: '',
@@ -228,6 +203,9 @@ export default {
this.getSite()
},
methods: {
+ async handleExport() {
+ await getSiteSurveyEquipmentList_Export(this.searchData)
+ },
async getList() {
try {
this.loading = true
@@ -243,19 +221,6 @@ export default {
this.equipmentControlFieldList.push(item.FiledName)
})
}
- } catch(e) {
- console.log(e)
- } finally {
- this.loading = false
- }
- },
- // 导出
- async handleExport() {
- try {
- this.searchData.TrialId = this.trialId
- this.loading = true
- const { SortField, Asc, PageIndex, PageSize, ...param } = { ...this.searchData }
- await trialSiteUserSummaryListExport({ ...param })
} catch (e) {
console.log(e)
} finally {
diff --git a/src/views/trials/trials-panel/attachments/site-research/components/Questions.vue b/src/views/trials/trials-panel/attachments/site-research/components/Questions.vue
index 742a23ee..eaabdf6f 100644
--- a/src/views/trials/trials-panel/attachments/site-research/components/Questions.vue
+++ b/src/views/trials/trials-panel/attachments/site-research/components/Questions.vue
@@ -28,7 +28,7 @@
-
+
{{ $t('common:button:export') }}
@@ -97,7 +97,7 @@
+ :label="$t('trials:researchForm:form:SiteSurveyFile')" show-overflow-tooltip min-width="100">
@@ -105,78 +105,96 @@
-
-
-
-
-
-
- {{ $fd('YesOrNo', scope.row.IsRoutineMRIPDEE) }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ $t('trials:researchForm:form:IsAuthorizeRadiologistsParticipate') }}
-
-
- {{ $t('trials:researchForm:form:AssignFixedTechnologists') }}
-
-
-
-
-
-
- {{ $fd('YesOrNo', scope.row.IsConfirmImagingTechnologist) }}
-
-
-
-
-
-
-
-
-
- {{ $fd('YesOrNo', scope.row.IsFollowStudyParameters) }}
-
-
-
-
-
-
-
- {{ $fd('YesOrNo', scope.row.ISStrictManualBurnFlag) }}
-
-
-
-
+
+
+
+
+
+
+
+
+ {{ $fd('YesOrNo', scope.row.IsRoutineMRIPDEE) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('trials:researchForm:form:IsAuthorizeRadiologistsParticipate') }}
+
+
+ {{ $t('trials:researchForm:form:AssignFixedTechnologists') }}
+
+
+
+
+
+
+
+
+ {{ $fd('YesOrNo', scope.row.IsConfirmImagingTechnologist) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $fd('YesOrNo', scope.row.IsFollowStudyParameters) }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ $fd('YesOrNo', scope.row.ISStrictManualBurnFlag) }}
+
+
+
+
+
+
+
@@ -190,6 +208,7 @@ import { getTrialSiteSelect } from '@/api/trials'
import { getSiteSurveyInfoList } from '@/api/research'
import BaseContainer from '@/components/BaseContainer'
import Pagination from '@/components/Pagination'
+import { getSiteSurveyInfoList_Export } from '@/api/export'
const searchDataDefault = () => {
return {
SortField: '',
@@ -222,6 +241,9 @@ export default {
this.getSite()
},
methods: {
+ async handleExport() {
+ await getSiteSurveyInfoList_Export(this.searchData)
+ },
async getList() {
try {
this.loading = true
@@ -239,19 +261,6 @@ export default {
this.loading = false
}
},
- // 导出
- async handleExport() {
- try {
- this.searchData.TrialId = this.trialId
- this.loading = true
- const { SortField, Asc, PageIndex, PageSize, ...param } = { ...this.searchData }
- await trialSiteUserSummaryListExport({ ...param })
- } catch (e) {
- console.log(e)
- } finally {
- this.loading = false
- }
- },
// 获取site下拉框数据
async getSite() {
try {