中心调研列表添加导出
continuous-integration/drone/push Build is passing Details

uat_us^2
wangxiaoshuang 2026-08-13 10:27:23 +08:00
parent 0c8ac0e011
commit b7696cdf38
3 changed files with 29 additions and 7 deletions

View File

@ -316,3 +316,12 @@ export function GetReadingMedicineSystemQuestionList_Export(data) {
data
})
}
// 导出中心调研
export function getTrialSiteSurveyList_Export(data) {
return requestDownload({
url: `/ExcelExport/getTrialSiteSurveyList_Export`,
responseType: 'blob',
method: 'post',
data
})
}

View File

@ -51,14 +51,18 @@
<el-button type="primary" icon="el-icon-refresh-left" @click="handleReset">
{{ $t('common:button:reset') }}
</el-button>
<!-- 导出 -->
<el-button type="primary" @click="handleExport">
{{ $t('common:button:export') }}
</el-button>
<!-- 中心人员 -->
<el-button v-if="searchData.State === 3"
<el-button v-show="searchData.State === 3"
v-hasPermi="['trials:trials-panel:attachments:site-research:summary-record']" type="primary"
icon="el-icon-info" @click="showResearchUser">
{{ $t('trials:researchRecord:button:researchData') }}
</el-button>
<!-- 调查表链接 -->
<el-button v-if="searchData.State === 0"
<el-button v-show="searchData.State === 0"
v-hasPermi="['trials:trials-panel:attachments:site-research:questionnaire-link']" type="primary"
icon="el-icon-link" @click="showResearchLink">
{{ $t('trials:researchRecord:button:questionLink') }}
@ -140,10 +144,10 @@
<el-table-column width="150">
<template slot-scope="scope">
<!-- 查看 -->
<el-button v-if="searchData.State === 3" :disabled="scope.row.State !== 3" circle
<el-button v-show="searchData.State === 3" :disabled="scope.row.State !== 3" circle
:title="$t('common:button:view')" icon="el-icon-view" @click="handleViewResearchList(scope.row)" />
<!-- 审批 -->
<el-button v-if="(searchData.State === 1 || searchData.State === 2) && isAudit"
<el-button v-show="(searchData.State === 1 || searchData.State === 2) && isAudit"
v-hasPermi="['trials:trials-panel:attachments:site-research:auidt']"
:disabled="scope.row.State === 0 || scope.row.State === 3 || scope.row.IsDeleted" circle
:title="$t('trials:researchRecord:action:view')" icon="el-icon-s-check"
@ -152,7 +156,7 @@
<el-button circle :title="$t('trials:researchRecord:action:log')" icon="el-icon-tickets"
@click="viewLog(scope.row)" />
<!-- 废除 -->
<el-button v-if="searchData.State === 0" v-hasPermi="[
<el-button v-show="searchData.State === 0" v-hasPermi="[
'trials:trials-panel:attachments:site-research:abolish',
]" :disabled="scope.row.State !== 0 || scope.row.IsDeleted" circle
:title="$t('trials:researchRecord:action:abolish')" icon="el-icon-delete"
@ -314,7 +318,7 @@ import BaseModel from '@/components/BaseModel'
import ImageManual from './ImageManual'
import QRCode from 'qrcodejs2'
import LogList from '@/views/research/components/LogList'
import { getTrialSiteSurveyList_Export } from '@/api/export'
const searchDataDefault = () => {
return {
SortField: '',
@ -407,6 +411,9 @@ export default {
this.getSite()
},
methods: {
async handleExport() {
await getTrialSiteSurveyList_Export(this.searchData)
},
toggleLogFullscreen() {
this.isFullscreen = !this.isFullscreen
},

View File

@ -43,7 +43,12 @@ export default {
immediate: true,
handler(v) {
this.$nextTick(() => {
this.$refs['researchList'].searchData.State = v
if (!this.isSPMJoin && v > 0) {
this.$refs['researchList'].searchData.State = v + 1
} else {
this.$refs['researchList'].searchData.State = v
}
this.$refs['researchList'].getList()
})
@ -75,6 +80,7 @@ export default {
},
handleClick(step) {
this.activeStatus = step
if (!this.isSPMJoin && step > 0) this.activeStatus = step - 1
},
}