diff --git a/src/store/getters.js b/src/store/getters.js index 3f0bc257..2d0a5744 100644 --- a/src/store/getters.js +++ b/src/store/getters.js @@ -49,6 +49,7 @@ const getters = { TotalNeedSignTrialDocCount: state => state.user.TotalNeedSignTrialDocCount, IsFirstSysDocNeedSign: state => state.user.IsFirstSysDocNeedSign, TrialStatusStr: state => state.user.TrialStatusStr, - lastViewportTaskId: state => state.noneDicomReview.lastViewportTaskId + lastViewportTaskId: state => state.noneDicomReview.lastViewportTaskId, + currentTaskState: state => state.noneDicomReview.currentTaskState } export default getters diff --git a/src/store/modules/noneDicomReview.js b/src/store/modules/noneDicomReview.js index 990f2fe0..702e2b2e 100644 --- a/src/store/modules/noneDicomReview.js +++ b/src/store/modules/noneDicomReview.js @@ -1,6 +1,7 @@ const getDefaultState = () => { return { - lastViewportTaskId: null + lastViewportTaskId: null, + currentTaskState: 0 } } const state = getDefaultState @@ -12,6 +13,9 @@ const mutations = { const actions = { setLastViewportTaskId({ state }, id) { state.lastViewportTaskId = id + }, + setCurrentTaskState({ state }, taskState) { + state.currentTaskState = taskState } } diff --git a/src/views/trials/trials-panel/reading/visit-review/components/EcrfList.vue b/src/views/trials/trials-panel/reading/visit-review/components/EcrfList.vue index 25c1f1a1..18b0ae79 100644 --- a/src/views/trials/trials-panel/reading/visit-review/components/EcrfList.vue +++ b/src/views/trials/trials-panel/reading/visit-review/components/EcrfList.vue @@ -56,6 +56,8 @@ import { getTrialReadingQuestion, saveVisitTaskQuestions, submitVisitTaskQuestionsInDto, getQuestionCalculateRelation } from '@/api/trials' import { setSkipReadingCache } from '@/api/reading' import const_ from '@/const/sign-code' +import store from '@/store' +import { mapGetters } from 'vuex' import FormItem from './FormItem' import SignForm from '@/views/trials/components/newSignForm' export default { @@ -89,6 +91,9 @@ export default { taskInfo: null } }, + computed: { + ...mapGetters(['currentTaskState']) + }, watch: { 'visitTaskInfo.VisitTaskId': { immediate: true, @@ -100,6 +105,14 @@ export default { this.getQuestionCalculateRelation() this.getQuestions() } + }, + currentTaskState: { + immediate: true, + handler(state) { + if (state === 2) { + this.readingTaskState = 2 + } + } } }, mounted() { @@ -220,7 +233,10 @@ export default { this.$refs['signForm'].btnLoading = false this.signVisible = false this.readingTaskState = 2 - // window.opener.postMessage('refreshTaskList', window.location) + this.taskInfo.ReadingTaskState = 2 + localStorage.setItem('taskInfo', JSON.stringify(this.taskInfo)) + store.dispatch('noneDicomReview/setCurrentTaskState', 2) + window.opener.postMessage('refreshTaskList', window.location) const confirm = await this.$confirm( this.$t('trials:noneDicoms:message:msg1'), { diff --git a/src/views/trials/trials-panel/reading/visit-review/components/FileViewer.vue b/src/views/trials/trials-panel/reading/visit-review/components/FileViewer.vue new file mode 100644 index 00000000..8ef584a6 --- /dev/null +++ b/src/views/trials/trials-panel/reading/visit-review/components/FileViewer.vue @@ -0,0 +1,957 @@ +