diff --git a/src/utils/file.js b/src/utils/file.js
new file mode 100644
index 0000000..60c4ac9
--- /dev/null
+++ b/src/utils/file.js
@@ -0,0 +1,33 @@
+import { Modal } from 'ant-design-vue'
+import { saveAs } from 'file-saver'
+
+/**
+ * 弹窗填入文件名保存文件
+ * @param {Blob} data 数据
+ * @param {string} ext 扩展名,不带.
+ */
+export const showSaveFileModal = (data, ext) => {
+ let fileName = ''
+ const handleClick = event => {
+ fileName = event.target.value
+ }
+
+ Modal.confirm({
+ title: 'Please enter file name',
+ content: h => ,
+ okText: 'Cancle',
+ cancelText: 'Save',
+ okButtonProps: { style: { backgroundColor: '#b98326', color: '#fff', borderColor: 'transparent' } },
+ cancelButtonProps: { style: { color: '#fff', backgroundColor: '#31aab0', borderColor: 'transparent' } },
+ onOk() {
+ console.log('Cancel')
+ },
+ onCancel() {
+ if (fileName) {
+ saveAs(data, `${fileName}.${ext}`)
+ } else {
+ throw new Error()
+ }
+ }
+ })
+}
diff --git a/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/components/NuclideReviewModal.vue b/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/components/NuclideReviewModal.vue
index c8b0d2e..43c7e6b 100644
--- a/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/components/NuclideReviewModal.vue
+++ b/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/components/NuclideReviewModal.vue
@@ -159,6 +159,9 @@ export default {
props: {
channel: {
type: Number
+ },
+ nuclide: {
+ type: String
}
},
data() {
@@ -265,13 +268,17 @@ export default {
}
this.handleResData(result)
+ this.isLoading = false
+
+ if (this.nuclide && this.nuclideList.length) {
+ this.currNuclide = this.nuclide
+ this.getInfoByNuclide()
+ }
} else {
this.$message.error(message)
}
} catch (error) {
console.error(error)
- } finally {
- this.isLoading = false
}
},
@@ -307,7 +314,6 @@ export default {
fileName: inputFileName
})
if (success) {
- console.log('%c [ ]-301', 'font-size:13px; background:pink; color:#bf2c9f;', result)
const { chart, halfLife, halfLifeErr, lines, name, table } = result
this.info = {
diff --git a/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/index.vue b/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/index.vue
index ff76c75..40e8b85 100644
--- a/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/index.vue
+++ b/src/views/spectrumAnalysis/components/Modals/AnalyzeInteractiveToolModal/index.vue
@@ -1317,6 +1317,7 @@ export default {
const [xPixel] = chart.convertToPixel('grid', [xAxis, yAxis])
// 保持x轴不变
this.position[0] = xPixel
+ this.redrawBaseLine()
},
ondragend: ({ offsetY }) => {
this.setGraphicDraggable(false)
@@ -1348,6 +1349,11 @@ export default {
}
},
+ // 重新生成基线
+ redrawBaseLine() {
+ console.log('%c [ 重新生成基线 ]-1355', 'font-size:13px; background:pink; color:#bf2c9f;', )
+ },
+
// 根据数据绘制 + 号
buildGraphicPlusByData() {
this.option.graphic[1].children.forEach(item => {
diff --git a/src/views/spectrumAnalysis/components/Modals/BetaGammaModals/AutomaticAnalysisLogModal.vue b/src/views/spectrumAnalysis/components/Modals/BetaGammaModals/AutomaticAnalysisLogModal.vue
index 5edfa76..ad8ea00 100644
--- a/src/views/spectrumAnalysis/components/Modals/BetaGammaModals/AutomaticAnalysisLogModal.vue
+++ b/src/views/spectrumAnalysis/components/Modals/BetaGammaModals/AutomaticAnalysisLogModal.vue
@@ -41,7 +41,11 @@ export default {
const res = await getAction(this.type == 1 ? '/gamma/viewAutomaticAnalysisLog' : '/gamma/viewAutomaticAnalysisLog', { // 自动分析日志接口暂用都是gammam,beta暂时没有
sampleId
})
- this.content = ""
+ if(typeof res == 'string') {
+ this.content = res
+ } else if(typeof res == 'object') {
+ this.$message.error(res.message)
+ }
} catch (error) {
console.error(error)
} finally {
diff --git a/src/views/spectrumAnalysis/components/Modals/ConfigUserLibraryModal.vue b/src/views/spectrumAnalysis/components/Modals/ConfigUserLibraryModal.vue
index e2ca10b..62c74fe 100644
--- a/src/views/spectrumAnalysis/components/Modals/ConfigUserLibraryModal.vue
+++ b/src/views/spectrumAnalysis/components/Modals/ConfigUserLibraryModal.vue
@@ -18,11 +18,11 @@
@@ -33,14 +33,17 @@
diff --git a/src/views/spectrumAnalysis/components/SubOperators/PopOverWithIcon.vue b/src/views/spectrumAnalysis/components/SubOperators/PopOverWithIcon.vue
index 7e52eb8..ace73aa 100644
--- a/src/views/spectrumAnalysis/components/SubOperators/PopOverWithIcon.vue
+++ b/src/views/spectrumAnalysis/components/SubOperators/PopOverWithIcon.vue
@@ -40,44 +40,3 @@ export default {
}
}
-
-
diff --git a/src/views/spectrumAnalysis/gamma-analysis.vue b/src/views/spectrumAnalysis/gamma-analysis.vue
index ada4804..47a3b89 100644
--- a/src/views/spectrumAnalysis/gamma-analysis.vue
+++ b/src/views/spectrumAnalysis/gamma-analysis.vue
@@ -20,10 +20,21 @@
@reset="handleReset"
/>
-
- Nuclide Library
-
-
+
+
+
Nuclide Library
+

+
+
+
+
+
+
@@ -69,6 +80,13 @@
+
+
@@ -78,13 +96,14 @@ import PopOverWithIcon from './components/SubOperators/PopOverWithIcon.vue'
import DetailedInfomation from './components/SubOperators/DetailedInfomation.vue'
import QcFlags from './components/SubOperators/QcFlags.vue'
import GraphAssistance from './components/SubOperators/GraphAssistance.vue'
-import NuclearLibrary from './components/SubOperators/NuclearLibrary.vue'
+import NuclideLibrary from './components/SubOperators/NuclideLibrary.vue'
import ButtonWithSwitchIcon from './components/SubOperators/ButtonWithSwitchIcon.vue'
import { getAction } from '@/api/manage'
import Response from './response.json'
import { buildLineSeries, findSeriesByName, getXAxisAndYAxisByPosition, rangeNumber } from '@/utils/chartHelper'
import { cloneDeep } from 'lodash'
import axios from 'axios'
+import NuclideReviewModal from './components/Modals/AnalyzeInteractiveToolModal/components/NuclideReviewModal.vue'
// 初始配置
const initialOption = {
@@ -246,12 +265,14 @@ export default {
DetailedInfomation,
QcFlags,
GraphAssistance,
- NuclearLibrary,
+ NuclideLibrary,
ButtonWithSwitchIcon,
+ NuclideReviewModal,
},
data() {
return {
isLoading: false,
+ isLoadingNuclide: false,
option: cloneDeep(initialOption),
opts: {
notMerge: false,
@@ -261,6 +282,7 @@ export default {
detailedInfomation: [],
qcFlags: [],
graphAssistance: cloneDeep(graphAssistance),
+ nuclideLibraryVisible: false,
channelPeakGroup: [],
energyPeakGroup: [],
@@ -273,6 +295,12 @@ export default {
top: 0,
left: 0,
},
+
+ nuclideReview: {
+ visible: false,
+ nuclide: '',
+ },
+ currChannel: -1,
}
},
created() {
@@ -609,10 +637,10 @@ export default {
this.thumbnailOption.series[0].symbol = 'none'
break
case 'Scatter':
- this.option.series[0].type = 'scatterGL'
+ this.option.series[0].type = 'scatter'
this.option.series[0].symbol = 'circle'
- this.thumbnailOption.series[0].type = 'scatterGL'
+ this.thumbnailOption.series[0].type = 'scatter'
this.thumbnailOption.series[0].symbol = 'circle'
break
}
@@ -643,6 +671,10 @@ export default {
}
},
+ handleChangeNuclideVisible() {
+ this.nuclideLibraryVisible = !this.nuclideLibraryVisible
+ },
+
// 根据seriesName重绘线
redrawLineBySeriesName(seriesName, energyData, channelData, isShow = true) {
const series = findSeriesByName(this.option.series, seriesName)
@@ -722,8 +754,10 @@ export default {
// 获取 Nuclide Library 数据
async getSelPosNuclide(channel) {
+ this.currChannel = channel
+
try {
- this.loading = true
+ this.isLoadingNuclide = true
const { sampleId, inputFileName: fileName } = this.sample
const { success, result, message } = await getAction('/gamma/getSelPosNuclide', {
@@ -732,8 +766,8 @@ export default {
fileName,
})
if (success) {
- const { identify } = result
- this.nuclideLibraryList = identify
+ const { possible } = result
+ this.nuclideLibraryList = possible
} else {
this.$message.error(message)
}
@@ -741,10 +775,17 @@ export default {
this.list = []
console.error(error)
} finally {
- this.loading = false
+ this.isLoadingNuclide = false
}
},
+ // Nuclide Library 单项双击
+ handleNuclideDblClick(nuclide) {
+ this.nuclideLibraryVisible = false
+ this.nuclideReview.nuclide = nuclide
+ this.nuclideReview.visible = true
+ },
+
resize() {
this.$refs.chartRef.resize()
this.$refs.thumbnailChartRef.resize()
@@ -821,19 +862,25 @@ export default {
const max = item.pointlist.find((point) => point.y == Math.max(...allY))
return max.x
})
+
+ let find = null
if (direction == 'right') {
// 找到第一个比prevAxis大的xAxis
- const find = maxXAxises.find((xAxis) => xAxis > prevAxis)
+ find = maxXAxises.find((xAxis) => xAxis > prevAxis)
if (find) {
this.option.series[0].markLine.data[0].xAxis = find
}
} else if (direction == 'left') {
// 找到第一个比prevAxis小的xAxis
- const find = maxXAxises.reverse().find((xAxis) => xAxis < prevAxis)
+ find = maxXAxises.reverse().find((xAxis) => xAxis < prevAxis)
if (find) {
this.option.series[0].markLine.data[0].xAxis = find
}
}
+
+ if (find) {
+ this.getSelPosNuclide(find)
+ }
},
// 鼠标按下时开启可刷选状态
diff --git a/src/views/spectrumAnalysis/index.vue b/src/views/spectrumAnalysis/index.vue
index 3119c73..6f2d87a 100644
--- a/src/views/spectrumAnalysis/index.vue
+++ b/src/views/spectrumAnalysis/index.vue
@@ -1183,6 +1183,43 @@ export default {
// 主体部分结束
}
+