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

View File

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

View File

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

View File

@ -19,7 +19,8 @@
/> />
<el-form-item v-if="readingTaskState < 2 && !isFirstChangeTask"> <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> <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> </div>
</el-form-item> </el-form-item>
@ -31,6 +32,7 @@
<script> <script>
// import { uploadPrintscreen } from '@/api/reading' // import { uploadPrintscreen } from '@/api/reading'
import { saveTaskQuestion, getSplenicState, getSplenicVerify, getCanChooseNotMerge, getDicomReadingQuestionAnswer } from '@/api/trials' import { saveTaskQuestion, getSplenicState, getSplenicVerify, getCanChooseNotMerge, getDicomReadingQuestionAnswer } from '@/api/trials'
import { setSkipReadingCache } from '@/api/reading'
import QuestionItem from './QuestionItem' import QuestionItem from './QuestionItem'
import DicomEvent from './DicomEvent' import DicomEvent from './DicomEvent'
import { mapGetters } from 'vuex' 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) { isJSONString(str) {
try { try {
JSON.stringify(JSON.parse(str)) JSON.stringify(JSON.parse(str))
@ -853,6 +884,22 @@ export default {
.el-select{ .el-select{
width: 100%; 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> </style>