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

View File

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

View File

@ -23,7 +23,7 @@
<!-- 底部操作栏 --> <!-- 底部操作栏 -->
<template slot="custom-footer"> <template slot="custom-footer">
<a-space> <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="auto">From Auto DB</a-radio>
<a-radio value="man">From Interactive DB</a-radio> <a-radio value="man">From Interactive DB</a-radio>
</a-radio-group> </a-radio-group>
@ -162,7 +162,6 @@ export default {
}, },
methods: { methods: {
loadData(arg) { loadData(arg) {
debugger
// 1 // 1
if (arg === 1) { if (arg === 1) {
this.ipagination.current = 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() { show() {
this.visible = true this.visible = true
}, },