From 666c332c567843228ab4cbda834ac518e8b7dba5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BB=BB=E7=8F=AE=E5=AE=87?= Date: Tue, 16 Jan 2024 18:02:42 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=BB=BA=E5=8F=B0=E7=AB=99=E9=A1=B5?= =?UTF-8?q?=E9=9D=A2=E6=95=A3=E7=82=B9=E5=9B=BE=E4=BC=98=E5=8C=96=20Energy?= =?UTF-8?q?=20=20Resolution=20=20Efficiency=20=20=E5=BC=B9=E7=AA=97?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=BC=80=E5=8F=91=EF=BC=8C=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=AF=B9=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/spectrumAnalysis/beta-analysis.vue | 40 +++---- .../components/BetaGammaSpectrum.vue | 100 ++++++++++-------- .../EfficiencyCalibrationModal-Beta.vue | 16 +-- .../Modals/EnergyCalibrationModal-Beta.vue | 14 +-- .../ResolutionCalibrationModal-Beta.vue | 14 +-- .../spectrumAnalysis/components/RoiLimits.vue | 19 +++- .../spectrumAnalysis/components/RoiParam.vue | 18 ++-- 7 files changed, 118 insertions(+), 103 deletions(-) diff --git a/src/views/spectrumAnalysis/beta-analysis.vue b/src/views/spectrumAnalysis/beta-analysis.vue index 1e1f23c..a5ecb49 100644 --- a/src/views/spectrumAnalysis/beta-analysis.vue +++ b/src/views/spectrumAnalysis/beta-analysis.vue @@ -35,6 +35,7 @@ :histogramDataList="histogramDataList" :boundary="boundaryList" :currIdx="currIdx" + @refreshRoi="refreshRoi" /> @@ -57,7 +58,7 @@
- +
@@ -125,16 +126,7 @@ export default { gammaEnergyData: [], betaEnergyData: [], ROILists: [], - roiParam: { - ROIOneStart: 0, - ROIOneStop: 0, - ROITwoStart: 0, - ROITwoStop: 0, - ROIThreeStart: 0, - ROIThreeStop: 0, - ROIFourStart: 0, - ROIFourStop: 0, - }, + roiParamList: [], boundaryList: [], sampleDetail: {}, qcFlags: {}, @@ -172,6 +164,14 @@ export default { // this.getSelfStationSampleDetail() }, methods: { + refreshRoi(data) { + const { list, start, stop } = data + let currRoiParam = { start, stop } + let currBoundary = { minX: start, maxX: stop, minY: 0, maxY: 4096 } + this.ROILists.splice(this.currIdx, 1, list) + this.roiParamList.splice(this.currIdx, 1, currRoiParam) + this.boundaryList.splice(this.currIdx, 1, currBoundary) + }, getIndex(val) { this.currIdx = val }, @@ -229,24 +229,16 @@ export default { this.gammaEnergyData = gammaEnergyData this.betaEnergyData = betaEnergyData this.ROILists = [ROIOneList, ROITwoList, ROIThreeList, ROIFourList] - this.roiParam.ROIOneStart = ROIOneStart - this.roiParam.ROIOneStop = ROIOneStop - this.roiParam.ROITwoStart = ROITwoStart - this.roiParam.ROITwoStop = ROITwoStop - this.roiParam.ROIThreeStart = ROIThreeStart - this.roiParam.ROIThreeStop = ROIThreeStop - this.roiParam.ROIFourStart = ROIFourStart - this.roiParam.ROIFourStop = ROIFourStop + let roiParam1 = { start: ROIOneStart, stop: ROIOneStop } + let roiParam2 = { start: ROITwoStart, stop: ROITwoStop } + let roiParam3 = { start: ROIThreeStart, stop: ROIThreeStop } + let roiParam4 = { start: ROIFourStart, stop: ROIFourStop } + this.roiParamList.push(roiParam1, roiParam2, roiParam3, roiParam4) let boundary1 = { minX: ROIOneStart, maxX: ROIOneStop, minY: 0, maxY: 4096 } let boundary2 = { minX: ROITwoStart, maxX: ROITwoStop, minY: 0, maxY: 4096 } let boundary3 = { minX: ROIThreeStart, maxX: ROIThreeStop, minY: 0, maxY: 4096 } let boundary4 = { minX: ROIFourStart, maxX: ROIFourStop, minY: 0, maxY: 4096 } this.boundaryList.push(boundary1, boundary2, boundary3, boundary4) - // this.$store.commit('ADD_SAMPLE_DATA', { - // inputFileName: this.sample.sampleFileName, - // data: result, - // from: 'file', - // }) this.isLoading = false } else { this.$message.error(message) diff --git a/src/views/spectrumAnalysis/components/BetaGammaSpectrum.vue b/src/views/spectrumAnalysis/components/BetaGammaSpectrum.vue index bd65884..6889e59 100644 --- a/src/views/spectrumAnalysis/components/BetaGammaSpectrum.vue +++ b/src/views/spectrumAnalysis/components/BetaGammaSpectrum.vue @@ -43,7 +43,7 @@ import CustomChart from '@/components/CustomChart/index.vue' import ColorPalette from './ColorPalette.vue' import { getXAxisAndYAxisByPosition, rangeNumber } from '@/utils/chartHelper.js' -import { getAction, postAction, deleteAction } from '../../../api/manage' +import { getAction, putAction, deleteAction } from '../../../api/manage' import SampleDataMixin from '../SampleDataMixin' const buttons = ['Beta-Gamma', 'Gamma', 'Beta'] // Beta-Gamma 的配置 @@ -169,8 +169,8 @@ const dragOption = { position: [], draggable: true, style: { - fill: 'rgba(255,0,255,0.3)', // fill: 'rgba(0,0,0,0.03)', 方便观察 - stroke: 'rgba(255,0,255,0.3)', // stroke: 'rgba(0,0,0,0.03)', 方便观察 + fill: 'rgba(0,0,0,0)', // fill: 'rgba(0,0,0,0.03)', 方便观察 + stroke: 'rgba(0,0,0,0)', // stroke: 'rgba(0,0,0,0.03)', 方便观察 lineWidth: 10, }, cursor: 'move', @@ -178,7 +178,6 @@ const dragOption = { }, { type: 'rect', - // rotation: Math.PI/2, z: 1000, shape: { width: 5, @@ -189,8 +188,8 @@ const dragOption = { position: [], draggable: true, style: { - fill: 'rgba(255,0,255,0.3)', // fill: 'rgba(0,0,0,0.03)', 方便观察 - stroke: 'rgba(255,0,255,0.3)', // stroke: 'rgba(0,0,0,0.03)', 方便观察 + fill: 'rgba(0,0,0,0)', // fill: 'rgba(0,0,0,0.03)', 方便观察 + stroke: 'rgba(0,0,0,0)', // stroke: 'rgba(0,0,0,0.03)', 方便观察 lineWidth: 10, }, cursor: 'move', @@ -252,7 +251,6 @@ const gammaOption = { }, }, series: { - name: '今日', type: 'line', smooth: true, showSymbol: false, @@ -324,7 +322,6 @@ const betaOption = { }, }, series: { - name: '今日', type: 'line', smooth: true, showSymbol: false, @@ -418,6 +415,8 @@ export default { boundaryData: { handler(newVal) { const { minX, maxX, minY, maxY, color } = newVal + this.startChannel = minX + this.endChannel = maxX const [graphic1, graphic2] = this.dragOption.graphic const _this = this this.myChart = this.$refs.chartTwoDRef.getChartInstance() @@ -429,15 +428,14 @@ export default { ] graphic1.ondrag = function () { const rectList = [] - this.startChannel = _this.myChart.convertFromPixel({ xAxisId: '2' }, this.position[0]) + _this.startChannel = parseInt(_this.myChart.convertFromPixel({ xAxisId: '2' }, this.position[0])) const rect = [ - [this.startChannel, minY], - [maxX, minY], - [maxX, maxY], - [this.startChannel, maxY], + [_this.startChannel, minY], + [_this.endChannel, minY], + [_this.endChannel, maxY], + [_this.startChannel, maxY], ] rectList.push(..._this.drawOneRect(rect, color)) - console.log(rectList) _this.myChart.setOption({ series: { markLine: { @@ -453,15 +451,14 @@ export default { ] graphic2.ondrag = function () { const rectList = [] - this.endChannel = _this.myChart.convertFromPixel({ xAxisId: '2' }, this.position[0]) + _this.endChannel = parseInt(_this.myChart.convertFromPixel({ xAxisId: '2' }, this.position[0])) const rect = [ - [minX, minY], - [this.endChannel, minY], - [this.endChannel, maxY], - [minX, maxY], + [_this.startChannel, minY], + [_this.endChannel, minY], + [_this.endChannel, maxY], + [_this.startChannel, maxY], ] rectList.push(..._this.drawOneRect(rect, color)) - console.log(rectList) _this.myChart.setOption({ series: { markLine: { @@ -494,27 +491,6 @@ export default { this.twoDOption.brush = { toolbox: [] } }, methods: { - // onLineDragging(position, data) { - // const { minX, maxX, minY, maxY, color } = data - // console.log(this) - // const rectList = [] - // let xAxis = this.myChart.convertFromPixel({ xAxisId: '2' }, position[0]) - // const rect = [ - // [xAxis, minY], - // [maxX, minY], - // [maxX, maxY], - // [xAxis, maxY], - // ] - // rectList.push(...this.drawOneRect(rect, color)) - // console.log(rectList) - // this.myChart.setOption({ - // series: { - // markLine: { - // data: rectList, - // }, - // }, - // }) - // }, // Gamma 的折线图数据 buildGammaLineList(val) { const gammaSeries = this.gammaOption.series @@ -576,7 +552,7 @@ export default { xAxis: { min: minX, max: maxX }, yAxis: { min: minY, max: maxY }, } = this.twoDOption - + debugger const inchartPoints = this.getInChartPoints(rect) const outchartPoints = rect.filter((pointItem) => !inchartPoints.includes(pointItem)) // 如果框选范围内只有俩点 @@ -738,6 +714,13 @@ export default { return xAxis >= minX && xAxis <= maxX && yAxis >= minY && yAxis <= maxY }) }, + /** + * 根据俩点判断是横向还是纵向 + * x坐标相同,则是纵向,否则横向 + */ + isVerticleLine(point1, point2) { + return point1[0] == point2[0] ? true : false + }, /** * 根据两个点生成一个markLine直线 */ @@ -844,10 +827,39 @@ export default { sampleFileName: inputFileName, startChannel: this.startChannel, endChannel: this.endChannel, - ROINum: this.currCount + 1, + ROINum: this.currIdx + 1, } try { - const { success, result, message } = await postAction('/selfStation/updateROI', params) + const { success, result, message } = await putAction( + `/selfStation/updateROI?sampleFileName=${inputFileName}&startChannel=${this.startChannel}&endChannel=${ + this.endChannel + }&ROINum=${this.currIdx + 1}` + ) + if (success) { + let obj = {} + for (const key in result) { + if (Object.hasOwnProperty.call(result, key)) { + const element = result[key] + if (key.includes('List')) { + obj.list = element + } else if (key.includes('Start')) { + obj.start = element + } else { + obj.stop = element + } + } + } + this.$emit('refreshRoi', obj) + // this.$bus.$emit('updateRoi', obj.list) + // this.boundaryData = { + // minX: obj.start, + // maxX: obj.stop, + // minY: 0, + // maxY: 4096, + // color: '#99CA53', + // } + // this.reDrawRect() + } } catch (error) { console.error(error) } diff --git a/src/views/spectrumAnalysis/components/Modals/EfficiencyCalibrationModal-Beta.vue b/src/views/spectrumAnalysis/components/Modals/EfficiencyCalibrationModal-Beta.vue index 643e3e8..2b887a8 100644 --- a/src/views/spectrumAnalysis/components/Modals/EfficiencyCalibrationModal-Beta.vue +++ b/src/views/spectrumAnalysis/components/Modals/EfficiencyCalibrationModal-Beta.vue @@ -479,16 +479,16 @@ export default { try { this.isLoading = true const { sampleId, inputFileName: fileName } = this.sampleData - const { success, result, message } = await postAction('/gamma/changeDataEfficiency', { - sampleId, + const { success, result, message } = await postAction('/selfStation/changeDataEfficiency', { + // sampleId, fileName, m_vCurEnergy: this.list.map((item) => item.energy), m_vCurEffi: this.list.map((item) => item.efficiency), m_vCurUncert: this.uncert, m_curParam: this.param, funcId: this.funcId, - width: 922, - curRow: this.selectedRowKeys[0] || 0, + width: 768, + // curRow: this.selectedRowKeys[0] || 0, }) if (success) { this.handleResult(result) @@ -506,7 +506,7 @@ export default { async handleSave() { try { this.isSaving = true - const res = await postAction('/gamma/saveDataEfficiency', { + const res = await postAction('/selfStation/saveDataEfficiency', { m_vCurEnergy: this.list.map((item) => item.energy), m_vCurEffi: this.list.map((item) => item.efficiency), m_vCurUncert: this.uncert, @@ -572,13 +572,13 @@ export default { } const { sampleId, inputFileName: fileName } = this.sampleData - const { success, result, message } = await postAction('/gamma/applyDataEfficiency', { + const { success, result, message } = await postAction('/selfStation/applyDataEfficiency', { m_vCurEnergy: this.list.map((item) => item.energy), m_vCurEffi: this.list.map((item) => item.efficiency), m_vCurUncert: this.uncert, m_curParam: this.param, curCalName, - sampleId, + sampleId: '', fileName, }) if (success) { @@ -603,7 +603,7 @@ export default { const { inputFileName: fileName } = this.sampleData const { success, message } = await putAction( - `/gamma/setCurrentEfficiency?fileName=${fileName}¤tName=${this.currSelectedDataSource}` + `/selfStation/setCurrentEfficiency?fileName=${fileName}¤tName=${this.currSelectedDataSource}` ) if (!success) { this.$message.error(message) diff --git a/src/views/spectrumAnalysis/components/Modals/EnergyCalibrationModal-Beta.vue b/src/views/spectrumAnalysis/components/Modals/EnergyCalibrationModal-Beta.vue index 1a457a9..84e927a 100644 --- a/src/views/spectrumAnalysis/components/Modals/EnergyCalibrationModal-Beta.vue +++ b/src/views/spectrumAnalysis/components/Modals/EnergyCalibrationModal-Beta.vue @@ -438,14 +438,14 @@ export default { try { this.isLoading = true const { sampleId, inputFileName: fileName } = this.sampleData - const { success, result, message } = await postAction('/gamma/changeDataEnergy', { - sampleId, + const { success, result, message } = await postAction('/selfStation/changeDataEnergy', { + sampleId: '', fileName, m_vCurCentroid: this.list.map((item) => item.channel), m_vCurEnergy: this.list.map((item) => item.energy), m_vCurUncert: this.uncert, m_curParam: this.param, - width: 922, + width: 768, }) if (success) { this.handleResult(result) @@ -463,7 +463,7 @@ export default { async handleSave() { try { this.isSaving = true - const res = await postAction('/gamma/saveDataEnergy', { + const res = await postAction('/selfStation/saveDataEnergy', { m_vCurCentroid: this.list.map((item) => item.channel), m_vCurEnergy: this.list.map((item) => item.energy), m_vCurUncert: this.uncert, @@ -528,13 +528,13 @@ export default { } const { sampleId, inputFileName: fileName } = this.sampleData - const { success, result, message } = await postAction('/gamma/applyDataEnergy', { + const { success, result, message } = await postAction('/selfStation/applyDataEnergy', { m_vCurCentroid: this.list.map((item) => item.channel), m_vCurEnergy: this.list.map((item) => item.energy), m_vCurUncert: this.uncert, m_curParam: this.param, curCalName, - sampleId, + sampleId: '', fileName, }) if (success) { @@ -559,7 +559,7 @@ export default { const { inputFileName: fileName } = this.sampleData const { success, message } = await putAction( - `/gamma/setCurrentEnergy?fileName=${fileName}¤tName=${this.currSelectedDataSource}` + `/selfStation/setCurrentEnergy?fileName=${fileName}¤tName=${this.currSelectedDataSource}` ) if (!success) { this.$message.error(message) diff --git a/src/views/spectrumAnalysis/components/Modals/ResolutionCalibrationModal-Beta.vue b/src/views/spectrumAnalysis/components/Modals/ResolutionCalibrationModal-Beta.vue index e2d0758..6a22970 100644 --- a/src/views/spectrumAnalysis/components/Modals/ResolutionCalibrationModal-Beta.vue +++ b/src/views/spectrumAnalysis/components/Modals/ResolutionCalibrationModal-Beta.vue @@ -436,14 +436,14 @@ export default { try { this.isLoading = true const { sampleId, inputFileName: fileName } = this.sampleData - const { success, result, message } = await postAction('/gamma/changeDataResolution', { - sampleId, + const { success, result, message } = await postAction('/selfStation/changeDataResolution', { + sampleId: '', fileName, m_vCurEnergy: this.list.map((item) => item.energy), m_vCurReso: this.list.map((item) => item.fwhm), m_vCurUncert: this.uncert, m_curParam: this.param, - width: 922, + width: 768, }) if (success) { this.handleResult(result) @@ -461,7 +461,7 @@ export default { async handleSave() { try { this.isSaving = true - const res = await postAction('/gamma/saveDataResolution', { + const res = await postAction('/selfStation/saveDataResolution', { m_vCurEnergy: this.list.map((item) => item.energy), m_vCurReso: this.list.map((item) => item.fwhm), m_vCurUncert: this.uncert, @@ -526,13 +526,13 @@ export default { } const { sampleId, inputFileName: fileName } = this.sampleData - const { success, result, message } = await postAction('/gamma/applyDataResolution', { + const { success, result, message } = await postAction('/selfStation/applyDataResolution', { m_vCurEnergy: this.list.map((item) => item.energy), m_vCurReso: this.list.map((item) => item.fwhm), m_vCurUncert: this.uncert, m_curParam: this.param, curCalName, - sampleId, + sampleId: '', fileName, }) if (success) { @@ -557,7 +557,7 @@ export default { const { inputFileName: fileName } = this.sampleData const { success, message } = await putAction( - `/gamma/setCurrentResolution?fileName=${fileName}¤tName=${this.currSelectedDataSource}` + `/selfStation/setCurrentResolution?fileName=${fileName}¤tName=${this.currSelectedDataSource}` ) if (!success) { this.$message.error(message) diff --git a/src/views/spectrumAnalysis/components/RoiLimits.vue b/src/views/spectrumAnalysis/components/RoiLimits.vue index b954558..44ffac9 100644 --- a/src/views/spectrumAnalysis/components/RoiLimits.vue +++ b/src/views/spectrumAnalysis/components/RoiLimits.vue @@ -103,6 +103,7 @@ export default { watch: { ROILists: { handler(newVal) { + this.active = 0 const [ROIOneList, ...lists] = newVal this.buildOneLineList(ROIOneList) }, @@ -116,17 +117,27 @@ export default { roiLimitsOption, } }, + mounted() { + // this.$bus.$on('updateRoi', this.updateRoi) + }, + destroyed() { + // this.$bus.$off('updateRoi', this.updateRoi) + }, methods: { + updateRoi(data) { + this.buildOneLineList(data) + this.active = 0 + }, buildOneLineList(val) { - const currSeries = this.roiLimitsOption.series - currSeries.data = val.map((item) => [item.x, item.y]) + if (val) { + const currSeries = this.roiLimitsOption.series + currSeries.data = val.map((item) => [item.x, item.y]) + } }, // 点击改变Beta-Gamma Spectrum: Sample图表类型 handleChange(index) { - console.log(index) this.active = index this.buildOneLineList(this.ROILists[index]) - // this.$bus.$emit('sendIndex', index) this.$emit('sendIndex', index) }, }, diff --git a/src/views/spectrumAnalysis/components/RoiParam.vue b/src/views/spectrumAnalysis/components/RoiParam.vue index bcee179..1e6ce35 100644 --- a/src/views/spectrumAnalysis/components/RoiParam.vue +++ b/src/views/spectrumAnalysis/components/RoiParam.vue @@ -1,14 +1,14 @@