feat: Replot功能对接

This commit is contained in:
Xu Zhimeng 2023-10-16 19:26:51 +08:00
parent 6a1fe4a7a0
commit 4edd3d250b

View File

@ -104,7 +104,7 @@
<a-button type="primary" :disabled="isOperationStackEmpty" @click="handleUndo">Undo</a-button>
</div>
<div class="peak-box-item">
<a-button type="primary" @click="handleReplot">Replot</a-button>
<a-button type="primary" :loading="isReploting" @click="handleReplot">Replot</a-button>
</div>
<div class="peak-box-item">
<a-button type="primary" :loading="isAccepting" @click="handleAccept">Accept</a-button>
@ -474,6 +474,7 @@ export default {
isFitting: false, // Fit
firstFittingChannel: null, // Fitchannel
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,