阅片反馈
continuous-integration/drone/push Build is running Details

uat_us
caiyiling 2024-08-01 15:36:09 +08:00
parent b76303c63d
commit 32de7c4f18
4 changed files with 61 additions and 11 deletions

View File

@ -81,6 +81,7 @@
>
</div>
</el-drawer>
<feedBack/>
</div>
</template>
@ -90,10 +91,12 @@ import {
getFrontInternationalizationList,
} from "@/api/dictionary/dictionary";
import { getTrialExtralConfig } from "@/api/trials";
import feedBack from '@/views/trials/trials-layout/components/feedBack'
import Vue from "vue";
import i18n from "./lang";
export default {
name: "App",
components: {feedBack},
data() {
return {
drawer: false,

View File

@ -6,25 +6,25 @@
</div>
<trialsMain />
</div>
<feedBack />
<!-- <feedBack /> -->
</div>
</template>
<script>
import trialsMain from "./components/trialsMain";
import trialsNavbar from "./components/trialsNavbar";
import feedBack from "./components/feedBack";
import trialsMain from './components/trialsMain'
import trialsNavbar from './components/trialsNavbar'
// import feedBack from "./components/feedBack";
// import ResizeMixin from './mixin/ResizeHandler'
export default {
name: "Layout",
name: 'Layout',
components: {
trialsMain,
trialsNavbar,
feedBack,
},
trialsNavbar
// feedBack,
}
// mixins: [ResizeMixin]
};
}
</script>
<style lang="scss" scoped>

View File

@ -1941,7 +1941,7 @@ export default {
for (const [key, value] of searchParams.entries()) {
params[key] = value
}
if (isNaN(params.frame)){
if (isNaN(params.frame)) {
params.frame = 0
}
return params

View File

@ -19,7 +19,8 @@
/>
<el-form-item v-if="readingTaskState < 2 && !isFirstChangeTask">
<div style="text-align:right">
<div class="ecrf-footer">
<i class="el-icon-question feedback-icon" @click="openFeedBackTable" />
<el-button size="mini" :disabled="!questionFormChangeState || (!formChanged && groupClassify > 0)" :type="questionFormChangeState || (!formChanged && groupClassify > 0) ? 'primary' : null" @click="handleSave">{{ $t('common:button:save') }}</el-button>
</div>
</el-form-item>
@ -31,6 +32,7 @@
<script>
// import { uploadPrintscreen } from '@/api/reading'
import { saveTaskQuestion, getSplenicState, getSplenicVerify, getCanChooseNotMerge, getDicomReadingQuestionAnswer } from '@/api/trials'
import { setSkipReadingCache } from '@/api/reading'
import QuestionItem from './QuestionItem'
import DicomEvent from './DicomEvent'
import { mapGetters } from 'vuex'
@ -810,6 +812,35 @@ export default {
}
})
},
openFeedBackTable() {
this.$FB({
type: 'imgfail',
trialId: this.$route.query.trialId,
visitTaskId: this.visitTaskId,
callBack: async() => {
console.log('callBack')
const confirm = await this.$confirm(
this.$t('trials:reading:confirm:feedbackmsg'),
{
type: 'warning',
distinguishCancelAndClose: true
}
)
if (confirm !== 'confirm') return
this.loading = true
try {
const res = await setSkipReadingCache({ visitTaskId: this.visitTaskId })
this.loading = false
if (res.IsSuccess) {
window.location.reload()
}
} catch (e) {
this.loading = false
console.log(e)
}
}
})
},
isJSONString(str) {
try {
JSON.stringify(JSON.parse(str))
@ -853,6 +884,22 @@ export default {
.el-select{
width: 100%;
}
.ecrf-footer{
display: flex;
flex-direction: row;
justify-content: flex-end;
align-items: center;
.feedback-icon{
padding: 0 10px;
color: #fff;
font-weight: 400;
font-size: 22px;
cursor: pointer;
&:hover{
color: #68a2d5;
}
}
}
}
</style>