阅片反馈
continuous-integration/drone/push Build is running
Details
continuous-integration/drone/push Build is running
Details
parent
b76303c63d
commit
32de7c4f18
|
@ -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,
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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>
|
||||||
|
|
Loading…
Reference in New Issue