diff --git a/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/index.vue b/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/index.vue
index 17559f6..2a42fd6 100644
--- a/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/index.vue
+++ b/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/index.vue
@@ -104,7 +104,7 @@
Undo
Accept
@@ -474,6 +474,7 @@ export default {
isFitting: false, // 正在进行Fit操作
firstFittingChannel: null, // Fit操作时点击的第一个channel
isAccepting: false,
+ isReploting: false,
operationStack: [] // 操作记录
}
@@ -529,7 +530,6 @@ export default {
this.setChartOption(channelBaseLineChart, channelCountChart, channelPeakChart, channelBaseCPChart, barChart)
this.list = table
-
} else {
this.$message.error(message)
}
@@ -787,7 +787,13 @@ export default {
this.channelBaseLineChart = channelBaseLineChart
this.barChart = barChart
- this.setChartOption(channelBaseLineChart, this.channelCountChart, channelPeakChart, this.channelBaseCPChart, barChart)
+ this.setChartOption(
+ channelBaseLineChart,
+ this.channelCountChart,
+ channelPeakChart,
+ this.channelBaseCPChart,
+ barChart
+ )
this.list = table
},
@@ -796,7 +802,13 @@ export default {
const { channelPeakChart, table } = result
this.channelPeakChart = channelPeakChart
- this.setChartOption(this.channelBaseLineChart, this.channelCountChart, channelPeakChart, this.channelBaseCPChart, this.barChart)
+ this.setChartOption(
+ this.channelBaseLineChart,
+ this.channelCountChart,
+ channelPeakChart,
+ this.channelBaseCPChart,
+ this.barChart
+ )
this.list = table
},
@@ -1035,7 +1047,10 @@ export default {
else {
this.btnGroupType = 1
this.opts.notMerge = true
- this.option.series.splice(this.option.series.length - 1, 1) // 去掉白色的基线副本
+ const baseLineEditSeries = findSeriesByName(this.option.series, 'BaseLine_Edit')
+ const index = this.option.series.findIndex(item => item == baseLineEditSeries)
+ this.option.series.splice(index, 1)
+
this.clearRect()
const baseLineSeries = findSeriesByName(this.option.series, 'BaseLine')
@@ -1044,6 +1059,8 @@ export default {
const baseLineCP = findSeriesByName(this.option.series, 'BaseLine_Ctrl_Point')
baseLineCP.data = this.buildCPPointData(this.channelBaseCPChart)
+ this.redrawPeaks(this.channelPeakChart)
+
this.$nextTick(() => {
this.resetChartOpts()
})
@@ -1098,6 +1115,14 @@ export default {
}
},
+ // 重绘Peaks
+ redrawPeaks(peakList) {
+ this.option.series = this.option.series.filter((item) => {
+ return !item.name.includes('Peak_')
+ })
+ this.option.series.push(...this.buildPeaks(peakList))
+ },
+
/**
* 设置小方块可拖拽
*/
@@ -1231,26 +1256,53 @@ export default {
},
// 将原先的基线和控制点移动到新位置
- handleReplot() {
- const { xctrl, yctrl, yslope, baseline } = this.baseCtrls_Copy
- const baseLineSeries = findSeriesByName(this.option.series, 'BaseLine')
- baseLineSeries.data = baseline.map((val, index) => [index + 1, val])
+ async handleReplot() {
+ try {
+ const { inputFileName: fileName } = this.sampleData
+ this.isReploting = true
+ const { success, result, message } = await postAction('/gamma/replotBaseLine', {
+ ...this.baseCtrls_Copy,
+ fileName,
+ replotNeeded: true
+ })
+ if (success) {
+ const { chartData, peakSet, shapeData } = result
- const baseLineCP = findSeriesByName(this.option.series, 'BaseLine_Ctrl_Point')
- // 第一个控制点(因为第一个和最后一个不会被删除)
- const firstCP = this.channelBaseCPChart[0]
- const { color, size } = firstCP
- const baseCPPoints = xctrl.map((xAxis, index) => {
- return {
- size,
- color,
- point: {
- x: xAxis,
- y: yctrl[index]
- }
+ const { xctrl, yctrl, yslope, baseline } = this.baseCtrls_Copy
+ const baseLineSeries = findSeriesByName(this.option.series, 'BaseLine')
+ baseLineSeries.data = baseline.map((val, index) => [index + 1, val])
+
+ const baseLineCP = findSeriesByName(this.option.series, 'BaseLine_Ctrl_Point')
+ // 第一个控制点(因为第一个和最后一个不会被删除)
+ const firstCP = this.channelBaseCPChart[0]
+ const { color, size } = firstCP
+ const baseCPPoints = xctrl.map((xAxis, index) => {
+ return {
+ size,
+ color,
+ point: {
+ x: xAxis,
+ y: yctrl[index]
+ }
+ }
+ })
+ baseLineCP.data = this.buildCPPointData(baseCPPoints)
+
+ this.opts.notMerge = true
+ this.redrawPeaks(peakSet)
+ this.$nextTick(() => {
+ this.resetChartOpts()
+ })
+
+ this.BaseCtrls = cloneDeep(this.baseCtrls_Copy)
+ } else {
+ this.$message.error(message)
}
- })
- baseLineCP.data = this.buildCPPointData(baseCPPoints)
+ } catch (error) {
+ console.error(error)
+ } finally {
+ this.isReploting = false
+ }
},
/**
@@ -1272,8 +1324,8 @@ export default {
// 确定对Baseline Control Points 的操作
async handleAccept() {
- this.BaseCtrls = cloneDeep(this.baseCtrls_Copy)
- const { baseline, xctrl, yctrl } = this.BaseCtrls
+ // this.BaseCtrls = cloneDeep(this.baseCtrls_Copy)
+ // const { baseline, xctrl, yctrl } = this.BaseCtrls
// this.channelBaseLineChart.pointlist = baseline.map((val, index) => {
// return {
// x: index + 1,
@@ -1298,10 +1350,12 @@ export default {
try {
this.isAccepting = true
const { success, result, message } = await postAction('/gamma/acceptBaseLine', {
- ...this.BaseCtrls,
+ ...this.baseCtrls_Copy,
fileName
})
if (success) {
+ this.BaseCtrls = cloneDeep(this.baseCtrls_Copy)
+
const {
allData,
barChart,