fix: 移动控制点功能,接口增加fileName字段,Zero Time根据新接口修改逻辑,对接Fit Peaks弹窗接口,Nuclide Review增加搜索功能,
This commit is contained in:
parent
2ae1b5a423
commit
116baccd0f
|
@ -1,11 +1,12 @@
|
|||
<template>
|
||||
<custom-modal centered v-model="visible" :width="1200" title="Fit Peaks and Baseline">
|
||||
<a-spin :spinning="isLoading">
|
||||
<custom-table :columns="columns" :list="list">
|
||||
<template v-for="(slot, index) in slots" :slot="slot.slotName" slot-scope="{ record }">
|
||||
<a-checkbox v-if="slot.isCheckbox" :key="index" v-model="record[slot.dataIndex]">
|
||||
Fixed
|
||||
</a-checkbox>
|
||||
<a-input v-else :key="index" v-model="record[slot.dataIndex]"></a-input>
|
||||
<a-input v-else :key="index" v-model="record[slot.dataIndex]" :readOnly="slot.isStatic"></a-input>
|
||||
</template>
|
||||
</custom-table>
|
||||
<div slot="custom-footer">
|
||||
|
@ -14,26 +15,33 @@
|
|||
<a-button @click="visible = false">Cancel</a-button>
|
||||
</a-space>
|
||||
</div>
|
||||
</a-spin>
|
||||
</custom-modal>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getAction } from '@/api/manage'
|
||||
import ModalMixin from '@/mixins/ModalMixin'
|
||||
import SampleDataMixin from '@/views/spectrumAnalysis/SampleDataMixin'
|
||||
|
||||
const columns = [
|
||||
{
|
||||
title: 'Peak',
|
||||
dataIndex: 'peak',
|
||||
dataIndex: 'lab',
|
||||
width: 100,
|
||||
scopedSlots: {
|
||||
customRender: 'Peak'
|
||||
}
|
||||
customRender: 'lab'
|
||||
},
|
||||
isStatic: true
|
||||
},
|
||||
{
|
||||
title: 'Nuclide',
|
||||
dataIndex: 'nuclide',
|
||||
width: 100,
|
||||
scopedSlots: {
|
||||
customRender: 'Nuclide'
|
||||
}
|
||||
customRender: 'nuclide'
|
||||
},
|
||||
isStatic: true
|
||||
},
|
||||
{
|
||||
title: 'Energy',
|
||||
|
@ -45,23 +53,23 @@ const columns = [
|
|||
},
|
||||
{
|
||||
title: 'NetArea',
|
||||
dataIndex: 'netAreaInput',
|
||||
dataIndex: 'netArea',
|
||||
width: 100,
|
||||
scopedSlots: {
|
||||
customRender: 'NetAreaInput'
|
||||
customRender: 'netArea'
|
||||
}
|
||||
},
|
||||
{
|
||||
title: 'FWHM',
|
||||
dataIndex: 'fwhmInput',
|
||||
dataIndex: 'fwhm',
|
||||
width: 100,
|
||||
scopedSlots: {
|
||||
customRender: 'FWHMInput'
|
||||
customRender: 'fwhm'
|
||||
}
|
||||
},
|
||||
{
|
||||
title: 'Step',
|
||||
dataIndex: 'Step',
|
||||
dataIndex: 'step',
|
||||
width: 100,
|
||||
scopedSlots: {
|
||||
customRender: 'Step'
|
||||
|
@ -77,10 +85,10 @@ const columns = [
|
|||
},
|
||||
{
|
||||
title: 'NetArea',
|
||||
dataIndex: 'netAreaCheckbox',
|
||||
dataIndex: 'netAreaB',
|
||||
width: 100,
|
||||
scopedSlots: {
|
||||
customRender: 'NetAreaCheckbox'
|
||||
customRender: 'netAreaB'
|
||||
},
|
||||
isCheckbox: true
|
||||
},
|
||||
|
@ -95,18 +103,19 @@ const columns = [
|
|||
},
|
||||
{
|
||||
title: 'FWHM',
|
||||
dataIndex: 'fwhmCheckbox',
|
||||
dataIndex: 'fwhmB',
|
||||
width: 100,
|
||||
scopedSlots: {
|
||||
customRender: 'FWHMCheckbox'
|
||||
customRender: 'fwhmB'
|
||||
},
|
||||
isCheckbox: true
|
||||
}
|
||||
]
|
||||
export default {
|
||||
mixins: [ModalMixin, SampleDataMixin],
|
||||
props: {
|
||||
value: {
|
||||
type: Boolean
|
||||
curChan: {
|
||||
type: Number
|
||||
}
|
||||
},
|
||||
data() {
|
||||
|
@ -117,26 +126,45 @@ export default {
|
|||
},
|
||||
methods: {
|
||||
handlePeaks() {
|
||||
console.log('%c [ ]-134', 'font-size:13px; background:pink; color:#bf2c9f;', this.list)
|
||||
this.visible = false
|
||||
},
|
||||
|
||||
async getData() {
|
||||
try {
|
||||
this.isLoading = true
|
||||
const { sampleId, inputFileName } = this.sampleData
|
||||
const { success, result, message } = await getAction('/gamma/insertPeak', {
|
||||
sampleId,
|
||||
fileName: inputFileName,
|
||||
curChan: Math.ceil(this.curChan)
|
||||
})
|
||||
if(success) {
|
||||
result.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 = result
|
||||
} else {
|
||||
this.$message.error(message)
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
} finally {
|
||||
this.isLoading = false
|
||||
}
|
||||
},
|
||||
|
||||
beforeModalOpen() {
|
||||
this.getData()
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
visible: {
|
||||
get() {
|
||||
if (this.value) {
|
||||
this.content = ''
|
||||
}
|
||||
return this.value
|
||||
},
|
||||
set(val) {
|
||||
this.$emit('input', val)
|
||||
}
|
||||
},
|
||||
slots() {
|
||||
return columns.map(column => {
|
||||
return {
|
||||
isCheckbox: column.isCheckbox,
|
||||
isStatic: column.isStatic,
|
||||
dataIndex: column.dataIndex,
|
||||
slotName: column.scopedSlots.customRender
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
<a-form-model-item label="Tolerance">
|
||||
<a-input-number v-model="model.tolerance"></a-input-number>
|
||||
</a-form-model-item>
|
||||
<a-button type="primary">Search</a-button>
|
||||
<a-button type="primary" @click="handleSearch">Search</a-button>
|
||||
</a-form-model>
|
||||
<span @click="handleNuclideChange('next')">></span>
|
||||
</div>
|
||||
|
@ -252,20 +252,33 @@ export default {
|
|||
async getInfo() {
|
||||
try {
|
||||
this.isLoading = true
|
||||
const { sampleId, inputFileName } = this.sampleData
|
||||
const { sampleId, inputFileName: fileName } = this.sampleData
|
||||
const { success, result, message } = await getAction('/gamma/nuclideReview', {
|
||||
sampleId: sampleId,
|
||||
channel: this.channel,
|
||||
fileName: inputFileName
|
||||
fileName
|
||||
})
|
||||
if (success) {
|
||||
const { chart, energy, halfLife, halfLifeErr, lines, list, name, table } = result
|
||||
|
||||
this.model = {
|
||||
energy,
|
||||
energy: result.energy,
|
||||
tolerance: 0.5
|
||||
}
|
||||
|
||||
this.handleResData(result)
|
||||
} else {
|
||||
this.$message.error(message)
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
} finally {
|
||||
this.isLoading = false
|
||||
}
|
||||
},
|
||||
|
||||
// 处理返回的数据
|
||||
handleResData(result) {
|
||||
const { chart, halfLife, halfLifeErr, lines, list, name, table } = result
|
||||
|
||||
this.info = {
|
||||
halfLife,
|
||||
halfLifeErr,
|
||||
|
@ -281,14 +294,6 @@ export default {
|
|||
|
||||
this.currNuclide = this.nuclideList[0]
|
||||
this.selectTableRow(table.length > 1 ? 1 : 0)
|
||||
} else {
|
||||
this.$message.error(message)
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
} finally {
|
||||
this.isLoading = false
|
||||
}
|
||||
},
|
||||
|
||||
// 点击左侧Nuclide切换
|
||||
|
@ -329,6 +334,28 @@ export default {
|
|||
|
||||
beforeModalOpen() {
|
||||
this.getInfo()
|
||||
},
|
||||
|
||||
// 搜索
|
||||
async handleSearch() {
|
||||
try {
|
||||
this.isLoading = true
|
||||
const { sampleId, inputFileName: fileName } = this.sampleData
|
||||
const { success, result, message } = await getAction('/gamma/searchNuclide', {
|
||||
sampleId,
|
||||
fileName,
|
||||
...this.model
|
||||
})
|
||||
if (success) {
|
||||
this.handleResData(result)
|
||||
} else {
|
||||
this.$message.error(message)
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
} finally {
|
||||
this.isLoading = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -70,10 +70,10 @@
|
|||
<a-button type="primary" @click="handleAddCP">(A)dd CP</a-button>
|
||||
</div>
|
||||
<div class="peak-box-item">
|
||||
<a-button type="primary">(R)emove CP</a-button>
|
||||
<a-button type="primary" @click="handleRemoveCP">(R)emove CP</a-button>
|
||||
</div>
|
||||
<div class="peak-box-item">
|
||||
<a-button type="primary">(M)odify CP</a-button>
|
||||
<a-button type="primary" @click="handleModifyCP">(M)odify CP</a-button>
|
||||
</div>
|
||||
<div class="peak-box-item">
|
||||
<a-button type="primary">Edit (S)lope</a-button>
|
||||
|
@ -154,7 +154,7 @@
|
|||
<comment-modal v-model="commentModalVisible" :type="commentType" />
|
||||
<!-- Comment弹窗 结束 -->
|
||||
<!-- Fit Peaks and Baseline弹窗 开始 -->
|
||||
<fit-peaks-and-base-line-modal v-model="fitPeaksAndBaselineModalVisible" />
|
||||
<fit-peaks-and-base-line-modal v-model="fitPeaksAndBaselineModalVisible" :curChan="currChannel" />
|
||||
<!-- Fit Peaks and Baseline弹窗 结束 -->
|
||||
<!-- Nuclide Review 弹窗开始 -->
|
||||
<nuclide-review-modal v-model="nuclideReviewModalVisible" :sampleId="sampleId" :channel="currChannel" />
|
||||
|
@ -232,6 +232,7 @@ const initialOption = {
|
|||
animation: false
|
||||
},
|
||||
yAxis: {
|
||||
type: 'log',
|
||||
name: 'Counts',
|
||||
nameLocation: 'center',
|
||||
nameGap: 40,
|
||||
|
@ -256,12 +257,13 @@ const initialOption = {
|
|||
color: '#ade6ee'
|
||||
}
|
||||
},
|
||||
min: 'dataMin',
|
||||
min: 0.1,
|
||||
max: 'dataMax',
|
||||
animation: false
|
||||
},
|
||||
series: [],
|
||||
brush: {}
|
||||
brush: {},
|
||||
graphic: []
|
||||
}
|
||||
|
||||
const columns = [
|
||||
|
@ -414,6 +416,7 @@ export default {
|
|||
console.log('%c [ ]-374', 'font-size:13px; background:pink; color:#bf2c9f;', result)
|
||||
|
||||
this.channelPeakChart = channelPeakChart
|
||||
this.channelBaseCPChart = channelBaseCPChart
|
||||
|
||||
const series = []
|
||||
|
||||
|
@ -476,9 +479,7 @@ export default {
|
|||
}
|
||||
}
|
||||
}),
|
||||
emphasis: {
|
||||
disabled: true
|
||||
},
|
||||
silent: true,
|
||||
animation: false,
|
||||
zlevel: 20
|
||||
})
|
||||
|
@ -521,6 +522,7 @@ export default {
|
|||
emphasis: {
|
||||
disabled: true
|
||||
},
|
||||
silent: true,
|
||||
animation: false,
|
||||
...extra
|
||||
}
|
||||
|
@ -537,6 +539,8 @@ export default {
|
|||
this.getInfo()
|
||||
this.opts.notMerge = false
|
||||
|
||||
this.option.graphic = []
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.option.brush = { toolbox: [] }
|
||||
this.selectedKeys = []
|
||||
|
@ -652,12 +656,24 @@ export default {
|
|||
|
||||
// 显示comment弹窗
|
||||
handleAddComment(type) {
|
||||
if (type == 'Peak' && !this.selectedKeys.length) {
|
||||
this.$message.warn('Please Select a Peak that You Want to Add Comment!')
|
||||
return
|
||||
}
|
||||
this.commentType = type
|
||||
this.commentModalVisible = true
|
||||
},
|
||||
|
||||
// Insert按钮
|
||||
handleInsert() {
|
||||
const xAxises = this.channelBaseCPChart.map(({ point: { x } }) => x)
|
||||
const min = xAxises[0]
|
||||
const max = xAxises[xAxises.length - 1]
|
||||
if (!this.currChannel || this.currChannel < min || this.currChannel > max) {
|
||||
this.$message.warn("Couldn't insert peak, maybe out of range")
|
||||
return
|
||||
}
|
||||
|
||||
this.fitPeaksAndBaselineModalVisible = true
|
||||
},
|
||||
|
||||
|
@ -686,13 +702,18 @@ export default {
|
|||
this.channelPeakChart.splice(findIndex, 1)
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.opts.notMerge = false
|
||||
this.option.brush = { toolbox: [] }
|
||||
this.resetChartOpts()
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
// 重置图表配置
|
||||
resetChartOpts() {
|
||||
this.opts.notMerge = false
|
||||
this.option.brush = { toolbox: [] }
|
||||
},
|
||||
|
||||
// 匹配
|
||||
handleFit() {
|
||||
if (!this.list.length) {
|
||||
|
@ -738,29 +759,95 @@ export default {
|
|||
this.btnGroupType = 2
|
||||
|
||||
const originalCPSeries = findSeriesByName(this.option.series, 'BaseLine')
|
||||
this.option.series.push(
|
||||
this.buildSeriesOption('Edit_BaseLine', originalCPSeries.data, '#fff', {
|
||||
|
||||
const baseLineEditSeries = this.buildSeriesOption('BaseLine_Edit', cloneDeep(originalCPSeries.data), '#fff', {
|
||||
zlevel: 21
|
||||
})
|
||||
)
|
||||
|
||||
this.option.series.push(baseLineEditSeries)
|
||||
|
||||
const chart = this.$refs.chartRef.getChartInstance()
|
||||
|
||||
this.option.graphic = this.channelBaseCPChart.map(({ point: { x, y } }, dataIndex) => {
|
||||
return this.buildGraphicPoint(chart, x, y, dataIndex)
|
||||
})
|
||||
}
|
||||
// 切换回 Peak 操作
|
||||
else {
|
||||
this.btnGroupType = 1
|
||||
this.opts.notMerge = true
|
||||
this.option.series.splice(this.option.series.length - 1, 1)
|
||||
this.option.graphic = []
|
||||
this.$nextTick(() => {
|
||||
this.resetChartOpts()
|
||||
})
|
||||
}
|
||||
},
|
||||
|
||||
buildGraphicPoint(chart, x, y, dataIndex) {
|
||||
const [xPix, yPix] = chart.convertToPixel('grid', [x, y])
|
||||
return {
|
||||
type: 'rect',
|
||||
position: [xPix, yPix],
|
||||
shape: {
|
||||
x: -4,
|
||||
y: -4,
|
||||
width: 8,
|
||||
height: 8
|
||||
},
|
||||
style: {
|
||||
stroke: 'red',
|
||||
fill: 'transparent',
|
||||
lineWidth: 2
|
||||
},
|
||||
draggable: false,
|
||||
ondrag: function() {
|
||||
const [xPixel] = chart.convertToPixel('grid', [x, y])
|
||||
this.position[0] = xPixel
|
||||
},
|
||||
ondragend: ({ offsetY }) => {
|
||||
this.option.graphic[dataIndex].position = [xPix, offsetY]
|
||||
this.setGraphicDraggable(false)
|
||||
|
||||
const [xAxis, yAxis] = getXAxisAndYAxisByPosition(chart, xPix, offsetY)
|
||||
|
||||
const baseLineEditSeries = findSeriesByName(this.option.series, 'BaseLine_Edit')
|
||||
|
||||
baseLineEditSeries.data[parseInt(xAxis) - 1] = [x, yAxis]
|
||||
},
|
||||
zlevel: 100
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 设置小方块可拖拽
|
||||
*/
|
||||
setGraphicDraggable(draggable) {
|
||||
this.option.graphic.forEach(item => {
|
||||
item.draggable = draggable
|
||||
})
|
||||
},
|
||||
|
||||
// 在当前选中的红线位置新增控制点
|
||||
handleAddCP() {
|
||||
const xAxis = this.option.series[0].markLine.data[0].xAxis
|
||||
|
||||
if (xAxis == -1) {
|
||||
const xAxises = this.channelBaseCPChart.map(({ point: { x } }) => x)
|
||||
const min = xAxises[0]
|
||||
const max = xAxises[xAxises.length - 1]
|
||||
if (!this.currChannel || this.currChannel < min || this.currChannel > max) {
|
||||
this.$message.warn("Can't insert Control Point out of range")
|
||||
return
|
||||
}
|
||||
|
||||
console.log('%c [ ]-735', 'font-size:13px; background:pink; color:#bf2c9f;', xAxis)
|
||||
const chart = this.$refs.chartRef.getChartInstance()
|
||||
this.option.graphic.push(this.buildGraphicPoint(chart, this.currChannel, 10, this.option.graphic.length))
|
||||
},
|
||||
|
||||
// 移除控制点
|
||||
handleRemoveCP() {},
|
||||
|
||||
// 修改控制点
|
||||
handleModifyCP() {
|
||||
this.setGraphicDraggable(true)
|
||||
},
|
||||
|
||||
// 确定对Control Point 的操作
|
||||
|
|
|
@ -15,15 +15,13 @@
|
|||
<script>
|
||||
import ModalMixin from '@/mixins/ModalMixin'
|
||||
import { getAction } from '../../../../api/manage'
|
||||
import SampleDataMixin from '../../SampleDataMixin'
|
||||
export default {
|
||||
mixins: [ModalMixin],
|
||||
mixins: [ModalMixin, SampleDataMixin],
|
||||
props: {
|
||||
type: {
|
||||
type: Number
|
||||
},
|
||||
sampleId: {
|
||||
type: Number
|
||||
},
|
||||
extraData: {
|
||||
type: Object,
|
||||
default: () => ({})
|
||||
|
@ -38,8 +36,6 @@ export default {
|
|||
methods: {
|
||||
async getContent() {
|
||||
let url = ''
|
||||
|
||||
console.log('%c [ ]-42', 'font-size:13px; background:pink; color:#bf2c9f;', this.type)
|
||||
switch (this.type) {
|
||||
case 1:
|
||||
url = '/gamma/viewARR'
|
||||
|
@ -57,7 +53,12 @@ export default {
|
|||
try {
|
||||
this.content = ''
|
||||
this.isLoading = true
|
||||
const res = await getAction(url, { sampleId: this.sampleId, ...this.extraData })
|
||||
const { sampleId, inputFileName: fileName } = this.sampleData
|
||||
const res = await getAction(url, {
|
||||
sampleId,
|
||||
fileName,
|
||||
...this.extraData
|
||||
})
|
||||
if (res.success) {
|
||||
this.content = res.result
|
||||
} else {
|
||||
|
@ -71,14 +72,10 @@ export default {
|
|||
},
|
||||
|
||||
beforeModalOpen() {
|
||||
|
||||
console.log('%c [ ]-75', 'font-size:13px; background:pink; color:#bf2c9f;', this.sampleId)
|
||||
if (this.sampleId) {
|
||||
this.getContent()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
|
|
|
@ -22,16 +22,15 @@
|
|||
import ModalMixin from '@/mixins/ModalMixin'
|
||||
import TitleOverBorder from '../../TitleOverBorder.vue'
|
||||
import { getAction } from '../../../../../api/manage'
|
||||
import SampleDataMixin from '@/views/spectrumAnalysis/SampleDataMixin'
|
||||
|
||||
export default {
|
||||
components: { TitleOverBorder },
|
||||
mixins: [ModalMixin],
|
||||
mixins: [ModalMixin, SampleDataMixin],
|
||||
props: {
|
||||
isAdd: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
sampleId: {
|
||||
type: Number
|
||||
}
|
||||
},
|
||||
data() {
|
||||
|
@ -48,8 +47,10 @@ export default {
|
|||
async getCommets() {
|
||||
try {
|
||||
this.isLoading = true
|
||||
const { sampleId, inputFileName: fileName } = this.sampleData
|
||||
const res = await getAction('/spectrumAnalysis/viewComment', {
|
||||
sampleId: this.sampleId
|
||||
sampleId,
|
||||
fileName
|
||||
})
|
||||
if (res.success) {
|
||||
this.comments = res.result
|
||||
|
|
|
@ -34,13 +34,9 @@
|
|||
<script>
|
||||
import ModalMixin from '@/mixins/ModalMixin'
|
||||
import { getAction } from '@/api/manage'
|
||||
import SampleDataMixin from '../../SampleDataMixin'
|
||||
export default {
|
||||
mixins: [ModalMixin],
|
||||
props: {
|
||||
sampleId: {
|
||||
type: Number
|
||||
}
|
||||
},
|
||||
mixins: [ModalMixin, SampleDataMixin],
|
||||
data() {
|
||||
return {
|
||||
list: [],
|
||||
|
@ -56,8 +52,10 @@ export default {
|
|||
async getInfo() {
|
||||
try {
|
||||
this.isLoading = true
|
||||
const { sampleId, inputFileName: fileName } = this.sampleData
|
||||
const { success, result, message } = await getAction('/gamma/configUserLibrary', {
|
||||
sampleId: this.sampleId
|
||||
sampleId,
|
||||
fileName
|
||||
})
|
||||
if (success) {
|
||||
this.isLoading = false
|
||||
|
|
|
@ -15,13 +15,9 @@
|
|||
<script>
|
||||
import ModalMixin from '@/mixins/ModalMixin'
|
||||
import { getAction } from '@/api/manage'
|
||||
import SampleDataMixin from '../../SampleDataMixin'
|
||||
export default {
|
||||
mixins: [ModalMixin],
|
||||
props: {
|
||||
sampleId: {
|
||||
type: Number
|
||||
}
|
||||
},
|
||||
mixins: [ModalMixin, SampleDataMixin],
|
||||
data() {
|
||||
return {
|
||||
text: "",
|
||||
|
@ -34,8 +30,10 @@ export default {
|
|||
},
|
||||
getViewGammaviewerLog() {
|
||||
this.isLoading = true
|
||||
const { sampleId, inputFileName: fileName } = this.sampleData
|
||||
let params = {
|
||||
sampleId: this.sampleId
|
||||
sampleId,
|
||||
fileName
|
||||
}
|
||||
getAction("/gamma/viewGammaviewerLog", params).then(res => {
|
||||
this.isLoading = false
|
||||
|
|
|
@ -48,6 +48,7 @@
|
|||
<script>
|
||||
import { getAction } from '@/api/manage'
|
||||
import ModalMixin from '@/mixins/ModalMixin'
|
||||
import SampleDataMixin from '../../SampleDataMixin'
|
||||
|
||||
const columns = [
|
||||
{
|
||||
|
@ -113,12 +114,7 @@ const columns = [
|
|||
}
|
||||
]
|
||||
export default {
|
||||
mixins: [ModalMixin],
|
||||
props: {
|
||||
sampleId: {
|
||||
type: Number
|
||||
}
|
||||
},
|
||||
mixins: [ModalMixin, SampleDataMixin],
|
||||
data() {
|
||||
this.columns = columns
|
||||
return {
|
||||
|
@ -142,8 +138,10 @@ export default {
|
|||
async getInfo() {
|
||||
try {
|
||||
this.isLoading = true
|
||||
const { sampleId, inputFileName: fileName } = this.sampleData
|
||||
const { success, result, message } = await getAction('/gamma/radionuclideActivity', {
|
||||
sampleId: this.sampleId
|
||||
sampleId,
|
||||
fileName
|
||||
})
|
||||
if (success) {
|
||||
const { dateTime_act_ref, dateTime_con_ref, table } = result
|
||||
|
|
|
@ -48,6 +48,7 @@
|
|||
:list="daughterList"
|
||||
:pagination="false"
|
||||
:scroll="{ y: 123 }"
|
||||
rowKey="daughters"
|
||||
@rowDblClick="handleParentDBClick($event.daughters)"
|
||||
></custom-table>
|
||||
</div>
|
||||
|
@ -113,6 +114,7 @@
|
|||
import ModalMixin from '@/mixins/ModalMixin'
|
||||
import TitleOverBorder from '../TitleOverBorder.vue'
|
||||
import { getAction } from '@/api/manage'
|
||||
import SampleDataMixin from '../../SampleDataMixin'
|
||||
|
||||
// 右上角表格配置
|
||||
const daughterColumns = [
|
||||
|
@ -178,15 +180,10 @@ const mainColumns = [
|
|||
]
|
||||
|
||||
export default {
|
||||
mixins: [ModalMixin],
|
||||
mixins: [ModalMixin, SampleDataMixin],
|
||||
components: {
|
||||
TitleOverBorder
|
||||
},
|
||||
props: {
|
||||
sampleId: {
|
||||
type: Number
|
||||
}
|
||||
},
|
||||
data() {
|
||||
this.daughterColumns = daughterColumns
|
||||
this.mainColumns = mainColumns
|
||||
|
@ -210,8 +207,10 @@ export default {
|
|||
|
||||
try {
|
||||
this.isLoading = true
|
||||
const { sampleId, inputFileName: fileName } = this.sampleData
|
||||
const { success, result, message } = await getAction('/gamma/NuclideLibrary', {
|
||||
sampleId: this.sampleId,
|
||||
sampleId,
|
||||
fileName,
|
||||
...this.model
|
||||
})
|
||||
if (success) {
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
<script>
|
||||
import { getAction } from '@/api/manage'
|
||||
import ModalMixin from '@/mixins/ModalMixin'
|
||||
import SampleDataMixin from '../../SampleDataMixin'
|
||||
|
||||
const columns = [
|
||||
{
|
||||
|
@ -58,12 +59,7 @@ const columns = [
|
|||
}
|
||||
]
|
||||
export default {
|
||||
mixins: [ModalMixin],
|
||||
props: {
|
||||
sampleId: {
|
||||
type: Number
|
||||
}
|
||||
},
|
||||
mixins: [ModalMixin, SampleDataMixin],
|
||||
data() {
|
||||
this.columns = columns
|
||||
return {
|
||||
|
@ -75,8 +71,10 @@ export default {
|
|||
async getData() {
|
||||
try {
|
||||
this.isLoading = true
|
||||
const { sampleId, inputFileName: fileName } = this.sampleData
|
||||
const { success, result, message } = await getAction('/gamma/viewQCResult', {
|
||||
sampleId: this.sampleId
|
||||
sampleId,
|
||||
fileName
|
||||
})
|
||||
if (success) {
|
||||
this.list = result
|
||||
|
|
|
@ -90,6 +90,7 @@ import Mda from './components/MDA.vue'
|
|||
import Conclusions from './components/Conclusions.vue'
|
||||
import Comment from './components/Comment.vue'
|
||||
import { getAction } from '@/api/manage'
|
||||
import SampleDataMixin from '@/views/spectrumAnalysis/SampleDataMixin'
|
||||
|
||||
const tabs = [
|
||||
'Header',
|
||||
|
@ -111,7 +112,7 @@ const tabs = [
|
|||
]
|
||||
|
||||
export default {
|
||||
mixins: [ModalMixin],
|
||||
mixins: [ModalMixin, SampleDataMixin],
|
||||
components: {
|
||||
CHeader,
|
||||
Objective,
|
||||
|
@ -130,11 +131,6 @@ export default {
|
|||
Conclusions,
|
||||
Comment
|
||||
},
|
||||
props: {
|
||||
sampleId: {
|
||||
type: Number
|
||||
}
|
||||
},
|
||||
data() {
|
||||
this.tabs = tabs
|
||||
return {
|
||||
|
@ -150,8 +146,10 @@ export default {
|
|||
},
|
||||
getGammaViewRLR() {
|
||||
this.isLoading = true
|
||||
const { sampleId, inputFileName: fileName } = this.sampleData
|
||||
let params = {
|
||||
sampleId: this.sampleId
|
||||
sampleId,
|
||||
fileName
|
||||
}
|
||||
getAction("/gamma/viewRLR", params).then(res => {
|
||||
this.isLoading = false
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<a-row>
|
||||
<a-col :span="12" v-for="(item, index) in columns" :key="index">
|
||||
<a-form-model-item :label="item.title">
|
||||
{{ item.key == 'sampleId' && !isLoading ? sampleId : data[item.key] }}
|
||||
{{ data[item.key] }}
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
</a-row>
|
||||
|
@ -25,6 +25,7 @@
|
|||
<script>
|
||||
import { getAction } from '@/api/manage'
|
||||
import ModalMixin from '@/mixins/ModalMixin'
|
||||
import SampleDataMixin from '../../SampleDataMixin'
|
||||
|
||||
const columns = [
|
||||
{
|
||||
|
@ -86,12 +87,7 @@ const columns = [
|
|||
]
|
||||
|
||||
export default {
|
||||
mixins: [ModalMixin],
|
||||
props: {
|
||||
sampleId: {
|
||||
type: Number
|
||||
}
|
||||
},
|
||||
mixins: [ModalMixin, SampleDataMixin],
|
||||
data() {
|
||||
this.columns = columns
|
||||
return {
|
||||
|
@ -103,10 +99,13 @@ export default {
|
|||
async getInfo() {
|
||||
try {
|
||||
this.isLoading = true
|
||||
const { sampleId, inputFileName: fileName } = this.sampleData
|
||||
const { success, result, message } = await getAction('/gamma/sampleInformation', {
|
||||
sampleId: this.sampleId
|
||||
sampleId,
|
||||
fileName
|
||||
})
|
||||
if (success) {
|
||||
result.sampleId = sampleId
|
||||
this.data = result
|
||||
} else {
|
||||
this.$message.error(message)
|
||||
|
|
|
@ -9,15 +9,14 @@
|
|||
<script>
|
||||
import { getAction } from '@/api/manage'
|
||||
import ModalMixin from '@/mixins/ModalMixin'
|
||||
import SampleDataMixin from '../../SampleDataMixin'
|
||||
|
||||
export default {
|
||||
mixins: [ModalMixin],
|
||||
mixins: [ModalMixin, SampleDataMixin],
|
||||
props: {
|
||||
isAdd: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
sampleId: {
|
||||
type: Number
|
||||
}
|
||||
},
|
||||
data() {
|
||||
|
@ -39,8 +38,10 @@ export default {
|
|||
async getInfo() {
|
||||
try {
|
||||
this.isLoading = true
|
||||
const { sampleId, inputFileName: fileName } = this.sampleData
|
||||
const { success, result, message } = await getAction('/gamma/viewComment', {
|
||||
sampleId: this.sampleId
|
||||
sampleId,
|
||||
fileName
|
||||
})
|
||||
this.isLoading = false
|
||||
if (success) {
|
||||
|
|
|
@ -11,13 +11,9 @@
|
|||
<script>
|
||||
import ModalMixin from '@/mixins/ModalMixin'
|
||||
import { getAction } from '@/api/manage'
|
||||
import SampleDataMixin from '../../SampleDataMixin'
|
||||
export default {
|
||||
mixins: [ModalMixin],
|
||||
props: {
|
||||
sampleId: {
|
||||
type: Number
|
||||
}
|
||||
},
|
||||
mixins: [ModalMixin, SampleDataMixin],
|
||||
data() {
|
||||
return {
|
||||
content: '',
|
||||
|
@ -28,8 +24,10 @@ export default {
|
|||
async getContent() {
|
||||
try {
|
||||
this.isLoading = true
|
||||
const { sampleId, inputFileName: fileName } = this.sampleData
|
||||
const { success, result, message } = await getAction('/gamma/Spectrum', {
|
||||
sampleId: this.sampleId
|
||||
sampleId,
|
||||
fileName
|
||||
})
|
||||
if (success) {
|
||||
this.content = result
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
</title-over-border>
|
||||
<!-- Result of Zero Time -->
|
||||
<title-over-border class="mt-20" title="Result of Zero Time">
|
||||
<div class="result-of-zero-time">{{ dateTime }}</div>
|
||||
<div class="result-of-zero-time">{{ result.zeroTime }}</div>
|
||||
</title-over-border>
|
||||
</div>
|
||||
<!-- 左侧结束 -->
|
||||
|
@ -106,7 +106,7 @@
|
|||
Analysis
|
||||
</a-button>
|
||||
<a-button type="primary">Save</a-button>
|
||||
<a-button type="primary">Exit</a-button>
|
||||
<a-button type="primary" @click="visible = false">Exit</a-button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 右侧结束 -->
|
||||
|
@ -134,10 +134,11 @@ export default {
|
|||
fissionProductList1: [],
|
||||
fissionProductList2: [],
|
||||
|
||||
dateTime: '',
|
||||
model: {},
|
||||
|
||||
isAnalyzing: false
|
||||
isAnalyzing: false,
|
||||
|
||||
result: { }
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
@ -184,7 +185,9 @@ export default {
|
|||
time: undefined
|
||||
}
|
||||
|
||||
this.dateTime = '2015-05-30 17:30:60'
|
||||
this.result = {
|
||||
zeroTime: '2015-05-30 17:30:60'
|
||||
}
|
||||
this.getInfo()
|
||||
},
|
||||
|
||||
|
@ -199,7 +202,7 @@ export default {
|
|||
this.isAnalyzing = true
|
||||
const { success, result, message } = await getAction('/gamma/ZeroTimeAnalyse', this.model)
|
||||
if (success) {
|
||||
this.dateTime = result
|
||||
this.result = result
|
||||
} else {
|
||||
this.$message.error(message)
|
||||
}
|
||||
|
@ -319,7 +322,7 @@ export default {
|
|||
justify-content: space-between;
|
||||
|
||||
.ant-btn {
|
||||
padding: 0 45px;
|
||||
width: 150px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
<script>
|
||||
import ModalMixin from '@/mixins/ModalMixin'
|
||||
import { getAction } from '@/api/manage'
|
||||
import SampleDataMixin from '../SampleDataMixin'
|
||||
|
||||
const columns = [
|
||||
{
|
||||
|
@ -80,12 +81,7 @@ const columns = [
|
|||
}
|
||||
]
|
||||
export default {
|
||||
mixins: [ModalMixin],
|
||||
props: {
|
||||
sampleId: {
|
||||
type: Number
|
||||
}
|
||||
},
|
||||
mixins: [ModalMixin, SampleDataMixin],
|
||||
data() {
|
||||
this.columns = columns
|
||||
return {
|
||||
|
@ -104,8 +100,10 @@ export default {
|
|||
async getInfo() {
|
||||
try {
|
||||
this.isLoading = true
|
||||
const { sampleId, inputFileName: fileName } = this.sampleData
|
||||
const { success, result, message } = await getAction('/gamma/peakInformation', {
|
||||
sampleId: this.sampleId
|
||||
sampleId,
|
||||
fileName
|
||||
})
|
||||
if (success) {
|
||||
this.list = result
|
||||
|
|
|
@ -60,11 +60,11 @@
|
|||
<!-- Ftransit 弹窗结束 -->
|
||||
|
||||
<!-- Peak Infomation 弹窗开始 -->
|
||||
<peak-infomation v-model="peakInfomationModalVisible" :sampleId="sampleData.sampleId" />
|
||||
<peak-infomation v-model="peakInfomationModalVisible" />
|
||||
<!-- Peak Infomation 弹窗结束 -->
|
||||
|
||||
<!-- Nuclide Activity and MDC 弹窗开始 -->
|
||||
<nuclide-activity-and-mdc-modal v-model="nuclideActivityAndMDCModalVisible" :sampleId="sampleData.sampleId" />
|
||||
<nuclide-activity-and-mdc-modal v-model="nuclideActivityAndMDCModalVisible" />
|
||||
<!-- Nuclide Activity and MDC 弹窗结束 -->
|
||||
|
||||
<!-- Save Setting 弹窗开始 -->
|
||||
|
@ -107,7 +107,6 @@
|
|||
<spectrum-comments-modal
|
||||
v-model="gammaCommentsModalVisible"
|
||||
:isAdd="isGammaCommentsAdd"
|
||||
:sampleId="sampleData.sampleId"
|
||||
/>
|
||||
<!-- SpectrumComments 弹窗结束 -->
|
||||
|
||||
|
@ -120,36 +119,35 @@
|
|||
<!-- Data Processing Log 弹窗结束 -->
|
||||
|
||||
<!-- Config User Library 弹窗开始 -->
|
||||
<config-user-library-modal v-model="configUserLibModalVisible" :sampleId="sampleData.sampleId" />
|
||||
<config-user-library-modal v-model="configUserLibModalVisible" />
|
||||
<!-- Config User Library 弹窗结束 -->
|
||||
|
||||
<!-- Nuclide Library 弹窗开始 -->
|
||||
<nuclide-library-modal v-model="nuclideLibraryModalVisible" :sampleId="sampleData.sampleId" />
|
||||
<nuclide-library-modal v-model="nuclideLibraryModalVisible" />
|
||||
<!-- Nuclide Library 弹窗结束 -->
|
||||
|
||||
<!-- Arr 和 RRR 弹窗开始 -->
|
||||
<arr-rrr-modal
|
||||
v-model="arrOrRRRModalVisible"
|
||||
:type="arrOrRRRModalType"
|
||||
:sampleId="this.sampleData.sampleId"
|
||||
:extraData="this.arrOrRRRModalExtraData"
|
||||
/>
|
||||
<!-- Arr 弹窗结束 -->
|
||||
|
||||
<!-- Spectrum 弹窗开始 -->
|
||||
<spectrum-modal v-model="spectrumModalVisible" :sampleId="this.sampleData.sampleId" />
|
||||
<spectrum-modal v-model="spectrumModalVisible" />
|
||||
<!-- Spectrum 弹窗结束 -->
|
||||
|
||||
<!-- SampleInfo 弹窗开始 -->
|
||||
<sample-infomation-modal v-model="sampleInfomationModalVisible" :sampleId="sampleData.sampleId" />
|
||||
<sample-infomation-modal v-model="sampleInfomationModalVisible" />
|
||||
<!-- SampleInfo 弹窗结束 -->
|
||||
|
||||
<!-- Qc Results 弹窗开始 -->
|
||||
<qc-results-modal v-model="qcResultsModalVisible" :sampleId="sampleData.sampleId" />
|
||||
<qc-results-modal v-model="qcResultsModalVisible" />
|
||||
<!-- Qc Results 弹窗结束 -->
|
||||
|
||||
<!-- RLR 弹窗开始 -->
|
||||
<rlr-modal v-model="rlrModalVisible" :sampleId="sampleData.sampleId" />
|
||||
<rlr-modal v-model="rlrModalVisible" />
|
||||
<!-- RLR 弹窗结束 -->
|
||||
|
||||
<automatic-analysis-log-modal v-model="autoAnalysisMogModalVisible" :type="autoAnalysisMogModalType" />
|
||||
|
@ -158,7 +156,6 @@
|
|||
<beta-gamma-comments-modal
|
||||
v-model="betaGammaCommentsModalVisible"
|
||||
:isAdd="isBetaGammaCommentsAdd"
|
||||
:sampleId="this.sampleData.sampleId"
|
||||
/>
|
||||
<!-- Beta-Gamma 的Comments 结束 -->
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user