IR医学反馈添加自动跳转下一任务
continuous-integration/drone/push Build is passing Details

uat_us
caiyiling 2024-06-27 16:17:05 +08:00
parent 59f27b9d35
commit e6926382fd
6 changed files with 121 additions and 4 deletions

View File

@ -3675,3 +3675,11 @@ export function getTrialSiteSelectList(params) {
params
})
}
export function getNextIRMedicalFeedback(param) {
return request({
url: `/ReadingMedicalReview/getNextIRMedicalFeedback`,
method: 'post',
data: param
})
}

View File

@ -201,6 +201,18 @@ export const constantRoutes = [
component: () => import('@/views/research/form'),
hidden: true
},
{
path: '/researchLogin_m',
name: 'researchLogin_m',
component: () => import('@/views/research-mobile/login'),
hidden: true
},
{
path: '/researchForm_m',
name: 'researchForm_m',
component: () => import('@/views/research-mobile/form'),
hidden: true
},
{
path: '/trialsResume',
component: () => import('@/views/trials/trials-panel/enrolled-reviewers/resume/index'),

View File

@ -0,0 +1,3 @@
<template>
<div>form</div>
</template>

View File

@ -0,0 +1,56 @@
<template>
<div class="research_login_m_content">
<div class="title">中心调研表</div>
<el-form label-position="left" label-width="150px" :model="form">
<el-form-item label="项目编号">
<!-- <el-input v-model="form.name1" /> -->
<span>{{ form.name1 }}</span>
</el-form-item>
<el-form-item label="试验方案号">
<el-input v-model="form.name2" />
</el-form-item>
<el-form-item label="试验名称">
<el-input v-model="form.name3" />
</el-form-item>
<el-form-item label="试验证类型">
<el-input v-model="form.name4" />
</el-form-item>
<el-form-item label="活动区域" prop="region">
<el-select v-model="form.name5" placeholder="请选择活动区域">
<el-option label="区域一" value="shanghai" />
<el-option label="区域二" value="beijing" />
</el-select>
</el-form-item>
</el-form>
</div>
</template>
<script>
export default {
name: 'ResearchMobileLogin',
data() {
return {
form: {
name1: '1111',
name2: '',
name3: '',
name4: '',
name5: ''
}
}
}
}
</script>
<style lang="scss" scoped>
.research_login_m_content{
padding: 0 10px;
.title{
// height: 80px;
margin-bottom: 10px;
border-bottom: 2px solid #f3f3f3;
line-height: 80px;
font-size: 28px;
font-weight: bold;
text-align: center;
}
}
</style>

View File

@ -271,7 +271,7 @@
sortable="custom"
/>
<!-- 审核结论 -->
<el-table-column
<el-table-column
prop="IsHaveQuestion"
:label="$t('trials:medicalFeedback:button:isQuestions')"
min-width="120"
@ -323,7 +323,7 @@
/>
<!-- 回复:disabled="!scope.row.IsHaveQuestion || scope.row.IsInvalid" -->
<el-button
circle
:title="$t('trials:medicalFeedback:table:reply')"
icon="el-icon-chat-dot-round"
@ -369,12 +369,13 @@
:row-data="currentRow"
@getList="getList"
@close="auditVisible=false"
@nextTask="nextTask"
/>
</el-dialog>
</BaseContainer>
</template>
<script>
import { getIRMedicalFeedbackList } from '@/api/trials'
import { getIRMedicalFeedbackList, getNextIRMedicalFeedback } from '@/api/trials'
import { getTrialCriterionList } from '@/api/trials/reading'
import BaseContainer from '@/components/BaseContainer'
import Pagination from '@/components/Pagination'
@ -456,6 +457,26 @@ export default {
this.chatForm.title = `${this.$t('trials:medicalFeedback:title:qaRecord')} (${row.SubjectCode} ${row.TaskBlindName})`
this.chatForm.visible = true
},
async nextTask(taskMedicalReviewId) {
try {
const params = {
trialId: this.trialId,
trialReadingCriterionId: this.TrialReadingCriterionId,
medicalReviewId: taskMedicalReviewId
}
const res = await getNextIRMedicalFeedback(params)
if (res.IsSuccess) {
this.auditVisible = false
this.currentRow = res.Result
this.$nextTick(() => {
this.auditVisible = true
})
}
} catch (e) {
this.auditVisible = false
console.log(e)
}
},
//
handleSortChange(column) {
if (column.order === 'ascending') {

View File

@ -67,6 +67,10 @@
<el-button v-if="hasPermi(['trials:trials-panel:reading:mim-medical-audit:edit']) && auditInfo.AuditState !== 2" type="primary" @click="getNextTask">
{{ $t('trials:medicalFeedback:button:nextTask') }}
</el-button>
<!-- IR下一任务 -->
<el-button v-if="hasPermi(['trials:trials-panel:medicalFeedback:nextTask']) && auditInfo.AuditState === 1" type="primary" @click="getNextIRTask">
{{ $t('trials:irmedicalFeedback:button:nextTask') }}
</el-button>
</div>
<!--签名框 -->
@ -221,7 +225,20 @@ export default {
//
getNextTask() {
this.disPatchNextTask(this.auditInfo.AuditState >= 2)
},
getNextIRTask() {
//
this.$confirm(this.$t('trials:medicalFeedback:message:goNextTask04'), {
type: 'warning',
distinguishCancelAndClose: true
})
.then(() => {
this.loading = true
this.$emit('nextTask', this.taskMedicalReviewId)
})
.catch(action => {
this.loading = false
})
},
disPatchNextTask(isComplete) {
// '' : ''