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 @@