From 0f0b3eac143a8653f3a28d9ddb30944e0a9f701c Mon Sep 17 00:00:00 2001 From: Xu Zhimeng Date: Thu, 26 Oct 2023 18:14:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=A2=9E=E5=8A=A0=E8=B0=B1=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E6=97=B6=E6=9C=AC=E5=9C=B0=E4=BF=9D=E5=AD=98=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=EF=BC=8C=E4=BF=AE=E5=A4=8Dextrapolation=20=E5=92=8C?= =?UTF-8?q?=20Spectrum=E4=B8=AD=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/store/modules/sample.js | 20 +++++--- .../spectrumAnalysis/beta-gamma-analysis.vue | 47 +++++++++++++++---- .../spectrumAnalysis/clearSampleCache.js | 2 + .../BetaGammaExtrapolationModal.vue | 2 +- .../BetaGammaSpectrumModal.vue | 38 ++++++++------- src/views/spectrumAnalysis/gamma-analysis.vue | 22 ++++++--- src/views/spectrumAnalysis/index.vue | 10 ++-- 7 files changed, 94 insertions(+), 47 deletions(-) diff --git a/src/store/modules/sample.js b/src/store/modules/sample.js index 0630a0c..273c4a0 100644 --- a/src/store/modules/sample.js +++ b/src/store/modules/sample.js @@ -1,6 +1,6 @@ const sample = { state: { - sampleList: [] + sampleList: [] // [{ inputFileName: String; data: Object; }] }, mutations: { SET_SAMPLE_LIST: (state, sampleList) => { @@ -8,12 +8,12 @@ const sample = { }, ADD_SAMPLE_DATA: (state, sampleData) => { - state.sampleList.push(sampleData) - }, - - GET_SAMPLE_DATA: (state, inputFileName) => { - const find = state.sampleList.find(item => item.inputFileName == inputFileName) - return find + const find = state.sampleList.find(item => item.inputFileName == sampleData.inputFileName) + if(find) { + find.data = sampleData.data + } else { + state.sampleList.push(sampleData) + } }, REMOVE_SAMPLE_DATA: (state, inputFileName) => { @@ -24,6 +24,12 @@ const sample = { CLEAR_SAMPLE_DATA: () => { state.sampleList = [] } + }, + actions: { + GET_SAMPLE_DATA: ({ state }, inputFileName) => { + const find = state.sampleList.find(item => item.inputFileName == inputFileName) + return find ? find : null + } } } diff --git a/src/views/spectrumAnalysis/beta-gamma-analysis.vue b/src/views/spectrumAnalysis/beta-gamma-analysis.vue index 1d6f7c0..d41b4cb 100644 --- a/src/views/spectrumAnalysis/beta-gamma-analysis.vue +++ b/src/views/spectrumAnalysis/beta-gamma-analysis.vue @@ -235,7 +235,7 @@ export default { async getSampleDetail() { this.spectraType = this.SampleType[0].value - const { dbName, sampleId } = this.sample + const { dbName, sampleId, inputFileName } = this.sample try { this.isLoading = true this.cancelLastRequest() @@ -251,11 +251,14 @@ export default { if (success) { this.sampleDetail = result this.changeChartByType('sample') - this.$emit('getFiles', { - detFileName: result.detBg.fileName, - gasFileName: result.gasBg.fileName, - qcFileName: (result.qc && result.qc.fileName) || '', + this.emitGetFiles(result) + + this.$store.commit('ADD_SAMPLE_DATA', { + inputFileName, + data: result, + from: 'db' }) + } else { this.$message.error(message) } @@ -265,6 +268,15 @@ export default { this.isLoading = false } }, + + emitGetFiles(result) { + this.$emit('getFiles', { + detFileName: result.detBg.fileName, + gasFileName: result.gasBg.fileName, + qcFileName: result.qc ? result.qc.fileName : '' + }) + }, + async getSampleDetail_file() { this.spectraType = this.SampleType[0].value let params = { @@ -285,6 +297,12 @@ export default { if (success) { this.sampleDetail = result this.changeChartByType('sample') + + this.$store.commit('ADD_SAMPLE_DATA', { + inputFileName, + data: result, + from: 'file' + }) this.isLoading = false } else { this.$message.error(message) @@ -435,12 +453,23 @@ export default { }, watch: { sample: { - handler(newVal, oldVal) { + async handler(newVal, oldVal) { this.resultDisplay = [] - if (newVal.sampleId) { - this.getSampleDetail() + const sampleData = await this.$store.dispatch('GET_SAMPLE_DATA', newVal.inputFileName) + if(sampleData) { + const { data, from } = sampleData + this.sampleDetail = data + this.changeChartByType('sample') + if(from == 'db') { + this.sampleDetail = data + this.emitGetFiles(data) + } } else { - this.getSampleDetail_file() + if (newVal.sampleId) { + this.getSampleDetail() + } else { + this.getSampleDetail_file() + } } }, immediate: true, diff --git a/src/views/spectrumAnalysis/clearSampleCache.js b/src/views/spectrumAnalysis/clearSampleCache.js index f5a8de3..743f7a8 100644 --- a/src/views/spectrumAnalysis/clearSampleCache.js +++ b/src/views/spectrumAnalysis/clearSampleCache.js @@ -1,4 +1,5 @@ import { deleteAction } from '@/api/manage' +import store from '@/store' /** * 发起请求清理后端对sample的缓存 * @param {Array} sampleList @@ -13,5 +14,6 @@ export const clearSampleCache = (sampleList) => { params = { sampleFileName , qcFileName } } deleteAction(url, params) + store.commit('REMOVE_SAMPLE_DATA', fileName) }) } \ No newline at end of file diff --git a/src/views/spectrumAnalysis/components/Modals/BetaGammaModals/BetaGammaExtrapolationModal.vue b/src/views/spectrumAnalysis/components/Modals/BetaGammaModals/BetaGammaExtrapolationModal.vue index 7140185..43e6886 100644 --- a/src/views/spectrumAnalysis/components/Modals/BetaGammaModals/BetaGammaExtrapolationModal.vue +++ b/src/views/spectrumAnalysis/components/Modals/BetaGammaModals/BetaGammaExtrapolationModal.vue @@ -706,7 +706,7 @@ export default { return } - const { sampleId, dbName, sampleFileName, detFileName } = this.sampleData + const { sampleId, dbName, inputFileName: sampleFileName, detFileName } = this.newSampleData try { const params = { sampleId, diff --git a/src/views/spectrumAnalysis/components/Modals/BetaGammaModals/BetaGammaSpectrumModal.vue b/src/views/spectrumAnalysis/components/Modals/BetaGammaModals/BetaGammaSpectrumModal.vue index e180f70..69eef1f 100644 --- a/src/views/spectrumAnalysis/components/Modals/BetaGammaModals/BetaGammaSpectrumModal.vue +++ b/src/views/spectrumAnalysis/components/Modals/BetaGammaModals/BetaGammaSpectrumModal.vue @@ -3,16 +3,16 @@ -
{{ content.sample.join('\n') }}
+
{{ content.sample && content.sample.join('\n') }}
-
{{ content.gasBg.join('\n') }}
+
{{ content.gasBg && content.gasBg.join('\n') }}
-
{{ content.detBg.join('\n') }}
+
{{ content.detBg && content.detBg.join('\n') }}
-
{{ content.qc.join('\n') }}
+
{{ content.qc && content.qc.join('\n') }}
@@ -28,13 +28,9 @@