From 1a139af4487d086f18249bb5f9fb62c0b1793597 Mon Sep 17 00:00:00 2001 From: wangxiaoshuang <825034831@qq.com> Date: Fri, 12 Jul 2024 10:21:03 +0800 Subject: [PATCH 01/12] =?UTF-8?q?=E7=BE=8E=E5=9B=BD=E7=8E=AF=E5=A2=83?= =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.usa | 10 +- .env.usa_prod | 46 ++ package.json | 1 + public/favicon.ico | Bin 7886 -> 21238 bytes src/assets/title-logo.png | Bin 24881 -> 40370 bytes src/icons/svg/login-bg.svg | 781 ++++++++++++++++++ src/icons/svg/login-logo.svg | 52 ++ src/utils/dcmUpload/anonymization.js | 2 + src/utils/dcmUpload/dcmUpload.js | 1 + src/utils/oss.js | 4 +- src/views/login/index.vue | 8 +- src/views/system/menu/index.vue | 570 +++++++++---- src/views/system/role/components/RoleForm.vue | 239 +++--- .../components/noticeMarquee.vue | 3 +- .../trials-layout/components/trialsNavbar.vue | 3 + .../SPMEnrollment/components/Approval.vue | 4 +- .../enrollment/components/Approval.vue | 4 +- .../enrollment/components/Confirmation.vue | 4 +- .../enrollment/components/Selection.vue | 4 +- .../enrollment/components/Submission.vue | 4 +- vue.config.js | 6 +- 21 files changed, 1453 insertions(+), 293 deletions(-) create mode 100644 .env.usa_prod create mode 100644 src/icons/svg/login-bg.svg create mode 100644 src/icons/svg/login-logo.svg diff --git a/.env.usa b/.env.usa index fb686483..55f99ac9 100644 --- a/.env.usa +++ b/.env.usa @@ -2,28 +2,28 @@ ENV = 'usa' NODE_ENV = 'usa' # base public path -VUE_APP_BASE_PATH = 'https://ei-code-prod.s3.amazonaws.com/2024-07-10/' +VUE_APP_BASE_PATH = 'https://ei-code-prod.s3.amazonaws.com/2024-07-11/' # 是否开启登陆限制 true:是 false:否 -VUE_APP_LOGIN_FOR_PERMISSION = false +VUE_APP_LOGIN_FOR_PERMISSION = true # 是否开启长时间无操作锁定弹框MFA验证 true:是 false:否 VUE_APP_LOCK_FOR_PERMISSION_MFA = true # 是否开启长时间无操作锁定弹框 true:是 false:否 -VUE_APP_LOCK_FOR_PERMISSION = false +VUE_APP_LOCK_FOR_PERMISSION = true # 无操作锁定弹框判断时间 单位:秒 VUE_APP_LOCK_FOR_TIME = 900 # 是否开启长时间无操作登出 true:是 false:否 -VUE_APP_LOGOUT_FOR_PERMISSION = false +VUE_APP_LOGOUT_FOR_PERMISSION = true # 无操作锁定弹框判断时间 单位:秒 VUE_APP_LOGOUT_FOR_TIME = 1800 # 是否开启密码正则验证 true:是 false:否 -VUE_APP_PASSWORD_FOR_PERMISSION = false +VUE_APP_PASSWORD_FOR_PERMISSION = true # 是否开启密码正则验证 true:是 false:否 VUE_APP_PASSWORD_FOR_REGULAR = ^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[-_.@^+\$!%#*?&\$~])[A-Za-z0-9-~_.@^+\$~!%#*?&]{8,32}$ diff --git a/.env.usa_prod b/.env.usa_prod new file mode 100644 index 00000000..5a6ac5da --- /dev/null +++ b/.env.usa_prod @@ -0,0 +1,46 @@ +# just a flag +ENV = 'usa' +NODE_ENV = 'usa' +# base public path +VUE_APP_BASE_PATH = 'https://ei-med-s3-code.s3.amazonaws.com/2024-07-11/' + +# 是否开启登陆限制 true:是 false:否 +VUE_APP_LOGIN_FOR_PERMISSION = true + +# 是否开启长时间无操作锁定弹框MFA验证 true:是 false:否 +VUE_APP_LOCK_FOR_PERMISSION_MFA = true + +# 是否开启长时间无操作锁定弹框 true:是 false:否 +VUE_APP_LOCK_FOR_PERMISSION = true + +# 无操作锁定弹框判断时间 单位:秒 +VUE_APP_LOCK_FOR_TIME = 900 + +# 是否开启长时间无操作登出 true:是 false:否 +VUE_APP_LOGOUT_FOR_PERMISSION = true + +# 无操作锁定弹框判断时间 单位:秒 +VUE_APP_LOGOUT_FOR_TIME = 1800 + +# 是否开启密码正则验证 true:是 false:否 +VUE_APP_PASSWORD_FOR_PERMISSION = true + +# 是否开启密码正则验证 true:是 false:否 +VUE_APP_PASSWORD_FOR_REGULAR = ^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[-_.@^+\$!%#*?&\$~])[A-Za-z0-9-~_.@^+\$~!%#*?&]{8,32}$ + +# 是否开启文档签署验证 true:是 false:否 +VUE_APP_WORD_FOR_PERMISSION = true + +# 公司名称 +VUE_APP_COMPANY_NAME = "Elevate Imaging" + +# dicom文件地址 +VUE_APP_DICOM_PATH = 'https://zyypacs-usa.oss-us-west-1.aliyuncs.com' + +VUE_APP_DICOM_USA_PATH = 'https://zyypacs-usa.oss-us-west-1.aliyuncs.com' + +VUE_APP_OSS_CONFIG_REGION = 'oss-us-west-1' + +VUE_APP_OSS_CONFIG_BUCKET = 'zyypacs-usa' + +VUE_APP_OSS_PATH = '/usa/dist' diff --git a/package.json b/package.json index 4ed17b88..f3578eb6 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ "build:prod": "vue-cli-service build --mode prod", "build:uat": "vue-cli-service build --mode uat", "build:usa": "vue-cli-service build --mode usa", + "build:usa_prod": "vue-cli-service build --mode usa_prod", "pre": "vue-cli-service build --mode pre", "i18n": "npm run i18n:zh && npm run i18n:en", "i18n:zh": "node i18nGenerate.js lang=zh keyCol=5 valCol=6", diff --git a/public/favicon.ico b/public/favicon.ico index 70e9d37fc718762afe01d026773da1f1d82a35a5..68177d686c6c92a375da87e3e045f414b8ea3816 100644 GIT binary patch literal 21238 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 literal 7886 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 e!K>-;3bYpA=WRFr`O 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/icons/svg/login-logo.svg b/src/icons/svg/login-logo.svg new file mode 100644 index 00000000..1778278a --- /dev/null +++ b/src/icons/svg/login-logo.svg @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/utils/dcmUpload/anonymization.js b/src/utils/dcmUpload/anonymization.js index e528b54f..5f70554e 100644 --- a/src/utils/dcmUpload/anonymization.js +++ b/src/utils/dcmUpload/anonymization.js @@ -61,12 +61,14 @@ export const anonymization = function (file, config) { const blob = new Blob([bufferArray], { type: 'application/octet-stream' }) resolve({ blob, pixelDataElement }) } catch (err) { + console.log(file, 'warning') console.log(err) resolve(false); } }; reader.readAsArrayBuffer(file); } catch (e) { + console.log(file, 'warning') console.log(e) reject(e) } diff --git a/src/utils/dcmUpload/dcmUpload.js b/src/utils/dcmUpload/dcmUpload.js index 5399e583..56ab4599 100644 --- a/src/utils/dcmUpload/dcmUpload.js +++ b/src/utils/dcmUpload/dcmUpload.js @@ -19,6 +19,7 @@ export const dcmUpload = async function (name, file, config) { } catch (e) { + console.log(file, 'warning') resolve(false) console.log(e) } diff --git a/src/utils/oss.js b/src/utils/oss.js index 14f8c100..742d587d 100644 --- a/src/utils/oss.js +++ b/src/utils/oss.js @@ -2,10 +2,8 @@ const OSS = require('ali-oss') const router = require('@/router'); const Minio = require('minio') const stream = require('stream') -console.log(Minio) import Vue from 'vue' -const { GenerateSTS, GetObjectStoreToken } = require('../api/user.js') -import { getToken } from '@/utils/auth' +const { GetObjectStoreToken } = require('../api/user.js') Vue.prototype.OSSclientConfig = { } diff --git a/src/views/login/index.vue b/src/views/login/index.vue index 095822bc..257ba98c 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -211,8 +211,6 @@ import TopLang from "./topLang"; // import NoticeMarquee from '../trials/trials-layout/components/noticeMarquee' import Vcode from "vue-puzzle-vcode"; import Img1 from "@/assets/pic-2.png"; -import loginBg from "@/assets/icons/svg/login-bg.svg"; -import loginLogo from "@/assets/icons/svg/login-logo.svg"; export default { name: "Login", components: { TopLang, Vcode }, @@ -256,8 +254,6 @@ export default { isShow: false, showCode: false, Img1, - loginBg, - loginLogo, }; }, computed: { @@ -407,7 +403,7 @@ export default { /* 修复input 背景不协调 和光标变色 */ $bg: #283443; -$light_gray: #0093dd; +$light_gray: #909399; $cursor: #fff; // @supports (-webkit-mask: none) and (not (cater-color: $cursor)) { @@ -537,7 +533,7 @@ $light_gray: #606266; .title-container { // margin-bottom: 50px; text-align: center; - margin-top: 18%; + margin-top: 20%; .title { font-size: 35px; color: $light_gray; diff --git a/src/views/system/menu/index.vue b/src/views/system/menu/index.vue index 2414a4de..ba07ac88 100644 --- a/src/views/system/menu/index.vue +++ b/src/views/system/menu/index.vue @@ -1,21 +1,38 @@ diff --git a/src/views/system/role/components/RoleForm.vue b/src/views/system/role/components/RoleForm.vue index 46aa2bc0..bd79682a 100644 --- a/src/views/system/role/components/RoleForm.vue +++ b/src/views/system/role/components/RoleForm.vue @@ -16,13 +16,17 @@ - + {{ item.label }} + >{{ item.label }} @@ -38,7 +42,11 @@ - + @@ -58,9 +66,23 @@ - 展开/折叠 - 全选/全不选 - 父子联动 + {{ $t("system:role:form:checkbox:menuExpand") }} + {{ $t("system:role:form:checkbox:menuNodeAll") }} + {{ + $t("system:role:form:checkbox:menuCheckStrictly") + }} diff --git a/src/views/trials/trials-layout/components/noticeMarquee.vue b/src/views/trials/trials-layout/components/noticeMarquee.vue index 5f9a94be..4b54f77b 100644 --- a/src/views/trials/trials-layout/components/noticeMarquee.vue +++ b/src/views/trials/trials-layout/components/noticeMarquee.vue @@ -1,6 +1,6 @@ @@ -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 06/12] =?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 07/12] =?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 08/12] =?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 09/12] =?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 10/12] =?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 @@
+ + +