diff --git a/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/components/FitPeaksAndBaselineModal.vue b/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/components/FitPeaksAndBaselineModal.vue
index 73502a1..ca12c50 100644
--- a/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/components/FitPeaksAndBaselineModal.vue
+++ b/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/components/FitPeaksAndBaselineModal.vue
@@ -6,16 +6,29 @@
Fixed
-
+
-
+
Peaks
- Cancel
+ Cancel
@@ -25,6 +38,7 @@
import { getAction, postAction } from '@/api/manage'
import ModalMixin from '@/mixins/ModalMixin'
import SampleDataMixin from '@/views/spectrumAnalysis/SampleDataMixin'
+import { cloneDeep } from 'lodash'
const columns = [
{
@@ -116,8 +130,14 @@ const columns = [
export default {
mixins: [ModalMixin, SampleDataMixin],
props: {
- curChan: {
+ channel_1: {
type: Number
+ },
+ channel_2: {
+ type: Number
+ },
+ isInsertPeak: {
+ type: Boolean
}
},
data() {
@@ -129,18 +149,20 @@ export default {
}
},
methods: {
- // 接收
- async handlePeaks() {
+ async handlePeaks(accept) {
try {
this.isAcceptting = true
const { inputFileName: fileName } = this.sampleData
const { success, result, message } = await postAction('/gamma/acceptResults', {
fileName,
- accept: true
+ accept,
+ oldPeaks: this.oldPeaks,
+ newPeak: this.newPeaks,
+ flag: this.isInsertPeak ? 'insert' : 'fit'
})
if (success) {
this.visible = false
- this.$emit('result', result)
+ this.$emit(accept ? 'result' : 'cancel', result)
} else {
this.$message.error(message)
}
@@ -151,46 +173,51 @@ export default {
}
},
- // 取消
- async handleCancel() {
- try {
- this.isCanceling = true
- const { inputFileName: fileName } = this.sampleData
- const { success, result, message } = await postAction('/gamma/acceptResults', {
- fileName,
- accept: false,
- oldPeak: this.oldPeaks
- })
- if (success) {
- this.visible = false
- this.$emit('cancel', result)
- } else {
- this.$message.error(message)
+ // 值变化
+ handleInput(record, index) {
+ const find = this.newPeaks.find(item => item.index == record.lab)
+ if (find) {
+ const table2NewPeakMap = {
+ energy: 'energy',
+ netArea: 'area',
+ fwhm: 'fwhm'
}
- } catch (error) {
- console.error(error)
- } finally {
- this.isCanceling = false
+
+ find[table2NewPeakMap[index]] = record[index]
}
},
async getData() {
+ const { sampleId, inputFileName: fileName } = this.sampleData
try {
+ let url = '/gamma/fitPeak'
+ let params = {
+ left: this.channel_1,
+ right: this.channel_2,
+ fileName
+ }
+
+ // 如果是Insert Peak
+ if (this.isInsertPeak) {
+ url = '/gamma/insertPeak'
+ params = {
+ sampleId,
+ fileName,
+ curChan: Math.ceil(this.channel_1)
+ }
+ }
+
this.isLoading = true
- const { sampleId, inputFileName } = this.sampleData
- const { success, result, message } = await getAction('/gamma/insertPeak', {
- sampleId,
- fileName: inputFileName,
- curChan: Math.ceil(this.curChan)
- })
+ const { success, result, message } = await getAction(url, params)
if (success) {
- const { oldPeaks, tablePeaksList } = result
+ const { newPeaks, oldPeaks, tablePeaksList } = result
tablePeaksList.forEach(item => {
item.energy = Number(item.energy).toPrecision(6)
item.netArea = Number(item.netArea).toPrecision(6)
item.fwhm = Number(item.fwhm).toPrecision(6)
})
this.list = tablePeaksList
+ this.newPeaks = newPeaks
this.oldPeaks = oldPeaks
} else {
this.$message.error(message)
diff --git a/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/index.vue b/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/index.vue
index 3b1e0ac..944a233 100644
--- a/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/index.vue
+++ b/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/index.vue
@@ -181,7 +181,9 @@
@@ -461,6 +463,11 @@ export default {
model: cloneDeep(nuclideIdentifyModal),
currChannel: undefined, // 当currChannel前选中的channel
+
+ channel_1: undefined, // 用于Fit Peaks And Baseline Modal的道值
+ channel_2: undefined,
+ isInsertPeak: false, // 是否是插入Peak
+
selectedTableItem: undefined, // 当前选中的表格项
isModifying: false, // 正在修改控制点
@@ -636,6 +643,9 @@ export default {
return
}
+ this.channel_1 = left
+ this.channel_2 = right
+ this.isInsertPeak = false
this.fitPeaksAndBaselineModalVisible = true
this.isFitting = false
@@ -737,7 +747,10 @@ export default {
return
}
+ this.channel_1 = this.currChannel
+
this.fitPeaksAndBaselineModalVisible = true
+ this.isInsertPeak = true
},
// 点击 Fit Peak XXX 弹窗中的 Peaks 按钮
@@ -772,13 +785,13 @@ export default {
series.push(this.buildBaseLine(channelBaseLineChart))
// 推入旧的Count
- series.push(this.buildCountLine(channelCountChart))
+ series.push(this.buildCountLine(this.channelCountChart))
// 推入Peak
series.push(...this.buildPeaks(channelPeakChart))
// 推入旧的基线控制点
- series.push(this.buildCtrlPoint(channelBaseCPChart))
+ series.push(this.buildCtrlPoint(this.channelBaseCPChart))
this.thumbnailOption.series = this.buildBarChart(barChart)
@@ -1278,27 +1291,43 @@ export default {
},
// 确定对Baseline Control Points 的操作
- handleAccept() {
+ async handleAccept() {
this.BaseCtrls = cloneDeep(this.baseCtrls_Copy)
const { baseline, xctrl, yctrl } = this.BaseCtrls
- this.channelBaseLineChart.pointlist = baseline.map((val, index) => {
- return {
- x: index + 1,
- y: val
- }
- })
+ // this.channelBaseLineChart.pointlist = baseline.map((val, index) => {
+ // return {
+ // x: index + 1,
+ // y: val
+ // }
+ // })
- this.channelBaseCPChart = xctrl.map((val, index) => {
- return {
- color: this.channelBaseCPChart[0].color,
- name: index.toString(),
- point: {
- x: val,
- y: yctrl[index]
- },
- size: 4
+ // this.channelBaseCPChart = xctrl.map((val, index) => {
+ // return {
+ // color: this.channelBaseCPChart[0].color,
+ // name: index.toString(),
+ // point: {
+ // x: val,
+ // y: yctrl[index]
+ // },
+ // size: 4
+ // }
+ // })
+
+ const { inputFileName: fileName } = this.sampleData
+
+ try {
+ const { success, result, message } = await postAction('/gamma/acceptBaseLine', {
+ ...this.BaseCtrls,
+ fileName
+ })
+ if(success) {
+ console.log('%c [ ]-1312', 'font-size:13px; background:pink; color:#bf2c9f;', result)
+ } else {
+ this.$message.error(message)
}
- })
+ } catch (error) {
+ console.error(error)
+ }
this.handleSwitchOperation()