From fdb7251b62c4a09c8e53e7d51cbf39b061c3c4fd Mon Sep 17 00:00:00 2001 From: wangxiaoshuang <825034831@qq.com> Date: Wed, 4 Mar 2026 11:23:15 +0800 Subject: [PATCH] =?UTF-8?q?v2.0.0=E5=8F=91=E5=B8=83=E9=81=97=E7=95=99?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/dictionary/template/browser/tip.vue | 6 ++-- .../reading/dicoms/components/DicomViewer.vue | 26 ++++++++++++++++ .../reading/dicoms3D/components/ReadPage.vue | 26 ++++++++++++++++ .../subject-list/components/SubjectChart.vue | 1 + .../trial-summary/report-forms/index.vue | 30 +++++++++++-------- 5 files changed, 74 insertions(+), 15 deletions(-) diff --git a/src/views/dictionary/template/browser/tip.vue b/src/views/dictionary/template/browser/tip.vue index 391ea8ec..3bd08331 100644 --- a/src/views/dictionary/template/browser/tip.vue +++ b/src/views/dictionary/template/browser/tip.vue @@ -37,7 +37,7 @@ export default { // console.log(type, No); if (type !== "Chrome" && type !== "Edge") { this.tip = this.$t("browser:tip:changeBorwser"); - this.getSystemInfo() + // this.getSystemInfo() return (this.visible = true); } let res = await this.getInfo(); @@ -53,10 +53,10 @@ export default { this.tip += "、"; } }); - this.getSystemInfo() + // this.getSystemInfo() return (this.visible = true); } - this.getSystemInfo() + // this.getSystemInfo() } catch (err) { console.log(err); } diff --git a/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue b/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue index 7c5148cd..d2bf4552 100644 --- a/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue +++ b/src/views/trials/trials-panel/reading/dicoms/components/DicomViewer.vue @@ -704,6 +704,7 @@ import { getAutoCutNextTask } from '@/api/user' import const_ from '@/const/sign-code' import { changeURLStatic } from '@/utils/history.js' import SystemInfo from "@/utils/systemInfo"; +import md5 from 'js-md5' export default { name: 'DicomViewer', components: { @@ -1138,6 +1139,7 @@ export default { let windowHeight = document.documentElement.clientHeight; this.AspectRatio = windowWidth / windowHeight }; + this.getSystemInfoReading() }, beforeDestroy() { DicomEvent.$off('updateImage') @@ -2501,6 +2503,30 @@ export default { }) }, + async getSystemInfoReading() { + return new Promise(async resolve => { + let whitelisting = localStorage.getItem('whitelisting') ? JSON.parse(localStorage.getItem('whitelisting')) : [] + let user = md5(sessionStorage.getItem('identityUserId')) + let r = whitelisting.some(item => item === user) + if (r) return resolve(true) + const systemInfo = new SystemInfo(); + const allInfo = systemInfo.getAllInfo(); + let deviceMemory = allInfo.hardware.deviceMemory; // 设备内存 + let { width, height } = allInfo.screen; // 分辨率 + // let discrete = allInfo.webgl.gpuType.discrete; // 是否独立显卡 + // let estimatedMemory = allInfo.webgl.memoryInfo.estimatedMemory; // 显卡内存 + // parseFloat(deviceMemory) < 16 || + if (width < 1920 || height < 1080) { + let res = await this.$confirm(this.$t('browser:tip:Configuration')) + whitelisting.push(user) + localStorage.setItem('whitelisting', JSON.stringify(whitelisting)) + resolve(res) + } else { + resolve(true) + } + }) + + }, } } diff --git a/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue b/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue index 9c0f7591..cb66523b 100644 --- a/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue +++ b/src/views/trials/trials-panel/reading/dicoms3D/components/ReadPage.vue @@ -500,6 +500,7 @@ import downloadDicomAndNonedicom from '@/components/downloadDicomAndNonedicom' import { getNetWorkSpeed, setNetWorkSpeedSizeAll, workSpeedclose } from "@/utils" import readingChart from '@/components/readingChart' import SystemInfo from "@/utils/systemInfo"; +import md5 from 'js-md5' const { visibility } = annotation const { ViewportType, Events } = Enums const renderingEngineId = 'myRenderingEngine' @@ -812,6 +813,7 @@ export default { this.open.postMessage({ type: 'addNoneDicomMeasureData', data: data }, window.location) }) document.addEventListener("click", this.foo); + this.getSystemInfoReading(); }, methods: { setMPRInfo(obj) { @@ -3567,6 +3569,30 @@ export default { }) }, + async getSystemInfoReading() { + return new Promise(async resolve => { + let whitelisting = localStorage.getItem('whitelisting') ? JSON.parse(localStorage.getItem('whitelisting')) : [] + let user = md5(sessionStorage.getItem('identityUserId')) + let r = whitelisting.some(item => item === user) + if (r) return resolve(true) + const systemInfo = new SystemInfo(); + const allInfo = systemInfo.getAllInfo(); + let deviceMemory = allInfo.hardware.deviceMemory; // 设备内存 + let { width, height } = allInfo.screen; // 分辨率 + // let discrete = allInfo.webgl.gpuType.discrete; // 是否独立显卡 + // let estimatedMemory = allInfo.webgl.memoryInfo.estimatedMemory; // 显卡内存 + // parseFloat(deviceMemory) < 16 || + if (width < 1920 || height < 1080) { + let res = await this.$confirm(this.$t('browser:tip:Configuration')) + whitelisting.push(user) + localStorage.setItem('whitelisting', JSON.stringify(whitelisting)) + resolve(res) + } else { + resolve(true) + } + }) + + }, }, beforeDestroy() { DicomEvent.$off('isCanActiveNoneDicomTool') diff --git a/src/views/trials/trials-panel/subject/subject-list/components/SubjectChart.vue b/src/views/trials/trials-panel/subject/subject-list/components/SubjectChart.vue index 1886d1b1..6c25eff7 100644 --- a/src/views/trials/trials-panel/subject/subject-list/components/SubjectChart.vue +++ b/src/views/trials/trials-panel/subject/subject-list/components/SubjectChart.vue @@ -92,6 +92,7 @@ export default { this.loading = true getTrialCriterionList(this.$route.query.trialId, false).then(res => { this.trialCriterionList = res.Result.filter(item => [1, 18, 2, 3, 7, 10, 17].includes(Number(item.CriterionType))) + this.loading = false if (this.trialCriterionList.length > 0) { this.TrialReadingCriterionId = this.trialCriterionList[0].TrialReadingCriterionId this.getList() diff --git a/src/views/trials/trials-panel/trial-summary/report-forms/index.vue b/src/views/trials/trials-panel/trial-summary/report-forms/index.vue index b9188783..925896f7 100644 --- a/src/views/trials/trials-panel/trial-summary/report-forms/index.vue +++ b/src/views/trials/trials-panel/trial-summary/report-forms/index.vue @@ -145,23 +145,29 @@ export default { titleText: this.$t("trials:reportForms:cjart:title:VisitFinishedStat"), seriesData: [], max: 0, - legendData: [ - this.$t("trials:reportForms:cjart:title:UploadedCount"), - this.$t("trials:reportForms:cjart:title:QCFinishedCount"), - this.$t("trials:reportForms:cjart:title:CheckFinishedCount"), - this.$t("trials:reportForms:cjart:title:ReadingFinishedCount") - ] + legendData: [] } res.Result.ReadingFinishedCount = res.Result.CriterionList[0].ReadingFinishedCount let keys = ['UploadedCount', 'QCFinishedCount', 'CheckFinishedCount', 'ReadingFinishedCount'] - obj.legendData.forEach((item, index) => { - let o = { - name: item, - value: res.Result[keys[index]] + keys.forEach((item, index) => { + if (res.Result[item] != null) { + let o = { + name: this.$t(`trials:reportForms:cjart:title:${item}`), + value: res.Result[item] + } + obj.legendData.push(o.name) + obj.seriesData.push(o) + arr.push(res.Result[item]) } - obj.seriesData.push(o) - arr.push(res.Result[keys[index]]) }) + // obj.legendData.forEach((item, index) => { + // let o = { + // name: item, + // value: res.Result[keys[index]] + // } + // obj.seriesData.push(o) + // arr.push(res.Result[keys[index]]) + // }) obj.max = Math.max(...arr) this.initChart_left(obj) }