From 6137d9deff99d4ee6caedd2f0e0806f7e7604322 Mon Sep 17 00:00:00 2001 From: wangxiaoshuang <825034831@qq.com> Date: Mon, 15 Jul 2024 13:06:07 +0800 Subject: [PATCH 01/16] 1 --- public/favicon.ico | Bin 21238 -> 7886 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/public/favicon.ico b/public/favicon.ico index 68177d686c6c92a375da87e3e045f414b8ea3816..70e9d37fc718762afe01d026773da1f1d82a35a5 100644 GIT binary patch literal 7886 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 e!K>-;3bYpA=WZ?$i#EB=ncR zvI1oV{&yinuKf>9l9gcTIj-TSa4F)?o3fTyu|2OIT zb--h6i^t*9a2d#EEzASOQk)5(zU|=0F#k>Tp9aeDFnkBj27es#e>329w%>qP;A)r+ zuY%bvqdf%1!&6?r>COLXbnk&%J)6C>F9EB=muM@O`R=BD6`ThjhG9^FonSW4(VhaT z?P{-I`i*b_%z;xtdFFzjV-?$nIo(H)FM`G1M_YMqe3C=q$6z+E(f$}n_hqkN`W_ew zzW=FgYro9@N!sI_jiip3=_IdrIzPrOfz2Xkb0N|{Hp(;A>C9i}VINqImuOFSHadjIlQ+19wE|0wJSi>-5X8kn!-DA2Jr8=WV!K)SDc{nB^A zaPa+SvMnF;S1jAdV`x9^>11;y`2G!SFAr?yJDbaqs=LL0hW4>eXE8KaRWq~ML;Fl; zqx1VGo=!G*IGy=RegM{h&ZS2{=f3(+1I4r0S~uo^@2m4kYu7J9{@tK?YBu5dExVDP zUUq}w{h-+A!}~yS!}D9?SO^x|Fd0mDF>M>a4TvCdl~)! zI=n z@$<`0eMdsGkP>-FiRDNKSN>C0psc`KvI1{LeiWqPUo1*1ey!~g37@L;oeJ;l8OVzrd*Va`_en!_6*jC-)#599l8P^{zN_mJnSZ+DX*+<(p6 zMaQ}zUcW=Z`@t%j10bk7{Z!X!sRHeR6>f34F7+yg)ry3_4_mymG zYsnbizx5;E3%emNmj13F``ZMKoo%7(*He(^r+)n%M|Lf>{Wgit zV$G(lzeC82^&50rbIe}n%-s=t#rZRw3aO9fG->@v&A&d#%dPo$A!Kn}dnocj$n#VG zE;wNQtTToRb~_@m{)X;DVEZpwbk69Uo@+jq(_~-&8lYO<1+o3O(T`(oq}KMBpRTRv zn7!pTY5hpmavj8CU6b1Pk9!u|FBkae9xAQbJ4Ow*w3##=@(TrVR-$i`{TA-WB^|my z_y@$s-DdV#Vy|I3WKk`bW8>DdH2=HU{vE_}{|vpZap`!yv}x1&kwvxqEjHsld)t5A zi~R{=WB4KZA*nBGZum?4tK++vcC41&=>7YK!`XfSV!3PX9m3q+b5(^nv0A=_z7=f0 zP3mulHbHC*+tI(%e8VwVKT`K(&p}?S7toyomRs_sh`r*}+&e^aYyPb*i1k_YY3@yn zDmI1&`j!>={T2NO%{MZJQP^yb#PaSZvKm~3{i_il)nFl{;|+6b+jL0XE9TW+{n`D5 z{Pcdn`Ce7vC*OI_R<1R_?&@=>VyTwjg4h_ASR5y(AfGMp`4Rf`-a*g2;m^fU{-U*P zD>mu3(9W;^=4bkVnI#5F5i5^g6#&zsMLgPjs!%i?s{gM2oYrJ-rs)9=b+~gV*_o?Q_CxP z2JC^nF{^(Cr1uVeOQLIl?s3kC+3|V7aEU`uK7COGCSJ3f8PeN+}YYC-|(ltI%v)GbE}=Mqvqe!G0FT|(CvWO7_@c` zht$Vn_|oZ==N!;nyENb;wvP?oB{b4^7sPUF?aF-?(iqSidLGnsLzw##`ldm><3E)C zqWkw<*h~WQ9QaPz8-rp!0NNj|IX;^IPr_`l@k)LkV*9Tc+NadVuer5Nhx{D80e)U< z@23A&^YO;4xHm&=4AEzyAl9OSSa+gN=QC2dXTU)}3pEcPj>?EM(lHXU*n=$y@qrTIP@G+v?m@Vg<;Uj16bMgVI|#ZqQc{SIBvwbtdv z%A9BfbMYknbRYQ;^aS*=t#d^4)en)i)$h<6cQ)wWdNpW1tZ}HV`91;6UQ+eA8diet zH~jp)Y_Ec`P_+MwH3e>h`@zqxF|5u8to>hH_r2aQ>~y~qqWWuH_d{fD^#{mSYp&MB z5dZx5{bb(^VQ%%MwXb*lH3;+}L+A_hX6v5~JpGo$b+wLvZlC#vGKkr(gy2oGR(6h+;8&4>V7mm5yE-O%0psYYyfwBT+1{m;~rBv0D^qtK8vbtOqtdqdJ#N2;%JCm2N`k_79TUU0eAG(tLPPQTUvt5-tQ~AZDzHGyD0rqXlp|0mZ+! From fd0679dbd8104ff7629ff4cbfc7eb0405a522f9c Mon Sep 17 00:00:00 2001 From: caiyiling <1321909229@qq.com> Date: Mon, 15 Jul 2024 14:50:50 +0800 Subject: [PATCH 02/16] =?UTF-8?q?=E9=98=85=E7=89=87=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=B7=B3=E8=BF=87=E5=BD=93=E5=89=8D=E4=BB=BB=E5=8A=A1=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/reading.js | 16 + src/store/modules/reading.js | 7 +- .../trials-panel/reading/ad-review/index.vue | 29 +- .../reading/dicoms/components/ReportPage.vue | 45 ++- .../dicoms/customize/CustomizeReportPage.vue | 32 ++ .../reading/global-review/index.vue | 32 +- .../reading/reading-task/index.vue | 274 +++++++++--------- vue.config.js | 7 +- 8 files changed, 288 insertions(+), 154 deletions(-) diff --git a/src/api/reading.js b/src/api/reading.js index 9fb24d6b..0f670256 100644 --- a/src/api/reading.js +++ b/src/api/reading.js @@ -171,3 +171,19 @@ export function getCustomTag(param) { data: param }) } + +export function clearSkipReadingCache(param) { + return request({ + url: `/ReadingImageTask/clearSkipReadingCache`, + method: 'post', + data: param + }) +} + +export function setSkipReadingCache(param) { + return request({ + url: `/ReadingImageTask/setSkipReadingCache`, + method: 'post', + data: param + }) +} diff --git a/src/store/modules/reading.js b/src/store/modules/reading.js index 8418f231..6ca73932 100644 --- a/src/store/modules/reading.js +++ b/src/store/modules/reading.js @@ -493,11 +493,10 @@ const actions = { }) }, removeCustomizeMeasuredData({ state }, obj) { - return new Promise(async resolve => { var index = state.visitTaskList.findIndex(i => i.VisitTaskId === obj.visitTaskId) var measureData = state.visitTaskList[index].MeasureData - console.log('removeCustomizeMeasuredData',obj, state.visitTaskList[index].MeasureData) + console.log('removeCustomizeMeasuredData', obj, state.visitTaskList[index].MeasureData) // var uuid = obj.measureData.data.uuid // var idx = measureData.findIndex(item => item.MeasureData && item.MeasureData.data && item.MeasureData.data.uuid === uuid) // console.log(obj, measureData) @@ -682,7 +681,7 @@ const actions = { } else { // state.visitTaskList[index].MeasureData.push(obj.MeasureData.data) state.visitTaskList[index].MeasureData.push({ - MeasureData: obj.measureData , + MeasureData: obj.measureData, SeriesId: obj.measureData.seriesId, StudyId: obj.measureData.studyId, InstanceId: obj.measureData.instanceId, @@ -898,7 +897,7 @@ const actions = { }, setImageloadedInfo({ state }, obj) { var index = state.visitTaskList.findIndex(i => i.VisitTaskId === obj.visitTaskId) - let prefetchInstanceCount = state.visitTaskList[index].StudyList[obj.studyIndex].SeriesList[obj.seriesIndex].prefetchInstanceCount + const prefetchInstanceCount = state.visitTaskList[index].StudyList[obj.studyIndex].SeriesList[obj.seriesIndex].prefetchInstanceCount state.visitTaskList[index].StudyList[obj.studyIndex].SeriesList[obj.seriesIndex].prefetchInstanceCount = prefetchInstanceCount + 100 state.visitTaskList[index].StudyList[obj.studyIndex].SeriesList[obj.seriesIndex].imageloadedArr.push(obj.imageId) }, diff --git a/src/views/trials/trials-panel/reading/ad-review/index.vue b/src/views/trials/trials-panel/reading/ad-review/index.vue index cb33fb79..17af5722 100644 --- a/src/views/trials/trials-panel/reading/ad-review/index.vue +++ b/src/views/trials/trials-panel/reading/ad-review/index.vue @@ -242,6 +242,10 @@
+ + + {{ $t('trials:readingReport:button:skip') }} + {{ $t('common:button:save') }} @@ -317,6 +321,7 @@ import { getJudgeReadingInfo, // uploadJudgeTaskImage, saveJudgeVisitTaskResult, submitJudgeVisitTaskResult, getReadingPastResultList } from '@/api/trials' import { getAutoCutNextTask } from '@/api/user' +import { setSkipReadingCache } from '@/api/reading' import const_ from '@/const/sign-code' import { getToken } from '@/utils/auth' import SignForm from '@/views/trials/components/newSignForm' @@ -390,7 +395,7 @@ export default { judgeResultArmEnum: '', criterionType: null, openWindow: null, - isFixed:false + isFixed: false } }, // watch: { @@ -716,6 +721,28 @@ export default { var idx = this.fileList.findIndex(i => i.url === file.url) if (idx === -1) return this.fileList.splice(idx, 1) + }, + async skipTask() { + try { + // 是否确认跳过? + const confirm = await this.$confirm( + this.$t('trials:readingReport:message:skipConfirm'), + { + type: 'warning', + distinguishCancelAndClose: true + } + ) + if (confirm !== 'confirm') return + this.loading = true + const res = await setSkipReadingCache({ visitTaskId: this.visitTaskId }) + this.loading = false + if (res.IsSuccess) { + window.location.reload() + } + } catch (e) { + this.loading = false + console.log(e) + } } } } diff --git a/src/views/trials/trials-panel/reading/dicoms/components/ReportPage.vue b/src/views/trials/trials-panel/reading/dicoms/components/ReportPage.vue index ea24a99a..ff001de2 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/ReportPage.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/ReportPage.vue @@ -12,6 +12,15 @@ style="margin-right:5px;" @change="handleShowDetail" /> + + + {{ $t('trials:readingReport:button:skip') }} + -

-

+

{{ $t('trials:readingReport:title:sysEvaluationRes') }}{{ $fd('ExistDisease',isExistDisease) }}{{ $t('trials:readingReport:message:msg1') }}

@@ -262,6 +270,7 @@ diff --git a/vue.config.js b/vue.config.js index 0686d418..45f599a4 100644 --- a/vue.config.js +++ b/vue.config.js @@ -63,7 +63,8 @@ module.exports = { // target: 'http://123.56.94.154:8079', // 国内测试环境2 // target: 'http://123.56.94.154:7000', // 国内测试环境2 // target: 'http://123.56.94.154:30668', - target: 'http://106.14.89.110:30000', + // target: 'http://106.14.89.110:30000', + target: 'http://47.117.164.182:7010', // uat // target: 'http://123.56.181.144:7000', changeOrigin: true, secure: false, @@ -94,7 +95,7 @@ module.exports = { ignore: ['.*'] } ]), - process.env.NODE_ENV === 'development' || process.env.VUE_APP_OSS_CONFIG_BUCKET === 'zyypacs-usa' ? function () { } + process.env.NODE_ENV === 'development' || process.env.VUE_APP_OSS_CONFIG_BUCKET === 'zyypacs-usa' ? function() { } : new WebpackAliyunOss({ from: ['./dist/**'], dist: process.env.VUE_APP_OSS_PATH + distDate, @@ -123,7 +124,7 @@ module.exports = { // 生成文件的最大体积 maxAssetSize: 3000000000, // 只给出js的性能提示 - assetFilter: function (assetFileName) { + assetFilter: function(assetFileName) { return assetFileName.endsWith('.js') } }, From c94abac8968b5fc16f698faddc301332cc7b8136 Mon Sep 17 00:00:00 2001 From: wangxiaoshuang <825034831@qq.com> Date: Mon, 15 Jul 2024 17:00:58 +0800 Subject: [PATCH 03/16] =?UTF-8?q?iqc=E4=B8=8B=E8=BD=BD=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/trials.js | 8 +++++ src/permission.js | 13 ++++++-- src/store/modules/trials.js | 7 ++++ src/utils/uploadZip.js | 23 ++++++------- .../qc-check/components/qualityAssurance.vue | 33 +++++++++++++++++++ 5 files changed, 70 insertions(+), 14 deletions(-) diff --git a/src/api/trials.js b/src/api/trials.js index 8d017e4a..35bc26ce 100644 --- a/src/api/trials.js +++ b/src/api/trials.js @@ -3675,3 +3675,11 @@ export function getTrialSiteSelectList(params) { params }) } +// 获取项目配置 +export function getTrialExtralConfig(params) { + return request({ + url: `/TrialConfig/getTrialExtralConfig`, + method: 'get', + params + }) +} diff --git a/src/permission.js b/src/permission.js index db67208e..19135136 100644 --- a/src/permission.js +++ b/src/permission.js @@ -6,13 +6,20 @@ import 'nprogress/nprogress.css' import { getToken } from '@/utils/auth' import Vue from 'vue' import { OSSclient } from './utils/oss' +import { getTrialExtralConfig } from "@/api/trials" // import getPageTitle from '@/utils/get-page-title' NProgress.configure({ showSpinner: false }) const whiteList = ['/ReviewersResearch', '/login', '/error', '/resetpassword', '/recompose', '/email-recompose', '/trialStats', '/showdicom', '/imagesShare', '/audit', '/preview', '/researchLogin', '/blindResumeInfo', '/trialsResume', '/joinVerify', '/showNoneDicoms', '/noneDicomReading', '/clinicalData', '/readingDicoms', '/readingPage', '/visitDicomReview', '/visitNondicomReview', '/globalReview', '/adReview', '/oncologyReview', '/nonedicoms'] -router.beforeEach(async(to, from, next) => { +router.beforeEach(async (to, from, next) => { + if (to.query.trialId && to.query.trialId !== store.state.trials.config.trialId) { + let res = await getTrialExtralConfig({ TrialId: to.query.trialId }); + if (res.IsSuccess) { + store.dispatch('trials/setConfig', { trialId: to.query.trialId, ...res.Result }); + } + } NProgress.start() // 设置页面标题 // document.title = getPageTitle(to.meta.title) @@ -56,7 +63,7 @@ router.beforeEach(async(to, from, next) => { /* has no token*/ if (whiteList.indexOf(to.path) !== -1) { // 在免登录whiteList中,直接进入 - if (to.path === '/readingDicoms' || to.path === '/noneDicomReading'){ + if (to.path === '/readingDicoms' || to.path === '/noneDicomReading') { OSSclient() } next() @@ -68,7 +75,7 @@ router.beforeEach(async(to, from, next) => { next(`/ReviewersResearch?`) NProgress.done() } else { - // 其他无权访问的页面将重定向到登录页面。 + // 其他无权访问的页面将重定向到登录页面。 next(`/login?`) NProgress.done() } diff --git a/src/store/modules/trials.js b/src/store/modules/trials.js index ed8ba8e1..609faffa 100644 --- a/src/store/modules/trials.js +++ b/src/store/modules/trials.js @@ -8,6 +8,7 @@ const getDefaultState = () => { visitPointQuery: null, studyListQuery: null, unlock: false, + config: {}, } } @@ -20,6 +21,9 @@ const mutations = { SET_UNLOCK: (state, unlock) => { state.unlock = unlock }, + SET_CONFIG: (state, config) => { + state.config = config + }, SET_ACTIVENAME: (state, activeName) => { state.trialDetailActiveName = activeName }, @@ -44,6 +48,9 @@ const actions = { setUnLock({ commit }, unlock) { commit('SET_UNLOCK', unlock) }, + setConfig({ commit }, config) { + commit('SET_CONFIG', config) + }, setActiveName({ commit }, activeName) { commit('SET_ACTIVENAME', activeName) }, diff --git a/src/utils/uploadZip.js b/src/utils/uploadZip.js index 89f309ea..3b0ded22 100644 --- a/src/utils/uploadZip.js +++ b/src/utils/uploadZip.js @@ -6,16 +6,17 @@ import { requestPackageAndAnonymizImage, } from "@/api/load.js"; let flag = {}; -export const downloadImage = async (id, id2) => { - if (flag[id2]) return - flag[id2] = true +export const downloadImage = async (id, id2, IsDicom = true) => { + if (flag[`${id2}_${IsDicom}`]) return + flag[`${id2}_${IsDicom}`] = true try { let params = { TrialId: id, - SubjectVisitId: id2 + SubjectVisitId: id2, + IsDicom: IsDicom } let res = await requestPackageAndAnonymizImage(params); - flag[id2] = false; + flag[`${id2}_${IsDicom}`] = false; if (res.IsSuccess) { if (!res.Result) { Vue.prototype.$message.warning(Vue.prototype.$t("trials:upload:message:not")) @@ -23,9 +24,9 @@ export const downloadImage = async (id, id2) => { } let a = document.createElement("a"); let href = Vue.prototype.OSSclientConfig.basePath + res.Result; - let fileName = - res.Result.split("/")[res.Result.split("/").length - 1]; - a.download = fileName; + // let fileName = + // res.Result.split("/")[res.Result.split("/").length - 1]; + a.download = res.OtherInfo.fileName; a.href = href; a.click(); URL.revokeObjectURL(href); @@ -39,7 +40,7 @@ export const downloadImage = async (id, id2) => { return false; } } catch (err) { - flag[id2] = false; + flag[`${id2}_${IsDicom}`] = false; console.log(err); } }; @@ -101,11 +102,11 @@ const setfolder = async (item) => { }) .then((res) => { saveAs(res, zipName + ".zip"); // 使用FileSaver.saveAs保存文件,文件名可自定义 - flag[id2] = false; + flag[`${id2}_${IsDicom}`] = false; zipObj = null; }); }) - .catch((reason) => { flag[id2] = false; }); + .catch((reason) => { flag[`${id2}_${IsDicom}`] = false; }); }; const handleBatchDown = async (item, zip) => { return new Promise((resolve) => { diff --git a/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue b/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue index 3c6ac5dc..e08ec6e5 100644 --- a/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue +++ b/src/views/trials/trials-panel/visit/qc-check/components/qualityAssurance.vue @@ -43,6 +43,16 @@
+ + + {{ $t("trials:audit:button:downLoadAllDiocms") }} +
+ + + {{ $t("trials:audit:button:downLoadAllNonDiocms") }} + Date: Tue, 16 Jul 2024 09:58:26 +0800 Subject: [PATCH 04/16] =?UTF-8?q?bug=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/permission.js | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/permission.js b/src/permission.js index 19135136..7ec6cc21 100644 --- a/src/permission.js +++ b/src/permission.js @@ -14,11 +14,15 @@ NProgress.configure({ showSpinner: false }) const whiteList = ['/ReviewersResearch', '/login', '/error', '/resetpassword', '/recompose', '/email-recompose', '/trialStats', '/showdicom', '/imagesShare', '/audit', '/preview', '/researchLogin', '/blindResumeInfo', '/trialsResume', '/joinVerify', '/showNoneDicoms', '/noneDicomReading', '/clinicalData', '/readingDicoms', '/readingPage', '/visitDicomReview', '/visitNondicomReview', '/globalReview', '/adReview', '/oncologyReview', '/nonedicoms'] router.beforeEach(async (to, from, next) => { - if (to.query.trialId && to.query.trialId !== store.state.trials.config.trialId) { - let res = await getTrialExtralConfig({ TrialId: to.query.trialId }); - if (res.IsSuccess) { - store.dispatch('trials/setConfig', { trialId: to.query.trialId, ...res.Result }); + try { + if (to.query.trialId && to.query.trialId !== store.state.trials.config.trialId) { + let res = await getTrialExtralConfig({ TrialId: to.query.trialId }); + if (res.IsSuccess) { + store.dispatch('trials/setConfig', { trialId: to.query.trialId, ...res.Result }); + } } + } catch (err) { + alert(err) } NProgress.start() // 设置页面标题 From afb1d178533f6ca6ed131df44fdd28438c2001dc Mon Sep 17 00:00:00 2001 From: wangxiaoshuang <825034831@qq.com> Date: Tue, 16 Jul 2024 10:14:52 +0800 Subject: [PATCH 05/16] =?UTF-8?q?bug=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/permission.js | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/permission.js b/src/permission.js index 7ec6cc21..195ffad6 100644 --- a/src/permission.js +++ b/src/permission.js @@ -14,16 +14,16 @@ NProgress.configure({ showSpinner: false }) const whiteList = ['/ReviewersResearch', '/login', '/error', '/resetpassword', '/recompose', '/email-recompose', '/trialStats', '/showdicom', '/imagesShare', '/audit', '/preview', '/researchLogin', '/blindResumeInfo', '/trialsResume', '/joinVerify', '/showNoneDicoms', '/noneDicomReading', '/clinicalData', '/readingDicoms', '/readingPage', '/visitDicomReview', '/visitNondicomReview', '/globalReview', '/adReview', '/oncologyReview', '/nonedicoms'] router.beforeEach(async (to, from, next) => { - try { - if (to.query.trialId && to.query.trialId !== store.state.trials.config.trialId) { - let res = await getTrialExtralConfig({ TrialId: to.query.trialId }); - if (res.IsSuccess) { - store.dispatch('trials/setConfig', { trialId: to.query.trialId, ...res.Result }); - } - } - } catch (err) { - alert(err) - } + // try { + // if (to.query.trialId && to.query.trialId !== store.state.trials.config.trialId) { + // let res = await getTrialExtralConfig({ TrialId: to.query.trialId }); + // if (res.IsSuccess) { + // store.dispatch('trials/setConfig', { trialId: to.query.trialId, ...res.Result }); + // } + // } + // } catch (err) { + // alert(err) + // } NProgress.start() // 设置页面标题 // document.title = getPageTitle(to.meta.title) From 38ce7c1f56e449b26e9accc8836477de878b6176 Mon Sep 17 00:00:00 2001 From: wangxiaoshuang <825034831@qq.com> Date: Tue, 16 Jul 2024 10:25:44 +0800 Subject: [PATCH 06/16] =?UTF-8?q?bug=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/permission.js | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/permission.js b/src/permission.js index 195ffad6..41d0dd65 100644 --- a/src/permission.js +++ b/src/permission.js @@ -14,16 +14,6 @@ NProgress.configure({ showSpinner: false }) const whiteList = ['/ReviewersResearch', '/login', '/error', '/resetpassword', '/recompose', '/email-recompose', '/trialStats', '/showdicom', '/imagesShare', '/audit', '/preview', '/researchLogin', '/blindResumeInfo', '/trialsResume', '/joinVerify', '/showNoneDicoms', '/noneDicomReading', '/clinicalData', '/readingDicoms', '/readingPage', '/visitDicomReview', '/visitNondicomReview', '/globalReview', '/adReview', '/oncologyReview', '/nonedicoms'] router.beforeEach(async (to, from, next) => { - // try { - // if (to.query.trialId && to.query.trialId !== store.state.trials.config.trialId) { - // let res = await getTrialExtralConfig({ TrialId: to.query.trialId }); - // if (res.IsSuccess) { - // store.dispatch('trials/setConfig', { trialId: to.query.trialId, ...res.Result }); - // } - // } - // } catch (err) { - // alert(err) - // } NProgress.start() // 设置页面标题 // document.title = getPageTitle(to.meta.title) @@ -33,6 +23,12 @@ router.beforeEach(async (to, from, next) => { Vue.prototype.toPath = to.path Vue.prototype.$path = [] if (hasToken) { + if (to.query.trialId && to.query.trialId !== store.state.trials.config.trialId) { + let res = await getTrialExtralConfig({ TrialId: to.query.trialId }); + if (res.IsSuccess) { + store.dispatch('trials/setConfig', { trialId: to.query.trialId, ...res.Result }); + } + } if (to.path === '/login' || to.path === '/recompose' || to.path === '/email-recompose' || to.path === '/error' || to.path === '/ReviewersResearchForm' || to.path === '/ReviewersResearch') { if (to.path === '/ReviewersResearch') { await this.$store.dispatch('user/logout') From 3ada3585e505d8d6234cf5833dd8943a554426de Mon Sep 17 00:00:00 2001 From: caiyiling <1321909229@qq.com> Date: Tue, 16 Jul 2024 10:39:42 +0800 Subject: [PATCH 07/16] =?UTF-8?q?=E8=A3=81=E5=88=A4=E9=98=85=E7=89=87?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../trials-panel/reading/ad-review/index.vue | 24 +++++++------- .../reading/oncology-review/index.vue | 31 +++++++++++++++++++ 2 files changed, 43 insertions(+), 12 deletions(-) diff --git a/src/views/trials/trials-panel/reading/ad-review/index.vue b/src/views/trials/trials-panel/reading/ad-review/index.vue index 17af5722..ae540920 100644 --- a/src/views/trials/trials-panel/reading/ad-review/index.vue +++ b/src/views/trials/trials-panel/reading/ad-review/index.vue @@ -227,18 +227,7 @@
- - - -
- {{ $t('trials:adReview:title:loading') }}... -
-
-
+
@@ -314,6 +303,9 @@
+ + +