fix: Load From DB 来源切换时执行一次查询,Beta 谱 -> Energy Calibration弹窗增加获取类型为man的谱时对某些数据的回显

This commit is contained in:
Xu Zhimeng 2024-02-18 12:01:04 +08:00
parent 7995f08ccb
commit 2b04b7d7ba
3 changed files with 155 additions and 69 deletions

View File

@ -128,9 +128,24 @@
<span>C to E : </span>
<span>
E =
<a-input-number size="small" v-model="newCalibrationFuncModel.paramA" @change="newCalibrationFuncModelChange"/> +
<a-input-number size="small" v-model="newCalibrationFuncModel.paramB" @change="newCalibrationFuncModelChange"/> *C +
<a-input-number size="small" v-model="newCalibrationFuncModel.paramC" @change="newCalibrationFuncModelChange" /> *C <sup>2</sup>
<a-input-number
size="small"
v-model="newCalibrationFuncModel.paramA"
@change="newCalibrationFuncModelChange"
/>
+
<a-input-number
size="small"
v-model="newCalibrationFuncModel.paramB"
@change="newCalibrationFuncModelChange"
/>
*C +
<a-input-number
size="small"
v-model="newCalibrationFuncModel.paramC"
@change="newCalibrationFuncModelChange"
/>
*C <sup>2</sup>
</span>
</p>
<div class="func">
@ -546,15 +561,15 @@ const newCalibrationFuncModel = {
export default {
mixins: [SampleDataMixin],
components: { CustomChart, TitleOverBorder },
props: {
props: {
isFirstFitting: {
type: Boolean,
required: false,
},
isBetaReset:{
isBetaReset: {
type: Boolean,
required: false,
}
},
},
data() {
this.columns = columns
@ -619,7 +634,7 @@ export default {
handler() {
// this.getData()
},
immediate: true
immediate: true,
},
},
methods: {
@ -636,11 +651,20 @@ export default {
sampleId,
qcFileName,
sampleFileName: inputFileName,
fittingBtn: this.isFirstFitting
fittingBtn: this.isFirstFitting,
})
if (res.success) {
const { CToE, EToC, betaEnergy, gammaEnergy, gammaGatedBetaSpectrum, histogramData, oldScatterSeries } =
res.result
const {
CToE,
EToC,
betaEnergy,
gammaEnergy,
gammaGatedBetaSpectrum,
histogramData,
oldScatterSeries,
newCToE,
newEToC,
} = res.result
this.c2e = CToE
this.e2c = EToC
@ -669,9 +693,27 @@ export default {
// reanalyzefittingReanalyze 20231101xiao
// todo fitting
if(this.getCache("CALIBRATION_BETA_"+this.newSampleData.inputFileName)) {
this.setFirringResult(this.getCache("CALIBRATION_BETA_"+this.newSampleData.inputFileName))
return false;
if (this.getCache('CALIBRATION_BETA_' + this.newSampleData.inputFileName)) {
this.setFirringResult(this.getCache('CALIBRATION_BETA_' + this.newSampleData.inputFileName))
return false
}
/**
* 对人工交互的返回数据单独处理
*/
if (this.sampleData.dbName == 'man') {
this.setFirringResult(res.result)
if (newCToE) {
const [paramA, paramB, paramC] = newCToE
this.newCalibrationFuncModel = {
paramA: Number(paramA).toPrecision(6),
paramB: Number(paramB).toPrecision(6),
paramC: Number(paramC).toPrecision(6),
}
}
if (newEToC) {
this.newE2C = newEToC
}
}
} else {
this.$message.error(res.message)
@ -723,7 +765,7 @@ export default {
chartHeight: this.gammaEnergy.length,
channelWidth: this.gammaChannelWidth,
qcFileName,
sampleFileName
sampleFileName,
},
cancelToken
)
@ -797,7 +839,7 @@ export default {
}
this.tooltipVisible = true
this.channelAndEnergyModel.channel = xAxis
if(!isNullOrUndefined(this.currEnergy)) {
if (!isNullOrUndefined(this.currEnergy)) {
this.channelAndEnergyModel.energy = add(661.657, -this.currEnergy)
}
}
@ -816,12 +858,12 @@ export default {
channel,
energy,
})
// add chart线 20231028Xiao
if(this.figureChartOption.series[1].data) {
if (this.figureChartOption.series[1].data) {
this.figureChartOption.series[1].data = []
}
this.figureChartOption.series[1].markPoint.data.push({ xAxis: channel, yAxis: energy })
const { min, max } = this.getFigureChartMaxAndMin()
@ -850,10 +892,10 @@ export default {
// table 20231028Xiao
this.list = []
// chart线 20231028Xiao
if(this.figureChartOption.series[1].data) {
if (this.figureChartOption.series[1].data) {
this.figureChartOption.series[1].data = []
}
if(this.figureChartOption.series[1].markPoint.data) {
if (this.figureChartOption.series[1].markPoint.data) {
this.figureChartOption.series[1].markPoint.data = []
}
},
@ -894,19 +936,22 @@ export default {
// Reset Button
async handleReset() {
this.$emit('isFitting', false)
this.removeCache("CALIBRATION_BETA_"+this.newSampleData.inputFileName) // fitting 20231101:xiao
this.removeCache('CALIBRATION_BETA_' + this.newSampleData.inputFileName) // fitting 20231101:xiao
this.newCalibrationFuncModel = cloneDeep(newCalibrationFuncModel)
this.list = []
this.newE2C = []
// reset 20231211xiao
const res = await postAction('/spectrumAnalysis/resetButton?tabName=beta&sampleFileName='+this.newSampleData.inputFileName, {})
const res = await postAction(
'/spectrumAnalysis/resetButton?tabName=beta&sampleFileName=' + this.newSampleData.inputFileName,
{}
)
this.figureChartOption = this.oldChartOption
this.figureChartOption = cloneDeep(this.oldChartOption)
// this.isFirstFitting = true
this.isInverse = false
},
@ -918,13 +963,14 @@ export default {
}
try {
const { success, result, message } = await postAction('/spectrumAnalysis/fitting', {
...this.list.length <= 0 ? this.newCalibrationFuncModel : [], // list C to E 20231101xiao
...(this.list.length <= 0 ? this.newCalibrationFuncModel : []), // list C to E 20231101xiao
sampleFileName: this.newSampleData.inputFileName,
tabName: "beta",
tabName: 'beta',
// 20231028Xiao
tempPoints: this.list.length > 0
? this.list.map((item) => ({ x: item.channel, y: item.energy }))
: this.oldScatterSeries,
tempPoints:
this.list.length > 0
? this.list.map((item) => ({ x: item.channel, y: item.energy }))
: this.oldScatterSeries,
// tempPoints: this.isFirstFitting
// ? this.oldScatterSeries
// : this.list.map((item) => ({ x: item.channel, y: item.energy })),
@ -934,10 +980,9 @@ export default {
this.betaIsFitting = true
this.$emit('isFitting', true) // reAnalyzeisFirstFittingtrue 20231101xiao
this.setCache("CALIBRATION_BETA_"+this.newSampleData.inputFileName, result) // ReAnalyze 20231101xiao
this.setCache('CALIBRATION_BETA_' + this.newSampleData.inputFileName, result) // ReAnalyze 20231101xiao
this.setFirringResult(result)
} else {
this.$message.error(message)
}
@ -947,7 +992,7 @@ export default {
},
// fittingReAnalyze 20231101xiao
setFirringResult(result){
setFirringResult(result) {
const { EToC, newLineSeries, newScatterSeriesData, tableWidgets, CToE } = result
this.newE2C = EToC
this.newLineSeries = newLineSeries
@ -1032,15 +1077,15 @@ export default {
}
return 0
},
getCache(name){
getCache(name) {
return this.$ls.get(name)
},
setCache(name, data){
setCache(name, data) {
this.$ls.set(name, data)
},
removeCache(name){
removeCache(name) {
this.$ls.remove(name) // fitting 20231101:xiao
}
},
},
computed: {
rectHeight() {

View File

@ -95,9 +95,24 @@
<span>C to E : </span>
<span>
E =
<a-input-number size="small" v-model="newCalibrationFuncModel.paramA" @change="newCalibrationFuncModelChange()"/> +
<a-input-number size="small" v-model="newCalibrationFuncModel.paramB" @change="newCalibrationFuncModelChange()"/> *C +
<a-input-number size="small" v-model="newCalibrationFuncModel.paramC" @change="newCalibrationFuncModelChange()"/> *C <sup>2</sup>
<a-input-number
size="small"
v-model="newCalibrationFuncModel.paramA"
@change="newCalibrationFuncModelChange()"
/>
+
<a-input-number
size="small"
v-model="newCalibrationFuncModel.paramB"
@change="newCalibrationFuncModelChange()"
/>
*C +
<a-input-number
size="small"
v-model="newCalibrationFuncModel.paramC"
@change="newCalibrationFuncModelChange()"
/>
*C <sup>2</sup>
</span>
</p>
<div class="func">
@ -494,11 +509,11 @@ export default {
sampleId,
qcFileName,
sampleFileName: inputFileName,
fittingBtn: this.isFirstFitting
fittingBtn: this.isFirstFitting,
})
if (res.success) {
const { CToE, EToC, gammaEnergy, gammaSpectrum, max, min, oldScatterSeries } = res.result
const { CToE, EToC, gammaEnergy, gammaSpectrum, max, min, oldScatterSeries, newCToE, newEToC } = res.result
this.c2e = CToE
this.e2c = EToC
@ -530,9 +545,27 @@ export default {
// reanalyzefittingReanalyze 20231101xiao
// todo fitting
if(this.getCache("CALIBRATION_GAMMA_"+this.newSampleData.inputFileName)) {
this.setFirringResult(this.getCache("CALIBRATION_GAMMA_"+this.newSampleData.inputFileName))
return false;
if (this.getCache('CALIBRATION_GAMMA_' + this.newSampleData.inputFileName)) {
this.setFirringResult(this.getCache('CALIBRATION_GAMMA_' + this.newSampleData.inputFileName))
return false
}
/**
* 对人工交互的返回数据单独处理
*/
if (this.sampleData.dbName == 'man') {
this.setFirringResult(res.result)
if (newCToE) {
const [paramA, paramB, paramC] = newCToE
this.newCalibrationFuncModel = {
paramA: Number(paramA).toPrecision(6),
paramB: Number(paramB).toPrecision(6),
paramC: Number(paramC).toPrecision(6),
}
}
if (newEToC) {
this.newE2C = newEToC
}
}
} else {
this.$message.error(res.message)
@ -588,7 +621,7 @@ export default {
})
// add chart线 20231028Xiao
if(this.figureChartOption.series[1].data) {
if (this.figureChartOption.series[1].data) {
this.figureChartOption.series[1].data = []
}
@ -615,14 +648,14 @@ export default {
this.isInverse = true
},
//
newCalibrationFuncModelChange(val,a) {
newCalibrationFuncModelChange(val, a) {
// table 20231028Xiao
this.list = []
// chart线 20231028Xiao
if(this.figureChartOption.series[1].data) {
if (this.figureChartOption.series[1].data) {
this.figureChartOption.series[1].data = []
}
if(this.figureChartOption.series[1].markPoint.data) {
if (this.figureChartOption.series[1].markPoint.data) {
this.figureChartOption.series[1].markPoint.data = []
}
},
@ -655,13 +688,16 @@ export default {
// Reset Button
async handleReset() {
this.$ls.remove("CALIBRATION_GAMMA_"+this.newSampleData.inputFileName) // fitting 20231101:xiao
this.$ls.remove('CALIBRATION_GAMMA_' + this.newSampleData.inputFileName) // fitting 20231101:xiao
this.newCalibrationFuncModel = cloneDeep(newCalibrationFuncModel)
this.list = []
this.newE2C = []
// reset 20231211xiao
const res = await postAction('/spectrumAnalysis/resetButton?tabName=gamma&sampleFileName='+ this.newSampleData.inputFileName, { })
const res = await postAction(
'/spectrumAnalysis/resetButton?tabName=gamma&sampleFileName=' + this.newSampleData.inputFileName,
{}
)
this.$emit('isFitting', false)
@ -680,32 +716,32 @@ export default {
}
try {
const { success, result, message } = await postAction('/spectrumAnalysis/fitting', {
...this.list.length <= 0 ? this.newCalibrationFuncModel : [], // list C to E 20231101xiao
...(this.list.length <= 0 ? this.newCalibrationFuncModel : []), // list C to E 20231101xiao
sampleFileName: this.newSampleData.inputFileName,
tabName: "gamma",
tabName: 'gamma',
// 20231028Xiao
tempPoints: this.list.length > 0
? this.list.map((item) => ({ x: item.channel, y: item.energy }))
: this.oldScatterSeries,
// tempPoints: this.isFirstFitting
// ? this.oldScatterSeries
// : this.list.map((item) => ({ x: item.channel, y: item.energy })),
tempPoints:
this.list.length > 0
? this.list.map((item) => ({ x: item.channel, y: item.energy }))
: this.oldScatterSeries,
// tempPoints: this.isFirstFitting
// ? this.oldScatterSeries
// : this.list.map((item) => ({ x: item.channel, y: item.energy })),
count: this.isFirstFitting || !this.isInverse ? undefined : this.count,
fittingBtn : this.isFirstFitting
fittingBtn: this.isFirstFitting,
})
if (success) {
this.gammaIsFitting = true
this.$emit('isFitting', true) // reAnalyzeisFirstFittingtrue 20231101xiao
this.setCache("CALIBRATION_GAMMA_"+this.newSampleData.inputFileName, result) // ReAnalyze 20231101xiao
this.setCache('CALIBRATION_GAMMA_' + this.newSampleData.inputFileName, result) // ReAnalyze 20231101xiao
this.setFirringResult(result)
// Beta
this.$bus.$emit('betaRefresh', {})
console.log("betaRefresh>>>");
console.log('betaRefresh>>>')
} else {
this.$message.error(message)
}
@ -715,7 +751,7 @@ export default {
},
// fittingReAnalyze 20231101xiao
setFirringResult(result){
setFirringResult(result) {
const { EToC, newLineSeries, newScatterSeriesData, tableWidgets, CToE } = result
this.newE2C = EToC
this.newLineSeries = newLineSeries
@ -797,15 +833,15 @@ export default {
}
return 0
},
getCache(name){
getCache(name) {
return this.$ls.get(name)
},
setCache(name, data){
setCache(name, data) {
this.$ls.set(name, data)
},
removeCache(name){
removeCache(name) {
this.$ls.remove(name) // fitting 20231101:xiao
}
},
},
}
</script>

View File

@ -23,7 +23,7 @@
<!-- 底部操作栏 -->
<template slot="custom-footer">
<a-space>
<a-radio-group v-model="queryParam.dbName">
<a-radio-group v-model="queryParam.dbName" @change="handleSourceChange">
<a-radio value="auto">From Auto DB</a-radio>
<a-radio value="man">From Interactive DB</a-radio>
</a-radio-group>
@ -162,7 +162,6 @@ export default {
},
methods: {
loadData(arg) {
debugger
// 1
if (arg === 1) {
this.ipagination.current = 1
@ -220,6 +219,12 @@ export default {
})
},
//
handleSourceChange() {
console.log('%c [ ]-226', 'font-size:13px; background:pink; color:#bf2c9f;', this.queryParam.dbName)
this.searchQuery()
},
show() {
this.visible = true
},