转换任务表单重置时弹出提示
continuous-integration/drone/push Build is running Details

main
wangxiaoshuang 2025-09-03 15:47:16 +08:00
parent 5c91e7a00a
commit e1fa3a673c
1 changed files with 135 additions and 149 deletions

View File

@ -1,54 +1,39 @@
<template> <template>
<div ref="container" style="width:100%;height:100%" class="dicom-container"> <div ref="container" style="width:100%;height:100%" class="dicom-container">
<!-- 访视阅片 --> <!-- 访视阅片 -->
<div v-if="(isReadingTaskViewInOrder === 1 || ((isReadingTaskViewInOrder !== 1) && isShow)) && readingCategory=== 1 && CriterionType !== 0" class="reading-wrapper"> <div
v-if="(isReadingTaskViewInOrder === 1 || ((isReadingTaskViewInOrder !== 1) && isShow)) && readingCategory === 1 && CriterionType !== 0"
class="reading-wrapper">
<el-tabs v-model="activeName" v-loading="loading" :before-leave="beforeLeave"> <el-tabs v-model="activeName" v-loading="loading" :before-leave="beforeLeave">
<!-- 阅片 --> <!-- 阅片 -->
<el-tab-pane :label="$t('trials:reading:tabTitle:review')" name="read"> <el-tab-pane :label="$t('trials:reading:tabTitle:review')" name="read">
<ReadPage <ReadPage v-if="tabs.includes('read')" :trial-id="trialId" :visit-task-id="visitTaskId"
v-if="tabs.includes('read')" :subject-id="subjectId" :subject-code="subjectCode" :is-show="isShow"
:trial-id="trialId" :question-form-change-state="questionFormChangeState" :question-form-change-num="questionFormChangeNum"
:visit-task-id="visitTaskId"
:subject-id="subjectId"
:subject-code="subjectCode"
:is-show="isShow"
:question-form-change-state="questionFormChangeState"
:question-form-change-num="questionFormChangeNum"
:is-reading-show-subject-info="isReadingShowSubjectInfo" :is-reading-show-subject-info="isReadingShowSubjectInfo"
:is-reading-task-view-in-order="isReadingTaskViewInOrder" :is-reading-task-view-in-order="isReadingTaskViewInOrder" :is-exists-clinical-data="isExistsClinicalData"
:is-exists-clinical-data="isExistsClinicalData" :is-exists-no-dicom-file="isExistsNoDicomFile" :is-exists-manual="isExistsManual"
:is-exists-no-dicom-file="isExistsNoDicomFile" :ise-c-r-f-show-in-dicom-reading="IseCRFShowInDicomReading" @previewCD="previewCD" />
:is-exists-manual="isExistsManual"
:ise-c-r-f-show-in-dicom-reading="IseCRFShowInDicomReading"
@previewCD="previewCD"
/>
</el-tab-pane> </el-tab-pane>
<!-- 报告 --> <!-- 报告 -->
<el-tab-pane v-if="!IseCRFShowInDicomReading" :label="$t('trials:reading:tabTitle:report')" name="report"> <el-tab-pane v-if="!IseCRFShowInDicomReading" :label="$t('trials:reading:tabTitle:report')" name="report">
<ReportPage v-if="tabs.includes('report') && isShow" ref="reportPage" :question-form-change-state="questionFormChangeState" :visit-task-id="visitTaskId" /> <ReportPage v-if="tabs.includes('report') && isShow" ref="reportPage"
:question-form-change-state="questionFormChangeState" :visit-task-id="visitTaskId" />
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
</div> </div>
<div v-if="(isReadingTaskViewInOrder === 1 || ((isReadingTaskViewInOrder !== 1) && isShow)) && readingCategory=== 1 && CriterionType === 0" class="reading-wrapper"> <div
v-if="(isReadingTaskViewInOrder === 1 || ((isReadingTaskViewInOrder !== 1) && isShow)) && readingCategory === 1 && CriterionType === 0"
class="reading-wrapper">
<el-tabs v-model="activeName" v-loading="loading" :before-leave="beforeLeaveCustomize"> <el-tabs v-model="activeName" v-loading="loading" :before-leave="beforeLeaveCustomize">
<!-- 阅片 --> <!-- 阅片 -->
<el-tab-pane :label="$t('trials:reading:tabTitle:review')" name="read"> <el-tab-pane :label="$t('trials:reading:tabTitle:review')" name="read">
<CustomizeReadPage <CustomizeReadPage v-if="tabs.includes('read')" :trial-id="trialId"
v-if="tabs.includes('read')" :trial-reading-criterion-id="TrialReadingCriterionId" :visit-task-id="visitTaskId" :subject-id="subjectId"
:trial-id="trialId" :subject-code="subjectCode" :is-show="isShow" :is-reading-show-subject-info="isReadingShowSubjectInfo"
:trial-reading-criterion-id="TrialReadingCriterionId"
:visit-task-id="visitTaskId"
:subject-id="subjectId"
:subject-code="subjectCode"
:is-show="isShow"
:is-reading-show-subject-info="isReadingShowSubjectInfo"
:is-reading-task-view-in-order="isReadingTaskViewInOrder" :is-reading-task-view-in-order="isReadingTaskViewInOrder"
:ise-c-r-f-show-in-dicom-reading="IseCRFShowInDicomReading" :ise-c-r-f-show-in-dicom-reading="IseCRFShowInDicomReading" :is-exists-clinical-data="isExistsClinicalData"
:is-exists-clinical-data="isExistsClinicalData" :is-exists-no-dicom-file="isExistsNoDicomFile" :is-exists-manual="isExistsManual" @previewCD="previewCD" />
:is-exists-no-dicom-file="isExistsNoDicomFile"
:is-exists-manual="isExistsManual"
@previewCD="previewCD"
/>
</el-tab-pane> </el-tab-pane>
<!-- 报告 --> <!-- 报告 -->
<el-tab-pane v-if="!IseCRFShowInDicomReading" :label="$t('trials:reading:tabTitle:report')" name="report"> <el-tab-pane v-if="!IseCRFShowInDicomReading" :label="$t('trials:reading:tabTitle:report')" name="report">
@ -57,69 +42,40 @@
</el-tabs> </el-tabs>
</div> </div>
<!-- 全局阅片 --> <!-- 全局阅片 -->
<GlobalReview <GlobalReview v-else-if="isShow && readingCategory === 2" :trial-id="trialId" :subject-id="subjectId"
v-else-if="isShow && readingCategory === 2" :visit-task-id="visitTaskId" :reading-category="readingCategory" :subject-code="subjectCode"
:trial-id="trialId" :task-blind-name="taskBlindName" :is-reading-show-subject-info="isReadingShowSubjectInfo"
:subject-id="subjectId"
:visit-task-id="visitTaskId"
:reading-category="readingCategory"
:subject-code="subjectCode"
:task-blind-name="taskBlindName"
:is-reading-show-subject-info="isReadingShowSubjectInfo"
:is-reading-show-previous-results="isReadingShowPreviousResults" :is-reading-show-previous-results="isReadingShowPreviousResults"
:is-exists-clinical-data="isExistsClinicalData" :is-exists-clinical-data="isExistsClinicalData" />
/>
<!-- 裁判阅片 --> <!-- 裁判阅片 -->
<AdReview <AdReview v-else-if="isShow && readingCategory === 4" :trial-id="trialId" :subject-id="subjectId"
v-else-if="isShow && readingCategory === 4" :visit-task-id="visitTaskId" :reading-category="readingCategory" :subject-code="subjectCode"
:trial-id="trialId" :task-blind-name="taskBlindName" :is-reading-show-subject-info="isReadingShowSubjectInfo"
:subject-id="subjectId"
:visit-task-id="visitTaskId"
:reading-category="readingCategory"
:subject-code="subjectCode"
:task-blind-name="taskBlindName"
:is-reading-show-subject-info="isReadingShowSubjectInfo"
:is-reading-show-previous-results="isReadingShowPreviousResults" :is-reading-show-previous-results="isReadingShowPreviousResults"
:is-exists-clinical-data="isExistsClinicalData" :is-exists-clinical-data="isExistsClinicalData" />
/>
<!-- 肿瘤学阅片 --> <!-- 肿瘤学阅片 -->
<OncologyReview <OncologyReview v-else-if="isShow && readingCategory === 5" :trial-id="trialId" :subject-id="subjectId"
v-else-if="isShow && readingCategory === 5" :visit-task-id="visitTaskId" :reading-category="readingCategory" :subject-code="subjectCode"
:trial-id="trialId" :task-blind-name="taskBlindName" :is-reading-show-subject-info="isReadingShowSubjectInfo"
:subject-id="subjectId"
:visit-task-id="visitTaskId"
:reading-category="readingCategory"
:subject-code="subjectCode"
:task-blind-name="taskBlindName"
:is-reading-show-subject-info="isReadingShowSubjectInfo"
:is-reading-show-previous-results="isReadingShowPreviousResults" :is-reading-show-previous-results="isReadingShowPreviousResults"
:is-exists-clinical-data="isExistsClinicalData" :is-exists-clinical-data="isExistsClinicalData" />
/>
<el-dialog <el-dialog :visible.sync="dialogVisible" :custom-class="isFullscreen ? 'full-dialog-container' : 'dialog-container'"
:visible.sync="dialogVisible" :show-close="false" :close-on-click-modal="false" :fullscreen="isFullscreen">
:custom-class="isFullscreen?'full-dialog-container':'dialog-container'"
:show-close="false"
:close-on-click-modal="false"
:fullscreen="isFullscreen"
>
<span slot="title" class="dialog-footer"> <span slot="title" class="dialog-footer">
<!-- 当前阅片任务存在临床数据请查看若已查看请点击确认 --> <!-- 当前阅片任务存在临床数据请查看若已查看请点击确认 -->
<span v-if="!closeCDVisible">{{ $t('trials:reading:dagTitle:msg1') }}</span> <span v-if="!closeCDVisible">{{ $t('trials:reading:dagTitle:msg1') }}</span>
<div style="position: absolute;right: 20px;top: 10px;"> <div style="position: absolute;right: 20px;top: 10px;">
<svg-icon :icon-class="isFullscreen?'exit-fullscreen':'fullscreen'" style="cursor: pointer;font-size: 20px;" @click="isFullscreen=!isFullscreen" /> <svg-icon :icon-class="isFullscreen ? 'exit-fullscreen' : 'fullscreen'"
<svg-icon v-if="closeCDVisible" icon-class="dClose" style="cursor: pointer;font-size: 25px;margin-left: 10px;" @click="dialogVisible = false" /> style="cursor: pointer;font-size: 20px;" @click="isFullscreen = !isFullscreen" />
<svg-icon v-if="closeCDVisible" icon-class="dClose" style="cursor: pointer;font-size: 25px;margin-left: 10px;"
@click="dialogVisible = false" />
</div> </div>
</span> </span>
<div style="height: 100%;margin:0;"> <div style="height: 100%;margin:0;">
<ClinicalData <ClinicalData v-if="dialogVisible" :trial-id="trialId" :subject-id="subjectId" :visit-task-id="cdVisitTaskId"
v-if="dialogVisible" :is-reading-show-subject-info="isReadingShowSubjectInfo" />
:trial-id="trialId"
:subject-id="subjectId"
:visit-task-id="cdVisitTaskId"
:is-reading-show-subject-info="isReadingShowSubjectInfo"
/>
</div> </div>
<span v-if="!closeCDVisible" slot="footer" class="dialog-footer"> <span v-if="!closeCDVisible" slot="footer" class="dialog-footer">
<!-- 确认 --> <!-- 确认 -->
@ -127,12 +83,7 @@
</span> </span>
</el-dialog> </el-dialog>
<el-dialog <el-dialog :visible.sync="tipVisible" :show-close="false" :close-on-click-modal="false" width="500px">
:visible.sync="tipVisible"
:show-close="false"
:close-on-click-modal="false"
width="500px"
>
<span slot="title" class="dialog-footer"> <span slot="title" class="dialog-footer">
<!-- 提示 --> <!-- 提示 -->
{{ $t('trials:iRecist:warnning:msg44') }} {{ $t('trials:iRecist:warnning:msg44') }}
@ -257,6 +208,25 @@ export default {
this.dialogVisible = true this.dialogVisible = true
this.cdVisitTaskId = taskId this.cdVisitTaskId = taskId
}) })
DicomEvent.$on('refreshStudyListMeasureData', () => {
var param = {
subjectId: this.subjectId,
trialId: this.trialId,
subjectCode: this.subjectCode,
visitTaskId: this.$router.currentRoute.query.visitTaskId,
trialReadingCriterionId: this.$router.currentRoute.query.TrialReadingCriterionId
}
getNextTask(param).then(res => {
this.$nextTick(() => {
this.isShow = true
this.loading = false
if (res.Result.IsFirstChangeTask && res.Result.ReadingTaskState === 0) {
this.tipVisible = true
}
})
})
})
this.activeName = this.$router.currentRoute.query.tabName ? this.$router.currentRoute.query.tabName : 'read' this.activeName = this.$router.currentRoute.query.tabName ? this.$router.currentRoute.query.tabName : 'read'
this.tabs.push(this.activeName) this.tabs.push(this.activeName)
this.trialId = this.$router.currentRoute.query.trialId this.trialId = this.$router.currentRoute.query.trialId
@ -503,94 +473,110 @@ export default {
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
/deep/.el-message-box__headerbtn{ /deep/.el-message-box__headerbtn {
display: none; display: none;
} }
.dicom-container{
.reading-wrapper{ .dicom-container {
width: 100%; .reading-wrapper {
height: 100%; width: 100%;
padding: 0 5px;
box-sizing: border-box;
background-color: #000;
/deep/.el-tabs{
box-sizing: border-box;
height: 100%; height: 100%;
display: flex; padding: 0 5px;
flex-direction: column; box-sizing: border-box;
.el-tabs__item{ background-color: #000;
color: #fff;
} /deep/.el-tabs {
.el-tabs__header{
height: 50px;
margin:0px;
box-sizing: border-box; box-sizing: border-box;
}
.el-tabs__content{
flex: 1;
margin:0px;
box-sizing: border-box;
}
.el-tabs__item{
color: #fff;
}
.el-tab-pane{
height: 100%; height: 100%;
display: flex;
flex-direction: column;
.el-tabs__item {
color: #fff;
}
.el-tabs__header {
height: 50px;
margin: 0px;
box-sizing: border-box;
}
.el-tabs__content {
flex: 1;
margin: 0px;
box-sizing: border-box;
}
.el-tabs__item {
color: #fff;
}
.el-tab-pane {
height: 100%;
}
} }
} /deep/.hot-keys-label {
/deep/.hot-keys-label{ color: #dfdfdf !important;
color: #dfdfdf !important; }
}
/deep/.shortcut-key-input span{
color: #dfdfdf !important;
}
// /deep/ .el-dialog{
// background: #1e1e1e;
// /deep/ .el-dialog__body{
// padding: 10px;
// }
// } /deep/.shortcut-key-input span {
/deep/.el-dialog{ color: #dfdfdf !important;
}
// /deep/ .el-dialog{
// background: #1e1e1e;
// /deep/ .el-dialog__body{
// padding: 10px;
// }
// }
/deep/.el-dialog {
background: #1e1e1e; background: #1e1e1e;
border: 1px solid #ddd; border: 1px solid #ddd;
color: #ddd; color: #ddd;
.el-dialog__title{
color:#fff; .el-dialog__title {
color: #fff;
} }
.el-input .el-input__inner{
.el-input .el-input__inner {
background-color: transparent; background-color: transparent;
color: #ddd; color: #ddd;
border: 1px solid #5e5e5e; border: 1px solid #5e5e5e;
} }
.el-input.is-disabled .el-input__inner{
.el-input.is-disabled .el-input__inner {
background-color: #646464a1; background-color: #646464a1;
} }
.el-form-item__label{
.el-form-item__label {
color: #dfdfdf color: #dfdfdf
} }
} }
}
/deep/.dialog-container{
margin-top: 50px !important;
width:75%;
height:80%;
} }
/deep/.el-dialog__body{
padding: 20px; /deep/.dialog-container {
height: calc(100% - 120px); margin-top: 50px !important;
} width: 75%;
.el-dialog__header{ height: 80%;
}
/deep/.el-dialog__body {
padding: 20px;
height: calc(100% - 120px);
}
.el-dialog__header {
position: relative; position: relative;
} }
} }
.full-dialog-container{ .full-dialog-container {
/deep/.is-fullscreen .el-dialog__body{ /deep/.is-fullscreen .el-dialog__body {
height: calc(100% - 120px); height: calc(100% - 120px);
} }
} }
</style> </style>