中心调研问题修改
parent
9b596ce0ed
commit
9a748b0c8a
|
|
@ -8,7 +8,7 @@
|
||||||
<!-- <TopLang style="position: fixed;top: 40px;right: 40px" /> -->
|
<!-- <TopLang style="position: fixed;top: 40px;right: 40px" /> -->
|
||||||
<div style="display: flex;justify-content: space-between;" v-if="!isPreview">
|
<div style="display: flex;justify-content: space-between;" v-if="!isPreview">
|
||||||
<div>{{ $t('trials:researchForm:title:researchSurveyStatus') }} <el-tag>{{ $fd('ResearchRecord', state)
|
<div>{{ $t('trials:researchForm:title:researchSurveyStatus') }} <el-tag>{{ $fd('ResearchRecord', state)
|
||||||
}}</el-tag></div>
|
}}</el-tag></div>
|
||||||
<div>
|
<div>
|
||||||
<!-- 提交 -->
|
<!-- 提交 -->
|
||||||
<el-button v-if="(state === 0 && userTypeEnumInt === 0)" type="primary" size="small"
|
<el-button v-if="(state === 0 && userTypeEnumInt === 0)" type="primary" size="small"
|
||||||
|
|
@ -234,7 +234,7 @@ export default {
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
isPM() {
|
isPM() {
|
||||||
return this.hasPermi(['role:pm', 'role:spm', 'role:cpm', 'role:apm']) && this.state !== 3
|
return this.hasPermi(['role:pm', 'role:spm', 'role:cpm', 'role:apm']) && this.state !== 3 && this.IsOnlyUploadFile
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
|
||||||
|
|
@ -52,21 +52,15 @@
|
||||||
{{ $t('common:button:reset') }}
|
{{ $t('common:button:reset') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- 中心人员 -->
|
<!-- 中心人员 -->
|
||||||
<el-button
|
<el-button v-if="searchData.State === 3"
|
||||||
v-if="searchData.State === 3"
|
v-hasPermi="['trials:trials-panel:attachments:site-research:summary-record']" type="primary"
|
||||||
v-hasPermi="['trials:trials-panel:attachments:site-research:summary-record']"
|
icon="el-icon-info" @click="showResearchUser">
|
||||||
type="primary"
|
|
||||||
icon="el-icon-info"
|
|
||||||
@click="showResearchUser">
|
|
||||||
{{ $t('trials:researchRecord:button:researchData') }}
|
{{ $t('trials:researchRecord:button:researchData') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
<!-- 调查表链接 -->
|
<!-- 调查表链接 -->
|
||||||
<el-button
|
<el-button v-if="searchData.State === 0"
|
||||||
v-if="searchData.State === 0"
|
v-hasPermi="['trials:trials-panel:attachments:site-research:questionnaire-link']" type="primary"
|
||||||
v-hasPermi="['trials:trials-panel:attachments:site-research:questionnaire-link']"
|
icon="el-icon-link" @click="showResearchLink">
|
||||||
type="primary"
|
|
||||||
icon="el-icon-link"
|
|
||||||
@click="showResearchLink">
|
|
||||||
{{ $t('trials:researchRecord:button:questionLink') }}
|
{{ $t('trials:researchRecord:button:questionLink') }}
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
@ -146,22 +140,17 @@
|
||||||
<el-table-column width="150">
|
<el-table-column width="150">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<!-- 查看 -->
|
<!-- 查看 -->
|
||||||
<el-button
|
<el-button v-if="searchData.State === 3" :disabled="scope.row.State !== 3" circle
|
||||||
v-if="searchData.State === 1 || searchData.State === 2 || searchData.State === 3"
|
:title="$t('common:button:view')" icon="el-icon-view" @click="handleViewResearchList(scope.row)" />
|
||||||
:disabled="scope.row.State !== 3"
|
|
||||||
circle
|
|
||||||
:title="$t('common:button:view')"
|
|
||||||
icon="el-icon-view"
|
|
||||||
@click="handleViewResearchList(scope.row)" />
|
|
||||||
<!-- 审批 -->
|
<!-- 审批 -->
|
||||||
<el-button
|
<el-button v-if="(searchData.State === 1 || searchData.State === 2) && isAudit"
|
||||||
v-if="searchData.State === 1 || searchData.State === 2"
|
|
||||||
v-hasPermi="['trials:trials-panel:attachments:site-research:auidt']"
|
v-hasPermi="['trials:trials-panel:attachments:site-research:auidt']"
|
||||||
:disabled="scope.row.State === 0 || scope.row.State === 3 || scope.row.IsDeleted"
|
:disabled="scope.row.State === 0 || scope.row.State === 3 || scope.row.IsDeleted" circle
|
||||||
circle
|
:title="$t('trials:researchRecord:action:view')" icon="el-icon-s-check"
|
||||||
:title="$t('trials:researchRecord:action:view')"
|
|
||||||
icon="el-icon-s-check"
|
|
||||||
@click="handleViewResearchList(scope.row)" />
|
@click="handleViewResearchList(scope.row)" />
|
||||||
|
<!-- 日志 -->
|
||||||
|
<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-if="searchData.State === 0" v-hasPermi="[
|
||||||
'trials:trials-panel:attachments:site-research:abolish',
|
'trials:trials-panel:attachments:site-research:abolish',
|
||||||
|
|
@ -180,24 +169,17 @@
|
||||||
<!-- 中心数据 trials:researchRecord:button:researchData-->
|
<!-- 中心数据 trials:researchRecord:button:researchData-->
|
||||||
<!-- 中心人员 trials:researchRecord:dialogTitle:questionStaff-->
|
<!-- 中心人员 trials:researchRecord:dialogTitle:questionStaff-->
|
||||||
<el-dialog v-if="researchUserVisible" :visible.sync="researchUserVisible"
|
<el-dialog v-if="researchUserVisible" :visible.sync="researchUserVisible"
|
||||||
:title="$t('trials:researchRecord:button:researchData')" custom-class="base-dialog-wrapper"
|
:title="$t('trials:researchRecord:button:researchData')" custom-class="base-dialog-wrapper" :fullscreen="true">
|
||||||
:fullscreen="true">
|
|
||||||
<div class="base-modal-body" style="border: 1px solid #ccc; padding: 10px">
|
<div class="base-modal-body" style="border: 1px solid #ccc; padding: 10px">
|
||||||
<el-tabs v-model="activeName">
|
<el-tabs v-model="activeName">
|
||||||
<el-tab-pane
|
<el-tab-pane :label="$t('trials:researchRecord:dialogTitle:questionStaff')" name="first">
|
||||||
:label="$t('trials:researchRecord:dialogTitle:questionStaff')"
|
<Users v-if="activeName === 'first'" />
|
||||||
name="first">
|
|
||||||
<Users v-if="activeName === 'first'"/>
|
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane
|
<el-tab-pane label="中心设备" name="second">
|
||||||
label="中心设备"
|
<Equipments v-if="activeName === 'second'" />
|
||||||
name="second">
|
|
||||||
<Equipments v-if="activeName === 'second'"/>
|
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane
|
<el-tab-pane label="基本情况" name="third">
|
||||||
label="基本情况"
|
<Questions v-if="activeName === 'third'" />
|
||||||
name="third">
|
|
||||||
<Questions v-if="activeName === 'third'"/>
|
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
|
|
@ -290,6 +272,26 @@
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
</base-model>
|
</base-model>
|
||||||
|
<el-dialog v-if="logVisible" :visible.sync="logVisible"
|
||||||
|
:custom-class="isFullscreen ? 'full-log-dialog-container' : 'log-dialog-container'" :close-on-click-modal="false"
|
||||||
|
:fullscreen="isFullscreen" :show-close="false" width="60%" append-to-body>
|
||||||
|
<span slot="title" class="dialog-footer">
|
||||||
|
<div style="display: flex;flex-direction: row;justify-content: space-between;">
|
||||||
|
<div>
|
||||||
|
{{ $t('trials:researchForm:button:log') }}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<svg-icon :icon-class="isFullscreen ? 'exit-fullscreen' : 'fullscreen'"
|
||||||
|
style="vertical-align: baseline;cursor: pointer;font-size: 20px;" @click="toggleLogFullscreen" />
|
||||||
|
<svg-icon icon-class="dClose" style="cursor: pointer;font-size: 25px;margin-left: 10px;"
|
||||||
|
@click="logVisible = false" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</span>
|
||||||
|
<div class="log-dialog-content">
|
||||||
|
<LogList :trial-site-survey-id="trialSiteSurveyId" />
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
</BaseContainer>
|
</BaseContainer>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
|
|
@ -311,6 +313,7 @@ import ResearchForm from '@/views/research/form'
|
||||||
import BaseModel from '@/components/BaseModel'
|
import BaseModel from '@/components/BaseModel'
|
||||||
import ImageManual from './ImageManual'
|
import ImageManual from './ImageManual'
|
||||||
import QRCode from 'qrcodejs2'
|
import QRCode from 'qrcodejs2'
|
||||||
|
import LogList from '@/views/research/components/LogList'
|
||||||
|
|
||||||
const searchDataDefault = () => {
|
const searchDataDefault = () => {
|
||||||
return {
|
return {
|
||||||
|
|
@ -329,7 +332,13 @@ const searchDataDefault = () => {
|
||||||
}
|
}
|
||||||
export default {
|
export default {
|
||||||
name: 'ResearchList',
|
name: 'ResearchList',
|
||||||
components: { BaseContainer, Pagination, Users, Equipments, Questions, ResearchForm, BaseModel, ImageManual },
|
components: { BaseContainer, Pagination, Users, Equipments, Questions, ResearchForm, BaseModel, ImageManual, LogList },
|
||||||
|
props: {
|
||||||
|
isAudit: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
searchData: searchDataDefault(),
|
searchData: searchDataDefault(),
|
||||||
|
|
@ -388,7 +397,9 @@ export default {
|
||||||
},
|
},
|
||||||
ImageManualVisible: false,
|
ImageManualVisible: false,
|
||||||
trialSiteSurveyId: null,
|
trialSiteSurveyId: null,
|
||||||
activeName: 'first'
|
activeName: 'first',
|
||||||
|
isFullscreen: false,
|
||||||
|
logVisible: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
|
|
@ -396,6 +407,14 @@ export default {
|
||||||
this.getSite()
|
this.getSite()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
toggleLogFullscreen() {
|
||||||
|
this.isFullscreen = !this.isFullscreen
|
||||||
|
},
|
||||||
|
viewLog(row) {
|
||||||
|
this.trialSiteSurveyId = row.Id
|
||||||
|
this.isFullscreen = false
|
||||||
|
this.logVisible = true
|
||||||
|
},
|
||||||
async getLinkTimeIsExpired() {
|
async getLinkTimeIsExpired() {
|
||||||
try {
|
try {
|
||||||
let data = {
|
let data = {
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
@click.native="handleClick(3)" />
|
@click.native="handleClick(3)" />
|
||||||
</el-steps>
|
</el-steps>
|
||||||
<div class="step-content">
|
<div class="step-content">
|
||||||
<ResearchList ref="researchList" />
|
<ResearchList ref="researchList" :isAudit="isAudit" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</BaseContainer>
|
</BaseContainer>
|
||||||
|
|
@ -50,10 +50,15 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
computed: {
|
||||||
|
isAudit() {
|
||||||
|
return (this.hasPermi(['role:spm', 'role:cpm', 'role:apm']) && this.activeStatus === 1) || (this.hasPermi(['role:pm']) && this.activeStatus === 2)
|
||||||
|
}
|
||||||
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getTrialIsSPMJoin()
|
this.getTrialIsSPMJoin()
|
||||||
if (this.hasPermi(['role:pm'])) this.activeStatus = 2
|
if (this.hasPermi(['role:pm'])) this.activeStatus = 2
|
||||||
if (this.hasPermi(['role:spm'])) this.activeStatus = 1
|
if (this.hasPermi(['role:spm', 'role:cpm', 'role:apm'])) this.activeStatus = 1
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
async getTrialIsSPMJoin() {
|
async getTrialIsSPMJoin() {
|
||||||
|
|
@ -62,6 +67,7 @@ export default {
|
||||||
if (!trialId) return
|
if (!trialId) return
|
||||||
let res = await getTrialIsSPMJoin(trialId)
|
let res = await getTrialIsSPMJoin(trialId)
|
||||||
this.isSPMJoin = res.Result
|
this.isSPMJoin = res.Result
|
||||||
|
if (!this.isSPMJoin && this.activeStatus === 1) this.activeStatus = 0
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log(e)
|
console.log(e)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue