影像质控时,检查删除了,不需要对必填信息做校验;并且在查看所有影像时,对于影像数为0的情况,需要处理
continuous-integration/drone/push Build is passing Details

main
wangxiaoshuang 2025-07-10 15:58:57 +08:00
parent 187947177a
commit 9b4f4d4419
2 changed files with 66 additions and 67 deletions

View File

@ -771,7 +771,7 @@
</div> </div>
<div class="function-wrapper"> <div class="function-wrapper">
<!-- 保存 --> <!-- 保存 -->
<el-button :disabled="isAudit" size="small" type="primary" round @click="handleSave"> <el-button :disabled="isAudit" size="small" type="primary" round @click="handleSave(false)">
{{ $t('trials:audit:button:save') }} {{ $t('trials:audit:button:save') }}
</el-button> </el-button>
<!-- 发质疑 --> <!-- 发质疑 -->
@ -871,7 +871,7 @@ export default {
}, },
data() { data() {
return { return {
activeName: this.data.DicomStudyCount > 0 ? 'dicom' : 'none-dicom', activeName: this.data.DicomStudyCount > 0 ? 'dicom' : this.data.NoneDicomStudyCount > 0 ? 'none-dicom' : 'dicom',
questionForm: {}, questionForm: {},
qCQuestionAnswerList: [], qCQuestionAnswerList: [],
studyList: [], studyList: [],
@ -1185,52 +1185,55 @@ export default {
}, },
// //
handleSave(isMessage) { handleSave(isMessage) {
return new Promise((resolve) => { return new Promise(async (resolve) => {
this.$refs['questions'] try {
.submit() let res = null
.then((res) => { if (isMessage) {
var answerList = [] res = await this.$refs['questions'].submit()
res.forEach((item) => { } else {
var index = this.qCQuestionAnswerList.findIndex( res = await this.$refs['questions'].save()
(v) => v.TrialQCQuestionConfigureId === item.Id }
) var answerList = []
if (index > -1) { res.forEach((item) => {
answerList.push({ var index = this.qCQuestionAnswerList.findIndex(
id: this.qCQuestionAnswerList[index].Id, (v) => v.TrialQCQuestionConfigureId === item.Id
answer: item.answer, )
trialQCQuestionConfigureId: item.Id, if (index > -1) {
}) answerList.push({
id: this.qCQuestionAnswerList[index].Id,
answer: item.answer,
trialQCQuestionConfigureId: item.Id,
})
}
})
this.loading = true
addOrUpdateQCQuestionAnswerList(
this.trialId,
this.data.Id,
this.data.QCProcessEnum,
this.currentQCType,
answerList
)
.then((res) => {
this.loading = false
if (res.IsSuccess) {
if (isMessage !== true) {
this.$message.success(
this.$t('common:message:savedSuccessfully')
)
}
this.getCheckList()
resolve(true)
} }
}) })
this.loading = true .catch(() => {
addOrUpdateQCQuestionAnswerList( this.loading = false
this.trialId, resolve(false)
this.data.Id, })
this.data.QCProcessEnum, } catch (err) {
this.currentQCType, console.log(err)
answerList resolve(false)
) }
.then((res) => {
this.loading = false
if (res.IsSuccess) {
if (isMessage !== true) {
this.$message.success(
this.$t('common:message:savedSuccessfully')
)
}
this.getCheckList()
resolve(true)
}
})
.catch(() => {
this.loading = false
resolve(false)
})
})
.catch(() => {
this.loading = false
resolve(false)
})
}) })
}, },
// //
@ -1658,11 +1661,11 @@ export default {
hasStudyNameList = [] hasStudyNameList = []
var isgoList = [] var isgoList = []
this.studyList.forEach((v) => { this.studyList.forEach((v) => {
if (!v.BodyPartForEdit) { if (!v.BodyPartForEdit && !v.IsDeleted) {
isgo = false isgo = false
isgoList.push(v.StudyCode) isgoList.push(v.StudyCode)
} }
if (this.relationInfo.IsShowStudyName && !v.StudyName) { if (this.relationInfo.IsShowStudyName && !v.StudyName && !v.IsDeleted) {
hasStudyName = false hasStudyName = false
hasStudyNameList.push(v.StudyCode) hasStudyNameList.push(v.StudyCode)
} }
@ -1699,7 +1702,7 @@ export default {
this.loading = true this.loading = true
var isVerify = await this.handleSave(true) var isVerify = await this.handleSave(true)
if (!isVerify) { if (!isVerify) {
return return this.loading = false
} }
// //
verifyCanQCPassedOrFailed(this.trialId, this.data.Id) verifyCanQCPassedOrFailed(this.trialId, this.data.Id)

View File

@ -1,20 +1,8 @@
<template> <template>
<div v-loading="loading"> <div v-loading="loading">
<el-form <el-form v-if="isRender" ref="questionForm" size="small" :model="questionForm" style="width:100%;">
v-if="isRender" <qSFormItem v-for="question of questions" :key="question.Id" :question="question" :question-form="questionForm"
ref="questionForm" :is-audit="isAudit" @resetFormItemData="resetFormItemData" />
size="small"
:model="questionForm"
style="width:100%;"
>
<qSFormItem
v-for="question of questions"
:key="question.Id"
:question="question"
:question-form="questionForm"
:is-audit="isAudit"
@resetFormItemData="resetFormItemData"
/>
</el-form> </el-form>
</div> </div>
@ -102,7 +90,7 @@ export default {
this.$confirm(this.$t('trials:audit:message:specifyQuestions'), { this.$confirm(this.$t('trials:audit:message:specifyQuestions'), {
type: 'warning', type: 'warning',
showCancelButton: false, showCancelButton: false,
callback: action => {} callback: action => { }
}) })
reject() reject()
} else { } else {
@ -111,7 +99,7 @@ export default {
answers.push({ Id: k, answer: this.questionForm[k] }) answers.push({ Id: k, answer: this.questionForm[k] })
} }
resolve(answers) resolve(answers)
// Answer // Answer
// this.answers.forEach((item, index) => { // this.answers.forEach((item, index) => {
// if (item.IsShow) { // if (item.IsShow) {
// this.$set(this.answers[index], 'Answer', this.questionForm[item.TrialQCQuestionConfigureId]) // this.$set(this.answers[index], 'Answer', this.questionForm[item.TrialQCQuestionConfigureId])
@ -121,8 +109,16 @@ export default {
} }
}) })
}) })
},
save() {
return new Promise((resolve, reject) => {
var answers = []
for (const k in this.questionForm) {
answers.push({ Id: k, answer: this.questionForm[k] })
}
resolve(answers)
})
} }
} }
} }
</script> </script>