diff --git a/src/utils/phdHelper.js b/src/utils/phdHelper.js index d44d9c9..3bd4949 100644 --- a/src/utils/phdHelper.js +++ b/src/utils/phdHelper.js @@ -80,9 +80,13 @@ export class PHDParser { // 如果解析的是sample 文件,则解析相关联的文件 if (this.isSample) { - const filePrefixes = this.getFilePrefixes(headerInfo[2]) - this.sampleFilePrefix = filePrefixes.splice(0, 1)[0] - this.otherFilePrefixes = filePrefixes + if (this.fileType == 'B') { + const filePrefixes = this.getFilePrefixes(headerInfo[2]) + this.sampleFilePrefix = filePrefixes.splice(0, 1)[0] + this.otherFilePrefixes = filePrefixes + } else { + this.sampleFilePrefix = this.getGammaFilePrefix(headerInfo[2]) + } } } @@ -166,7 +170,7 @@ export class PHDParser { } /** - * 获取全部文件名 + * 获取全部文件名前缀 * @param {string} text */ getFilePrefixes(text) { @@ -179,4 +183,15 @@ export class PHDParser { }) return filePrefixes } + + /** + * 获取gamma的文件名前缀 + * @param {string} text + */ + getGammaFilePrefix(text) { + const regExp = /[A-Z]{1,}\d{1,}_\d{1,}-\d{4}\/\d{2}\/\d{2}[-\s]\d{2}:\d{2}/ + const result = text.match(regExp) + const regExpDate = /(\d{4})\/(\d{2})\/(\d{2})[ -](\d{2}):(\d{2})/ + return result[0].replace(regExpDate, '$1$2$3_$4$5') + '_' + } } diff --git a/src/views/spectrumAnalysis/beta-gamma-analysis.vue b/src/views/spectrumAnalysis/beta-gamma-analysis.vue index 836c3c7..da5f89e 100644 --- a/src/views/spectrumAnalysis/beta-gamma-analysis.vue +++ b/src/views/spectrumAnalysis/beta-gamma-analysis.vue @@ -121,7 +121,7 @@ diff --git a/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/index.vue b/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/index.vue index a458076..e862a41 100644 --- a/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/index.vue +++ b/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/index.vue @@ -550,9 +550,7 @@ export default { this.option.series = series this.thumbnailOption.series = this.buildBarChart(bar) - const thumbnailYMax = this.getThumbnailYMax(0, bar.length) - this.thumbnailOption.yAxis.max = thumbnailYMax - this.thumbnailOption.yAxis.min = -thumbnailYMax + this.setThumbnailRange(1, bar.length) }, reset() { @@ -712,6 +710,8 @@ export default { let nextMin = xAxis - halfDiff chartXAxisOption.max = nextMax > lastChannel ? lastChannel : nextMax chartXAxisOption.min = nextMin < 1 ? 1 : nextMin + + this.setThumbnailRange(chartXAxisOption.min, chartXAxisOption.max) } }, @@ -799,6 +799,7 @@ export default { shapeChannelData, shapeEnergyData, peak: table, + barChart: this.barChart }) this.channelPeakChart = channelPeakChart @@ -888,6 +889,7 @@ export default { shapeChannelData, shapeEnergyData, peak: table, + barChart: this.barChart, }) this.channelPeakChart = channelPeakChart @@ -911,6 +913,8 @@ export default { this.resetChartOpts() this.selectedKeys = [] + + this.selectedTableItem = null } else { this.$message.error(message) } @@ -960,6 +964,8 @@ export default { let nextMin = channel - halfDiff chartXAxisOption.max = nextMax > lastChannel ? lastChannel : nextMax chartXAxisOption.min = nextMin < 1 ? 1 : nextMin + + this.setThumbnailRange(chartXAxisOption.min, chartXAxisOption.max) } this.getSelPosNuclide(row) @@ -1030,12 +1036,7 @@ export default { this.option.yAxis.min = y1 this.option.yAxis.max = y2 - const thumbnailYMax = this.getThumbnailYMax(x1 - 1, x2) - this.thumbnailOption.xAxis.min = x1 - this.thumbnailOption.xAxis.max = x2 - this.thumbnailOption.yAxis.max = thumbnailYMax - this.thumbnailOption.yAxis.min = -thumbnailYMax - + this.setThumbnailRange(x1, x2) if (this.btnGroupType == 2) { this.buildRect() } @@ -1044,12 +1045,17 @@ export default { }, // 查找barChart范围内的最大值 - getThumbnailYMax(minIndex, maxIndex) { - const slicedArr = this.barChart.slice(minIndex, maxIndex) + setThumbnailRange(x1, x2) { + const slicedArr = this.barChart.slice(x1 - 1, x2) const yData = slicedArr.map(({ y }) => y) const max = Math.max(...yData) const min = Math.min(...yData) - return Math.max(Math.abs(max), Math.abs(min)) + const thumbnailYMax = Math.max(Math.abs(max), Math.abs(min)) + + this.thumbnailOption.xAxis.min = x1 + this.thumbnailOption.xAxis.max = x2 + this.thumbnailOption.yAxis.max = thumbnailYMax + this.thumbnailOption.yAxis.min = -thumbnailYMax }, handleResetChart() { @@ -1058,11 +1064,7 @@ export default { this.option.yAxis.min = 0.1 this.option.yAxis.max = 'dataMax' - const thumbnailYMax = this.getThumbnailYMax(0, this.barChart.length) - this.thumbnailOption.xAxis.min = 1 - this.thumbnailOption.xAxis.max = 'dataMax' - this.thumbnailOption.yAxis.max = thumbnailYMax - this.thumbnailOption.yAxis.min = -thumbnailYMax + this.setThumbnailRange(1, this.barChart.length) if (this.btnGroupType == 2) { this.buildRect() diff --git a/src/views/spectrumAnalysis/components/Modals/LoadFromDBModal.vue b/src/views/spectrumAnalysis/components/Modals/LoadFromDBModal.vue index ae711a8..248e78d 100644 --- a/src/views/spectrumAnalysis/components/Modals/LoadFromDBModal.vue +++ b/src/views/spectrumAnalysis/components/Modals/LoadFromDBModal.vue @@ -114,7 +114,7 @@ export default { return { queryParam: { menuTypes: 'G,B', - sampleType: 'P', + sampleType: '', startDate: moment().add(-7, 'd').format('YYYY-MM-DD'), endDate: moment().format('YYYY-MM-DD'), dbName: 'auto', @@ -326,13 +326,19 @@ export default { ] if (event == 'B') { this.sampleTypeOption = arr_B - this.queryParam.sampleType = 'B' + this.$nextTick(() => { + this.queryParam.sampleType = 'B' + }) } else if (event == 'G') { this.sampleTypeOption = arr_G - this.queryParam.sampleType = 'P' + this.$nextTick(() => { + this.queryParam.sampleType = 'P' + }) } else { this.sampleTypeOption = arr_A - this.queryParam.sampleType = 'P' + this.$nextTick(() => { + this.queryParam.sampleType = '' + }) } this.getStationAndDetectorList(event) }, diff --git a/src/views/spectrumAnalysis/components/Modals/LoadFromFileModal.vue b/src/views/spectrumAnalysis/components/Modals/LoadFromFileModal.vue index 448f6f6..925d08d 100644 --- a/src/views/spectrumAnalysis/components/Modals/LoadFromFileModal.vue +++ b/src/views/spectrumAnalysis/components/Modals/LoadFromFileModal.vue @@ -133,7 +133,7 @@ Reset Load - Cancel + Cancel diff --git a/src/views/spectrumAnalysis/gamma-analysis.vue b/src/views/spectrumAnalysis/gamma-analysis.vue index bdada8b..e43ad7c 100644 --- a/src/views/spectrumAnalysis/gamma-analysis.vue +++ b/src/views/spectrumAnalysis/gamma-analysis.vue @@ -1368,9 +1368,13 @@ export default { // 从分析工具刷新部分数据 handleRefresh(data) { - data.DetailedInformation = this.detailedInfomation - data.QCFlag = this.qcFlags - data.BaseCtrls = this.baseCtrls + Object.assign(data, { + DetailedInformation: this.detailedInfomation, + QCFlag: this.qcFlags, + BaseCtrls: this.baseCtrls, + bAnalyed: this.bAnalyed + }) + this.clearCompareLine() this.redrawPeakLine() this.dataProcess(data) @@ -1378,7 +1382,7 @@ export default { // 分析工具Accept时刷新部分数据 handleAccept(data) { - const { allData, peakSet, shadowChannelChart, shadowEnergyChart, shapeChannelData, shapeEnergyData } = data + const { allData, peakSet, shadowChannelChart, shadowEnergyChart, shapeChannelData, shapeEnergyData, barChart } = data const result = { DetailedInformation: this.detailedInfomation, @@ -1386,11 +1390,12 @@ export default { allData, shadowChannelChart, shadowEnergyChart, - shapeChannelData, shapeEnergyData, peak: peakSet, BaseCtrls: this.baseCtrls, + bAnalyed: this.bAnalyed, + barChart } this.clearCompareLine() this.redrawPeakLine() diff --git a/src/views/spectrumAnalysis/index.vue b/src/views/spectrumAnalysis/index.vue index b8ab8c9..e9c7140 100644 --- a/src/views/spectrumAnalysis/index.vue +++ b/src/views/spectrumAnalysis/index.vue @@ -49,6 +49,8 @@ ref="betaGammaAnalysisRef" @getFiles="getFiles" @sendInfo="getStationName" + @reAnalyCurr="getReAnalyCurr" + @reAnalyAll="getReAnalyAll" :sample="sampleData" :analyseCurrentSpectrum="analyseCurrentSpectrumData" /> @@ -376,18 +378,19 @@ export default { resultDisplayFlag: [], params_toDB: { comment: '', + savedAnalysisResult: false, stationName: '', dbName: '', sampleFileName: '', gasFileName: '', detFileName: '', qcFileName: '', - bGammaEnergyValidSample: false, - bBetaEnergyValidSample: false, - bGammaEnergyValidGas: false, - bBetaEnergyValidGas: false, - bGammaEnergyValidDet: false, - bBetaEnergyValidDet: false, + // bGammaEnergyValidSample: false, + // bBetaEnergyValidSample: false, + // bGammaEnergyValidGas: false, + // bBetaEnergyValidGas: false, + // bGammaEnergyValidDet: false, + // bBetaEnergyValidDet: false, checkSample: false, checkGas: false, checkDet: false, @@ -425,6 +428,14 @@ export default { }, methods: { + getReAnalyCurr(flag, val) { + this.isReAnalyed_beta = flag + this.params_toDB.savedAnalysisResult = true + this.resultDisplayFlag = val + }, + getReAnalyAll(val) { + this.resultDisplayFlag = val + }, handleReAnalyed(val) { this.isReAnalyed_gamma = val }, @@ -498,6 +509,7 @@ export default { this.analysisType = ANALYZE_TYPE.GAMMA } this.sampleData = this.newSampleData = sample + this.params_toDB.savedAnalysisResult = sample.sampleId ? true : false this.params_toDB.comment = '' }, @@ -583,11 +595,8 @@ export default { * @param { 'all' | 'current' } type */ async handleSaveResultsToDB(type) { - if (this.isBetaGamma) { - if (type === 'current') { - this.handleSaveResultsToDB_Cuurrent() - } - } else if (this.isGamma) { + if (this.isReAnalyed_gamma) { + this.isSaving = true if (type == 'current') { const hideLoading = this.$message.loading('Saving...', 0) try { @@ -603,36 +612,46 @@ export default { console.error(error) } finally { hideLoading() + this.isSaving = false } } + } else { + this.$message.warn('Please Analyse Spectrum First') } }, handleSaveResultsToDB_Cuurrent() { // xeflag params_toDB - if (this.resultDisplayFlag.length > 0) { - this.resultDisplayFlag.forEach((item) => { - if (item.nuclideName === 'Xe131m') { - this.params_toDB.xe131mFlag = item.nidFlag - } else if (item.nuclideName === 'Xe133') { - this.params_toDB.xe133Flag = item.nidFlag - } else if (item.nuclideName === 'Xe133m') { - this.params_toDB.xe133mFlag = item.nidFlag - } else if (item.nuclideName === 'Xe135') { - this.params_toDB.xe135Flag = item.nidFlag - } - }) - this.params_toDB.sampleFileName = this.newSampleData.inputFileName - this.params_toDB.gasFileName = this.newSampleData.gasFileName - this.params_toDB.detFileName = this.newSampleData.detFileName - this.params_toDB.qcFileName = this.newSampleData.qcFileName - this.params_toDB.dbName = this.newSampleData.dbName - postAction('/spectrumAnalysis/saveToDB', this.params_toDB).then((res) => { - if (res.success) { - this.$message.success('Save Successfully!') - } else { - this.$message.warning('Fail To Save') - } - }) + if (this.params_toDB.savedAnalysisResult) { + if (this.resultDisplayFlag.length > 0) { + this.resultDisplayFlag.forEach((item) => { + if (item.nuclideName === 'Xe131m') { + this.params_toDB.xe131mFlag = item.nidFlag + } else if (item.nuclideName === 'Xe133') { + this.params_toDB.xe133Flag = item.nidFlag + } else if (item.nuclideName === 'Xe133m') { + this.params_toDB.xe133mFlag = item.nidFlag + } else if (item.nuclideName === 'Xe135') { + this.params_toDB.xe135Flag = item.nidFlag + } + }) + this.params_toDB.sampleFileName = this.newSampleData.inputFileName + this.params_toDB.gasFileName = this.newSampleData.gasFileName + this.params_toDB.detFileName = this.newSampleData.detFileName + this.params_toDB.qcFileName = this.newSampleData.qcFileName + this.params_toDB.dbName = this.newSampleData.dbName + this.isSaving = true + postAction('/spectrumAnalysis/saveToDB', this.params_toDB).then((res) => { + if (res.success) { + this.$message.success('Save Successfully!') + this.isSaving = false + } else { + this.isSaving = false + this.$message.warning(`${res.message}`) + } + }) + } + } else { + this.$message.warn('Please Analyse Spectrum First') } }, @@ -712,57 +731,6 @@ export default { handleReanalyse(...data) { this.$refs.betaGammaAnalysisRef.reanalyse(data) }, - // beta Analyze current spectrum 分析接口 - getAnalyzeCurrentSpectrum() { - let params = { - dbNames: [this.newSampleData.dbName], - sampleIds: [this.newSampleData.sampleId ? this.newSampleData.sampleId : ''], - sampleFileNames: [this.newSampleData.inputFileName], - gasFileNames: [this.newSampleData.gasFileName], - detFileNames: [this.newSampleData.detFileName], - qcFileNames: [this.newSampleData.qcFileName], - } - postAction('/spectrumAnalysis/analyseCurrentSpectrum', params).then((res) => { - if (res.success) { - this.isReAnalyed_beta = true - this.analyseCurrentSpectrumData = res.result - this.resultDisplayFlag = res.result.XeData - this.resultDisplayFlag.forEach((item) => { - item.conc = parseFloat(item.conc.toPrecision(6)) - item.concErr = parseFloat(item.concErr.toPrecision(6)) - item.lc = parseFloat(item.lc.toPrecision(6)) - item.mdc = parseFloat(item.mdc.toPrecision(6)) - }) - } else { - this.$message.warning(res.message) - } - }) - }, - getAnalyzeAllSpectrum() { - let params = { - dbNames: [this.newSampleData.dbName], - sampleIds: [this.newSampleData.sampleId ? this.newSampleData.sampleId : ''], - sampleFileNames: [this.newSampleData.inputFileName], - gasFileNames: [this.newSampleData.gasFileName], - detFileNames: [this.newSampleData.detFileName], - qcFileNames: [this.newSampleData.qcFileName], - currentFileName: this.newSampleData.inputFileName, - } - postAction('/spectrumAnalysis/analyseAllSpectrum', params).then((res) => { - if (res.success) { - this.analyseCurrentSpectrumData = res.result - this.resultDisplayFlag = res.result.XeData - this.resultDisplayFlag.forEach((item) => { - item.conc = parseFloat(item.conc.toPrecision(6)) - item.concErr = parseFloat(item.concErr.toPrecision(6)) - item.lc = parseFloat(item.lc.toPrecision(6)) - item.mdc = parseFloat(item.mdc.toPrecision(6)) - }) - } else { - this.$message.warning(res.message) - } - }) - }, handleEnergyCalib() { if (this.newSampleData.sampleId) { if (this.newSampleData.qcFileName) { @@ -897,6 +865,7 @@ export default { show: this.isBetaGamma, }, ], + key: 'resultsToFile', }, { title: 'Save Results to DB', @@ -904,6 +873,7 @@ export default { { title: 'Save Current', key: 'current', + show: this.isGamma, }, { title: 'Save All', @@ -932,10 +902,14 @@ export default { width: '170px', }, on: { - menuClick: () => { - if (this.isGamma) { + menuClick: (item) => { + if (this.isGamma && item.key == 'resultsToFile') { this.saveSettingModalVisible = true } + if (this.isBetaGamma && item.key == 'resultsToDB') { + // beta save to db + this.handleSaveResultsToDB_Cuurrent() + } }, submenuClick: ({ item, child }) => { if (item.key == 'resultsToDB') { @@ -1001,7 +975,8 @@ export default { title: 'Analyze current spectrum', show: this.isBetaGamma, handler: () => { - this.getAnalyzeCurrentSpectrum() + // this.getAnalyzeCurrentSpectrum() + this.$refs.betaGammaAnalysisRef.getAnalyzeCurrentSpectrum() }, }, { @@ -1009,7 +984,8 @@ export default { title: 'Analyze all spectra', show: this.isBetaGamma, handler: () => { - this.getAnalyzeAllSpectrum() + // this.getAnalyzeAllSpectrum() + this.$refs.betaGammaAnalysisRef.getAnalyzeAllSpectrum() }, }, ],