影像质控风险管理
continuous-integration/drone/push Build is passing Details

main
wangxiaoshuang 2025-12-18 13:38:02 +08:00
parent 4e46bbac84
commit 363ffa58b3
4 changed files with 53 additions and 41 deletions

View File

@ -83,8 +83,8 @@
{{ item.description }} {{ item.description }}
</div> </div>
<div v-if="!item.keySeries" style="padding: 1px;"> <div v-if="!item.keySeries" style="padding: 1px;">
{{ series.imageloadedArr.length <= series.instanceCount ? series.imageloadedArr.length : series.instanceCount }}/{{ item.instanceCount }} {{ series.imageloadedArr.length <= series.instanceCount ? series.imageloadedArr.length :
</div> series.instanceCount }}/{{ item.instanceCount }} </div>
</div> </div>
</div> </div>
@ -94,11 +94,14 @@
<div> <div>
<span style="font-size: 12px;margin-right: 5px">{{ $t('trials:audit:table:isReading') <span style="font-size: 12px;margin-right: 5px">{{ $t('trials:audit:table:isReading')
}}</span> }}</span>
<el-switch v-model="item.isReading" size="mini" @change="changeReadingStatus($event, item)" /> <el-switch v-model="item.isReading" size="mini"
@change="changeReadingStatus($event, item)" />
</div> </div>
<div> <div>
<span style="font-size: 12px;margin-right: 5px">{{ $t('trials:audit:table:isDelete') }}</span> <span style="font-size: 12px;margin-right: 5px">{{ $t('trials:audit:table:isDelete')
<el-switch v-model="item.isDeleted" size="mini" @change="changeDeleteStatus($event, item)" /> }}</span>
<el-switch v-model="item.isDeleted" size="mini"
@change="changeDeleteStatus($event, item)" />
</div> </div>
</div> </div>
<div <div
@ -891,6 +894,7 @@ export default {
// //
this.seriesList[seriesIndex].loadStatus = true this.seriesList[seriesIndex].loadStatus = true
workSpeedclose() workSpeedclose()
localStorage.setItem("QCRiskControl", 1)
if (!this.isFromCRCUpload) { if (!this.isFromCRCUpload) {
this.loadAllImages() this.loadAllImages()
} }

View File

@ -113,8 +113,8 @@
</div> </div>
</el-tooltip> </el-tooltip>
<div style="padding: 1px;"> <div style="padding: 1px;">
{{ series.imageloadedArr.length <= series.instanceCount ? series.imageloadedArr.length : series.instanceCount }}/{{ series.instanceCount }} {{ series.imageloadedArr.length <= series.instanceCount ? series.imageloadedArr.length :
</div> series.instanceCount }}/{{ series.instanceCount }} </div>
<div /> <div />
</div> </div>
</div> </div>
@ -937,6 +937,7 @@ export default {
this.loadAllImages() this.loadAllImages()
} }
workSpeedclose() workSpeedclose()
localStorage.setItem("QCRiskControl", 1)
} }
} }
} }

View File

@ -1100,6 +1100,8 @@ export default {
SecondReviewTime: '', SecondReviewTime: '',
IsSecondPass: false, IsSecondPass: false,
userId: zzSessionStorage.getItem('userId'), userId: zzSessionStorage.getItem('userId'),
QCRiskControl: false
} }
}, },
async mounted() { async mounted() {
@ -1314,6 +1316,7 @@ export default {
this.SecondReviewTime = this.secondReviewList[0].SecondReviewTime this.SecondReviewTime = this.secondReviewList[0].SecondReviewTime
} }
} }
this.QCRiskControl = res.Result.QCRiskControl
this.existsManual = res.Result.ExistsManual this.existsManual = res.Result.ExistsManual
this.qCQuestionAnswerList = res.Result.QCQuestionAnswerList this.qCQuestionAnswerList = res.Result.QCQuestionAnswerList
this.IsHaveStudyClinicalData = res.Result.IsHaveStudyClinicalData this.IsHaveStudyClinicalData = res.Result.IsHaveStudyClinicalData
@ -1929,6 +1932,7 @@ export default {
this.auditState = auditState this.auditState = auditState
return return
} }
if (localStorage.getItem('QCRiskControl') <= 0 && this.QCRiskControl) return this.$confirm(this.$t('trials:qcQuality:title:noViewImage'))
if (auditState === 8) { if (auditState === 8) {
var isgo = true var isgo = true
var hasStudyName = true, var hasStudyName = true,
@ -2421,6 +2425,7 @@ export default {
if (this.open) { if (this.open) {
this.open.close() this.open.close()
} }
localStorage.setItem("QCRiskControl", 1)
// this.previewAllNoneDicomVisible = true // this.previewAllNoneDicomVisible = true
let trialId = this.$route.query.trialId let trialId = this.$route.query.trialId
var token = getToken() var token = getToken()
@ -2438,6 +2443,7 @@ export default {
if (this.open) { if (this.open) {
this.open.close() this.open.close()
} }
localStorage.setItem("QCRiskControl", 1)
let trialId = this.$route.query.trialId let trialId = this.$route.query.trialId
var token = getToken() var token = getToken()
const routeData = this.$router.resolve({ const routeData = this.$router.resolve({

View File

@ -880,6 +880,7 @@ export default {
// //
handlePrimaryQC(row) { handlePrimaryQC(row) {
if (!this.OtherInfo.IsQCQuestionConfirmed) return this.$alert(this.$t("trials:qcCheck:alert:questionNoConfirm")) if (!this.OtherInfo.IsQCQuestionConfirmed) return this.$alert(this.$t("trials:qcCheck:alert:questionNoConfirm"))
localStorage.setItem("QCRiskControl", 0)
this.loading = true this.loading = true
isQCCanOpt(row.Id) isQCCanOpt(row.Id)
.then((res) => { .then((res) => {